[SCM] Samba Shared Repository - branch master updated

Andrew Tridgell tridge at samba.org
Wed Jan 13 22:08:20 MST 2010


The branch, master has been updated
       via  c663af8... s4-idl: get rid of the operation specific DRS options flags
       via  74a5719... s4-torture: switch smbtorture to the generic DRS options
       via  2008d24... s4-drs: switch the DRS server to the generic DRS options flags
       via  a5d6117... s4-torture: switch to generic DRS options flags
       via  88ec10b... s4-drepl: switch drepl over to using the generic DRS options flags
       via  60c5a5f... s4-idl: update the DRS_OPTIONS bits based on the latest WSPP docs
       via  6f806b7... s4-drs: Uses dsdb_load_partition_usn() with urgent_uSN in s4 code
       via  e30d009... s4-drs: Store uSNUrgent for Urgent Replication
      from  ac22445... s3:pdb_ldap: restore Samba 3.0.x behavior and use the first "uid" value.

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit c663af8b7b39fd24aae7666540e4e6211230aae0
Author: Andrew Tridgell <tridge at samba.org>
Date:   Thu Jan 14 14:40:53 2010 +1100

    s4-idl: get rid of the operation specific DRS options flags
    
    It was confusing to have several sets of incomplete options when WSPP
    uses a single set.

commit 74a571961464e104e6678ec249718138d7a6196c
Author: Andrew Tridgell <tridge at samba.org>
Date:   Thu Jan 14 14:38:18 2010 +1100

    s4-torture: switch smbtorture to the generic DRS options

commit 2008d24e91ce38ac928a71d0dc5147ecca0f2b24
Author: Andrew Tridgell <tridge at samba.org>
Date:   Thu Jan 14 14:38:00 2010 +1100

    s4-drs: switch the DRS server to the generic DRS options flags

commit a5d611706533bb23f11e4c10edad455e091b5073
Author: Andrew Tridgell <tridge at samba.org>
Date:   Thu Jan 14 14:37:40 2010 +1100

    s4-torture: switch to generic DRS options flags

commit 88ec10b7576b8767b370db1c27ffe703eae852c3
Author: Andrew Tridgell <tridge at samba.org>
Date:   Thu Jan 14 14:37:22 2010 +1100

    s4-drepl: switch drepl over to using the generic DRS options flags
    
    WSPP uses a single set of flags for all these DRS operations.

commit 60c5a5f39f6b5b709d3ecf97cbaed68f12181941
Author: Andrew Tridgell <tridge at samba.org>
Date:   Thu Jan 14 14:19:22 2010 +1100

    s4-idl: update the DRS_OPTIONS bits based on the latest WSPP docs

commit 6f806b7079b7e1bde2bb3bccb08b33e4fc65edc5
Author: Fernando J V da Silva <fernandojvsilva at yahoo.com.br>
Date:   Wed Jan 13 14:08:56 2010 -0200

    s4-drs: Uses dsdb_load_partition_usn() with urgent_uSN in s4 code
    
    Signed-off-by: Andrew Tridgell <tridge at samba.org>

commit e30d009965a789e8a4495609f8d19adb621df6f4
Author: Fernando J V da Silva <fernandojvsilva at yahoo.com.br>
Date:   Thu Jan 7 16:30:05 2010 -0200

    s4-drs: Store uSNUrgent for Urgent Replication
    
    When a object or attribute is created/updated/deleted, according
    to [MS-ADTS] 3.1.1.5.1.6, it stores the uSNUrgent on @REPLCHANGED
    for the partitions that it belongs.
    
    Signed-off-by: Andrew Tridgell <tridge at samba.org>

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

