]> git.ipfire.org Git - thirdparty/postfix.git/commitdiff
postfix-2.5.13 v2.5.13
authorWietse Venema <wietse@porcupine.org>
Mon, 9 May 2011 05:00:00 +0000 (00:00 -0500)
committerViktor Dukhovni <postfix-users@dukhovni.org>
Sat, 10 Feb 2018 19:57:40 +0000 (14:57 -0500)
postfix/HISTORY
postfix/src/global/mail_version.h
postfix/src/smtpd/smtpd_sasl_proto.c

index a78420e39b41dfb1d2336c32575c437d0c276223..193f8fe228ba631c530f7b6a63e47468b46e3a98 100644 (file)
@@ -14678,3 +14678,10 @@ Apologies for any names omitted.
 
        Portability: FreeBSD closefrom() support time window.  Sahil
        Tandon. File: util/sys_defs.h.
+
+20110414
+
+        Bugfix (introduced with Postfix SASL patch 20000314): don't
+        reuse a server SASL handle after authentication failure.
+        Problem reported by Thomas Jarosch of Intra2net AG. File:
+        smtpd/smtpd_proto.c.
index bac353695dd5c83d4a46b75595c5d570cc6f68ed..bbc2e9eadf95a558cce39a17ed53d8aa5195767a 100644 (file)
@@ -20,8 +20,8 @@
   * Patches change both the patchlevel and the release date. Snapshots have no
   * patchlevel; they change the release date only.
   */
-#define MAIL_RELEASE_DATE      "20110303"
-#define MAIL_VERSION_NUMBER    "2.5.12"
+#define MAIL_RELEASE_DATE      "20110509"
+#define MAIL_VERSION_NUMBER    "2.5.13"
 
 #ifdef SNAPSHOT
 # define MAIL_VERSION_DATE     "-" MAIL_RELEASE_DATE
index 8a930bebe551968f5baf99c3efe4e9dcfbe516c4..76a5f4a39022245af9124720396f091e273c7877 100644 (file)
@@ -184,6 +184,27 @@ int     smtpd_sasl_auth_cmd(SMTPD_STATE *state, int argc, SMTPD_TOKEN *argv)
        return (-1);
     }
 
+    /* Don't reuse the SASL handle after authentication failure. */
+#ifndef SMTPD_FLAG_AUTH_USED
+#define SMTPD_FLAG_AUTH_USED   (1<<15)
+#endif
+#ifndef XSASL_TYPE_CYRUS
+#define XSASL_TYPE_CYRUS       "cyrus"
+#endif
+    if (state->flags & SMTPD_FLAG_AUTH_USED) {
+       smtpd_sasl_disconnect(state);
+#ifdef USE_TLS
+       if (state->tls_context != 0)
+           smtpd_sasl_connect(state, VAR_SMTPD_SASL_TLS_OPTS,
+                              var_smtpd_sasl_tls_opts);
+       else
+#endif
+           smtpd_sasl_connect(state, VAR_SMTPD_SASL_OPTS,
+                              var_smtpd_sasl_opts);
+    } else if (strcmp(var_smtpd_sasl_type, XSASL_TYPE_CYRUS) == 0) {
+       state->flags |= SMTPD_FLAG_AUTH_USED;
+    }
+
     /*
      * All authentication failures shall be logged. The 5xx reply code from
      * the SASL authentication routine triggers tar-pit delays, which help to