2 * Copyright (C) 1996-2014 The Squid Software Foundation and contributors
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.
9 #ifndef SQUID_IDENT_ACLIDENT_H
10 #define SQUID_IDENT_ACLIDENT_H
14 #include "acl/Checklist.h"
17 class IdentLookup
: public ACLChecklist::AsyncState
21 static IdentLookup
*Instance();
22 virtual void checkForAsync(ACLChecklist
*)const;
25 static IdentLookup instance_
;
26 static void LookupDone(const char *ident
, void *data
);
33 class ACLIdent
: public ACL
37 MEMPROXY_CLASS(ACLIdent
);
39 ACLIdent(ACLData
<char const *> *newData
, char const *);
40 ACLIdent (ACLIdent
const &old
);
41 ACLIdent
& operator= (ACLIdent
const &rhs
);
44 virtual char const *typeString() const;
46 virtual bool isProxyAuth() const {return true;}
48 virtual int match(ACLChecklist
*checklist
);
49 virtual SBufList
dump() const;
50 virtual bool empty () const;
51 virtual ACL
*clone()const;
54 static Prototype UserRegistryProtoype
;
55 static ACLIdent UserRegistryEntry_
;
56 static Prototype RegexRegistryProtoype
;
57 static ACLIdent RegexRegistryEntry_
;
58 ACLData
<char const *> *data
;
62 MEMPROXY_CLASS_INLINE(ACLIdent
);
64 #endif /* USE_IDENT */
65 #endif /* SQUID_IDENT_ACLIDENT_H */