Mercurial > hg > nginx-quic
comparison src/mail/ngx_mail_auth_http_module.c @ 2309:8156bc03982a
smtp_auth none
patch by Maxim Dounin
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Thu, 13 Nov 2008 13:25:34 +0000 |
parents | b0a1c84725cf |
children | 842a558c3bc5 |
comparison
equal
deleted
inserted
replaced
2308:3f98400e31e9 | 2309:8156bc03982a |
---|---|
139 | 139 |
140 static ngx_str_t ngx_mail_auth_http_method[] = { | 140 static ngx_str_t ngx_mail_auth_http_method[] = { |
141 ngx_string("plain"), | 141 ngx_string("plain"), |
142 ngx_string("plain"), | 142 ngx_string("plain"), |
143 ngx_string("apop"), | 143 ngx_string("apop"), |
144 ngx_string("cram-md5") | 144 ngx_string("cram-md5"), |
145 ngx_string("none") | |
145 }; | 146 }; |
146 | 147 |
147 static ngx_str_t ngx_mail_smtp_errcode = ngx_string("535 5.7.0"); | 148 static ngx_str_t ngx_mail_smtp_errcode = ngx_string("535 5.7.0"); |
148 | 149 |
149 | 150 |
1163 + sizeof(CRLF) - 1 | 1164 + sizeof(CRLF) - 1 |
1164 + sizeof("Auth-Login-Attempt: ") - 1 + NGX_INT_T_LEN | 1165 + sizeof("Auth-Login-Attempt: ") - 1 + NGX_INT_T_LEN |
1165 + sizeof(CRLF) - 1 | 1166 + sizeof(CRLF) - 1 |
1166 + sizeof("Client-IP: ") - 1 + s->connection->addr_text.len | 1167 + sizeof("Client-IP: ") - 1 + s->connection->addr_text.len |
1167 + sizeof(CRLF) - 1 | 1168 + sizeof(CRLF) - 1 |
1169 + sizeof("Client-Host: ") - 1 + s->host.len + sizeof(CRLF) - 1 | |
1170 + sizeof("Auth-SMTP-Helo: ") - 1 + s->smtp_helo.len | |
1171 + sizeof("Auth-SMTP-From: ") - 1 + s->smtp_from.len | |
1172 + sizeof("Auth-SMTP-To: ") - 1 + s->smtp_to.len | |
1168 + ahcf->header.len | 1173 + ahcf->header.len |
1169 + sizeof(CRLF) - 1; | 1174 + sizeof(CRLF) - 1; |
1170 | 1175 |
1171 b = ngx_create_temp_buf(pool, len); | 1176 b = ngx_create_temp_buf(pool, len); |
1172 if (b == NULL) { | 1177 if (b == NULL) { |
1214 b->last = ngx_sprintf(b->last, "Auth-Login-Attempt: %ui" CRLF, | 1219 b->last = ngx_sprintf(b->last, "Auth-Login-Attempt: %ui" CRLF, |
1215 s->login_attempt); | 1220 s->login_attempt); |
1216 | 1221 |
1217 b->last = ngx_cpymem(b->last, "Client-IP: ", sizeof("Client-IP: ") - 1); | 1222 b->last = ngx_cpymem(b->last, "Client-IP: ", sizeof("Client-IP: ") - 1); |
1218 b->last = ngx_copy(b->last, s->connection->addr_text.data, | 1223 b->last = ngx_copy(b->last, s->connection->addr_text.data, |
1219 s->connection->addr_text.len); | 1224 s->connection->addr_text.len); |
1220 *b->last++ = CR; *b->last++ = LF; | 1225 *b->last++ = CR; *b->last++ = LF; |
1226 | |
1227 if (s->host.len) { | |
1228 b->last = ngx_cpymem(b->last, "Client-Host: ", | |
1229 sizeof("Client-Host: ") - 1); | |
1230 b->last = ngx_copy(b->last, s->host.data, s->host.len); | |
1231 *b->last++ = CR; *b->last++ = LF; | |
1232 } | |
1233 | |
1234 if (s->auth_method == NGX_MAIL_AUTH_NONE) { | |
1235 | |
1236 /* HELO, MAIL FROM, and RCPT TO can't contain CRLF, no need to escape */ | |
1237 | |
1238 b->last = ngx_cpymem(b->last, "Auth-SMTP-Helo: ", | |
1239 sizeof("Auth-SMTP-Helo: ") - 1); | |
1240 b->last = ngx_copy(b->last, s->smtp_helo.data, s->smtp_helo.len); | |
1241 *b->last++ = CR; *b->last++ = LF; | |
1242 | |
1243 b->last = ngx_cpymem(b->last, "Auth-SMTP-From: ", | |
1244 sizeof("Auth-SMTP-From: ") - 1); | |
1245 b->last = ngx_copy(b->last, s->smtp_from.data, s->smtp_from.len); | |
1246 *b->last++ = CR; *b->last++ = LF; | |
1247 | |
1248 b->last = ngx_cpymem(b->last, "Auth-SMTP-To: ", | |
1249 sizeof("Auth-SMTP-To: ") - 1); | |
1250 b->last = ngx_copy(b->last, s->smtp_to.data, s->smtp_to.len); | |
1251 *b->last++ = CR; *b->last++ = LF; | |
1252 | |
1253 } | |
1221 | 1254 |
1222 if (ahcf->header.len) { | 1255 if (ahcf->header.len) { |
1223 b->last = ngx_copy(b->last, ahcf->header.data, ahcf->header.len); | 1256 b->last = ngx_copy(b->last, ahcf->header.data, ahcf->header.len); |
1224 } | 1257 } |
1225 | 1258 |