diff --git a/lib/chkname.c b/lib/chkname.c
index 8bde7a2d9..fd664cff4 100644
--- a/lib/chkname.c
+++ b/lib/chkname.c
@@ -35,9 +35,6 @@
#include "chkname.h"
-int allow_bad_names = false;
-
-
size_t
login_name_max_size(void)
{
@@ -55,10 +52,6 @@ login_name_max_size(void)
static bool
is_valid_name(const char *name)
{
- if (allow_bad_names) {
- return true;
- }
-
/*
* User/group names must match BRE regex:
* [a-zA-Z0-9_.][a-zA-Z0-9_.-]*$\?
diff --git a/man/newusers.8.xml b/man/newusers.8.xml
index 6812c7509..72da7253d 100644
--- a/man/newusers.8.xml
+++ b/man/newusers.8.xml
@@ -253,18 +253,6 @@
The options which apply to the newusers command are:
-
-
-
-
-
-
-
- Allow names that do not conform to standards.
-
-
-
-
,
diff --git a/man/pwck.8.xml b/man/pwck.8.xml
index 4eb820d66..3403de22f 100644
--- a/man/pwck.8.xml
+++ b/man/pwck.8.xml
@@ -159,16 +159,6 @@
The options which apply to the pwck command are:
-
-
-
-
-
-
- Allow names that do not conform to standards.
-
-
-
,
diff --git a/man/useradd.8.xml b/man/useradd.8.xml
index 001e7d14c..15af8de7b 100644
--- a/man/useradd.8.xml
+++ b/man/useradd.8.xml
@@ -103,16 +103,6 @@
The options which apply to the useradd command are:
-
-
-
-
-
-
- Allow names that do not conform to standards.
-
-
-
, BASE_DIR
diff --git a/man/usermod.8.xml b/man/usermod.8.xml
index 349248b6b..12829061c 100644
--- a/man/usermod.8.xml
+++ b/man/usermod.8.xml
@@ -84,16 +84,6 @@
-
-
- ,
-
-
-
- Allow names that do not conform to standards.
-
-
-
, COMMENT
diff --git a/src/newusers.c b/src/newusers.c
index 32d224d20..84e5092fc 100644
--- a/src/newusers.c
+++ b/src/newusers.c
@@ -112,7 +112,6 @@ static void check_perms (void);
static void open_files (void);
static void close_files (void);
-extern int allow_bad_names;
/*
* usage - display usage message and exit
@@ -125,7 +124,6 @@ static void usage (int status)
"\n"
"Options:\n"),
Prog);
- (void) fputs (_(" -b, --badname allow bad names\n"), usageout);
#ifndef USE_PAM
(void) fprintf (usageout,
_(" -c, --crypt-method METHOD the crypt method (one of %s)\n"),
@@ -386,17 +384,8 @@ static int add_user (const char *name, uid_t uid, gid_t gid)
{
struct passwd pwent;
- /* Check if this is a valid user name */
if (!is_valid_user_name(name)) {
- if (errno == EINVAL) {
- fprintf(stderr,
- _("%s: invalid user name '%s': use --badname to ignore\n"),
- Prog, name);
- } else {
- fprintf(stderr,
- _("%s: invalid user name '%s'\n"),
- Prog, name);
- }
+ fprintf(stderr, _("%s: invalid user name '%s'\n"), Prog, name);
return -1;
}
@@ -629,7 +618,6 @@ static void process_flags (int argc, char **argv)
#endif /* USE_SHA_CRYPT || USE_BCRYPT || USE_YESCRYPT */
#endif /* !USE_PAM */
static struct option long_options[] = {
- {"badname", no_argument, NULL, 'b'},
#ifndef USE_PAM
{"crypt-method", required_argument, NULL, 'c'},
#endif /* !USE_PAM */
@@ -656,9 +644,6 @@ static void process_flags (int argc, char **argv)
#endif
long_options, NULL)) != -1) {
switch (c) {
- case 'b':
- allow_bad_names = true;
- break;
#ifndef USE_PAM
case 'c':
crypt_method = optarg;
diff --git a/src/pwck.c b/src/pwck.c
index 271a2c21b..80cbc3c6d 100644
--- a/src/pwck.c
+++ b/src/pwck.c
@@ -76,7 +76,6 @@ static void close_files (bool changed);
static void check_pw_file (int *errors, bool *changed);
static void check_spw_file (int *errors, bool *changed);
-extern int allow_bad_names;
/*
* fail_exit - do some cleanup and exit with the given error code
@@ -133,7 +132,6 @@ usage (int status)
"Options:\n"),
Prog);
}
- (void) fputs (_(" -b, --badname allow bad names\n"), usageout);
(void) fputs (_(" -h, --help display this help message and exit\n"), usageout);
(void) fputs (_(" -q, --quiet report errors only\n"), usageout);
(void) fputs (_(" -r, --read-only display errors and warnings\n"
@@ -158,7 +156,6 @@ static void process_flags (int argc, char **argv)
{
int c;
static struct option long_options[] = {
- {"badname", no_argument, NULL, 'b'},
{"help", no_argument, NULL, 'h'},
{"quiet", no_argument, NULL, 'q'},
{"read-only", no_argument, NULL, 'r'},
@@ -173,9 +170,6 @@ static void process_flags (int argc, char **argv)
while ((c = getopt_long (argc, argv, "behqrR:s",
long_options, NULL)) != -1) {
switch (c) {
- case 'b':
- allow_bad_names = true;
- break;
case 'h':
usage (E_SUCCESS);
/*@notreached@*/break;
@@ -470,18 +464,8 @@ static void check_pw_file (int *errors, bool *changed)
}
}
- /*
- * Check for invalid usernames. --marekm
- */
-
if (!is_valid_user_name(pwd->pw_name)) {
- if (errno == EINVAL) {
- printf(_("invalid user name '%s': use --badname to ignore\n"),
- pwd->pw_name);
- } else {
- printf(_("invalid user name '%s'\n"),
- pwd->pw_name);
- }
+ printf(_("invalid user name '%s'\n"), pwd->pw_name);
*errors += 1;
}
diff --git a/src/useradd.c b/src/useradd.c
index 891fd1420..0c8a5e98d 100644
--- a/src/useradd.c
+++ b/src/useradd.c
@@ -150,7 +150,6 @@ static char **user_groups; /* NULL-terminated list */
static long sys_ngroups;
static bool do_grp_update = false; /* group files need to be updated */
-extern int allow_bad_names;
static bool
bflg = false, /* new default root of home directory */
@@ -893,7 +892,6 @@ static void usage (int status)
"\n"
"Options:\n"),
Prog, Prog, Prog);
- (void) fputs (_(" --badname do not check for bad names\n"), usageout);
(void) fputs (_(" -b, --base-dir BASE_DIR base directory for the home directory of the\n"
" new account\n"), usageout);
#ifdef WITH_BTRFS
@@ -1180,7 +1178,6 @@ static void process_flags (int argc, char **argv)
#ifdef WITH_BTRFS
{"btrfs-subvolume-home", no_argument, NULL, 200},
#endif
- {"badname", no_argument, NULL, 201},
{"comment", required_argument, NULL, 'c'},
{"home-dir", required_argument, NULL, 'd'},
{"defaults", no_argument, NULL, 'D'},
@@ -1237,9 +1234,6 @@ static void process_flags (int argc, char **argv)
case 200:
subvolflg = true;
break;
- case 201:
- allow_bad_names = true;
- break;
case 'c':
if (!VALID (optarg)) {
fprintf (stderr,
@@ -1534,15 +1528,9 @@ static void process_flags (int argc, char **argv)
user_name = argv[optind];
if (!is_valid_user_name(user_name)) {
- if (errno == EINVAL) {
- fprintf(stderr,
- _("%s: invalid user name '%s': use --badname to ignore\n"),
- Prog, user_name);
- } else {
- fprintf(stderr,
- _("%s: invalid user name '%s'\n"),
- Prog, user_name);
- }
+ fprintf(stderr,
+ _("%s: invalid user name '%s'\n"),
+ Prog, user_name);
#ifdef WITH_AUDIT
audit_logger (AUDIT_ADD_USER, Prog,
"adding user",
diff --git a/src/usermod.c b/src/usermod.c
index f33aec31e..9dd98b19b 100644
--- a/src/usermod.c
+++ b/src/usermod.c
@@ -207,7 +207,6 @@ static void update_faillog (void);
static void move_mailbox (void);
#endif
-extern int allow_bad_names;
/*
* get_groups - convert a list of group names to an array of group IDs
@@ -383,7 +382,6 @@ usage (int status)
(void) fputs (_(" -a, --append append the user to the supplemental GROUPS\n"
" mentioned by the -G option without removing\n"
" the user from other groups\n"), usageout);
- (void) fputs (_(" -b, --badname allow bad names\n"), usageout);
(void) fputs (_(" -c, --comment COMMENT new value of the GECOS field\n"), usageout);
(void) fputs (_(" -d, --home HOME_DIR new home directory for the user account\n"), usageout);
(void) fputs (_(" -e, --expiredate EXPIRE_DATE set account expiration date to EXPIRE_DATE\n"), usageout);
@@ -996,8 +994,6 @@ process_flags(int argc, char **argv)
int c;
static struct option long_options[] = {
{"append", no_argument, NULL, 'a'},
- {"badname", no_argument, NULL, 'b'},
- {"badnames", no_argument, NULL, 'b'},
{"comment", required_argument, NULL, 'c'},
{"home", required_argument, NULL, 'd'},
{"expiredate", required_argument, NULL, 'e'},
@@ -1041,9 +1037,6 @@ process_flags(int argc, char **argv)
case 'a':
aflg = true;
break;
- case 'b':
- allow_bad_names = true;
- break;
case 'c':
if (!VALID (optarg)) {
fprintf (stderr,
@@ -1118,15 +1111,9 @@ process_flags(int argc, char **argv)
/*@notreached@*/break;
case 'l':
if (!is_valid_user_name(optarg)) {
- if (errno == EINVAL) {
- fprintf(stderr,
- _("%s: invalid user name '%s': use --badname to ignore\n"),
- Prog, optarg);
- } else {
- fprintf(stderr,
- _("%s: invalid user name '%s'\n"),
- Prog, optarg);
- }
+ fprintf(stderr,
+ _("%s: invalid user name '%s'\n"),
+ Prog, optarg);
exit (E_BAD_ARG);
}
lflg = true;