Mercurial > hg > nginx
comparison src/mail/ngx_mail_handler.c @ 1479:2647950e047f
optimizations
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Thu, 13 Sep 2007 21:24:27 +0000 |
parents | 59e1caf2be94 |
children | a231e37a19ab |
comparison
equal
deleted
inserted
replaced
1478:d0cce8369848 | 1479:2647950e047f |
---|---|
283 | 283 |
284 return NGX_OK; | 284 return NGX_OK; |
285 } | 285 } |
286 | 286 |
287 | 287 |
288 #if (NGX_MAIL_SSL) | |
289 | |
290 ngx_int_t | |
291 ngx_mail_starttls_only(ngx_mail_session_t *s, ngx_connection_t *c) | |
292 { | |
293 ngx_mail_ssl_conf_t *sslcf; | |
294 | |
295 if (c->ssl) { | |
296 return 0; | |
297 } | |
298 | |
299 sslcf = ngx_mail_get_module_srv_conf(s, ngx_mail_ssl_module); | |
300 | |
301 if (sslcf->starttls == NGX_MAIL_STARTTLS_ONLY) { | |
302 return 1; | |
303 } | |
304 | |
305 return 0; | |
306 } | |
307 | |
308 #endif | |
309 | |
310 | |
288 ngx_int_t | 311 ngx_int_t |
289 ngx_mail_auth_plain(ngx_mail_session_t *s, ngx_connection_t *c, ngx_uint_t n) | 312 ngx_mail_auth_plain(ngx_mail_session_t *s, ngx_connection_t *c, ngx_uint_t n) |
290 { | 313 { |
291 u_char *p, *last; | 314 u_char *p, *last; |
292 ngx_str_t *arg, plain; | 315 ngx_str_t *arg, plain; |
399 ngx_log_debug1(NGX_LOG_DEBUG_MAIL, c->log, 0, | 422 ngx_log_debug1(NGX_LOG_DEBUG_MAIL, c->log, 0, |
400 "mail auth login password: \"%V\"", &s->passwd); | 423 "mail auth login password: \"%V\"", &s->passwd); |
401 #endif | 424 #endif |
402 | 425 |
403 return NGX_DONE; | 426 return NGX_DONE; |
427 } | |
428 | |
429 | |
430 ngx_int_t | |
431 ngx_mail_auth_cram_md5_salt(ngx_mail_session_t *s, ngx_connection_t *c, | |
432 char *prefix, size_t len) | |
433 { | |
434 u_char *p; | |
435 ngx_str_t salt; | |
436 ngx_uint_t n; | |
437 | |
438 p = ngx_palloc(c->pool, len + ngx_base64_encoded_length(s->salt.len) + 2); | |
439 if (p == NULL) { | |
440 return NGX_ERROR; | |
441 } | |
442 | |
443 salt.data = ngx_cpymem(p, prefix, len); | |
444 s->salt.len -= 2; | |
445 | |
446 ngx_encode_base64(&salt, &s->salt); | |
447 | |
448 s->salt.len += 2; | |
449 n = len + salt.len; | |
450 p[n++] = CR; p[n++] = LF; | |
451 | |
452 s->out.len = n; | |
453 s->out.data = p; | |
454 | |
455 return NGX_OK; | |
404 } | 456 } |
405 | 457 |
406 | 458 |
407 ngx_int_t | 459 ngx_int_t |
408 ngx_mail_auth_cram_md5(ngx_mail_session_t *s, ngx_connection_t *c) | 460 ngx_mail_auth_cram_md5(ngx_mail_session_t *s, ngx_connection_t *c) |