diff options
author | Richard Narron <richard@aaazen.com> | 2019-08-10 01:09:59 +0700 |
---|---|---|
committer | Willy Sudiarto Raharjo <willysr@slackbuilds.org> | 2019-08-10 01:10:14 +0700 |
commit | 66062b50d0b8857cd66eb00a08cef9b543c1c756 (patch) | |
tree | c2aec997e42a2dc18284efd6a6b793ac3f2a0eb3 /network | |
parent | 2ccb4f74c6e791736be0de1d355e6b5d405111aa (diff) |
network/opensmtpd: Apply OpenBSD 6.4 patch 20.
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
Diffstat (limited to 'network')
-rw-r--r-- | network/opensmtpd/openbsd64-020-smtpd.patch | 27 | ||||
-rw-r--r-- | network/opensmtpd/opensmtpd.SlackBuild | 5 |
2 files changed, 31 insertions, 1 deletions
diff --git a/network/opensmtpd/openbsd64-020-smtpd.patch b/network/opensmtpd/openbsd64-020-smtpd.patch new file mode 100644 index 0000000000000..a1aa51607a272 --- /dev/null +++ b/network/opensmtpd/openbsd64-020-smtpd.patch @@ -0,0 +1,27 @@ +--- a/smtpd/smtp_session.c 3 Sep 2018 19:01:29 -0000 1.337 ++++ b/smtpd/smtp_session.c 1 Aug 2019 21:18:53 -0000 +@@ -1904,15 +1904,21 @@ smtp_reply(struct smtp_session *s, char + { + va_list ap; + int n; +- char buf[LINE_MAX], tmp[LINE_MAX]; ++ char buf[LINE_MAX*2], tmp[LINE_MAX*2]; + + va_start(ap, fmt); + n = vsnprintf(buf, sizeof buf, fmt, ap); + va_end(ap); +- if (n == -1 || n >= LINE_MAX) +- fatalx("smtp_reply: line too long"); ++ if (n < 0) ++ fatalx("smtp_reply: response format error"); + if (n < 4) + fatalx("smtp_reply: response too short"); ++ if (n >= (int)sizeof buf) { ++ /* only first three bytes are used by SMTP logic, ++ * so if _our_ reply does not fit entirely in the ++ * buffer, it's ok to truncate. ++ */ ++ } + + log_trace(TRACE_SMTP, "smtp: %p: >>> %s", s, buf); + diff --git a/network/opensmtpd/opensmtpd.SlackBuild b/network/opensmtpd/opensmtpd.SlackBuild index 453822f728fa4..b429cf360a795 100644 --- a/network/opensmtpd/opensmtpd.SlackBuild +++ b/network/opensmtpd/opensmtpd.SlackBuild @@ -25,7 +25,7 @@ PRGNAM=opensmtpd VERSION=${VERSION:-6.0.3p1} -BUILD=${BUILD:-2} +BUILD=${BUILD:-3} TAG=${TAG:-_SBo} if [ -z "$ARCH" ]; then @@ -92,6 +92,9 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; +# fix reply buffer overflow +cat $CWD/openbsd64-020-smtpd.patch | patch -p1 + CFLAGS="$SLKCFLAGS -D_DEFAULT_SOURCE" \ CXXFLAGS="$SLKCFLAGS" \ ./configure \ |