]> git.ipfire.org Git - thirdparty/squid.git/blame - src/ProtoPort.h
SourceLayout: Add Ip namespace for internal libip
[thirdparty/squid.git] / src / ProtoPort.h
CommitLineData
1b26be8f 1/*
262a0e14 2 * $Id$
1b26be8f 3 */
1b26be8f 4#ifndef SQUID_PROTO_PORT_H
5#define SQUID_PROTO_PORT_H
6
7//#include "typedefs.h"
8#include "cbdata.h"
04f55905 9#include "comm/ListenStateData.h"
1b26be8f 10
26ac0430 11struct http_port_list {
1b26be8f 12 http_port_list(const char *aProtocol);
13 ~http_port_list();
14
15 http_port_list *next;
16
b7ac5457 17 Ip::Address s;
1b26be8f 18 char *protocol; /* protocol name */
19 char *name; /* visible name */
20 char *defaultsite; /* default web site */
21
f165d2fb
AJ
22 unsigned int intercepted:1; /**< intercepting proxy port */
23 unsigned int spoof_client_ip:1; /**< spoof client ip if possible */
24 unsigned int accel:1; /**< HTTP accelerator */
7f7bdd96 25 unsigned int allow_direct:1; /**< Allow direct forwarding in accelerator mode */
f165d2fb
AJ
26 unsigned int vhost:1; /**< uses host header */
27 unsigned int sslBump:1; /**< intercepts CONNECT requests */
432bc83c 28 unsigned int ignore_cc:1; /**< Ignore request Cache-Control directives */
1b26be8f 29
30 int vport; /* virtual port support, -1 for dynamic, >0 static*/
d67acb4e 31 bool connection_auth_disabled; /* Don't support connection oriented auth */
1b26be8f 32 int disable_pmtu_discovery;
f1e0717c 33
1b26be8f 34 struct {
26ac0430
AJ
35 unsigned int enabled;
36 unsigned int idle;
37 unsigned int interval;
38 unsigned int timeout;
1b26be8f 39 } tcp_keepalive;
40
04f55905
AJ
41 /**
42 * The FD listening socket handler.
43 * If not NULL we are actively listening for client requests.
44 * delete to close the socket.
45 */
46 Comm::ListenStateData *listener;
47
1b26be8f 48#if USE_SSL
26ac0430
AJ
49 // XXX: temporary hack to ease move of SSL options to http_port
50 http_port_list &http;
1b26be8f 51
52 char *cert;
53 char *key;
54 int version;
55 char *cipher;
56 char *options;
57 char *clientca;
58 char *cafile;
59 char *capath;
60 char *crlfile;
61 char *dhfile;
62 char *sslflags;
63 char *sslcontext;
64 SSL_CTX *sslContext;
65#endif
66
67 CBDATA_CLASS2(http_port_list);
68};
69
70
71#if USE_SSL
72
26ac0430 73struct https_port_list: public http_port_list {
1b26be8f 74 https_port_list();
75};
76
77#endif
78
79#endif /* SQUID_PROTO_PORT_H */