[SCM] Samba Shared Repository - branch v4-0-test updated - release-4-0-0alpha5-137-g1f5704e

Michael Adam obnox at samba.org
Wed Jul 23 13:36:36 GMT 2008


The branch, v4-0-test has been updated
       via  1f5704e2dee5900e8d1d87699b76f67c0e12854e (commit)
       via  97e8d5813df19cae294b6de2a880606f0f8c2c59 (commit)
       via  7d80fab912576923c7474d77b8ed960b01296914 (commit)
       via  a8aea9274170a2b472c45c97a4904bd299d2a92e (commit)
      from  08618bbd508ede0bb9e1922fae562cffdca41cbd (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v4-0-test


- Log -----------------------------------------------------------------
commit 1f5704e2dee5900e8d1d87699b76f67c0e12854e
Author: Michael Adam <obnox at samba.org>
Date:   Wed Jul 23 15:34:45 2008 +0200

    drsuapi: always set the pid field of the outgoing DsBindInfo to 0.
    
    This is for debugging and informational purposes only.
    The assignment is implementation specific.
    (WSPP docs, sec. 5.35).
    
    Michael

commit 97e8d5813df19cae294b6de2a880606f0f8c2c59
Author: Michael Adam <obnox at samba.org>
Date:   Wed Jul 23 15:21:44 2008 +0200

    libnet_unbecome_dc: teach unbecomeDC_drsuapi_bind_recv() DsBindInfo48.
    
    ..to work agains w2k8.
    
    Michael

commit 7d80fab912576923c7474d77b8ed960b01296914
Author: Michael Adam <obnox at samba.org>
Date:   Wed Jul 23 15:18:57 2008 +0200

    libnet_become_cd: teach becomeDC_drsuapi_bind_recv() DsBindInfo48.
    
    To work with w2k8.
    
    Michael

commit a8aea9274170a2b472c45c97a4904bd299d2a92e
Author: Michael Adam <obnox at samba.org>
Date:   Wed Jul 23 14:07:06 2008 +0200

    dsdb: teach dreplsrv_out_drsuapi_bind_recv() knowledge of DsBindInfo48.
    
    To make it work against w2k8.
    
    Michael

-----------------------------------------------------------------------

Summary of changes:
 source/dsdb/repl/drepl_out_helpers.c |    9 +++++++++
 source/libnet/libnet_become_dc.c     |   16 ++++++++++------
 source/libnet/libnet_unbecome_dc.c   |   11 ++++++++++-
 source/torture/rpc/dssync.c          |    2 +-
 4 files changed, 30 insertions(+), 8 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/dsdb/repl/drepl_out_helpers.c b/source/dsdb/repl/drepl_out_helpers.c
index 0700867..345e3db 100644
--- a/source/dsdb/repl/drepl_out_helpers.c
+++ b/source/dsdb/repl/drepl_out_helpers.c
@@ -146,6 +146,15 @@ static void dreplsrv_out_drsuapi_bind_recv(struct rpc_request *req)
 			st->drsuapi->remote_info28.repl_epoch		= 0;
 			break;
 		}
+		case 48: {
+			struct drsuapi_DsBindInfo48 *info48;
+			info48 = &st->bind_r.out.bind_info->info.info48;
+			st->drsuapi->remote_info28.supported_extensions	= info48->supported_extensions;
+			st->drsuapi->remote_info28.site_guid		= info48->site_guid;
+			st->drsuapi->remote_info28.pid			= info48->pid;
+			st->drsuapi->remote_info28.repl_epoch		= info48->repl_epoch;
+			break;
+		}
 		case 28:
 			st->drsuapi->remote_info28 = st->bind_r.out.bind_info->info.info28;
 			break;
