]> git.ipfire.org Git - people/amarx/ipfire-2.x.git/blob - src/patches/squid/squid-3.5-14074.patch
dbafbf016708d31967251265837675b933e6e8fc
[people/amarx/ipfire-2.x.git] / src / patches / squid / squid-3.5-14074.patch
1 ------------------------------------------------------------
2 revno: 14074
3 revision-id: squid3@treenet.co.nz-20160817054829-rl7q49ysi40sj01i
4 parent: squid3@treenet.co.nz-20160817051037-p0kaj2iw2u4u8iqj
5 fixes bug: http://bugs.squid-cache.org/show_bug.cgi?id=3025
6 author: mkishi <mkishi@104.net>
7 committer: Amos Jeffries <squid3@treenet.co.nz>
8 branch nick: 3.5
9 timestamp: Wed 2016-08-17 17:48:29 +1200
10 message:
11 Bug 3025: Proxy-Authenticate problem using ICAP server
12 ------------------------------------------------------------
13 # Bazaar merge directive format 2 (Bazaar 0.90)
14 # revision_id: squid3@treenet.co.nz-20160817054829-rl7q49ysi40sj01i
15 # target_branch: http://bzr.squid-cache.org/bzr/squid3/3.5
16 # testament_sha1: f4eb1b35dc72bba74a398070900a0951257e547e
17 # timestamp: 2016-08-17 05:50:56 +0000
18 # source_branch: http://bzr.squid-cache.org/bzr/squid3/3.5
19 # base_revision_id: squid3@treenet.co.nz-20160817051037-\
20 # p0kaj2iw2u4u8iqj
21 #
22 # Begin patch
23 === modified file 'src/client_side_reply.cc'
24 --- src/client_side_reply.cc 2016-04-01 06:15:31 +0000
25 +++ src/client_side_reply.cc 2016-08-17 05:48:29 +0000
26 @@ -1305,8 +1305,14 @@
27
28 // if there is not configured a peer proxy with login=PASS or login=PASSTHRU option enabled
29 // remove the Proxy-Authenticate header
30 - if ( !request->peer_login || (strcmp(request->peer_login,"PASS") != 0 && strcmp(request->peer_login,"PASSTHRU") != 0))
31 - reply->header.delById(HDR_PROXY_AUTHENTICATE);
32 + if ( !request->peer_login || (strcmp(request->peer_login,"PASS") != 0 && strcmp(request->peer_login,"PASSTHRU") != 0)) {
33 +#if USE_ADAPTATION
34 + // but allow adaptation services to authenticate clients
35 + // via request satisfaction
36 + if (!http->requestSatisfactionMode())
37 +#endif
38 + reply->header.delById(HDR_PROXY_AUTHENTICATE);
39 + }
40
41 reply->header.removeHopByHopEntries();
42
43
44 === modified file 'src/client_side_request.h'
45 --- src/client_side_request.h 2016-01-01 00:14:27 +0000
46 +++ src/client_side_request.h 2016-08-17 05:48:29 +0000
47 @@ -140,6 +140,7 @@
48
49 public:
50 void startAdaptation(const Adaptation::ServiceGroupPointer &g);
51 + bool requestSatisfactionMode() const { return request_satisfaction_mode; }
52
53 // private but exposed for ClientRequestContext
54 void handleAdaptationFailure(int errDetail, bool bypassable = false);
55