aboutsummaryrefslogtreecommitdiffstats
path: root/main/opensmtpd
diff options
context:
space:
mode:
authorScrumpyJack <scrumpyjack@st.ilet.to>2016-06-03 14:14:49 +0000
committerSören Tempel <soeren+git@soeren-tempel.net>2016-06-20 16:43:34 +0200
commite504f0a528f8a21d954593a74579facfb72df72b (patch)
tree30fd6370bd84c73c07eeb3b6db1376232fbe2818 /main/opensmtpd
parentea113dce5a814d0cadd94aaace870c4cb81ff223 (diff)
downloadaports-e504f0a528f8a21d954593a74579facfb72df72b.tar.bz2
aports-e504f0a528f8a21d954593a74579facfb72df72b.tar.xz
main/opensmtpd: Upgrade version to 5.9.2
Upgrades from 5.7.3 to 5.9.2 and removes the patch. Slight changes to configure options are new to 5.9.2
Diffstat (limited to 'main/opensmtpd')
-rw-r--r--main/opensmtpd/00-opensmtpd.patch498
-rw-r--r--main/opensmtpd/APKBUILD69
-rw-r--r--main/opensmtpd/opensmtpd.post-install1
3 files changed, 26 insertions, 542 deletions
diff --git a/main/opensmtpd/00-opensmtpd.patch b/main/opensmtpd/00-opensmtpd.patch
deleted file mode 100644
index 243b0a4d97..0000000000
--- a/main/opensmtpd/00-opensmtpd.patch
+++ /dev/null
@@ -1,498 +0,0 @@
-diff --git a/configure.ac b/configure.ac
-index a93a08f..55f41c1 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -685,6 +685,7 @@ AC_CHECK_FUNCS([ \
- getpeereid \
- getspnam \
- inet_aton \
-+ inet_net_pton \
- inet_ntoa \
- inet_ntop \
- isblank \
-@@ -693,6 +694,7 @@ AC_CHECK_FUNCS([ \
- pidfile \
- pw_dup \
- reallocarray \
-+ res_hnok \
- setenv \
- setlinebuf \
- setproctitle \
-diff --git a/openbsd-compat/Makefile.am b/openbsd-compat/Makefile.am
-index 5c55faa..fdee88e 100644
---- a/openbsd-compat/Makefile.am
-+++ b/openbsd-compat/Makefile.am
-@@ -5,9 +5,9 @@ libopenbsd_compat_a_SOURCES = \
- bsd-getpeereid.c bsd-misc.c bsd-waitpid.c clock_gettime.c \
- daemon.c dirname.c entropy.c errc.c event_asr_run.c explicit_bzero.c \
- fgetln.c fmt_scaled.c fparseln.c getopt.c imsg.c imsg-buffer.c \
-- libressl.c mktemp.c pidfile.c pw_dup.c reallocarray.c setresguid.c \
-- setproctitle.c strlcat.c strlcpy.c strmode.c strtonum.c \
-- strsep.c vis.c xmalloc.c
-+ inet_net_pton.c libressl.c mktemp.c pidfile.c pw_dup.c reallocarray.c \
-+ res_hnok.c setresguid.c setproctitle.c strlcat.c strlcpy.c strmode.c \
-+ strtonum.c strsep.c vis.c xmalloc.c
-
- EXTRA_DIST = base64.h bsd-misc.h bsd-waitpid.h chacha_private.h defines.h \
- entropy.h imsg.h includes.h log.h openbsd-compat.h sys/queue.h \
-diff --git a/openbsd-compat/defines.h b/openbsd-compat/defines.h
-index e1abee6..f0f5f59 100644
---- a/openbsd-compat/defines.h
-+++ b/openbsd-compat/defines.h
-@@ -857,4 +857,12 @@ struct winsize {
- #define FPARSELN_UNESCALL 0x0f
- #endif
-
-+#ifndef SCOPE_DELIMITER
-+#define SCOPE_DELIMITER '%'
-+#endif
-+
-+#ifndef WAIT_MYPGRP
-+#define WAIT_MYPGRP 0
-+#endif
-+
- #endif /* _DEFINES_H */
-diff --git a/openbsd-compat/inet_net_pton.c b/openbsd-compat/inet_net_pton.c
-new file mode 100644
-index 0000000..0831e25
---- /dev/null
-+++ b/openbsd-compat/inet_net_pton.c
-@@ -0,0 +1,214 @@
-+/*
-+ * Copyright (c) 1996 by Internet Software Consortium.
-+ *
-+ * Permission to use, copy, modify, and distribute this software for any
-+ * purpose with or without fee is hereby granted, provided that the above
-+ * copyright notice and this permission notice appear in all copies.
-+ *
-+ * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
-+ * ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
-+ * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
-+ * CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
-+ * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
-+ * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
-+ * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
-+ * SOFTWARE.
-+ */
-+
-+#if defined(LIBC_SCCS) && !defined(lint)
-+static const char orig_rcsid[] = "From Id: inet_net_pton.c,v 1.8 1996/11/21 10:28:12 vixie Exp $";
-+#endif
-+//#include <sys/cdefs.h>
-+//__FBSDID("$FreeBSD: src/lib/libc/net/inet_net_pton.c,v 1.9 2003/09/15 23:38:06 fenner Exp $");
-+
-+#include <sys/types.h>
-+#include <sys/socket.h>
-+#include <netinet/in.h>
-+#include <arpa/inet.h>
-+
-+#include <assert.h>
-+#include <ctype.h>
-+#include <errno.h>
-+#include <stdio.h>
-+#include <string.h>
-+#include <stdlib.h>
-+
-+#ifdef SPRINTF_CHAR
-+# define SPRINTF(x) strlen(sprintf/**/x)
-+#else
-+# define SPRINTF(x) ((size_t)sprintf x)
-+#endif
-+
-+static int inet_net_pton_ipv4(const char *src, u_char *dst, size_t size);
-+
-+/*
-+ * static int
-+ * inet_net_pton(af, src, dst, size)
-+ * convert network number from presentation to network format.
-+ * accepts hex octets, hex strings, decimal octets, and /CIDR.
-+ * "size" is in bytes and describes "dst".
-+ * return:
-+ * number of bits, either imputed classfully or specified with /CIDR,
-+ * or -1 if some failure occurred (check errno). ENOENT means it was
-+ * not a valid network specification.
-+ * author:
-+ * Paul Vixie (ISC), June 1996
-+ */
-+int
-+inet_net_pton(af, src, dst, size)
-+ int af;
-+ const char *src;
-+ void *dst;
-+ size_t size;
-+{
-+ switch (af) {
-+ case AF_INET:
-+ return (inet_net_pton_ipv4(src, dst, size));
-+ default:
-+ errno = EAFNOSUPPORT;
-+ return (-1);
-+ }
-+}
-+
-+/*
-+ * static int
-+ * inet_net_pton_ipv4(src, dst, size)
-+ * convert IPv4 network number from presentation to network format.
-+ * accepts hex octets, hex strings, decimal octets, and /CIDR.
-+ * "size" is in bytes and describes "dst".
-+ * return:
-+ * number of bits, either imputed classfully or specified with /CIDR,
-+ * or -1 if some failure occurred (check errno). ENOENT means it was
-+ * not an IPv4 network specification.
-+ * note:
-+ * network byte order assumed. this means 192.5.5.240/28 has
-+ * 0x11110000 in its fourth octet.
-+ * author:
-+ * Paul Vixie (ISC), June 1996
-+ */
-+static int
-+inet_net_pton_ipv4(src, dst, size)
-+ const char *src;
-+ u_char *dst;
-+ size_t size;
-+{
-+ static const char
-+ xdigits[] = "0123456789abcdef",
-+ digits[] = "0123456789";
-+ int n, ch, tmp, dirty, bits;
-+ const u_char *odst = dst;
-+
-+ ch = *src++;
-+ if (ch == '0' && (src[0] == 'x' || src[0] == 'X')
-+ && isascii(src[1]) && isxdigit(src[1])) {
-+ /* Hexadecimal: Eat nybble string. */
-+ if (size <= 0)
-+ goto emsgsize;
-+ *dst = 0, dirty = 0;
-+ src++; /* skip x or X. */
-+ while ((ch = *src++) != '\0' &&
-+ isascii(ch) && isxdigit(ch)) {
-+ if (isupper(ch))
-+ ch = tolower(ch);
-+ n = strchr(xdigits, ch) - xdigits;
-+ assert(n >= 0 && n <= 15);
-+ *dst |= n;
-+ if (!dirty++)
-+ *dst <<= 4;
-+ else if (size-- > 0)
-+ *++dst = 0, dirty = 0;
-+ else
-+ goto emsgsize;
-+ }
-+ if (dirty)
-+ size--;
-+ } else if (isascii(ch) && isdigit(ch)) {
-+ /* Decimal: eat dotted digit string. */
-+ for (;;) {
-+ tmp = 0;
-+ do {
-+ n = strchr(digits, ch) - digits;
-+ assert(n >= 0 && n <= 9);
-+ tmp *= 10;
-+ tmp += n;
-+ if (tmp > 255)
-+ goto enoent;
-+ } while ((ch = *src++) != '\0' &&
-+ isascii(ch) && isdigit(ch));
-+ if (size-- <= 0)
-+ goto emsgsize;
-+ *dst++ = (u_char) tmp;
-+ if (ch == '\0' || ch == '/')
-+ break;
-+ if (ch != '.')
-+ goto enoent;
-+ ch = *src++;
-+ if (!isascii(ch) || !isdigit(ch))
-+ goto enoent;
-+ }
-+ } else
-+ goto enoent;
-+
-+ bits = -1;
-+ if (ch == '/' && isascii(src[0]) && isdigit(src[0]) && dst > odst) {
-+ /* CIDR width specifier. Nothing can follow it. */
-+ ch = *src++; /* Skip over the /. */
-+ bits = 0;
-+ do {
-+ n = strchr(digits, ch) - digits;
-+ assert(n >= 0 && n <= 9);
-+ bits *= 10;
-+ bits += n;
-+ } while ((ch = *src++) != '\0' && isascii(ch) && isdigit(ch));
-+ if (ch != '\0')
-+ goto enoent;
-+ if (bits > 32)
-+ goto emsgsize;
-+ }
-+
-+ /* Firey death and destruction unless we prefetched EOS. */
-+ if (ch != '\0')
-+ goto enoent;
-+
-+ /* If nothing was written to the destination, we found no address. */
-+ if (dst == odst)
-+ goto enoent;
-+ /* If no CIDR spec was given, infer width from net class. */
-+ if (bits == -1) {
-+ if (*odst >= 240) /* Class E */
-+ bits = 32;
-+ else if (*odst >= 224) /* Class D */
-+ bits = 4;
-+ else if (*odst >= 192) /* Class C */
-+ bits = 24;
-+ else if (*odst >= 128) /* Class B */
-+ bits = 16;
-+ else /* Class A */
-+ bits = 8;
-+ /* If imputed mask is narrower than specified octets, widen. */
-+ if (bits < ((dst - odst) * 8))
-+ bits = (dst - odst) * 8;
-+ }
-+ /* Extend network to cover the actual mask. */
-+ while (bits > ((dst - odst) * 8)) {
-+ if (size-- <= 0)
-+ goto emsgsize;
-+ *dst++ = '\0';
-+ }
-+ return (bits);
-+
-+ enoent:
-+ errno = ENOENT;
-+ return (-1);
-+
-+ emsgsize:
-+ errno = EMSGSIZE;
-+ return (-1);
-+}
-+
-+/*
-+ * Weak aliases for applications that use certain private entry points,
-+ * and fail to include <arpa/inet.h>.
-+ */
-+#undef inet_net_pton
-+/* __weak_reference(__inet_net_pton, inet_net_pton); */
-diff --git a/openbsd-compat/openbsd-compat.h b/openbsd-compat/openbsd-compat.h
-index e345a9d..a3fa80c 100644
---- a/openbsd-compat/openbsd-compat.h
-+++ b/openbsd-compat/openbsd-compat.h
-@@ -184,8 +184,20 @@ int vsnprintf(char *, size_t, const char *, va_list);
- void explicit_bzero(void *p, size_t n);
- #endif
-
-+#ifndef HAVE_INET_NET_PTON
-+int inet_net_pton(int, const char *, void *, size_t);
-+#endif
-+
-+#ifndef HAVE_RES_HNOK
-+int res_hnok(const char *);
-+#endif
-+
- /* OpenSMTPD-portable specific entries */
-
-+#ifndef FILE
-+#include <stdio.h>
-+#endif
-+
- #ifndef HAVE_FGETLN
- #include <stdio.h>
- #include <string.h>
-diff --git a/openbsd-compat/res_hnok.c b/openbsd-compat/res_hnok.c
-new file mode 100644
-index 0000000..06a3e8a
---- /dev/null
-+++ b/openbsd-compat/res_hnok.c
-@@ -0,0 +1,168 @@
-+/* $OpenBSD: res_comp.c,v 1.14 2008/04/16 22:35:23 deraadt Exp $ */
-+
-+/*
-+ * ++Copyright++ 1985, 1993
-+ * -
-+ * Copyright (c) 1985, 1993
-+ * The Regents of the University of California. All rights reserved.
-+ *
-+ * Redistribution and use in source and binary forms, with or without
-+ * modification, are permitted provided that the following conditions
-+ * are met:
-+ * 1. Redistributions of source code must retain the above copyright
-+ * notice, this list of conditions and the following disclaimer.
-+ * 2. Redistributions in binary form must reproduce the above copyright
-+ * notice, this list of conditions and the following disclaimer in the
-+ * documentation and/or other materials provided with the distribution.
-+ * 3. Neither the name of the University nor the names of its contributors
-+ * may be used to endorse or promote products derived from this software
-+ * without specific prior written permission.
-+ *
-+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-+ * SUCH DAMAGE.
-+ * -
-+ * Portions Copyright (c) 1993 by Digital Equipment Corporation.
-+ *
-+ * Permission to use, copy, modify, and distribute this software for any
-+ * purpose with or without fee is hereby granted, provided that the above
-+ * copyright notice and this permission notice appear in all copies, and that
-+ * the name of Digital Equipment Corporation not be used in advertising or
-+ * publicity pertaining to distribution of the document or software without
-+ * specific, written prior permission.
-+ *
-+ * THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL
-+ * WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES
-+ * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT
-+ * CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
-+ * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
-+ * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
-+ * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
-+ * SOFTWARE.
-+ * -
-+ * --Copyright--
-+ */
-+
-+/* OPENBSD ORIGINAL: lib/libc/net/res_comp.c */
-+
-+#include "includes.h"
-+#ifndef HAVE_RES_HNOK
-+
-+/*
-+ * Verify that a domain name uses an acceptable character set.
-+ */
-+
-+/*
-+ * Note the conspicuous absence of ctype macros in these definitions. On
-+ * non-ASCII hosts, we can't depend on string literals or ctype macros to
-+ * tell us anything about network-format data. The rest of the BIND system
-+ * is not careful about this, but for some reason, we're doing it right here.
-+ */
-+#define PERIOD 0x2e
-+#define hyphenchar(c) ((c) == 0x2d)
-+#define bslashchar(c) ((c) == 0x5c)
-+#define underscorechar(c) ((c) == 0x5f)
-+#define periodchar(c) ((c) == PERIOD)
-+#define asterchar(c) ((c) == 0x2a)
-+#define alphachar(c) (((c) >= 0x41 && (c) <= 0x5a) \
-+ || ((c) >= 0x61 && (c) <= 0x7a))
-+#define digitchar(c) ((c) >= 0x30 && (c) <= 0x39)
-+
-+#define borderchar(c) (alphachar(c) || digitchar(c))
-+#define middlechar(c) (borderchar(c) || hyphenchar(c) || underscorechar(c))
-+#define domainchar(c) ((c) > 0x20 && (c) < 0x7f)
-+
-+int
-+res_hnok(const char *dn)
-+{
-+ int pch = PERIOD, ch = *dn++;
-+
-+ while (ch != '\0') {
-+ int nch = *dn++;
-+
-+ if (periodchar(ch)) {
-+ ;
-+ } else if (periodchar(pch)) {
-+ if (!borderchar(ch))
-+ return (0);
-+ } else if (periodchar(nch) || nch == '\0') {
-+ if (!borderchar(ch))
-+ return (0);
-+ } else {
-+ if (!middlechar(ch))
-+ return (0);
-+ }
-+ pch = ch, ch = nch;
-+ }
-+ return (1);
-+}
-+
-+/*
-+ * hostname-like (A, MX, WKS) owners can have "*" as their first label
-+ * but must otherwise be as a host name.
-+ */
-+int
-+res_ownok(const char *dn)
-+{
-+ if (asterchar(dn[0])) {
-+ if (periodchar(dn[1]))
-+ return (res_hnok(dn+2));
-+ if (dn[1] == '\0')
-+ return (1);
-+ }
-+ return (res_hnok(dn));
-+}
-+
-+/*
-+ * SOA RNAMEs and RP RNAMEs can have any printable character in their first
-+ * label, but the rest of the name has to look like a host name.
-+ */
-+int
-+res_mailok(const char *dn)
-+{
-+ int ch, escaped = 0;
-+
-+ /* "." is a valid missing representation */
-+ if (*dn == '\0')
-+ return(1);
-+
-+ /* otherwise <label>.<hostname> */
-+ while ((ch = *dn++) != '\0') {
-+ if (!domainchar(ch))
-+ return (0);
-+ if (!escaped && periodchar(ch))
-+ break;
-+ if (escaped)
-+ escaped = 0;
-+ else if (bslashchar(ch))
-+ escaped = 1;
-+ }
-+ if (periodchar(ch))
-+ return (res_hnok(dn));
-+ return(0);
-+}
-+
-+/*
-+ * This function is quite liberal, since RFC 1034's character sets are only
-+ * recommendations.
-+ */
-+int
-+res_dnok(const char *dn)
-+{
-+ int ch;
-+
-+ while ((ch = *dn++) != '\0')
-+ if (!domainchar(ch))
-+ return (0);
-+ return (1);
-+}
-+
-+#endif /* !HAVE_RES_HNOK */
-diff --git a/openbsd-compat/strmode.c b/openbsd-compat/strmode.c
-index 4a81614..535edfb 100644
---- a/openbsd-compat/strmode.c
-+++ b/openbsd-compat/strmode.c
-@@ -33,6 +33,8 @@
- #include "includes.h"
- #ifndef HAVE_STRMODE
-
-+#undef S_IRUSR
-+
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <string.h>
-diff --git a/smtpd/smtpd.c b/smtpd/smtpd.c
-index 763a62d..dfab650 100644
---- a/smtpd/smtpd.c
-+++ b/smtpd/smtpd.c
-@@ -26,6 +26,7 @@
- #include <sys/tree.h>
- #include <sys/socket.h>
- #include <sys/wait.h>
-+#undef S_IRUSR
- #include <sys/stat.h>
- #include <sys/uio.h>
- #include <sys/mman.h>
diff --git a/main/opensmtpd/APKBUILD b/main/opensmtpd/APKBUILD
index f0fdc6e005..56f7e0a684 100644
--- a/main/opensmtpd/APKBUILD
+++ b/main/opensmtpd/APKBUILD
@@ -2,8 +2,8 @@
# Contributor: Jonathan Curran <jonathan@curran.in>
# Maintainer: Jonathan Curran <jonathan@curran.in>
pkgname=opensmtpd
-pkgver=5.7.3p2
-pkgrel=1
+pkgver=5.9.2p1
+pkgrel=0
pkgdesc="secure, reliable, lean, and easy-to configure SMTP server"
url="http://www.opensmtpd.org"
arch="x86_64"
@@ -11,71 +11,54 @@ license="ISC"
depends=""
depends_dev=""
makedepends="automake autoconf libtool mdocml db-dev libasr-dev libevent-dev
- fts-dev openssl-dev bison flex-dev"
+ fts-dev zlib-dev openssl-dev bison flex-dev"
install="$pkgname.pre-install $pkgname.post-install"
subpackages="$pkgname-doc"
-source="https://www.opensmtpd.org/archives/opensmtpd-${pkgver}.tar.gz
- 00-opensmtpd.patch
+source="https://www.opensmtpd.org/archives/${pkgname}-${pkgver}.tar.gz
smtpd.initd
aliases"
+options="suid"
-_builddir="$srcdir"/$pkgname-$pkgver
-prepare() {
- local i
- cd "$_builddir"
- for i in $source; do
- case $i in
- *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
- esac
- done
-
- aclocal -I m4
- autoconf
- autoheader
- automake --foreign --add-missing --copy
-}
-
+builddir="$srcdir"/$pkgname-$pkgver
build() {
- cd "$_builddir"
- ./configure --build=$CBUILD \
- --host=$CHOST \
+ cd "$builddir"
+ ./configure \
--prefix=/usr \
--sysconfdir=/etc/smtpd \
- --enable-table-db \
- --with-privsep-user=smtpd \
- --with-queue-user=smtpq \
- --with-maildir=/var/spool/mail \
- --with-sock-dir=/run \
- --with-libs="-lfts" \
- --with-pie \
- --with-Werror \
+ --with-libssl=/usr/include/openssl \
--mandir=/usr/share/man \
--libexecdir=/usr/lib/$pkgname \
- --with-ca-file=/etc/ssl/certs/ca-certificates.crt \
- --with-mantype=doc || return 1
+ --with-table-db \
+ --with-user-queue=smtpq \
+ --with-group-queue=smtpq \
+ --with-user-smtpd=smtpd \
+ --with-path-socket=/run \
+ --with-libs="-lfts" \
+ --with-pie \
+ --with-path-CAfile=/etc/ssl/certs/ca-certificates.crt \
+ --with-mantype=man || return 1
make || return 1
}
package() {
- make DESTDIR=${pkgdir} -C "$_builddir" install || return 1
+ make DESTDIR="${pkgdir}" -C "$builddir" install || return 1
sed -i 's#/etc/mail#/etc/smtpd#g' "$pkgdir"/etc/smtpd/smtpd.conf
install -Dm755 "$srcdir"/smtpd.initd "$pkgdir"/etc/init.d/smtpd || return 1
install -Dm644 "$srcdir"/aliases "$pkgdir"/etc/smtpd/aliases || return 1
- # Move sendmail to /usr/sbin to overwrite busyboxs sendmail.
- mv "$pkgdir"/usr/bin/sendmail "$pkgdir"/usr/sbin/ || return 1
+ # Create compatibility symlinks for mailq, newaliases, makemap and sendmail.
+ for binary in mailq newaliases makemap sendmail; do
+ ln -s /usr/sbin/smtpctl "$pkgdir"/usr/sbin/$binary || return 1
+ done
}
-md5sums="85bdccf1f28945771f79fd33e893cc43 opensmtpd-5.7.3p2.tar.gz
-e90e077ee170c7806a4657f0fd5778b1 00-opensmtpd.patch
+md5sums="d109374dcc4bc8be14f790b859f1dd31 opensmtpd-5.9.2p1.tar.gz
a2f311a82c9a85f5c52975c4dbbdbd53 smtpd.initd
561d2aead043a64a4ce5d66b4f78223e aliases"
-sha256sums="0d2973008d0f66bebb84bed516be6c32617735241cc54dd26643529281a8e52b opensmtpd-5.7.3p2.tar.gz
-1daa9b94e598db9b34e9a1fc717c834519824bdf7e87f1d6729c815ea5ca6acf 00-opensmtpd.patch
+sha256sums="3522f273c1630c781facdb2b921228e338ed4e651909316735df775d6a70a71d opensmtpd-5.9.2p1.tar.gz
ab4b7f066a38dadd7a2dc6d7c3a06c3a8ac2367340d97e2a8b54f571ea0f8cf8 smtpd.initd
7bef80f8d86aa5463c864681482a4908d22ff8b6f3e47d2a410ef2d59b316b53 aliases"
-sha512sums="bac0b8d6a6969a5e49a1d45b2c74cb2f3da44d06b12c7162500adf3ca312751020762bc8301075a9d7634d94cf51f978d04fac327f843680646e9e687737c42f opensmtpd-5.7.3p2.tar.gz
-c3a60ec3785903b3118feebde6021e20f1eb26a8d6e8b8c72ae19c6f9d6a9a2ceaee32c45a0ac3ff29d24018d169273f931378c1269eec32d7e36e5d98dd475d 00-opensmtpd.patch
+sha512sums="99ca15101557848aa6d642f0c0171b152d805192e6839a97410b19431c981a21a5c0dc011e2c8cd91f3e6f6acb37a77f0f4c8e68114bf9808240392fe2b5d375 opensmtpd-5.9.2p1.tar.gz
8152fecadeb1d818b7865eae040123f855e81fafbb4b40d12a64336e09dc486c10e6828809182c8172bfd9f54dc7d050a154b61d5e6049df6ffd8a7b6e5e1277 smtpd.initd
929ba0b8befca6cad558602f9793a9c653923924ee524902916b8ef4952d1ea8a391895e7450ed9768eb82a07bd307b49561f5d49ea4711bd87a1a73eb8d7dad aliases"
diff --git a/main/opensmtpd/opensmtpd.post-install b/main/opensmtpd/opensmtpd.post-install
index f7acfaf4f8..7d87fae4b3 100644
--- a/main/opensmtpd/opensmtpd.post-install
+++ b/main/opensmtpd/opensmtpd.post-install
@@ -1,5 +1,4 @@
#!/bin/sh
/usr/sbin/newaliases
-
exit 0