]>
Commit | Line | Data |
---|---|---|
bbc27441 | 1 | /* |
bde978a6 | 2 | * Copyright (C) 1996-2015 The Squid Software Foundation and contributors |
bbc27441 AJ |
3 | * |
4 | * Squid software is distributed under GPLv2+ license and includes | |
5 | * contributions from numerous individuals and organizations. | |
6 | * Please see the COPYING and CONTRIBUTORS files for details. | |
7 | */ | |
8 | ||
aa110616 AJ |
9 | #ifndef _SQUID_AUTH_DIGEST_USER_H |
10 | #define _SQUID_AUTH_DIGEST_USER_H | |
11 | ||
6ed36c20 | 12 | #include "auth/digest/Config.h" |
aa110616 | 13 | #include "auth/User.h" |
6ed36c20 | 14 | #include "rfc2617.h" |
aa110616 AJ |
15 | |
16 | namespace Auth | |
de76457e | 17 | { |
aa110616 AJ |
18 | namespace Digest |
19 | { | |
20 | ||
21 | /** User credentials for the Digest authentication protocol */ | |
22 | class User : public Auth::User | |
23 | { | |
aa110616 AJ |
24 | MEMPROXY_CLASS(Auth::Digest::User); |
25 | ||
741c2986 | 26 | public: |
d4806c91 | 27 | User(Auth::Config *, const char *requestRealm); |
39bfd3eb | 28 | virtual ~User(); |
aa110616 | 29 | int authenticated() const; |
aa110616 AJ |
30 | virtual int32_t ttl() const; |
31 | ||
46b1e6bf | 32 | /* Auth::User API */ |
638cfbc4 | 33 | static CbcPointer<Auth::CredentialsCache> Cache(); |
283c905d | 34 | virtual void addToNameCache() override; |
e1568a40 | 35 | |
aa110616 AJ |
36 | HASH HA1; |
37 | int HA1created; | |
38 | ||
39 | /* what nonces have been allocated to this user */ | |
40 | dlink_list nonces; | |
572d2e31 HN |
41 | |
42 | digest_nonce_h * currentNonce(); | |
aa110616 | 43 | }; |
de76457e | 44 | |
aa110616 AJ |
45 | } // namespace Digest |
46 | } // namespace Auth | |
47 | ||
48 | #endif /* _SQUID_AUTH_DIGEST_USER_H */ | |
f53969cc | 49 |