]> git.ipfire.org Git - thirdparty/squid.git/blobdiff - src/auth/negotiate/User.h
Docs: Copyright updates for 2018 (#114)
[thirdparty/squid.git] / src / auth / negotiate / User.h
index b6e84588f8af6e79aac1776374743f074194ff38..7c49dee8e2953ba3169e59f6acb2550484ce9ad4 100644 (file)
@@ -1,12 +1,22 @@
+/*
+ * 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_NEGOTIATE_USER_H
 #define _SQUID_AUTH_NEGOTIATE_USER_H
 
+#if HAVE_AUTH_MODULE_NEGOTIATE
+
 #include "auth/User.h"
 
 namespace Auth
 {
 
-class Config;
+class SchemeConfig;
 
 namespace Negotiate
 {
@@ -14,18 +24,23 @@ namespace Negotiate
 /** User credentials for the Negotiate authentication protocol */
 class User : public Auth::User
 {
-public:
     MEMPROXY_CLASS(Auth::Negotiate::User);
-    User(Auth::Config *);
-    ~User();
-    virtual int32_t ttl() const;
+
+public:
+    User(Auth::SchemeConfig *, const char *requestRealm);
+    virtual ~User();
+    virtual int32_t ttl() const override;
+
+    /* Auth::User API */
+    static CbcPointer<Auth::CredentialsCache> Cache();
+    virtual void addToNameCache() override;
 
     dlink_list proxy_auth_list;
 };
 
-MEMPROXY_CLASS_INLINE(Auth::Negotiate::User);
-
 } // namespace Negotiate
 } // namespace Auth
 
+#endif /* HAVE_AUTH_MODULE_NEGOTIATE */
 #endif /* _SQUID_AUTH_NEGOTIATE_USER_H */
+