summaryrefslogtreecommitdiffhomepage
path: root/src/mail
diff options
context:
space:
mode:
Diffstat (limited to 'src/mail')
-rw-r--r--src/mail/ngx_mail_auth_http_module.c6
-rw-r--r--src/mail/ngx_mail_imap_handler.c30
-rw-r--r--src/mail/ngx_mail_pop3_handler.c21
-rw-r--r--src/mail/ngx_mail_proxy_module.c9
-rw-r--r--src/mail/ngx_mail_smtp_handler.c73
-rw-r--r--src/mail/ngx_mail_ssl_module.c3
6 files changed, 46 insertions, 96 deletions
diff --git a/src/mail/ngx_mail_auth_http_module.c b/src/mail/ngx_mail_auth_http_module.c
index b9f963578..d54a392ac 100644
--- a/src/mail/ngx_mail_auth_http_module.c
+++ b/src/mail/ngx_mail_auth_http_module.c
@@ -1409,15 +1409,13 @@ ngx_mail_auth_http(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
ahcf->host_header = u.host;
} else {
- ahcf->host_header.len = sizeof("localhost") - 1;
- ahcf->host_header.data = (u_char *) "localhost";
+ ngx_str_set(&ahcf->host_header, "localhost");
}
ahcf->uri = u.uri;
if (ahcf->uri.len == 0) {
- ahcf->uri.len = sizeof("/") - 1;
- ahcf->uri.data = (u_char *) "/";
+ ngx_str_set(&ahcf->uri, "/");
}
return NGX_CONF_OK;
diff --git a/src/mail/ngx_mail_imap_handler.c b/src/mail/ngx_mail_imap_handler.c
index a2e032eff..f15dbec80 100644
--- a/src/mail/ngx_mail_imap_handler.c
+++ b/src/mail/ngx_mail_imap_handler.c
@@ -39,8 +39,7 @@ ngx_mail_imap_init_session(ngx_mail_session_t *s, ngx_connection_t *c)
cscf = ngx_mail_get_module_srv_conf(s, ngx_mail_core_module);
- s->out.len = sizeof(imap_greeting) - 1;
- s->out.data = imap_greeting;
+ ngx_str_set(&s->out, imap_greeting);
c->read->handler = ngx_mail_imap_init_protocol;
@@ -136,8 +135,7 @@ ngx_mail_imap_auth_state(ngx_event_t *rev)
tag = 1;
s->text.len = 0;
- s->out.len = sizeof(imap_ok) - 1;
- s->out.data = imap_ok;
+ ngx_str_set(&s->out, imap_ok);
if (rc == NGX_OK) {
@@ -186,8 +184,7 @@ ngx_mail_imap_auth_state(ngx_event_t *rev)
case NGX_IMAP_LOGOUT:
s->quit = 1;
- s->text.len = sizeof(imap_bye) - 1;
- s->text.data = imap_bye;
+ ngx_str_set(&s->text, imap_bye);
break;
case NGX_IMAP_NOOP:
@@ -208,8 +205,7 @@ ngx_mail_imap_auth_state(ngx_event_t *rev)
rc = ngx_mail_auth_login_username(s, c, 0);
tag = 0;
- s->out.len = sizeof(imap_password) - 1;
- s->out.data = imap_password;
+ ngx_str_set(&s->out, imap_password);
s->mail_state = ngx_imap_auth_login_password;
break;
@@ -229,8 +225,7 @@ ngx_mail_imap_auth_state(ngx_event_t *rev)
} else if (rc == NGX_IMAP_NEXT) {
tag = 0;
- s->out.len = sizeof(imap_next) - 1;
- s->out.data = imap_next;
+ ngx_str_set(&s->out, imap_next);
}
switch (rc) {
@@ -245,16 +240,14 @@ ngx_mail_imap_auth_state(ngx_event_t *rev)
case NGX_MAIL_PARSE_INVALID_COMMAND:
s->state = 0;
- s->out.len = sizeof(imap_invalid_command) - 1;
- s->out.data = imap_invalid_command;
+ ngx_str_set(&s->out, imap_invalid_command);
s->mail_state = ngx_imap_start;
break;
}
if (tag) {
if (s->tag.len == 0) {
- s->tag.len = sizeof(imap_star) - 1;
- s->tag.data = (u_char *) imap_star;
+ ngx_str_set(&s->tag, imap_star);
}
if (s->tagged_line.len < s->tag.len + s->text.len + s->out.len) {
@@ -364,24 +357,21 @@ ngx_mail_imap_authenticate(ngx_mail_session_t *s, ngx_connection_t *c)
case NGX_MAIL_AUTH_LOGIN:
- s->out.len = sizeof(imap_username) - 1;
- s->out.data = imap_username;
+ ngx_str_set(&s->out, imap_username);
s->mail_state = ngx_imap_auth_login_username;
return NGX_OK;
case NGX_MAIL_AUTH_LOGIN_USERNAME:
- s->out.len = sizeof(imap_password) - 1;
- s->out.data = imap_password;
+ ngx_str_set(&s->out, imap_password);
s->mail_state = ngx_imap_auth_login_password;
return ngx_mail_auth_login_username(s, c, 1);
case NGX_MAIL_AUTH_PLAIN:
- s->out.len = sizeof(imap_plain_next) - 1;
- s->out.data = imap_plain_next;
+ ngx_str_set(&s->out, imap_plain_next);
s->mail_state = ngx_imap_auth_plain;
return NGX_OK;
diff --git a/src/mail/ngx_mail_pop3_handler.c b/src/mail/ngx_mail_pop3_handler.c
index d22ba5ebf..56726dbcf 100644
--- a/src/mail/ngx_mail_pop3_handler.c
+++ b/src/mail/ngx_mail_pop3_handler.c
@@ -59,8 +59,7 @@ ngx_mail_pop3_init_session(ngx_mail_session_t *s, ngx_connection_t *c)
s->out.len = p - s->out.data;
} else {
- s->out.len = sizeof(pop3_greeting) - 1;
- s->out.data = pop3_greeting;
+ ngx_str_set(&s->out, pop3_greeting);
}
c->read->handler = ngx_mail_pop3_init_protocol;
@@ -149,8 +148,7 @@ ngx_mail_pop3_auth_state(ngx_event_t *rev)
return;
}
- s->out.len = sizeof(pop3_ok) - 1;
- s->out.data = pop3_ok;
+ ngx_str_set(&s->out, pop3_ok);
if (rc == NGX_OK) {
switch (s->mail_state) {
@@ -226,8 +224,7 @@ ngx_mail_pop3_auth_state(ngx_event_t *rev)
case ngx_pop3_auth_login_username:
rc = ngx_mail_auth_login_username(s, c, 0);
- s->out.len = sizeof(pop3_password) - 1;
- s->out.data = pop3_password;
+ ngx_str_set(&s->out, pop3_password);
s->mail_state = ngx_pop3_auth_login_password;
break;
@@ -259,8 +256,7 @@ ngx_mail_pop3_auth_state(ngx_event_t *rev)
s->mail_state = ngx_pop3_start;
s->state = 0;
- s->out.len = sizeof(pop3_invalid_command) - 1;
- s->out.data = pop3_invalid_command;
+ ngx_str_set(&s->out, pop3_invalid_command);
/* fall through */
@@ -466,24 +462,21 @@ ngx_mail_pop3_auth(ngx_mail_session_t *s, ngx_connection_t *c)
case NGX_MAIL_AUTH_LOGIN:
- s->out.len = sizeof(pop3_username) - 1;
- s->out.data = pop3_username;
+ ngx_str_set(&s->out, pop3_username);
s->mail_state = ngx_pop3_auth_login_username;
return NGX_OK;
case NGX_MAIL_AUTH_LOGIN_USERNAME:
- s->out.len = sizeof(pop3_password) - 1;
- s->out.data = pop3_password;
+ ngx_str_set(&s->out, pop3_password);
s->mail_state = ngx_pop3_auth_login_password;
return ngx_mail_auth_login_username(s, c, 1);
case NGX_MAIL_AUTH_PLAIN:
- s->out.len = sizeof(pop3_next) - 1;
- s->out.data = pop3_next;
+ ngx_str_set(&s->out, pop3_next);
s->mail_state = ngx_pop3_auth_plain;
return NGX_OK;
diff --git a/src/mail/ngx_mail_proxy_module.c b/src/mail/ngx_mail_proxy_module.c
index a3aa5d50d..a7c4b7e48 100644
--- a/src/mail/ngx_mail_proxy_module.c
+++ b/src/mail/ngx_mail_proxy_module.c
@@ -304,8 +304,7 @@ ngx_mail_proxy_pop3_handler(ngx_event_t *rev)
default:
#if (NGX_SUPPRESS_WARN)
- line.len = 0;
- line.data = NULL;
+ ngx_str_null(&line);
#endif
break;
}
@@ -439,8 +438,7 @@ ngx_mail_proxy_imap_handler(ngx_event_t *rev)
default:
#if (NGX_SUPPRESS_WARN)
- line.len = 0;
- line.data = NULL;
+ ngx_str_null(&line);
#endif
break;
}
@@ -664,8 +662,7 @@ ngx_mail_proxy_smtp_handler(ngx_event_t *rev)
default:
#if (NGX_SUPPRESS_WARN)
- line.len = 0;
- line.data = NULL;
+ ngx_str_null(&line);
#endif
break;
}
diff --git a/src/mail/ngx_mail_smtp_handler.c b/src/mail/ngx_mail_smtp_handler.c
index 0bc422a01..0f69ce968 100644
--- a/src/mail/ngx_mail_smtp_handler.c
+++ b/src/mail/ngx_mail_smtp_handler.c
@@ -319,8 +319,7 @@ ngx_mail_smtp_invalid_pipelining(ngx_event_t *rev)
return;
}
- s->out.len = sizeof(smtp_invalid_pipelining) - 1;
- s->out.data = smtp_invalid_pipelining;
+ ngx_str_set(&s->out, smtp_invalid_pipelining);
}
ngx_mail_send(c->write);
@@ -414,8 +413,7 @@ ngx_mail_smtp_auth_state(ngx_event_t *rev)
return;
}
- s->out.len = sizeof(smtp_ok) - 1;
- s->out.data = smtp_ok;
+ ngx_str_set(&s->out, smtp_ok);
if (rc == NGX_OK) {
switch (s->mail_state) {
@@ -435,8 +433,7 @@ ngx_mail_smtp_auth_state(ngx_event_t *rev)
case NGX_SMTP_QUIT:
s->quit = 1;
- s->out.len = sizeof(smtp_bye) - 1;
- s->out.data = smtp_bye;
+ ngx_str_set(&s->out, smtp_bye);
break;
case NGX_SMTP_MAIL:
@@ -456,8 +453,7 @@ ngx_mail_smtp_auth_state(ngx_event_t *rev)
case NGX_SMTP_STARTTLS:
rc = ngx_mail_smtp_starttls(s, c);
- s->out.len = sizeof(smtp_starttls) - 1;
- s->out.data = smtp_starttls;
+ ngx_str_set(&s->out, smtp_starttls);
break;
default:
@@ -470,8 +466,7 @@ ngx_mail_smtp_auth_state(ngx_event_t *rev)
case ngx_smtp_auth_login_username:
rc = ngx_mail_auth_login_username(s, c, 0);
- s->out.len = sizeof(smtp_password) - 1;
- s->out.data = smtp_password;
+ ngx_str_set(&s->out, smtp_password);
s->mail_state = ngx_smtp_auth_login_password;
break;
@@ -502,9 +497,7 @@ ngx_mail_smtp_auth_state(ngx_event_t *rev)
case NGX_MAIL_PARSE_INVALID_COMMAND:
s->mail_state = ngx_smtp_start;
s->state = 0;
-
- s->out.len = sizeof(smtp_invalid_command) - 1;
- s->out.data = smtp_invalid_command;
+ ngx_str_set(&s->out, smtp_invalid_command);
/* fall through */
@@ -529,8 +522,7 @@ ngx_mail_smtp_helo(ngx_mail_session_t *s, ngx_connection_t *c)
ngx_mail_smtp_srv_conf_t *sscf;
if (s->args.nelts != 1) {
- s->out.len = sizeof(smtp_invalid_argument) - 1;
- s->out.data = smtp_invalid_argument;
+ ngx_str_set(&s->out, smtp_invalid_argument);
s->state = 0;
return NGX_OK;
}
@@ -546,10 +538,8 @@ ngx_mail_smtp_helo(ngx_mail_session_t *s, ngx_connection_t *c)
ngx_memcpy(s->smtp_helo.data, arg[0].data, arg[0].len);
- s->smtp_from.len = 0;
- s->smtp_from.data = NULL;
- s->smtp_to.len = 0;
- s->smtp_to.data = NULL;
+ ngx_str_null(&s->smtp_from);
+ ngx_str_null(&s->smtp_to);
sscf = ngx_mail_get_module_srv_conf(s, ngx_mail_smtp_module);
@@ -599,8 +589,7 @@ ngx_mail_smtp_auth(ngx_mail_session_t *s, ngx_connection_t *c)
#endif
if (s->args.nelts == 0) {
- s->out.len = sizeof(smtp_invalid_argument) - 1;
- s->out.data = smtp_invalid_argument;
+ ngx_str_set(&s->out, smtp_invalid_argument);
s->state = 0;
return NGX_OK;
}
@@ -611,24 +600,21 @@ ngx_mail_smtp_auth(ngx_mail_session_t *s, ngx_connection_t *c)
case NGX_MAIL_AUTH_LOGIN:
- s->out.len = sizeof(smtp_username) - 1;
- s->out.data = smtp_username;
+ ngx_str_set(&s->out, smtp_username);
s->mail_state = ngx_smtp_auth_login_username;
return NGX_OK;
case NGX_MAIL_AUTH_LOGIN_USERNAME:
- s->out.len = sizeof(smtp_password) - 1;
- s->out.data = smtp_password;
+ ngx_str_set(&s->out, smtp_password);
s->mail_state = ngx_smtp_auth_login_password;
return ngx_mail_auth_login_username(s, c, 1);
case NGX_MAIL_AUTH_PLAIN:
- s->out.len = sizeof(smtp_next) - 1;
- s->out.data = smtp_next;
+ ngx_str_set(&s->out, smtp_next);
s->mail_state = ngx_smtp_auth_plain;
return NGX_OK;
@@ -673,18 +659,14 @@ ngx_mail_smtp_mail(ngx_mail_session_t *s, ngx_connection_t *c)
if (!(sscf->auth_methods & NGX_MAIL_AUTH_NONE_ENABLED)) {
ngx_mail_smtp_log_rejected_command(s, c, "client was rejected: \"%V\"");
-
- s->out.len = sizeof(smtp_auth_required) - 1;
- s->out.data = smtp_auth_required;
-
+ ngx_str_set(&s->out, smtp_auth_required);
return NGX_OK;
}
/* auth none */
if (s->smtp_from.len) {
- s->out.len = sizeof(smtp_bad_sequence) - 1;
- s->out.data = smtp_bad_sequence;
+ ngx_str_set(&s->out, smtp_bad_sequence);
return NGX_OK;
}
@@ -723,8 +705,7 @@ ngx_mail_smtp_mail(ngx_mail_session_t *s, ngx_connection_t *c)
ngx_log_debug1(NGX_LOG_DEBUG_MAIL, c->log, 0,
"smtp mail from:\"%V\"", &s->smtp_from);
- s->out.len = sizeof(smtp_ok) - 1;
- s->out.data = smtp_ok;
+ ngx_str_set(&s->out, smtp_ok);
return NGX_OK;
}
@@ -738,8 +719,7 @@ ngx_mail_smtp_rcpt(ngx_mail_session_t *s, ngx_connection_t *c)
ngx_uint_t i;
if (s->smtp_from.len == 0) {
- s->out.len = sizeof(smtp_bad_sequence) - 1;
- s->out.data = smtp_bad_sequence;
+ ngx_str_set(&s->out, smtp_bad_sequence);
return NGX_OK;
}
@@ -787,13 +767,9 @@ ngx_mail_smtp_rcpt(ngx_mail_session_t *s, ngx_connection_t *c)
static ngx_int_t
ngx_mail_smtp_rset(ngx_mail_session_t *s, ngx_connection_t *c)
{
- s->smtp_from.len = 0;
- s->smtp_from.data = NULL;
- s->smtp_to.len = 0;
- s->smtp_to.data = NULL;
-
- s->out.len = sizeof(smtp_ok) - 1;
- s->out.data = smtp_ok;
+ ngx_str_null(&s->smtp_from);
+ ngx_str_null(&s->smtp_to);
+ ngx_str_set(&s->out, smtp_ok);
return NGX_OK;
}
@@ -814,12 +790,9 @@ ngx_mail_smtp_starttls(ngx_mail_session_t *s, ngx_connection_t *c)
* obtained from client before STARTTLS.
*/
- s->smtp_helo.len = 0;
- s->smtp_helo.data = NULL;
- s->smtp_from.len = 0;
- s->smtp_from.data = NULL;
- s->smtp_to.len = 0;
- s->smtp_to.data = NULL;
+ ngx_str_null(&s->smtp_helo);
+ ngx_str_null(&s->smtp_from);
+ ngx_str_null(&s->smtp_to);
c->read->handler = ngx_mail_starttls_handler;
return NGX_OK;
diff --git a/src/mail/ngx_mail_ssl_module.c b/src/mail/ngx_mail_ssl_module.c
index 90f2b1b2b..de463e96b 100644
--- a/src/mail/ngx_mail_ssl_module.c
+++ b/src/mail/ngx_mail_ssl_module.c
@@ -163,8 +163,7 @@ ngx_mail_ssl_create_conf(ngx_conf_t *cf)
* scf->certificate = { 0, NULL };
* scf->certificate_key = { 0, NULL };
* scf->dhparam = { 0, NULL };
- * scf->ciphers.len = 0;
- * scf->ciphers.data = NULL;
+ * scf->ciphers = { 0, NULL };
* scf->shm_zone = NULL;
*/