diff options
author | Gerald Carter <jerry@samba.org> | 2006-07-25 21:48:13 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 11:38:22 -0500 |
commit | dc4fec1f7d196cf7e18d4dd58149853011380ef9 (patch) | |
tree | fe2f114b8cecac66231b55096ecf2b4396c8c044 | |
parent | 6ac3a4ce78f42949013ae7bd675ff292fb0383ca (diff) | |
download | samba-dc4fec1f7d196cf7e18d4dd58149853011380ef9.tar.gz samba-dc4fec1f7d196cf7e18d4dd58149853011380ef9.tar.xz samba-dc4fec1f7d196cf7e18d4dd58149853011380ef9.zip |
r17246: BUG 3964: lower case username prior to getpwnam() call in smbpasswd
-rw-r--r-- | source/passdb/pdb_smbpasswd.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/source/passdb/pdb_smbpasswd.c b/source/passdb/pdb_smbpasswd.c index aec1db48b5d..c3f190ff30f 100644 --- a/source/passdb/pdb_smbpasswd.c +++ b/source/passdb/pdb_smbpasswd.c @@ -1192,6 +1192,7 @@ static BOOL build_sam_account(struct smbpasswd_privates *smbpasswd_state, struct samu *sam_pass, const struct smb_passwd *pw_buf) { struct passwd *pwfile; + fstring unix_username; if ( !sam_pass ) { DEBUG(5,("build_sam_account: struct samu is NULL\n")); @@ -1199,8 +1200,11 @@ static BOOL build_sam_account(struct smbpasswd_privates *smbpasswd_state, } /* verify the user account exists */ + + fstrcpy( unix_username, pw_buf->smb_name ); + strlower_m( unix_username ); - if ( !(pwfile = getpwnam_alloc(NULL, pw_buf->smb_name)) ) { + if ( !(pwfile = getpwnam_alloc(NULL, unix_username )) ) { DEBUG(0,("build_sam_account: smbpasswd database is corrupt! username %s with uid " "%u is not in unix passwd database!\n", pw_buf->smb_name, pw_buf->smb_userid)); return False; |