From 1b9ae1a6bb771ee16908e66fa35dada514a8f36d Mon Sep 17 00:00:00 2001 From: Karolin Seeger Date: Fri, 9 Jan 2009 15:54:16 +0100 Subject: s3/smbpasswd: Check if Unix account exists before asking for the password. Admins shouldn't have to type in the password twice when the passdb account cannot be created because the Unix account is missing. Karolin --- source3/utils/smbpasswd.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'source3/utils') diff --git a/source3/utils/smbpasswd.c b/source3/utils/smbpasswd.c index d2652ad95a..93e2f81585 100644 --- a/source3/utils/smbpasswd.c +++ b/source3/utils/smbpasswd.c @@ -430,6 +430,15 @@ static int process_root(int local_flags) } if((local_flags & LOCAL_SET_PASSWORD) && (new_passwd == NULL)) { + struct passwd *passwd; + + passwd = getpwnam_alloc(NULL, user_name); + if (!passwd) { + DEBUG(0, ("Cannot locate Unix account for " + "'%s'!\n", user_name)); + exit(1);; + } + new_passwd = prompt_for_new_password(stdin_passwd_get); if(!new_passwd) { -- cgit