From: Igor Sysoev Date: Wed, 11 Jul 2007 07:47:57 +0000 (+0000) Subject: fix segfault when CRAM-MD5 is not enabled but client tries it X-Git-Tag: release-0.6.3~6 X-Git-Url: http://www.kaiwu.me/postgresql/commit/?a=commitdiff_plain;h=a9af7bfada2fbca9b078373fb860e7e72b78d1fe;p=nginx.git fix segfault when CRAM-MD5 is not enabled but client tries it --- diff --git a/src/mail/ngx_mail_handler.c b/src/mail/ngx_mail_handler.c index e41983248..8fee001bb 100644 --- a/src/mail/ngx_mail_handler.c +++ b/src/mail/ngx_mail_handler.c @@ -708,7 +708,10 @@ ngx_pop3_auth_state(ngx_event_t *rev) (u_char *) "CRAM-MD5", 8) == 0) { - if (s->args.nelts != 1) { + if (!(cscf->pop3_auth_methods + & NGX_MAIL_AUTH_CRAM_MD5_ENABLED) + || s->args.nelts != 1) + { rc = NGX_MAIL_PARSE_INVALID_COMMAND; break; } @@ -1368,7 +1371,13 @@ ngx_smtp_auth_state(ngx_event_t *rev) (u_char *) "CRAM-MD5", 8) == 0) { - if (s->args.nelts != 1) { + cscf = ngx_mail_get_module_srv_conf(s, + ngx_mail_core_module); + + if (!(cscf->smtp_auth_methods + & NGX_MAIL_AUTH_CRAM_MD5_ENABLED) + || s->args.nelts != 1) + { rc = NGX_MAIL_PARSE_INVALID_COMMAND; break; }