diff --git a/.gitignore b/.gitignore index fae6099..51f2cd2 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,3 @@ 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 1320751..33928cd 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (v4.2.3.tar.gz) = 2fcdaaeb8af4c3f62aa571a488c04561356681fc18b919ef728cfc1941578870cce74b136959f49e4ab04f988a79252163c1abe30b357788cb0b5faca7b5d147 +SHA512 (yp-tools-yp-tools-4.2.2.tar.gz) = da60b1be08432f61789cbd62a491996f47bfcbe296723d1984b4d0d2e755022e40e682cfd779597008c823e7fca2f115d85d446893f2b8ce001aba5744c2cfce diff --git a/yp-tools-2.11-shadow.patch b/yp-tools-2.11-shadow.patch new file mode 100644 index 0000000..b468824 --- /dev/null +++ b/yp-tools-2.11-shadow.patch @@ -0,0 +1,11 @@ +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 a32b69d..01cda7e 100644 --- a/yp-tools-2.12-adjunct.patch +++ b/yp-tools-2.12-adjunct.patch @@ -1,6 +1,14 @@ 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 new file mode 100644 index 0000000..f998460 --- /dev/null +++ b/yp-tools-3.3-add_mapv4v6addr.h.patch @@ -0,0 +1,85 @@ +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 new file mode 100644 index 0000000..a0af088 --- /dev/null +++ b/yp-tools-3.3-headers.patch @@ -0,0 +1,16 @@ +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 deleted file mode 100644 index c85be96..0000000 --- a/yp-tools-4.2.3-yppasswd-exclamation_mark.patch +++ /dev/null @@ -1,15 +0,0 @@ -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 deleted file mode 100644 index 4c680e3..0000000 --- a/yp-tools-4.2.3-yppasswd.patch +++ /dev/null @@ -1,19 +0,0 @@ - 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 9e04312..8436fca 100644 --- a/yp-tools.spec +++ b/yp-tools.spec @@ -1,21 +1,19 @@ Summary: NIS (or YP) client programs Name: yp-tools -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 +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 BuildRequires: autoconf, automake, gettext-devel, libtool, libtirpc-devel, libnsl2-devel Requires: ypbind >= 3:2.4-2 Requires: glibc @@ -44,6 +42,7 @@ 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 @@ -51,15 +50,20 @@ Install yp-tools-devel package for developing applications that use yp-tools %prep -%autosetup -n %{name}-%{version} -p1 +%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 + autoreconf -i -f -v %build -export CFLAGS="$CFLAGS %{optflags} -Wno-cast-function-type" +export CFLAGS="$CFLAGS %{optflags}" -# If needed the yppasswd can be deprecated by --enable-call-passwd %configure --disable-domainname %make_build @@ -80,87 +84,6 @@ 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