From: Francesco Chemolli <5175948+kinkie@users.noreply.github.com> Date: Fri, 23 Feb 2024 00:55:30 +0000 (+0000) Subject: Implement default Auth::UserRequest::authenticated() (#1679) X-Git-Tag: SQUID_7_0_1~202 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e4bcf11723d868abd46b234d425745d5b66e5191;p=thirdparty%2Fsquid.git Implement default Auth::UserRequest::authenticated() (#1679) --- diff --git a/src/acl/FilledChecklist.h b/src/acl/FilledChecklist.h index f1512bde8d..51f5052350 100644 --- a/src/acl/FilledChecklist.h +++ b/src/acl/FilledChecklist.h @@ -55,8 +55,6 @@ public: /// set the client side FD void fd(int aDescriptor); - //int authenticated(); - bool destinationDomainChecked() const; void markDestinationDomainChecked(); bool sourceDomainChecked() const; diff --git a/src/auth/UserRequest.cc b/src/auth/UserRequest.cc index 3b91676f84..7dfae3ce89 100644 --- a/src/auth/UserRequest.cc +++ b/src/auth/UserRequest.cc @@ -132,6 +132,19 @@ Auth::UserRequest::denyMessage(char const * const default_message) const return getDenyMessage(); } +bool +Auth::UserRequest::authenticated() const +{ + const auto u = user(); + if (u && u->credentials() == Auth::Ok) { + debugs(29, 7, "yes"); + return true; + } + + debugs(29, 7, "no"); + return false; +} + static void authenticateAuthUserRequestSetIp(Auth::UserRequest::Pointer auth_user_request, Ip::Address &ipaddr) { @@ -172,11 +185,11 @@ authenticateAuthUserRequestIPCount(Auth::UserRequest::Pointer auth_user_request) /* * authenticateUserAuthenticated: is this auth_user structure logged in ? */ -int -authenticateUserAuthenticated(Auth::UserRequest::Pointer auth_user_request) +bool +authenticateUserAuthenticated(const Auth::UserRequest::Pointer &auth_user_request) { - if (auth_user_request == nullptr || !auth_user_request->valid()) - return 0; + if (!auth_user_request || !auth_user_request->valid()) + return false; return auth_user_request->authenticated(); } diff --git a/src/auth/UserRequest.h b/src/auth/UserRequest.h index f2d7eefb3b..98ca089df0 100644 --- a/src/auth/UserRequest.h +++ b/src/auth/UserRequest.h @@ -112,7 +112,7 @@ public: \retval true User has successfully been authenticated. \retval false Timeouts on cached credentials have occurred or for any reason the credentials are not valid. */ - virtual int authenticated() const = 0; + virtual bool authenticated() const; /** * Check a auth_user pointer for validity. @@ -247,7 +247,7 @@ int authenticateAuthUserRequestIPCount(Auth::UserRequest::Pointer); /// \ingroup AuthAPI /// See Auth::UserRequest::authenticated() -int authenticateUserAuthenticated(Auth::UserRequest::Pointer); +bool authenticateUserAuthenticated(const Auth::UserRequest::Pointer &); #endif /* USE_AUTH */ #endif /* SQUID_SRC_AUTH_USERREQUEST_H */ diff --git a/src/auth/basic/UserRequest.cc b/src/auth/basic/UserRequest.cc index a6d249573d..8c3081a965 100644 --- a/src/auth/basic/UserRequest.cc +++ b/src/auth/basic/UserRequest.cc @@ -24,15 +24,15 @@ #define HELPER_INPUT_BUFFER 8192 #endif -int +bool Auth::Basic::UserRequest::authenticated() const { Auth::Basic::User const *basic_auth = dynamic_cast(user().getRaw()); if (basic_auth && basic_auth->authenticated()) - return 1; + return true; - return 0; + return false; } const char * diff --git a/src/auth/basic/UserRequest.h b/src/auth/basic/UserRequest.h index bb384b0d19..5c09614fad 100644 --- a/src/auth/basic/UserRequest.h +++ b/src/auth/basic/UserRequest.h @@ -32,7 +32,7 @@ public: UserRequest() {} ~UserRequest() override { assert(LockCount()==0); } - int authenticated() const override; + bool authenticated() const override; void authenticate(HttpRequest * request, ConnStateData *conn, Http::HdrType type) override; Auth::Direction module_direction() override; void startHelperLookup(HttpRequest * request, AccessLogEntry::Pointer &al, AUTHCB *, void *) override; diff --git a/src/auth/digest/User.h b/src/auth/digest/User.h index 263470f972..206c2afa6f 100644 --- a/src/auth/digest/User.h +++ b/src/auth/digest/User.h @@ -28,7 +28,6 @@ class User : public Auth::User public: User(Auth::SchemeConfig *, const char *requestRealm); ~User() override; - int authenticated() const; int32_t ttl() const override; /* Auth::User API */ diff --git a/src/auth/digest/UserRequest.cc b/src/auth/digest/UserRequest.cc index 1b642840bd..a9e3a91b6d 100644 --- a/src/auth/digest/UserRequest.cc +++ b/src/auth/digest/UserRequest.cc @@ -58,15 +58,6 @@ Auth::Digest::UserRequest::~UserRequest() authDigestNonceUnlink(nonce); } -int -Auth::Digest::UserRequest::authenticated() const -{ - if (user() != nullptr && user()->credentials() == Auth::Ok) - return 1; - - return 0; -} - const char * Auth::Digest::UserRequest::credentialsStr() { diff --git a/src/auth/digest/UserRequest.h b/src/auth/digest/UserRequest.h index 99e05fb996..18753e911f 100644 --- a/src/auth/digest/UserRequest.h +++ b/src/auth/digest/UserRequest.h @@ -34,7 +34,6 @@ public: UserRequest(); ~UserRequest() override; - int authenticated() const override; void authenticate(HttpRequest * request, ConnStateData * conn, Http::HdrType type) override; Direction module_direction() override; void addAuthenticationInfoHeader(HttpReply * rep, int accel) override; diff --git a/src/auth/negotiate/UserRequest.cc b/src/auth/negotiate/UserRequest.cc index 83756967fd..de3ec2509e 100644 --- a/src/auth/negotiate/UserRequest.cc +++ b/src/auth/negotiate/UserRequest.cc @@ -53,18 +53,6 @@ Auth::Negotiate::UserRequest::connLastHeader() return nullptr; } -int -Auth::Negotiate::UserRequest::authenticated() const -{ - if (user() != nullptr && user()->credentials() == Auth::Ok) { - debugs(29, 9, "user authenticated."); - return 1; - } - - debugs(29, 9, "user not fully authenticated."); - return 0; -} - const char * Auth::Negotiate::UserRequest::credentialsStr() { diff --git a/src/auth/negotiate/UserRequest.h b/src/auth/negotiate/UserRequest.h index b07a5d3ffd..01829aab9b 100644 --- a/src/auth/negotiate/UserRequest.h +++ b/src/auth/negotiate/UserRequest.h @@ -31,7 +31,6 @@ class UserRequest : public Auth::UserRequest public: UserRequest(); ~UserRequest() override; - int authenticated() const override; void authenticate(HttpRequest * request, ConnStateData * conn, Http::HdrType type) override; Direction module_direction() override; void startHelperLookup(HttpRequest *request, AccessLogEntry::Pointer &al, AUTHCB *, void *) override; diff --git a/src/auth/ntlm/UserRequest.cc b/src/auth/ntlm/UserRequest.cc index 2fb2995154..0a22b4787c 100644 --- a/src/auth/ntlm/UserRequest.cc +++ b/src/auth/ntlm/UserRequest.cc @@ -51,18 +51,6 @@ Auth::Ntlm::UserRequest::connLastHeader() return nullptr; } -int -Auth::Ntlm::UserRequest::authenticated() const -{ - if (user() != nullptr && user()->credentials() == Auth::Ok) { - debugs(29, 9, "user authenticated."); - return 1; - } - - debugs(29, 9, "user not fully authenticated."); - return 0; -} - const char * Auth::Ntlm::UserRequest::credentialsStr() { diff --git a/src/auth/ntlm/UserRequest.h b/src/auth/ntlm/UserRequest.h index 6b222c466e..c125de3587 100644 --- a/src/auth/ntlm/UserRequest.h +++ b/src/auth/ntlm/UserRequest.h @@ -31,7 +31,6 @@ class UserRequest : public Auth::UserRequest public: UserRequest(); ~UserRequest() override; - int authenticated() const override; void authenticate(HttpRequest * request, ConnStateData * conn, Http::HdrType type) override; Auth::Direction module_direction() override; void startHelperLookup(HttpRequest *req, AccessLogEntry::Pointer &al, AUTHCB *, void *) override; diff --git a/src/tests/stub_libauth.cc b/src/tests/stub_libauth.cc index 04893308b1..e0883389f9 100644 --- a/src/tests/stub_libauth.cc +++ b/src/tests/stub_libauth.cc @@ -59,12 +59,13 @@ void Auth::UserRequest::operator delete (void *) STUB Auth::UserRequest::UserRequest() STUB Auth::UserRequest::~UserRequest() STUB void Auth::UserRequest::setDenyMessage(char const *) STUB +bool Auth::UserRequest::authenticated() const STUB_RETVAL(false) char const * Auth::UserRequest::getDenyMessage() const STUB_RETVAL("stub") char const * Auth::UserRequest::denyMessage(char const * const) const STUB_RETVAL("stub") void authenticateAuthUserRequestRemoveIp(Auth::UserRequest::Pointer, Ip::Address const &) STUB void authenticateAuthUserRequestClearIp(Auth::UserRequest::Pointer) STUB int authenticateAuthUserRequestIPCount(Auth::UserRequest::Pointer) STUB_RETVAL(0) -int authenticateUserAuthenticated(Auth::UserRequest::Pointer) STUB_RETVAL(0) +bool authenticateUserAuthenticated(const Auth::UserRequest::Pointer&) STUB_RETVAL(false) Auth::Direction Auth::UserRequest::direction() STUB_RETVAL(Auth::CRED_ERROR) void Auth::UserRequest::addAuthenticationInfoHeader(HttpReply *, int) STUB void Auth::UserRequest::addAuthenticationInfoTrailer(HttpReply *, int) STUB