diff options
Diffstat (limited to 'source/n/yptools')
-rw-r--r-- | source/n/yptools/yp-tools-2.14-glibc217-crypt.diff | 86 | ||||
-rw-r--r-- | source/n/yptools/ypbind-mt.gettid.diff | 22 | ||||
-rwxr-xr-x | source/n/yptools/yptools.SlackBuild | 19 |
3 files changed, 12 insertions, 115 deletions
diff --git a/source/n/yptools/yp-tools-2.14-glibc217-crypt.diff b/source/n/yptools/yp-tools-2.14-glibc217-crypt.diff deleted file mode 100644 index 148b06632..000000000 --- a/source/n/yptools/yp-tools-2.14-glibc217-crypt.diff +++ /dev/null @@ -1,86 +0,0 @@ -Starting with glibc 2.17 (eglibc 2.17), crypt() fails with EINVAL -(w/ NULL return) if the salt violates specifications. Additionally, -on FIPS-140 enabled Linux systems, DES/MD5-encrypted passwords -passed to crypt() fail with EPERM (w/ NULL return). - -If using glibc's crypt(), check return value to avoid a possible -NULL pointer dereference. - -Author: mancha - -==== - ---- yp-tools-2.14/src/yppasswd.c.orig 2010-04-21 -+++ yp-tools-2.14/src/yppasswd.c 2013-05-22 -@@ -423,6 +423,7 @@ static int /* return values: 0 = not ok, - verifypassword (struct passwd *pwd, char *pwdstr, uid_t uid) - { - char *p, *q; -+ char *crypted_pass; - int ucase, lcase, other, r; - int passwdlen; - -@@ -448,12 +449,19 @@ verifypassword (struct passwd *pwd, char - } - - passwdlen = get_passwd_len (pwd->pw_passwd); -- if (pwd->pw_passwd[0] -- && !strncmp (pwd->pw_passwd, crypt (pwdstr, pwd->pw_passwd), passwdlen) -- && uid) -+ if (pwd->pw_passwd[0] && uid) - { -- fputs (_("You cannot reuse the old password.\n"), stderr); -- return 0; -+ crypted_pass = crypt (pwdstr, pwd->pw_passwd); -+ if (crypted_pass == NULL) -+ { -+ fputs (_("crypt() call failed.\n"), stderr); -+ return 0; -+ } -+ if (!strncmp (pwd->pw_passwd, crypted_pass, passwdlen)) -+ { -+ fputs (_("You cannot reuse the old password.\n"), stderr); -+ return 0; -+ } - } - - r = 0; -@@ -517,6 +525,7 @@ int - main (int argc, char **argv) - { - char *s, *progname, *domainname = NULL, *user = NULL, *master = NULL; -+ char *crypted_pass; - int f_flag = 0, l_flag = 0, p_flag = 0, error, status; - int hash_id = DES; - char rounds[11] = "\0"; /* max length is '999999999$' */ -@@ -738,7 +747,13 @@ main (int argc, char **argv) - char *sane_passwd = alloca (passwdlen + 1); - strncpy (sane_passwd, pwd->pw_passwd, passwdlen); - sane_passwd[passwdlen] = 0; -- if (strcmp (crypt (s, sane_passwd), sane_passwd)) -+ crypted_pass = crypt (s, sane_passwd); -+ if (crypted_pass == NULL) -+ { -+ fprintf (stderr, _("crypt() call failed.\n")); -+ return 1; -+ } -+ if (strcmp (crypted_pass, sane_passwd)) - { - fprintf (stderr, _("Sorry.\n")); - return 1; -@@ -833,7 +848,14 @@ main (int argc, char **argv) - break; - } - -- yppwd.newpw.pw_passwd = strdup (crypt (buf, salt)); -+ crypted_pass = crypt (buf, salt); -+ if (crypted_pass == NULL) -+ { -+ printf (_("crypt() call failed - password unchanged.\n")); -+ return 1; -+ } -+ -+ yppwd.newpw.pw_passwd = strdup (crypted_pass); - } - - if (f_flag) diff --git a/source/n/yptools/ypbind-mt.gettid.diff b/source/n/yptools/ypbind-mt.gettid.diff deleted file mode 100644 index 37496d857..000000000 --- a/source/n/yptools/ypbind-mt.gettid.diff +++ /dev/null @@ -1,22 +0,0 @@ ---- ./src/log_msg.c.orig 2011-08-31 08:13:22.000000000 -0500 -+++ ./src/log_msg.c 2019-08-20 12:44:45.474253136 -0500 -@@ -30,19 +30,6 @@ - #include "log_msg.h" - - #include <sys/syscall.h> --#ifdef __NR_gettid --static pid_t --gettid (void) --{ -- return syscall (__NR_gettid); --} --#else --pid_t --gettid (void) --{ -- return getpid (); --} --#endif - - int debug_flag = 0; - int logfile_flag = 0; diff --git a/source/n/yptools/yptools.SlackBuild b/source/n/yptools/yptools.SlackBuild index 379194278..4f1ce4ceb 100755 --- a/source/n/yptools/yptools.SlackBuild +++ b/source/n/yptools/yptools.SlackBuild @@ -1,6 +1,6 @@ #!/bin/bash -# Copyright 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2016, 2017, 2018 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2016, 2017, 2018, 2020 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -24,13 +24,13 @@ cd $(dirname $0) ; CWD=$(pwd) # Package version number: PKGNAM=yptools -VERSION=2.14 -BUILD=${BUILD:-12} +VERSION=4.2.3 +BUILD=${BUILD:-1} YPTOOLS=$VERSION -YPBINDMT=1.38 +YPBINDMT=2.7.2 #YPMAKE=0.11 -YPSERV=2.32.1 +YPSERV=4.1 # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then @@ -79,7 +79,13 @@ zcat $CWD/nsswitch.conf-nis.gz > $PKG/etc/nsswitch.conf-nis.new rm -rf yp-tools-$YPTOOLS tar xvf $CWD/yp-tools-$YPTOOLS.tar.?z || exit 1 cd yp-tools-$YPTOOLS || exit 1 -zcat $CWD/yp-tools-2.14-glibc217-crypt.diff.gz | patch -p1 --verbose || exit 1 +if [ ! -r configure ]; then + if [ -x ./autogen.sh ]; then + NOCONFIGURE=1 ./autogen.sh + else + autoreconf -vif + fi +fi ./configure \ --prefix=/usr \ --libdir=/usr/lib${LIBDIRSUFFIX} \ @@ -141,7 +147,6 @@ cd $TMP rm -rf ypbind-mt-$YPBINDMT tar xvf $CWD/ypbind-mt-$YPBINDMT.tar.?z || exit 1 cd ypbind-mt-$YPBINDMT || exit 1 -zcat $CWD/ypbind-mt.gettid.diff.gz | patch -p1 --verbose || exit 1 ./configure \ --prefix=/usr \ --libdir=/usr/lib${LIBDIRSUFFIX} \ |