diff options
| -rw-r--r-- | meta-networking/recipes-daemons/postfix/files/0007-correct-signature-of-closefrom-API.patch | 101 | ||||
| -rw-r--r-- | meta-networking/recipes-daemons/postfix/postfix_3.6.1.bb (renamed from meta-networking/recipes-daemons/postfix/postfix_3.4.12.bb) | 3 |
2 files changed, 103 insertions, 1 deletions
diff --git a/meta-networking/recipes-daemons/postfix/files/0007-correct-signature-of-closefrom-API.patch b/meta-networking/recipes-daemons/postfix/files/0007-correct-signature-of-closefrom-API.patch new file mode 100644 index 0000000000..e583354ccb --- /dev/null +++ b/meta-networking/recipes-daemons/postfix/files/0007-correct-signature-of-closefrom-API.patch | |||
| @@ -0,0 +1,101 @@ | |||
| 1 | From 1e451ddc15af1a4e19318c8b1ced46c5c41610d3 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Wed, 14 Jul 2021 18:08:30 -0700 | ||
| 4 | Subject: [PATCH] correct signature of closefrom() API | ||
| 5 | |||
| 6 | glibc 2.34 introduced this function and finds this error which has been | ||
| 7 | all along. | ||
| 8 | |||
| 9 | Upstream-Status: Pending | ||
| 10 | |||
| 11 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 12 | --- | ||
| 13 | src/util/sys_compat.c | 6 +++--- | ||
| 14 | src/util/sys_defs.h | 12 ++++++------ | ||
| 15 | 2 files changed, 9 insertions(+), 9 deletions(-) | ||
| 16 | |||
| 17 | diff --git a/src/util/sys_compat.c b/src/util/sys_compat.c | ||
| 18 | index 8bf8e58..c87f043 100644 | ||
| 19 | --- a/src/util/sys_compat.c | ||
| 20 | +++ b/src/util/sys_compat.c | ||
| 21 | @@ -286,7 +286,7 @@ int dup2_pass_on_exec(int oldd, int newd) | ||
| 22 | |||
| 23 | /* closefrom() - closes all file descriptors from the given one up */ | ||
| 24 | |||
| 25 | -int closefrom(int lowfd) | ||
| 26 | +void closefrom(int lowfd) | ||
| 27 | { | ||
| 28 | int fd_limit = open_limit(0); | ||
| 29 | int fd; | ||
| 30 | @@ -298,14 +298,14 @@ int closefrom(int lowfd) | ||
| 31 | */ | ||
| 32 | if (lowfd < 0) { | ||
| 33 | errno = EBADF; | ||
| 34 | - return (-1); | ||
| 35 | + return; | ||
| 36 | } | ||
| 37 | if (fd_limit > 500) | ||
| 38 | fd_limit = 500; | ||
| 39 | for (fd = lowfd; fd < fd_limit; fd++) | ||
| 40 | (void) close(fd); | ||
| 41 | |||
| 42 | - return (0); | ||
| 43 | + return; | ||
| 44 | } | ||
| 45 | |||
| 46 | #endif | ||
| 47 | diff --git a/src/util/sys_defs.h b/src/util/sys_defs.h | ||
| 48 | index 2e1c953..515de6c 100644 | ||
| 49 | --- a/src/util/sys_defs.h | ||
| 50 | +++ b/src/util/sys_defs.h | ||
| 51 | @@ -1509,7 +1509,7 @@ extern int setsid(void); | ||
| 52 | #endif | ||
| 53 | |||
| 54 | #ifndef HAS_CLOSEFROM | ||
| 55 | -extern int closefrom(int); | ||
| 56 | +extern void closefrom(int); | ||
| 57 | |||
| 58 | #endif | ||
| 59 | |||
| 60 | @@ -1563,7 +1563,7 @@ typedef int pid_t; | ||
| 61 | |||
| 62 | /* | ||
| 63 | * Clang-style attribute tests. | ||
| 64 | - * | ||
| 65 | + * | ||
| 66 | * XXX Without the unconditional test below, gcc 4.6 will barf on ``elif | ||
| 67 | * defined(__clang__) && __has_attribute(__whatever__)'' with error message | ||
| 68 | * ``missing binary operator before token "("''. | ||
| 69 | @@ -1577,7 +1577,7 @@ typedef int pid_t; | ||
| 70 | * warn for missing initializations and other trouble. However, OPENSTEP4 | ||
| 71 | * gcc 2.7.x cannot handle this so we define this only if NORETURN isn't | ||
| 72 | * already defined above. | ||
| 73 | - * | ||
| 74 | + * | ||
| 75 | * Data point: gcc 2.7.2 has __attribute__ (Wietse Venema) but gcc 2.6.3 does | ||
| 76 | * not (Clive Jones). So we'll set the threshold at 2.7. | ||
| 77 | */ | ||
| 78 | @@ -1653,12 +1653,12 @@ typedef int pid_t; | ||
| 79 | * write to output parameters (for example, stat- or scanf-like functions) | ||
| 80 | * or from functions that have other useful side effects (for example, | ||
| 81 | * fseek- or rename-like functions). | ||
| 82 | - * | ||
| 83 | + * | ||
| 84 | * DO NOT use this for functions that write to a stream; it is entirely | ||
| 85 | * legitimate to detect write errors with fflush() or fclose() only. On the | ||
| 86 | * other hand most (but not all) functions that read from a stream must | ||
| 87 | * never ignore result values. | ||
| 88 | - * | ||
| 89 | + * | ||
| 90 | * XXX Prepending "(void)" won't shut up GCC. Clang behaves as expected. | ||
| 91 | */ | ||
| 92 | #if ((__GNUC__ == 3 && __GNUC_MINOR__ >= 4) || __GNUC__ > 3) | ||
| 93 | @@ -1739,7 +1739,7 @@ typedef const char *CONST_CHAR_STAR; | ||
| 94 | * Safety. On some systems, ctype.h misbehaves with non-ASCII or negative | ||
| 95 | * characters. More importantly, Postfix uses the ISXXX() macros to ensure | ||
| 96 | * protocol compliance, so we have to rule out non-ASCII characters. | ||
| 97 | - * | ||
| 98 | + * | ||
| 99 | * XXX The (unsigned char) casts in isalnum() etc arguments are unnecessary | ||
| 100 | * because the ISASCII() guard already ensures that the values are | ||
| 101 | * non-negative; the casts are done anyway to shut up chatty compilers. | ||
diff --git a/meta-networking/recipes-daemons/postfix/postfix_3.4.12.bb b/meta-networking/recipes-daemons/postfix/postfix_3.6.1.bb index db5b41bfbd..c139f06610 100644 --- a/meta-networking/recipes-daemons/postfix/postfix_3.4.12.bb +++ b/meta-networking/recipes-daemons/postfix/postfix_3.6.1.bb | |||
| @@ -13,6 +13,7 @@ SRC_URI += "ftp://ftp.porcupine.org/mirrors/postfix-release/official/postfix-${P | |||
| 13 | file://postfix-install.patch \ | 13 | file://postfix-install.patch \ |
| 14 | file://icu-config.patch \ | 14 | file://icu-config.patch \ |
| 15 | file://0001-makedefs-add-lnsl-and-lresolv-to-SYSLIBS-by-default.patch \ | 15 | file://0001-makedefs-add-lnsl-and-lresolv-to-SYSLIBS-by-default.patch \ |
| 16 | file://0007-correct-signature-of-closefrom-API.patch \ | ||
| 16 | " | 17 | " |
| 17 | SRC_URI[sha256sum] = "18555183ae8b52a9e76067799279c86f9f2770cdef3836deb8462ee0a0855dec" | 18 | SRC_URI[sha256sum] = "20a805625601e7b95989220832c8fa14ce374f0711da054188f8cec6a92fd71c" |
| 18 | UPSTREAM_CHECK_REGEX = "postfix\-(?P<pver>3\.3(\.\d+)+).tar.gz" | 19 | UPSTREAM_CHECK_REGEX = "postfix\-(?P<pver>3\.3(\.\d+)+).tar.gz" |
