[SCM] Samba Shared Repository - branch master updated
Stefan Metzmacher
metze at samba.org
Fri Mar 12 07:26:39 MST 2010
The branch, master has been updated
via 0f21074... s4:torture/rpc/dfs.c: make use of dcerpc_binding_handle stubs
via 81ac17d... s4:torture/rpc/echo.c: make use of dcerpc_binding_handle stubs
via f163393... s4:torture/libnet: make use of dcerpc_binding_handle stubs
via 7be154a... s4:torture/ntp: make use of dcerpc_binding_handle stubs
via 9e0557a... s4:libnet/libnet_time.c: make use of dcerpc_binding_handle stubs
via 07a28b1... s4:libnet/libnet_share.c: make use of dcerpc_binding_handle stubs
via 02c61f5... s4:libnet/libnet_samsync.c: make use of dcerpc_binding_handle stubs
via 19d229a... s4:libnet/libnet_passwd.c: make use of dcerpc_binding_handle stubs
via bec3d8e... s4:libnet/libnet_join.c: make use of dcerpc_binding_handle stubs
via 7807de5... s4:libcli/util/clilsa.c: make use of dcerpc_binding_handle stubs
via dea7c4f... s4:client: make use of dcerpc_binding_handle stubs
via 580d491... s4:rpc_server/spoolss: make use of dcerpc_binding_handle stubs
via b6623e3... s4:lib/registry/rpc: convert to use dcerpc_binding_handle stubs
via d0662ac... pidl:Samba4/NDR/Client: make the old rpc_request style async functions static
via d4f1432... s4:dcom: add a comment about unused code.
via 6292cb7... s4:libcli/composite: get rid of composite_continue_rpc()
via 7b76c11... s4:librpc/rpc/dcerpc_util.c: make use of use tevent_req based dcerpc_binding_handle stubs
via 398f477... s4:librpc/rpc/dcerpc_schannel.c: make use of use tevent_req based dcerpc_binding_handle stubs
via ff54cbe... s4:torture/rpc: make use of use tevent_req based dcerpc_binding_handle stubs
via e9cae3b... s4:winbind/wb_sam_logon.c: make use of use tevent_req based dcerpc_binding_handle stubs
via 399cbb6... s4:winbind/wb_init_domain.c: make use of use tevent_req based dcerpc_binding_handle stubs
via 7681260... s4:winbind/wb_dom_info_trusted.c: make use of use tevent_req based dcerpc_binding_handle stubs
via 53bdd25... s4:winbind/wb_connect_sam.c: make use of use tevent_req based dcerpc_binding_handle stubs
via d836dd9... s4:winbind/wb_connect_lsa.c: make use of use tevent_req based dcerpc_binding_handle stubs
via 6ecae51... s4:winbind/wb_cmd_usersids.c: make use of use tevent_req based dcerpc_binding_handle stubs
via 765d4a5... s4:winbind/wb_cmd_list_trustdom.c: make use of use tevent_req based dcerpc_binding_handle stubs
via 05d6343... s4:winbind/wb_cmd_getdcname: make use of use tevent_req based dcerpc_binding_handle stubs
via 9e87e6d... s4:winbind/wb_async_helpers.c: make use of use tevent_req based dcerpc_binding_handle stubs
via a011cbc... s4:libnet/libnet_rpc.c: make use of use tevent_req based dcerpc_binding_handle stubs
via c190ae1... s4:libnet/usernam.c: make use of use tevent_req based dcerpc_binding_handle stubs
via a8967c3... s4:libnet/userinfo.c: make use of use tevent_req based dcerpc_binding_handle stubs
via ccc0ab6... s4:libnet/libnet_user.c: make use of use tevent_req based dcerpc_binding_handle stubs
via c148405... s4:libnet/libnet_lookup.c: make use of use tevent_req based dcerpc_binding_handle stubs
via eae3436... s4:libnet/libnet_group.c: make use of use tevent_req based dcerpc_binding_handle stubs
via 3d72524... s4:libnet/libnet_domain.c: make use of use tevent_req based dcerpc_binding_handle stubs
via f0a3943... s4:libnet_unbecome_dc: make use of use tevent_req based dcerpc_binding_handle stubs
via 2c5bbea... s4:libnet_become_dc: make use of use tevent_req based dcerpc_binding_handle stubs
via 8dc4fd9... s4:libnet/group*: make use of tevent_req based dcerpc_binding_handle stubs
via a3ae980... s4:libnet: keep a dcerpc_binding_handle for samr and lsa
via 77fb700... s4:dsdb/repl: make use of use tevent_req based dcerpc_binding_handle stubs
via 15d9675... pidl:Samba4/NDR/Client: generate stubs for dcerpc_binding_handle abstraction
via d95ca90... s4:librpc/rpc: prepare dcerpc dependecies before pidl changes
via 6677a54... s4:librpc/rpc: add very basic dcerpc_binding_handle infrastructure
via 454bedc... pidl:Samba4/NDR/Client: don't generate client stubs for function marked as [todo]
via 8844acf... pidl:Samba/Python: don't generate methods for functions marked as [todo]
via f4c227e... librpc: rerun make idl
via f85c825... drsuapi.idl: don't mark drsuapi_DsGetMemberships as [todo]
from 79100c2... s3: Add "g_lock_do" as a convenience wrapper function
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit 0f210749a779249b8f323c2eb2aec38137ae4317
Author: Stefan Metzmacher <metze at samba.org>
Date: Thu Mar 11 12:51:46 2010 +0100
s4:torture/rpc/dfs.c: make use of dcerpc_binding_handle stubs
metze
commit 81ac17d12d28b02e896f9c6c17a3aa441e87f4a7
Author: Stefan Metzmacher <metze at samba.org>
Date: Thu Mar 11 12:30:24 2010 +0100
s4:torture/rpc/echo.c: make use of dcerpc_binding_handle stubs
metze
commit f1633934cd1fc455648230c6e542c2a67f751879
Author: Stefan Metzmacher <metze at samba.org>
Date: Thu Mar 11 11:33:10 2010 +0100
s4:torture/libnet: make use of dcerpc_binding_handle stubs
metze
commit 7be154a6168bd1bb49d776599b9ede0826835c66
Author: Stefan Metzmacher <metze at samba.org>
Date: Thu Mar 11 11:31:36 2010 +0100
s4:torture/ntp: make use of dcerpc_binding_handle stubs
metze
commit 9e0557a14975375596e7ed89c7ed70b85116e7fc
Author: Stefan Metzmacher <metze at samba.org>
Date: Thu Mar 11 11:27:58 2010 +0100
s4:libnet/libnet_time.c: make use of dcerpc_binding_handle stubs
metze
commit 07a28b1923bee35c365972e4c5935de8637d412b
Author: Stefan Metzmacher <metze at samba.org>
Date: Thu Mar 11 11:27:40 2010 +0100
s4:libnet/libnet_share.c: make use of dcerpc_binding_handle stubs
metze
commit 02c61f520cfd5bea83ab18a4877c978f448fa4d3
Author: Stefan Metzmacher <metze at samba.org>
Date: Thu Mar 11 11:27:16 2010 +0100
s4:libnet/libnet_samsync.c: make use of dcerpc_binding_handle stubs
metze
commit 19d229a11b959f4dd841b1a4e851f39271121e10
Author: Stefan Metzmacher <metze at samba.org>
Date: Thu Mar 11 07:59:14 2010 +0100
s4:libnet/libnet_passwd.c: make use of dcerpc_binding_handle stubs
metze
commit bec3d8e7ae84c7adb64bff64529f7838aa45fd9b
Author: Stefan Metzmacher <metze at samba.org>
Date: Thu Mar 11 11:26:27 2010 +0100
s4:libnet/libnet_join.c: make use of dcerpc_binding_handle stubs
metze
commit 7807de5693174ee018561a694c8b6baf292888e2
Author: Stefan Metzmacher <metze at samba.org>
Date: Thu Mar 11 11:25:34 2010 +0100
s4:libcli/util/clilsa.c: make use of dcerpc_binding_handle stubs
metze
commit dea7c4f999c157358338436ce1717ef8bf3f96e0
Author: Stefan Metzmacher <metze at samba.org>
Date: Thu Mar 11 11:25:01 2010 +0100
s4:client: make use of dcerpc_binding_handle stubs
metze
commit 580d491faa8baf35b85262fa84d8c3a0591d9f34
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Mar 10 18:17:28 2010 +0100
s4:rpc_server/spoolss: make use of dcerpc_binding_handle stubs
metze
commit b6623e3a264d685c6f271a8f1e2529c3dcd201b8
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Mar 10 18:13:50 2010 +0100
s4:lib/registry/rpc: convert to use dcerpc_binding_handle stubs
metze
commit d0662ac4d01a5de34a368504b63f03a5ab43c398
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Mar 10 11:12:17 2010 +0100
pidl:Samba4/NDR/Client: make the old rpc_request style async functions static
metze
commit d4f143258b61055864d8bb61ec180284a8b68e71
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Mar 10 10:36:05 2010 +0100
s4:dcom: add a comment about unused code.
metze
commit 6292cb7f7f097aba2151d348331700e2b99fe49e
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Mar 10 10:30:03 2010 +0100
s4:libcli/composite: get rid of composite_continue_rpc()
metze
commit 7b76c118ad0f5272a2dac679e482f7b1b2440abc
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Mar 10 10:23:01 2010 +0100
s4:librpc/rpc/dcerpc_util.c: make use of use tevent_req based dcerpc_binding_handle stubs
metze
commit 398f477941de2fe3010c4f44b5507a9b764c2fd3
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Mar 10 10:17:25 2010 +0100
s4:librpc/rpc/dcerpc_schannel.c: make use of use tevent_req based dcerpc_binding_handle stubs
metze
commit ff54cbe3d4c090003720eaef2a7321923404db39
Author: Stefan Metzmacher <metze at samba.org>
Date: Tue Mar 9 15:46:55 2010 +0100
s4:torture/rpc: make use of use tevent_req based dcerpc_binding_handle stubs
metze
commit e9cae3b5bc9a59a45973c1671e2d7372d1c32b12
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Mar 10 10:04:20 2010 +0100
s4:winbind/wb_sam_logon.c: make use of use tevent_req based dcerpc_binding_handle stubs
metze
commit 399cbb647995d3caee4aba21a7333102a28324ba
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Mar 10 10:03:56 2010 +0100
s4:winbind/wb_init_domain.c: make use of use tevent_req based dcerpc_binding_handle stubs
metze
commit 7681260e1eb5fdf168e7e1a35e8b8b0a14e1c2e0
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Mar 10 10:03:26 2010 +0100
s4:winbind/wb_dom_info_trusted.c: make use of use tevent_req based dcerpc_binding_handle stubs
metze
commit 53bdd25829b0af13a30b70e503f59702708668a8
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Mar 10 10:02:50 2010 +0100
s4:winbind/wb_connect_sam.c: make use of use tevent_req based dcerpc_binding_handle stubs
metze
commit d836dd9ea7e96752e405990521d80242e948a84b
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Mar 10 10:02:25 2010 +0100
s4:winbind/wb_connect_lsa.c: make use of use tevent_req based dcerpc_binding_handle stubs
metze
commit 6ecae51e18ef31010ba5cdac845e13108e821c40
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Mar 10 10:01:57 2010 +0100
s4:winbind/wb_cmd_usersids.c: make use of use tevent_req based dcerpc_binding_handle stubs
metze
commit 765d4a52cba49ac1c8d30ae825c03f6003acd188
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Mar 10 10:01:23 2010 +0100
s4:winbind/wb_cmd_list_trustdom.c: make use of use tevent_req based dcerpc_binding_handle stubs
metze
commit 05d6343ac7a9a1e244ad70c0c24d65f33936e6ad
Author: Stefan Metzmacher <metze at samba.org>
Date: Tue Mar 9 13:49:20 2010 +0100
s4:winbind/wb_cmd_getdcname: make use of use tevent_req based dcerpc_binding_handle stubs
metze
commit 9e87e6dc9ae73e1a5ad8bfc1742282ba69202ddd
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Mar 8 20:33:48 2010 +0100
s4:winbind/wb_async_helpers.c: make use of use tevent_req based dcerpc_binding_handle stubs
metze
commit a011cbccb7956b277657690f2c3070f4eea78092
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Mar 10 09:53:36 2010 +0100
s4:libnet/libnet_rpc.c: make use of use tevent_req based dcerpc_binding_handle stubs
metze
commit c190ae1631ae1307116005280fa61dbfac90a19d
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Mar 10 09:43:13 2010 +0100
s4:libnet/usernam.c: make use of use tevent_req based dcerpc_binding_handle stubs
metze
commit a8967c378c771697760f47996aaae8f3d1e4a98b
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Mar 10 09:42:07 2010 +0100
s4:libnet/userinfo.c: make use of use tevent_req based dcerpc_binding_handle stubs
metze
commit ccc0ab681133548d9c8f0b34368b5836374d9947
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Mar 10 09:39:55 2010 +0100
s4:libnet/libnet_user.c: make use of use tevent_req based dcerpc_binding_handle stubs
metze
commit c148405a12919ca48163f0cbe337fe30b6c97d92
Author: Stefan Metzmacher <metze at samba.org>
Date: Tue Mar 9 16:59:33 2010 +0100
s4:libnet/libnet_lookup.c: make use of use tevent_req based dcerpc_binding_handle stubs
metze
commit eae3436320fef015f3e2f78ed32aa57cae0aa7f9
Author: Stefan Metzmacher <metze at samba.org>
Date: Tue Mar 9 16:48:17 2010 +0100
s4:libnet/libnet_group.c: make use of use tevent_req based dcerpc_binding_handle stubs
metze
commit 3d72524ab4de8d3fe820c0eb0dcd60c4a2cc3fe2
Author: Stefan Metzmacher <metze at samba.org>
Date: Tue Mar 9 16:45:04 2010 +0100
s4:libnet/libnet_domain.c: make use of use tevent_req based dcerpc_binding_handle stubs
metze
commit f0a394315d6adede8e319a60236aca114b1aa362
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Mar 8 17:12:56 2010 +0100
s4:libnet_unbecome_dc: make use of use tevent_req based dcerpc_binding_handle stubs
metze
commit 2c5bbea8cbf1fd95db946ca65893f081b8c392d2
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Mar 8 16:41:43 2010 +0100
s4:libnet_become_dc: make use of use tevent_req based dcerpc_binding_handle stubs
metze
commit 8dc4fd921b3d49d757f382d5546447eed37ea9f2
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Mar 8 16:32:45 2010 +0100
s4:libnet/group*: make use of tevent_req based dcerpc_binding_handle stubs
metze
commit a3ae9802d47f7a39030be089d15fc42f8e8917e6
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Mar 8 16:27:14 2010 +0100
s4:libnet: keep a dcerpc_binding_handle for samr and lsa
metze
commit 77fb700e2096a0fbd1ed9361f476898b2b7771c5
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Mar 8 16:23:17 2010 +0100
s4:dsdb/repl: make use of use tevent_req based dcerpc_binding_handle stubs
metze
commit 15d9675b049ee157037328daa714f79b339c0c73
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Mar 8 12:31:06 2010 +0100
pidl:Samba4/NDR/Client: generate stubs for dcerpc_binding_handle abstraction
metze
commit d95ca9003044969eacf6b42710a4ce5640084b2d
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Mar 8 16:24:19 2010 +0100
s4:librpc/rpc: prepare dcerpc dependecies before pidl changes
metze
commit 6677a5431cc33d8fba565ee068d4c87050ddbd96
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon Mar 8 12:29:52 2010 +0100
s4:librpc/rpc: add very basic dcerpc_binding_handle infrastructure
metze
commit 454bedcb806ce54dae2e6ecc6650d8972287c87c
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed Mar 10 17:52:38 2010 +0100
pidl:Samba4/NDR/Client: don't generate client stubs for function marked as [todo]
metze
commit 8844acf4248ae8df9293eeff2eed8827ea802211
Author: Stefan Metzmacher <metze at samba.org>
Date: Fri Mar 12 00:52:30 2010 +0100
pidl:Samba/Python: don't generate methods for functions marked as [todo]
metze
commit f4c227e5719abc02d510509a81f2628740b58803
Author: Stefan Metzmacher <metze at samba.org>
Date: Fri Mar 12 09:20:23 2010 +0100
librpc: rerun make idl
metze
commit f85c825ae2e37a2ae744d20ea385a56863daab91
Author: Stefan Metzmacher <metze at samba.org>
Date: Fri Mar 12 00:45:56 2010 +0100
drsuapi.idl: don't mark drsuapi_DsGetMemberships as [todo]
metze
-----------------------------------------------------------------------
Summary of changes:
librpc/gen_ndr/drsuapi.h | 2 +-
librpc/gen_ndr/ndr_drsuapi.c | 3 +
librpc/idl/drsuapi.idl | 4 +-
pidl/lib/Parse/Pidl/Samba4/NDR/Client.pm | 225 +++++++++++++++++++++++---
pidl/lib/Parse/Pidl/Samba4/Python.pm | 1 +
source4/client/client.c | 2 +-
source4/dsdb/repl/drepl_notify.c | 25 ++-
source4/dsdb/repl/drepl_out_helpers.c | 74 +++++----
source4/dsdb/repl/drepl_service.h | 1 +
source4/lib/com/dcom/main.c | 2 +-
source4/lib/registry/rpc.c | 33 ++--
source4/libcli/composite/composite.c | 11 --
source4/libcli/composite/composite.h | 5 -
source4/libcli/util/clilsa.c | 12 +-
source4/libnet/groupinfo.c | 82 ++++++----
source4/libnet/groupman.c | 74 +++++----
source4/libnet/libnet.h | 2 +
source4/libnet/libnet_become_dc.c | 133 +++++++++------
source4/libnet/libnet_domain.c | 232 +++++++++++++++------------
source4/libnet/libnet_group.c | 57 ++++---
source4/libnet/libnet_join.c | 26 ++--
source4/libnet/libnet_lookup.c | 29 ++--
source4/libnet/libnet_passwd.c | 26 ++--
source4/libnet/libnet_rpc.c | 57 ++++---
source4/libnet/libnet_samsync.c | 2 +-
source4/libnet/libnet_share.c | 6 +-
source4/libnet/libnet_time.c | 2 +-
source4/libnet/libnet_unbecome_dc.c | 39 +++--
source4/libnet/libnet_user.c | 57 ++++---
source4/libnet/userinfo.c | 81 ++++++----
source4/libnet/userman.c | 153 ++++++++++--------
source4/librpc/config.mk | 10 +-
source4/librpc/rpc/dcerpc.c | 8 +
source4/librpc/rpc/dcerpc.h | 11 ++
source4/librpc/rpc/dcerpc_schannel.c | 38 +++--
source4/librpc/rpc/dcerpc_util.c | 22 ++--
source4/rpc_server/spoolss/dcesrv_spoolss.c | 2 +-
source4/torture/libnet/domain.c | 6 +-
source4/torture/libnet/libnet_domain.c | 20 ++--
source4/torture/libnet/libnet_group.c | 48 +++---
source4/torture/libnet/libnet_share.c | 6 +-
source4/torture/libnet/libnet_user.c | 66 ++++----
source4/torture/libnet/utils.c | 42 +++---
source4/torture/ntp/ntp_signd.c | 4 +-
source4/torture/rpc/dfs.c | 114 +++++++-------
source4/torture/rpc/echo.c | 41 +++--
source4/torture/rpc/lsa.c | 16 +-
source4/torture/rpc/netlogon.c | 9 +-
source4/torture/rpc/samr.c | 8 +-
source4/torture/rpc/schannel.c | 20 ++-
source4/winbind/wb_async_helpers.c | 111 ++++++++------
source4/winbind/wb_cmd_getdcname.c | 23 ++--
source4/winbind/wb_cmd_list_trustdom.c | 31 +++--
source4/winbind/wb_cmd_usersids.c | 22 ++-
source4/winbind/wb_connect_lsa.c | 22 ++-
source4/winbind/wb_connect_sam.c | 42 +++--
source4/winbind/wb_dom_info_trusted.c | 45 +++---
source4/winbind/wb_init_domain.c | 43 +++--
source4/winbind/wb_sam_logon.c | 19 ++-
59 files changed, 1387 insertions(+), 920 deletions(-)
Changeset truncated at 500 lines:
diff --git a/librpc/gen_ndr/drsuapi.h b/librpc/gen_ndr/drsuapi.h
index 8bd80fd..f542505 100644
--- a/librpc/gen_ndr/drsuapi.h
+++ b/librpc/gen_ndr/drsuapi.h
@@ -787,7 +787,7 @@ struct drsuapi_DsGetMembershipsRequest1 {
uint32_t count;/* [range(1,10000)] */
struct drsuapi_DsReplicaObjectIdentifier **info_array;/* [unique,size_is(count)] */
uint32_t flags;
- enum drsuapi_DsMembershipType type;
+ enum drsuapi_DsMembershipType type;/* [range(1,7)] */
struct drsuapi_DsReplicaObjectIdentifier *domain;/* [unique] */
};
diff --git a/librpc/gen_ndr/ndr_drsuapi.c b/librpc/gen_ndr/ndr_drsuapi.c
index 8aab9e4..2400766 100644
--- a/librpc/gen_ndr/ndr_drsuapi.c
+++ b/librpc/gen_ndr/ndr_drsuapi.c
@@ -4992,6 +4992,9 @@ static enum ndr_err_code ndr_pull_drsuapi_DsGetMembershipsRequest1(struct ndr_pu
}
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->flags));
NDR_CHECK(ndr_pull_drsuapi_DsMembershipType(ndr, NDR_SCALARS, &r->type));
+ if (r->type < 1 || r->type > 7) {
+ return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
+ }
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain));
if (_ptr_domain) {
NDR_PULL_ALLOC(ndr, r->domain);
diff --git a/librpc/idl/drsuapi.idl b/librpc/idl/drsuapi.idl
index 54a7b93..94e527e 100644
--- a/librpc/idl/drsuapi.idl
+++ b/librpc/idl/drsuapi.idl
@@ -855,7 +855,7 @@ interface drsuapi
[range(1,10000)] uint32 count;
[size_is(count)] drsuapi_DsReplicaObjectIdentifier **info_array;
uint32 flags;
- drsuapi_DsMembershipType type;
+ [range(1,7)] drsuapi_DsMembershipType type;
drsuapi_DsReplicaObjectIdentifier *domain;
} drsuapi_DsGetMembershipsRequest1;
@@ -863,7 +863,7 @@ interface drsuapi
[case(1)] drsuapi_DsGetMembershipsRequest1 req1;
} drsuapi_DsGetMembershipsRequest;
- [todo] WERROR drsuapi_DsGetMemberships(
+ WERROR drsuapi_DsGetMemberships(
[in] policy_handle *bind_handle,
[in] uint32 level,
[in,ref] [switch_is(level)] drsuapi_DsGetMembershipsRequest *req,
diff --git a/pidl/lib/Parse/Pidl/Samba4/NDR/Client.pm b/pidl/lib/Parse/Pidl/Samba4/NDR/Client.pm
index 958f215..aa9dad9 100644
--- a/pidl/lib/Parse/Pidl/Samba4/NDR/Client.pm
+++ b/pidl/lib/Parse/Pidl/Samba4/NDR/Client.pm
@@ -16,21 +16,20 @@ use strict;
my($res,$res_hdr);
-sub ParseFunctionSend($$$)
+sub ParseFunctionOldSend($$$)
{
my ($interface, $fn, $name) = @_;
my $uname = uc $name;
- my $proto = "struct rpc_request *dcerpc_$name\_send(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx, struct $name *r)";
+ if (has_property($fn, "todo")) {
+ return;
+ }
- $res_hdr .= "\n$proto;\n";
+ my $proto = "static struct rpc_request *dcerpc_$name\_send(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx, struct $name *r)";
$res .= "$proto\n{\n";
- if (has_property($fn, "todo")) {
- $res .= "\treturn NULL;\n";
- } else {
- $res .= "
+ $res .= "
if (p->conn->flags & DCERPC_DEBUG_PRINT_IN) {
NDR_PRINT_IN_DEBUG($name, r);
}
@@ -38,26 +37,24 @@ sub ParseFunctionSend($$$)
return dcerpc_ndr_request_send(p, NULL, &ndr_table_$interface->{NAME},
NDR_$uname, true, mem_ctx, r);
";
- }
$res .= "}\n\n";
}
-sub ParseFunctionRecv($$$)
+sub ParseFunctionOldRecv($$$)
{
my ($interface, $fn, $name) = @_;
my $uname = uc $name;
- my $proto = "NTSTATUS dcerpc_$name\_recv(struct rpc_request *rreq)";
+ if (has_property($fn, "todo")) {
+ return;
+ }
- $res_hdr .= "\n$proto;\n";
+ my $proto = "static NTSTATUS dcerpc_$name\_recv(struct rpc_request *rreq)";
$res .= "$proto\n{\n";
- if (has_property($fn, "todo")) {
- $res .= "\treturn NT_STATUS_NOT_IMPLEMENTED;\n";
- } else {
- $res .= "NTSTATUS status;
+ $res .= "NTSTATUS status;
struct dcerpc_pipe *p = rreq->p;
struct $name *r = (struct $name *)rreq->ndr.struct_ptr;
@@ -69,7 +66,6 @@ sub ParseFunctionRecv($$$)
return status;
";
- }
$res .= "}\n\n";
}
@@ -79,15 +75,16 @@ sub ParseFunctionSync($$$)
my ($interface, $fn, $name) = @_;
my $uname = uc $name;
+ if (has_property($fn, "todo")) {
+ return;
+ }
+
my $proto = "NTSTATUS dcerpc_$name(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx, struct $name *r)";
$res_hdr .= "\n$proto;\n";
$res .= "$proto\n{\n";
- if (has_property($fn, "todo")) {
- $res .= "\treturn NT_STATUS_NOT_IMPLEMENTED;\n";
- } else {
- $res .= "
+ $res .= "
NTSTATUS status;
if (p->conn->flags & DCERPC_DEBUG_PRINT_IN) {
@@ -109,20 +106,200 @@ sub ParseFunctionSync($$$)
"
return status;
";
- }
$res .= "}\n\n";
}
+sub ParseFunction_r_State($$$)
+{
+ my ($interface, $fn, $name) = @_;
+ my $uname = uc $name;
+
+ if (has_property($fn, "todo")) {
+ return;
+ }
+
+ $res .= "struct dcerpc_$name\_r_state {\n";
+ $res .= "\tTALLOC_CTX *out_mem_ctx;\n";
+ $res .= "};\n";
+ $res .= "\n";
+ $res .= "static void dcerpc_$name\_r_done(struct rpc_request *subreq);\n";
+ $res .= "\n";
+}
+
+sub ParseFunction_r_Send($$$)
+{
+ my ($interface, $fn, $name) = @_;
+ my $uname = uc $name;
+
+ if (has_property($fn, "todo")) {
+ return;
+ }
+
+ my $proto = "struct tevent_req *dcerpc_$name\_r_send(TALLOC_CTX *mem_ctx,\n";
+ $proto .= "\tstruct tevent_context *ev,\n",
+ $proto .= "\tstruct dcerpc_binding_handle *h,\n",
+ $proto .= "\tstruct $name *r)";
+
+ $res_hdr .= "\n$proto;\n";
+
+ $res .= "$proto\n{\n";
+
+ $res .= "\tstruct tevent_req *req;\n";
+ $res .= "\tstruct dcerpc_$name\_r_state *state;\n";
+ $res .= "\tstruct dcerpc_pipe *p =\n";
+ $res .= "\t\ttalloc_get_type_abort(h->private_data,\n";
+ $res .= "\t\tstruct dcerpc_pipe);\n";
+ $res .= "\tstruct rpc_request *subreq;\n";
+ $res .= "\n";
+
+ $res .= "\treq = tevent_req_create(mem_ctx, &state,\n";
+ $res .= "\t\t\t\tstruct dcerpc_$name\_r_state);\n";
+ $res .= "\tif (req == NULL) {\n";
+ $res .= "\t\treturn NULL;\n";
+ $res .= "\t}\n";
+ $res .= "\n";
+
+ my $out_params = 0;
+ foreach (@{$fn->{ELEMENTS}}) {
+ if (grep(/out/, @{$_->{DIRECTION}})) {
+ $out_params++;
+ }
+ }
+
+ my $submem;
+ if ($out_params > 0) {
+ $res .= "\tstate->out_mem_ctx = talloc_new(state);\n";
+ $res .= "\tif (tevent_req_nomem(state->out_mem_ctx, req)) {\n";
+ $res .= "\t\treturn tevent_req_post(req, ev);\n";
+ $res .= "\t}\n";
+ $res .= "\n";
+ $submem = "state->out_mem_ctx";
+ } else {
+ $res .= "\tstate->out_mem_ctx = NULL;\n";
+ $submem = "state";
+ }
+
+ $res .= "\tsubreq = dcerpc_$name\_send(p, $submem, r);\n";
+ $res .= "\tif (tevent_req_nomem(subreq, req)) {\n";
+ $res .= "\t\treturn tevent_req_post(req, ev);\n";
+ $res .= "\t}\n";
+ $res .= "\tsubreq->async.callback = dcerpc_$name\_r_done;\n";
+ $res .= "\tsubreq->async.private_data = req;\n";
+ $res .= "\n";
+
+ $res .= "\treturn req;\n";
+ $res .= "}\n";
+ $res .= "\n";
+}
+
+sub ParseFunction_r_Done($$$)
+{
+ my ($interface, $fn, $name) = @_;
+ my $uname = uc $name;
+
+ if (has_property($fn, "todo")) {
+ return;
+ }
+
+ my $proto = "static void dcerpc_$name\_r_done(struct rpc_request *subreq)";
+
+ $res .= "$proto\n";
+ $res .= "{\n";
+
+ $res .= "\tstruct tevent_req *req =\n";
+ $res .= "\t\ttalloc_get_type_abort(subreq->async.private_data,\n";
+ $res .= "\t\tstruct tevent_req);\n";
+ $res .= "\tNTSTATUS status;\n";
+ $res .= "\n";
+
+ $res .= "\tstatus = dcerpc_$name\_recv(subreq);\n";
+ $res .= "\tif (!NT_STATUS_IS_OK(status)) {\n";
+ $res .= "\t\ttevent_req_nterror(req, status);\n";
+ $res .= "\t\treturn;\n";
+ $res .= "\t}\n";
+ $res .= "\n";
+
+ $res .= "\ttevent_req_done(req);\n";
+ $res .= "}\n";
+ $res .= "\n";
+}
+
+sub ParseFunction_r_Recv($$$)
+{
+ my ($interface, $fn, $name) = @_;
+ my $uname = uc $name;
+
+ if (has_property($fn, "todo")) {
+ return;
+ }
+
+ my $proto = "NTSTATUS dcerpc_$name\_r_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx)";
+
+ $res_hdr .= "\n$proto;\n";
+
+ $res .= "$proto\n{\n";
+
+ $res .= "\tstruct dcerpc_$name\_r_state *state =\n";
+ $res .= "\t\ttevent_req_data(req,\n";
+ $res .= "\t\tstruct dcerpc_$name\_r_state);\n";
+ $res .= "\tNTSTATUS status;\n";
+ $res .= "\n";
+
+ $res .= "\tif (tevent_req_is_nterror(req, &status)) {\n";
+ $res .= "\t\ttevent_req_received(req);\n";
+ $res .= "\t\treturn status;\n";
+ $res .= "\t}\n";
+ $res .= "\n";
+
+ $res .= "\ttalloc_steal(mem_ctx, state->out_mem_ctx);\n";
+ $res .= "\n";
+
+ $res .= "\ttevent_req_received(req);\n";
+ $res .= "\treturn NT_STATUS_OK;\n";
+ $res .= "}\n";
+ $res .= "\n";
+}
+
+sub ParseFunction_r_Sync($$$)
+{
+ my ($interface, $fn, $name) = @_;
+ my $uname = uc $name;
+
+ if (has_property($fn, "todo")) {
+ return;
+ }
+
+ my $proto = "NTSTATUS dcerpc_$name\_r(struct dcerpc_binding_handle *h, TALLOC_CTX *mem_ctx, struct $name *r)";
+
+ $res_hdr .= "\n$proto;\n";
+ $res .= "$proto\n{\n";
+
+ $res .= "\tstruct dcerpc_pipe *p =\n";
+ $res .= "\t\ttalloc_get_type_abort(h->private_data,\n";
+ $res .= "\t\tstruct dcerpc_pipe);\n";
+ $res .= "\n";
+
+ $res .= "\treturn dcerpc_$name(p, mem_ctx, r);\n";
+ $res .= "}\n";
+ $res .= "\n";
+}
+
#####################################################################
# parse a function
sub ParseFunction($$)
{
my ($interface, $fn) = @_;
- ParseFunctionSend($interface, $fn, $fn->{NAME});
- ParseFunctionRecv($interface, $fn, $fn->{NAME});
ParseFunctionSync($interface, $fn, $fn->{NAME});
+
+ ParseFunctionOldSend($interface, $fn, $fn->{NAME});
+ ParseFunctionOldRecv($interface, $fn, $fn->{NAME});
+ ParseFunction_r_State($interface, $fn, $fn->{NAME});
+ ParseFunction_r_Send($interface, $fn, $fn->{NAME});
+ ParseFunction_r_Done($interface, $fn, $fn->{NAME});
+ ParseFunction_r_Recv($interface, $fn, $fn->{NAME});
+ ParseFunction_r_Sync($interface, $fn, $fn->{NAME});
}
my %done;
@@ -176,6 +353,8 @@ sub Parse($$$$)
$res .= "#include <stdarg.h>\n";
$res .= "#include <core/ntstatus.h>\n";
}
+ $res .= "#include <tevent.h>\n";
+ $res .= "#include \"lib/util/tevent_ntstatus.h\"\n";
$res .= "#include \"$ndr_header\"\n";
$res .= "#include \"$client_header\"\n";
$res .= "\n";
diff --git a/pidl/lib/Parse/Pidl/Samba4/Python.pm b/pidl/lib/Parse/Pidl/Samba4/Python.pm
index 781d640..a6c2738 100644
--- a/pidl/lib/Parse/Pidl/Samba4/Python.pm
+++ b/pidl/lib/Parse/Pidl/Samba4/Python.pm
@@ -648,6 +648,7 @@ sub Interface($$$)
foreach my $d (@{$interface->{FUNCTIONS}}) {
next if not defined($d->{OPNUM});
next if has_property($d, "nopython");
+ next if has_property($d, "todo");
my $prettyname = $d->{NAME};
diff --git a/source4/client/client.c b/source4/client/client.c
index 1958dfc..55a2d0c 100644
--- a/source4/client/client.c
+++ b/source4/client/client.c
@@ -2605,7 +2605,7 @@ static bool browse_host(struct loadparm_context *lp_ctx,
do {
ZERO_STRUCT(ctr1);
- status = dcerpc_srvsvc_NetShareEnumAll(p, mem_ctx, &r);
+ status = dcerpc_srvsvc_NetShareEnumAll_r(p->binding_handle, mem_ctx, &r);
if (NT_STATUS_IS_OK(status) &&
(W_ERROR_EQUAL(r.out.result, WERR_MORE_DATA) ||
diff --git a/source4/dsdb/repl/drepl_notify.c b/source4/dsdb/repl/drepl_notify.c
index 5047da3..7ae4af7 100644
--- a/source4/dsdb/repl/drepl_notify.c
+++ b/source4/dsdb/repl/drepl_notify.c
@@ -38,6 +38,7 @@
struct dreplsrv_op_notify_state {
+ struct tevent_context *ev;
struct dreplsrv_notify_operation *op;
void *ndr_struct_ptr;
};
@@ -60,6 +61,7 @@ static struct tevent_req *dreplsrv_op_notify_send(TALLOC_CTX *mem_ctx,
if (req == NULL) {
return NULL;
}
+ state->ev = ev;
state->op = op;
subreq = dreplsrv_out_drsuapi_send(state,
@@ -90,7 +92,7 @@ static void dreplsrv_op_notify_connect_done(struct tevent_req *subreq)
dreplsrv_op_notify_replica_sync_trigger(req);
}
-static void dreplsrv_op_notify_replica_sync_done(struct rpc_request *rreq);
+static void dreplsrv_op_notify_replica_sync_done(struct tevent_req *subreq);
static void dreplsrv_op_notify_replica_sync_trigger(struct tevent_req *req)
{
@@ -99,8 +101,8 @@ static void dreplsrv_op_notify_replica_sync_trigger(struct tevent_req *req)
struct dreplsrv_op_notify_state);
struct dreplsrv_partition *partition = state->op->source_dsa->partition;
struct dreplsrv_drsuapi_connection *drsuapi = state->op->source_dsa->conn->drsuapi;
- struct rpc_request *rreq;
struct drsuapi_DsReplicaSync *r;
+ struct tevent_req *subreq;
r = talloc_zero(state, struct drsuapi_DsReplicaSync);
if (tevent_req_nomem(r, req)) {
@@ -125,17 +127,21 @@ static void dreplsrv_op_notify_replica_sync_trigger(struct tevent_req *req)
state->ndr_struct_ptr = r;
- rreq = dcerpc_drsuapi_DsReplicaSync_send(drsuapi->pipe, r, r);
- if (tevent_req_nomem(rreq, req)) {
+ subreq = dcerpc_drsuapi_DsReplicaSync_r_send(state,
+ state->ev,
+ drsuapi->drsuapi_handle,
+ r);
+ if (tevent_req_nomem(subreq, req)) {
return;
}
- composite_continue_rpc(NULL, rreq, dreplsrv_op_notify_replica_sync_done, req);
+ tevent_req_set_callback(subreq, dreplsrv_op_notify_replica_sync_done, req);
}
-static void dreplsrv_op_notify_replica_sync_done(struct rpc_request *rreq)
+static void dreplsrv_op_notify_replica_sync_done(struct tevent_req *subreq)
{
- struct tevent_req *req = talloc_get_type(rreq->async.private_data,
- struct tevent_req);
+ struct tevent_req *req =
+ tevent_req_callback_data(subreq,
+ struct tevent_req);
struct dreplsrv_op_notify_state *state =
tevent_req_data(req,
struct dreplsrv_op_notify_state);
@@ -145,7 +151,8 @@ static void dreplsrv_op_notify_replica_sync_done(struct rpc_request *rreq)
state->ndr_struct_ptr = NULL;
- status = dcerpc_drsuapi_DsReplicaSync_recv(rreq);
+ status = dcerpc_drsuapi_DsReplicaSync_r_recv(subreq, r);
+ TALLOC_FREE(subreq);
if (tevent_req_nterror(req, status)) {
return;
}
diff --git a/source4/dsdb/repl/drepl_out_helpers.c b/source4/dsdb/repl/drepl_out_helpers.c
index a8a3f80..a12481b 100644
--- a/source4/dsdb/repl/drepl_out_helpers.c
+++ b/source4/dsdb/repl/drepl_out_helpers.c
@@ -37,6 +37,8 @@
#include "../lib/util/tevent_ntstatus.h"
struct dreplsrv_out_drsuapi_state {
+ struct tevent_context *ev;
+
struct dreplsrv_out_connection *conn;
struct dreplsrv_drsuapi_connection *drsuapi;
@@ -61,6 +63,7 @@ struct tevent_req *dreplsrv_out_drsuapi_send(TALLOC_CTX *mem_ctx,
return NULL;
}
+ state->ev = ev;
state->conn = conn;
state->drsuapi = conn->drsuapi;
@@ -90,7 +93,7 @@ struct tevent_req *dreplsrv_out_drsuapi_send(TALLOC_CTX *mem_ctx,
return req;
}
-static void dreplsrv_out_drsuapi_bind_done(struct rpc_request *rreq);
+static void dreplsrv_out_drsuapi_bind_done(struct tevent_req *subreq);
static void dreplsrv_out_drsuapi_connect_done(struct composite_context *creq)
{
@@ -99,7 +102,7 @@ static void dreplsrv_out_drsuapi_connect_done(struct composite_context *creq)
struct dreplsrv_out_drsuapi_state *state = tevent_req_data(req,
struct dreplsrv_out_drsuapi_state);
NTSTATUS status;
- struct rpc_request *rreq;
+ struct tevent_req *subreq;
status = dcerpc_pipe_connect_b_recv(creq,
state->drsuapi,
@@ -108,6 +111,8 @@ static void dreplsrv_out_drsuapi_connect_done(struct composite_context *creq)
return;
}
--
Samba Shared Repository
More information about the samba-cvs
mailing list