comparison src/mail/ngx_mail_smtp_handler.c @ 1485:b3488fc2675a

create salt just before it will be used
author Igor Sysoev <igor@sysoev.ru>
date Fri, 14 Sep 2007 15:00:19 +0000
parents c788d2b877be
children 0e7074ef7303
comparison
equal deleted inserted replaced
1484:c788d2b877be 1485:b3488fc2675a
44 ngx_msec_t timeout; 44 ngx_msec_t timeout;
45 ngx_mail_core_srv_conf_t *cscf; 45 ngx_mail_core_srv_conf_t *cscf;
46 46
47 cscf = ngx_mail_get_module_srv_conf(s, ngx_mail_core_module); 47 cscf = ngx_mail_get_module_srv_conf(s, ngx_mail_core_module);
48 48
49 if (cscf->smtp_auth_methods & NGX_MAIL_AUTH_CRAM_MD5_ENABLED) {
50 if (ngx_mail_salt(s, c, cscf) != NGX_OK) {
51 ngx_mail_session_internal_server_error(s);
52 return;
53 }
54 }
55
56 timeout = cscf->smtp_greeting_delay ? cscf->smtp_greeting_delay: 49 timeout = cscf->smtp_greeting_delay ? cscf->smtp_greeting_delay:
57 cscf->timeout; 50 cscf->timeout;
58 ngx_add_timer(c->read, timeout); 51 ngx_add_timer(c->read, timeout);
59 52
60 if (ngx_handle_read_event(c->read, 0) == NGX_ERROR) { 53 if (ngx_handle_read_event(c->read, 0) == NGX_ERROR) {
420 413
421 if (!(cscf->smtp_auth_methods & NGX_MAIL_AUTH_CRAM_MD5_ENABLED)) { 414 if (!(cscf->smtp_auth_methods & NGX_MAIL_AUTH_CRAM_MD5_ENABLED)) {
422 return NGX_MAIL_PARSE_INVALID_COMMAND; 415 return NGX_MAIL_PARSE_INVALID_COMMAND;
423 } 416 }
424 417
418 if (s->salt.data == NULL) {
419 if (ngx_mail_salt(s, c, cscf) != NGX_OK) {
420 return NGX_ERROR;
421 }
422 }
423
425 if (ngx_mail_auth_cram_md5_salt(s, c, "334 ", 4) == NGX_OK) { 424 if (ngx_mail_auth_cram_md5_salt(s, c, "334 ", 4) == NGX_OK) {
426 s->mail_state = ngx_smtp_auth_cram_md5; 425 s->mail_state = ngx_smtp_auth_cram_md5;
427 return NGX_OK; 426 return NGX_OK;
428 } 427 }
429 428