diff --git a/source/libnet/libnet_become_dc.c b/source/libnet/libnet_become_dc.c
index 31a9206..6a13974 100644
--- a/source/libnet/libnet_become_dc.c
+++ b/source/libnet/libnet_become_dc.c
@@ -1611,12 +1611,7 @@ static void becomeDC_drsuapi_bind_send(struct libnet_BecomeDC_state *s,
 	bind_info28->supported_extensions	|= DRSUAPI_SUPPORTED_EXTENSION_XPRESS_COMPRESS;
 #endif
 	bind_info28->site_guid			= s->dest_dsa.site_guid;
-	if (s->domain.behavior_version == 2) {
-		/* TODO: find out how this is really triggered! */
-		bind_info28->pid		= 528;
-	} else {
-		bind_info28->pid		= 516;
-	}
+	bind_info28->pid			= 0;
 	bind_info28->repl_epoch			= 0;
 
 	drsuapi->bind_info_ctr.length		= 28;
@@ -1649,6 +1644,15 @@ static WERROR becomeDC_drsuapi_bind_recv(struct libnet_BecomeDC_state *s,
 			drsuapi->remote_info28.repl_epoch		= 0;
 			break;
 		}
+		case 48: {
+			struct drsuapi_DsBindInfo48 *info48;
+			info48 = &drsuapi->bind_r.out.bind_info->info.info48;
+			drsuapi->remote_info28.supported_extensions	= info48->supported_extensions;
+			drsuapi->remote_info28.site_guid		= info48->site_guid;
+			drsuapi->remote_info28.pid			= info48->pid;
+			drsuapi->remote_info28.repl_epoch		= info48->repl_epoch;
+			break;
+		}
 		case 28:
 			drsuapi->remote_info28 = drsuapi->bind_r.out.bind_info->info.info28;
 			break;
diff --git a/source/libnet/libnet_unbecome_dc.c b/source/libnet/libnet_unbecome_dc.c
index e01af25..6a42fa2 100644
--- a/source/libnet/libnet_unbecome_dc.c
+++ b/source/libnet/libnet_unbecome_dc.c
@@ -574,7 +574,7 @@ static void unbecomeDC_drsuapi_bind_send(struct libnet_UnbecomeDC_state *s)
 	bind_info28				= &s->drsuapi.local_info28;
 	bind_info28->supported_extensions	= 0;
 	bind_info28->site_guid			= GUID_zero();
-	bind_info28->pid			= 508;
+	bind_info28->pid			= 0;
 	bind_info28->repl_epoch			= 0;
 
 	s->drsuapi.bind_info_ctr.length		= 28;
@@ -616,6 +616,15 @@ static void unbecomeDC_drsuapi_bind_recv(struct rpc_request *req)
 			s->drsuapi.remote_info28.repl_epoch		= 0;
 			break;
 		}
+		case 48: {
+			struct drsuapi_DsBindInfo48 *info48;
+			info48 = &s->drsuapi.bind_r.out.bind_info->info.info48;
+			s->drsuapi.remote_info28.supported_extensions	= info48->supported_extensions;
+			s->drsuapi.remote_info28.site_guid		= info48->site_guid;
+			s->drsuapi.remote_info28.pid			= info48->pid;
+			s->drsuapi.remote_info28.repl_epoch		= info48->repl_epoch;
+			break;
+		}
 		case 28:
 			s->drsuapi.remote_info28 = s->drsuapi.bind_r.out.bind_info->info.info28;
 			break;
diff --git a/source/torture/rpc/dssync.c b/source/torture/rpc/dssync.c
index 822cd08..2930a9b 100644
--- a/source/torture/rpc/dssync.c
+++ b/source/torture/rpc/dssync.c
@@ -154,7 +154,7 @@ static struct DsSyncTest *test_create_context(struct torture_context *tctx)
 		our_bind_info28->supported_extensions	|= DRSUAPI_SUPPORTED_EXTENSION_XPRESS_COMPRESS;
 	}
 	our_bind_info28->site_guid		= GUID_zero();
-	our_bind_info28->pid			= 508;
+	our_bind_info28->pid			= 0;
 	our_bind_info28->repl_epoch		= 0;
 
 	our_bind_info_ctr			= &ctx->new_dc.drsuapi.our_bind_info_ctr;


-- 
Samba Shared Repository


More information about the samba-cvs mailing list