]> git.ipfire.org Git - thirdparty/squid.git/blob - src/acl/ServerCertificate.cc
Added files forgotten during initial import.
[thirdparty/squid.git] / src / acl / ServerCertificate.cc
1 /*
2 * $Id$
3 *
4 */
5
6 #include "squid.h"
7
8 #if USE_SSL
9
10 #include "acl/ServerCertificate.h"
11 #include "acl/Checklist.h"
12 #include "acl/CertificateData.h"
13 #include "fde.h"
14 #include "client_side.h"
15 #include "ssl/ServerBump.h"
16
17
18 int
19 ACLServerCertificateStrategy::match (ACLData<MatchType> * &data, ACLFilledChecklist *checklist)
20 {
21 X509 *cert = NULL;
22 if (checklist->serverCert.get())
23 cert = checklist->serverCert.get();
24 else if (checklist->conn() != NULL && checklist->conn()->serverBump())
25 cert = checklist->conn()->serverBump()->serverCert.get();
26
27 if (!cert)
28 return 0;
29
30 return data->match(cert);
31 }
32
33 ACLServerCertificateStrategy *
34 ACLServerCertificateStrategy::Instance()
35 {
36 return &Instance_;
37 }
38
39 ACLServerCertificateStrategy ACLServerCertificateStrategy::Instance_;
40
41 #endif /* USE_SSL */