]> git.ipfire.org Git - thirdparty/postfix.git/commitdiff
postfix-3.2-20161106
authorWietse Venema <wietse@porcupine.org>
Sun, 6 Nov 2016 05:00:00 +0000 (00:00 -0500)
committerViktor Dukhovni <postfix-users@dukhovni.org>
Mon, 7 Nov 2016 01:11:57 +0000 (20:11 -0500)
postfix/HISTORY
postfix/src/global/mail_params.c
postfix/src/global/mail_params.h
postfix/src/global/mail_version.h
postfix/src/postsuper/postsuper.c
postfix/src/util/midna_domain.c

index 0515875ef62bd96ee7e8d72362792b51e976650d..d17d5e4fab07630b5cff7d53881d50a8c54ccedc 100644 (file)
@@ -22559,3 +22559,13 @@ Apologies for any names omitted.
        restore historical behavior. Files: util/midna_domain.[hc],
        mantools/postlink, global/mail_params.[hc], proto/postconf.proto,
        proto/SMTPUTF8_README.html.
+
+20161105
+
+       Bugfix (introduced: Postfix 1.1): the postsuper command did
+       not count a successful rename operation after error recovery.
+       Problem reported by Markus Schönhaber. File: postsuper/postsuper.c.
+
+       Cleanup: error reporting for IDNA (non-ASCII domain name)
+       conversion errors, and enable_idna2003_compatibility
+       configuration. File: util/midna_domain.c.
index 4c2b09ed97d1090d3a65d616eb1e397a07458788..ece9ec071c8d7647371d608b182a0c903d18e142 100644 (file)
 /*     int     var_smtputf8_enable
 /*     int     var_strict_smtputf8;
 /*     char    *var_smtputf8_autoclass;
+/*     int     var_idna2003_compat;
 /*     int     var_compat_level;
 /*     char    *var_drop_hdrs;
 /*
@@ -338,6 +339,7 @@ char   *var_dsn_filter;
 int     var_smtputf8_enable;
 int     var_strict_smtputf8;
 char   *var_smtputf8_autoclass;
+int     var_idna2003_compat;
 int     var_compat_level;
 char   *var_drop_hdrs;
 
@@ -658,7 +660,7 @@ void    mail_params_init()
     static const CONFIG_NBOOL_TABLE first_nbool_defaults[] = {
        /* read and process the following before opening tables. */
        VAR_SMTPUTF8_ENABLE, DEF_SMTPUTF8_ENABLE, &var_smtputf8_enable,
