svn commit: samba r20061 - in branches/SAMBA_4_0/source/libnet: .
metze at samba.org
metze at samba.org
Thu Dec 7 06:41:24 GMT 2006
Author: metze
Date: 2006-12-07 06:41:24 +0000 (Thu, 07 Dec 2006)
New Revision: 20061
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=20061
Log:
use a DsBindInfo28 structure
metze
Modified:
branches/SAMBA_4_0/source/libnet/libnet_unbecome_dc.c
Changeset:
Modified: branches/SAMBA_4_0/source/libnet/libnet_unbecome_dc.c
===================================================================
--- branches/SAMBA_4_0/source/libnet/libnet_unbecome_dc.c 2006-12-07 05:48:01 UTC (rev 20060)
+++ branches/SAMBA_4_0/source/libnet/libnet_unbecome_dc.c 2006-12-07 06:41:24 UTC (rev 20061)
@@ -49,6 +49,9 @@
struct dcerpc_pipe *pipe;
struct drsuapi_DsBind bind_r;
struct GUID bind_guid;
+ struct drsuapi_DsBindInfoCtr bind_info_ctr;
+ struct drsuapi_DsBindInfo28 local_info28;
+ struct drsuapi_DsBindInfo28 remote_info28;
struct policy_handle bind_handle;
struct drsuapi_DsRemoveDSServer rm_ds_srv_r;
} drsuapi;
@@ -397,11 +400,21 @@
{
struct composite_context *c = s->creq;
struct rpc_request *req;
+ struct drsuapi_DsBindInfo28 *bind_info28;
GUID_from_string(DRSUAPI_DS_BIND_GUID, &s->drsuapi.bind_guid);
+ bind_info28 = &s->drsuapi.local_info28;
+ bind_info28->supported_extensions = 0;
+ bind_info28->site_guid = GUID_zero();
+ bind_info28->u1 = 508;
+ bind_info28->repl_epoch = 0;
+
+ s->drsuapi.bind_info_ctr.length = 28;
+ s->drsuapi.bind_info_ctr.info.info28 = *bind_info28;
+
s->drsuapi.bind_r.in.bind_guid = &s->drsuapi.bind_guid;
- s->drsuapi.bind_r.in.bind_info = NULL;
+ s->drsuapi.bind_r.in.bind_info = &s->drsuapi.bind_info_ctr;
s->drsuapi.bind_r.out.bind_handle = &s->drsuapi.bind_handle;
req = dcerpc_drsuapi_DsBind_send(s->drsuapi.pipe, s, &s->drsuapi.bind_r);
@@ -424,6 +437,24 @@
return;
}
+ ZERO_STRUCT(s->drsuapi.remote_info28);
+ if (s->drsuapi.bind_r.out.bind_info) {
+ switch (s->drsuapi.bind_r.out.bind_info->length) {
+ case 24: {
+ struct drsuapi_DsBindInfo24 *info24;
+ info24 = &s->drsuapi.bind_r.out.bind_info->info.info24;
+ s->drsuapi.remote_info28.supported_extensions = info24->supported_extensions;
+ s->drsuapi.remote_info28.site_guid = info24->site_guid;
+ s->drsuapi.remote_info28.u1 = info24->u1;
+ s->drsuapi.remote_info28.repl_epoch = 0;
+ break;
+ }
+ case 28:
+ s->drsuapi.remote_info28 = s->drsuapi.bind_r.out.bind_info->info.info28;
+ break;
+ }
+ }
+
unbecomeDC_drsuapi_remove_ds_server_send(s);
}
More information about the samba-cvs
mailing list