FilledChecklist.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 1996-2017 The Squid Software Foundation and contributors
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.
7  */
8 
9 #ifndef SQUID_ACLFILLED_CHECKLIST_H
10 #define SQUID_ACLFILLED_CHECKLIST_H
11 
12 #include "AccessLogEntry.h"
13 #include "acl/Checklist.h"
14 #include "acl/forward.h"
15 #include "base/CbcPointer.h"
16 #include "err_type.h"
17 #include "ip/Address.h"
18 #if USE_AUTH
19 #include "auth/UserRequest.h"
20 #endif
21 #include "security/CertError.h"
22 
23 class CachePeer;
24 class ConnStateData;
25 class HttpRequest;
26 class HttpReply;
27 
33 {
35 
36 public:
38  ACLFilledChecklist(const acl_access *, HttpRequest *, const char *ident = nullptr);
40 
41 public:
43  ConnStateData * conn() const;
44 
46  int fd() const;
47 
49  void conn(ConnStateData *);
51  void fd(int aDescriptor);
52 
53  //int authenticated();
54 
55  bool destinationDomainChecked() const;
57  bool sourceDomainChecked() const;
59 
60  // ACLChecklist API
61  virtual bool hasRequest() const { return request != NULL; }
62  virtual bool hasReply() const { return reply != NULL; }
63  virtual bool hasAle() const { return al != NULL; }
64  virtual void syncAle() const;
65 
66 public:
71  char *dst_rdns;
72 
75 
77 #if USE_AUTH
79 #endif
80 #if SQUID_SNMP
82 #endif
83 
87  Security::CertPointer serverCert;
88 
90 
92 
94 
95 private:
97  int fd_;
104 };
105 
107 inline
109 {
110  // this should always be safe because ACLChecklist is an abstract class
111  // and ACLFilledChecklist is its only [concrete] child
112  return dynamic_cast<ACLFilledChecklist*>(checklist);
113 }
114 
115 #endif /* SQUID_ACLFILLED_CHECKLIST_H */
116 
bool sourceDomainChecked() const
virtual bool hasRequest() const
Ip::Address dst_addr
Definition: SBuf.h:87
ExternalACLEntryPointer extacl_entry
Ip::Address src_addr
ACLFilledChecklist * Filled(ACLChecklist *checklist)
convenience and safety wrapper for dynamic_cast<ACLFilledChecklist*>
AccessLogEntry::Pointer al
info for the future access.log, and external ACL
ConnStateData * conn() const
The client connection manager.
bool destinationDomainChecked() const
CBDATA_CLASS(ACLFilledChecklist)
#define USER_IDENT_SZ
Definition: defines.h:60
Security::CertPointer serverCert
The peer certificate.
int fd() const
The client side fd. It uses conn() if available.
char rfc931[USER_IDENT_SZ]
virtual bool hasAle() const
ACLFilledChecklist & operator=(const ACLFilledChecklist &)
not implemented; will cause link failures if used
HttpRequest * request
ConnStateData * conn_
const Security::CertErrors * sslErrors
SSL [certificate validation] errors, in undefined order.
void markDestinationDomainChecked()
#define acl_access
Definition: forward.h:44
virtual bool hasReply() const
virtual void syncAle() const
#define NULL
Definition: types.h:166
Auth::UserRequest::Pointer auth_user_request
err_type
Definition: err_type.h:12

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors