comparison src/imap/ngx_imap.h @ 132:91372f004adf NGINX_0_3_13

nginx 0.3.13 *) Feature: the IMAP/POP3 proxy supports STARTTLS and STLS. *) Bugfix: the IMAP/POP3 proxy did not work with the select, poll, and /dev/poll methods. *) Bugfix: in SSI handling. *) Bugfix: now Solaris sendfilev() is not used to transfer the client request body to FastCGI-server via the unix domain socket. *) Bugfix: the "auth_basic" directive did not disable the authorization; bug appeared in 0.3.11.
author Igor Sysoev <http://sysoev.ru>
date Mon, 05 Dec 2005 00:00:00 +0300
parents e85dca77c46a
children 3656228c0b56
comparison
equal deleted inserted replaced
131:add6b1e86d38 132:91372f004adf
18 #endif 18 #endif
19 19
20 20
21 21
22 typedef struct { 22 typedef struct {
23 void **main_conf; 23 void **main_conf;
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 ngx_array_t servers; /* ngx_imap_core_srv_conf_t */
30 } ngx_imap_core_main_conf_t; 30 } ngx_imap_core_main_conf_t;
31 31
32 32
33 #define NGX_IMAP_POP3_PROTOCOL 0 33 #define NGX_IMAP_POP3_PROTOCOL 0
34 #define NGX_IMAP_IMAP_PROTOCOL 1 34 #define NGX_IMAP_IMAP_PROTOCOL 1
35 35
36 typedef struct { 36 typedef struct {
37 ngx_msec_t timeout; 37 ngx_msec_t timeout;
38 38
39 size_t imap_client_buffer_size; 39 size_t imap_client_buffer_size;
40 40
41 ngx_uint_t protocol; 41 ngx_uint_t protocol;
42 42
43 ngx_buf_t *pop3_capability; 43 ngx_str_t pop3_capability;
44 ngx_buf_t *imap_capability; 44 ngx_str_t pop3_starttls_capability;
45 45 ngx_str_t imap_capability;
46 ngx_array_t pop3_capabilities; 46 ngx_str_t imap_starttls_capability;
47 ngx_array_t imap_capabilities; 47 ngx_str_t imap_starttls_only_capability;
48
49 ngx_array_t pop3_capabilities;
50 ngx_array_t imap_capabilities;
48 51
49 /* server ctx */ 52 /* server ctx */
50 ngx_imap_conf_ctx_t *ctx; 53 ngx_imap_conf_ctx_t *ctx;
51 } ngx_imap_core_srv_conf_t; 54 } ngx_imap_core_srv_conf_t;
52 55
53 56
54 typedef struct { 57 typedef struct {
55 void *(*create_main_conf)(ngx_conf_t *cf); 58 void *(*create_main_conf)(ngx_conf_t *cf);
56 char *(*init_main_conf)(ngx_conf_t *cf, void *conf); 59 char *(*init_main_conf)(ngx_conf_t *cf, void *conf);
57 60
58 void *(*create_srv_conf)(ngx_conf_t *cf); 61 void *(*create_srv_conf)(ngx_conf_t *cf);
59 char *(*merge_srv_conf)(ngx_conf_t *cf, void *prev, void *conf); 62 char *(*merge_srv_conf)(ngx_conf_t *cf, void *prev,
63 void *conf);
60 } ngx_imap_module_t; 64 } ngx_imap_module_t;
61 65
62 66
63 typedef enum { 67 typedef enum {
64 ngx_imap_start = 0, 68 ngx_imap_start = 0,
124 ngx_uint_t literal_len; 128 ngx_uint_t literal_len;
125 } ngx_imap_session_t; 129 } ngx_imap_session_t;
126 130
127 131
128 typedef struct { 132 typedef struct {
129 ngx_str_t *client; 133 ngx_str_t *client;
130 ngx_imap_session_t *session; 134 ngx_imap_session_t *session;
131 } ngx_imap_log_ctx_t; 135 } ngx_imap_log_ctx_t;
132 136
133 137
134 #define NGX_POP3_USER 1 138 #define NGX_POP3_USER 1
135 #define NGX_POP3_PASS 2 139 #define NGX_POP3_PASS 2
136 #define NGX_POP3_CAPA 3 140 #define NGX_POP3_CAPA 3
137 #define NGX_POP3_QUIT 4 141 #define NGX_POP3_QUIT 4
138 #define NGX_POP3_NOOP 5 142 #define NGX_POP3_NOOP 5
139 #define NGX_POP3_APOP 6 143 #define NGX_POP3_STLS 6
140 #define NGX_POP3_STAT 7 144 #define NGX_POP3_APOP 7
141 #define NGX_POP3_LIST 8 145 #define NGX_POP3_STAT 8
142 #define NGX_POP3_RETR 9 146 #define NGX_POP3_LIST 9
143 #define NGX_POP3_DELE 10 147 #define NGX_POP3_RETR 10
144 #define NGX_POP3_RSET 11 148 #define NGX_POP3_DELE 11
145 #define NGX_POP3_TOP 12 149 #define NGX_POP3_RSET 12
146 #define NGX_POP3_UIDL 13 150 #define NGX_POP3_TOP 13
151 #define NGX_POP3_UIDL 14
147 152
148 153
149 #define NGX_IMAP_LOGIN 1 154 #define NGX_IMAP_LOGIN 1
150 #define NGX_IMAP_LOGOUT 2 155 #define NGX_IMAP_LOGOUT 2
151 #define NGX_IMAP_CAPABILITY 3 156 #define NGX_IMAP_CAPABILITY 3
152 #define NGX_IMAP_NOOP 4 157 #define NGX_IMAP_NOOP 4
153 158 #define NGX_IMAP_STARTTLS 5
154 #define NGX_IMAP_NEXT 5 159
160 #define NGX_IMAP_NEXT 6
155 161
156 162
157 #define NGX_IMAP_PARSE_INVALID_COMMAND 20 163 #define NGX_IMAP_PARSE_INVALID_COMMAND 20
158 164
159 165