FilledChecklist.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 1996-2022 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
23class CachePeer;
24class ConnStateData;
25class HttpRequest;
26class HttpReply;
27
33{
35
36public:
38 ACLFilledChecklist(const acl_access *, HttpRequest *, const char *ident = nullptr);
40
42 void setRequest(HttpRequest *);
44 void setIdent(const char *userIdentity);
45
46public:
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 != nullptr; }
67 virtual bool hasReply() const { return reply != nullptr; }
68 virtual bool hasAle() const { return al != nullptr; }
69 virtual void syncAle(HttpRequest *adaptedRequest, const char *logUri) const;
70 virtual void verifyAle() const;
71
72public:
77 char *dst_rdns;
78
81
83#if USE_AUTH
85#endif
86#if SQUID_SNMP
88#endif
89
95
100
102
104
106
107private:
109 int fd_;
116};
117
119inline
121{
122 // this should always be safe because ACLChecklist is an abstract class
123 // and ACLFilledChecklist is its only [concrete] child
124 return dynamic_cast<ACLFilledChecklist*>(checklist);
125}
126
127#endif /* SQUID_ACLFILLED_CHECKLIST_H */
128
ACLFilledChecklist * Filled(ACLChecklist *checklist)
convenience and safety wrapper for dynamic_cast<ACLFilledChecklist*>
#define acl_access
Definition: forward.h:45
CBDATA_CLASS(ACLFilledChecklist)
virtual bool hasAle() const
bool destinationDomainChecked() const
void setIdent(const char *userIdentity)
configure rfc931 user identity for the first time
virtual bool hasRequest() const
ConnStateData * conn_
HttpRequest * request
virtual void syncAle(HttpRequest *adaptedRequest, const char *logUri) const
assigns uninitialized adapted_request and url ALE components
ConnStateData * conn() const
The client connection manager.
const Security::CertErrors * sslErrors
Ip::Address dst_addr
void setRequest(HttpRequest *)
configure client request-related fields for the first time
virtual bool hasReply() const
ACLFilledChecklist(const ACLFilledChecklist &)
not implemented; will cause link failures if used
void setConn(ConnStateData *)
set either conn
Security::CertPointer serverCert
int fd() const
The client side fd. It uses conn() if available.
char rfc931[USER_IDENT_SZ]
Ip::Address src_addr
ACLFilledChecklist & operator=(const ACLFilledChecklist &)
not implemented; will cause link failures if used
void markDestinationDomainChecked()
bool sourceDomainChecked() const
AccessLogEntry::Pointer al
info for the future access.log, and external ACL
Auth::UserRequest::Pointer auth_user_request
virtual void verifyAle() const
warns if there are uninitialized ALE components and fills them
ExternalACLEntryPointer extacl_entry
Definition: SBuf.h:94
#define USER_IDENT_SZ
Definition: defines.h:37
err_type
Definition: forward.h:14

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors