Compare commits

...
Sign in to create a new pull request.

2 commits

Author SHA1 Message Date
Steve Dickson
dcbd16476b Updated to latest upstream RC release: rpcbind-1_2_7-rc3
Signed-off-by: Steve Dickson <steved@redhat.com>
2024-03-18 16:53:18 -04:00
Steve Dickson
a3e445bd1a Updated to latest upstream RC release: rpcbind-1_2_7-rc2
Signed-off-by: Steve Dickson <steved@redhat.com>
2023-02-28 13:05:13 -05:00
7 changed files with 273 additions and 39 deletions

View file

@ -1,11 +1,11 @@
diff -up rpcbind-0.2.4/systemd/rpcbind.service.in.orig rpcbind-0.2.4/systemd/rpcbind.service.in
--- rpcbind-0.2.4/systemd/rpcbind.service.in.orig 2017-12-16 15:49:07.830889473 -0500
+++ rpcbind-0.2.4/systemd/rpcbind.service.in 2017-12-16 15:49:43.156610673 -0500
diff -up rpcbind-1.2.6/systemd/rpcbind.service.in.orig rpcbind-1.2.6/systemd/rpcbind.service.in
--- rpcbind-1.2.6/systemd/rpcbind.service.in.orig 2022-07-12 16:18:16.272919592 -0400
+++ rpcbind-1.2.6/systemd/rpcbind.service.in 2022-07-12 16:19:14.153189756 -0400
@@ -12,6 +12,7 @@ Wants=rpcbind.target
[Service]
Type=notify
# distro can provide a drop-in adding EnvironmentFile=-/??? if needed.
+EnvironmentFile=/etc/sysconfig/rpcbind
ExecStart=@_sbindir@/rpcbind $RPCBIND_OPTIONS -w -f
ExecStart=@_sbindir@/rpcbind $RPCBIND_OPTIONS @warmstarts_opt@ -f
[Install]

View file

