diff --git a/.gitignore b/.gitignore index 51f2cd2..fae6099 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ yp-tools-2.11.tar.bz2 /yp-tools-3.0.1.tar.bz2 /yp-tools-3.3.tar.bz2 /yp-tools-yp-tools-4.2.2.tar.gz +/v4.2.3.tar.gz diff --git a/sources b/sources index 33928cd..1320751 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (yp-tools-yp-tools-4.2.2.tar.gz) = da60b1be08432f61789cbd62a491996f47bfcbe296723d1984b4d0d2e755022e40e682cfd779597008c823e7fca2f115d85d446893f2b8ce001aba5744c2cfce +SHA512 (v4.2.3.tar.gz) = 2fcdaaeb8af4c3f62aa571a488c04561356681fc18b919ef728cfc1941578870cce74b136959f49e4ab04f988a79252163c1abe30b357788cb0b5faca7b5d147 diff --git a/yp-tools-2.11-shadow.patch b/yp-tools-2.11-shadow.patch deleted file mode 100644 index b468824..0000000 --- a/yp-tools-2.11-shadow.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up ./src/yppasswd.c.shadow ./src/yppasswd.c ---- ./src/yppasswd.c.shadow 2010-04-21 11:24:15.000000000 +0200 -+++ ./src/yppasswd.c 2013-05-06 22:31:39.984229577 +0200 -@@ -449,6 +449,7 @@ verifypassword (struct passwd *pwd, char - - passwdlen = get_passwd_len (pwd->pw_passwd); - if (pwd->pw_passwd[0] -+ && 0 != strcmp (pwd->pw_passwd, "x") /* don't check shadow passwords */ - && !strncmp (pwd->pw_passwd, crypt (pwdstr, pwd->pw_passwd), passwdlen) - && uid) - { diff --git a/yp-tools-2.12-adjunct.patch b/yp-tools-2.12-adjunct.patch index 01cda7e..a32b69d 100644 --- a/yp-tools-2.12-adjunct.patch +++ b/yp-tools-2.12-adjunct.patch @@ -1,14 +1,6 @@ diff -up yp-tools-2.12/src/yppasswd.c.adjunct yp-tools-2.12/src/yppasswd.c --- yp-tools-2.12/src/yppasswd.c.adjunct 2012-04-23 13:17:47.000988833 +0200 +++ yp-tools-2.12/src/yppasswd.c 2012-04-23 13:18:01.209802938 +0200 -@@ -450,6 +450,7 @@ - passwdlen = get_passwd_len (pwd->pw_passwd); - if (pwd->pw_passwd[0] - && 0 != strcmp (pwd->pw_passwd, "x") /* don't check shadow passwords */ -+ && 0 != strncmp (pwd->pw_passwd, "##", 2) /* don't check passwords using passwd.adjunct feature */ - && uid) - { - char *crypted = crypt(pwdstr, pwd->pw_passwd); @@ -774,6 +775,7 @@ /* We can't check the password with shadow passwords enabled. We * leave the checking to yppasswdd */ diff --git a/yp-tools-3.3-add_mapv4v6addr.h.patch b/yp-tools-3.3-add_mapv4v6addr.h.patch deleted file mode 100644 index f998460..0000000 --- a/yp-tools-3.3-add_mapv4v6addr.h.patch +++ /dev/null @@ -1,85 +0,0 @@ -diff -ruN yp-tools-3.3/nss_nis6/mapv4v6addr.h yp-tools-3.3-new/nss_nis6/mapv4v6addr.h ---- yp-tools-3.3/nss_nis6/mapv4v6addr.h 1970-01-01 01:00:00.000000000 +0100 -+++ yp-tools-3.3-new/nss_nis6/mapv4v6addr.h 2014-12-17 16:42:58.983438634 +0100 -@@ -0,0 +1,69 @@ -+/* -+ * ++Copyright++ 1985, 1988, 1993 -+ * - -+ * Copyright (c) 1985, 1988, 1993 -+ * The Regents of the University of California. All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions -+ * are met: -+ * 1. Redistributions of source code must retain the above copyright -+ * notice, this list of conditions and the following disclaimer. -+ * 2. Redistributions in binary form must reproduce the above copyright -+ * notice, this list of conditions and the following disclaimer in the -+ * documentation and/or other materials provided with the distribution. -+ * 4. Neither the name of the University nor the names of its contributors -+ * may be used to endorse or promote products derived from this software -+ * without specific prior written permission. -+ * -+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -+ * SUCH DAMAGE. -+ * - -+ * Portions Copyright (c) 1993 by Digital Equipment Corporation. -+ * -+ * Permission to use, copy, modify, and distribute this software for any -+ * purpose with or without fee is hereby granted, provided that the above -+ * copyright notice and this permission notice appear in all copies, and that -+ * the name of Digital Equipment Corporation not be used in advertising or -+ * publicity pertaining to distribution of the document or software without -+ * specific, written prior permission. -+ * -+ * THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL -+ * WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES -+ * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT -+ * CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL -+ * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR -+ * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS -+ * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS -+ * SOFTWARE. -+ * - -+ * --Copyright-- -+ */ -+ -+#include -+#include -+ -+static void -+map_v4v6_address (const char *src, char *dst) -+{ -+ u_char *p = (u_char *) dst; -+ int i; -+ -+ /* Move the IPv4 part to the right position. */ -+ memcpy (dst + 12, src, INADDRSZ); -+ -+ /* Mark this ipv6 addr as a mapped ipv4. */ -+ for (i = 0; i < 10; i++) -+ *p++ = 0x00; -+ *p++ = 0xff; -+ *p = 0xff; -+} -diff -ruN yp-tools-3.3/nss_nis6/nis-hosts.c yp-tools-3.3-new/nss_nis6/nis-hosts.c ---- yp-tools-3.3/nss_nis6/nis-hosts.c 2014-10-29 15:28:02.000000000 +0100 -+++ yp-tools-3.3-new/nss_nis6/nis-hosts.c 2014-12-17 16:43:46.308339552 +0100 -@@ -36,7 +36,7 @@ - #include "nss-nis6.h" - - /* Get implementation for some internal functions. */ --#include -+#include - - #define ENTNAME hostent - #define DATABASE "hosts" diff --git a/yp-tools-3.3-headers.patch b/yp-tools-3.3-headers.patch deleted file mode 100644 index a0af088..0000000 --- a/yp-tools-3.3-headers.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff -rup yp-tools-3.3-orig/lib/yp_xdr.c yp-tools-3.3/lib/yp_xdr.c ---- yp-tools-3.3-orig/lib/yp_xdr.c 2014-10-31 14:00:08.000000000 +0100 -+++ yp-tools-3.3/lib/yp_xdr.c 2015-04-15 15:53:29.854511186 +0200 -@@ -45,9 +45,9 @@ - #define XDRMAXRECORD (16 * 1024 * 1024) - - bool_t --xdr_ypstat (XDR *xdrs, ypstat *objp) -+xdr_ypstat (XDR *xdrs, enum ypbind_resptype * __objp) - { -- return xdr_enum (xdrs, (enum_t *) objp); -+ return xdr_enum (xdrs, (enum_t *) __objp); - } - - bool_t -Only in yp-tools-3.3/lib: .yp_xdr.c.swp diff --git a/yp-tools-4.2.3-yppasswd-exclamation_mark.patch b/yp-tools-4.2.3-yppasswd-exclamation_mark.patch new file mode 100644 index 0000000..c85be96 --- /dev/null +++ b/yp-tools-4.2.3-yppasswd-exclamation_mark.patch @@ -0,0 +1,15 @@ +diff -ur yp-tools-4.2.3/src/yppasswd.c yp-tools-4.2.3/src/yppasswd.c +--- yp-tools-4.2.3/src/yppasswd.c 2018-03-27 15:47:48.000000000 +0200 ++++ yp-tools-4.2.3/src/yppasswd.c 2022-08-16 19:02:41.727441211 +0200 +@@ -689,6 +689,11 @@ + } + } + ++ if (strchr(pwd->pw_passwd, '!') != NULL || strchr(pwd->pw_passwd, '*') != NULL) { ++ printf("%s: The account is locked or has no password. Please unlock the account or set an initial password\n", progname); ++ return 1; ++ } ++ + /* Initialize password information */ + memset (&yppwd, '\0', sizeof (yppwd)); + yppwd.newpw.pw_passwd = pwd->pw_passwd; diff --git a/yp-tools-4.2.3-yppasswd.patch b/yp-tools-4.2.3-yppasswd.patch new file mode 100644 index 0000000..4c680e3 --- /dev/null +++ b/yp-tools-4.2.3-yppasswd.patch @@ -0,0 +1,19 @@ + author Filip Januš (fjanus@redhat.com) + date 29. 10. 2019 + + +diff -ur yp-tools-4.2.3/src/yppasswd.c yp-tools-master/src/yppasswd.c +--- yp-tools-4.2.3/src/yppasswd.c 2018-03-27 15:47:48.000000000 +0200 ++++ yp-tools-master/src/yppasswd.c 2019-10-29 12:00:29.000000000 +0100 +@@ -281,6 +281,11 @@ + CLIENT *clnt; + + clnt = clnt_create (master, YPPROG, YPVERS, "udp"); ++ ++ /* clnt_create can return NULL in some cases */ ++ if (clnt == NULL) ++ return NULL; ++ + clnt->cl_auth = authunix_create_default (); + + if (name == NULL) diff --git a/yp-tools.spec b/yp-tools.spec index 8436fca..9e04312 100644 --- a/yp-tools.spec +++ b/yp-tools.spec @@ -1,19 +1,21 @@ Summary: NIS (or YP) client programs Name: yp-tools -Version: 4.2.2 -Release: 4%{?dist} -License: GPLv2 -Group: System Environment/Base -Source: http://www.linux-nis.org/download/yp-tools/yp-tools-yp-tools-%{version}.tar.gz -# Not sent to upstream -Patch0: yp-tools-2.11-shadow.patch -Patch3: yp-tools-2.12-hash.patch -Patch4: yp-tools-2.12-crypt.patch -Patch5: yp-tools-2.12-adjunct.patch -Patch6: yp-tools-3.3-add_mapv4v6addr.h.patch -Patch7: yp-tools-3.3-headers.patch -Patch8: yp-tools-4.2.2-strict-prototypes.patch -Url: http://www.linux-nis.org/nis/yp-tools/index.html +Version: 4.2.3 +Release: 23%{?dist} +License: GPL-2.0-only + +URL: https://www.thkukuk.de/nis/nis/yp-tools/ +Source: https://github.com/thkukuk/yp-tools/archive/v%{version}.tar.gz + +Patch1: yp-tools-2.12-hash.patch +Patch2: yp-tools-2.12-crypt.patch +Patch3: yp-tools-2.12-adjunct.patch +Patch4: yp-tools-4.2.2-strict-prototypes.patch +Patch5: yp-tools-4.2.3-yppasswd.patch +Patch6: yp-tools-4.2.3-yppasswd-exclamation_mark.patch + +BuildRequires: make +BuildRequires: libxcrypt-devel BuildRequires: autoconf, automake, gettext-devel, libtool, libtirpc-devel, libnsl2-devel Requires: ypbind >= 3:2.4-2 Requires: glibc @@ -42,7 +44,6 @@ you'll need to install the ypserv package on one machine on the network. %package devel Summary: NIS (or YP) client programs -Group: System Environment/Base Requires: yp-tools %description devel @@ -50,20 +51,15 @@ Install yp-tools-devel package for developing applications that use yp-tools %prep -%setup -q -n %{name}-%{name}-%{version} -#%patch0 -p1 -b .shadow -%patch3 -p1 -b .hash -%patch4 -p1 -b .crypt -#%patch5 -p1 -b .adjunct -%patch8 -p1 -b .strict-prototypes - +%autosetup -n %{name}-%{version} -p1 autoreconf -i -f -v %build -export CFLAGS="$CFLAGS %{optflags}" +export CFLAGS="$CFLAGS %{optflags} -Wno-cast-function-type" +# If needed the yppasswd can be deprecated by --enable-call-passwd %configure --disable-domainname %make_build @@ -84,6 +80,87 @@ make DESTDIR="$RPM_BUILD_ROOT" INSTALL_PROGRAM=install install /var/yp/nicknames %changelog +* Fri Jul 17 2026 Fedora Release Engineering - 4.2.3-23 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild + +* Sat Jan 17 2026 Fedora Release Engineering - 4.2.3-22 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + +* Fri Jul 25 2025 Fedora Release Engineering - 4.2.3-21 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Sat Feb 01 2025 Björn Esser - 4.2.3-20 +- Add explicit BR: libxcrypt-devel + +* Sun Jan 19 2025 Fedora Release Engineering - 4.2.3-19 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Sat Jul 20 2024 Fedora Release Engineering - 4.2.3-18 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Tue Jan 30 2024 Ondrej Sloup - 4.2.3-17 +- Update license tag to the SPDX format (GPL-2.0-only) +- Fix /etc/passwd flags for locked and deactivated account (rhbz#2093381) + +* Sat Jan 27 2024 Fedora Release Engineering - 4.2.3-16 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sat Jul 22 2023 Fedora Release Engineering - 4.2.3-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Sat Jan 21 2023 Fedora Release Engineering - 4.2.3-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Sat Jul 23 2022 Fedora Release Engineering - 4.2.3-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Sat Jan 22 2022 Fedora Release Engineering - 4.2.3-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Fri Nov 12 2021 Björn Esser - 4.2.3-11 +- Rebuild(libnsl2) + +* Fri Jul 23 2021 Fedora Release Engineering - 4.2.3-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Thu Jan 28 2021 Fedora Release Engineering - 4.2.3-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Wed Jul 29 2020 Fedora Release Engineering - 4.2.3-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Fri Jan 31 2020 Fedora Release Engineering - 4.2.3-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Tue Oct 29 2019 Filip Januš - 4.2.3-6 +- Add yppasswd patch +- Bug https://bugzilla.redhat.com/show_bug.cgi?id=1671452 +- Pull request https://github.com/thkukuk/yp-tools/pull/7 + +* Sat Jul 27 2019 Fedora Release Engineering - 4.2.3-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sun Feb 03 2019 Fedora Release Engineering - 4.2.3-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Mon Jan 14 2019 Björn Esser - 4.2.3-3 +- Rebuilt for libcrypt.so.2 (#1666033) + +* Sat Jul 14 2018 Fedora Release Engineering - 4.2.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Thu Apr 19 2018 Petr Kubat - 4.2.3-1 +- Update to version 4.2.3 + +* Thu Mar 15 2018 Matej Mužila - 4.2.2-7 +- Disable cast-function-type warning + +* Fri Feb 09 2018 Fedora Release Engineering - 4.2.2-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Sat Jan 20 2018 Björn Esser - 4.2.2-5 +- Rebuilt for switch to libxcrypt + * Thu Aug 03 2017 Fedora Release Engineering - 4.2.2-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild