Mercurial > hg > nginx
diff src/mail/ngx_mail.h @ 1476:67578e966dcc
split pop3, imap, and smtp handlers
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Thu, 13 Sep 2007 20:13:18 +0000 |
parents | c4b2c893989d |
children | 59e1caf2be94 |
line wrap: on
line diff
--- a/src/mail/ngx_mail.h Tue Sep 11 13:21:30 2007 +0000 +++ b/src/mail/ngx_mail.h Thu Sep 13 20:13:18 2007 +0000 @@ -196,6 +196,7 @@ ngx_str_t salt; ngx_str_t tag; ngx_str_t tagged_line; + ngx_str_t text; ngx_str_t *addr_text; ngx_str_t smtp_helo; @@ -303,14 +304,48 @@ #define ngx_mail_conf_get_module_srv_conf(cf, module) \ ((ngx_mail_conf_ctx_t *) cf->ctx)->srv_conf[module.ctx_index] +typedef void (*ngx_mail_init_session_pt)(ngx_mail_session_t *s, + ngx_connection_t *c); +typedef void (*ngx_mail_init_protocol_pt)(ngx_event_t *rev); +typedef ngx_int_t (*ngx_mail_parse_pt)(ngx_mail_session_t *s); + + +#if (NGX_MAIL_SSL) +void ngx_mail_starttls_handler(ngx_event_t *rev); +#endif + void ngx_mail_init_connection(ngx_connection_t *c); -void ngx_mail_send(ngx_event_t *wev); + void ngx_pop3_auth_state(ngx_event_t *rev); void ngx_imap_auth_state(ngx_event_t *rev); void ngx_smtp_auth_state(ngx_event_t *rev); + +ngx_int_t ngx_mail_salt(ngx_mail_session_t *s, ngx_connection_t *c, + ngx_mail_core_srv_conf_t *cscf); +ngx_int_t ngx_mail_auth_plain(ngx_mail_session_t *s, ngx_connection_t *c, + ngx_uint_t n); +ngx_int_t ngx_mail_auth_login_username(ngx_mail_session_t *s, + ngx_connection_t *c); +ngx_int_t ngx_mail_auth_login_password(ngx_mail_session_t *s, + ngx_connection_t *c); +ngx_int_t ngx_mail_auth_cram_md5(ngx_mail_session_t *s, ngx_connection_t *c); + +void ngx_mail_send(ngx_event_t *wev); +ngx_int_t ngx_mail_read_command(ngx_mail_session_t *s); +void ngx_mail_auth(ngx_mail_session_t *s); void ngx_mail_close_connection(ngx_connection_t *c); void ngx_mail_session_internal_server_error(ngx_mail_session_t *s); +u_char *ngx_mail_log_error(ngx_log_t *log, u_char *buf, size_t len); + + +void ngx_mail_pop3_init_session(ngx_mail_session_t *s, ngx_connection_t *c); +void ngx_mail_imap_init_session(ngx_mail_session_t *s, ngx_connection_t *c); +void ngx_mail_smtp_init_session(ngx_mail_session_t *s, ngx_connection_t *c); + +void ngx_mail_pop3_init_protocol(ngx_event_t *rev); +void ngx_mail_imap_init_protocol(ngx_event_t *rev); +void ngx_mail_smtp_init_protocol(ngx_event_t *rev); ngx_int_t ngx_pop3_parse_command(ngx_mail_session_t *s); ngx_int_t ngx_imap_parse_command(ngx_mail_session_t *s);