opensmtpd: update to 6.0.3p1.

This commit is contained in:
Duncaen 2018-01-16 16:49:41 +01:00
parent 3dabad9b4d
commit c6be82c2eb
4 changed files with 4 additions and 124 deletions

View file

@ -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

View file

@ -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

View file

@ -12,6 +12,6 @@
+#define S_ISVTX 01000
+#endif
+
extern char *__progname;
#define SMTPD_MAXARG 32
static void parent_imsg(struct mproc *, struct imsg *);

View file

@ -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