Summary of changes:
 librpc/gen_ndr/drsuapi.h                        |   40 +---
 librpc/gen_ndr/ndr_drsuapi.c                    |  303 +++--------------------
 librpc/gen_ndr/ndr_drsuapi.h                    |    5 -
 librpc/idl/drsuapi.idl                          |   61 ++----
 source4/dsdb/common/util.c                      |   28 ++-
 source4/dsdb/repl/drepl_notify.c                |    8 +-
 source4/dsdb/repl/drepl_out_helpers.c           |    6 +-
 source4/dsdb/repl/drepl_partitions.c            |    2 +-
 source4/dsdb/repl/replicated_objects.c          |    4 +-
 source4/dsdb/samdb/ldb_modules/repl_meta_data.c |  105 +++++++-
 source4/libnet/libnet_become_dc.c               |    5 +-
 source4/rpc_server/drsuapi/getncchanges.c       |    6 +-
 source4/rpc_server/drsuapi/updaterefs.c         |   10 +-
 source4/torture/rpc/drsuapi.c                   |    8 +-
 14 files changed, 197 insertions(+), 394 deletions(-)


Changeset truncated at 500 lines:

diff --git a/librpc/gen_ndr/drsuapi.h b/librpc/gen_ndr/drsuapi.h
index 1f5960d..6cc62a8 100644
--- a/librpc/gen_ndr/drsuapi.h
+++ b/librpc/gen_ndr/drsuapi.h
@@ -18,6 +18,7 @@
 /* bitmap drsuapi_DrsOptions */
 #define DRSUAPI_DRS_ASYNC_OP ( 0x00000001 )
 #define DRSUAPI_DRS_GETCHG_CHECK ( 0x00000002 )
+#define DRSUAPI_DRS_UPDATE_NOTIFICATION ( 0x00000002 )
 #define DRSUAPI_DRS_ADD_REF ( 0x00000004 )
 #define DRSUAPI_DRS_SYNC_ALL ( 0x00000008 )
 #define DRSUAPI_DRS_DEL_REF ( 0x00000008 )
@@ -36,9 +37,16 @@
 #define DRSUAPI_DRS_REF_OK ( 0x00004000 )
 #define DRSUAPI_DRS_FULL_SYNC_NOW ( 0x00008000 )
 #define DRSUAPI_DRS_NO_SOURCE ( 0x00008000 )
+#define DRSUAPI_DRS_FULL_SYNC_IN_PROGRESS ( 0x00010000 )
 #define DRSUAPI_DRS_FULL_SYNC_PACKET ( 0x00020000 )
+#define DRSUAPI_DRS_SYNC_REQUEUE ( 0x00040000 )
+#define DRSUAPI_DRS_SYNC_URGENT ( 0x00080000 )
 #define DRSUAPI_DRS_REF_GCSPN ( 0x00100000 )
-#define DRSUAPI_DRS_SPECIAL_SECRET_PROCESSING ( 0x00800000 )
+#define DRSUAPI_DRS_NO_DISCARD ( 0x00100000 )
+#define DRSUAPI_DRS_NEVER_SYNCED ( 0x00200000 )
+#define DRSUAPI_DRS_SPECIAL_SECRET_PROCESSING ( 0x00400000 )
+#define DRSUAPI_DRS_INIT_SYNC_NOW ( 0x00800000 )
+#define DRSUAPI_DRS_PREEMPTED ( 0x01000000 )
 #define DRSUAPI_DRS_SYNC_FORCED ( 0x02000000 )
 #define DRSUAPI_DRS_DISABLE_AUTO_SYNC ( 0x04000000 )
 #define DRSUAPI_DRS_DISABLE_PERIODIC_SYNC ( 0x08000000 )
@@ -726,13 +734,6 @@ union drsuapi_DsGetNCChangesCtr {
 	struct drsuapi_DsGetNCChangesCtr7 ctr7;/* [case(7)] */
 }/* [switch_type(int32)] */;
 
