Hello, Robert!
I've tried the configuration proposed by you. Nothing happens.
I even tried the following:
acl vit ident vit
http_access deny !vit
http_access allow vit
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access deny all
ident_lookup_access allow all
delay_pools 1
delay_class 1 4 # pool 1 is a class 4 pool
delay_access 1 deny !vit
delay_access 1 allow vit
delay_parameters 1 -1/-1 -1/-1 -1/-1 6000/6000
I've turned on the acl debug via option:
debug_options ALL,1 33,2 28,9
And the result was:
2006/09/11 01:40:45.612| aclCheckFast: list: 0x82316f0
2006/09/11 01:40:45.613| ACLChecklist::preCheck: 0xbf814dc0 checking 'ident_lookup_access allow all'
2006/09/11 01:40:45.613| ACLList::matches: checking all
2006/09/11 01:40:45.613| ACL::checklistMatches: checking 'all'
2006/09/11 01:40:45.613| aclMatchIp: '127.0.0.1' found
2006/09/11 01:40:45.613| ACL::ChecklistMatches: result for 'all' is 1
2006/09/11 01:40:45.613| ACLList::matches: result is true
2006/09/11 01:40:45.613| aclmatchAclList: 0xbf814dc0 returning true (AND list satisfied)
2006/09/11 01:40:45.613| ACLChecklist::markFinished: 0xbf814dc0 checklist processing finished
2006/09/11 01:40:45.613| ACLChecklist::~ACLChecklist: destroyed 0xbf814dc0
2006/09/11 01:40:45.614| ACLChecklist::preCheck: 0x84bd9f0 checking 'http_access deny !vit'
2006/09/11 01:40:45.614| ACLList::matches: checking !vit
2006/09/11 01:40:45.614| ACL::checklistMatches: checking 'vit'
2006/09/11 01:40:45.614| ACLIdent::match() - switching to ident lookup state
2006/09/11 01:40:45.614| ACL::ChecklistMatches: result for 'vit' is 0
2006/09/11 01:40:45.614| ACLList::matches: result is true
2006/09/11 01:40:45.614| aclmatchAclList: 0x84bd9f0 returning false (AND list entry failed to match)
2006/09/11 01:40:45.614| IdentLookup::checkForAsync: Doing ident lookup
2006/09/11 01:40:45.614| ACLChecklist::asyncInProgress: 0x84bd9f0 async set to 1
2006/09/11 01:40:45.614| aclmatchAclList: async=1 nodeMatched=1 async_in_progress=1 lastACLResult() = 1
2006/09/11 01:40:45.617| ACLChecklist::asyncInProgress: 0x84bd9f0 async set to 0
2006/09/11 01:40:45.617| ACLChecklist::preCheck: 0x84bd9f0 checking 'http_access deny !vit'
2006/09/11 01:40:45.617| ACLList::matches: checking !vit
2006/09/11 01:40:45.618| ACL::checklistMatches: checking 'vit'
2006/09/11 01:40:45.618| aclMatchUser: user is vit, case_insensitive is 0
2006/09/11 01:40:45.618| Top is 0x824f2f0, Top->data is vit
2006/09/11 01:40:45.618| aclMatchUser: returning 1,Top is 0x824f2f0, Top->data is vit
2006/09/11 01:40:45.618| ACL::ChecklistMatches: result for 'vit' is 1
2006/09/11 01:40:45.618| ACLList::matches: result is false
2006/09/11 01:40:45.618| aclmatchAclList: 0x84bd9f0 returning false (AND list entry failed to match)
2006/09/11 01:40:45.618| aclmatchAclList: async=0 nodeMatched=0 async_in_progress=0 lastACLResult() = 0
2006/09/11 01:40:45.618| ACLChecklist::preCheck: 0x84bd9f0 checking 'http_access allow vit'
2006/09/11 01:40:45.618| ACLList::matches: checking vit
2006/09/11 01:40:45.618| ACL::checklistMatches: checking 'vit'
2006/09/11 01:40:45.618| aclMatchUser: user is vit, case_insensitive is 0
2006/09/11 01:40:45.618| Top is 0x824f2f0, Top->data is vit
2006/09/11 01:40:45.618| aclMatchUser: returning 1,Top is 0x824f2f0, Top->data is vit
2006/09/11 01:40:45.618| ACL::ChecklistMatches: result for 'vit' is 1
2006/09/11 01:40:45.618| ACLList::matches: result is true
2006/09/11 01:40:45.618| aclmatchAclList: 0x84bd9f0 returning true (AND list satisfied)
2006/09/11 01:40:45.618| ACLChecklist::markFinished: 0x84bd9f0 checklist processing finished
2006/09/11 01:40:45.618| ACLChecklist::check: 0x84bd9f0 match found, calling back with 1
2006/09/11 01:40:45.618| ACLChecklist::checkCallback: 0x84bd9f0 answer=1
2006/09/11 01:40:45.618| ACLChecklist::preCheck: 0x84bda80 checking 'cache deny QUERY'
2006/09/11 01:40:45.618| ACLList::matches: checking QUERY
2006/09/11 01:40:45.618| ACL::checklistMatches: checking 'QUERY'
2006/09/11 01:40:45.618| aclRegexData::match: checking '/gentoo/distfiles/Azureus_2.4.0.2_linux-x86_64.tar.bz2'
2006/09/11 01:40:45.618| aclRegexData::match: looking for 'cgi-bin'
2006/09/11 01:40:45.618| aclRegexData::match: looking for '\?'
2006/09/11 01:40:45.618| ACL::ChecklistMatches: result for 'QUERY' is 0
2006/09/11 01:40:45.618| ACLList::matches: result is false
2006/09/11 01:40:45.618| aclmatchAclList: 0x84bda80 returning false (AND list entry failed to match)
2006/09/11 01:40:45.618| aclmatchAclList: async=0 nodeMatched=0 async_in_progress=0 lastACLResult() = 0
2006/09/11 01:40:45.618| ACLChecklist::check: 0x84bda80 NO match found, returning 1
2006/09/11 01:40:45.618| ACLChecklist::checkCallback: 0x84bda80 answer=1
2006/09/11 01:40:45.618| aclCheckFast: list: 0x8231710
2006/09/11 01:40:45.618| ACLChecklist::preCheck: 0xbf817090 checking 'delay_access 1 deny !vit'
2006/09/11 01:40:45.618| ACLList::matches: checking !vit
2006/09/11 01:40:45.618| ACL::checklistMatches: checking 'vit'
2006/09/11 01:40:45.618| aclMatchUser: user is vit, case_insensitive is 0
2006/09/11 01:40:45.618| Top is 0x824f2f0, Top->data is vit
2006/09/11 01:40:45.618| aclMatchUser: returning 1,Top is 0x824f2f0, Top->data is vit
2006/09/11 01:40:45.618| ACL::ChecklistMatches: result for 'vit' is 1
2006/09/11 01:40:45.618| ACLList::matches: result is false
2006/09/11 01:40:45.618| aclmatchAclList: 0xbf817090 returning false (AND list entry failed to match)
2006/09/11 01:40:45.618| aclmatchAclList: async=0 nodeMatched=0 async_in_progress=0 lastACLResult() = 0
2006/09/11 01:40:45.619| ACLChecklist::preCheck: 0xbf817090 checking 'delay_access 1 allow vit'
2006/09/11 01:40:45.619| ACLList::matches: checking vit
2006/09/11 01:40:45.619| ACL::checklistMatches: checking 'vit'
2006/09/11 01:40:45.619| aclMatchUser: user is vit, case_insensitive is 0
2006/09/11 01:40:45.619| Top is 0x824f2f0, Top->data is vit
2006/09/11 01:40:45.619| aclMatchUser: returning 1,Top is 0x824f2f0, Top->data is vit
2006/09/11 01:40:45.619| ACL::ChecklistMatches: result for 'vit' is 1
2006/09/11 01:40:45.619| ACLList::matches: result is true
2006/09/11 01:40:45.619| aclmatchAclList: 0xbf817090 returning true (AND list satisfied)
2006/09/11 01:40:45.619| ACLChecklist::markFinished: 0xbf817090 checklist processing finished
2006/09/11 01:40:45.619| ACLChecklist::~ACLChecklist: destroyed 0xbf817090
2006/09/11 01:40:45.619| aclCheckFast: list: (nil)
2006/09/11 01:40:45.619| aclCheckFast: no matches, returning: 1
2006/09/11 01:40:45.619| ACLChecklist::~ACLChecklist: destroyed 0xbf8170d0
2006/09/11 01:40:45.619| ACLChecklist::~ACLChecklist: destroyed 0xbf816f60
2006/09/11 01:40:45.619| ACLChecklist::~ACLChecklist: destroyed 0xbf816f60
2006/09/11 01:40:45.619| ACLChecklist::~ACLChecklist: destroyed 0x84bda80
2006/09/11 01:40:45.619| ACLChecklist::~ACLChecklist: destroyed 0x84bd9f0
2006/09/11 01:40:45.733| aclCheckFast: list: (nil)
2006/09/11 01:40:45.733| aclCheckFast: no matches, returning: 1
2006/09/11 01:40:45.733| ACLChecklist::~ACLChecklist: destroyed 0x84bd9f0
2006/09/11 01:40:45.733| aclCheckFast: list: (nil)
2006/09/11 01:40:45.733| aclCheckFast: no matches, returning: 1
2006/09/11 01:40:45.733| ACLChecklist::~ACLChecklist: destroyed 0x84bd9f0
2006/09/11 01:40:45.733| aclCheckFast: list: (nil)
2006/09/11 01:40:45.733| aclCheckFast: no matches, returning: 1
2006/09/11 01:40:45.733| ACLChecklist::~ACLChecklist: destroyed 0x84bd9f0
2006/09/11 01:40:45.733| aclCheckFast: list: (nil)
2006/09/11 01:40:45.733| aclCheckFast: no matches, returning: 1
2006/09/11 01:40:45.733| ACLChecklist::~ACLChecklist: destroyed 0x84bd9f0
2006/09/11 01:40:45.733| aclCheckFast: list: (nil)
2006/09/11 01:40:45.733| aclCheckFast: no matches, returning: 1
2006/09/11 01:40:45.733| ACLChecklist::~ACLChecklist: destroyed 0x84bd9f0
2006/09/11 01:40:45.733| aclCheckFast: list: (nil)
2006/09/11 01:40:45.733| aclCheckFast: no matches, returning: 1
2006/09/11 01:40:45.733| ACLChecklist::~ACLChecklist: destroyed 0x84bd9f0
2006/09/11 01:40:45.733| aclCheckFast: list: (nil)
2006/09/11 01:40:45.733| aclCheckFast: no matches, returning: 1
2006/09/11 01:40:45.733| ACLChecklist::~ACLChecklist: destroyed 0x84bd9f0
2006/09/11 01:40:45.733| aclCheckFast: list: (nil)
2006/09/11 01:40:45.733| aclCheckFast: no matches, returning: 1
2006/09/11 01:40:45.733| ACLChecklist::~ACLChecklist: destroyed 0x84bd9f0
2006/09/11 01:40:45.733| aclCheckFast: list: (nil)
2006/09/11 01:40:45.733| aclCheckFast: no matches, returning: 1
2006/09/11 01:40:45.733| ACLChecklist::~ACLChecklist: destroyed 0x84bd9f0
2006/09/11 01:40:45.733| ACLChecklist::~ACLChecklist: destroyed 0x84bd9f0
2006/09/11 01:40:45.733| ACLChecklist::preCheck: 0x84bd9f0 checking 'http_reply_access allow all'
2006/09/11 01:40:45.733| ACLList::matches: checking all
2006/09/11 01:40:45.733| ACL::checklistMatches: checking 'all'
2006/09/11 01:40:45.733| aclMatchIp: '127.0.0.1' found
2006/09/11 01:40:45.733| ACL::ChecklistMatches: result for 'all' is 1
2006/09/11 01:40:45.733| ACLList::matches: result is true
2006/09/11 01:40:45.733| aclmatchAclList: 0x84bd9f0 returning true (AND list satisfied)
2006/09/11 01:40:45.733| ACLChecklist::markFinished: 0x84bd9f0 checklist processing finished
2006/09/11 01:40:45.733| ACLChecklist::check: 0x84bd9f0 match found, calling back with 1
2006/09/11 01:40:45.733| ACLChecklist::checkCallback: 0x84bd9f0 answer=1
2006/09/11 01:40:45.733| ACLChecklist::~ACLChecklist: destroyed 0x84bd9f0
2006/09/11 01:40:46.880| ACLChecklist::~ACLChecklist: destroyed 0x84bd9f0
2006/09/11 01:40:46.880| assertion failed: forward.cc:286: "entry->store_status == STORE_PENDING"
2006/09/11 01:40:56.928| acl_access::containsPURGE: invoked for 'http_access deny !vit'
2006/09/11 01:40:56.928| acl_access::containsPURGE: can't create tempAcl
2006/09/11 01:40:56.928| acl_access::containsPURGE: can't create tempAcl
2006/09/11 01:40:56.928| acl_access::containsPURGE: can't create tempAcl
2006/09/11 01:40:56.928| acl_access::containsPURGE: can't create tempAcl
2006/09/11 01:40:56.928| acl_access::containsPURGE: can't create tempAcl
2006/09/11 01:40:56.928| acl_access::containsPURGE: returning false
2006/09/11 01:40:56.928| Starting Squid Cache version 3.0.PRE4 for i686-pc-linux-gnu...
2006/09/11 01:40:56.928| Process ID 32497
2006/09/11 01:40:56.928| With 1024 file descriptors available
2006/09/11 01:40:56.928| Performing DNS Tests...
2006/09/11 01:40:56.928| Successful DNS name lookup tests...
2006/09/11 01:40:56.928| DNS Socket created at 0.0.0.0, port 32812, FD 5
2006/09/11 01:40:56.928| Adding nameserver 80.70.224.2 from /etc/resolv.conf
2006/09/11 01:40:56.928| Adding nameserver 80.70.224.4 from /etc/resolv.conf
2006/09/11 01:40:56.928| Adding domain local from /etc/resolv.conf
2006/09/11 01:40:56.928| helperOpenServers: Starting 5 'pam_auth' processes
2006/09/11 01:40:57| Unlinkd pipe opened on FD 15
2006/09/11 01:40:57| Swap maxSize 102400 KB, estimated 7876 objects
2006/09/11 01:40:57| Target number of buckets: 393
2006/09/11 01:40:57| Using 8192 Store buckets
2006/09/11 01:40:57| Max Mem size: 8192 KB
2006/09/11 01:40:57| Max Swap size: 102400 KB
2006/09/11 01:40:57| Rebuilding storage in /usr/local/squid/var/cache (DIRTY)
2006/09/11 01:40:57| Using Least Load store dir selection
2006/09/11 01:40:57| Set Current Directory to /usr/local/squid/var/cache
2006/09/11 01:40:57| Loaded Icons.
2006/09/11 01:40:57| Accepting HTTP connections at 0.0.0.0, port 2222, FD 17.
2006/09/11 01:40:57| WCCP Disabled.
2006/09/11 01:40:57| Ready to serve requests.
2006/09/11 01:40:57| Done reading /usr/local/squid/var/cache swaplog (777 entries)
2006/09/11 01:40:57| Finished rebuilding storage from disk.
2006/09/11 01:40:57| 777 Entries scanned
2006/09/11 01:40:57| 0 Invalid entries.
2006/09/11 01:40:57| 0 With invalid flags.
2006/09/11 01:40:57| 777 Objects loaded.
2006/09/11 01:40:57| 0 Objects expired.
2006/09/11 01:40:57| 0 Objects cancelled.
2006/09/11 01:40:57| 0 Duplicate URLs purged.
2006/09/11 01:40:57| 0 Swapfile clashes avoided.
2006/09/11 01:40:57| Took 0.0 seconds (48025.2 objects/sec).
2006/09/11 01:40:57| Beginning Validation Procedure
2006/09/11 01:40:57| Completed Validation Procedure
2006/09/11 01:40:57| Validated 1579 Entries
2006/09/11 01:40:57| store_swap_size = 7888
2006/09/11 01:40:58| storeLateRelease: released 0 objects
Note - assertion violation has occured:
2006/09/11 01:40:46.880| assertion failed: forward.cc:286: "entry->store_status == STORE_PENDING"
Squid I use is 3.0PRE4 from squid-cache.org.
Thank you for your response.
> On Sun, 2006-09-10 at 17:40 +0400, vit@icebrains-soft.com wrote:
> > Hello!
> >
> > In addition to my previous letter. I've tried squid-3 (PRE4) delay
> > pools of class 4. I was not lucky :-) There was no bandwith limit.
> >
> > I've included the following lines into my squid-3 squid.conf:
> >
> > acl vit ident vit
> > http_access allow vit
> > ident_lookup_access allow all
> > delay_pools 1
> > delay_class 1 4 # pool 1 is a class 4 pool
> > delay_access 1 allow vit
> > delay_parameters 1 -1/-1 -1/-1 -1/-1 6000/6000
> >
> > What is/are my mistake(s)? Thank you beforehand.
>
> Hi, whats happening is that ident is an asynchronous user lookup. So
> squid is not waiting to fin out the user, because you have no force in
> your config.
>
> Try:
> acl vit ident vit
> http_access deny !vit
> ident_lookup_access allow all
> delay_pools 1
> delay_class 1 4 # pool 1 is a class 4 pool
> delay_access 1 allow vit
> delay_parameters 1 -1/-1 -1/-1 -1/-1 6000/6000
>
> If that does not work, please file a bug, I'll reproduce the problem for
> you next weekend.
>
> Cheers,
> Rob
>
Good bye!
-- Sincerely yours, Vitaly Repin Ice Brains Software, ltdReceived on Sun Sep 10 2006 - 15:47:59 MDT
This archive was generated by hypermail pre-2.1.9 : Sun Oct 01 2006 - 12:00:03 MDT