mirror of
https://github.com/samba-team/samba.git
synced 2025-01-11 05:18:09 +03:00
r3875: Allow to look up at least or own sid in _lsa_lookup_sids.
This fixes Bugzilla #1076 and Exchange 5.5 SP4 can then be finally
installed on NT4 in a samba-controlled domain.
Guenther
(This used to be commit bb191c1098
)
This commit is contained in:
parent
d0bb5f9505
commit
7c93bdcdf8
@ -76,6 +76,13 @@ BOOL lookup_sid(const DOM_SID *sid, fstring dom_name, fstring name, enum SID_NAM
|
||||
/* Check if this is our own sid. This should perhaps be done by
|
||||
winbind? For the moment handle it here. */
|
||||
|
||||
if (sid->num_auths == 4 && sid_equal(get_global_sam_sid(), sid)) {
|
||||
DOM_SID tmp_sid;
|
||||
sid_copy(&tmp_sid, sid);
|
||||
return map_domain_sid_to_name(&tmp_sid, dom_name) &&
|
||||
local_lookup_sid(sid, name, name_type);
|
||||
}
|
||||
|
||||
if (sid->num_auths == 5) {
|
||||
DOM_SID tmp_sid;
|
||||
uint32 rid;
|
||||
|
@ -742,6 +742,14 @@ BOOL local_lookup_sid(const DOM_SID *sid, char *name, enum SID_NAME_USE *psid_na
|
||||
GROUP_MAP map;
|
||||
BOOL ret;
|
||||
|
||||
if (sid_equal(get_global_sam_sid(), sid)) {
|
||||
*psid_name_use = SID_NAME_DOMAIN;
|
||||
fstrcpy(name, "");
|
||||
DEBUG(5,("local_lookup_sid: SID is our own domain-sid: %s.\n",
|
||||
sid_string_static(sid)));
|
||||
return True;
|
||||
}
|
||||
|
||||
if (!sid_peek_check_rid(get_global_sam_sid(), sid, &rid)){
|
||||
DEBUG(0,("local_lookup_sid: sid_peek_check_rid return False! SID: %s\n",
|
||||
sid_string_static(&map.sid)));
|
||||
|
@ -281,8 +281,8 @@ static void init_lsa_trans_names(TALLOC_CTX *ctx, DOM_R_REF *ref, LSA_TRANS_NAME
|
||||
}
|
||||
dom_idx = init_dom_ref(ref, dom_name, &find_sid);
|
||||
|
||||
DEBUG(10,("init_lsa_trans_names: added user '%s\\%s' to "
|
||||
"referenced list.\n", dom_name, name ));
|
||||
DEBUG(10,("init_lsa_trans_names: added %s '%s\\%s' (%d) to referenced list.\n",
|
||||
sid_type_lookup(sid_name_use), dom_name, name, sid_name_use ));
|
||||
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user