diff options
author | Gerald Carter <jerry@samba.org> | 2006-02-17 13:30:34 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 11:10:11 -0500 |
commit | 06b83fe35048c84dfd68be2ee656317c51e89bce (patch) | |
tree | a90e057e578d30f5cd24f2f231e5773bd397956c /source | |
parent | a2fb436fc5dd536cfe860be93f55f9cb58139a0e (diff) | |
download | samba-06b83fe35048c84dfd68be2ee656317c51e89bce.tar.gz samba-06b83fe35048c84dfd68be2ee656317c51e89bce.tar.xz samba-06b83fe35048c84dfd68be2ee656317c51e89bce.zip |
r13541: we have to wrap pen_enum_group_memberships() in become/unbecome_root()
blocks. This fixes the problem I had with missing groups in the
net_samlogon() reply from a Samba PDC.
Diffstat (limited to 'source')
-rw-r--r-- | source/auth/auth_sam.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/source/auth/auth_sam.c b/source/auth/auth_sam.c index fb53941b79f..2ab42f7e119 100644 --- a/source/auth/auth_sam.c +++ b/source/auth/auth_sam.c @@ -328,7 +328,11 @@ static NTSTATUS check_sam_security(const struct auth_context *auth_context, return nt_status; } - if (!NT_STATUS_IS_OK(nt_status = make_server_info_sam(server_info, sampass))) { + become_root(); + nt_status = make_server_info_sam(server_info, sampass); + unbecome_root(); + + if (!NT_STATUS_IS_OK(nt_status)) { DEBUG(0,("check_sam_security: make_server_info_sam() failed with '%s'\n", nt_errstr(nt_status))); pdb_free_sam(&sampass); data_blob_free(&user_sess_key); |