8 int inbuf_len, outbuf_len;
9 int inbuf_reallen, outbuf_reallen;
13 struct url_command_t {
24 int rm_so, rm_eo, subcount;
25 const char **substrings;
28 typedef struct XML_LIST_T {
29 struct XML_LIST_T *prev, *next;
34 typedef struct STACK_T {
35 struct STACK_T *next, *prev;
39 struct HTTP_HEADER_LIST {
40 struct HTTP_HEADER_LIST *next, *prev;
45 struct LOGBUFFER_LIST {
46 struct LOGBUFFER_LIST *next, *prev;
51 pthread_rwlock_t lock;
53 struct LOGBUFFER_LIST *head, *tail;
72 char *content_encoding;
73 char *accept_encoding;
74 char *proxy_authenticate;
75 char *proxy_authorization;
77 struct url_command_t **url_command;
78 struct HTTP_HEADER_LIST *header;
79 struct HTTP_HEADER_LIST *header_filtered;
92 SOCKET *client, *server;
105 char *proxy_username;
106 char *proxy_password;
110 HEADER *header, *rheader;
116 unsigned int size, realsize;
120 struct COOKIE_LIST_LIST {
121 struct COOKIE_LIST_LIST *prev, *next;
124 char *host, *comment;
129 pthread_rwlock_t lock;
132 struct COOKIE_LIST_LIST *allow, *deny;
135 struct FILTER_LIST_LIST {
136 struct FILTER_LIST_LIST *prev, *next;
138 char *comment, *template, *host, *file;
143 pthread_rwlock_t lock;
147 struct FILTER_LIST_LIST *allow, *deny, *empty;
150 struct KEYWORD_LIST_LIST {
151 struct KEYWORD_LIST_LIST *prev, *next;
154 char *comment, *host, *file, *mime, *keyword;
155 regex_t *he, *fe, *me, *ke;
159 pthread_rwlock_t lock;
163 struct KEYWORD_LIST_LIST *keyword_list;
166 struct REDIRECT_LIST_LIST {
167 struct REDIRECT_LIST_LIST *prev, *next;
169 int which, port, send302, options;
171 char *comment, *redirect, *url;
175 pthread_rwlock_t lock;
177 struct REDIRECT_LIST_LIST *redirect_list;
180 struct FORWARD_LIST_LIST {
181 struct FORWARD_LIST_LIST *prev, *next;
183 int which, port, type;
185 char *comment, *host, *file, *proxy, *username, *password, *domain;
189 pthread_rwlock_t lock;
191 struct FORWARD_LIST_LIST *forward_list;
194 struct MIME_LIST_LIST {
195 struct MIME_LIST_LIST *prev, *next;
197 char *comment, *template, *mime, *host, *file;
198 regex_t *me, *he, *fe;
202 pthread_rwlock_t lock;
206 struct MIME_LIST_LIST *allow, *deny, *empty;
209 struct HEADER_LIST_LIST {
210 struct HEADER_LIST_LIST *prev, *next;
212 char *comment, *type, *value, *host;
213 regex_t *te, *ve, *he;
217 pthread_rwlock_t lock;
220 struct HEADER_LIST_LIST *allow, *deny, *insert;
223 struct ACCESS_LIST_LIST {
224 struct ACCESS_LIST_LIST *prev, *next;
227 char *comment, *ip, *username, *password;
232 pthread_rwlock_t lock;
235 struct ACCESS_LIST_LIST *allow, *deny;
239 pthread_rwlock_t lock;
241 struct LISTEN_LIST *listen_list;
245 struct LISTEN_LIST *prev, *next;
253 struct TEMPLATE_LIST {
254 struct TEMPLATE_LIST *prev, *next;
257 char *comment, *name, *file, *mime;
261 pthread_rwlock_t lock;
264 struct TEMPLATE_LIST *template_list;
267 struct EXTERNAL_LIST_LIST {
268 struct EXTERNAL_LIST_LIST *prev, *next;
270 regex_t *me, *fe, *he;
272 char *comment, *exec, *newmime, *host, *file, *mime;
276 pthread_rwlock_t lock;
278 struct EXTERNAL_LIST_LIST *external_list;
281 struct REWRITE_LIST_LIST {
282 struct REWRITE_LIST_LIST *prev, *next;
285 regex_t *he, *fe, *me;
287 char *comment, *pattern, *replace, *host, *file, *mime;
291 pthread_rwlock_t lock;
293 struct REWRITE_LIST_LIST *rewrite;
297 struct in_addr *addr;
302 struct HASH_LIST *next;
312 struct HASH_LIST **hash_list;
316 pthread_mutex_t lock;
319 char *ip, *host, *file, *method;
324 struct cgi_args_t *next;