]>
Commit | Line | Data |
---|---|---|
d8efad24 MF |
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 |