From f3e1f347a5beb70024aeda62c996d5f0b611aa8f Mon Sep 17 00:00:00 2001 From: Jamie Cameron Date: Wed, 14 Sep 2022 23:22:41 -0700 Subject: [PATCH] Disallow trailing / in home dir https://github.com/webmin/webmin/issues/1740 --- useradmin/lang/en | 1 + useradmin/save_user.cgi | 3 +++ 2 files changed, 4 insertions(+) diff --git a/useradmin/lang/en b/useradmin/lang/en index 020f9a05f..e050404b0 100644 --- a/useradmin/lang/en +++ b/useradmin/lang/en @@ -158,6 +158,7 @@ usave_ereal='$1' is not a valid real name usave_ehome='$1' is not a valid home directory usave_esgname='$1' is not a valid secondary group name usave_ehomepath=You are not allowed to create the home directory $1 +usave_ehomeslash=Home directory $1 cannot end with a / usave_eshell='$1' is not an allowable shell usave_egid='$1' is not a valid group usave_egcreate=You are not allowed to create new groups for new users diff --git a/useradmin/save_user.cgi b/useradmin/save_user.cgi index 3dbdd0597..1d79524b6 100755 --- a/useradmin/save_user.cgi +++ b/useradmin/save_user.cgi @@ -225,6 +225,9 @@ elsif ($config{'home_base'} && $in{'home_base'}) { } else { # Manual home directory chosen + if ($in{'home'} =~ /\/$/ && $in{'home'} ne '/') { + &error(&text('usave_ehomeslash', $in{'home'})); + } $user{'home'} = $in{'home'}; } $real_home ||= $user{'home'};