setopt: changing the proxy port is also a proxy change

Test 1589 verifies.

Closes #21485
This commit is contained in:
Daniel Stenberg 2026-05-02 17:18:00 +02:00
parent 47755c4e69
commit f59733be23
No known key found for this signature in database
GPG key ID: 5CC908FDB71E12C2
7 changed files with 266 additions and 12 deletions

View file

@ -209,13 +209,11 @@ test1556 test1557 test1558 test1559 test1560 test1561 test1562 test1563 \
test1564 test1565 test1566 test1567 test1568 test1569 test1570 test1571 \
test1572 test1573 test1574 test1575 test1576 test1577 test1578 test1579 \
test1580 test1581 test1582 test1583 test1584 test1585 test1586 test1587 \
test1588 \
\
test1590 test1591 test1592 test1593 test1594 test1595 test1596 test1597 \
test1598 test1599 test1600 test1601 test1602 test1603 test1604 test1605 \
test1606 test1607 test1608 test1609 test1610 test1611 test1612 test1613 \
test1614 test1615 test1616 test1617 test1618 test1619 test1620 test1621 \
test1622 test1623 test1624 test1625 test1626 test1627 \
test1588 test1589 test1590 test1591 test1592 test1593 test1594 test1595 \
test1596 test1597 test1598 test1599 test1600 test1601 test1602 test1603 \
test1604 test1605 test1606 test1607 test1608 test1609 test1610 test1611 \
test1612 test1613 test1614 test1615 test1616 test1617 test1618 test1619 \
test1620 test1621 test1622 test1623 test1624 test1625 test1626 test1627 \
\
test1630 test1631 test1632 test1633 test1634 test1635 test1636 test1637 \
test1638 test1639 test1640 test1641 test1642 test1643 test1644 \

108
tests/data/test1589 Normal file
View file

@ -0,0 +1,108 @@
<?xml version="1.0" encoding="US-ASCII"?>
<testcase>
<info>
<keywords>
HTTP
HTTP proxy
HTTP proxy Digest auth
</keywords>
</info>
# Server-side
<reply>
# this is returned first since we get no proxy-auth
<data crlf="headers">
HTTP/1.1 407 Authorization Required to proxy me my dear
Proxy-Authenticate: Digest realm="weirdorealm", nonce="12345"
Content-Length: 33
And you should ignore this data.
</data>
# then this is returned when we get proxy-auth
<data1000 crlf="headers">
HTTP/1.1 200 OK
Content-Length: 21
Server: no
Nice proxy auth sir!
</data1000>
<datacheck crlf="headers">
HTTP/1.1 407 Authorization Required to proxy me my dear
Proxy-Authenticate: Digest realm="weirdorealm", nonce="12345"
Content-Length: 33
HTTP/1.1 200 OK
Content-Length: 21
Server: no
Nice proxy auth sir!
HTTP/1.1 407 Authorization Required to proxy me my dear
Proxy-Authenticate: Digest realm="weirdorealm", nonce="12345"
Content-Length: 33
HTTP/1.1 200 OK
Content-Length: 21
Server: no
Nice proxy auth sir!
</datacheck>
</reply>
# Client-side
<client>
<server>
http
http-proxy
</server>
# tool is what to use instead of 'curl'
<tool>
lib%TESTNUMBER
</tool>
<features>
!SSPI
crypto
proxy
digest
</features>
<name>
HTTP proxy auth Digest, then change proxy port and do it again
</name>
<command>
http://test.remote.example.com/path/%TESTNUMBER %HOSTIP %HTTPPORT %PROXYPORT silly:person
</command>
</client>
# Verify data after the test has been "shot"
<verify>
<protocol crlf="headers">
GET http://test.remote.example.com/path/%TESTNUMBER HTTP/1.1
Host: test.remote.example.com
Accept: */*
Proxy-Connection: Keep-Alive
GET http://test.remote.example.com/path/%TESTNUMBER HTTP/1.1
Host: test.remote.example.com
Proxy-Authorization: Digest username="silly", realm="weirdorealm", nonce="12345", uri="/path/%TESTNUMBER", response="9a547f8fa81cff330c68095603f3819e"
Accept: */*
Proxy-Connection: Keep-Alive
</protocol>
<proxy crlf="headers">
GET http://test.remote.example.com/path/%TESTNUMBER HTTP/1.1
Host: test.remote.example.com
Accept: */*
Proxy-Connection: Keep-Alive
GET http://test.remote.example.com/path/%TESTNUMBER HTTP/1.1
Host: test.remote.example.com
Proxy-Authorization: Digest username="silly", realm="weirdorealm", nonce="12345", uri="/path/%TESTNUMBER", response="9a547f8fa81cff330c68095603f3819e"
Accept: */*
Proxy-Connection: Keep-Alive
</proxy>
</verify>
</testcase>