This is a partial port of the Buug 2305 auth fixes.
These changes involve combining the auth operation state links to
credentials data such that the shared code can lock/unlock them properly.
return basicScheme::GetInstance().type();
}
-AuthBasicUserRequest::AuthBasicUserRequest() : _theUser(NULL)
+AuthBasicUserRequest::AuthBasicUserRequest()
{}
AuthBasicUserRequest::~AuthBasicUserRequest()
virtual void authenticate(HttpRequest * request, ConnStateData *conn, http_hdr_type type);
virtual int module_direction();
virtual void module_start(RH *, void *);
- virtual AuthUser *user() {return _theUser;}
-
- virtual const AuthUser *user() const {return _theUser;}
-
- virtual void user (AuthUser *aUser) {_theUser=dynamic_cast<BasicUser *>(aUser);}
-
-private:
- BasicUser *_theUser;
};
MEMPROXY_CLASS_INLINE(AuthBasicUserRequest);
AuthDigestUserRequest::AuthDigestUserRequest() : nonceb64(NULL) ,cnonce(NULL) ,realm(NULL),
pszPass(NULL) ,algorithm(NULL) ,pszMethod(NULL),
qop(NULL) ,uri(NULL) ,response(NULL),
- nonce(NULL), _theUser (NULL) ,
+ nonce(NULL),
credentials_ok (Unchecked)
{}
#endif
virtual void module_start(RH *, void *);
- virtual AuthUser *user() {return _theUser;}
-
- virtual const AuthUser *user() const {return _theUser;}
-
- virtual void user(AuthUser *aUser) {_theUser=dynamic_cast<DigestUser *>(aUser);}
CredentialsState credentials() const;
void credentials(CredentialsState);
digest_nonce_h *nonce;
private:
- DigestUser *_theUser;
CredentialsState credentials_ok;
};
}
AuthNegotiateUserRequest::AuthNegotiateUserRequest() :
- /*conn(NULL),*/ auth_state(AUTHENTICATE_STATE_NONE),
- _theUser(NULL)
+ /*conn(NULL),*/ auth_state(AUTHENTICATE_STATE_NONE)
{
waiting=0;
client_blob=0;
virtual int module_direction();
virtual void onConnectionClose(ConnStateData *);
virtual void module_start(RH *, void *);
- virtual AuthUser *user() {return _theUser;}
-
- virtual const AuthUser *user() const {return _theUser;}
virtual void addHeader(HttpReply * rep, int accel);
- virtual void user (AuthUser *aUser) {_theUser=dynamic_cast<NegotiateUser *>(aUser);}
-
virtual const char * connLastHeader();
/*we need to store the helper server between requests */
/* need access to the request flags to mess around on pconn failure */
HttpRequest *request;
-
-private:
- /* the user */
- NegotiateUser * _theUser;
};
MEMPROXY_CLASS_INLINE(AuthNegotiateUserRequest);
}
AuthNTLMUserRequest::AuthNTLMUserRequest() :
- /*conn(NULL),*/ auth_state(AUTHENTICATE_STATE_NONE),
- _theUser(NULL)
+ /*conn(NULL),*/ auth_state(AUTHENTICATE_STATE_NONE)
{
waiting=0;
client_blob=0;
virtual int module_direction();
virtual void onConnectionClose(ConnStateData *);
virtual void module_start(RH *, void *);
- virtual AuthUser *user() {return _theUser;}
-
- virtual const AuthUser *user() const {return _theUser;}
-
- virtual void user (AuthUser *aUser) {_theUser=dynamic_cast<NTLMUser *>(aUser);}
virtual const char * connLastHeader();
/* need access to the request flags to mess around on pconn failure */
HttpRequest *request;
-
-private:
- /* the user */
- NTLMUser * _theUser;
};
MEMPROXY_CLASS_INLINE(AuthNTLMUserRequest);