diff --git a/lib/netrc.c b/lib/netrc.c index 9326315116..2a9c7f5cc5 100644 --- a/lib/netrc.c +++ b/lib/netrc.c @@ -195,6 +195,9 @@ static NETRCcode netrc_get_token(const char **tokp, if(*statep == MACDEF) { if((*tok == '\n') || (*tok == '\r')) *statep = NOTHING; /* end of macro definition */ + *lineend = TRUE; + *tokp = tok; + return NETRC_OK; } if(!*tok || (*tok == '\n')) { diff --git a/tests/data/Makefile.am b/tests/data/Makefile.am index eab4f8c99f..a718afce0e 100644 --- a/tests/data/Makefile.am +++ b/tests/data/Makefile.am @@ -224,7 +224,7 @@ test1650 test1651 test1652 test1653 test1654 test1655 test1656 test1657 \ test1658 test1659 test1660 test1661 test1662 test1663 test1664 test1665 \ test1666 test1667 test1668 \ \ -test1670 test1671 \ +test1670 test1671 test1672 \ \ test1680 test1681 test1682 test1683 test1684 \ \ diff --git a/tests/data/test1672 b/tests/data/test1672 new file mode 100644 index 0000000000..faf684b778 --- /dev/null +++ b/tests/data/test1672 @@ -0,0 +1,55 @@ + + + + +netrc +macdef + + + + + +HTTP/1.1 200 OK +Content-Length: 6 +Content-Type: text/html +Funny-head: yesyes + +12345 + + + +# Client-side + + +http + + +netrc parser skips macdef even with broken quote + + +--netrc --netrc-file %LOGDIR/netrc%TESTNUMBER http://%HOSTIP:%HTTPPORT/%TESTNUMBER + + + +macdef testmacro + bin + cd "broken quote + put password.bin + quit + +machine %HOSTIP login user1 password passwd1 + + + +# Verify data after the test has been "shot" + + +GET /%TESTNUMBER HTTP/1.1 +Host: %HOSTIP:%HTTPPORT +Authorization: Basic %b64[user1:passwd1]b64% +User-Agent: curl/%VERSION +Accept: */* + + + +