diff options
Diffstat (limited to 'source/a')
-rwxr-xr-x | source/a/quota/quota.SlackBuild | 3 | ||||
-rw-r--r-- | source/a/quota/quotad.fix.high.cpu.usage.diff | 35 |
2 files changed, 37 insertions, 1 deletions
diff --git a/source/a/quota/quota.SlackBuild b/source/a/quota/quota.SlackBuild index ad67fc30d..ee7ed2c97 100755 --- a/source/a/quota/quota.SlackBuild +++ b/source/a/quota/quota.SlackBuild @@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=quota VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-1} +BUILD=${BUILD:-2} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then @@ -85,6 +85,7 @@ tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1 cd $PKGNAM-$VERSION || exit 1 zcat $CWD/quota.lwrap.needs.lnsl.diff.gz | patch -p1 --verbose || exit 1 +zcat $CWD/quotad.fix.high.cpu.usage.diff.gz | patch -p1 -l --verbose || exit 1 autoreconf -vif diff --git a/source/a/quota/quotad.fix.high.cpu.usage.diff b/source/a/quota/quotad.fix.high.cpu.usage.diff new file mode 100644 index 000000000..5dfafc9fd --- /dev/null +++ b/source/a/quota/quotad.fix.high.cpu.usage.diff @@ -0,0 +1,35 @@ +diff -up quota-4.04/svc_socket.c.orig quota-4.04/svc_socket.c +--- quota-4.04/svc_socket.c.orig 2017-09-05 10:04:16.000000000 -0400 ++++ quota-4.04/svc_socket.c 2018-05-12 14:46:44.813388914 -0400 +@@ -118,6 +118,15 @@ static int svc_create_sock(struct addrin + return -1; + } + ++ if (ai->ai_family == AF_INET6) { ++ if (setsockopt(fd, IPPROTO_IPV6, IPV6_V6ONLY, ++ &optval, sizeof(optval)) < 0) { ++ errstr(_("Cannot set ipv6 socket options: %s\n"), strerror(errno)); ++ close(fd); ++ return -1; ++ } ++ } ++ + if (setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof(optval)) < 0) { + errstr(_("Cannot set socket options: %s\n"), strerror(errno)); + close(fd); +@@ -129,6 +138,15 @@ static int svc_create_sock(struct addrin + close(fd); + return -1; + } ++ ++ if (ai->ai_protocol == IPPROTO_TCP) { ++ if (listen(fd, SOMAXCONN) < 0) { ++ errstr(_("Cannot listen to address: %s\n"), strerror(errno)); ++ close(fd); ++ return -1; ++ } ++ } ++ + return fd; + } + |