summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--support/nfs/svc_create.c3
-rw-r--r--utils/mountd/mountd.c10
-rw-r--r--utils/mountd/mountd.man3
3 files changed, 13 insertions, 3 deletions
diff --git a/support/nfs/svc_create.c b/support/nfs/svc_create.c
index 9ae2965..6b9e85b 100644
--- a/support/nfs/svc_create.c
+++ b/support/nfs/svc_create.c
@@ -419,6 +419,9 @@ nfs_svc_create(char *name, const rpcprog_t program, const rpcvers_t version,
continue;
visible++;
+ if (!strcmp(nconf->nc_proto, NC_UDP) && !NFSCTL_UDPISSET(_rpcprotobits))
+ continue;
+
if (!strcmp(nconf->nc_proto, NC_TCP) && !NFSCTL_TCPISSET(_rpcprotobits))
continue;
diff --git a/utils/mountd/mountd.c b/utils/mountd/mountd.c
index f918472..9fe0f40 100644
--- a/utils/mountd/mountd.c
+++ b/utils/mountd/mountd.c
@@ -68,6 +68,7 @@ static struct option longopts[] =
{ "num-threads", 1, 0, 't' },
{ "reverse-lookup", 0, 0, 'r' },
{ "manage-gids", 0, 0, 'g' },
+ { "no-udp", 0, 0, 'u' },
{ NULL, 0, 0, 0 }
};
@@ -708,7 +709,7 @@ main(int argc, char **argv)
/* Parse the command line options and arguments. */
opterr = 0;
- while ((c = getopt_long(argc, argv, "o:nFd:f:p:P:hH:N:V:vrs:t:g", longopts, NULL)) != EOF)
+ while ((c = getopt_long(argc, argv, "o:nFd:f:p:P:hH:N:V:vurs:t:g", longopts, NULL)) != EOF)
switch (c) {
case 'g':
manage_gids = 1;
@@ -782,6 +783,9 @@ main(int argc, char **argv)
case 'v':
printf("%s version " VERSION "\n", progname);
exit(0);
+ case 'u':
+ NFSCTL_UDPUNSET(_rpcprotobits);
+ break;
case 0:
break;
case '?':
@@ -849,7 +853,7 @@ main(int argc, char **argv)
listeners += nfs_svc_create("mountd", MOUNTPROG,
MOUNTVERS_NFSV3, mount_dispatch, port);
if (version23() && listeners == 0)
- xlog(L_FATAL, "mountd: could not create listeners\n");
+ xlog(L_WARNING, "mountd: No V2 or V3 listeners created!");
sa.sa_handler = killer;
sigaction(SIGINT, &sa, NULL);
@@ -907,6 +911,6 @@ usage(const char *prog, int n)
" [-p|--port port] [-V version|--nfs-version version]\n"
" [-N version|--no-nfs-version version] [-n|--no-tcp]\n"
" [-H ha-callout-prog] [-s|--state-directory-path path]\n"
-" [-g|--manage-gids] [-t num|--num-threads=num]\n", prog);
+" [-g|--manage-gids] [-t num|--num-threads=num] [-u|--no-udp]\n", prog);
exit(n);
}
diff --git a/utils/mountd/mountd.man b/utils/mountd/mountd.man
index b60dc90..e59a559 100644
--- a/utils/mountd/mountd.man
+++ b/utils/mountd/mountd.man
@@ -181,6 +181,9 @@ threads are usually only needed for NFS servers which need to handle
mount storms of hundreds of NFS mounts in a few seconds, or when
your DNS server is slow or unreliable.
.TP
+.B \-u " or " \-\-no-udp
+Don't advertise UDP for mounting
+.TP
.B \-V " or " \-\-nfs-version
This option can be used to request that
.B rpc.mountd