[SCM] Samba Shared Repository - branch v3-3-test updated - release-3-2-0pre2-3292-g3ab2e7f

Michael Adam obnox at samba.org
Fri Jul 18 12:37:35 GMT 2008


The branch, v3-3-test has been updated
       via  3ab2e7fada1f31e87337065b5bc30a7b92a6d117 (commit)
      from  772a76ceb3cd1c041db3ebb5abe449ac6180070e (commit)

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


- Log -----------------------------------------------------------------
commit 3ab2e7fada1f31e87337065b5bc30a7b92a6d117
Author: Michael Adam <obnox at samba.org>
Date:   Thu Jul 17 23:27:38 2008 +0200

    rpcclient: use level 5 or level 8 in dsgetncchanges command based on bind-info.
    
    Michael

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

Summary of changes:
 source/rpcclient/cmd_drsuapi.c |   34 ++++++++++++++++++++++++++--------
 1 files changed, 26 insertions(+), 8 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/rpcclient/cmd_drsuapi.c b/source/rpcclient/cmd_drsuapi.c
index 2593a43..a1604d8 100644
--- a/source/rpcclient/cmd_drsuapi.c
+++ b/source/rpcclient/cmd_drsuapi.c
@@ -319,6 +319,13 @@ static WERROR cmd_drsuapi_getncchanges(struct rpc_pipe_client *cli,
 	int32_t out_level = 0;
 	int y;
 
+	uint32_t supported_extensions = 0;
+	uint32_t replica_flags	= DRSUAPI_DS_REPLICA_NEIGHBOUR_WRITEABLE |
+				  DRSUAPI_DS_REPLICA_NEIGHBOUR_SYNC_ON_STARTUP |
+				  DRSUAPI_DS_REPLICA_NEIGHBOUR_DO_SCHEDULED_SYNCS |
+				  DRSUAPI_DS_REPLICA_NEIGHBOUR_RETURN_OBJECT_PARENTS |
+				  DRSUAPI_DS_REPLICA_NEIGHBOUR_NEVER_SYNCED;
+
 	if (argc > 2) {
 		printf("usage: %s naming_context_dn\n", argv[0]);
 		return WERR_OK;
@@ -384,6 +391,12 @@ static WERROR cmd_drsuapi_getncchanges(struct rpc_pipe_client *cli,
 		return werr;
 	}
 
+	if (bind_info.length == 24) {
+		supported_extensions = bind_info.info.info24.supported_extensions;
+	} else if (bind_info.length == 28) {
+		supported_extensions = bind_info.info.info28.supported_extensions;
+	}
+
 	if (!nc_dn) {
 
 		union drsuapi_DsNameCtr crack_ctr;
@@ -421,14 +434,19 @@ static WERROR cmd_drsuapi_getncchanges(struct rpc_pipe_client *cli,
 	nc.guid = GUID_zero();
 	nc.sid = null_sid;
 
-	req.req8.naming_context		= &nc;
-	req.req8.replica_flags		= DRSUAPI_DS_REPLICA_NEIGHBOUR_WRITEABLE |
-					  DRSUAPI_DS_REPLICA_NEIGHBOUR_SYNC_ON_STARTUP |
-					  DRSUAPI_DS_REPLICA_NEIGHBOUR_DO_SCHEDULED_SYNCS |
-					  DRSUAPI_DS_REPLICA_NEIGHBOUR_RETURN_OBJECT_PARENTS |
-					  DRSUAPI_DS_REPLICA_NEIGHBOUR_NEVER_SYNCED;
-	req.req8.max_object_count	= 402;
-	req.req8.max_ndr_size		= 402116;
+	if (supported_extensions & DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V8) {
+		level = 8;
+		req.req8.naming_context		= &nc;
+		req.req8.replica_flags		= replica_flags;
+		req.req8.max_object_count	= 402;
+		req.req8.max_ndr_size		= 402116;
+	} else {
+		level = 5;
+		req.req5.naming_context		= &nc;
+		req.req5.replica_flags		= replica_flags;
+		req.req5.max_object_count	= 402;
+		req.req5.max_ndr_size		= 402116;
+	}
 
 	for (y=0; ;y++) {
 


-- 
Samba Shared Repository


More information about the samba-cvs mailing list