Mercurial > hg > nginx-vendor-1-0
comparison src/imap/ngx_imap.h @ 190:3689cd4e3228 NGINX_0_3_42
nginx 0.3.42
*) Feature: the "bind" option of the "listen" directive in IMAP/POP3
proxy.
*) Bugfix: if the same capture in the "rewrite" directive was used more
then once.
*) Bugfix: the $sent_http_content_type, $sent_http_content_length,
$sent_http_last_modified, $sent_http_connection,
$sent_http_keep_alive, and $sent_http_transfer_encoding variables
were not written to access log.
*) Bugfix: the $sent_http_cache_control returned value of the single
"Cache-Control" response header line.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Wed, 26 Apr 2006 00:00:00 +0400 |
parents | 3656228c0b56 |
children | 56688ed172c8 |
comparison
equal
deleted
inserted
replaced
189:fca7768a4aca | 190:3689cd4e3228 |
---|---|
24 void **srv_conf; | 24 void **srv_conf; |
25 } ngx_imap_conf_ctx_t; | 25 } ngx_imap_conf_ctx_t; |
26 | 26 |
27 | 27 |
28 typedef struct { | 28 typedef struct { |
29 ngx_array_t servers; /* ngx_imap_core_srv_conf_t */ | 29 in_addr_t addr; |
30 in_port_t port; | |
31 int family; | |
32 | |
33 /* server ctx */ | |
34 ngx_imap_conf_ctx_t *ctx; | |
35 | |
36 unsigned bind:1; | |
37 } ngx_imap_listen_t; | |
38 | |
39 | |
40 typedef struct { | |
41 in_addr_t addr; | |
42 ngx_imap_conf_ctx_t *ctx; | |
43 ngx_str_t addr_text; | |
44 } ngx_imap_in_addr_t; | |
45 | |
46 | |
47 typedef struct { | |
48 ngx_imap_in_addr_t *addrs; /* array of ngx_imap_in_addr_t */ | |
49 ngx_uint_t naddrs; | |
50 } ngx_imap_in_port_t; | |
51 | |
52 | |
53 typedef struct { | |
54 in_port_t port; | |
55 ngx_array_t addrs; /* array of ngx_imap_conf_in_addr_t */ | |
56 } ngx_imap_conf_in_port_t; | |
57 | |
58 | |
59 typedef struct { | |
60 in_addr_t addr; | |
61 ngx_imap_conf_ctx_t *ctx; | |
62 unsigned bind:1; | |
63 } ngx_imap_conf_in_addr_t; | |
64 | |
65 | |
66 typedef struct { | |
67 ngx_array_t servers; /* ngx_imap_core_srv_conf_t */ | |
68 ngx_array_t listen; /* ngx_imap_listen_t */ | |
30 } ngx_imap_core_main_conf_t; | 69 } ngx_imap_core_main_conf_t; |
31 | 70 |
32 | 71 |
33 #define NGX_IMAP_POP3_PROTOCOL 0 | 72 #define NGX_IMAP_POP3_PROTOCOL 0 |
34 #define NGX_IMAP_IMAP_PROTOCOL 1 | 73 #define NGX_IMAP_IMAP_PROTOCOL 1 |
50 | 89 |
51 ngx_array_t pop3_capabilities; | 90 ngx_array_t pop3_capabilities; |
52 ngx_array_t imap_capabilities; | 91 ngx_array_t imap_capabilities; |
53 | 92 |
54 /* server ctx */ | 93 /* server ctx */ |
55 ngx_imap_conf_ctx_t *ctx; | 94 ngx_imap_conf_ctx_t *ctx; |
56 } ngx_imap_core_srv_conf_t; | 95 } ngx_imap_core_srv_conf_t; |
57 | 96 |
58 | 97 |
59 typedef struct { | 98 typedef struct { |
60 void *(*create_main_conf)(ngx_conf_t *cf); | 99 void *(*create_main_conf)(ngx_conf_t *cf); |
107 unsigned quit:1; | 146 unsigned quit:1; |
108 unsigned protocol:1; | 147 unsigned protocol:1; |
109 unsigned quoted:1; | 148 unsigned quoted:1; |
110 unsigned backslash:1; | 149 unsigned backslash:1; |
111 unsigned no_sync_literal:1; | 150 unsigned no_sync_literal:1; |
151 unsigned starttls:1; | |
112 | 152 |
113 ngx_str_t login; | 153 ngx_str_t login; |
114 ngx_str_t passwd; | 154 ngx_str_t passwd; |
115 | 155 |
116 ngx_str_t tag; | 156 ngx_str_t tag; |
117 ngx_str_t tagged_line; | 157 ngx_str_t tagged_line; |
158 | |
159 ngx_str_t *addr_text; | |
118 | 160 |
119 ngx_uint_t command; | 161 ngx_uint_t command; |
120 ngx_array_t args; | 162 ngx_array_t args; |
121 | 163 |
122 ngx_uint_t login_attempt; | 164 ngx_uint_t login_attempt; |
182 | 224 |
183 #define ngx_imap_get_module_main_conf(s, module) \ | 225 #define ngx_imap_get_module_main_conf(s, module) \ |
184 (s)->main_conf[module.ctx_index] | 226 (s)->main_conf[module.ctx_index] |
185 #define ngx_imap_get_module_srv_conf(s, module) (s)->srv_conf[module.ctx_index] | 227 #define ngx_imap_get_module_srv_conf(s, module) (s)->srv_conf[module.ctx_index] |
186 | 228 |
229 #define ngx_imap_conf_get_module_main_conf(cf, module) \ | |
230 ((ngx_imap_conf_ctx_t *) cf->ctx)->main_conf[module.ctx_index] | |
231 | |
187 | 232 |
188 void ngx_imap_init_connection(ngx_connection_t *c); | 233 void ngx_imap_init_connection(ngx_connection_t *c); |
189 void ngx_imap_send(ngx_event_t *wev); | 234 void ngx_imap_send(ngx_event_t *wev); |
190 void ngx_imap_auth_state(ngx_event_t *rev); | 235 void ngx_imap_auth_state(ngx_event_t *rev); |
191 void ngx_pop3_auth_state(ngx_event_t *rev); | 236 void ngx_pop3_auth_state(ngx_event_t *rev); |