[squid-users] Re: Squid and Splash page

From: ming <mingpun_at_gmail.com>
Date: Tue, 3 Jan 2012 13:17:19 -0800 (PST)

I tried the latest 3.1.18 version, squid-3.1.18-20120102-r10418
This version has problem compiling and error on the copyResultFromEntry in
external_acl_type.cc.
Problems are missing prototype and typo such as copyResultFromEmtry
Well, I fixed these errors on my local build and I still see the same error.

I played around with the source file and made the following change in this
function
external_acl_grace_expired

- if (entry->date + ttl < squid_curtime)
+ if (entry->date + ttl <= squid_curtime)

After the change, I don't see the 403 problem.

The reason I did the change is, without the above change, I see the grace
period age (20) always the same as the TTL I set on external_acl_type. from
the message below this is a "no need to wait" situation on the external acl,
and it did not returned result=1 situation.

2012/01/03 21:03:52.437| aclMatchExternal:
acexternal("Basic%20bXlLZXk6bXlWYWx1ZQ==") = lookup needed
2012/01/03 21:03:52.437| aclMatchExternal: "Basic%20bXlLZXk6bXlWYWx1ZQ==":
entry=@0x135e288, *age=20*
2012/01/03 21:03:52.437| aclMatchExternal: "Basic%20bXlLZXk6bXlWYWx1ZQ==":
queueing a call.
2012/01/03 21:03:52.437| aclMatchExternal: "Basic%20bXlLZXk6bXlWYWx1ZQ==":
return -1.
2012/01/03 21:03:52.437| ACL::ChecklistMatches: result for 'iceauth' is -1
2012/01/03 21:03:52.437| ACLList::matches: result is false
2012/01/03 21:03:52.437| aclmatchAclList: 0x135bb08 returning false (AND
list entry failed to match)
2012/01/03 21:03:52.437| ACLChecklist::asyncInProgress: 0x135bb08 async set
to 1
2012/01/03 21:03:52.437| externalAclLookup: lookup in 'acexternal' for
'Basic%20bXlLZXk6bXlWYWx1ZQ=='
2012/01/03 21:03:52.437| externalAclLookup: looking up for
'Basic%20bXlLZXk6bXlWYWx1ZQ==' in 'acexternal'.
2012/01/03 21:03:52.437| The AsyncCall SomeCommWriteHander constructed,
this=0x13883e0 [call1644]
2012/01/03 21:03:52.437| comm_write: FD 10: sz 29: asynCall 0x13883e0*1
2012/01/03 21:03:52.437| helperDispatch: Request sent to acexternal #1, 29
bytes
2012/01/03 21:03:52.437| externalAclLookup: no need to wait for the result
of 'Basic%20bXlLZXk6bXlWYWx1ZQ==' in 'acexternal' (ch=0x135bb08).

After I made the change in external_acl_grace_expired function above, I did
not see the "no need to wait". All the warning I got on this is resulted as
"will wait for..." situation.

ACL::checklistMatches: checking 'iceauth'
2012/01/03 21:13:32.137| aclMatchExternal:
acexternal("Basic%20bXlLZXk6bXlWYWx1ZQ==") = lookup needed
2012/01/03 21:13:32.137| aclMatchExternal: "Basic%20bXlLZXk6bXlWYWx1ZQ==":
entry=@0x1ae5f88, age=22
2012/01/03 21:13:32.137| aclMatchExternal: "Basic%20bXlLZXk6bXlWYWx1ZQ==":
queueing a call.
2012/01/03 21:13:32.137| aclMatchExternal: "Basic%20bXlLZXk6bXlWYWx1ZQ==":
return -1.
2012/01/03 21:13:32.137| ACL::ChecklistMatches: result for 'iceauth' is -1
2012/01/03 21:13:32.137| ACLList::matches: result is false
2012/01/03 21:13:32.137| aclmatchAclList: 0x1ae4988 returning false (AND
list entry failed to match)
2012/01/03 21:13:32.137| ACLChecklist::asyncInProgress: 0x1ae4988 async set
to 1
2012/01/03 21:13:32.137| externalAclLookup: lookup in 'acexternal' for
'Basic%20bXlLZXk6bXlWYWx1ZQ=='
2012/01/03 21:13:32.137| externalAclLookup: looking up for
'Basic%20bXlLZXk6bXlWYWx1ZQ==' in 'acexternal'.
2012/01/03 21:13:32.137| The AsyncCall SomeCommWriteHander constructed,
this=0x1af7380 [call2826]
2012/01/03 21:13:32.137| comm_write: FD 10: sz 29: asynCall 0x1af7380*1
2012/01/03 21:13:32.137| helperDispatch: Request sent to acexternal #1, 29
bytes
2012/01/03 21:13:32.137| externalAclLookup: will wait for the result of
'Basic%20bXlLZXk6bXlWYWx1ZQ==' in 'acexternal' (ch=0x1ae4988).
2012/01/03 21:13:32.137| aclmatchAclList: async=1 nodeMatched=0
async_in_progress=1 lastACLResult() = 0 finished() = 0
2012/01/03 21:13:32.137| client_side.cc(2297) connNoteUseOfBuffer:
conn->in.notYetUsed = 0
2012/01/03 21:13:32.137| clientReadSomeData: FD 11: reading request...
2012/01/03 21:13:32.137| The AsyncCall ConnStateData::clientReadRequest
constructed, this=0x1b015f0 [call2827]
2012/01/03 21:13:32.137| comm_read, queueing read for FD 11; asynCall
0x1b015f0*1
2012/01/03 21:13:32.137| ConnStateData status out: [ job246]

I am not sure what I did is correct. Please check it when you have a chance.

Thanks

--
View this message in context: http://squid-web-proxy-cache.1019090.n4.nabble.com/Squid-and-Splash-page-tp3473302p4258647.html
Sent from the Squid - Users mailing list archive at Nabble.com.
Received on Tue Jan 03 2012 - 21:17:23 MST

This archive was generated by hypermail 2.2.0 : Thu Jan 05 2012 - 12:00:02 MST