Projects
openEuler:24.03:SP1:Everything
rpcbind
_service:tar_scm:backport-debian-enable-rmt-cal...
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:tar_scm:backport-debian-enable-rmt-calls-with-r.patch of Package rpcbind
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
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2