]> git.ipfire.org Git - thirdparty/squid.git/blobdiff - src/auth/basic/User.h
Docs: Copyright updates for 2018 (#114)
[thirdparty/squid.git] / src / auth / basic / User.h
index 1226fb736cec4e18837ffde83b2216c0a52bf4bb..6bc2867b42fb3f0d45ff0c9e6874d4f55a323a42 100644 (file)
@@ -1,13 +1,23 @@
+/*
+ * Copyright (C) 1996-2018 The Squid Software Foundation and contributors
+ *
+ * Squid software is distributed under GPLv2+ license and includes
+ * contributions from numerous individuals and organizations.
+ * Please see the COPYING and CONTRIBUTORS files for details.
+ */
+
 #ifndef _SQUID_AUTH_BASIC_USER_H
 #define _SQUID_AUTH_BASIC_USER_H
 
+#if HAVE_AUTH_MODULE_BASIC
+
 #include "auth/User.h"
 #include "auth/UserRequest.h"
 
 namespace Auth
 {
 
-class Config;
+class SchemeConfig;
 class QueueNode;
 
 namespace Basic
@@ -16,17 +26,21 @@ namespace Basic
 /** User credentials for the Basic authentication protocol */
 class User : public Auth::User
 {
-public:
     MEMPROXY_CLASS(Auth::Basic::User);
 
-    User(Auth::Config *, const char *requestRealm);
-    ~User();
+public:
+    User(Auth::SchemeConfig *, const char *requestRealm);
+    virtual ~User();
     bool authenticated() const;
     bool valid() const;
 
     /** Update the cached password for a username. */
     void updateCached(User *from);
-    virtual int32_t ttl() const;
+    virtual int32_t ttl() const override;
+
+    /* Auth::User API */
+    static CbcPointer<Auth::CredentialsCache> Cache();
+    virtual void addToNameCache() override;
 
     char *passwd;
 
@@ -36,9 +50,9 @@ private:
     Auth::UserRequest::Pointer currentRequest;
 };
 
-MEMPROXY_CLASS_INLINE(Auth::Basic::User);
-
 } // namespace Basic
 } // namespace Auth
 
+#endif /* HAVE_AUTH_MODULE_BASIC */
 #endif /* _SQUID_AUTH_BASIC_USER_H */
+