Mercurial > masqmail
comparison src/accept.c @ 299:ca2d11aec2a3
fixed compile error; removed PROT_BSMTP; made protocol names ucase
Dont know what PROT_BSMTP had been for. It's not used.
RFC 5321 requires the protocol to be:
Protocol = "ESMTP" / "SMTP" / Attdl-Protocol
We now use upper case too, although it might not matter much.
author | markus schnalke <meillo@marmaro.de> |
---|---|
date | Thu, 09 Dec 2010 13:53:48 -0300 |
parents | 6281ff92cb86 |
children | 3e3c280ca5b2 |
comparison
equal
deleted
inserted
replaced
298:6281ff92cb86 | 299:ca2d11aec2a3 |
---|---|
18 */ | 18 */ |
19 | 19 |
20 #include "masqmail.h" | 20 #include "masqmail.h" |
21 #include "readsock.h" | 21 #include "readsock.h" |
22 | 22 |
23 /* must match PROT_* in masqmail.h */ | |
23 gchar *prot_names[] = { | 24 gchar *prot_names[] = { |
24 "local", | 25 "local", |
25 "bsmtp", | 26 "SMTP", |
26 "smtp", | 27 "ESMTP", |
27 "esmtp", | |
28 "(unknown)" /* should not happen, but better than crashing. */ | 28 "(unknown)" /* should not happen, but better than crashing. */ |
29 }; | 29 }; |
30 | 30 |
31 static gchar* | 31 static gchar* |
32 string_base62(gchar * res, guint value, gchar len) | 32 string_base62(gchar * res, guint value, gchar len) |
306 DEBUG(5) debugf("hdr->value = '%s'\n", hdr->value); | 306 DEBUG(5) debugf("hdr->value = '%s'\n", hdr->value); |
307 | 307 |
308 addr = g_strdup(hdr->value); | 308 addr = g_strdup(hdr->value); |
309 g_strchomp(addr); | 309 g_strchomp(addr); |
310 | 310 |
311 msg->return_path = create_address_qualified(addr, FALSE, msg->received_host)); | 311 msg->return_path = create_address_qualified(addr, FALSE, msg->received_host); |
312 if (msg->return_path) { | 312 if (msg->return_path) { |
313 DEBUG(3) debugf("setting return_path to %s\n", addr_string(msg->return_path)); | 313 DEBUG(3) debugf("setting return_path to %s\n", addr_string(msg->return_path)); |
314 msg->hdr_list = g_list_append( msg->hdr_list, create_header(HEAD_UNKNOWN, "X-Warning: return path set from %s address\n", hdr->id == HEAD_SENDER ? "Sender:" : "From:")); | 314 msg->hdr_list = g_list_append( msg->hdr_list, create_header(HEAD_UNKNOWN, "X-Warning: return path set from %s address\n", hdr->id == HEAD_SENDER ? "Sender:" : "From:")); |
315 } | 315 } |
316 g_free(addr); | 316 g_free(addr); |
328 if (!msg->rcpt_list) { | 328 if (!msg->rcpt_list) { |
329 logwrite(LOG_WARNING, "no recipients found in message\n"); | 329 logwrite(LOG_WARNING, "no recipients found in message\n"); |
330 return AERR_NORCPT; | 330 return AERR_NORCPT; |
331 } | 331 } |
332 | 332 |
333 if (!has_sender && !has_from)) { | 333 if (!has_sender && !has_from) { |
334 DEBUG(3) debugf("adding 'From:' header\n"); | 334 DEBUG(3) debugf("adding 'From:' header\n"); |
335 if (msg->full_sender_name) { | 335 if (msg->full_sender_name) { |
336 msg->hdr_list = g_list_append(msg->hdr_list, create_header(HEAD_FROM, "From: \"%s\" <%s@%s>\n", msg->full_sender_name, msg->return_path->local_part, msg->return_path->domain)); | 336 msg->hdr_list = g_list_append(msg->hdr_list, create_header(HEAD_FROM, "From: \"%s\" <%s@%s>\n", msg->full_sender_name, msg->return_path->local_part, msg->return_path->domain)); |
337 } else { | 337 } else { |
338 msg->hdr_list = g_list_append(msg->hdr_list, create_header(HEAD_FROM, "From: <%s@%s>\n", msg->return_path->local_part, msg->return_path->domain)); | 338 msg->hdr_list = g_list_append(msg->hdr_list, create_header(HEAD_FROM, "From: <%s@%s>\n", msg->return_path->local_part, msg->return_path->domain)); |