@ -1,7 +1,7 @@
diff -up rpcbind-1.2.5/configure.ac.orig rpcbind-1.2.5/configure.ac
--- rpcbind-1.2.5/configure.ac.orig 2018-08-15 10:51:19.000000000 -0400
+++ rpcbind-1.2.5/configure.ac 2018-08-15 11:14:23.933946110 -0400
@@ -56,6 +56,17 @@ AC_ARG_WITH([systemdsystemunitdir],
diff -up rpcbind-1.2.6/configure.ac.orig rpcbind-1.2.6/configure.ac
--- rpcbind-1.2.6/configure.ac.orig 2022-07-12 16:21:09.682728993 -0400
+++ rpcbind-1.2.6/configure.ac 2022-07-12 16:21:41.137875815 -0400
@@ -62,6 +62,17 @@ AC_ARG_WITH([systemdsystemunitdir],
fi
AM_CONDITIONAL(SYSTEMD, [test -n "$with_systemdsystemunitdir" -a "x$with_systemdsystemunitdir" != xno ])
@ -19,9 +19,9 @@ diff -up rpcbind-1.2.5/configure.ac.orig rpcbind-1.2.5/configure.ac
AS_IF([test x$enable_libwrap = xyes], [
AC_CHECK_LIB([wrap], [hosts_access], ,
AC_MSG_ERROR([libwrap support requested but unable to find libwrap]))
diff -up rpcbind-1.2.5/Makefile.am.orig rpcbind-1.2.5/Makefile.am
--- rpcbind-1.2.5/Makefile.am.orig 2018-08-15 10:51:19.000000000 -0400
+++ rpcbind-1.2.5/Makefile.am 2018-08-15 11:14:23.934946111 -0400
diff -up rpcbind-1.2.6/Makefile.am.orig rpcbind-1.2.6/Makefile.am
--- rpcbind-1.2.6/Makefile.am.orig 2021-05-10 13:10:19.000000000 -0400
+++ rpcbind-1.2.6/Makefile.am 2022-07-12 16:21:41.137875815 -0400
@@ -59,6 +59,9 @@ rpcbind_LDADD += $(SYSTEMD_LIBS)
systemdsystemunit_DATA = \
systemd/rpcbind.service \
@ -32,9 +32,9 @@ diff -up rpcbind-1.2.5/Makefile.am.orig rpcbind-1.2.5/Makefile.am
endif
rpcinfo_SOURCES = src/rpcinfo.c
diff -up rpcbind-1.2.5/systemd/rpcbind.conf.orig rpcbind-1.2.5/systemd/rpcbind.conf
--- rpcbind-1.2.5/systemd/rpcbind.conf.orig 2018-08-15 11:14:23.934946111 -0400
+++ rpcbind-1.2.5/systemd/rpcbind.conf 2018-08-15 11:14:23.934946111 -0400
diff -up rpcbind-1.2.6/systemd/rpcbind.conf.orig rpcbind-1.2.6/systemd/rpcbind.conf
--- rpcbind-1.2.6/systemd/rpcbind.conf.orig 2022-07-12 16:21:41.137875815 -0400
+++ rpcbind-1.2.6/systemd/rpcbind.conf 2022-07-12 16:21:41.137875815 -0400
@@ -0,0 +1,2 @@
+#Type Path Mode UID GID Age Argument
+D /run/rpcbind 0700 rpc rpc - -

View file

@ -1,7 +1,7 @@
diff -up rpcbind-1.2.5/configure.ac.orig rpcbind-1.2.5/configure.ac
--- rpcbind-1.2.5/configure.ac.orig 2018-08-15 11:15:14.188974027 -0400
+++ rpcbind-1.2.5/configure.ac 2018-08-15 11:15:44.948991114 -0400
@@ -26,8 +26,8 @@ AC_ARG_ENABLE([rmtcalls],
diff -up rpcbind-1.2.6/configure.ac.orig rpcbind-1.2.6/configure.ac
--- rpcbind-1.2.6/configure.ac.orig 2022-07-12 16:23:15.409315832 -0400
+++ rpcbind-1.2.6/configure.ac 2022-07-12 16:23:33.242399069 -0400
@@ -32,8 +32,8 @@ AC_ARG_ENABLE([rmtcalls],
AM_CONDITIONAL(RMTCALLS, test x$enable_rmtcalls = xyes)
AC_ARG_WITH([statedir],
@ -12,9 +12,9 @@ diff -up rpcbind-1.2.5/configure.ac.orig rpcbind-1.2.5/configure.ac
AC_SUBST([statedir], [$with_statedir])
AC_ARG_WITH([rpcuser],
diff -up rpcbind-1.2.5/configure.orig rpcbind-1.2.5/configure
--- rpcbind-1.2.5/configure.orig 2018-08-15 11:00:32.000000000 -0400
+++ rpcbind-1.2.5/configure 2018-08-15 11:15:44.951991115 -0400
diff -up rpcbind-1.2.6/configure.orig rpcbind-1.2.6/configure
--- rpcbind-1.2.6/configure.orig 2021-05-10 13:13:18.000000000 -0400
+++ rpcbind-1.2.6/configure 2022-07-12 16:23:33.244399078 -0400
@@ -1391,7 +1391,7 @@ Optional Features:
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
@ -33,9 +33,9 @@ diff -up rpcbind-1.2.5/configure.orig rpcbind-1.2.5/configure
fi
statedir=$with_statedir
diff -up rpcbind-1.2.5/man/rpcbind-fr.8.orig rpcbind-1.2.5/man/rpcbind-fr.8
--- rpcbind-1.2.5/man/rpcbind-fr.8.orig 2018-08-15 10:51:19.000000000 -0400
+++ rpcbind-1.2.5/man/rpcbind-fr.8 2018-08-15 11:15:44.951991115 -0400
diff -up rpcbind-1.2.6/man/rpcbind-fr.8.orig rpcbind-1.2.6/man/rpcbind-fr.8
--- rpcbind-1.2.6/man/rpcbind-fr.8.orig 2021-05-10 13:10:19.000000000 -0400
+++ rpcbind-1.2.6/man/rpcbind-fr.8 2022-07-12 16:23:33.244399078 -0400
@@ -138,8 +138,8 @@ est redémarré.
.Xr rpcbind 3 ,
.Xr rpcinfo 8
@ -47,10 +47,10 @@ diff -up rpcbind-1.2.5/man/rpcbind-fr.8.orig rpcbind-1.2.5/man/rpcbind-fr.8
.Sh TRADUCTION
Aurelien CHARBON (Sept 2003)
.El
diff -up rpcbind-1.2.5/src/rpcbind.c.orig rpcbind-1.2.5/src/rpcbind.c
--- rpcbind-1.2.5/src/rpcbind.c.orig 2018-08-15 10:51:19.000000000 -0400
+++ rpcbind-1.2.5/src/rpcbind.c 2018-08-15 11:15:44.952991116 -0400
@@ -106,7 +106,7 @@ char *nss_modules = "files";
diff -up rpcbind-1.2.6/src/rpcbind.c.orig rpcbind-1.2.6/src/rpcbind.c
--- rpcbind-1.2.6/src/rpcbind.c.orig 2022-07-12 16:23:15.407315823 -0400
+++ rpcbind-1.2.6/src/rpcbind.c 2022-07-12 16:23:33.244399078 -0400
@@ -105,7 +105,7 @@ char *nss_modules = "files";
/* who to suid to if -s is given */
#define RUN_AS "daemon"

View file

@ -1,7 +1,7 @@
diff -up rpcbind-0.2.4/src/rpcbind.c.orig rpcbind-0.2.4/src/rpcbind.c
--- rpcbind-0.2.4/src/rpcbind.c.orig 2017-03-21 10:12:35.005190509 -0400
+++ rpcbind-0.2.4/src/rpcbind.c 2017-03-21 10:36:45.510507649 -0400
@@ -144,6 +144,8 @@ static void rbllist_add(rpcprog_t, rpcve
diff -up rpcbind-1.2.6/src/rpcbind.c.orig rpcbind-1.2.6/src/rpcbind.c
--- rpcbind-1.2.6/src/rpcbind.c.orig 2022-07-12 16:25:36.422972803 -0400
+++ rpcbind-1.2.6/src/rpcbind.c 2022-07-12 16:26:00.679085433 -0400
@@ -143,6 +143,8 @@ static void rbllist_add(rpcprog_t, rpcve
static void terminate(int);
static void parseargs(int, char *[]);
@ -10,7 +10,7 @@ diff -up rpcbind-0.2.4/src/rpcbind.c.orig rpcbind-0.2.4/src/rpcbind.c
int
main(int argc, char *argv[])
{
@@ -151,13 +153,21 @@ main(int argc, char *argv[])
@@ -150,13 +152,21 @@ main(int argc, char *argv[])
void *nc_handle; /* Net config handle */
struct rlimit rl;
int maxrec = RPC_MAXDATASIZE;

46
rpcbind-1.2.7-rc2.patch Normal file
View file

@ -0,0 +1,46 @@
diff --git a/configure.ac b/configure.ac
index c0ef896..c2069a2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -20,6 +20,12 @@ AM_CONDITIONAL(LIBSETDEBUG, test x$lib_setdebug = xyes)
AC_ARG_ENABLE([warmstarts],
AS_HELP_STRING([--enable-warmstarts], [Enables Warm Starts @<:@default=no@:>@]))
AM_CONDITIONAL(WARMSTART, test x$enable_warmstarts = xyes)
+AS_IF([test x$enable_warmstarts = xyes], [
+ warmstarts_opt=-w
+], [
+ warmstarts_opt=
+])
+AC_SUBST([warmstarts_opt], [$warmstarts_opt])
AC_ARG_ENABLE([rmtcalls],
AS_HELP_STRING([--enable-rmtcalls], [Enables Remote Calls @<:@default=no@:>@]))
diff --git a/src/rpcbind.c b/src/rpcbind.c
index 25d8a90..ecebe97 100644
--- a/src/rpcbind.c
+++ b/src/rpcbind.c
@@ -552,8 +552,10 @@ init_transport(struct netconfig *nconf)
syslog(LOG_ERR, "cannot bind %s on %s: %m",
(hosts[nhostsbak] == NULL) ? "*" :
hosts[nhostsbak], nconf->nc_netid);
- if (res != NULL)
+ if (res != NULL) {
freeaddrinfo(res);
+ res = NULL;
+ }
continue;
} else
checkbind++;
diff --git a/systemd/rpcbind.service.in b/systemd/rpcbind.service.in
index 7b1c74b..c892ca8 100644
--- a/systemd/rpcbind.service.in
+++ b/systemd/rpcbind.service.in
@@ -12,7 +12,7 @@ Wants=rpcbind.target
[Service]
Type=notify
# distro can provide a drop-in adding EnvironmentFile=-/??? if needed.
-ExecStart=@_sbindir@/rpcbind $RPCBIND_OPTIONS -w -f
+ExecStart=@_sbindir@/rpcbind $RPCBIND_OPTIONS @warmstarts_opt@ -f
[Install]
WantedBy=multi-user.target

177
rpcbind-1.2.7-rc3.patch Normal file
View file

@ -0,0 +1,177 @@
diff --git a/configure.ac b/configure.ac
index c0ef896..573e4fd 100644
--- a/configure.ac
+++ b/configure.ac
@@ -20,6 +20,12 @@ AM_CONDITIONAL(LIBSETDEBUG, test x$lib_setdebug = xyes)
AC_ARG_ENABLE([warmstarts],
AS_HELP_STRING([--enable-warmstarts], [Enables Warm Starts @<:@default=no@:>@]))
AM_CONDITIONAL(WARMSTART, test x$enable_warmstarts = xyes)
+AS_IF([test x$enable_warmstarts = xyes], [
+ warmstarts_opt=-w
+], [
+ warmstarts_opt=
+])
+AC_SUBST([warmstarts_opt], [$warmstarts_opt])
AC_ARG_ENABLE([rmtcalls],
AS_HELP_STRING([--enable-rmtcalls], [Enables Remote Calls @<:@default=no@:>@]))
@@ -44,6 +50,17 @@ AC_SUBST([nss_modules], [$with_nss_modules])
PKG_CHECK_MODULES([TIRPC], [libtirpc])
+CPPFLAGS=$TIRPC_CFLAGS
+AC_MSG_CHECKING([for abstract socket support in libtirpc])
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
+#include <rpc/rpc.h>
+],[
+char *path = _PATH_RPCBINDSOCK_ABSTRACT;
+])], [have_abstract=yes], [have_abstract=no])
+CPPFLAGS=
+AC_MSG_RESULT([$have_abstract])
+AM_CONDITIONAL(ABSTRACT, [ test "x$have_abstract" = "xyes" ])
+
PKG_PROG_PKG_CONFIG
AC_ARG_WITH([systemdsystemunitdir],
AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]),
@@ -70,4 +87,4 @@ AC_CHECK_HEADERS([nss.h])
AC_SUBST([_sbindir])
AC_CONFIG_COMMANDS_PRE([eval eval _sbindir=$sbindir])
-AC_OUTPUT([Makefile systemd/rpcbind.service])
+AC_OUTPUT([Makefile systemd/rpcbind.service systemd/rpcbind.socket])
diff --git a/src/rpcbind.c b/src/rpcbind.c
index 25d8a90..ecebe97 100644
--- a/src/rpcbind.c
+++ b/src/rpcbind.c
@@ -552,8 +552,10 @@ init_transport(struct netconfig *nconf)
syslog(LOG_ERR, "cannot bind %s on %s: %m",
(hosts[nhostsbak] == NULL) ? "*" :
hosts[nhostsbak], nconf->nc_netid);
- if (res != NULL)
+ if (res != NULL) {
freeaddrinfo(res);
+ res = NULL;
+ }
continue;
} else
checkbind++;
diff --git a/src/rpcinfo.c b/src/rpcinfo.c
index 0e14f78..006057a 100644
--- a/src/rpcinfo.c
+++ b/src/rpcinfo.c
@@ -311,29 +311,17 @@ main (int argc, char **argv)
return (0);
}
+/* Evaluate to actual length of the `sockaddr_un' structure, whether
+ * abstract or not.
+ */
+#include <stddef.h>
+#define SUN_LEN_A(ptr) (offsetof(struct sockaddr_un, sun_path) \
+ + 1 + strlen((ptr)->sun_path + 1))
+
static CLIENT *
local_rpcb (rpcprog_t prog, rpcvers_t vers)
{
-#if 0
- void *localhandle;
- struct netconfig *nconf;
CLIENT *clnt;
-
- localhandle = setnetconfig();
- while ((nconf = getnetconfig(localhandle)) != NULL) {
- if (nconf->nc_protofmly != NULL &&
- strcmp(nconf->nc_protofmly, NC_LOOPBACK) == 0)
- break;
- }
- if (nconf == NULL) {
- warnx("getnetconfig: %s", nc_sperror());
- return (NULL);
- }
-
- clnt = clnt_tp_create (/* "localhost"*/ NULL, prog, vers, nconf);
- endnetconfig(localhandle);
- return clnt;
-#else
struct netbuf nbuf;
struct sockaddr_un sun;
int sock;
@@ -344,13 +332,26 @@ local_rpcb (rpcprog_t prog, rpcvers_t vers)
return NULL;
sun.sun_family = AF_LOCAL;
+
+#ifdef _PATH_RPCBINDSOCK_ABSTRACT
+ memcpy(sun.sun_path, _PATH_RPCBINDSOCK_ABSTRACT,
+ sizeof(_PATH_RPCBINDSOCK_ABSTRACT));
+ nbuf.len = SUN_LEN_A (&sun);
+ nbuf.maxlen = sizeof (struct sockaddr_un);
+ nbuf.buf = &sun;
+
+ clnt = clnt_vc_create (sock, &nbuf, prog, vers, 0, 0);
+ if (clnt)
+ return clnt;
+#endif
+
strcpy (sun.sun_path, _PATH_RPCBINDSOCK);
nbuf.len = SUN_LEN (&sun);
nbuf.maxlen = sizeof (struct sockaddr_un);
nbuf.buf = &sun;
- return clnt_vc_create (sock, &nbuf, prog, vers, 0, 0);
-#endif
+ clnt = clnt_vc_create (sock, &nbuf, prog, vers, 0, 0);
+ return clnt;
}
#ifdef PORTMAP
diff --git a/systemd/rpcbind.service.in b/systemd/rpcbind.service.in
index 7b1c74b..c892ca8 100644
--- a/systemd/rpcbind.service.in
+++ b/systemd/rpcbind.service.in
@@ -12,7 +12,7 @@ Wants=rpcbind.target
[Service]
Type=notify
# distro can provide a drop-in adding EnvironmentFile=-/??? if needed.
-ExecStart=@_sbindir@/rpcbind $RPCBIND_OPTIONS -w -f
+ExecStart=@_sbindir@/rpcbind $RPCBIND_OPTIONS @warmstarts_opt@ -f
[Install]
WantedBy=multi-user.target
diff --git a/systemd/rpcbind.socket b/systemd/rpcbind.socket
index 3b1a936..685341c 100644
--- a/systemd/rpcbind.socket
+++ b/systemd/rpcbind.socket
@@ -6,6 +6,7 @@ Before=rpcbind.target
[Socket]
ListenStream=/run/rpcbind.sock
+#ListenStream=@/run/rpcbind.sock
# RPC netconfig can't handle ipv6/ipv4 dual sockets
BindIPv6Only=ipv6-only
diff --git a/systemd/rpcbind.socket.in b/systemd/rpcbind.socket.in
new file mode 100644
index 0000000..5dd09a1
--- /dev/null
+++ b/systemd/rpcbind.socket.in
@@ -0,0 +1,19 @@
+[Unit]
+Description=RPCbind Server Activation Socket
+DefaultDependencies=no
+Wants=rpcbind.target
+Before=rpcbind.target
+
+[Socket]
+ListenStream=/run/rpcbind.sock
+@ABSTRACT_TRUE@ListenStream=@/run/rpcbind.sock
+
+# RPC netconfig can't handle ipv6/ipv4 dual sockets
+BindIPv6Only=ipv6-only
+ListenStream=0.0.0.0:111
+ListenDatagram=0.0.0.0:111
+ListenStream=[::]:111
+ListenDatagram=[::]:111
+
+[Install]
+WantedBy=sockets.target

View file

@ -4,7 +4,7 @@
Name: rpcbind
Version: 1.2.6
Release: 4%{?dist}
Release: 4.rc3%{?dist}
Summary: Universal Addresses to RPC Program Number Mapper
License: BSD
URL: http://nfsv4.bullopensource.org
@ -22,6 +22,8 @@ Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd coreutils
Patch001: rpcbind-1.2.7-rc3.patch
Patch100: rpcbind-0.2.3-systemd-envfile.patch
Patch101: rpcbind-0.2.3-systemd-tmpfiles.patch
Patch102: rpcbind-0.2.4-runstatdir.patch
@ -39,11 +41,14 @@ RPC calls on a server on that machine.
%prep
%setup -q
%patch100 -p1
%patch101 -p1
%patch102 -p1
%patch103 -p1
%patch104 -p1
%patch 001 -p1
%patch 100 -p1
%patch 101 -p1
%patch 102 -p1
%patch 103 -p1
%patch 104 -p1
%build
autoreconf -fisv
%configure \
@ -119,6 +124,12 @@ fi
%attr(0700, %{rpcbind_user_group}, %{rpcbind_user_group}) %dir %{rpcbind_state_dir}
%changelog
* Mon Mar 18 2024 Steve Dickson <steved@redhat.com> 1.2.6-4.rc3
- Updated to latest upstream RC release: rpcbind-1_2_7-rc3
* Tue Feb 28 2023 Steve Dickson <steved@redhat.com> 1.2.6-4.rc2
- Updated to latest upstream RC release: rpcbind-1_2_7-rc2
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.6-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild