opensmtpd: update to 6.0.3p1.
This commit is contained in:
parent
3dabad9b4d
commit
c6be82c2eb
4 changed files with 4 additions and 124 deletions
|
@ -1,97 +0,0 @@
|
|||
From f948b923873a93472dea9b786cf60a3472b0ddc8 Mon Sep 17 00:00:00 2001
|
||||
From: Samuel Holland <samuel@sholland.org>
|
||||
Date: Wed, 11 Jan 2017 17:35:29 -0600
|
||||
Subject: [PATCH] fix compatibility with libressl
|
||||
|
||||
These functions are exported by libcrypto from libressl, due to its
|
||||
similar OpenBSD compatibility layer, but they are not present in any
|
||||
header files. Thus, while we can use the existing compiled function,
|
||||
and do not need to provide our own, we do need to provide the prototype
|
||||
for it.
|
||||
|
||||
This avoids implicit function declarations and the resulting crashes due
|
||||
to pointer truncation.
|
||||
|
||||
The patch is based on an equivalent patch for OpenSSH from
|
||||
https://bugzilla.mindrot.org/show_bug.cgi?id=2465
|
||||
Also see
|
||||
https://github.com/libressl-portable/portable/issues/109
|
||||
|
||||
Fixes #691
|
||||
---
|
||||
openbsd-compat/defines.h | 9 ---------
|
||||
openbsd-compat/openbsd-compat.h | 25 +++++++++++++++----------
|
||||
2 files changed, 15 insertions(+), 19 deletions(-)
|
||||
|
||||
--- openbsd-compat/defines.h
|
||||
+++ openbsd-compat/defines.h
|
||||
@@ -422,15 +422,6 @@ typedef uint16_t in_port_t;
|
||||
#define INET6_ADDRSTRLEN 46
|
||||
#endif
|
||||
|
||||
-/*
|
||||
- * Platforms that have arc4random_uniform() and not arc4random_stir()
|
||||
- * shouldn't need the latter.
|
||||
- */
|
||||
-#if defined(HAVE_ARC4RANDOM) && defined(HAVE_ARC4RANDOM_UNIFORM) && \
|
||||
- !defined(HAVE_ARC4RANDOM_STIR)
|
||||
-# define arc4random_stir()
|
||||
-#endif
|
||||
-
|
||||
#ifndef HAVE_VA_COPY
|
||||
# ifdef HAVE___VA_COPY
|
||||
# define va_copy(dest, src) __va_copy(dest, src)
|
||||
--- openbsd-compat/openbsd-compat.h
|
||||
+++ openbsd-compat/openbsd-compat.h
|
||||
@@ -119,20 +119,25 @@ int BSDoptind; /* index into parent argv vector */
|
||||
int getpeereid(int , uid_t *, gid_t *);
|
||||
#endif
|
||||
|
||||
-#ifdef HAVE_ARC4RANDOM
|
||||
-# ifndef HAVE_ARC4RANDOM_STIR
|
||||
-# define arc4random_stir()
|
||||
-# endif
|
||||
-#else
|
||||
+#if !defined(HAVE_ARC4RANDOM) || defined(LIBRESSL_VERSION_NUMBER)
|
||||
unsigned int arc4random(void);
|
||||
+#endif
|
||||
+
|
||||
+#if defined(HAVE_ARC4RANDOM_STIR)
|
||||
void arc4random_stir(void);
|
||||
-#endif /* !HAVE_ARC4RANDOM */
|
||||
+#elif defined(HAVE_ARC4RANDOM) || defined(LIBRESSL_VERSION_NUMBER)
|
||||
+/* Recent system/libressl implementation; no need for explicit stir */
|
||||
+# define arc4random_stir()
|
||||
+#else
|
||||
+/* openbsd-compat/arc4random.c provides arc4random_stir() */
|
||||
+void arc4random_stir(void);
|
||||
+#endif
|
||||
|
||||
-#ifndef HAVE_ARC4RANDOM_BUF
|
||||
+#if !defined(HAVE_ARC4RANDOM_BUF) || defined(LIBRESSL_VERSION_NUMBER)
|
||||
void arc4random_buf(void *, size_t);
|
||||
#endif
|
||||
|
||||
-#ifndef HAVE_ARC4RANDOM_UNIFORM
|
||||
+#if !defined(HAVE_ARC4RANDOM_UNIFORM) || defined(LIBRESSL_VERSION_NUMBER)
|
||||
uint32_t arc4random_uniform(uint32_t);
|
||||
#endif
|
||||
|
||||
@@ -174,7 +179,7 @@ int vasprintf(char **, const char *, va_list);
|
||||
int vsnprintf(char *, size_t, const char *, va_list);
|
||||
#endif
|
||||
|
||||
-#ifndef HAVE_EXPLICIT_BZERO
|
||||
+#if !defined(HAVE_EXPLICIT_BZERO) || defined(LIBRESSL_VERSION_NUMBER)
|
||||
void explicit_bzero(void *p, size_t n);
|
||||
#endif
|
||||
|
||||
@@ -200,7 +205,7 @@ int pidfile(const char *basename);
|
||||
struct passwd *pw_dup(const struct passwd *);
|
||||
#endif
|
||||
|
||||
-#ifndef HAVE_REALLOCARRAY
|
||||
+#if !defined(HAVE_REALLOCARRAY) || defined(LIBRESSL_VERSION_NUMBER)
|
||||
void *reallocarray(void *, size_t, size_t);
|
||||
#endif
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
Despit these macros being defined in sys/stat.h, they are undefined
|
||||
when used in the source strmode.c, perhaps due to the shielding macro
|
||||
S_IRUSR being defined before.
|
||||
|
||||
--- openbsd-compat/strmode.c 2015-10-02 01:46:21.000000000 +0200
|
||||
+++ openbsd-compat/strmode.c 2015-10-02 08:38:43.954398930 +0200
|
||||
@@ -37,6 +37,16 @@
|
||||
#include <sys/stat.h>
|
||||
#include <string.h>
|
||||
|
||||
+#if !defined(S_ISUID)
|
||||
+#define S_ISUID 04000
|
||||
+#endif
|
||||
+#if !defined(S_ISGID)
|
||||
+#define S_ISGID 02000
|
||||
+#endif
|
||||
+#if !defined(S_ISVTX)
|
||||
+#define S_ISVTX 01000
|
||||
+#endif
|
||||
+
|
||||
/* XXX mode should be mode_t */
|
||||
|
||||
void
|
|
@ -12,6 +12,6 @@
|
|||
+#define S_ISVTX 01000
|
||||
+#endif
|
||||
+
|
||||
extern char *__progname;
|
||||
#define SMTPD_MAXARG 32
|
||||
|
||||
static void parent_imsg(struct mproc *, struct imsg *);
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# Template file for 'opensmtpd'
|
||||
pkgname=opensmtpd
|
||||
version=6.0.2p1
|
||||
revision=5
|
||||
version=6.0.3p1
|
||||
revision=1
|
||||
build_style=gnu-configure
|
||||
configure_args="--sysconfdir=/etc/smtpd --sbindir=/usr/bin
|
||||
--with-path-socket=/run --with-mantype=doc --with-pie --with-table-db
|
||||
|
@ -21,7 +21,7 @@ maintainer="Juan RP <xtraeme@voidlinux.eu>"
|
|||
license="BSD, ISC, MIT"
|
||||
homepage="https://www.opensmtpd.org"
|
||||
distfiles="https://www.opensmtpd.org/archives/${pkgname}-${version}.tar.gz"
|
||||
checksum=2af9b6d08784c7e546bf124bb61e311a6aa0c9835507710a76f5c242383190ac
|
||||
checksum=291881862888655565e8bbe3cfb743310f5dc0edb6fd28a889a9a547ad767a81
|
||||
|
||||
CFLAGS=-D_DEFAULT_SOURCE
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue