diff -urN ../exim-4.87.orig/src/deliver.c ./src/deliver.c --- ../exim-4.87.orig/src/deliver.c 2016-04-02 22:24:15.000000000 +0300 +++ ./src/deliver.c 2016-08-03 00:51:26.000000000 +0300 @@ -6693,7 +6693,7 @@ if (!regex_IGNOREQUOTA) regex_IGNOREQUOTA = - regex_must_compile(US"\\n250[\\s\\-]IGNOREQUOTA(\\s|\\n|$)", FALSE, TRUE); + regex_must_compile(US"(^|\\n)250[\\s\\-]IGNOREQUOTA(\\s|\\n|$)", FALSE, TRUE); /* Handle local deliveries */ @@ -8054,35 +8054,35 @@ deliver_init(void) { if (!regex_PIPELINING) regex_PIPELINING = - regex_must_compile(US"\\n250[\\s\\-]PIPELINING(\\s|\\n|$)", FALSE, TRUE); + regex_must_compile(US"(^|\\n)250[\\s\\-]PIPELINING(\\s|\\n|$)", FALSE, TRUE); if (!regex_SIZE) regex_SIZE = - regex_must_compile(US"\\n250[\\s\\-]SIZE(\\s|\\n|$)", FALSE, TRUE); + regex_must_compile(US"(^|\\n)250[\\s\\-]SIZE(\\s|\\n|$)", FALSE, TRUE); if (!regex_AUTH) regex_AUTH = - regex_must_compile(US"\\n250[\\s\\-]AUTH\\s+([\\-\\w\\s]+)(?:\\n|$)", + regex_must_compile(US"(^|\\n)250[\\s\\-]AUTH\\s+([\\-\\w\\s]+)(?:\\n|$)", FALSE, TRUE); #ifdef SUPPORT_TLS if (!regex_STARTTLS) regex_STARTTLS = - regex_must_compile(US"\\n250[\\s\\-]STARTTLS(\\s|\\n|$)", FALSE, TRUE); + regex_must_compile(US"(^|\\n)250[\\s\\-]STARTTLS(\\s|\\n|$)", FALSE, TRUE); #endif #ifndef DISABLE_PRDR if (!regex_PRDR) regex_PRDR = - regex_must_compile(US"\\n250[\\s\\-]PRDR(\\s|\\n|$)", FALSE, TRUE); + regex_must_compile(US"(^|\\n)250[\\s\\-]PRDR(\\s|\\n|$)", FALSE, TRUE); #endif #ifdef SUPPORT_I18N if (!regex_UTF8) regex_UTF8 = - regex_must_compile(US"\\n250[\\s\\-]SMTPUTF8(\\s|\\n|$)", FALSE, TRUE); + regex_must_compile(US"(^|\\n)250[\\s\\-]SMTPUTF8(\\s|\\n|$)", FALSE, TRUE); #endif if (!regex_DSN) regex_DSN = - regex_must_compile(US"\\n250[\\s\\-]DSN(\\s|\\n|$)", FALSE, TRUE); + regex_must_compile(US"(^|\\n)250[\\s\\-]DSN(\\s|\\n|$)", FALSE, TRUE); if (!regex_IGNOREQUOTA) regex_IGNOREQUOTA = - regex_must_compile(US"\\n250[\\s\\-]IGNOREQUOTA(\\s|\\n|$)", FALSE, TRUE); + regex_must_compile(US"(^|\\n)250[\\s\\-]IGNOREQUOTA(\\s|\\n|$)", FALSE, TRUE); } diff -urN ../exim-4.87.orig/src/verify.c ./src/verify.c --- ../exim-4.87.orig/src/verify.c 2016-04-02 22:24:15.000000000 +0300 +++ ./src/verify.c 2016-08-03 00:51:39.000000000 +0300 @@ -741,7 +741,7 @@ if (esmtp && !suppress_tls && tls_out.active < 0) { if (regex_STARTTLS == NULL) regex_STARTTLS = - regex_must_compile(US"\\n250[\\s\\-]STARTTLS(\\s|\\n|$)", FALSE, TRUE); + regex_must_compile(US"(^|\\n)250[\\s\\-]STARTTLS(\\s|\\n|$)", FALSE, TRUE); tls_offered = pcre_exec(regex_STARTTLS, NULL, CS responsebuffer, Ustrlen(responsebuffer), 0, PCRE_EOPT, NULL, 0) >= 0; @@ -930,7 +930,7 @@ && !( esmtp && ( regex_UTF8 || ( (regex_UTF8 = regex_must_compile( - US"\\n250[\\s\\-]SMTPUTF8(\\s|\\n|$)", FALSE, TRUE)), + US"(^|\\n)250[\\s\\-]SMTPUTF8(\\s|\\n|$)", FALSE, TRUE)), TRUE ) ) && ( (utf8_offered = pcre_exec(regex_UTF8, NULL,