diff options
author | Andrew Bartlett <abartlet@samba.org> | 2002-07-10 07:26:35 +0000 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2002-07-10 07:26:35 +0000 |
commit | 202202bc475f3b8500423b1a9ccf0adc80a4dc49 (patch) | |
tree | 7033e9913b221180393b0604e602ce01a8180818 | |
parent | 4be1c882be56ae0fe18bb134a1513e0e6f6965b0 (diff) | |
download | samba-202202bc475f3b8500423b1a9ccf0adc80a4dc49.tar.gz samba-202202bc475f3b8500423b1a9ccf0adc80a4dc49.tar.xz samba-202202bc475f3b8500423b1a9ccf0adc80a4dc49.zip |
If we get a SID from group mapping, no need to check it's prefix.
Just set it directly.
Andrew Bartlett
-rw-r--r-- | source/passdb/pdb_ldap.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/source/passdb/pdb_ldap.c b/source/passdb/pdb_ldap.c index 643d165e588..fd5ad7ee125 100644 --- a/source/passdb/pdb_ldap.c +++ b/source/passdb/pdb_ldap.c @@ -589,10 +589,14 @@ static BOOL init_sam_from_ldap (struct ldapsam_privates *ldap_state, get_single_attribute(ldap_struct, entry, "rid", temp); user_rid = (uint32)atol(temp); + + pdb_set_user_sid_from_rid(sampass, user_rid); + if (!get_single_attribute(ldap_struct, entry, "primaryGroupID", temp)) { group_rid = 0; } else { group_rid = (uint32)atol(temp); + pdb_set_group_sid_from_rid(sampass, group_rid); } if ((ldap_state->permit_non_unix_accounts) @@ -624,11 +628,10 @@ static BOOL init_sam_from_ldap (struct ldapsam_privates *ldap_state, GROUP_MAP map; /* call the mapping code here */ if(get_group_map_from_gid(gid, &map, MAPPING_WITHOUT_PRIV)) { - if (!sid_peek_check_rid(get_global_sam_sid(), &map.sid, &group_rid)) - return False; + pdb_set_group_sid(sampass, &map.sid); } else { - group_rid=pdb_gid_to_group_rid(gid); + pdb_set_group_sid_from_rid(sampass, pdb_gid_to_group_rid(gid)); } } } @@ -781,9 +784,6 @@ static BOOL init_sam_from_ldap (struct ldapsam_privates *ldap_state, pdb_set_hours_len(sampass, hours_len); pdb_set_logon_divs(sampass, logon_divs); - pdb_set_user_sid_from_rid(sampass, user_rid); - pdb_set_group_sid_from_rid(sampass, group_rid); - pdb_set_username(sampass, username); pdb_set_domain(sampass, domain); |