diff options
author | Gerald Carter <jerry@samba.org> | 2003-11-06 17:31:43 +0000 |
---|---|---|
committer | Gerald Carter <jerry@samba.org> | 2003-11-06 17:31:43 +0000 |
commit | 25d64aa855c23277cd4cb6cce4a52fa9a591307b (patch) | |
tree | b1a521125d4a0b08e2232d04c9acdb4154d1a553 | |
parent | bf6f61a3fc2e2281dc823fa511df41386bab61ef (diff) | |
download | samba-25d64aa855c23277cd4cb6cce4a52fa9a591307b.tar.gz samba-25d64aa855c23277cd4cb6cce4a52fa9a591307b.tar.bz2 samba-25d64aa855c23277cd4cb6cce4a52fa9a591307b.zip |
run krb5 logins through the username map if the winbindd lookup fails; bug 698
(This used to be commit f7798571178d18aae9c0be5f437838222bfc25b9)
-rw-r--r-- | source3/auth/auth_util.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/source3/auth/auth_util.c b/source3/auth/auth_util.c index 71634f08ed..dd0c0b02dd 100644 --- a/source3/auth/auth_util.c +++ b/source3/auth/auth_util.c @@ -952,14 +952,16 @@ static NTSTATUS fill_sam_account(TALLOC_CTX *mem_ctx, } /**************************************************************************** - Wrapper to allow the getpwnam() call to styrip the domain name and - try again in case a local UNIX user is already there. + Wrapper to allow the getpwnam() call to strip the domain name and + try again in case a local UNIX user is already there. Also run through + the username if we fallback to the username only. ****************************************************************************/ struct passwd *smb_getpwnam( char *domuser ) { struct passwd *pw; char *p; + fstring mapped_username; pw = Get_Pwnam( domuser ); if ( pw ) @@ -969,8 +971,11 @@ struct passwd *smb_getpwnam( char *domuser ) p = strchr( domuser, *lp_winbind_separator() ); - if ( p ) - return Get_Pwnam(p+1); + if ( p ) { + fstrcpy( mapped_username, p ); + map_username( mapped_username ); + return Get_Pwnam(mapped_username); + } return NULL; } |