-       VAR_IDNA2003_COMPAT, DEF_IDNA2003_COMPAT, &midna_domain_transitional,
+       VAR_IDNA2003_COMPAT, DEF_IDNA2003_COMPAT, &var_idna2003_compat,
        0,
     };
     static const CONFIG_STR_FN_TABLE function_str_defaults[] = {
@@ -825,6 +827,8 @@ void    mail_params_init()
        msg_warn("%s is true, but EAI support is not compiled in",
                 VAR_SMTPUTF8_ENABLE);
     var_smtputf8_enable = 0;
+#else
+    midna_domain_transitional = var_idna2003_compat;
 #endif
     util_utf8_enable = var_smtputf8_enable;
 
index c4d70c8c544020b09d0095dd324aa4d3cb4901af..716c7a618466a85457131b024bb41896e12f9e6f 100644 (file)
@@ -3957,6 +3957,7 @@ extern char *var_smtputf8_autoclass;
 
 #define VAR_IDNA2003_COMPAT            "enable_idna2003_compatibility"
 #define DEF_IDNA2003_COMPAT            "no"
+extern int var_idna2003_compat;
 
  /*
   * Workaround for future incompatibility. Our implementation of RFC 2308
index a01c775181dba9d470775b9ac4ad841560a5ee7d..2f3fc143e64302109f5b0c27ee49f1d3e7d6ea6b 100644 (file)
@@ -20,7 +20,7 @@
   * Patches change both the patchlevel and the release date. Snapshots have no
   * patchlevel; they change the release date only.
   */
-#define MAIL_RELEASE_DATE      "20161105"
+#define MAIL_RELEASE_DATE      "20161106"
 #define MAIL_VERSION_NUMBER    "3.2"
 
 #ifdef SNAPSHOT
index 9dc932143131a6a826348ca5feed1696d2488e7d..2abc253063030fea00a789249b49221ed576bb15 100644 (file)
@@ -437,7 +437,7 @@ static int postrename(const char *old, const char *new)
     if ((ret = sane_rename(old, new)) < 0) {
        if (errno != ENOENT
            || mail_queue_mkdirs(new) < 0
-           || sane_rename(old, new) < 0)
+           || (ret = sane_rename(old, new)) < 0)
            if (errno != ENOENT)
                msg_fatal("rename file %s as %s: %m", old, new);
     } else {
index 00e71d616c9ba317662e28ff0eb7ec837087f49b..7f60b59e38d591441d9a722eaaaa72f6e284bea9 100644 (file)
@@ -113,51 +113,19 @@ static VSTRING *midna_domain_buf; /* x.suffix */
 static const char *midna_domain_strerror(UErrorCode error, int info_errors)
 {
     static LONG_NAME_MASK uidna_errors[] = {
-#ifdef UIDNA_ERROR_EMPTY_LABEL
        "UIDNA_ERROR_EMPTY_LABEL", UIDNA_ERROR_EMPTY_LABEL,
-#endif
-#ifdef UIDNA_ERROR_LABEL_TOO_LONG
        "UIDNA_ERROR_LABEL_TOO_LONG", UIDNA_ERROR_LABEL_TOO_LONG,
-#endif
-#ifdef UIDNA_ERROR_DOMAIN_NAME_TOO_LONG
        "UIDNA_ERROR_DOMAIN_NAME_TOO_LONG", UIDNA_ERROR_DOMAIN_NAME_TOO_LONG,
-#endif
-#ifdef UIDNA_ERROR_LEADING_HYPHEN
        "UIDNA_ERROR_LEADING_HYPHEN", UIDNA_ERROR_LEADING_HYPHEN,
-#endif
-#ifdef UIDNA_ERROR_TRAILING_HYPHEN
        "UIDNA_ERROR_TRAILING_HYPHEN", UIDNA_ERROR_TRAILING_HYPHEN,
-#endif
-#ifdef UIDNA_ERROR_HYPHEN_3_4
        "UIDNA_ERROR_HYPHEN_3_4", UIDNA_ERROR_HYPHEN_3_4,
-#endif
-#ifdef UIDNA_ERROR_LEADING_COMBINING_MARK
        "UIDNA_ERROR_LEADING_COMBINING_MARK", UIDNA_ERROR_LEADING_COMBINING_MARK,
-#endif
-#ifdef UIDNA_ERROR_DISALLOWED
        "UIDNA_ERROR_DISALLOWED", UIDNA_ERROR_DISALLOWED,
-#endif
-#ifdef UIDNA_ERROR_PUNYCODE
        "UIDNA_ERROR_PUNYCODE", UIDNA_ERROR_PUNYCODE,
-#endif
-#ifdef UIDNA_ERROR_LABEL_HAS_DOT
        "UIDNA_ERROR_LABEL_HAS_DOT", UIDNA_ERROR_LABEL_HAS_DOT,
-#endif
-#ifdef UIDNA_ERROR_INVALID_ACE_LABEL
        "UIDNA_ERROR_INVALID_ACE_LABEL", UIDNA_ERROR_INVALID_ACE_LABEL,
-#endif
-#ifdef UIDNA_ERROR_BIDI
        "UIDNA_ERROR_BIDI", UIDNA_ERROR_BIDI,
-#endif
-#ifdef UIDNA_ERROR_CONTEXTJ
        "UIDNA_ERROR_CONTEXTJ", UIDNA_ERROR_CONTEXTJ,
-#endif
-#ifdef UIDNA_ERROR_CONTEXTO_PUNCTUATION
-       "UIDNA_ERROR_CONTEXTO_PUNCTUATION", UIDNA_ERROR_CONTEXTO_PUNCTUATION,
-#endif
-#ifdef UIDNA_ERROR_CONTEXTO_DIGITS
-       "UIDNA_ERROR_CONTEXTO_DIGITS", UIDNA_ERROR_CONTEXTO_DIGITS,
-#endif
        0,
     };