Re: Note about auth refcounting state / ntlm in trunk

From: Amos Jeffries <squid3_at_treenet.co.nz>
Date: Mon, 16 Aug 2010 21:32:44 +1200

Henrik Nordström wrote:
> mån 2010-08-16 klockan 18:15 +1200 skrev Amos Jeffries:
>
>> So...... the difference being that you are suggesting the credentials
>> text and parsing should be done on AuthUserRequest and no AuthUser
>> should exist associated with it until fully authed?
>> AuthUser only created/looked up at the point currently doing absorb()?
>
> Correct.

okay. ++1.

>
>> Sounds like a good plan.
>> NOTE: this is why I specifically asked for details on the
>> RefCountCount() value on the assert bug:
>
> ==2 I think. Looks up IRC logs.. yes. "from->RefCountCount() == 2"

I mean, finding out what !=2 value it is to fail the assert.

>
>>> AuthUser should be scheme-independent, but need to softly link to the
>>> schemes using it allowing clean garbage collection and association of
>>> scheme state (basic credentials cache, confirmed digest nonces and their
>>> related H(A1))
>> It is already like that. AuthUser is the mostly-private part persisting
>> across requests/conn in the username cache. AuthUserRequest is the
>> public hanging off each request and conn indicating state of auth.
>> Pointing to whatever AuthUser has the credentials text.
>
> Almost.. each AuthUser is scheme specific today. Shouldn't be, but still
> is. Not the class as such, but it's data makes it unique per scheme.
> References auth_type and AuthConfig.

I don't think thats making them scheme-specific as such. The child
classes inheriting from AuthUser will be doing that part.

Config can be unlinked by moving the TTL into AuthUser as a generic
timestamp set at point of last validation. IIRC thats all its used for
so the validating scheme's TTL-when-validated can persist across
reconfigure.

auth_type is just a meta data flag. Useful for cachemgr display and any
scheme-specific logics handling the AuthUser that fell like they need to
check the type.

Amos

-- 
Please be using
   Current Stable Squid 2.7.STABLE9 or 3.1.6
   Beta testers wanted for 3.2.0.1
Received on Mon Aug 16 2010 - 09:32:52 MDT

This archive was generated by hypermail 2.2.0 : Mon Aug 16 2010 - 12:00:04 MDT