-/* bitmap drsuapi_DsReplicaUpdateRefsOptions */
-#define DRSUAPI_DS_REPLICA_UPDATE_ASYNCHRONOUS_OPERATION ( 0x00000001 )
-#define DRSUAPI_DS_REPLICA_UPDATE_GETCHG_CHECK ( 0x00000002 )
-#define DRSUAPI_DS_REPLICA_UPDATE_ADD_REFERENCE ( 0x00000004 )
-#define DRSUAPI_DS_REPLICA_UPDATE_DELETE_REFERENCE ( 0x00000008 )
-#define DRSUAPI_DS_REPLICA_UPDATE_WRITEABLE ( 0x00000010 )
-
 struct drsuapi_DsReplicaUpdateRefsRequest1 {
 	struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [ref] */
 	const char *dest_dsa_dns_name;/* [ref,charset(DOS)] */
@@ -744,10 +745,6 @@ union drsuapi_DsReplicaUpdateRefsRequest {
 	struct drsuapi_DsReplicaUpdateRefsRequest1 req1;/* [case] */
 }/* [switch_type(int32)] */;
 
-/* bitmap drsuapi_DsReplicaAddOptions */
-#define DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION ( 0x00000001 )
-#define DRSUAPI_DS_REPLICA_ADD_WRITEABLE ( 0x00000002 )
-
 struct drsuapi_DsReplicaAddRequest1 {
 	struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [ref] */
 	const char *source_dsa_address;/* [unique,charset(UTF16)] */
@@ -769,10 +766,6 @@ union drsuapi_DsReplicaAddRequest {
 	struct drsuapi_DsReplicaAddRequest2 req2;/* [case(2)] */
 }/* [switch_type(int32)] */;
 
-/* bitmap drsuapi_DsReplicaDeleteOptions */
-#define DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION ( 0x00000001 )
-#define DRSUAPI_DS_REPLICA_ADD_WRITEABLE ( 0x00000002 )
-
 struct drsuapi_DsReplicaDelRequest1 {
 	struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [ref] */
 	const char *source_dsa_address;/* [unique,charset(UTF16)] */
@@ -783,10 +776,6 @@ union drsuapi_DsReplicaDelRequest {
 	struct drsuapi_DsReplicaDelRequest1 req1;/* [case] */
 }/* [switch_type(int32)] */;
 
-/* bitmap drsuapi_DsReplicaModifyOptions */
-#define DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION ( 0x00000001 )
-#define DRSUAPI_DS_REPLICA_ADD_WRITEABLE ( 0x00000002 )
-
 struct drsuapi_DsReplicaModRequest1 {
 	struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [ref] */
 	struct GUID source_dra;
@@ -1396,21 +1385,12 @@ enum drsuapi_DsReplicaOpType
 #endif
 ;
 
-union drsuapi_DsRplicaOpOptions {
-	uint32_t sync;/* [case(DRSUAPI_DS_REPLICA_OP_TYPE_SYNC)] */
-	uint32_t add;/* [case(DRSUAPI_DS_REPLICA_OP_TYPE_ADD)] */
-	uint32_t op_delete;/* [case(DRSUAPI_DS_REPLICA_OP_TYPE_DELETE)] */
-	uint32_t modify;/* [case(DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY)] */
-	uint32_t update_refs;/* [case(DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS)] */
-	uint32_t unknown;/* [default] */
-}/* [switch_type(drsuapi_DsReplicaOpType)] */;
-
 struct drsuapi_DsReplicaOp {
 	NTTIME operation_start;
 	uint32_t serial_num;
 	uint32_t priority;
 	enum drsuapi_DsReplicaOpType operation_type;
-	union drsuapi_DsRplicaOpOptions options;/* [switch_is(operation_type)] */
+	uint32_t options;
 	const char *nc_dn;/* [unique,charset(UTF16)] */
 	const char *remote_dsa_obj_dn;/* [unique,charset(UTF16)] */
 	const char *remote_dsa_address;/* [unique,charset(UTF16)] */
diff --git a/librpc/gen_ndr/ndr_drsuapi.c b/librpc/gen_ndr/ndr_drsuapi.c
index 5b31d1e..3b8ac3d 100644
--- a/librpc/gen_ndr/ndr_drsuapi.c
+++ b/librpc/gen_ndr/ndr_drsuapi.c
@@ -27,6 +27,7 @@ _PUBLIC_ void ndr_print_drsuapi_DrsOptions(struct ndr_print *ndr, const char *na
 	ndr->depth++;
 	ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_ASYNC_OP", DRSUAPI_DRS_ASYNC_OP, r);
 	ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_GETCHG_CHECK", DRSUAPI_DRS_GETCHG_CHECK, r);
+	ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_UPDATE_NOTIFICATION", DRSUAPI_DRS_UPDATE_NOTIFICATION, r);
 	ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_ADD_REF", DRSUAPI_DRS_ADD_REF, r);
 	ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_ALL", DRSUAPI_DRS_SYNC_ALL, r);
 	ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_DEL_REF", DRSUAPI_DRS_DEL_REF, r);
@@ -45,9 +46,16 @@ _PUBLIC_ void ndr_print_drsuapi_DrsOptions(struct ndr_print *ndr, const char *na
 	ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_REF_OK", DRSUAPI_DRS_REF_OK, r);
 	ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_FULL_SYNC_NOW", DRSUAPI_DRS_FULL_SYNC_NOW, r);
 	ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_NO_SOURCE", DRSUAPI_DRS_NO_SOURCE, r);
+	ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_FULL_SYNC_IN_PROGRESS", DRSUAPI_DRS_FULL_SYNC_IN_PROGRESS, r);
 	ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_FULL_SYNC_PACKET", DRSUAPI_DRS_FULL_SYNC_PACKET, r);
+	ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_REQUEUE", DRSUAPI_DRS_SYNC_REQUEUE, r);
+	ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_URGENT", DRSUAPI_DRS_SYNC_URGENT, r);
 	ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_REF_GCSPN", DRSUAPI_DRS_REF_GCSPN, r);
+	ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_NO_DISCARD", DRSUAPI_DRS_NO_DISCARD, r);
+	ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_NEVER_SYNCED", DRSUAPI_DRS_NEVER_SYNCED, r);
 	ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SPECIAL_SECRET_PROCESSING", DRSUAPI_DRS_SPECIAL_SECRET_PROCESSING, r);
+	ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_INIT_SYNC_NOW", DRSUAPI_DRS_INIT_SYNC_NOW, r);
+	ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_PREEMPTED", DRSUAPI_DRS_PREEMPTED, r);
 	ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_SYNC_FORCED", DRSUAPI_DRS_SYNC_FORCED, r);
 	ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_DISABLE_AUTO_SYNC", DRSUAPI_DRS_DISABLE_AUTO_SYNC, r);
 	ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DRS_DISABLE_PERIODIC_SYNC", DRSUAPI_DRS_DISABLE_PERIODIC_SYNC, r);
@@ -614,7 +622,7 @@ static enum ndr_err_code ndr_push_drsuapi_DsReplicaSyncRequest1(struct ndr_push
 			NDR_CHECK(ndr_push_unique_ptr(ndr, r->other_info));
 			ndr->flags = _flags_save_string;
 		}
-		NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncOptions(ndr, NDR_SCALARS, r->options));
+		NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
 		NDR_CHECK(ndr_push_trailer_align(ndr, 5));
 	}
 	if (ndr_flags & NDR_BUFFERS) {
@@ -659,7 +667,7 @@ static enum ndr_err_code ndr_pull_drsuapi_DsReplicaSyncRequest1(struct ndr_pull
 			}
 			ndr->flags = _flags_save_string;
 		}
-		NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncOptions(ndr, NDR_SCALARS, &r->options));
+		NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options));
 		NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
 	}
 	if (ndr_flags & NDR_BUFFERS) {
@@ -701,7 +709,7 @@ _PUBLIC_ void ndr_print_drsuapi_DsReplicaSyncRequest1(struct ndr_print *ndr, con
 		ndr_print_string(ndr, "other_info", r->other_info);
 	}
 	ndr->depth--;
-	ndr_print_drsuapi_DsReplicaSyncOptions(ndr, "options", r->options);
+	ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
 	ndr->depth--;
 }
 
@@ -3846,32 +3854,6 @@ _PUBLIC_ void ndr_print_drsuapi_DsGetNCChangesCtr(struct ndr_print *ndr, const c
 	}
 }
 
