6 int inbuf_len, outbuf_len;
7 int inbuf_reallen, outbuf_reallen;
11 struct url_command_t {
22 int rm_so, rm_eo, subcount;
23 const char **substrings;
26 typedef struct XML_LIST_T {
27 struct XML_LIST_T *prev, *next;
32 typedef struct STACK_T {
33 struct STACK_T *next, *prev;
37 struct HTTP_HEADER_LIST {
38 struct HTTP_HEADER_LIST *next, *prev;
43 struct LOGBUFFER_LIST {
44 struct LOGBUFFER_LIST *next, *prev;
49 pthread_rwlock_t lock;
51 struct LOGBUFFER_LIST *head, *tail;
70 char *content_encoding;
71 char *accept_encoding;
72 char *proxy_authenticate;
73 char *proxy_authorization;
75 struct url_command_t **url_command;
76 struct HTTP_HEADER_LIST *header;
77 struct HTTP_HEADER_LIST *header_filtered;
90 SOCKET *client, *server;
103 char *proxy_username;
104 char *proxy_password;
108 HEADER *header, *rheader;
114 unsigned int size, realsize;
118 struct COOKIE_LIST_LIST {
119 struct COOKIE_LIST_LIST *prev, *next;
122 char *host, *comment;
127 pthread_rwlock_t lock;
130 struct COOKIE_LIST_LIST *allow, *deny;
133 struct FILTER_LIST_LIST {
134 struct FILTER_LIST_LIST *prev, *next;
136 char *comment, *template, *host, *file;
141 pthread_rwlock_t lock;
145 struct FILTER_LIST_LIST *allow, *deny, *empty;
148 struct KEYWORD_LIST_LIST {
149 struct KEYWORD_LIST_LIST *prev, *next;
152 char *comment, *host, *file, *mime, *keyword;
153 regex_t *he, *fe, *me, *ke;
157 pthread_rwlock_t lock;
161 struct KEYWORD_LIST_LIST *keyword_list;
164 struct REDIRECT_LIST_LIST {
165 struct REDIRECT_LIST_LIST *prev, *next;
167 int which, port, send302, options;
169 char *comment, *redirect, *url;
173 pthread_rwlock_t lock;
175 struct REDIRECT_LIST_LIST *redirect_list;
178 struct FORWARD_LIST_LIST {
179 struct FORWARD_LIST_LIST *prev, *next;
181 int which, port, type;
183 char *comment, *host, *file, *proxy, *username, *password, *domain;
187 pthread_rwlock_t lock;
189 struct FORWARD_LIST_LIST *forward_list;
192 struct MIME_LIST_LIST {
193 struct MIME_LIST_LIST *prev, *next;
195 char *comment, *template, *mime, *host, *file;
196 regex_t *me, *he, *fe;
200 pthread_rwlock_t lock;
204 struct MIME_LIST_LIST *allow, *deny, *empty;
207 struct HEADER_LIST_LIST {
208 struct HEADER_LIST_LIST *prev, *next;
210 char *comment, *type, *value, *host;
211 regex_t *te, *ve, *he;
215 pthread_rwlock_t lock;
218 struct HEADER_LIST_LIST *allow, *deny, *insert;
221 struct ACCESS_LIST_LIST {
222 struct ACCESS_LIST_LIST *prev, *next;
225 char *comment, *ip, *username, *password;
230 pthread_rwlock_t lock;
233 struct ACCESS_LIST_LIST *allow, *deny;
237 pthread_rwlock_t lock;
239 struct LISTEN_LIST *listen_list;
243 struct LISTEN_LIST *prev, *next;
251 struct TEMPLATE_LIST {
252 struct TEMPLATE_LIST *prev, *next;
255 char *comment, *name, *file, *mime;
259 pthread_rwlock_t lock;
262 struct TEMPLATE_LIST *template_list;
265 struct EXTERNAL_LIST_LIST {
266 struct EXTERNAL_LIST_LIST *prev, *next;
268 regex_t *me, *fe, *he;
270 char *comment, *exec, *newmime, *host, *file, *mime;
274 pthread_rwlock_t lock;
276 struct EXTERNAL_LIST_LIST *external_list;
279 struct REWRITE_LIST_LIST {
280 struct REWRITE_LIST_LIST *prev, *next;
283 regex_t *he, *fe, *me;
285 char *comment, *pattern, *replace, *host, *file, *mime;
289 pthread_rwlock_t lock;
291 struct REWRITE_LIST_LIST *rewrite;
295 struct in_addr *addr;
300 struct HASH_LIST *next;
310 struct HASH_LIST **hash_list;
314 pthread_mutex_t lock;
317 char *ip, *host, *file, *method;
322 struct cgi_args_t *next;