Lmtp2nntp - patch regarding parsing of "RCPT TO"
From Perswiki
A very minor, but essential patch to lmtp2nntp 1.4.1.
2016/03/22 I have also sent it to the author at ossp.org, but my email bounced.
Summary: when the MTA hands over something to lmtp2nntp, the RCPT TO line may contain more than one token. For instance, it might look like this:
RCPT TO: <recipient@example.com> ORCPT=<another@example.com>;
The patch below amends the regex pattern to only look at the first token and ignore any subsequent ones.
diff -ur a/lmtp2nntp_main.c b/lmtp2nntp_main.c
--- a/lmtp2nntp_main.c 2004-05-07 16:52:03.000000000 +0200
+++ b/lmtp2nntp_main.c 2016-03-22 11:29:34.397744519 +0100
@@ -1315,7 +1315,7 @@
* RFC1893 3.5 Network and Routing Status X.5.2 Syntax error
*/
logbook(ctx->l2, L2_LEVEL_TRACE, "checking parameter syntax");
- if (str_parse(req->msg, "m/^RCPT To:\\s*(.+)$/i", &cp) <= 0) {
+ if (str_parse(req->msg, "m/^RCPT To:\\s*(<[^>]+>)/i", &cp) <= 0) {
res.statuscode = "501";
res.dsncode = "5.5.2";
res.statusmsg = "Syntax error in parameters.";