-static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefsOptions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
-{
-	NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
-	return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefsOptions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
-{
-	uint32_t v;
-	NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
-	*r = v;
-	return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefsOptions(struct ndr_print *ndr, const char *name, uint32_t r)
-{
-	ndr_print_uint32(ndr, name, r);
-	ndr->depth++;
-	ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_UPDATE_ASYNCHRONOUS_OPERATION, r);
-	ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_GETCHG_CHECK", DRSUAPI_DS_REPLICA_UPDATE_GETCHG_CHECK, r);
-	ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_ADD_REFERENCE", DRSUAPI_DS_REPLICA_UPDATE_ADD_REFERENCE, r);
-	ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_DELETE_REFERENCE", DRSUAPI_DS_REPLICA_UPDATE_DELETE_REFERENCE, r);
-	ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_UPDATE_WRITEABLE", DRSUAPI_DS_REPLICA_UPDATE_WRITEABLE, r);
-	ndr->depth--;
-}
-
 static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaUpdateRefsRequest1 *r)
 {
 	if (ndr_flags & NDR_SCALARS) {
@@ -3885,7 +3867,7 @@ static enum ndr_err_code ndr_push_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr
 		}
 		NDR_CHECK(ndr_push_ref_ptr(ndr));
 		NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->dest_dsa_guid));
