mirror of
https://github.com/samba-team/samba.git
synced 2025-02-02 09:47:23 +03:00
r6682: patch from Qiao Yang <qyang@stbernard.com> to use out own DC when getting the SID for a domain
(This used to be commit 2e0941ebc1d6a9a9498cc5a9f072d501293f8933)
This commit is contained in:
parent
555737a3fe
commit
a8360c4f6b
@ -286,16 +286,19 @@ NTSTATUS msrpc_name_to_sid(struct winbindd_domain *domain,
|
|||||||
const char *full_name;
|
const char *full_name;
|
||||||
int retry;
|
int retry;
|
||||||
|
|
||||||
DEBUG(3,("rpc: name_to_sid name=%s\n", name));
|
if(name == NULL || *name=='\0') {
|
||||||
|
DEBUG(3,("rpc: name_to_sid name=%s\n", domain_name));
|
||||||
|
full_name = talloc_asprintf(mem_ctx, "%s", domain_name);
|
||||||
|
} else {
|
||||||
|
DEBUG(3,("rpc: name_to_sid name=%s\\%s\n", domain_name, name));
|
||||||
full_name = talloc_asprintf(mem_ctx, "%s\\%s", domain_name, name);
|
full_name = talloc_asprintf(mem_ctx, "%s\\%s", domain_name, name);
|
||||||
|
}
|
||||||
if (!full_name) {
|
if (!full_name) {
|
||||||
DEBUG(0, ("talloc_asprintf failed!\n"));
|
DEBUG(0, ("talloc_asprintf failed!\n"));
|
||||||
return NT_STATUS_NO_MEMORY;
|
return NT_STATUS_NO_MEMORY;
|
||||||
}
|
}
|
||||||
|
|
||||||
DEBUG(3,("name_to_sid [rpc] %s for domain %s\n", name, domain_name ));
|
DEBUG(3,("name_to_sid [rpc] %s for domain %s\n", name?name:"", domain_name ));
|
||||||
|
|
||||||
retry = 0;
|
retry = 0;
|
||||||
do {
|
do {
|
||||||
|
@ -224,7 +224,7 @@ static void add_trusted_domains( struct winbindd_domain *domain )
|
|||||||
/* if the SID was empty, we better set it now */
|
/* if the SID was empty, we better set it now */
|
||||||
|
|
||||||
if ( sid_equal(&dom_sids[i], &null_sid) ) {
|
if ( sid_equal(&dom_sids[i], &null_sid) ) {
|
||||||
|
enum SID_NAME_USE type;
|
||||||
new_domain = find_domain_from_name(names[i]);
|
new_domain = find_domain_from_name(names[i]);
|
||||||
|
|
||||||
/* this should never happen */
|
/* this should never happen */
|
||||||
@ -237,7 +237,12 @@ static void add_trusted_domains( struct winbindd_domain *domain )
|
|||||||
/* call the cache method; which will operate on the winbindd_domain \
|
/* call the cache method; which will operate on the winbindd_domain \
|
||||||
passed in and choose either rpc or ads as appropriate */
|
passed in and choose either rpc or ads as appropriate */
|
||||||
|
|
||||||
result = domain->methods->domain_sid( new_domain, &new_domain->sid );
|
result = domain->methods->name_to_sid( domain,
|
||||||
|
mem_ctx,
|
||||||
|
new_domain->name,
|
||||||
|
NULL,
|
||||||
|
&new_domain->sid,
|
||||||
|
&type);
|
||||||
|
|
||||||
if ( NT_STATUS_IS_OK(result) )
|
if ( NT_STATUS_IS_OK(result) )
|
||||||
sid_copy( &dom_sids[i], &new_domain->sid );
|
sid_copy( &dom_sids[i], &new_domain->sid );
|
||||||
|
Loading…
x
Reference in New Issue
Block a user