Mercurial > hg > nginx
comparison src/imap/ngx_imap_auth_http_module.c @ 809:da9c1521319d
AUTH PLAIN LOGIN CRAM-MD5
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Tue, 24 Oct 2006 18:38:31 +0000 |
parents | 8ee450f30c25 |
children | 1673f197bc62 |
comparison
equal
deleted
inserted
replaced
808:eef6d9cc45da | 809:da9c1521319d |
---|---|
131 }; | 131 }; |
132 | 132 |
133 | 133 |
134 static char *ngx_imap_auth_http_protocol[] = { "pop3", "imap" }; | 134 static char *ngx_imap_auth_http_protocol[] = { "pop3", "imap" }; |
135 static ngx_str_t ngx_imap_auth_http_method[] = { | 135 static ngx_str_t ngx_imap_auth_http_method[] = { |
136 ngx_string("plain"), ngx_string("apop") | 136 ngx_string("plain"), |
137 ngx_string("apop"), | |
138 ngx_string("cram-md5") | |
137 }; | 139 }; |
138 | 140 |
139 | 141 |
140 void | 142 void |
141 ngx_imap_auth_http_init(ngx_imap_session_t *s) | 143 ngx_imap_auth_http_init(ngx_imap_session_t *s) |
1076 | 1078 |
1077 b->last = ngx_cpymem(b->last, "Auth-Pass: ", sizeof("Auth-Pass: ") - 1); | 1079 b->last = ngx_cpymem(b->last, "Auth-Pass: ", sizeof("Auth-Pass: ") - 1); |
1078 b->last = ngx_copy(b->last, passwd.data, passwd.len); | 1080 b->last = ngx_copy(b->last, passwd.data, passwd.len); |
1079 *b->last++ = CR; *b->last++ = LF; | 1081 *b->last++ = CR; *b->last++ = LF; |
1080 | 1082 |
1081 if (s->salt.len) { | 1083 if (s->auth_method != NGX_IMAP_AUTH_PLAIN && s->salt.len) { |
1082 b->last = ngx_cpymem(b->last, "Auth-Salt: ", sizeof("Auth-Salt: ") - 1); | 1084 b->last = ngx_cpymem(b->last, "Auth-Salt: ", sizeof("Auth-Salt: ") - 1); |
1083 b->last = ngx_copy(b->last, s->salt.data, s->salt.len); | 1085 b->last = ngx_copy(b->last, s->salt.data, s->salt.len); |
1084 | 1086 |
1085 s->passwd.data = NULL; | 1087 s->passwd.data = NULL; |
1086 } | 1088 } |