diff --git a/.gitignore b/.gitignore index e4eb807..cc8f29e 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,3 @@ ypserv-2.23.tar.bz2 /ypserv-2.32.1.tar.bz2 /ypserv-ypserv-4.0.tar.gz /ypserv-5bfba76.tar.gz -/ypserv-326857e.tar.gz -/v4.1.tar.gz -/v4.2.tar.gz diff --git a/sources b/sources index 25f6116..d03d59e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (v4.2.tar.gz) = dd25170de44294d6556db1f757468d4db4484965230cad11295137c6546443a2e4e0303ac417783d0308b2af0d40201955bf3db675c43db33ad87f6f9bc90246 +SHA512 (ypserv-5bfba76.tar.gz) = 5d1db94d6c607fb2fead26fd887b3d3fd064c772a677b543454264e1f34b7c54b9fd9c60b369ed2b2c5598649aff8f2d4555cc0e3f6ea81222943575ee694430 diff --git a/ypserv-4.0-headers.patch b/ypserv-4.0-headers.patch index 499af39..320558d 100644 --- a/ypserv-4.0-headers.patch +++ b/ypserv-4.0-headers.patch @@ -1,5 +1,5 @@ ---- ypserv-4.2/makedbm/makedbm.c.headers 2017-02-21 13:57:23.933293831 +0100 -+++ ypserv-4.2/makedbm/makedbm.c 2017-02-21 13:57:48.141286207 +0100 +--- makedbm/makedbm.c.headers 2017-02-21 13:57:23.933293831 +0100 ++++ makedbm/makedbm.c 2017-02-21 13:57:48.141286207 +0100 @@ -30,6 +30,7 @@ #include #include diff --git a/ypserv-4.2-implicit-int.patch b/ypserv-4.2-implicit-int.patch deleted file mode 100644 index 42c9a10..0000000 --- a/ypserv-4.2-implicit-int.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -ruN ypserv-4.2/configure.ac ypserv-4.2.orig/configure.ac ---- ypserv-4.2/configure.ac 2022-12-01 13:22:38.493164313 +0100 -+++ ypserv-4.2.orig/configure.ac 2022-12-01 13:13:06.411943797 +0100 -@@ -99,7 +99,7 @@ - AC_CACHE_CHECK(for -fpie, libc_cv_fpie, [dnl - cat > conftest.c < -Date: Tue, 1 Oct 2024 14:40:26 +0200 -Subject: [PATCH] Fix use of uninitialized variable as an value for sock opt - -Since it is possible to listen to IPv4 via IPv6 socket by default, we -have to disable this feature due to 'Disallow v4-in-v6 to allow -host-based access checks'. This also allows us to use the same port for -IPv4 and IPv6 socket. - -Disabling this feature is done via `setsockopt()` function where we pass -flag that we want to set - `IPV6_V6ONLY` and value. For value, we should -pass pointer to value and size of the value. We were passing pointer to -uninitialized integer as a value. This resulted in undefined behavior. - -Most likely, this undefined behavior resulted in the flag being set to -false. This also resulted in IPv4 and IPv6 not being able to share -the same port. This caused use of two neighboring ports instead of one. -When user then tried to set port in config file and then use port one -above it was not possible as it was already used. ---- - rpc.yppasswdd/yppasswdd.c | 2 +- - rpc.ypxfrd/ypxfrd.c | 2 +- - yppush/yppush.c | 3 ++- - ypserv/ypserv.c | 2 +- - 4 files changed, 5 insertions(+), 4 deletions(-) - -diff --git a/rpc.yppasswdd/yppasswdd.c b/rpc.yppasswdd/yppasswdd.c -index f9609eb..d7f6050 100644 ---- a/rpc.yppasswdd/yppasswdd.c -+++ b/rpc.yppasswdd/yppasswdd.c -@@ -476,7 +476,7 @@ main (int argc, char **argv) - { - /* Disallow v4-in-v6 to allow host-based access checks */ - -- int i; -+ int i = 1; - - if (setsockopt (sock, IPPROTO_IPV6, IPV6_V6ONLY, - &i, sizeof(i)) == -1) -diff --git a/rpc.ypxfrd/ypxfrd.c b/rpc.ypxfrd/ypxfrd.c -index f605c84..469e0e5 100644 ---- a/rpc.ypxfrd/ypxfrd.c -+++ b/rpc.ypxfrd/ypxfrd.c -@@ -385,7 +385,7 @@ main (int argc, char **argv) - { - /* Disallow v4-in-v6 to allow host-based access checks */ - -- int i; -+ int i = 1; - - if (setsockopt (sock, IPPROTO_IPV6, IPV6_V6ONLY, - &i, sizeof(i)) == -1) -diff --git a/yppush/yppush.c b/yppush/yppush.c -index d937b84..a5916be 100644 ---- a/yppush/yppush.c -+++ b/yppush/yppush.c -@@ -430,7 +430,8 @@ yppush_foreach (const char *host) - struct timeval tv = {10, 0}; - u_int transid; - char server[YPMAXPEER + 2]; -- int i, sock; -+ int i = 1; -+ int sock; - struct sigaction sig; - struct netconfig *nconf; - struct sockaddr *sa; -diff --git a/ypserv/ypserv.c b/ypserv/ypserv.c -index d8876e9..e27c2a4 100644 ---- a/ypserv/ypserv.c -+++ b/ypserv/ypserv.c -@@ -497,7 +497,7 @@ main (int argc, char **argv) - if (family == AF_INET6) - { - /* Disallow v4-in-v6 to allow host-based access checks */ -- int i; -+ int i = 1; - - if (setsockopt (sock, IPPROTO_IPV6, IPV6_V6ONLY, - &i, sizeof(i)) == -1) diff --git a/ypserv.spec b/ypserv.spec index 01a095e..34d1b13 100644 --- a/ypserv.spec +++ b/ypserv.spec @@ -1,12 +1,14 @@ +%global commit0 5bfba760283060087aefeb417342bcc66d349b2e +%global shortcommit0 %(c=%{commit0}; echo ${c:0:7}) + Summary: The NIS (Network Information Service) server - +Url: http://www.linux-nis.org/nis/ypserv/index.html Name: ypserv -Version: 4.2 -Release: 15%{?dist} -License: GPL-2.0-only -URL: https://www.thkukuk.de/nis/nis/ypserv/ - -Source0: https://github.com/thkukuk/%{name}/archive/v%{version}.tar.gz +Version: 4.0 +Release: 12.20170331git%{shortcommit0}%{?dist} +License: GPLv2 +Group: System Environment/Daemons +Source0: https://github.com/thkukuk/%{name}/archive/%{commit0}.tar.gz#/%{name}-%{shortcommit0}.tar.gz Source1: ypserv.service Source2: yppasswdd.service Source3: ypxfrd.service @@ -31,12 +33,9 @@ Patch7: ypserv-2.24-aliases.patch Patch8: ypserv-2.27-confpost.patch Patch10: ypserv-2.31-netgrprecur.patch Patch12: ypserv-4.0-headers.patch +Patch13: ypserv-4.0-oldaddr.patch Patch14: ypserv-4.0-selinux-context.patch -Patch15: ypserv-4.2-implicit-int.patch -Patch16: ypserv-4.2-uninitialized-int.patch -BuildRequires: make -BuildRequires: libxcrypt-devel BuildRequires: gcc BuildRequires: tokyocabinet-devel BuildRequires: systemd @@ -65,7 +64,21 @@ need to install the yp-tools and ypbind packages on any NIS client machines. %prep -%autosetup -n %{name}-%{version} -p1 + +%setup -q -n %{name}-%{commit0} + +%patch0 -p1 -b .redhat +%patch2 -p1 -b .nfsnobody +%patch3 -p1 -b .respzero +%patch4 -p1 -b .nonedomain +%patch5 -p1 -b .slp-warning +%patch6 -p1 -b .manfix +%patch7 -p1 -b .aliases +%patch8 -p1 -b .confpost +%patch10 -p1 -b .netgrprecur +%patch12 -b .headers +%patch13 -p1 -b .oldaddr +%patch14 -p1 -b .selinux-context # Delete generated man pages. They will be generated later from source. rm makedbm/makedbm.8 @@ -83,8 +96,6 @@ export CFLAGS="$RPM_OPT_FLAGS -fPIC" export CFLAGS="$RPM_OPT_FLAGS -fpic" %endif -# Fix gcc12 issues (#2047138) -export CFLAGS="$CFLAGS -Wno-format-overflow" %configure \ --enable-checkroot \ @@ -167,85 +178,6 @@ install -m 755 %{SOURCE4} $RPM_BUILD_ROOT%{_libexecdir}/rpc.yppasswdd.env %{_includedir}/rpcsvc %changelog -* Fri Jul 25 2025 Fedora Release Engineering - 4.2-15 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Sat Feb 01 2025 Björn Esser - 4.2-14 -- Add explicit BR: libxcrypt-devel - -* Sun Jan 19 2025 Fedora Release Engineering - 4.2-13 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Tue Jan 14 2025 Ales Nezbeda - 4.2-12 -- Fix uninitialized int causing different ports for IPv4 and IPv6 - -* Sat Jul 20 2024 Fedora Release Engineering - 4.2-11 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Tue Jan 30 2024 Ondrej Sloup - 4.2-10 -- Don't hard code _FORTIFY_SOURCE=2 -- Update license tag to the SPDX format (GPL-2.0-only) - -* Sat Jan 27 2024 Fedora Release Engineering - 4.2-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Sat Jul 22 2023 Fedora Release Engineering - 4.2-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Sat Jan 21 2023 Fedora Release Engineering - 4.2-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Thu Dec 01 2022 Timm Bäder - 4.2-6 -- Get rid of an implicit int during configure time -- See https://fedoraproject.org/wiki/Changes/PortingToModernC - -* Sat Jul 23 2022 Fedora Release Engineering - 4.2-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Tue Feb 01 2022 Marek Kulik - 4.2-4 -- Fix gcc12 compilation issues -- Resolves: #2047138 - -* Sat Jan 22 2022 Fedora Release Engineering - 4.2-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Fri Nov 12 2021 Björn Esser - 4.2-2 -- Rebuild(libnsl2) - -* Tue Sep 28 2021 Marek Kulik - 4.2-1 -- Update to new upstream version 4.2 - -* Fri Jul 23 2021 Fedora Release Engineering - 4.1-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 4.1-6 -- Rebuilt for updated systemd-rpm-macros - See https://pagure.io/fesco/issue/2583. - -* Thu Jan 28 2021 Fedora Release Engineering - 4.1-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Wed Jul 29 2020 Fedora Release Engineering - 4.1-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Fri Jan 31 2020 Fedora Release Engineering - 4.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Sat Jul 27 2019 Fedora Release Engineering - 4.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Tue Mar 19 2019 Matej Mužila - 4.1-1 -- Update to new upstream version 4.1 - -* Sun Feb 03 2019 Fedora Release Engineering - 4.0-15.20180831git326857e -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Mon Jan 14 2019 Björn Esser - 4.0-14.20180831git326857e -- Rebuilt for libcrypt.so.2 (#1666033) - -* Fri Aug 31 2018 Petr Kubat - 4.0-13.20180831git326857e -- Rebase ypserv to latest upstream commit - * Fri Jul 20 2018 Matej Mužila - 4.0-12.20170331git5bfba76 - rpc.yppasswd: presserve selinux context of shadow and passwd - Resolves: #1255583