]>
Commit | Line | Data |
---|---|---|
8578e64a | 1 | /* |
2cd0bda2 | 2 | * Copyright (C) 1996-2017 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. | |
8578e64a AR |
7 | */ |
8 | ||
9 | #ifndef SQUID_ACLSERVERCERTIFICATE_H | |
10 | #define SQUID_ACLSERVERCERTIFICATE_H | |
11 | ||
12 | #include "acl/Acl.h" | |
8578e64a | 13 | #include "acl/Checklist.h" |
602d9612 | 14 | #include "acl/Data.h" |
8578e64a | 15 | #include "acl/Strategised.h" |
602d9612 | 16 | #include "ssl/support.h" |
8578e64a AR |
17 | |
18 | /// \ingroup ACLAPI | |
19 | class ACLServerCertificateStrategy : public ACLStrategy<X509 *> | |
20 | { | |
8578e64a | 21 | public: |
33810b1d | 22 | virtual int match (ACLData<MatchType> * &, ACLFilledChecklist *, ACLFlags &); |
8578e64a AR |
23 | static ACLServerCertificateStrategy *Instance(); |
24 | /* Not implemented to prevent copies of the instance. */ | |
25 | /* Not private to prevent brain dead g+++ warnings about | |
26 | * private constructors with no friends */ | |
27 | ACLServerCertificateStrategy(ACLServerCertificateStrategy const &); | |
28 | ||
29 | private: | |
30 | static ACLServerCertificateStrategy Instance_; | |
31 | ACLServerCertificateStrategy() {} | |
32 | ||
33 | ACLServerCertificateStrategy&operator=(ACLServerCertificateStrategy const &); | |
34 | }; | |
35 | ||
36 | /// \ingroup ACLAPI | |
37 | class ACLServerCertificate | |
38 | { | |
39 | private: | |
40 | static ACL::Prototype X509FingerprintRegistryProtoype; | |
41 | static ACLStrategised<X509*> X509FingerprintRegistryEntry_; | |
42 | }; | |
43 | ||
44 | #endif /* SQUID_ACLSERVERCERTIFICATE_H */ | |
f53969cc | 45 |