|
|
a48e745 |
diff --git a/configure.ac b/configure.ac
|
|
|
a48e745 |
index 747a8bf..39181f0 100644
|
|
|
a48e745 |
--- a/configure.ac
|
|
|
a48e745 |
+++ b/configure.ac
|
|
|
a48e745 |
@@ -23,7 +23,7 @@ AC_ARG_WITH([statedir],
|
|
|
a48e745 |
AC_SUBST([statedir], [$with_statedir])
|
|
|
a48e745 |
|
|
|
a48e745 |
AC_ARG_WITH([rpcuser],
|
|
|
a48e745 |
- AS_HELP_STRING([--with-rpcuser=ARG], [use ARG for RPC @<:@default=root@:>@]),
|
|
|
a48e745 |
+ AS_HELP_STRING([--with-rpcuser=ARG], [use ARG for RPC @<:@default=root@:>@])
|
|
|
a48e745 |
,, [with_rpcuser=root])
|
|
|
a48e745 |
AC_SUBST([rpcuser], [$with_rpcuser])
|
|
|
a48e745 |
|
|
|
a48e745 |
diff --git a/man/rpcinfo.8 b/man/rpcinfo.8
|
|
|
a48e745 |
index 5ece18f..750ffce 100644
|
|
|
a48e745 |
--- a/man/rpcinfo.8
|
|
|
a48e745 |
+++ b/man/rpcinfo.8
|
|
|
a48e745 |
@@ -20,8 +20,7 @@
|
|
|
a48e745 |
.Nm "rpcinfo"
|
|
|
a48e745 |
.Fl l
|
|
|
a48e745 |
.Op Fl T Ar transport
|
|
|
a48e745 |
-.Ar host Ar prognum
|
|
|
a48e745 |
-.Op Ar versnum
|
|
|
a48e745 |
+.Ar host Ar prognum Ar versnum
|
|
|
a48e745 |
.Nm "rpcinfo"
|
|
|
a48e745 |
.Op Fl n Ar portnum
|
|
|
a48e745 |
.Fl u
|
|
|
a48e745 |
diff --git a/src/rpcbind.c b/src/rpcbind.c
|
|
|
a48e745 |
index 83dbe93..924aca1 100644
|
|
|
a48e745 |
--- a/src/rpcbind.c
|
|
|
a48e745 |
+++ b/src/rpcbind.c
|
|
|
a48e745 |
@@ -62,6 +62,7 @@
|
|
|
a48e745 |
#include <netconfig.h>
|
|
|
a48e745 |
#include <stdlib.h>
|
|
|
a48e745 |
#include <unistd.h>
|
|
|
a48e745 |
+#include <grp.h>
|
|
|
a48e745 |
#include <syslog.h>
|
|
|
a48e745 |
#include <err.h>
|
|
|
a48e745 |
#include <pwd.h>
|
|
|
a48e745 |
@@ -726,11 +727,9 @@ terminate(int dummy /*__unused*/)
|
|
|
a48e745 |
unlink(_PATH_RPCBINDSOCK);
|
|
|
a48e745 |
unlink(RPCBINDDLOCK);
|
|
|
a48e745 |
#ifdef WARMSTART
|
|
|
a48e745 |
- syslog(LOG_ERR,
|
|
|
a48e745 |
- "rpcbind terminating on signal. Restart with \"rpcbind -w\"");
|
|
|
a48e745 |
write_warmstart(); /* Dump yourself */
|
|
|
a48e745 |
#endif
|
|
|
a48e745 |
- exit(2);
|
|
|
a48e745 |
+ exit(0); /* exit gracefully */
|
|
|
a48e745 |
}
|
|
|
a48e745 |
|
|
|
a48e745 |
void
|
|
|
a48e745 |
diff --git a/src/util.c b/src/util.c
|
|
|
a48e745 |
index 9a5fb69..7d56479 100644
|
|
|
a48e745 |
--- a/src/util.c
|
|
|
a48e745 |
+++ b/src/util.c
|
|
|
a48e745 |
@@ -101,12 +101,14 @@ static void
|
|
|
a48e745 |
in6_fillscopeid(struct sockaddr_in6 *sin6)
|
|
|
a48e745 |
{
|
|
|
a48e745 |
u_int16_t ifindex;
|
|
|
a48e745 |
+ u_int16_t *addr;
|
|
|
a48e745 |
|
|
|
a48e745 |
if (IN6_IS_ADDR_LINKLOCAL(&sin6->sin6_addr)) {
|
|
|
a48e745 |
- ifindex = ntohs(*(u_int16_t *)&sin6->sin6_addr.s6_addr[2]);
|
|
|
a48e745 |
+ addr = (u_int16_t *)&sin6->sin6_addr.s6_addr[2];
|
|
|
a48e745 |
+ ifindex = ntohs(*addr);
|
|
|
a48e745 |
if (sin6->sin6_scope_id == 0 && ifindex != 0) {
|
|
|
a48e745 |
sin6->sin6_scope_id = ifindex;
|
|
|
a48e745 |
- *(u_int16_t *)&sin6->sin6_addr.s6_addr[2] = 0;
|
|
|
a48e745 |
+ *addr = 0;
|
|
|
a48e745 |
}
|
|
|
a48e745 |
}
|
|
|
a48e745 |
}
|