mirror of
https://github.com/nginx/nginx.git
synced 2024-12-20 06:03:31 -06:00
create salt just before it will be used
This commit is contained in:
parent
c95d44bb73
commit
945af2aac9
@ -38,13 +38,6 @@ 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);
|
||||
|
||||
if (cscf->imap_auth_methods & NGX_MAIL_AUTH_CRAM_MD5_ENABLED) {
|
||||
if (ngx_mail_salt(s, c, cscf) != NGX_OK) {
|
||||
ngx_mail_session_internal_server_error(s);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
s->out.len = sizeof(imap_greeting) - 1;
|
||||
s->out.data = imap_greeting;
|
||||
|
||||
@ -391,6 +384,12 @@ ngx_mail_imap_authenticate(ngx_mail_session_t *s, ngx_connection_t *c)
|
||||
return NGX_MAIL_PARSE_INVALID_COMMAND;
|
||||
}
|
||||
|
||||
if (s->salt.data == NULL) {
|
||||
if (ngx_mail_salt(s, c, cscf) != NGX_OK) {
|
||||
return NGX_ERROR;
|
||||
}
|
||||
}
|
||||
|
||||
if (ngx_mail_auth_cram_md5_salt(s, c, "+ ", 2) == NGX_OK) {
|
||||
s->mail_state = ngx_imap_auth_cram_md5;
|
||||
return NGX_OK;
|
||||
|
@ -46,13 +46,6 @@ ngx_mail_smtp_init_session(ngx_mail_session_t *s, ngx_connection_t *c)
|
||||
|
||||
cscf = ngx_mail_get_module_srv_conf(s, ngx_mail_core_module);
|
||||
|
||||
if (cscf->smtp_auth_methods & NGX_MAIL_AUTH_CRAM_MD5_ENABLED) {
|
||||
if (ngx_mail_salt(s, c, cscf) != NGX_OK) {
|
||||
ngx_mail_session_internal_server_error(s);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
timeout = cscf->smtp_greeting_delay ? cscf->smtp_greeting_delay:
|
||||
cscf->timeout;
|
||||
ngx_add_timer(c->read, timeout);
|
||||
@ -422,6 +415,12 @@ ngx_mail_smtp_auth(ngx_mail_session_t *s, ngx_connection_t *c)
|
||||
return NGX_MAIL_PARSE_INVALID_COMMAND;
|
||||
}
|
||||
|
||||
if (s->salt.data == NULL) {
|
||||
if (ngx_mail_salt(s, c, cscf) != NGX_OK) {
|
||||
return NGX_ERROR;
|
||||
}
|
||||
}
|
||||
|
||||
if (ngx_mail_auth_cram_md5_salt(s, c, "334 ", 4) == NGX_OK) {
|
||||
s->mail_state = ngx_smtp_auth_cram_md5;
|
||||
return NGX_OK;
|
||||
|
Loading…
Reference in New Issue
Block a user