]> git.ipfire.org Git - thirdparty/squid.git/blame - src/acl/Certificate.h
SourceFormat Enforcement
[thirdparty/squid.git] / src / acl / Certificate.h
CommitLineData
5dee515e 1/*
4ac4a490 2 * Copyright (C) 1996-2017 The Squid Software Foundation and contributors
5dee515e 3 *
bbc27441
AJ
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.
5dee515e 7 */
8
9#ifndef SQUID_ACLCERTIFICATE_H
10#define SQUID_ACLCERTIFICATE_H
63be0a78 11
127dce76 12#include "acl/Acl.h"
127dce76 13#include "acl/Checklist.h"
602d9612 14#include "acl/Data.h"
127dce76 15#include "acl/Strategised.h"
602d9612 16#include "ssl/support.h"
5dee515e 17
63be0a78 18/// \ingroup ACLAPI
00352183 19class ACLCertificateStrategy : public ACLStrategy<X509 *>
5dee515e 20{
62e76326 21
22public:
33810b1d 23 virtual int match (ACLData<MatchType> * &, ACLFilledChecklist *, ACLFlags &);
5dee515e 24 static ACLCertificateStrategy *Instance();
25 /* Not implemented to prevent copies of the instance. */
26 /* Not private to prevent brain dead g+++ warnings about
27 * private constructors with no friends */
28 ACLCertificateStrategy(ACLCertificateStrategy const &);
62e76326 29
30private:
5dee515e 31 static ACLCertificateStrategy Instance_;
26ac0430 32 ACLCertificateStrategy() {}
62e76326 33
5dee515e 34 ACLCertificateStrategy&operator=(ACLCertificateStrategy const &);
35};
36
63be0a78 37/// \ingroup ACLAPI
62e76326 38class ACLCertificate
39{
40
62e76326 41private:
5dee515e 42 static ACL::Prototype UserRegistryProtoype;
00352183 43 static ACLStrategised<X509*> UserRegistryEntry_;
5dee515e 44 static ACL::Prototype CARegistryProtoype;
00352183 45 static ACLStrategised<X509 *> CARegistryEntry_;
5dee515e 46};
47
48#endif /* SQUID_ACLCERTIFICATE_H */
f53969cc 49