]> git.ipfire.org Git - thirdparty/squid.git/blame - src/acl/ServerCertificate.cc
Centralized PagePool/PageStack ID generation (#525)
[thirdparty/squid.git] / src / acl / ServerCertificate.cc
CommitLineData
8578e64a 1/*
f6e9a3ee 2 * Copyright (C) 1996-2019 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#include "squid.h"
10
cb4f4424 11#if USE_OPENSSL
8578e64a 12
8578e64a 13#include "acl/CertificateData.h"
602d9612
A
14#include "acl/Checklist.h"
15#include "acl/ServerCertificate.h"
8578e64a 16#include "client_side.h"
72b12f9e 17#include "fde.h"
d3dddfb5 18#include "http/Stream.h"
8578e64a
AR
19#include "ssl/ServerBump.h"
20
8578e64a 21int
4eac3407 22ACLServerCertificateStrategy::match(ACLData<MatchType> * &data, ACLFilledChecklist *checklist)
8578e64a 23{
9b630a18
AJ
24 Security::CertPointer cert;
25 if (checklist->serverCert)
26 cert = checklist->serverCert;
8578e64a 27 else if (checklist->conn() != NULL && checklist->conn()->serverBump())
9b630a18 28 cert = checklist->conn()->serverBump()->serverCert;
8578e64a
AR
29
30 if (!cert)
31 return 0;
32
9b630a18 33 return data->match(cert.get());
8578e64a
AR
34}
35
cb4f4424 36#endif /* USE_OPENSSL */
f53969cc 37