summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xlib/Vyatta/Login/User.pm9
-rw-r--r--templates/system/login/user/node.def8
2 files changed, 12 insertions, 5 deletions
diff --git a/lib/Vyatta/Login/User.pm b/lib/Vyatta/Login/User.pm
index d3e9b8bd..e03888cd 100755
--- a/lib/Vyatta/Login/User.pm
+++ b/lib/Vyatta/Login/User.pm
@@ -126,9 +126,14 @@ sub _delete_user {
sub _update_user {
my $user = shift;
my $cfg = new Vyatta::Config;
-
+ my $pwd = "";
+
$cfg->setLevel("system login user $user");
- my $pwd = $cfg->returnValue('authentication encrypted-password');
+ if ($cfg->exists('authentication encrypted-password')) {
+ $pwd = $cfg->returnValue('authentication encrypted-password');
+ } else {
+ $pwd = "!";
+ }
my $level = $cfg->returnValue('level');
my $fname = $cfg->returnValue('full-name');
my $home = $cfg->returnValue('home-directory');
diff --git a/templates/system/login/user/node.def b/templates/system/login/user/node.def
index caa53f1b..451cc078 100644
--- a/templates/system/login/user/node.def
+++ b/templates/system/login/user/node.def
@@ -5,7 +5,9 @@ help: User account information
syntax:expression: exec "/opt/vyatta/sbin/vyatta_check_username.pl $VAR(@)"
commit:expression: $VAR(@) == "" ||
+ $VAR(authentication/plaintext-password) != "" ||
+ $VAR(authentication/plaintext-password/@) = ""
+
+commit:expression: $VAR(@) == "" ||
$VAR(authentication/encrypted-password) != "" ||
- ( $VAR(authentication/plaintext-password) != "" &&
- $VAR(authentication/plaintext-password/@) != "")
- ; "user password must be specified"
+ $VAR(authentication/encrypted-password/@) = "!"