+/*
+ * Copyright (C) 1996-2015 The Squid Software Foundation and contributors
+ *
+ * Squid software is distributed under GPLv2+ license and includes
+ * contributions from numerous individuals and organizations.
+ * Please see the COPYING and CONTRIBUTORS files for details.
+ */
+
#ifndef SQUID_ACLFILLED_CHECKLIST_H
#define SQUID_ACLFILLED_CHECKLIST_H
+#include "AccessLogEntry.h"
#include "acl/Checklist.h"
+#include "acl/forward.h"
+#include "base/CbcPointer.h"
+#include "ip/Address.h"
#if USE_AUTH
#include "auth/UserRequest.h"
#endif
-#if USE_SSL
+#if USE_OPENSSL
#include "ssl/support.h"
#endif
-class ExternalACLEntry;
+class CachePeer;
class ConnStateData;
class HttpRequest;
+class HttpReply;
/** \ingroup ACLAPI
ACLChecklist filled with specific data, representing Squid and transaction
- state for access checks along with some data-specific checking methods */
+ state for access checks along with some data-specific checking methods
+ */
class ACLFilledChecklist: public ACLChecklist
{
-public:
- void *operator new(size_t);
- void operator delete(void *);
+ CBDATA_CLASS(ACLFilledChecklist);
+public:
ACLFilledChecklist();
ACLFilledChecklist(const acl_access *, HttpRequest *, const char *ident);
~ACLFilledChecklist();
Ip::Address src_addr;
Ip::Address dst_addr;
Ip::Address my_addr;
- struct peer *dst_peer;
+ CachePeer *dst_peer;
char *dst_rdns;
HttpRequest *request;
char *snmp_community;
#endif
-#if USE_SSL
+#if USE_OPENSSL
/// SSL [certificate validation] errors, in undefined order
- Ssl::Errors *sslErrors;
+ Ssl::CertErrors *sslErrors;
+ /// The peer certificate
+ Ssl::X509_Pointer serverCert;
#endif
- ExternalACLEntry *extacl_entry;
+ AccessLogEntry::Pointer al; ///< info for the future access.log entry
+
+ ExternalACLEntryPointer extacl_entry;
private:
ConnStateData * conn_; /**< hack for ident and NTLM */
ACLFilledChecklist(const ACLFilledChecklist &);
/// not implemented; will cause link failures if used
ACLFilledChecklist &operator=(const ACLFilledChecklist &);
-
- CBDATA_CLASS(ACLFilledChecklist);
};
/// convenience and safety wrapper for dynamic_cast<ACLFilledChecklist*>
}
#endif /* SQUID_ACLFILLED_CHECKLIST_H */
+