-		NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsOptions(ndr, NDR_SCALARS, r->options));
+		NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
 		NDR_CHECK(ndr_push_trailer_align(ndr, 5));
 	}
 	if (ndr_flags & NDR_BUFFERS) {
@@ -3918,7 +3900,7 @@ static enum ndr_err_code ndr_pull_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr
 			r->dest_dsa_dns_name = NULL;
 		}
 		NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->dest_dsa_guid));
-		NDR_CHECK(ndr_pull_drsuapi_DsReplicaUpdateRefsOptions(ndr, NDR_SCALARS, &r->options));
+		NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options));
 		NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
 	}
 	if (ndr_flags & NDR_BUFFERS) {
@@ -3950,7 +3932,7 @@ _PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefsRequest1(struct ndr_print *nd
 	ndr_print_string(ndr, "dest_dsa_dns_name", r->dest_dsa_dns_name);
 	ndr->depth--;
 	ndr_print_GUID(ndr, "dest_dsa_guid", &r->dest_dsa_guid);
-	ndr_print_drsuapi_DsReplicaUpdateRefsOptions(ndr, "options", r->options);
+	ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
 	ndr->depth--;
 }
 
@@ -4031,29 +4013,6 @@ _PUBLIC_ void ndr_print_drsuapi_DsReplicaUpdateRefsRequest(struct ndr_print *ndr
 	}
 }
 
