make read_password a CLIHandler class method
[pve-access-control.git] / PVE / CLI / pveum.pm
index 772ba2949685b1c4f6eff4e532ee9009eb161217..b12a0bda29bcbbf495a4569676854cd5566a45ff 100755 (executable)
@@ -21,6 +21,18 @@ use PVE::CLIHandler;
 
 use base qw(PVE::CLIHandler);
 
+sub read_password {
+    # return $ENV{PVE_PW_TICKET} if defined($ENV{PVE_PW_TICKET});
+
+    my $term = new Term::ReadLine ('pveum');
+    my $attribs = $term->Attribs;
+    $attribs->{redisplay_function} = $attribs->{shadow_redisplay};
+    my $input = $term->readline('Enter new password: ');
+    my $conf = $term->readline('Retype new password: ');
+    die "Passwords do not match.\n" if ($input ne $conf);
+    return $input;
+}
+
 our $cmddef = {
     ticket => [ 'PVE::API2::AccessControl', 'create_ticket', ['username'], undef,
                sub {