svn commit: r308454 - stable/9/usr.sbin/mountd
Rick Macklem
rmacklem at FreeBSD.org
Tue Nov 8 21:52:56 UTC 2016
Author: rmacklem
Date: Tue Nov 8 21:52:55 2016
New Revision: 308454
URL: https://svnweb.freebsd.org/changeset/base/308454
Log:
MFC: r307890
mountd(8) was erroneously setting the sysctl for the old NFS server
when the new/default NFS server was running, for the "-n" option.
This patch fixes the problem for stable/10 and stable/9.
Since the new NFS server uses vfs.nfsd.nfs_privport == 0 by default,
there wouldn't have been many users affected by the code not setting
it to 0 when the "-n" option was specified.
Modified:
stable/9/usr.sbin/mountd/mountd.c
Directory Properties:
stable/9/usr.sbin/mountd/ (props changed)
Modified: stable/9/usr.sbin/mountd/mountd.c
==============================================================================
--- stable/9/usr.sbin/mountd/mountd.c Tue Nov 8 21:47:00 2016 (r308453)
+++ stable/9/usr.sbin/mountd/mountd.c Tue Nov 8 21:52:55 2016 (r308454)
@@ -421,11 +421,20 @@ main(int argc, char **argv)
rpc_control(RPC_SVC_CONNMAXREC_SET, &maxrec);
if (!resvport_only) {
- if (sysctlbyname("vfs.nfsrv.nfs_privport", NULL, NULL,
- &resvport_only, sizeof(resvport_only)) != 0 &&
- errno != ENOENT) {
- syslog(LOG_ERR, "sysctl: %m");
- exit(1);
+ if (run_v4server != 0) {
+ if (sysctlbyname("vfs.nfsd.nfs_privport", NULL, NULL,
+ &resvport_only, sizeof(resvport_only)) != 0 &&
+ errno != ENOENT) {
+ syslog(LOG_ERR, "sysctl: %m");
+ exit(1);
+ }
+ } else {
+ if (sysctlbyname("vfs.nfsrv.nfs_privport", NULL, NULL,
+ &resvport_only, sizeof(resvport_only)) != 0 &&
+ errno != ENOENT) {
+ syslog(LOG_ERR, "sysctl: %m");
+ exit(1);
+ }
}
}
More information about the svn-src-stable-9
mailing list