Search squid archive

Re: Replay Auth

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello again Amos,

Today I made a (ugly) patch for squid 3.2.13, who changes the credentialsttl behaviour

With auth_param basic credentialsttl 1 minute the user must replay his ident (of course if the negotiation is the second, BASIC). 
Better - for me - ! The digest (first identification) is proposed as new choice.

Of course if I disable the digest - so only with basic - the pop-pup will comes again every minutes.

I'm not a C++ expert, and I think there are some bad things, but it works pretty good
I thing a better way should be : add an option, something like auth_param basic credentialsttldisconnect

The "trick" is:

src/auth/UserRequest.h:    CRED_BANNED = -3

A new case in src/auth/UserRequest.cc

case Auth::CRED_BANNED:
     *auth_user_request = NULL 
      return AUTH_ACL_CHALLENGE;

For basic

src/auth/basic/UserRequest.cc

    case Auth::Ok:
        if (user()->expiretime + static_cast<Auth::Basic::Config*>(Auth::Config::Find("basic"))->credentialsTTL <= squid_curtime){
            // Avoid infinit loop //
                user()->expiretime = current_time.tv_sec;
                return Auth::CRED_BANNED;
        }
        return Auth::CRED_VALID;

I hope I forgot nothing

I have just one problem for the moment, sometimes the ident banner appear twice I guess there is a problem about user()->expiretime = current_time.tv_sec place when the user is beyond two minutes without browsing the timer is expired again, I will investigate ...

Thank

Fred







[Index of Archives]     [Linux Audio Users]     [Samba]     [Big List of Linux Books]     [Linux USB]     [Yosemite News]

  Powered by Linux