From 1165591e7fa8a83f14ae3f05afad8aeae26daf7b Mon Sep 17 00:00:00 2001 From: Dmitry Morozovsky Date: Tue, 29 Jan 2019 10:21:41 +0000 Subject: [PATCH] Allow dashes as a valid character in UFS labels. Reviewed by: mckusick, imp, 0mp MFC after: 2 weeks Differential Revision: D18991 --- sbin/newfs/newfs.8 | 4 ++-- sbin/newfs/newfs.c | 4 ++-- sbin/tunefs/tunefs.8 | 4 ++-- sbin/tunefs/tunefs.c | 7 +++++-- 4 files changed, 11 insertions(+), 8 deletions(-) diff --git a/sbin/newfs/newfs.8 b/sbin/newfs/newfs.8 index 9a4acf86803..1e6814859cf 100644 --- a/sbin/newfs/newfs.8 +++ b/sbin/newfs/newfs.8 @@ -28,7 +28,7 @@ .\" @(#)newfs.8 8.6 (Berkeley) 5/3/95 .\" $FreeBSD$ .\" -.Dd July 7, 2017 +.Dd January 29, 2019 .Dt NEWFS 8 .Os .Sh NAME @@ -89,7 +89,7 @@ See for details. .It Fl L Ar volname Add a volume label to the new file system. -Legal characters are alphanumerics and underscores. +Legal characters are alphanumerics, dashes, and underscores. .It Fl N Cause the file system parameters to be printed out without really creating the file system. diff --git a/sbin/newfs/newfs.c b/sbin/newfs/newfs.c index 3c5d4fa08ca..232436c0aa7 100644 --- a/sbin/newfs/newfs.c +++ b/sbin/newfs/newfs.c @@ -153,10 +153,10 @@ main(int argc, char *argv[]) volumelabel = optarg; i = -1; while (isalnum(volumelabel[++i]) || - volumelabel[i] == '_'); + volumelabel[i] == '_' || volumelabel[i] == '-'); if (volumelabel[i] != '\0') { errx(1, "bad volume label. Valid characters " - "are alphanumerics and underscores."); + "are alphanumerics, dashes, and underscores."); } if (strlen(volumelabel) >= MAXVOLLEN) { errx(1, "bad volume label. Length is longer than %d.", diff --git a/sbin/tunefs/tunefs.8 b/sbin/tunefs/tunefs.8 index 00b9f41fb7f..065844a831c 100644 --- a/sbin/tunefs/tunefs.8 +++ b/sbin/tunefs/tunefs.8 @@ -28,7 +28,7 @@ .\" @(#)tunefs.8 8.2 (Berkeley) 12/11/93 .\" $FreeBSD$ .\" -.Dd April 19, 2016 +.Dd January 29, 2019 .Dt TUNEFS 8 .Os .Sh NAME @@ -112,7 +112,7 @@ By default sets it to half of the space reserved to minfree. .It Fl L Ar volname Add/modify an optional file system volume label. -Legal characters are alphanumerics and underscores. +Legal characters are alphanumerics, dashes, and underscores. .It Fl l Cm enable | disable Turn on/off MAC multilabel flag. .It Fl m Ar minfree diff --git a/sbin/tunefs/tunefs.c b/sbin/tunefs/tunefs.c index d1f1c36cf78..9ae879ec128 100644 --- a/sbin/tunefs/tunefs.c +++ b/sbin/tunefs/tunefs.c @@ -189,10 +189,13 @@ main(int argc, char *argv[]) name = "volume label"; Lvalue = optarg; i = -1; - while (isalnum(Lvalue[++i]) || Lvalue[i] == '_'); + while (isalnum(Lvalue[++i]) || Lvalue[i] == '_' || + Lvalue[i] == '-') + ; if (Lvalue[i] != '\0') { errx(10, "bad %s. Valid characters are " - "alphanumerics and underscores.", name); + "alphanumerics, dashes, and underscores.", + name); } if (strlen(Lvalue) >= MAXVOLLEN) { errx(10, "bad %s. Length is longer than %d.",