svn commit: samba r6682 - in branches/SAMBA_3_0/source/nsswitch: .
jerry at samba.org
jerry at samba.org
Mon May 9 16:02:58 GMT 2005
Author: jerry
Date: 2005-05-09 16:02:57 +0000 (Mon, 09 May 2005)
New Revision: 6682
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=6682
Log:
patch from Qiao Yang <qyang at stbernard.com> to use out own DC when getting the SID for a domain
Modified:
branches/SAMBA_3_0/source/nsswitch/winbindd_rpc.c
branches/SAMBA_3_0/source/nsswitch/winbindd_util.c
Changeset:
Modified: branches/SAMBA_3_0/source/nsswitch/winbindd_rpc.c
===================================================================
--- branches/SAMBA_3_0/source/nsswitch/winbindd_rpc.c 2005-05-09 14:05:10 UTC (rev 6681)
+++ branches/SAMBA_3_0/source/nsswitch/winbindd_rpc.c 2005-05-09 16:02:57 UTC (rev 6682)
@@ -286,16 +286,19 @@
const char *full_name;
int retry;
- DEBUG(3,("rpc: name_to_sid name=%s\n", name));
-
- full_name = talloc_asprintf(mem_ctx, "%s\\%s", domain_name, 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);
+ }
if (!full_name) {
DEBUG(0, ("talloc_asprintf failed!\n"));
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;
do {
Modified: branches/SAMBA_3_0/source/nsswitch/winbindd_util.c
===================================================================
--- branches/SAMBA_3_0/source/nsswitch/winbindd_util.c 2005-05-09 14:05:10 UTC (rev 6681)
+++ branches/SAMBA_3_0/source/nsswitch/winbindd_util.c 2005-05-09 16:02:57 UTC (rev 6682)
@@ -224,7 +224,7 @@
/* if the SID was empty, we better set it now */
if ( sid_equal(&dom_sids[i], &null_sid) ) {
-
+ enum SID_NAME_USE type;
new_domain = find_domain_from_name(names[i]);
/* this should never happen */
@@ -237,7 +237,12 @@
/* call the cache method; which will operate on the winbindd_domain \
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) )
sid_copy( &dom_sids[i], &new_domain->sid );
More information about the samba-cvs
mailing list