Fix handling of DNS names with '-' in them for sharenfs

An old FreeBSD bugzilla report PR#168158 notes that DNS
names with '-'s in them cannot be used for the sharenfs
property.  This patch fixes the parsing of these DNS names.
The only negative affect this patch might have is that,
if a user has incorrectly separated options with a '-'
the sharenfs setting will no longer work once this patch
is applied.

Reviewed by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Alexander Motin <mav@FreeBSD.org>
Signed-off-by: Rick Macklem <rmacklem@uoguelph.ca>
Closes #16529
This commit is contained in:
rmacklem 2024-09-17 13:56:26 -07:00 committed by GitHub
parent ec0209418f
commit 29c9e6c324
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -93,7 +93,9 @@ translate_opts(char *oldopts, FILE *out)
return (EOF); return (EOF);
newopts[0] = '\0'; newopts[0] = '\0';
s = oldopts; s = oldopts;
while ((o = strsep(&s, "-, ")) != NULL) { while ((o = strsep(&s, ", ")) != NULL) {
if (o[0] == '-')
o++;
if (o[0] == '\0') if (o[0] == '\0')
continue; continue;
for (i = 0; i < ARRAY_SIZE(known_opts); ++i) { for (i = 0; i < ARRAY_SIZE(known_opts); ++i) {