-static enum ndr_err_code ndr_push_drsuapi_DsReplicaAddOptions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
-{
-	NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
-	return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAddOptions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
-{
-	uint32_t v;
-	NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
-	*r = v;
-	return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_drsuapi_DsReplicaAddOptions(struct ndr_print *ndr, const char *name, uint32_t r)
-{
-	ndr_print_uint32(ndr, name, r);
-	ndr->depth++;
-	ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION, r);
-	ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_WRITEABLE", DRSUAPI_DS_REPLICA_ADD_WRITEABLE, r);
-	ndr->depth--;
-}
-
 static enum ndr_err_code ndr_push_drsuapi_DsReplicaAddRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaAddRequest1 *r)
 {
 	if (ndr_flags & NDR_SCALARS) {
@@ -4064,7 +4023,7 @@ static enum ndr_err_code ndr_push_drsuapi_DsReplicaAddRequest1(struct ndr_push *
 		NDR_CHECK(ndr_push_ref_ptr(ndr));
 		NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
 		NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
-		NDR_CHECK(ndr_push_drsuapi_DsReplicaAddOptions(ndr, NDR_SCALARS, r->options));
+		NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
 		NDR_CHECK(ndr_push_trailer_align(ndr, 5));
 	}
 	if (ndr_flags & NDR_BUFFERS) {
@@ -4100,7 +4059,7 @@ static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAddRequest1(struct ndr_pull *
 			r->source_dsa_address = NULL;
 		}
 		NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
-		NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddOptions(ndr, NDR_SCALARS, &r->options));
+		NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options));
 		NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
 	}
 	if (ndr_flags & NDR_BUFFERS) {
@@ -4139,7 +4098,7 @@ _PUBLIC_ void ndr_print_drsuapi_DsReplicaAddRequest1(struct ndr_print *ndr, cons
 	}
 	ndr->depth--;
 	ndr_print_array_uint8(ndr, "schedule", r->schedule, 84);
-	ndr_print_drsuapi_DsReplicaAddOptions(ndr, "options", r->options);
+	ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
 	ndr->depth--;
 }
 
@@ -4155,7 +4114,7 @@ static enum ndr_err_code ndr_push_drsuapi_DsReplicaAddRequest2(struct ndr_push *
 		NDR_CHECK(ndr_push_unique_ptr(ndr, r->transport_dn));
 		NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
 		NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
-		NDR_CHECK(ndr_push_drsuapi_DsReplicaAddOptions(ndr, NDR_SCALARS, r->options));
+		NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
 		NDR_CHECK(ndr_push_trailer_align(ndr, 5));
 	}
 	if (ndr_flags & NDR_BUFFERS) {
@@ -4213,7 +4172,7 @@ static enum ndr_err_code ndr_pull_drsuapi_DsReplicaAddRequest2(struct ndr_pull *
 			r->source_dsa_address = NULL;
 		}
 		NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
-		NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddOptions(ndr, NDR_SCALARS, &r->options));
+		NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options));
 		NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
 	}
 	if (ndr_flags & NDR_BUFFERS) {
@@ -4276,7 +4235,7 @@ _PUBLIC_ void ndr_print_drsuapi_DsReplicaAddRequest2(struct ndr_print *ndr, cons
 	}
 	ndr->depth--;
 	ndr_print_array_uint8(ndr, "schedule", r->schedule, 84);
-	ndr_print_drsuapi_DsReplicaAddOptions(ndr, "options", r->options);
+	ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
 	ndr->depth--;
 }
 
@@ -4377,29 +4336,6 @@ _PUBLIC_ void ndr_print_drsuapi_DsReplicaAddRequest(struct ndr_print *ndr, const
 	}
 }
 
-static enum ndr_err_code ndr_push_drsuapi_DsReplicaDeleteOptions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
-{
-	NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
-	return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_drsuapi_DsReplicaDeleteOptions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
-{
-	uint32_t v;
-	NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
-	*r = v;
-	return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_drsuapi_DsReplicaDeleteOptions(struct ndr_print *ndr, const char *name, uint32_t r)
-{
-	ndr_print_uint32(ndr, name, r);
-	ndr->depth++;
-	ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION, r);
-	ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_WRITEABLE", DRSUAPI_DS_REPLICA_ADD_WRITEABLE, r);
-	ndr->depth--;
-}
-
 static enum ndr_err_code ndr_push_drsuapi_DsReplicaDelRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaDelRequest1 *r)
 {
 	if (ndr_flags & NDR_SCALARS) {
@@ -4409,7 +4345,7 @@ static enum ndr_err_code ndr_push_drsuapi_DsReplicaDelRequest1(struct ndr_push *
 		}
 		NDR_CHECK(ndr_push_ref_ptr(ndr));
 		NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_address));
