Skip to content

Commit

Permalink
postfix: Upgrade to 3.6.1
Browse files Browse the repository at this point in the history
Fix build with glibc 2.34+
Details of this release [1]

[1] http://cdn.postfix.johnriley.me/mirrors/postfix-release/official/postfix-3.6.1.RELEASE_NOTES

Signed-off-by: Khem Raj <[email protected]>
  • Loading branch information
kraj committed Jul 16, 2021
1 parent 64e2de9 commit 06cae38
Show file tree
Hide file tree
Showing 2 changed files with 103 additions and 1 deletion.
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
From 1e451ddc15af1a4e19318c8b1ced46c5c41610d3 Mon Sep 17 00:00:00 2001
From: Khem Raj <[email protected]>
Date: Wed, 14 Jul 2021 18:08:30 -0700
Subject: [PATCH] correct signature of closefrom() API

glibc 2.34 introduced this function and finds this error which has been
all along.

Upstream-Status: Pending

Signed-off-by: Khem Raj <[email protected]>
---
src/util/sys_compat.c | 6 +++---
src/util/sys_defs.h | 12 ++++++------
2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/src/util/sys_compat.c b/src/util/sys_compat.c
index 8bf8e58..c87f043 100644
--- a/src/util/sys_compat.c
+++ b/src/util/sys_compat.c
@@ -286,7 +286,7 @@ int dup2_pass_on_exec(int oldd, int newd)

/* closefrom() - closes all file descriptors from the given one up */

-int closefrom(int lowfd)
+void closefrom(int lowfd)
{
int fd_limit = open_limit(0);
int fd;
@@ -298,14 +298,14 @@ int closefrom(int lowfd)
*/
if (lowfd < 0) {
errno = EBADF;
- return (-1);
+ return;
}
if (fd_limit > 500)
fd_limit = 500;
for (fd = lowfd; fd < fd_limit; fd++)
(void) close(fd);

- return (0);
+ return;
}

#endif
diff --git a/src/util/sys_defs.h b/src/util/sys_defs.h
index 2e1c953..515de6c 100644
--- a/src/util/sys_defs.h
+++ b/src/util/sys_defs.h
@@ -1509,7 +1509,7 @@ extern int setsid(void);
#endif

#ifndef HAS_CLOSEFROM
-extern int closefrom(int);
+extern void closefrom(int);

#endif

@@ -1563,7 +1563,7 @@ typedef int pid_t;

/*
* Clang-style attribute tests.
- *
+ *
* XXX Without the unconditional test below, gcc 4.6 will barf on ``elif
* defined(__clang__) && __has_attribute(__whatever__)'' with error message
* ``missing binary operator before token "("''.
@@ -1577,7 +1577,7 @@ typedef int pid_t;
* warn for missing initializations and other trouble. However, OPENSTEP4
* gcc 2.7.x cannot handle this so we define this only if NORETURN isn't
* already defined above.
- *
+ *
* Data point: gcc 2.7.2 has __attribute__ (Wietse Venema) but gcc 2.6.3 does
* not (Clive Jones). So we'll set the threshold at 2.7.
*/
@@ -1653,12 +1653,12 @@ typedef int pid_t;
* write to output parameters (for example, stat- or scanf-like functions)
* or from functions that have other useful side effects (for example,
* fseek- or rename-like functions).
- *
+ *
* DO NOT use this for functions that write to a stream; it is entirely
* legitimate to detect write errors with fflush() or fclose() only. On the
* other hand most (but not all) functions that read from a stream must
* never ignore result values.
- *
+ *
* XXX Prepending "(void)" won't shut up GCC. Clang behaves as expected.
*/
#if ((__GNUC__ == 3 && __GNUC_MINOR__ >= 4) || __GNUC__ > 3)
@@ -1739,7 +1739,7 @@ typedef const char *CONST_CHAR_STAR;
* Safety. On some systems, ctype.h misbehaves with non-ASCII or negative
* characters. More importantly, Postfix uses the ISXXX() macros to ensure
* protocol compliance, so we have to rule out non-ASCII characters.
- *
+ *
* XXX The (unsigned char) casts in isalnum() etc arguments are unnecessary
* because the ISASCII() guard already ensures that the values are
* non-negative; the casts are done anyway to shut up chatty compilers.
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ SRC_URI += "ftp://ftp.porcupine.org/mirrors/postfix-release/official/postfix-${P
file://postfix-install.patch \
file://icu-config.patch \
file://0001-makedefs-add-lnsl-and-lresolv-to-SYSLIBS-by-default.patch \
file://0007-correct-signature-of-closefrom-API.patch \
"
SRC_URI[sha256sum] = "18555183ae8b52a9e76067799279c86f9f2770cdef3836deb8462ee0a0855dec"
SRC_URI[sha256sum] = "20a805625601e7b95989220832c8fa14ce374f0711da054188f8cec6a92fd71c"
UPSTREAM_CHECK_REGEX = "postfix\-(?P<pver>3\.3(\.\d+)+).tar.gz"

0 comments on commit 06cae38

Please sign in to comment.