[SCM] Samba Shared Repository - branch master updated
Anatoliy Atanasov
anatoliy at samba.org
Wed Feb 24 06:06:21 MST 2010
The branch, master has been updated
via 8416570... s4/drs_util: 'net drs showrepl' command implementation
via 2f20a4b... s4/idl: Regenerate IDL for DRSUAPI interface
via 83007e0... s4/drs: Propagate drsuapi_DsReplicaGetInfoRequest2 changes in source code
via 0f6a453... s4/idl: drsuapi_DsReplicaGetInfoRequest2 - 'string2' to 'value_dn_str'
via 10fce68... s4/idl: drsuapi_DsReplicaGetInfoRequest2 - 'string1' to 'attribute_name'
via 30ac3ca... s4/drs: Propagate drsuapi_DsReplicaGetInfoRequest... changes into source code
via fb9880d... s4/idl: rename 'guid1' to 'source_dsa_guid' in drsuapi_DsReplicaGetInfoRequest description
via 3f5e9e9... s4/drs_util: 'net drs replicate' command implementation
via ff94094... s4/drs_util: Add public function for binding to a DC
via 3947462... s4/drs_util: Refactor code to use net_drs_connection object for DRSUAPI connecitons
via 9ddb108... s4/drs_util: Move DRSUAPI connection data into separate object
via e5aae24... s4/net_drs: Utility macros for conditions checking
via 99db858... s4/drs: Propagate drsuapi_DsReplicaSync changes in source base
via 8747e69... s4/drs: Propagate drsuapi_DsReplicaSyncRequest1 changes in source base
via 5831896... s4/idl: Regenerate IDL for DRSUAPI interface
via e9438b4... s4/idl: drsuapi.idl fix drsuapi_DsReplicaSync definition
via f1a33a6... s4/idl: drsuapi.idl fix drsuapi_DsReplicaSyncRequest1 description
from 6346ec0... s3:selftest: handle spaces in test names
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit 8416570ea31a3370774fe6884f443876ea2cba3c
Author: Kamen Mazdrashki <kamen.mazdrashki at postpath.com>
Date: Wed Feb 17 21:32:50 2010 +0200
s4/drs_util: 'net drs showrepl' command implementation
commit 2f20a4b23ef5df9fe7a9f9cb43f75180e0676673
Author: Kamen Mazdrashki <kamen.mazdrashki at postpath.com>
Date: Sun Feb 14 02:50:13 2010 +0200
s4/idl: Regenerate IDL for DRSUAPI interface
commit 83007e06c177b13fe56ae0247e8c2086bb59d563
Author: Kamen Mazdrashki <kamen.mazdrashki at postpath.com>
Date: Sun Feb 14 02:49:40 2010 +0200
s4/drs: Propagate drsuapi_DsReplicaGetInfoRequest2 changes in source code
commit 0f6a453f9f802d5d69c0698672a6f3ef04ad6a27
Author: Kamen Mazdrashki <kamen.mazdrashki at postpath.com>
Date: Sun Feb 14 02:49:02 2010 +0200
s4/idl: drsuapi_DsReplicaGetInfoRequest2 - 'string2' to 'value_dn_str'
commit 10fce687fe5f21ab3ba2591bebc04c2f46d1d5f3
Author: Kamen Mazdrashki <kamen.mazdrashki at postpath.com>
Date: Sun Feb 14 02:47:57 2010 +0200
s4/idl: drsuapi_DsReplicaGetInfoRequest2 - 'string1' to 'attribute_name'
commit 30ac3caade8d204b859d9b3ed4c51bdbeaaa3cbf
Author: Kamen Mazdrashki <kamen.mazdrashki at postpath.com>
Date: Sun Feb 14 02:40:07 2010 +0200
s4/drs: Propagate drsuapi_DsReplicaGetInfoRequest... changes into source code
commit fb9880d6e89a48d2588edbe753bbb4c90fb01173
Author: Kamen Mazdrashki <kamen.mazdrashki at postpath.com>
Date: Sun Feb 14 02:38:11 2010 +0200
s4/idl: rename 'guid1' to 'source_dsa_guid' in drsuapi_DsReplicaGetInfoRequest description
commit 3f5e9e9974ef66b827f4c9094146d642690b5b80
Author: Kamen Mazdrashki <kamen.mazdrashki at postpath.com>
Date: Sat Feb 13 03:27:27 2010 +0200
s4/drs_util: 'net drs replicate' command implementation
commit ff94094dfa7dd8a07d4e200bc887cd1d58569f12
Author: Kamen Mazdrashki <kamen.mazdrashki at postpath.com>
Date: Fri Feb 12 06:13:22 2010 +0200
s4/drs_util: Add public function for binding to a DC
commit 394746285e42111c221e4926afa0376d21544618
Author: Kamen Mazdrashki <kamen.mazdrashki at postpath.com>
Date: Fri Feb 12 06:02:05 2010 +0200
s4/drs_util: Refactor code to use net_drs_connection object for DRSUAPI connecitons
commit 9ddb10869c19ac303e85e9e51872bb322834ac0f
Author: Kamen Mazdrashki <kamen.mazdrashki at postpath.com>
Date: Fri Feb 12 06:01:06 2010 +0200
s4/drs_util: Move DRSUAPI connection data into separate object
We need this so we can create independent DRS connections to
different DCs.
commit e5aae24b3fef0048a33a682989935776f3415dc6
Author: Kamen Mazdrashki <kamen.mazdrashki at postpath.com>
Date: Fri Feb 12 01:47:55 2010 +0200
s4/net_drs: Utility macros for conditions checking
commit 99db858b155a9a12bcbaae631d34d12062206e12
Author: Kamen Mazdrashki <kamen.mazdrashki at postpath.com>
Date: Sat Feb 13 04:57:28 2010 +0200
s4/drs: Propagate drsuapi_DsReplicaSync changes in source base
commit 8747e695fe4ff732537f6fc822f4c24f3cfd9d39
Author: Kamen Mazdrashki <kamen.mazdrashki at postpath.com>
Date: Fri Feb 12 00:20:52 2010 +0200
s4/drs: Propagate drsuapi_DsReplicaSyncRequest1 changes in source base
commit 58318960b78f4d65cd7a2930703296520115ea3e
Author: Kamen Mazdrashki <kamen.mazdrashki at postpath.com>
Date: Fri Feb 12 00:17:52 2010 +0200
s4/idl: Regenerate IDL for DRSUAPI interface
commit e9438b4c12f135ca01d6e0c65e88176459570907
Author: Kamen Mazdrashki <kamen.mazdrashki at postpath.com>
Date: Sat Feb 13 04:53:20 2010 +0200
s4/idl: drsuapi.idl fix drsuapi_DsReplicaSync definition
- Function should accept pointer to drsuapi_DsReplicaSyncRequest.
While this doesn't generate essentially different code for
NDR parser, using pointer will make drsuapi_DsReplicaSync
descritpin with the rest of the functions in DRSUAPI interface.
Another benefit is that this way we could create Wireshark
dissector directly from Samba's verions for drsuapi.idl
- 'level' and thus the switch_type() should be uint32
commit f1a33a6cfeafe5dd34ab1e9176bc2ffbf136a117
Author: Kamen Mazdrashki <kamen.mazdrashki at postpath.com>
Date: Fri Feb 12 00:15:10 2010 +0200
s4/idl: drsuapi.idl fix drsuapi_DsReplicaSyncRequest1 description
- pointer to naming_context should be [ref] pointer
(i.e. not NULL pointer)
- other_info is actually the DNS name for Source DSA and is used
if DRSUAPI_DRS_SYNC_BYNAME is passed
ref: [MS-DRSR] 5.39
-----------------------------------------------------------------------
Summary of changes:
librpc/gen_ndr/cli_drsuapi.c | 8 +-
librpc/gen_ndr/cli_drsuapi.h | 8 +-
librpc/gen_ndr/drsuapi.h | 18 +-
librpc/gen_ndr/ndr_drsuapi.c | 204 +++++-----
librpc/idl/drsuapi.idl | 18 +-
source4/dsdb/kcc/kcc_drs_replica_info.c | 4 +-
source4/dsdb/repl/drepl_notify.c | 12 +-
source4/dsdb/repl/drepl_service.c | 2 +-
source4/torture/rpc/drsuapi.c | 21 +-
source4/torture/rpc/dsgetinfo.c | 10 +-
source4/utils/net/config.mk | 4 +-
source4/utils/net/drs/net_drs.c | 122 +++++--
source4/utils/net/drs/net_drs.h | 42 ++-
source4/utils/net/drs/net_drs_bind.c | 4 +-
source4/utils/net/drs/net_drs_kcc.c | 10 +-
source4/utils/net/drs/net_drs_replicate.c | 246 ++++++++++++
source4/utils/net/drs/net_drs_showrepl.c | 608 +++++++++++++++++++++++++++++
17 files changed, 1154 insertions(+), 187 deletions(-)
create mode 100644 source4/utils/net/drs/net_drs_replicate.c
create mode 100644 source4/utils/net/drs/net_drs_showrepl.c
Changeset truncated at 500 lines:
diff --git a/librpc/gen_ndr/cli_drsuapi.c b/librpc/gen_ndr/cli_drsuapi.c
index c261a79..352442f 100644
--- a/librpc/gen_ndr/cli_drsuapi.c
+++ b/librpc/gen_ndr/cli_drsuapi.c
@@ -328,8 +328,8 @@ struct tevent_req *rpccli_drsuapi_DsReplicaSync_send(TALLOC_CTX *mem_ctx,
struct tevent_context *ev,
struct rpc_pipe_client *cli,
struct policy_handle *_bind_handle /* [in] [ref] */,
- int32_t _level /* [in] */,
- union drsuapi_DsReplicaSyncRequest _req /* [in] [switch_is(level)] */)
+ uint32_t _level /* [in] */,
+ union drsuapi_DsReplicaSyncRequest *_req /* [in] [ref,switch_is(level)] */)
{
struct tevent_req *req;
struct rpccli_drsuapi_DsReplicaSync_state *state;
@@ -426,8 +426,8 @@ NTSTATUS rpccli_drsuapi_DsReplicaSync_recv(struct tevent_req *req,
NTSTATUS rpccli_drsuapi_DsReplicaSync(struct rpc_pipe_client *cli,
TALLOC_CTX *mem_ctx,
struct policy_handle *bind_handle /* [in] [ref] */,
- int32_t level /* [in] */,
- union drsuapi_DsReplicaSyncRequest req /* [in] [switch_is(level)] */,
+ uint32_t level /* [in] */,
+ union drsuapi_DsReplicaSyncRequest *req /* [in] [ref,switch_is(level)] */,
WERROR *werror)
{
struct drsuapi_DsReplicaSync r;
diff --git a/librpc/gen_ndr/cli_drsuapi.h b/librpc/gen_ndr/cli_drsuapi.h
index 970e65e..c2ab1be 100644
--- a/librpc/gen_ndr/cli_drsuapi.h
+++ b/librpc/gen_ndr/cli_drsuapi.h
@@ -31,16 +31,16 @@ struct tevent_req *rpccli_drsuapi_DsReplicaSync_send(TALLOC_CTX *mem_ctx,
struct tevent_context *ev,
struct rpc_pipe_client *cli,
struct policy_handle *_bind_handle /* [in] [ref] */,
- int32_t _level /* [in] */,
- union drsuapi_DsReplicaSyncRequest _req /* [in] [switch_is(level)] */);
+ uint32_t _level /* [in] */,
+ union drsuapi_DsReplicaSyncRequest *_req /* [in] [ref,switch_is(level)] */);
NTSTATUS rpccli_drsuapi_DsReplicaSync_recv(struct tevent_req *req,
TALLOC_CTX *mem_ctx,
WERROR *result);
NTSTATUS rpccli_drsuapi_DsReplicaSync(struct rpc_pipe_client *cli,
TALLOC_CTX *mem_ctx,
struct policy_handle *bind_handle /* [in] [ref] */,
- int32_t level /* [in] */,
- union drsuapi_DsReplicaSyncRequest req /* [in] [switch_is(level)] */,
+ uint32_t level /* [in] */,
+ union drsuapi_DsReplicaSyncRequest *req /* [in] [ref,switch_is(level)] */,
WERROR *werror);
struct tevent_req *rpccli_drsuapi_DsGetNCChanges_send(TALLOC_CTX *mem_ctx,
struct tevent_context *ev,
diff --git a/librpc/gen_ndr/drsuapi.h b/librpc/gen_ndr/drsuapi.h
index 41f541a..5cce4ef 100644
--- a/librpc/gen_ndr/drsuapi.h
+++ b/librpc/gen_ndr/drsuapi.h
@@ -171,15 +171,15 @@ struct drsuapi_DsReplicaObjectIdentifier {
#define DRSUAPI_DS_REPLICA_SYNC_PREEMPTED ( 0x00800000 )
struct drsuapi_DsReplicaSyncRequest1 {
- struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [unique] */
+ struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [ref] */
struct GUID source_dsa_guid;
- const char * other_info;/* [unique,flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
+ const char * source_dsa_dns;/* [unique,flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
uint32_t options;
};
union drsuapi_DsReplicaSyncRequest {
struct drsuapi_DsReplicaSyncRequest1 req1;/* [case] */
-}/* [switch_type(int32)] */;
+}/* [switch_type(uint32)] */;
struct drsuapi_DsReplicaHighWaterMark {
uint64_t tmp_highest_usn;
@@ -1271,16 +1271,16 @@ enum drsuapi_DsReplicaInfoType
struct drsuapi_DsReplicaGetInfoRequest1 {
enum drsuapi_DsReplicaInfoType info_type;
const char *object_dn;/* [unique,charset(UTF16)] */
- struct GUID guid1;
+ struct GUID source_dsa_guid;
};
struct drsuapi_DsReplicaGetInfoRequest2 {
enum drsuapi_DsReplicaInfoType info_type;
const char *object_dn;/* [unique,charset(UTF16)] */
- struct GUID guid1;
+ struct GUID source_dsa_guid;
uint32_t flags;
- const char *string1;/* [unique,charset(UTF16)] */
- const char *string2;/* [unique,charset(UTF16)] */
+ const char *attribute_name;/* [unique,charset(UTF16)] */
+ const char *value_dn_str;/* [unique,charset(UTF16)] */
uint32_t enumeration_context;
};
@@ -1590,8 +1590,8 @@ struct drsuapi_DsUnbind {
struct drsuapi_DsReplicaSync {
struct {
struct policy_handle *bind_handle;/* [ref] */
- int32_t level;
- union drsuapi_DsReplicaSyncRequest req;/* [switch_is(level)] */
+ uint32_t level;
+ union drsuapi_DsReplicaSyncRequest *req;/* [ref,switch_is(level)] */
} in;
struct {
diff --git a/librpc/gen_ndr/ndr_drsuapi.c b/librpc/gen_ndr/ndr_drsuapi.c
index 681af12..6d45e2d 100644
--- a/librpc/gen_ndr/ndr_drsuapi.c
+++ b/librpc/gen_ndr/ndr_drsuapi.c
@@ -616,26 +616,27 @@ static enum ndr_err_code ndr_push_drsuapi_DsReplicaSyncRequest1(struct ndr_push
{
if (ndr_flags & NDR_SCALARS) {
NDR_CHECK(ndr_push_align(ndr, 5));
- NDR_CHECK(ndr_push_unique_ptr(ndr, r->naming_context));
+ if (r->naming_context == NULL) {
+ return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+ }
+ NDR_CHECK(ndr_push_ref_ptr(ndr));
NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
{
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
- NDR_CHECK(ndr_push_unique_ptr(ndr, r->other_info));
+ NDR_CHECK(ndr_push_unique_ptr(ndr, r->source_dsa_dns));
ndr->flags = _flags_save_string;
}
NDR_CHECK(ndr_push_drsuapi_DrsOptions(ndr, NDR_SCALARS, r->options));
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
- if (r->naming_context) {
- NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
- }
+ NDR_CHECK(ndr_push_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
{
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
- if (r->other_info) {
- NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->other_info));
+ if (r->source_dsa_dns) {
+ NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->source_dsa_dns));
}
ndr->flags = _flags_save_string;
}
@@ -647,11 +648,11 @@ static enum ndr_err_code ndr_pull_drsuapi_DsReplicaSyncRequest1(struct ndr_pull
{
uint32_t _ptr_naming_context;
TALLOC_CTX *_mem_save_naming_context_0;
- uint32_t _ptr_other_info;
- TALLOC_CTX *_mem_save_other_info_0;
+ uint32_t _ptr_source_dsa_dns;
+ TALLOC_CTX *_mem_save_source_dsa_dns_0;
if (ndr_flags & NDR_SCALARS) {
NDR_CHECK(ndr_pull_align(ndr, 5));
- NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_naming_context));
+ NDR_CHECK(ndr_pull_ref_ptr(ndr, &_ptr_naming_context));
if (_ptr_naming_context) {
NDR_PULL_ALLOC(ndr, r->naming_context);
} else {
@@ -661,11 +662,11 @@ static enum ndr_err_code ndr_pull_drsuapi_DsReplicaSyncRequest1(struct ndr_pull
{
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
- NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_other_info));
- if (_ptr_other_info) {
- NDR_PULL_ALLOC(ndr, r->other_info);
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_source_dsa_dns));
+ if (_ptr_source_dsa_dns) {
+ NDR_PULL_ALLOC(ndr, r->source_dsa_dns);
} else {
- r->other_info = NULL;
+ r->source_dsa_dns = NULL;
}
ndr->flags = _flags_save_string;
}
@@ -673,20 +674,18 @@ static enum ndr_err_code ndr_pull_drsuapi_DsReplicaSyncRequest1(struct ndr_pull
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
- if (r->naming_context) {
- _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
- NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
- NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
- NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
- }
+ _mem_save_naming_context_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->naming_context, 0);
+ NDR_CHECK(ndr_pull_drsuapi_DsReplicaObjectIdentifier(ndr, NDR_SCALARS|NDR_BUFFERS, r->naming_context));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_naming_context_0, 0);
{
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
- if (r->other_info) {
- _mem_save_other_info_0 = NDR_PULL_GET_MEM_CTX(ndr);
- NDR_PULL_SET_MEM_CTX(ndr, r->other_info, 0);
- NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->other_info));
- NDR_PULL_SET_MEM_CTX(ndr, _mem_save_other_info_0, 0);
+ if (r->source_dsa_dns) {
+ _mem_save_source_dsa_dns_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->source_dsa_dns, 0);
+ NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->source_dsa_dns));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_source_dsa_dns_0, 0);
}
ndr->flags = _flags_save_string;
}
@@ -700,15 +699,13 @@ _PUBLIC_ void ndr_print_drsuapi_DsReplicaSyncRequest1(struct ndr_print *ndr, con
ndr->depth++;
ndr_print_ptr(ndr, "naming_context", r->naming_context);
ndr->depth++;
- if (r->naming_context) {
- ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
- }
+ ndr_print_drsuapi_DsReplicaObjectIdentifier(ndr, "naming_context", r->naming_context);
ndr->depth--;
ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
- ndr_print_ptr(ndr, "other_info", r->other_info);
+ ndr_print_ptr(ndr, "source_dsa_dns", r->source_dsa_dns);
ndr->depth++;
- if (r->other_info) {
- ndr_print_string(ndr, "other_info", r->other_info);
+ if (r->source_dsa_dns) {
+ ndr_print_string(ndr, "source_dsa_dns", r->source_dsa_dns);
}
ndr->depth--;
ndr_print_drsuapi_DrsOptions(ndr, "options", r->options);
@@ -719,7 +716,7 @@ static enum ndr_err_code ndr_push_drsuapi_DsReplicaSyncRequest(struct ndr_push *
{
if (ndr_flags & NDR_SCALARS) {
int level = ndr_push_get_switch_value(ndr, r);
- NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, level));
+ NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
NDR_CHECK(ndr_push_union_align(ndr, 5));
switch (level) {
case 1: {
@@ -747,10 +744,10 @@ static enum ndr_err_code ndr_push_drsuapi_DsReplicaSyncRequest(struct ndr_push *
static enum ndr_err_code ndr_pull_drsuapi_DsReplicaSyncRequest(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsReplicaSyncRequest *r)
{
int level;
- int32_t _level;
+ uint32_t _level;
level = ndr_pull_get_switch_value(ndr, r);
if (ndr_flags & NDR_SCALARS) {
- NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &_level));
+ NDR_CHECK(ndr_pull_uint32(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__);
}
@@ -9602,7 +9599,7 @@ static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoRequest1(struct ndr_pu
NDR_CHECK(ndr_push_align(ndr, 5));
NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, r->info_type));
NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
- NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid1));
+ NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
@@ -9629,7 +9626,7 @@ static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoRequest1(struct ndr_pu
} else {
r->object_dn = NULL;
}
- NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid1));
+ NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
@@ -9660,7 +9657,7 @@ _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoRequest1(struct ndr_print *ndr,
ndr_print_string(ndr, "object_dn", r->object_dn);
}
ndr->depth--;
- ndr_print_GUID(ndr, "guid1", &r->guid1);
+ ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
ndr->depth--;
}
@@ -9670,10 +9667,10 @@ static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoRequest2(struct ndr_pu
NDR_CHECK(ndr_push_align(ndr, 5));
NDR_CHECK(ndr_push_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, r->info_type));
NDR_CHECK(ndr_push_unique_ptr(ndr, r->object_dn));
- NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->guid1));
+ NDR_CHECK(ndr_push_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->flags));
- NDR_CHECK(ndr_push_unique_ptr(ndr, r->string1));
- NDR_CHECK(ndr_push_unique_ptr(ndr, r->string2));
+ NDR_CHECK(ndr_push_unique_ptr(ndr, r->attribute_name));
+ NDR_CHECK(ndr_push_unique_ptr(ndr, r->value_dn_str));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->enumeration_context));
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
}
@@ -9684,17 +9681,17 @@ static enum ndr_err_code ndr_push_drsuapi_DsReplicaGetInfoRequest2(struct ndr_pu
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->object_dn, CH_UTF16)));
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->object_dn, ndr_charset_length(r->object_dn, CH_UTF16), sizeof(uint16_t), CH_UTF16));
}
- if (r->string1) {
- NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->string1, CH_UTF16)));
+ if (r->attribute_name) {
+ NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
- NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->string1, CH_UTF16)));
- NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->string1, ndr_charset_length(r->string1, CH_UTF16), sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->attribute_name, CH_UTF16)));
+ NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->attribute_name, ndr_charset_length(r->attribute_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
}
- if (r->string2) {
- NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->string2, CH_UTF16)));
+ if (r->value_dn_str) {
+ NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->value_dn_str, CH_UTF16)));
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
- NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->string2, CH_UTF16)));
- NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->string2, ndr_charset_length(r->string2, CH_UTF16), sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->value_dn_str, CH_UTF16)));
+ NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->value_dn_str, ndr_charset_length(r->value_dn_str, CH_UTF16), sizeof(uint16_t), CH_UTF16));
}
}
return NDR_ERR_SUCCESS;
@@ -9704,10 +9701,10 @@ static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoRequest2(struct ndr_pu
{
uint32_t _ptr_object_dn;
TALLOC_CTX *_mem_save_object_dn_0;
- uint32_t _ptr_string1;
- TALLOC_CTX *_mem_save_string1_0;
- uint32_t _ptr_string2;
- TALLOC_CTX *_mem_save_string2_0;
+ uint32_t _ptr_attribute_name;
+ TALLOC_CTX *_mem_save_attribute_name_0;
+ uint32_t _ptr_value_dn_str;
+ TALLOC_CTX *_mem_save_value_dn_str_0;
if (ndr_flags & NDR_SCALARS) {
NDR_CHECK(ndr_pull_align(ndr, 5));
NDR_CHECK(ndr_pull_drsuapi_DsReplicaInfoType(ndr, NDR_SCALARS, &r->info_type));
@@ -9717,19 +9714,19 @@ static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoRequest2(struct ndr_pu
} else {
r->object_dn = NULL;
}
- NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->guid1));
+ NDR_CHECK(ndr_pull_GUID(ndr, NDR_SCALARS, &r->source_dsa_guid));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
- NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string1));
- if (_ptr_string1) {
- NDR_PULL_ALLOC(ndr, r->string1);
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_attribute_name));
+ if (_ptr_attribute_name) {
+ NDR_PULL_ALLOC(ndr, r->attribute_name);
} else {
- r->string1 = NULL;
+ r->attribute_name = NULL;
}
- NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_string2));
- if (_ptr_string2) {
- NDR_PULL_ALLOC(ndr, r->string2);
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_value_dn_str));
+ if (_ptr_value_dn_str) {
+ NDR_PULL_ALLOC(ndr, r->value_dn_str);
} else {
- r->string2 = NULL;
+ r->value_dn_str = NULL;
}
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->enumeration_context));
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
@@ -9747,29 +9744,29 @@ static enum ndr_err_code ndr_pull_drsuapi_DsReplicaGetInfoRequest2(struct ndr_pu
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->object_dn, ndr_get_array_length(ndr, &r->object_dn), sizeof(uint16_t), CH_UTF16));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_object_dn_0, 0);
}
- if (r->string1) {
- _mem_save_string1_0 = NDR_PULL_GET_MEM_CTX(ndr);
- NDR_PULL_SET_MEM_CTX(ndr, r->string1, 0);
- NDR_CHECK(ndr_pull_array_size(ndr, &r->string1));
- NDR_CHECK(ndr_pull_array_length(ndr, &r->string1));
- if (ndr_get_array_length(ndr, &r->string1) > ndr_get_array_size(ndr, &r->string1)) {
- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->string1), ndr_get_array_length(ndr, &r->string1));
+ if (r->attribute_name) {
+ _mem_save_attribute_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->attribute_name, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->attribute_name));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->attribute_name));
+ if (ndr_get_array_length(ndr, &r->attribute_name) > ndr_get_array_size(ndr, &r->attribute_name)) {
+ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->attribute_name), ndr_get_array_length(ndr, &r->attribute_name));
}
- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->string1), sizeof(uint16_t)));
- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string1, ndr_get_array_length(ndr, &r->string1), sizeof(uint16_t), CH_UTF16));
- NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string1_0, 0);
+ NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t)));
+ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->attribute_name, ndr_get_array_length(ndr, &r->attribute_name), sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_attribute_name_0, 0);
}
- if (r->string2) {
- _mem_save_string2_0 = NDR_PULL_GET_MEM_CTX(ndr);
- NDR_PULL_SET_MEM_CTX(ndr, r->string2, 0);
- NDR_CHECK(ndr_pull_array_size(ndr, &r->string2));
- NDR_CHECK(ndr_pull_array_length(ndr, &r->string2));
- if (ndr_get_array_length(ndr, &r->string2) > ndr_get_array_size(ndr, &r->string2)) {
- return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->string2), ndr_get_array_length(ndr, &r->string2));
+ if (r->value_dn_str) {
+ _mem_save_value_dn_str_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->value_dn_str, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->value_dn_str));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->value_dn_str));
+ if (ndr_get_array_length(ndr, &r->value_dn_str) > ndr_get_array_size(ndr, &r->value_dn_str)) {
+ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->value_dn_str), ndr_get_array_length(ndr, &r->value_dn_str));
}
- NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->string2), sizeof(uint16_t)));
- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->string2, ndr_get_array_length(ndr, &r->string2), sizeof(uint16_t), CH_UTF16));
- NDR_PULL_SET_MEM_CTX(ndr, _mem_save_string2_0, 0);
+ NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->value_dn_str), sizeof(uint16_t)));
+ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->value_dn_str, ndr_get_array_length(ndr, &r->value_dn_str), sizeof(uint16_t), CH_UTF16));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_value_dn_str_0, 0);
}
}
return NDR_ERR_SUCCESS;
@@ -9786,18 +9783,18 @@ _PUBLIC_ void ndr_print_drsuapi_DsReplicaGetInfoRequest2(struct ndr_print *ndr,
ndr_print_string(ndr, "object_dn", r->object_dn);
}
ndr->depth--;
- ndr_print_GUID(ndr, "guid1", &r->guid1);
+ ndr_print_GUID(ndr, "source_dsa_guid", &r->source_dsa_guid);
ndr_print_uint32(ndr, "flags", r->flags);
- ndr_print_ptr(ndr, "string1", r->string1);
+ ndr_print_ptr(ndr, "attribute_name", r->attribute_name);
ndr->depth++;
- if (r->string1) {
- ndr_print_string(ndr, "string1", r->string1);
+ if (r->attribute_name) {
+ ndr_print_string(ndr, "attribute_name", r->attribute_name);
}
ndr->depth--;
- ndr_print_ptr(ndr, "string2", r->string2);
+ ndr_print_ptr(ndr, "value_dn_str", r->value_dn_str);
ndr->depth++;
- if (r->string2) {
- ndr_print_string(ndr, "string2", r->string2);
+ if (r->value_dn_str) {
+ ndr_print_string(ndr, "value_dn_str", r->value_dn_str);
}
ndr->depth--;
ndr_print_uint32(ndr, "enumeration_context", r->enumeration_context);
@@ -13474,9 +13471,12 @@ static enum ndr_err_code ndr_push_drsuapi_DsReplicaSync(struct ndr_push *ndr, in
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
}
NDR_CHECK(ndr_push_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
- NDR_CHECK(ndr_push_int32(ndr, NDR_SCALARS, r->in.level));
- NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, r->in.level));
- NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
+ NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.level));
+ if (r->in.req == NULL) {
+ return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+ }
+ NDR_CHECK(ndr_push_set_switch_value(ndr, r->in.req, r->in.level));
+ NDR_CHECK(ndr_push_drsuapi_DsReplicaSyncRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
}
if (flags & NDR_OUT) {
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
@@ -13487,6 +13487,7 @@ static enum ndr_err_code ndr_push_drsuapi_DsReplicaSync(struct ndr_push *ndr, in
static enum ndr_err_code ndr_pull_drsuapi_DsReplicaSync(struct ndr_pull *ndr, int flags, struct drsuapi_DsReplicaSync *r)
{
TALLOC_CTX *_mem_save_bind_handle_0;
+ TALLOC_CTX *_mem_save_req_0;
if (flags & NDR_IN) {
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
NDR_PULL_ALLOC(ndr, r->in.bind_handle);
@@ -13495,9 +13496,15 @@ static enum ndr_err_code ndr_pull_drsuapi_DsReplicaSync(struct ndr_pull *ndr, in
NDR_PULL_SET_MEM_CTX(ndr, r->in.bind_handle, LIBNDR_FLAG_REF_ALLOC);
NDR_CHECK(ndr_pull_policy_handle(ndr, NDR_SCALARS, r->in.bind_handle));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_bind_handle_0, LIBNDR_FLAG_REF_ALLOC);
- NDR_CHECK(ndr_pull_int32(ndr, NDR_SCALARS, &r->in.level));
- NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, r->in.level));
- NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.level));
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+ NDR_PULL_ALLOC(ndr, r->in.req);
+ }
+ _mem_save_req_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->in.req, LIBNDR_FLAG_REF_ALLOC);
+ NDR_CHECK(ndr_pull_set_switch_value(ndr, r->in.req, r->in.level));
+ NDR_CHECK(ndr_pull_drsuapi_DsReplicaSyncRequest(ndr, NDR_SCALARS|NDR_BUFFERS, r->in.req));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_req_0, LIBNDR_FLAG_REF_ALLOC);
}
if (flags & NDR_OUT) {
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
@@ -13519,9 +13526,12 @@ _PUBLIC_ void ndr_print_drsuapi_DsReplicaSync(struct ndr_print *ndr, const char
ndr->depth++;
ndr_print_policy_handle(ndr, "bind_handle", r->in.bind_handle);
ndr->depth--;
- ndr_print_int32(ndr, "level", r->in.level);
- ndr_print_set_switch_value(ndr, &r->in.req, r->in.level);
- ndr_print_drsuapi_DsReplicaSyncRequest(ndr, "req", &r->in.req);
+ ndr_print_uint32(ndr, "level", r->in.level);
+ ndr_print_ptr(ndr, "req", r->in.req);
+ ndr->depth++;
+ ndr_print_set_switch_value(ndr, r->in.req, r->in.level);
+ ndr_print_drsuapi_DsReplicaSyncRequest(ndr, "req", r->in.req);
+ ndr->depth--;
ndr->depth--;
}
if (flags & NDR_OUT) {
diff --git a/librpc/idl/drsuapi.idl b/librpc/idl/drsuapi.idl
index e98cd29..7a7017e 100644
--- a/librpc/idl/drsuapi.idl
+++ b/librpc/idl/drsuapi.idl
@@ -222,20 +222,20 @@ interface drsuapi
} drsuapi_DsReplicaSyncOptions;
--
Samba Shared Repository
More information about the samba-cvs
mailing list