-		NDR_CHECK(ndr_push_drsuapi_DsReplicaDeleteOptions(ndr, NDR_SCALARS, r->options));
+		NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
 		NDR_CHECK(ndr_push_trailer_align(ndr, 5));
 	}
 	if (ndr_flags & NDR_BUFFERS) {
@@ -4444,7 +4380,7 @@ static enum ndr_err_code ndr_pull_drsuapi_DsReplicaDelRequest1(struct ndr_pull *
 		} else {
 			r->source_dsa_address = NULL;
 		}
-		NDR_CHECK(ndr_pull_drsuapi_DsReplicaDeleteOptions(ndr, NDR_SCALARS, &r->options));
+		NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options));
 		NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
 	}
 	if (ndr_flags & NDR_BUFFERS) {
@@ -4482,7 +4418,7 @@ _PUBLIC_ void ndr_print_drsuapi_DsReplicaDelRequest1(struct ndr_print *ndr, cons
 		ndr_print_string(ndr, "source_dsa_address", r->source_dsa_address);
 	}
 	ndr->depth--;
-	ndr_print_drsuapi_DsReplicaDeleteOptions(ndr, "options", r->options);
+	ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
 	ndr->depth--;
 }
 
@@ -4563,29 +4499,6 @@ _PUBLIC_ void ndr_print_drsuapi_DsReplicaDelRequest(struct ndr_print *ndr, const
 	}
 }
 
-static enum ndr_err_code ndr_push_drsuapi_DsReplicaModifyOptions(struct ndr_push *ndr, int ndr_flags, uint32_t r)
-{
-	NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
-	return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_drsuapi_DsReplicaModifyOptions(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
-{
-	uint32_t v;
-	NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
-	*r = v;
-	return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_drsuapi_DsReplicaModifyOptions(struct ndr_print *ndr, const char *name, uint32_t r)
-{
-	ndr_print_uint32(ndr, name, r);
-	ndr->depth++;
-	ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION", DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION, r);
-	ndr_print_bitmap_flag(ndr, sizeof(uint32_t), "DRSUAPI_DS_REPLICA_ADD_WRITEABLE", DRSUAPI_DS_REPLICA_ADD_WRITEABLE, r);
-	ndr->depth--;
-}
-
 static enum ndr_err_code ndr_push_drsuapi_DsReplicaModRequest1(struct ndr_push *ndr, int ndr_flags, const struct drsuapi_DsReplicaModRequest1 *r)
 {
 	if (ndr_flags & NDR_SCALARS) {
@@ -4599,7 +4512,7 @@ static enum ndr_err_code ndr_push_drsuapi_DsReplicaModRequest1(struct ndr_push *
 		NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
 		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->replica_flags));
 		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->modify_fields));
-		NDR_CHECK(ndr_push_drsuapi_DsReplicaModifyOptions(ndr, NDR_SCALARS, r->options));
+		NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
 		NDR_CHECK(ndr_push_trailer_align(ndr, 5));
 	}
 	if (ndr_flags & NDR_BUFFERS) {
@@ -4638,7 +4551,7 @@ static enum ndr_err_code ndr_pull_drsuapi_DsReplicaModRequest1(struct ndr_pull *
 		NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->schedule, 84));
 		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->replica_flags));
 		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->modify_fields));
