Bugzilla #1006: Keep EHLO attributes in case STARTTLS errors are ignored
authorTom Kistner <tom@duncanthrax.net>
Mon, 19 Jul 2010 09:47:27 +0000 (11:47 +0200)
committerTom Kistner <tom@duncanthrax.net>
Mon, 19 Jul 2010 09:47:27 +0000 (11:47 +0200)
Applied patch submitted by Micha Lenk. Thanks!

src/src/transports/smtp.c

index fb55ae01bbd7210962e5be0f5ed778faa1329779..41796a4d9d5d9d869a23748ea81afc189ac416cd 100644 (file)
@@ -1078,10 +1078,12 @@ if (tls_offered && !suppress_tls &&
   if (!smtp_read_response(&inblock, buffer2, sizeof(buffer2), '2',
       ob->command_timeout))
     {
-    Ustrncpy(buffer, buffer2, sizeof(buffer));
     if (errno != 0 || buffer2[0] == 0 ||
          (buffer2[0] == '4' && !ob->tls_tempfail_tryclear))
+      {
+      Ustrncpy(buffer, buffer2, sizeof(buffer));
       goto RESPONSE_FAILED;
+      }
     }
 
   /* STARTTLS accepted: try to negotiate a TLS session. */