2
0
mirror of https://github.com/vdukhovni/postfix synced 2025-08-31 22:25:24 +00:00

postfix-3.3-20170924

This commit is contained in:
Wietse Venema
2017-09-24 00:00:00 -05:00
committed by Viktor Dukhovni
parent 9e8a1af632
commit 4a12667c5f
8 changed files with 28 additions and 20 deletions

View File

@@ -23049,9 +23049,9 @@ Apologies for any names omitted.
20170620 20170620
Bugfix (introduced: Postfix 3.2) extension propagation was Bugfix (introduced: Postfix 3.2) extension propagation was
broken with "recipient_delimiter = .", because of code that broken with "recipient_delimiter = .". This change reverts
was too clever by half. Files: global/mail_adr_crunch.c, a change that was trying to be too clever. Files:
global/mail_addr_crunch.ref. global/mail_adr_crunch.c, global/mail_addr_crunch.ref.
20170704 20170704
@@ -23136,14 +23136,9 @@ Apologies for any names omitted.
20170831 20170831
Portability (introduced Postfix 1.0): possible cause for Undefined behavior (introduced Postfix 1.0): after subtracting
panic in postqueue when listing the deferred queue. This a larger unsigned integer from a smaller one, do not assign
assigned the result from unsigned integer subtraction to a the result to a signed integer. File: postqueue/showq_compat.c.
signed integer, followed by a safety check to ensure that
the result was non-negative. This assignment relied on
undefined behavior, meaning that a compiler may eliminate
the safety check, causing the program to fail later. File:
postqueue/showq_compat.c.
20170910 20170910
@@ -23151,3 +23146,15 @@ Apologies for any names omitted.
width and precision in format strings (%*, %.*, and %*.*). width and precision in format strings (%*, %.*, and %*.*).
These checks were lost with the Postfix 3.2.2 rewrite of These checks were lost with the Postfix 3.2.2 rewrite of
the vbuf_print formatter. File: vbuf_print.c. the vbuf_print formatter. File: vbuf_print.c.
Bugfix (introduced: postfix-alpha): improve the 'fatal:
invalid option' message to show the optopt value instead of
the getopt() result. Files: master/*server.c.
20170923
Bugfix (introduced: Postfix 3.2): panic in the postqueue
command after output write error while listing the queue.
This change restores a write error check that was lost with
the Postfix 3.2.2 rewrite of the vbuf_print formatter.
Problem reported by Andreas Schulze. File: util/vbuf_print.c.

View File

@@ -367,8 +367,7 @@ tls)
;; ;;
*) *)
$ERROR "unknown command: '$1'" $FATAL "unknown command: '$1'. Usage: postfix start (or stop, reload, abort, flush, check, status, set-permissions, upgrade-configuration)"
$FATAL "usage: postfix start (or stop, reload, abort, flush, check, status, set-permissions, upgrade-configuration)"
exit 1 exit 1
;; ;;

View File

@@ -20,7 +20,7 @@
* Patches change both the patchlevel and the release date. Snapshots have no * Patches change both the patchlevel and the release date. Snapshots have no
* patchlevel; they change the release date only. * patchlevel; they change the release date only.
*/ */
#define MAIL_RELEASE_DATE "20170910" #define MAIL_RELEASE_DATE "20170924"
#define MAIL_VERSION_NUMBER "3.3" #define MAIL_VERSION_NUMBER "3.3"
#ifdef SNAPSHOT #ifdef SNAPSHOT

View File

@@ -675,7 +675,7 @@ NORETURN event_server_main(int argc, char **argv, MULTI_SERVER_FN service,...)
zerolimit = 1; zerolimit = 1;
break; break;
default: default:
msg_fatal("invalid option: %c", c); msg_fatal("invalid option: %c", optopt);
break; break;
} }
} }

View File

@@ -671,7 +671,7 @@ NORETURN multi_server_main(int argc, char **argv, MULTI_SERVER_FN service,...)
zerolimit = 1; zerolimit = 1;
break; break;
default: default:
msg_fatal("invalid option: %c", c); msg_fatal("invalid option: %c", optopt);
break; break;
} }
} }

View File

@@ -549,7 +549,7 @@ NORETURN single_server_main(int argc, char **argv, SINGLE_SERVER_FN service,...)
zerolimit = 1; zerolimit = 1;
break; break;
default: default:
msg_fatal("invalid option: %c", c); msg_fatal("invalid option: %c", optopt);
break; break;
} }
} }

View File

@@ -552,7 +552,7 @@ NORETURN trigger_server_main(int argc, char **argv, TRIGGER_SERVER_FN service,..
zerolimit = 1; zerolimit = 1;
break; break;
default: default:
msg_fatal("invalid option: %c", c); msg_fatal("invalid option: %c", optopt);
break; break;
} }
} }

View File

@@ -107,7 +107,8 @@
#ifndef NO_SNPRINTF #ifndef NO_SNPRINTF
#define VBUF_SNPRINTF(bp, sz, fmt, arg) do { \ #define VBUF_SNPRINTF(bp, sz, fmt, arg) do { \
ssize_t _ret; \ ssize_t _ret; \
VBUF_SPACE((bp), (sz)); \ if (VBUF_SPACE((bp), (sz)) != 0) \
return (bp); \
_ret = snprintf((char *) (bp)->ptr, (bp)->cnt, (fmt), (arg)); \ _ret = snprintf((char *) (bp)->ptr, (bp)->cnt, (fmt), (arg)); \
if (_ret < 0) \ if (_ret < 0) \
msg_panic("%s: output error for '%s'", myname, mystrdup(fmt)); \ msg_panic("%s: output error for '%s'", myname, mystrdup(fmt)); \
@@ -118,7 +119,8 @@
} while (0) } while (0)
#else #else
#define VBUF_SNPRINTF(bp, sz, fmt, arg) do { \ #define VBUF_SNPRINTF(bp, sz, fmt, arg) do { \
VBUF_SPACE((bp), (sz)); \ if (VBUF_SPACE((bp), (sz)) != 0) \
return (bp); \
sprintf((char *) (bp)->ptr, (fmt), (arg)); \ sprintf((char *) (bp)->ptr, (fmt), (arg)); \
VBUF_SKIP(bp); \ VBUF_SKIP(bp); \
} while (0) } while (0)