-		NDR_CHECK(ndr_pull_drsuapi_DsReplicaModifyOptions(ndr, NDR_SCALARS, &r->options));
+		NDR_CHECK(ndr_pull_drsuapi_DrsOptions(ndr, NDR_SCALARS, &r->options));
 		NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
 	}
 	if (ndr_flags & NDR_BUFFERS) {
@@ -4680,7 +4593,7 @@ _PUBLIC_ void ndr_print_drsuapi_DsReplicaModRequest1(struct ndr_print *ndr, cons
 	ndr_print_array_uint8(ndr, "schedule", r->schedule, 84);
 	ndr_print_uint32(ndr, "replica_flags", r->replica_flags);
 	ndr_print_uint32(ndr, "modify_fields", r->modify_fields);
-	ndr_print_drsuapi_DsReplicaModifyOptions(ndr, "options", r->options);
+	ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
 	ndr->depth--;
 }
 
@@ -10684,161 +10597,6 @@ _PUBLIC_ void ndr_print_drsuapi_DsReplicaOpType(struct ndr_print *ndr, const cha
 	ndr_print_enum(ndr, name, "ENUM", val, r);
 }
 
-static enum ndr_err_code ndr_push_drsuapi_DsRplicaOpOptions(struct ndr_push *ndr, int ndr_flags, const union drsuapi_DsRplicaOpOptions *r)
-{
-	if (ndr_flags & NDR_SCALARS) {
-		int level = ndr_push_get_switch_value(ndr, r);
-		NDR_CHECK(ndr_push_drsuapi_DsReplicaOpType(ndr, NDR_SCALARS, level));
-		NDR_CHECK(ndr_push_union_align(ndr, 4));
-		switch (level) {
-			case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC: {
-				NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncOptions(ndr, NDR_SCALARS, r->sync));
-			break; }
-
-			case DRSUAPI_DS_REPLICA_OP_TYPE_ADD: {
-				NDR_CHECK(ndr_push_drsuapi_DsReplicaAddOptions(ndr, NDR_SCALARS, r->add));
-			break; }
-
-			case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE: {
-				NDR_CHECK(ndr_push_drsuapi_DsReplicaDeleteOptions(ndr, NDR_SCALARS, r->op_delete));
-			break; }
-
-			case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY: {
-				NDR_CHECK(ndr_push_drsuapi_DsReplicaModifyOptions(ndr, NDR_SCALARS, r->modify));
-			break; }
-
-			case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS: {
-				NDR_CHECK(ndr_push_drsuapi_DsReplicaUpdateRefsOptions(ndr, NDR_SCALARS, r->update_refs));
-			break; }
-
-			default: {
-				NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->unknown));
-			break; }
-
-		}
-	}
-	if (ndr_flags & NDR_BUFFERS) {
-		int level = ndr_push_get_switch_value(ndr, r);
-		switch (level) {
-			case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC:
-			break;
-
-			case DRSUAPI_DS_REPLICA_OP_TYPE_ADD:
-			break;
-
-			case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE:
-			break;
-
-			case DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY:
-			break;
-
-			case DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS:
-			break;
-
-			default:
-			break;
-
-		}
-	}
-	return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_drsuapi_DsRplicaOpOptions(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsRplicaOpOptions *r)
-{
-	int level;
-	uint16_t _level;
-	level = ndr_pull_get_switch_value(ndr, r);
-	if (ndr_flags & NDR_SCALARS) {
-		NDR_CHECK(ndr_pull_uint1632(ndr, NDR_SCALARS, &_level));
-		if (_level != level) {
-			return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
-		}
-		NDR_CHECK(ndr_pull_union_align(ndr, 4));
-		switch (level) {
-			case DRSUAPI_DS_REPLICA_OP_TYPE_SYNC: {
-				NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncOptions(ndr, NDR_SCALARS, &r->sync));
-			break; }
-
-			case DRSUAPI_DS_REPLICA_OP_TYPE_ADD: {
-				NDR_CHECK(ndr_pull_drsuapi_DsReplicaAddOptions(ndr, NDR_SCALARS, &r->add));
-			break; }
-
-			case DRSUAPI_DS_REPLICA_OP_TYPE_DELETE: {
-				NDR_CHECK(ndr_pull_drsuapi_DsReplicaDeleteOptions(ndr, NDR_SCALARS, &r->op_delete));
-			break; }


-- 
Samba Shared Repository


More information about the samba-cvs mailing list