]>
Commit | Line | Data |
---|---|---|
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 | 11 | struct 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 | 73 | struct https_port_list: public http_port_list { |
1b26be8f | 74 | https_port_list(); |
75 | }; | |
76 | ||
77 | #endif | |
78 | ||
79 | #endif /* SQUID_PROTO_PORT_H */ |