FilledChecklist.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 1996-2021 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 "error/forward.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 
42  void setRequest(HttpRequest *);
44  void setIdent(const char *userIdentity);
45 
46 public:
48  ConnStateData * conn() const;
49 
51  int fd() const;
52 
54  void setConn(ConnStateData *);
56  void fd(int aDescriptor);
57 
58  //int authenticated();
59 
60  bool destinationDomainChecked() const;
62  bool sourceDomainChecked() const;
64 
65  // ACLChecklist API
66  virtual bool hasRequest() const { return request != NULL; }
67  virtual bool hasReply() const { return reply != NULL; }
68  virtual bool hasAle() const { return al != NULL; }
69  virtual void syncAle(HttpRequest *adaptedRequest, const char *logUri) const;
70  virtual void verifyAle() const;
71 
72 public:
77  char *dst_rdns;
78 
81 
83 #if USE_AUTH
85 #endif
86 #if SQUID_SNMP
88 #endif
89 
92 
97 
99 
101 
103 
104 private:
106  int fd_;
113 };
114 
116 inline
118 {
119  // this should always be safe because ACLChecklist is an abstract class
120  // and ACLFilledChecklist is its only [concrete] child
121  return dynamic_cast<ACLFilledChecklist*>(checklist);
122 }
123 
124 #endif /* SQUID_ACLFILLED_CHECKLIST_H */
125 
#define USER_IDENT_SZ
Definition: defines.h:37
Ip::Address dst_addr
ExternalACLEntryPointer extacl_entry
Ip::Address src_addr
Definition: SBuf.h:87
AccessLogEntry::Pointer al
info for the future access.log, and external ACL
bool destinationDomainChecked() const
err_type
Definition: forward.h:14
virtual bool hasReply() const
void setIdent(const char *userIdentity)
configure rfc931 user identity for the first time
ConnStateData * conn() const
The client connection manager.
CBDATA_CLASS(ACLFilledChecklist)
Security::CertPointer serverCert
#define NULL
Definition: types.h:166
int fd() const
The client side fd. It uses conn() if available.
virtual bool hasRequest() const
ACLFilledChecklist * Filled(ACLChecklist *checklist)
convenience and safety wrapper for dynamic_cast<ACLFilledChecklist*>
ACLFilledChecklist(const ACLFilledChecklist &)
not implemented; will cause link failures if used
virtual void syncAle(HttpRequest *adaptedRequest, const char *logUri) const
assigns uninitialized adapted_request and url ALE components
HttpRequest * request
char rfc931[USER_IDENT_SZ]
virtual bool hasAle() const
ACLFilledChecklist & operator=(const ACLFilledChecklist &)
not implemented; will cause link failures if used
ConnStateData * conn_
const Security::CertErrors * sslErrors
SSL [certificate validation] errors, in undefined order.
void setConn(ConnStateData *)
set either conn
#define acl_access
Definition: forward.h:45
void setRequest(HttpRequest *)
configure client request-related fields for the first time
virtual void verifyAle() const
warns if there are uninitialized ALE components and fills them
void markDestinationDomainChecked()
Auth::UserRequest::Pointer auth_user_request
bool sourceDomainChecked() const

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors