diff options
author | Tim Potter <tpot@samba.org> | 2001-10-31 06:20:58 +0000 |
---|---|---|
committer | Tim Potter <tpot@samba.org> | 2001-10-31 06:20:58 +0000 |
commit | 6f0b8a38ec036a0027e9f938834e241b41db40c5 (patch) | |
tree | 3ed3e06329649d6843ed9b3f43f18e4cdf1d60f2 /source3/smbd | |
parent | eab05eac3998eeb9fb6fb635771370d645b5ff06 (diff) | |
download | samba-6f0b8a38ec036a0027e9f938834e241b41db40c5.tar.gz samba-6f0b8a38ec036a0027e9f938834e241b41db40c5.tar.bz2 samba-6f0b8a38ec036a0027e9f938834e241b41db40c5.zip |
Added some extra fields to the auth_serversupplied_info structure.
To obtain the full group membership of a user (i.e nested groups on a
win2k native mode server) it is necessary to merge this list of groups
with the groups returned by winbindd when creating an nt access token.
This breaks winbindd linking while AB and I sync up our changes to the
authentication subsystem.
(This used to be commit 4eeb7bcd783d7cfb3ac232f1faa035773007401d)
Diffstat (limited to 'source3/smbd')
-rw-r--r-- | source3/smbd/auth.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/source3/smbd/auth.c b/source3/smbd/auth.c index e76324213e..4bdbdf5555 100644 --- a/source3/smbd/auth.c +++ b/source3/smbd/auth.c @@ -129,6 +129,7 @@ NTSTATUS pass_check_smb_with_chal(char *smb_user, char *unix_user, auth_serversupplied_info server_info; AUTH_STR ourdomain, theirdomain, unix_username, smb_username, wksta_name; + NTSTATUS result; ZERO_STRUCT(user_info); ZERO_STRUCT(ourdomain); @@ -203,7 +204,11 @@ NTSTATUS pass_check_smb_with_chal(char *smb_user, char *unix_user, } - return check_password(&user_info, &server_info); + result = check_password(&user_info, &server_info); + + free_serversupplied_info(&server_info); /* No info needed */ + + return result; } NTSTATUS pass_check_smb(char *smb_user, char *unix_user, @@ -255,3 +260,10 @@ BOOL password_ok(char *user, char *password, int pwlen) return False; } + +/* Free a auth_serversupplied_info structure */ + +void free_serversupplied_info(auth_serversupplied_info *server_info) +{ + SAFE_FREE(server_info->group_rids); +} |