diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2020-05-30 21:41:34 -0700 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2020-05-30 21:46:52 -0700 |
commit | 160ea25bdf79c86107ac0659146db4e76c4b5166 (patch) | |
tree | c30393c70303be031546fe289546ff279dc70a8f /net-mail/relay-ctrl | |
parent | net-mail/relay-ctrl: tweak storage permissions (diff) | |
download | gentoo-160ea25bdf79c86107ac0659146db4e76c4b5166.tar.gz gentoo-160ea25bdf79c86107ac0659146db4e76c4b5166.tar.bz2 gentoo-160ea25bdf79c86107ac0659146db4e76c4b5166.zip |
net-mail/relay-ctrl: fix grsec RLIMIT_NOFILE overstep
Closes: https://bugs.gentoo.org/348203
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
Diffstat (limited to 'net-mail/relay-ctrl')
-rw-r--r-- | net-mail/relay-ctrl/files/relay-ctrl-3.1.1-NOFILE-overstep.patch | 25 | ||||
-rw-r--r-- | net-mail/relay-ctrl/relay-ctrl-3.1.1-r3.ebuild | 1 |
2 files changed, 26 insertions, 0 deletions
diff --git a/net-mail/relay-ctrl/files/relay-ctrl-3.1.1-NOFILE-overstep.patch b/net-mail/relay-ctrl/files/relay-ctrl-3.1.1-NOFILE-overstep.patch new file mode 100644 index 000000000000..3bcd54c1f949 --- /dev/null +++ b/net-mail/relay-ctrl/files/relay-ctrl-3.1.1-NOFILE-overstep.patch @@ -0,0 +1,25 @@ +--- relay-ctrl-3.1.1/relay-ctrl-chdir.c 2002-04-26 18:07:38.000000000 +0200 ++++ relay-ctrl-3.1.1-patch/relay-ctrl-chdir.c 2010-12-08 20:49:15.449915704 +0100 +@@ -2,6 +2,7 @@ + #include <fcntl.h> + #include <stdlib.h> + #include <sys/stat.h> ++#include <sys/resource.h> + #include <unistd.h> + #include "misc/misc.h" + #include "msg/msg.h" +@@ -14,9 +15,12 @@ + static int move_high(int fd) + { + struct stat s; ++ struct rlimit rl; + int newfd; +- +- for (newfd = fd + 1;; ++newfd) { ++ ++ getrlimit(RLIMIT_NOFILE, &rl); ++ ++ for (newfd = fd + 1; newfd < rl.rlim_cur; ++newfd) { + if (fstat(newfd, &s) != -1) continue; + if (dup2(fd, newfd) == -1) break; + close(fd); diff --git a/net-mail/relay-ctrl/relay-ctrl-3.1.1-r3.ebuild b/net-mail/relay-ctrl/relay-ctrl-3.1.1-r3.ebuild index 88c8668e8625..9e71696f8480 100644 --- a/net-mail/relay-ctrl/relay-ctrl-3.1.1-r3.ebuild +++ b/net-mail/relay-ctrl/relay-ctrl-3.1.1-r3.ebuild @@ -28,6 +28,7 @@ src_prepare() { eapply_user ht_fix_file "${S}"/Makefile eapply "${FILESDIR}"/authenticated.c-relayfixup.diff + eapply "${FILESDIR}"/relay-ctrl-3.1.1-NOFILE-overstep.patch } src_configure() { |