curl/tests/data/test479
Daniel Stenberg e9b9bbac22
netrc: address several netrc parser flaws
- make sure that a match that returns a username also returns a
  password, that should be blank if no password is found

- fix handling of multiple logins for same host where the password/login
  order might be reversed.

- reject credentials provided in the .netrc if they contain ASCII control
  codes - if the used protocol does not support such (like HTTP and WS do)

Reported-by: Harry Sintonen

Add test 478, 479 and 480 to verify. Updated unit 1304.

Closes #15586
2024-11-17 11:33:56 +01:00

108 lines
1.9 KiB
Plaintext

<testcase>
<info>
<keywords>
netrc
HTTP
</keywords>
</info>
#
# Server-side
<reply>
<data crlf="yes">
HTTP/1.1 301 Follow this you fool
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
ETag: "21025-dc7-39462498"
Accept-Ranges: bytes
Content-Length: 6
Connection: close
Location: http://b.com/%TESTNUMBER0002
-foo-
</data>
<data2 crlf="yes">
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
ETag: "21025-dc7-39462498"
Accept-Ranges: bytes
Content-Length: 7
Connection: close
target
</data2>
<datacheck crlf="yes">
HTTP/1.1 301 Follow this you fool
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
ETag: "21025-dc7-39462498"
Accept-Ranges: bytes
Content-Length: 6
Connection: close
Location: http://b.com/%TESTNUMBER0002
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
ETag: "21025-dc7-39462498"
Accept-Ranges: bytes
Content-Length: 7
Connection: close
target
</datacheck>
</reply>
#
# Client-side
<client>
<server>
http
</server>
<features>
proxy
</features>
<name>
.netrc with redirect and default without password
</name>
<command>
--netrc --netrc-file %LOGDIR/netrc%TESTNUMBER -L -x http://%HOSTIP:%HTTPPORT/ http://a.com/
</command>
<file name="%LOGDIR/netrc%TESTNUMBER" >
machine a.com
login alice
password alicespassword
default
login bob
</file>
</client>
<verify>
<protocol>
GET http://a.com/ HTTP/1.1
Host: a.com
Authorization: Basic %b64[alice:alicespassword]b64%
User-Agent: curl/%VERSION
Accept: */*
Proxy-Connection: Keep-Alive
GET http://b.com/%TESTNUMBER0002 HTTP/1.1
Host: b.com
Authorization: Basic %b64[bob:]b64%
User-Agent: curl/%VERSION
Accept: */*
Proxy-Connection: Keep-Alive
</protocol>
</verify>
</testcase>