diff options
Diffstat (limited to 'source/n/netkit-rsh')
-rwxr-xr-x | source/n/netkit-rsh/netkit-rsh.SlackBuild | 30 | ||||
-rw-r--r-- | source/n/netkit-rsh/netkit-rsh.arg_max.diff | 71 | ||||
-rw-r--r-- | source/n/netkit-rsh/netkit-rsh.auth.c.stddef.diff | 10 | ||||
-rw-r--r-- | source/n/netkit-rsh/netkit-rsh.union_wait.diff | 20 | ||||
-rw-r--r-- | source/n/netkit-rsh/slack-desc | 12 |
5 files changed, 128 insertions, 15 deletions
diff --git a/source/n/netkit-rsh/netkit-rsh.SlackBuild b/source/n/netkit-rsh/netkit-rsh.SlackBuild index ee1e8ce5..d4f78e0a 100755 --- a/source/n/netkit-rsh/netkit-rsh.SlackBuild +++ b/source/n/netkit-rsh/netkit-rsh.SlackBuild @@ -1,6 +1,6 @@ -#!/bin/sh +#!/bin/bash -# Copyright 2007-2009 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2007-2018 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -20,21 +20,30 @@ # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +cd $(dirname $0) ; CWD=$(pwd) +PKGNAM=netkit-rsh VERSION=0.17 -BUILD=${BUILD:-1} +BUILD=${BUILD:-2} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) export ARCH=i486 ;; + i?86) export ARCH=i586 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; esac fi -CWD=$(pwd) +# If the variable PRINT_PACKAGE_NAME is set, then this script will report what +# the name of the created package would be, and then exit. This information +# could be useful to other scripts. +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz" + exit 0 +fi + TMP=${TMP:-/tmp} PKG=$TMP/package-netkit-rsh @@ -45,11 +54,14 @@ echo "+=================+" echo "| netkit-rsh-$VERSION |" echo "+=================+" cd $TMP -tar xzvf $CWD/netkit-rsh-$VERSION.tar.gz -cd netkit-rsh-$VERSION +tar xvf $CWD/netkit-rsh-$VERSION.tar.gz || exit 1 +cd netkit-rsh-$VERSION || exit 1 +zcat $CWD/netkit-rsh.arg_max.diff.gz | patch -p1 -l --verbose || exit 1 +zcat $CWD/netkit-rsh.union_wait.diff.gz | patch -p1 -l --verbose || exit 1 +zcat $CWD/netkit-rsh.auth.c.stddef.diff.gz | patch -p1 -l --verbose || exit 1 chown -R root:root . -./configure --prefix=/usr -make +./configure --prefix=/usr || exit 1 +make || exit 1 cd rsh strip rsh mkdir -p $PKG/usr/bin diff --git a/source/n/netkit-rsh/netkit-rsh.arg_max.diff b/source/n/netkit-rsh/netkit-rsh.arg_max.diff new file mode 100644 index 00000000..849f7c4c --- /dev/null +++ b/source/n/netkit-rsh/netkit-rsh.arg_max.diff @@ -0,0 +1,71 @@ +--- ./rshd/rshd.c.orig 2000-07-22 23:16:24.000000000 -0500 ++++ ./rshd/rshd.c 2018-04-10 02:02:57.995981067 -0500 +@@ -331,7 +331,8 @@ + static void + doit(struct sockaddr_in *fromp) + { +- char cmdbuf[ARG_MAX+1]; ++ char *cmdbuf; ++ long cmdbuflen; + const char *theshell, *shellname; + char locuser[16], remuser[16]; + struct passwd *pwd; +@@ -340,6 +341,18 @@ + u_short port; + int pv[2], pid, ifd; + ++ cmdbuflen = sysconf (_SC_ARG_MAX); ++ if (!(cmdbuflen > 0)) { ++ syslog (LOG_ERR, "sysconf (_SC_ARG_MAX) failed"); ++ exit (1); ++ } ++ ++ cmdbuf = malloc (++cmdbuflen); ++ if (cmdbuf == NULL) { ++ syslog (LOG_ERR, "Could not allocate space for cmdbuf"); ++ exit (1); ++ } ++ + signal(SIGINT, SIG_DFL); + signal(SIGQUIT, SIG_DFL); + signal(SIGTERM, SIG_DFL); +--- ./rexecd/rexecd.c.orig 2000-07-22 23:16:22.000000000 -0500 ++++ ./rexecd/rexecd.c 2018-04-10 02:04:52.629979848 -0500 +@@ -223,7 +223,8 @@ + static void + doit(struct sockaddr_in *fromp) + { +- char cmdbuf[ARG_MAX+1]; ++ char *cmdbuf; ++ long cmdbuflen; + char user[16], pass[16]; + struct passwd *pwd; + int s = -1; +@@ -242,6 +243,18 @@ + #endif + #endif /* USE_PAM */ + ++ cmdbuflen = sysconf (_SC_ARG_MAX); ++ if (!(cmdbuflen > 0)) { ++ syslog (LOG_ERR, "sysconf (_SC_ARG_MAX) failed"); ++ fatal ("sysconf (_SC_ARG_MAX) failed\n"); ++ } ++ ++ cmdbuf = malloc (++cmdbuflen); ++ if (cmdbuf == NULL) { ++ syslog (LOG_ERR, "Could not allocate space for cmdbuf"); ++ fatal ("Could not allocate space for cmdbuf\n"); ++ } ++ + signal(SIGINT, SIG_DFL); + signal(SIGQUIT, SIG_DFL); + signal(SIGTERM, SIG_DFL); +@@ -291,7 +304,7 @@ + + getstr(user, sizeof(user), "username too long\n"); + getstr(pass, sizeof(pass), "password too long\n"); +- getstr(cmdbuf, sizeof(cmdbuf), "command too long\n"); ++ getstr(cmdbuf, cmdbuflen, "command too long\n"); + #ifdef USE_PAM + #define PAM_BAIL if (pam_error != PAM_SUCCESS) { \ + pam_end(pamh, pam_error); exit(1); \ diff --git a/source/n/netkit-rsh/netkit-rsh.auth.c.stddef.diff b/source/n/netkit-rsh/netkit-rsh.auth.c.stddef.diff new file mode 100644 index 00000000..e6095f61 --- /dev/null +++ b/source/n/netkit-rsh/netkit-rsh.auth.c.stddef.diff @@ -0,0 +1,10 @@ +--- ./rlogind/auth.c.orig 2000-01-05 21:26:21.000000000 -0600 ++++ ./rlogind/auth.c 2018-04-10 02:19:01.197970828 -0500 +@@ -33,6 +33,7 @@ + + #include <sys/types.h> + #include <pwd.h> ++#include <stddef.h> + + #include "rlogind.h" + diff --git a/source/n/netkit-rsh/netkit-rsh.union_wait.diff b/source/n/netkit-rsh/netkit-rsh.union_wait.diff new file mode 100644 index 00000000..f6a96111 --- /dev/null +++ b/source/n/netkit-rsh/netkit-rsh.union_wait.diff @@ -0,0 +1,20 @@ +--- ./rlogin/rlogin.c.orig 2000-07-22 23:16:22.000000000 -0500 ++++ ./rlogin/rlogin.c 2018-04-10 02:10:07.255976504 -0500 +@@ -420,7 +420,7 @@ + void + catch_child(int ignore) + { +- union wait status; ++ int status; + int pid; + + (void)ignore; +@@ -431,7 +431,7 @@ + return; + /* if the child (reader) dies, just quit */ + if (pid < 0 || (pid == childpid && !WIFSTOPPED(status))) +- done((int)(status.w_termsig | status.w_retcode)); ++ done((int)(WTERMSIG(status) | WEXITSTATUS(status))); + } + /* NOTREACHED */ + } diff --git a/source/n/netkit-rsh/slack-desc b/source/n/netkit-rsh/slack-desc index 8b5b7dc2..66013985 100644 --- a/source/n/netkit-rsh/slack-desc +++ b/source/n/netkit-rsh/slack-desc @@ -1,16 +1,16 @@ # HOW TO EDIT THIS FILE: -# The "handy ruler" below makes it easier to edit a package description. Line +# The "handy ruler" below makes it easier to edit a package description. Line # up the first '|' above the ':' following the base package name, and the '|' -# on the right side marks the last column you can put a character in. You must -# make exactly 11 lines for the formatting to be correct. It's also +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also # customary to leave one space after the ':'. |-----handy-ruler------------------------------------------------------| netkit-rsh: netkit-rsh (the BSD rsh/rcp/rlogin clients and daemon) netkit-rsh: -netkit-rsh: The old BSD rsh suite. Note that none of these programs provide -netkit-rsh: encryption or strong authentication of network connections. As such, -netkit-rsh: their use is discouraged. The "ssh" protocol and package is a +netkit-rsh: The old BSD rsh suite. Note that none of these programs provide +netkit-rsh: encryption or strong authentication of network connections. As such, +netkit-rsh: their use is discouraged. The "ssh" protocol and package is a netkit-rsh: cryptographically secure replacement. netkit-rsh: netkit-rsh: |