PortCfg.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 1996-2023 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_ANYP_PORTCFG_H
10#define SQUID_ANYP_PORTCFG_H
11
12#include "anyp/forward.h"
14#include "anyp/TrafficMode.h"
15#include "base/CodeContext.h"
16#include "comm/Connection.h"
17#include "comm/Tcp.h"
18#include "sbuf/SBuf.h"
20
21namespace AnyP
22{
23
24class PortCfg : public CodeContext
25{
26public:
27 PortCfg();
28 // no public copying/moving but see ipV4clone()
29 PortCfg(PortCfg &&) = delete;
30 ~PortCfg() override;
31
33 PortCfg *ipV4clone() const;
34
35 /* CodeContext API */
36 ScopedId codeContextGist() const override;
37 std::ostream &detailCodeContext(std::ostream &os) const override;
38
40
43 char *name; /* visible name */
44 char *defaultsite; /* default web site */
45
47
49 bool vhost;
51 bool ignore_cc;
52
54
56
57 int vport;
60
62
69
72
73private:
74 explicit PortCfg(const PortCfg &other); // for ipV4clone() needs only!
75};
76
77} // namespace AnyP
78
81
84
85#if !defined(MAXTCPLISTENPORTS)
86// Max number of TCP listening ports
87#define MAXTCPLISTENPORTS 128
88#endif
89
90// TODO: kill this global array. Need to check performance of array vs list though.
91extern int NHttpSockets;
93
94#endif /* SQUID_ANYP_PORTCFG_H */
95
int NHttpSockets
Definition: PortCfg.cc:25
AnyP::PortCfgPointer FtpPortList
list of Squid ftp_port configured
Definition: PortCfg.cc:23
int HttpSockets[MAXTCPLISTENPORTS]
Definition: PortCfg.cc:26
AnyP::PortCfgPointer HttpPortList
list of Squid http(s)_port configured
Definition: PortCfg.cc:22
#define MAXTCPLISTENPORTS
Definition: PortCfg.h:87
bool ftp_track_dirs
whether transactions should track FTP directories
Definition: PortCfg.h:55
Comm::TcpKeepAlive tcp_keepalive
Definition: PortCfg.h:61
bool ignore_cc
Ignore request Cache-Control directives.
Definition: PortCfg.h:51
PortCfgPointer next
Definition: PortCfg.h:39
PortCfg(PortCfg &&)=delete
Security::ServerOptions secure
TLS configuration options for this listening port.
Definition: PortCfg.h:71
int disable_pmtu_discovery
Definition: PortCfg.h:58
char * defaultsite
Definition: PortCfg.h:44
AnyP::ProtocolVersion transport
transport protocol and version received by this port
Definition: PortCfg.h:42
PortCfg * ipV4clone() const
creates the same port configuration but listening on any IPv4 address
Definition: PortCfg.cc:85
bool connection_auth_disabled
Don't support connection oriented auth.
Definition: PortCfg.h:53
Ip::Address s
Definition: PortCfg.h:41
char * name
Definition: PortCfg.h:43
bool vhost
uses host header
Definition: PortCfg.h:49
bool workerQueues
whether listening queues should be worker-specific
Definition: PortCfg.h:59
ScopedId codeContextGist() const override
Definition: PortCfg.cc:95
TrafficMode flags
flags indicating what type of traffic to expect via this port.
Definition: PortCfg.h:46
bool allow_direct
Allow direct forwarding in accelerator mode.
Definition: PortCfg.h:48
~PortCfg() override
Definition: PortCfg.cc:48
std::ostream & detailCodeContext(std::ostream &os) const override
appends human-friendly context description line(s) to a cache.log record
Definition: PortCfg.cc:103
Comm::ConnectionPointer listenConn
Definition: PortCfg.h:68
int vport
virtual port support. -1 if dynamic, >0 static
Definition: PortCfg.h:57
bool actAsOrigin
update replies to conform with RFC 2616
Definition: PortCfg.h:50
Configuration settings for the TCP keep-alive feature.
Definition: Tcp.h:17
TLS squid.conf settings for a listening port.
Definition: ServerOptions.h:26
Definition: forward.h:15

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors