From eeb4b94416d659033bb5f6e6b1697c023dcccab5 Mon Sep 17 00:00:00 2001 From: Stefan Ritt Date: Fri, 1 Apr 2011 08:36:52 +0000 Subject: [PATCH] Fixed bug with "." replacements in emails SVN revision: 2406 --- src/elogd.c | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/src/elogd.c b/src/elogd.c index fd5bfb00..4aae9a76 100755 --- a/src/elogd.c +++ b/src/elogd.c @@ -2214,16 +2214,10 @@ int sendmail(LOGBOOK * lbs, char *smtp_host, char *from, char *to, char *text, c if (!check_smtp_error(str, 354, error, error_size)) goto smtp_error; - /* analyze text for "." at beginning of line */ - p = text; - str[0] = 0; - while (strstr(p, "\r\n.\r\n")) { - i = strstr(p, "\r\n.\r\n") - p + 1; - strlcat(str, p, i); - p += i + 4; - strlcat(str, "\r\n..\r\n", strsize); - } - strlcat(str, p, strsize); + /* replace "." at beginning of line by ".." */ + strlcpy(str, text, strsize); + strsubst(str, strsize, "\r\n.\r\n", "\r\n..\r\n"); + /* add "." to signal end of message */ strlcat(str, ".\r\n", strsize);