enable rmt-calls with -r
This commit is contained in:
parent
1e158db931
commit
666cd89f79
139
backport-debian-enable-rmt-calls-with-r.patch
Normal file
139
backport-debian-enable-rmt-calls-with-r.patch
Normal file
@ -0,0 +1,139 @@
|
|||||||
|
Description: Add command line option to enable remote calls at runtime
|
||||||
|
instead build time
|
||||||
|
Author: Josue Ortega <josue@debian.org>
|
||||||
|
Last-Update: 2019-09-17
|
||||||
|
|
||||||
|
Conflict:NA
|
||||||
|
Reference:https://sources.debian.org/data/main/r/rpcbind/1.2.5-9/debian/patches/00-rmt-calls.patch
|
||||||
|
|
||||||
|
---
|
||||||
|
Makefile.am | 4 ----
|
||||||
|
configure.ac | 4 ----
|
||||||
|
man/rpcbind.8 | 7 ++++++-
|
||||||
|
src/rpcbind.c | 18 +++++++++++-------
|
||||||
|
4 files changed, 17 insertions(+), 16 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/Makefile.am b/Makefile.am
|
||||||
|
index bcdd69f..3efe198 100644
|
||||||
|
--- a/Makefile.am
|
||||||
|
+++ b/Makefile.am
|
||||||
|
@@ -29,10 +29,6 @@ if LIBWRAP
|
||||||
|
AM_CPPFLAGS += -DLIBWRAP
|
||||||
|
endif
|
||||||
|
|
||||||
|
-if RMTCALLS
|
||||||
|
-AM_CPPFLAGS += -DRMTCALLS
|
||||||
|
-endif
|
||||||
|
-
|
||||||
|
bin_PROGRAMS = rpcinfo
|
||||||
|
sbin_PROGRAMS = rpcbind
|
||||||
|
|
||||||
|
diff --git a/configure.ac b/configure.ac
|
||||||
|
index d2a0352..1402ff4 100644
|
||||||
|
--- a/configure.ac
|
||||||
|
+++ b/configure.ac
|
||||||
|
@@ -21,10 +21,6 @@ AC_ARG_ENABLE([warmstarts],
|
||||||
|
AS_HELP_STRING([--enable-warmstarts], [Enables Warm Starts @<:@default=no@:>@]))
|
||||||
|
AM_CONDITIONAL(WARMSTART, test x$enable_warmstarts = xyes)
|
||||||
|
|
||||||
|
-AC_ARG_ENABLE([rmtcalls],
|
||||||
|
- AS_HELP_STRING([--enable-rmtcalls], [Enables Remote Calls @<:@default=no@:>@]))
|
||||||
|
-AM_CONDITIONAL(RMTCALLS, test x$enable_rmtcalls = xyes)
|
||||||
|
-
|
||||||
|
AC_ARG_WITH([statedir],
|
||||||
|
AS_HELP_STRING([--with-statedir=ARG], [use ARG as state dir @<:@default=/run/rpcbind@:>@])
|
||||||
|
,, [with_statedir=/run/rpcbind])
|
||||||
|
diff --git a/man/rpcbind.8 b/man/rpcbind.8
|
||||||
|
index fbf0ace..2efd0e4 100644
|
||||||
|
--- a/man/rpcbind.8
|
||||||
|
+++ b/man/rpcbind.8
|
||||||
|
@@ -11,7 +11,7 @@
|
||||||
|
.Nd universal addresses to RPC program number mapper
|
||||||
|
.Sh SYNOPSIS
|
||||||
|
.Nm
|
||||||
|
-.Op Fl adhiLls
|
||||||
|
+.Op Fl adhiLlsr
|
||||||
|
.Sh DESCRIPTION
|
||||||
|
The
|
||||||
|
.Nm
|
||||||
|
@@ -149,6 +149,11 @@ to do a "warm start" by read a state file when
|
||||||
|
starts up. The state file is created when
|
||||||
|
.Nm
|
||||||
|
terminates.
|
||||||
|
+.It Fl r
|
||||||
|
+Turn on remote calls. Cause
|
||||||
|
+.Nm
|
||||||
|
+to open up random listening ports. Note that rpcinfo need this feature turned on
|
||||||
|
+for work properly. (This flag is a Debian extension.)
|
||||||
|
.El
|
||||||
|
.Sh NOTES
|
||||||
|
All RPC servers must be restarted if
|
||||||
|
diff --git a/src/rpcbind.c b/src/rpcbind.c
|
||||||
|
index 24f42f8..3223eda 100644
|
||||||
|
--- a/src/rpcbind.c
|
||||||
|
+++ b/src/rpcbind.c
|
||||||
|
@@ -87,6 +87,7 @@ int debugging = 0; /* Tell me what's going on */
|
||||||
|
int doabort = 0; /* When debugging, do an abort on errors */
|
||||||
|
int dofork = 1; /* fork? */
|
||||||
|
int createdsocket = 0; /* Did I create the socket or systemd did it for me? */
|
||||||
|
+int rmtcalls = 0; /* Remote calls */
|
||||||
|
|
||||||
|
rpcblist_ptr list_rbl; /* A list of version 3/4 rpcbind services */
|
||||||
|
|
||||||
|
@@ -807,12 +808,12 @@ got_socket:
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
-#ifdef RMTCALLS
|
||||||
|
+ if (rmtcalls) {
|
||||||
|
/*
|
||||||
|
* rmtcall only supported on CLTS transports for now.
|
||||||
|
*/
|
||||||
|
- if (nconf->nc_semantics == NC_TPI_CLTS) {
|
||||||
|
- status = create_rmtcall_fd(nconf);
|
||||||
|
+ if (nconf->nc_semantics == NC_TPI_CLTS) {
|
||||||
|
+ status = create_rmtcall_fd(nconf);
|
||||||
|
#ifdef RPCBIND_DEBUG
|
||||||
|
if (debugging) {
|
||||||
|
if (status < 0) {
|
||||||
|
@@ -825,8 +826,8 @@ got_socket:
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
- }
|
||||||
|
-#endif
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
|
||||||
|
if (res != NULL)
|
||||||
|
freeaddrinfo(res);
|
||||||
|
@@ -896,7 +897,7 @@ parseargs(int argc, char *argv[])
|
||||||
|
{
|
||||||
|
int c;
|
||||||
|
oldstyle_local = 1;
|
||||||
|
- while ((c = getopt(argc, argv, "adh:ilswf")) != -1) {
|
||||||
|
+ while ((c = getopt(argc, argv, "adh:ilswfr")) != -1) {
|
||||||
|
switch (c) {
|
||||||
|
case 'a':
|
||||||
|
doabort = 1; /* when debugging, do an abort on */
|
||||||
|
@@ -926,13 +927,16 @@ parseargs(int argc, char *argv[])
|
||||||
|
case 'f':
|
||||||
|
dofork = 0;
|
||||||
|
break;
|
||||||
|
+ case 'r':
|
||||||
|
+ rmtcalls = 1;
|
||||||
|
+ break;
|
||||||
|
#ifdef WARMSTART
|
||||||
|
case 'w':
|
||||||
|
warmstart = 1;
|
||||||
|
break;
|
||||||
|
#endif
|
||||||
|
default: /* error */
|
||||||
|
- fprintf(stderr, "usage: rpcbind [-adhilswf]\n");
|
||||||
|
+ fprintf(stderr, "usage: rpcbind [-adhilswfr]\n");
|
||||||
|
exit (1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
--
|
||||||
|
2.23.0
|
||||||
|
|
||||||
@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
Name: rpcbind
|
Name: rpcbind
|
||||||
Version: 1.2.6
|
Version: 1.2.6
|
||||||
Release: 3
|
Release: 4
|
||||||
Summary: Universal addresses to RPC program number mapper
|
Summary: Universal addresses to RPC program number mapper
|
||||||
License: BSD
|
License: BSD
|
||||||
|
|
||||||
@ -28,6 +28,7 @@ Patch104: %{name}-0.2.4-systemd-rundir.patch
|
|||||||
Patch105: bugfix-rpcbind-GETADDR-return-client-ip.patch
|
Patch105: bugfix-rpcbind-GETADDR-return-client-ip.patch
|
||||||
Patch6001: CVE-2017-8779.patch
|
Patch6001: CVE-2017-8779.patch
|
||||||
Patch6002: backport-fix-double-free-in-init_transport.patch
|
Patch6002: backport-fix-double-free-in-init_transport.patch
|
||||||
|
Patch6003: backport-debian-enable-rmt-calls-with-r.patch
|
||||||
Patch9000: bugfix-listen-tcp-port-111.patch
|
Patch9000: bugfix-listen-tcp-port-111.patch
|
||||||
|
|
||||||
Provides: portmap = %{version}-%{release}
|
Provides: portmap = %{version}-%{release}
|
||||||
@ -117,6 +118,12 @@ fi
|
|||||||
%{_mandir}/man8/*.8.gz
|
%{_mandir}/man8/*.8.gz
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Mar 30 2022 kircher <majun65@huawei.com> - 1.2.6-4
|
||||||
|
- Type:bugfix
|
||||||
|
- Id:NA
|
||||||
|
- SUG:NA
|
||||||
|
- DESC:enable rmt-calls with -r
|
||||||
|
|
||||||
* Mon Feb 28 2022 quanhongfei <quanhongfei@h-partners.com> - 1.2.6-3
|
* Mon Feb 28 2022 quanhongfei <quanhongfei@h-partners.com> - 1.2.6-3
|
||||||
- Type:bugfix
|
- Type:bugfix
|
||||||
- Id:NA
|
- Id:NA
|
||||||
|
|||||||
@ -1,3 +1,4 @@
|
|||||||
#
|
#
|
||||||
# Optional arguments passed to rpcbind. See rpcbind(8)
|
# Optional arguments passed to rpcbind. See rpcbind(8)
|
||||||
RPCBIND_ARGS=""
|
RPCBIND_ARGS=""
|
||||||
|
RPCBIND_OPTIONS="-r"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user