Compare commits

..

No commits in common. "rawhide" and "f29" have entirely different histories.

6 changed files with 28 additions and 191 deletions

3
.gitignore vendored
View file

@ -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

View file

@ -1 +1 @@
SHA512 (v4.2.tar.gz) = dd25170de44294d6556db1f757468d4db4484965230cad11295137c6546443a2e4e0303ac417783d0308b2af0d40201955bf3db675c43db33ad87f6f9bc90246
SHA512 (ypserv-5bfba76.tar.gz) = 5d1db94d6c607fb2fead26fd887b3d3fd064c772a677b543454264e1f34b7c54b9fd9c60b369ed2b2c5598649aff8f2d4555cc0e3f6ea81222943575ee694430

View file

@ -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 <netdb.h>
#include <rpc/rpc.h>

View file

@ -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 <<EOF
int foo;
-main () { return 0;}
+int main () { return 0;}
EOF
if test "$USE_PIE" = "yes" &&
AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -pie -fpie

View file

@ -1,80 +0,0 @@
From 2bc35f9592c8abc850fc6d3343a29227b45eb054 Mon Sep 17 00:00:00 2001
From: Ales Nezbeda <anezbeda@redhat.com>
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)

View file

@ -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 <releng@fedoraproject.org> - 4.2-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Sat Feb 01 2025 Björn Esser <besser82@fedoraproject.org> - 4.2-14
- Add explicit BR: libxcrypt-devel
* Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 4.2-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Tue Jan 14 2025 Ales Nezbeda <anezbeda@redhat.com> - 4.2-12
- Fix uninitialized int causing different ports for IPv4 and IPv6
* Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 4.2-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Tue Jan 30 2024 Ondrej Sloup <osloup@redhat.com> - 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 <releng@fedoraproject.org> - 4.2-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 4.2-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 4.2-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Thu Dec 01 2022 Timm Bäder <tbaeder@redhat.com> - 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 <releng@fedoraproject.org> - 4.2-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Tue Feb 01 2022 Marek Kulik <mkulik@redhat.com> - 4.2-4
- Fix gcc12 compilation issues
- Resolves: #2047138
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 4.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Fri Nov 12 2021 Björn Esser <besser82@fedoraproject.org> - 4.2-2
- Rebuild(libnsl2)
* Tue Sep 28 2021 Marek Kulik <mkulik@redhat.com> - 4.2-1
- Update to new upstream version 4.2
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 4.1-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 4.1-6
- Rebuilt for updated systemd-rpm-macros
See https://pagure.io/fesco/issue/2583.
* Thu Jan 28 2021 Fedora Release Engineering <releng@fedoraproject.org> - 4.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 4.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Fri Jan 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 4.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 4.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Tue Mar 19 2019 Matej Mužila <mmuzila@redhat.com> - 4.1-1
- Update to new upstream version 4.1
* Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 4.0-15.20180831git326857e
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Mon Jan 14 2019 Björn Esser <besser82@fedoraproject.org> - 4.0-14.20180831git326857e
- Rebuilt for libcrypt.so.2 (#1666033)
* Fri Aug 31 2018 Petr Kubat <pkubat@redhat.com> - 4.0-13.20180831git326857e
- Rebase ypserv to latest upstream commit
* Fri Jul 20 2018 Matej Mužila <mmuzila@redhat.com> - 4.0-12.20170331git5bfba76
- rpc.yppasswd: presserve selinux context of shadow and passwd
- Resolves: #1255583