*/
struct irpc_request {
struct messaging_context *msg_ctx;
- const struct dcerpc_interface_table *table;
+ const struct ndr_interface_table *table;
int callnum;
int callid;
void *r;
NTSTATUS irpc_register(struct messaging_context *msg_ctx,
- const struct dcerpc_interface_table *table,
+ const struct ndr_interface_table *table,
int call, irpc_function_t fn, void *private);
struct irpc_request *irpc_call_send(struct messaging_context *msg_ctx,
struct server_id server_id,
- const struct dcerpc_interface_table *table,
+ const struct ndr_interface_table *table,
int callnum, void *r, TALLOC_CTX *ctx);
NTSTATUS irpc_call_recv(struct irpc_request *irpc);
NTSTATUS irpc_call(struct messaging_context *msg_ctx,
struct server_id server_id,
- const struct dcerpc_interface_table *table,
+ const struct ndr_interface_table *table,
int callnum, void *r, TALLOC_CTX *ctx);
NTSTATUS irpc_add_name(struct messaging_context *msg_ctx, const char *name);
struct irpc_list {
struct irpc_list *next, *prev;
struct GUID uuid;
- const struct dcerpc_interface_table *table;
+ const struct ndr_interface_table *table;
int callnum;
irpc_function_t fn;
void *private;
register a irpc server function
*/
NTSTATUS irpc_register(struct messaging_context *msg_ctx,
- const struct dcerpc_interface_table *table,
+ const struct ndr_interface_table *table,
int callnum, irpc_function_t fn, void *private)
{
struct irpc_list *irpc;
*/
struct irpc_request *irpc_call_send(struct messaging_context *msg_ctx,
struct server_id server_id,
- const struct dcerpc_interface_table *table,
+ const struct ndr_interface_table *table,
int callnum, void *r, TALLOC_CTX *ctx)
{
struct irpc_header header;
*/
NTSTATUS irpc_call(struct messaging_context *msg_ctx,
struct server_id server_id,
- const struct dcerpc_interface_table *table,
+ const struct ndr_interface_table *table,
int callnum, void *r,
TALLOC_CTX *mem_ctx)
{
const char *name;
const char *address;
const char *binding;
- const struct dcerpc_interface_table *dcerpc_iface;
+ const struct ndr_interface_table *dcerpc_iface;
} in;
struct {
struct dcerpc_pipe *dcerpc_pipe;
const char * const *names;
};
+struct ndr_interface_table {
+ const char *name;
+ struct ndr_syntax_id syntax_id;
+ const char *helpstring;
+ uint32_t num_calls;
+ const struct ndr_interface_call *calls;
+ const struct ndr_interface_string_array *endpoints;
+ const struct ndr_interface_string_array *authservices;
+};
+
+struct ndr_interface_list {
+ struct ndr_interface_list *prev, *next;
+ const struct ndr_interface_table *table;
+};
+
/* FIXME: Use represent_as instead */
struct dom_sid;
NTSTATUS ndr_push_dom_sid2(struct ndr_push *ndr, int ndr_flags, const struct dom_sid *sid);
*/
struct rpc_request *dcerpc_ndr_request_send(struct dcerpc_pipe *p,
const struct GUID *object,
- const struct dcerpc_interface_table *table,
+ const struct ndr_interface_table *table,
uint32_t opnum,
TALLOC_CTX *mem_ctx,
void *r)
TALLOC_CTX *mem_ctx = req->ndr.mem_ctx;
void *r = req->ndr.struct_ptr;
uint32_t opnum = req->ndr.opnum;
- const struct dcerpc_interface_table *table = req->ndr.table;
+ const struct ndr_interface_table *table = req->ndr.table;
const struct ndr_interface_call *call = &table->calls[opnum];
/* make sure the recv code doesn't free the request, as we
*/
NTSTATUS dcerpc_ndr_request(struct dcerpc_pipe *p,
const struct GUID *object,
- const struct dcerpc_interface_table *table,
+ const struct ndr_interface_table *table,
uint32_t opnum,
TALLOC_CTX *mem_ctx,
void *r)
/* this triggers the DCERPC_PFC_FLAG_CONC_MPX flag in the bind request */
#define DCERPC_CONCURRENT_MULTIPLEX (1<<19)
-struct dcerpc_interface_table {
- const char *name;
- struct ndr_syntax_id syntax_id;
- const char *helpstring;
- uint32_t num_calls;
- const struct ndr_interface_call *calls;
- const struct ndr_interface_string_array *endpoints;
- const struct ndr_interface_string_array *authservices;
-};
-
-struct dcerpc_interface_list {
- struct dcerpc_interface_list *prev, *next;
- const struct dcerpc_interface_table *table;
-};
-
/* this describes a binding to a particular transport/pipe */
struct dcerpc_binding {
enum dcerpc_transport_t transport;
struct dcerpc_pipe *pipe;
struct dcerpc_binding *binding;
const char *pipe_name;
- const struct dcerpc_interface_table *interface;
+ const struct ndr_interface_table *interface;
struct cli_credentials *creds;
};
/* use by the ndr level async recv call */
struct {
- const struct dcerpc_interface_table *table;
+ const struct ndr_interface_table *table;
uint32_t opnum;
void *struct_ptr;
TALLOC_CTX *mem_ctx;
/*
return the rpc syntax and transfer syntax given the pipe uuid and version
*/
-static NTSTATUS dcerpc_init_syntaxes(const struct dcerpc_interface_table *table,
+static NTSTATUS dcerpc_init_syntaxes(const struct ndr_interface_table *table,
struct ndr_syntax_id *syntax,
struct ndr_syntax_id *transfer_syntax)
{
*/
struct composite_context *dcerpc_bind_auth_none_send(TALLOC_CTX *mem_ctx,
struct dcerpc_pipe *p,
- const struct dcerpc_interface_table *table)
+ const struct ndr_interface_table *table)
{
struct ndr_syntax_id syntax;
struct ndr_syntax_id transfer_syntax;
Perform sync non-authenticated dcerpc bind
*/
NTSTATUS dcerpc_bind_auth_none(struct dcerpc_pipe *p,
- const struct dcerpc_interface_table *table)
+ const struct ndr_interface_table *table)
{
struct composite_context *ctx;
struct composite_context *dcerpc_bind_auth_send(TALLOC_CTX *mem_ctx,
struct dcerpc_pipe *p,
- const struct dcerpc_interface_table *table,
+ const struct ndr_interface_table *table,
struct cli_credentials *credentials,
uint8_t auth_type, uint8_t auth_level,
const char *service)
*/
NTSTATUS dcerpc_bind_auth(struct dcerpc_pipe *p,
- const struct dcerpc_interface_table *table,
+ const struct ndr_interface_table *table,
struct cli_credentials *credentials,
uint8_t auth_type, uint8_t auth_level,
const char *service)
struct pipe_connect_state {
struct dcerpc_pipe *pipe;
struct dcerpc_binding *binding;
- const struct dcerpc_interface_table *table;
+ const struct ndr_interface_table *table;
struct cli_credentials *credentials;
};
*/
struct composite_context* dcerpc_pipe_connect_b_send(TALLOC_CTX *parent_ctx,
struct dcerpc_binding *binding,
- const struct dcerpc_interface_table *table,
+ const struct ndr_interface_table *table,
struct cli_credentials *credentials,
struct event_context *ev)
{
NTSTATUS dcerpc_pipe_connect_b(TALLOC_CTX *parent_ctx,
struct dcerpc_pipe **pp,
struct dcerpc_binding *binding,
- const struct dcerpc_interface_table *table,
+ const struct ndr_interface_table *table,
struct cli_credentials *credentials,
struct event_context *ev)
{
*/
struct composite_context* dcerpc_pipe_connect_send(TALLOC_CTX *parent_ctx,
const char *binding,
- const struct dcerpc_interface_table *table,
+ const struct ndr_interface_table *table,
struct cli_credentials *credentials,
struct event_context *ev)
{
NTSTATUS dcerpc_pipe_connect(TALLOC_CTX *parent_ctx,
struct dcerpc_pipe **pp,
const char *binding,
- const struct dcerpc_interface_table *table,
+ const struct ndr_interface_table *table,
struct cli_credentials *credentials,
struct event_context *ev)
{
struct auth_schannel_state {
struct dcerpc_pipe *pipe;
struct cli_credentials *credentials;
- const struct dcerpc_interface_table *table;
+ const struct ndr_interface_table *table;
uint8_t auth_level;
};
*/
struct composite_context *dcerpc_bind_auth_schannel_send(TALLOC_CTX *tmp_ctx,
struct dcerpc_pipe *p,
- const struct dcerpc_interface_table *table,
+ const struct ndr_interface_table *table,
struct cli_credentials *credentials,
uint8_t auth_level)
{
*/
NTSTATUS dcerpc_bind_auth_schannel(TALLOC_CTX *tmp_ctx,
struct dcerpc_pipe *p,
- const struct dcerpc_interface_table *table,
+ const struct ndr_interface_table *table,
struct cli_credentials *credentials,
uint8_t auth_level)
{
struct sec_auth_conn_state {
struct dcerpc_pipe *pipe2;
struct dcerpc_binding *binding;
- const struct dcerpc_interface_table *table;
+ const struct ndr_interface_table *table;
struct cli_credentials *credentials;
struct composite_context *ctx;
};
struct composite_context* dcerpc_secondary_auth_connection_send(struct dcerpc_pipe *p,
struct dcerpc_binding *binding,
- const struct dcerpc_interface_table *table,
+ const struct ndr_interface_table *table,
struct cli_credentials *credentials)
{
/*
find a dcerpc call on an interface by name
*/
-const struct ndr_interface_call *dcerpc_iface_find_call(const struct dcerpc_interface_table *iface,
+const struct ndr_interface_call *dcerpc_iface_find_call(const struct ndr_interface_table *iface,
const char *name)
{
int i;
struct epm_map_binding_state {
struct dcerpc_binding *binding;
- const struct dcerpc_interface_table *table;
+ const struct ndr_interface_table *table;
struct dcerpc_pipe *pipe;
struct policy_handle handle;
struct GUID guid;
*/
struct composite_context *dcerpc_epm_map_binding_send(TALLOC_CTX *mem_ctx,
struct dcerpc_binding *binding,
- const struct dcerpc_interface_table *table,
+ const struct ndr_interface_table *table,
struct event_context *ev)
{
struct composite_context *c;
Get endpoint mapping for rpc connection
*/
NTSTATUS dcerpc_epm_map_binding(TALLOC_CTX *mem_ctx, struct dcerpc_binding *binding,
- const struct dcerpc_interface_table *table, struct event_context *ev)
+ const struct ndr_interface_table *table, struct event_context *ev)
{
struct composite_context *c;
struct pipe_auth_state {
struct dcerpc_pipe *pipe;
struct dcerpc_binding *binding;
- const struct dcerpc_interface_table *table;
+ const struct ndr_interface_table *table;
struct cli_credentials *credentials;
};
*/
struct composite_context *dcerpc_pipe_auth_send(struct dcerpc_pipe *p,
struct dcerpc_binding *binding,
- const struct dcerpc_interface_table *table,
+ const struct ndr_interface_table *table,
struct cli_credentials *credentials)
{
struct composite_context *c;
NTSTATUS dcerpc_pipe_auth(TALLOC_CTX *mem_ctx,
struct dcerpc_pipe **p,
struct dcerpc_binding *binding,
- const struct dcerpc_interface_table *table,
+ const struct ndr_interface_table *table,
struct cli_credentials *credentials)
{
struct composite_context *c;
this triggers on a debug level of >= 10
*/
-void dcerpc_log_packet(const struct dcerpc_interface_table *ndr,
+void dcerpc_log_packet(const struct ndr_interface_table *ndr,
uint32_t opnum, uint32_t flags, DATA_BLOB *pkt)
{
const int num_examples = 20;
*/
NTSTATUS dcerpc_secondary_context(struct dcerpc_pipe *p,
struct dcerpc_pipe **pp2,
- const struct dcerpc_interface_table *table)
+ const struct ndr_interface_table *table)
{
NTSTATUS status;
struct dcerpc_pipe *p2;
#include "librpc/rpc/dcerpc.h"
#include "librpc/rpc/dcerpc_table.h"
-struct dcerpc_interface_list *dcerpc_pipes = NULL;
+struct ndr_interface_list *dcerpc_pipes = NULL;
/*
register a dcerpc client interface
*/
-NTSTATUS librpc_register_interface(const struct dcerpc_interface_table *interface)
+NTSTATUS librpc_register_interface(const struct ndr_interface_table *interface)
{
- struct dcerpc_interface_list *l;
+ struct ndr_interface_list *l;
for (l = dcerpc_pipes; l; l = l->next) {
if (GUID_equal(&interface->syntax_id.uuid, &l->table->syntax_id.uuid)) {
}
}
- l = talloc(talloc_autofree_context(), struct dcerpc_interface_list);
+ l = talloc(talloc_autofree_context(), struct ndr_interface_list);
l->table = interface;
DLIST_ADD(dcerpc_pipes, l);
*/
const char *idl_pipe_name(const struct GUID *uuid, uint32_t if_version)
{
- const struct dcerpc_interface_list *l;
+ const struct ndr_interface_list *l;
for (l=librpc_dcerpc_pipes();l;l=l->next) {
if (GUID_equal(&l->table->syntax_id.uuid, uuid) &&
l->table->syntax_id.if_version == if_version) {
*/
int idl_num_calls(const struct GUID *uuid, uint32_t if_version)
{
- const struct dcerpc_interface_list *l;
+ const struct ndr_interface_list *l;
for (l=librpc_dcerpc_pipes();l;l=l->next){
if (GUID_equal(&l->table->syntax_id.uuid, uuid) &&
l->table->syntax_id.if_version == if_version) {
/*
find a dcerpc interface by name
*/
-const struct dcerpc_interface_table *idl_iface_by_name(const char *name)
+const struct ndr_interface_table *idl_iface_by_name(const char *name)
{
- const struct dcerpc_interface_list *l;
+ const struct ndr_interface_list *l;
for (l=librpc_dcerpc_pipes();l;l=l->next) {
if (strcasecmp(l->table->name, name) == 0) {
return l->table;
/*
find a dcerpc interface by uuid
*/
-const struct dcerpc_interface_table *idl_iface_by_uuid(const struct GUID *uuid)
+const struct ndr_interface_table *idl_iface_by_uuid(const struct GUID *uuid)
{
- const struct dcerpc_interface_list *l;
+ const struct ndr_interface_list *l;
for (l=librpc_dcerpc_pipes();l;l=l->next) {
if (GUID_equal(&l->table->syntax_id.uuid, uuid)) {
return l->table;
/*
return the list of registered dcerpc_pipes
*/
-const struct dcerpc_interface_list *librpc_dcerpc_pipes(void)
+const struct ndr_interface_list *librpc_dcerpc_pipes(void)
{
return dcerpc_pipes;
}
my $found = 0;
while (my $line = <FILE>) {
- if ($line =~ /extern const struct dcerpc_interface_table (\w+);/) {
+ if ($line =~ /extern const struct ndr_interface_table (\w+);/) {
$found = 1;
$init_fns.="\tstatus = librpc_register_interface(&$1);\n";
$init_fns.="\tif (NT_STATUS_IS_ERR(status)) return status;\n\n";
#endif
static const struct ndr_interface_call *find_function(
- const struct dcerpc_interface_table *p,
+ const struct ndr_interface_table *p,
const char *function)
{
int i;
static void show_pipes(void)
{
- const struct dcerpc_interface_list *l;
+ const struct ndr_interface_list *l;
printf("\nYou must specify a pipe\n");
printf("known pipes are:\n");
for (l=librpc_dcerpc_pipes();l;l=l->next) {
#endif
-static void show_functions(const struct dcerpc_interface_table *p)
+static void show_functions(const struct ndr_interface_table *p)
{
int i;
printf("\nYou must specify a function\n");
return result;
}
-const struct dcerpc_interface_table *load_iface_from_plugin(const char *plugin, const char *pipe_name)
+const struct ndr_interface_table *load_iface_from_plugin(const char *plugin, const char *pipe_name)
{
- const struct dcerpc_interface_table *p;
+ const struct ndr_interface_table *p;
void *handle;
char *symbol;
int main(int argc, const char *argv[])
{
- const struct dcerpc_interface_table *p = NULL;
+ const struct ndr_interface_table *p = NULL;
const struct ndr_interface_call *f;
const char *pipe_name, *function, *inout, *filename;
uint8_t *data;
$res_hdr .= "#define _HEADER_RPC_$interface->{NAME}\n\n";
if (defined $interface->{PROPERTIES}->{uuid}) {
- $res_hdr .= "extern const struct dcerpc_interface_table dcerpc_table_$interface->{NAME};\n";
+ $res_hdr .= "extern const struct ndr_interface_table dcerpc_table_$interface->{NAME};\n";
}
$res .= "/* $interface->{NAME} - client functions generated by pidl */\n\n";
$self->pidl("};");
$self->pidl("");
- $self->pidl("\nconst struct dcerpc_interface_table dcerpc_table_$interface->{NAME} = {");
+ $self->pidl("\nconst struct ndr_interface_table dcerpc_table_$interface->{NAME} = {");
$self->pidl("\t.name\t\t= \"$interface->{NAME}\",");
$self->pidl("\t.syntax_id\t= {");
$self->pidl("\t\t" . print_uuid($interface->{UUID}) .",");
if(!defined $interface->{PROPERTIES}->{helpstring}) { $interface->{PROPERTIES}->{helpstring} = "NULL"; }
$self->pidl_hdr("#define DCERPC_$name\_HELPSTRING $interface->{PROPERTIES}->{helpstring}");
- $self->pidl_hdr("extern const struct dcerpc_interface_table dcerpc_table_$interface->{NAME};");
+ $self->pidl_hdr("extern const struct ndr_interface_table dcerpc_table_$interface->{NAME};");
$self->pidl_hdr("NTSTATUS dcerpc_server_$interface->{NAME}_init(void);");
}
static NTSTATUS remote_op_bind(struct dcesrv_call_state *dce_call, const struct dcesrv_interface *iface)
{
NTSTATUS status;
- const struct dcerpc_interface_table *table;
+ const struct ndr_interface_table *table;
struct dcesrv_remote_private *private;
const char *binding = lp_parm_string(-1, "dcerpc_remote", "binding");
const char *user, *pass, *domain;
static NTSTATUS remote_op_ndr_pull(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct ndr_pull *pull, void **r)
{
NTSTATUS status;
- const struct dcerpc_interface_table *table = dce_call->context->iface->private;
+ const struct ndr_interface_table *table = dce_call->context->iface->private;
uint16_t opnum = dce_call->pkt.u.request.opnum;
dce_call->fault_code = 0;
{
struct dcesrv_remote_private *private = dce_call->context->private;
uint16_t opnum = dce_call->pkt.u.request.opnum;
- const struct dcerpc_interface_table *table = dce_call->context->iface->private;
+ const struct ndr_interface_table *table = dce_call->context->iface->private;
const struct ndr_interface_call *call;
const char *name;
static NTSTATUS remote_op_ndr_push(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct ndr_push *push, const void *r)
{
NTSTATUS status;
- const struct dcerpc_interface_table *table = dce_call->context->iface->private;
+ const struct ndr_interface_table *table = dce_call->context->iface->private;
uint16_t opnum = dce_call->pkt.u.request.opnum;
/* unravel the NDR for the packet */
static NTSTATUS remote_register_one_iface(struct dcesrv_context *dce_ctx, const struct dcesrv_interface *iface)
{
int i;
- const struct dcerpc_interface_table *table = iface->private;
+ const struct ndr_interface_table *table = iface->private;
for (i=0;i<table->endpoints->count;i++) {
NTSTATUS ret;
return NT_STATUS_OK;
}
-static BOOL remote_fill_interface(struct dcesrv_interface *iface, const struct dcerpc_interface_table *if_tabl)
+static BOOL remote_fill_interface(struct dcesrv_interface *iface, const struct ndr_interface_table *if_tabl)
{
iface->name = if_tabl->name;
iface->syntax_id = if_tabl->syntax_id;
static BOOL remote_op_interface_by_uuid(struct dcesrv_interface *iface, const struct GUID *uuid, uint32_t if_version)
{
- const struct dcerpc_interface_list *l;
+ const struct ndr_interface_list *l;
for (l=librpc_dcerpc_pipes();l;l=l->next) {
if (l->table->syntax_id.if_version == if_version &&
static BOOL remote_op_interface_by_name(struct dcesrv_interface *iface, const char *name)
{
- const struct dcerpc_interface_table *tbl = idl_iface_by_name(name);
+ const struct ndr_interface_table *tbl = idl_iface_by_name(name);
if (tbl)
return remote_fill_interface(iface, tbl);
int ejs_rpc_call(int eid, int argc, struct MprVar **argv,
- const struct dcerpc_interface_table *iface, int callnum,
+ const struct ndr_interface_table *iface, int callnum,
ejs_pull_function_t ejs_pull, ejs_push_function_t ejs_push);
NTSTATUS ejs_pull_struct_start(struct ejs_rpc *ejs, struct MprVar **v, const char *name);
static int ejs_rpc_connect(MprVarHandle eid, int argc, char **argv)
{
const char *binding, *pipe_name;
- const struct dcerpc_interface_table *iface;
+ const struct ndr_interface_table *iface;
NTSTATUS status;
struct dcerpc_pipe *p;
struct cli_credentials *creds;
make an irpc call - called via the same interface as rpc
*/
static int ejs_irpc_call(int eid, struct MprVar *io,
- const struct dcerpc_interface_table *iface, int callnum,
+ const struct ndr_interface_table *iface, int callnum,
ejs_pull_function_t ejs_pull, ejs_push_function_t ejs_push)
{
NTSTATUS status;
code
*/
int ejs_rpc_call(int eid, int argc, struct MprVar **argv,
- const struct dcerpc_interface_table *iface, int callnum,
+ const struct ndr_interface_table *iface, int callnum,
ejs_pull_function_t ejs_pull, ejs_push_function_t ejs_push)
{
struct MprVar *io;
static BOOL test_connect_service(struct libnet_context *ctx,
- const struct dcerpc_interface_table *iface,
+ const struct ndr_interface_table *iface,
const char *binding_string,
const char *hostname,
const enum libnet_RpcConnect_level level,
TALLOC_CTX *mem_ctx;
BOOL ret = True;
struct policy_handle *handle;
- struct dcerpc_interface_table tmptbl;
+ struct ndr_interface_table tmptbl;
struct ndr_syntax_id syntax;
struct ndr_syntax_id transfer_syntax;
struct composite_context **bind_req;
struct dcerpc_pipe **pipe;
- const struct dcerpc_interface_table **table;
+ const struct ndr_interface_table **table;
if (!torture_setting_bool(torture, "async", False)) {
printf("async bind test disabled - enable async tests to use\n");
if (bind_req == NULL) return False;
pipe = talloc_array(torture, struct dcerpc_pipe*, torture_numasync);
if (pipe == NULL) return False;
- table = talloc_array(torture, const struct dcerpc_interface_table*, torture_numasync);
+ table = talloc_array(torture, const struct ndr_interface_table*, torture_numasync);
if (table == NULL) return False;
/* credentials */
static void reopen(TALLOC_CTX *mem_ctx,
struct dcerpc_pipe **p,
- const struct dcerpc_interface_table *iface)
+ const struct ndr_interface_table *iface)
{
NTSTATUS status;
}
}
-static void test_ptr_scan(TALLOC_CTX *mem_ctx, const struct dcerpc_interface_table *iface,
+static void test_ptr_scan(TALLOC_CTX *mem_ctx, const struct ndr_interface_table *iface,
int opnum, DATA_BLOB *base_in, int min_ofs, int max_ofs, int depth);
-static void try_expand(TALLOC_CTX *mem_ctx, const struct dcerpc_interface_table *iface,
+static void try_expand(TALLOC_CTX *mem_ctx, const struct ndr_interface_table *iface,
int opnum, DATA_BLOB *base_in, int insert_ofs, int depth)
{
DATA_BLOB stub_in, stub_out;
}
-static void test_ptr_scan(TALLOC_CTX *mem_ctx, const struct dcerpc_interface_table *iface,
+static void test_ptr_scan(TALLOC_CTX *mem_ctx, const struct ndr_interface_table *iface,
int opnum, DATA_BLOB *base_in, int min_ofs, int max_ofs, int depth)
{
DATA_BLOB stub_in, stub_out;
}
-static void test_scan_call(TALLOC_CTX *mem_ctx, const struct dcerpc_interface_table *iface, int opnum)
+static void test_scan_call(TALLOC_CTX *mem_ctx, const struct ndr_interface_table *iface, int opnum)
{
DATA_BLOB stub_in, stub_out;
int i;
}
-static void test_auto_scan(TALLOC_CTX *mem_ctx, const struct dcerpc_interface_table *iface)
+static void test_auto_scan(TALLOC_CTX *mem_ctx, const struct ndr_interface_table *iface)
{
test_scan_call(mem_ctx, iface, 2);
}
BOOL torture_rpc_autoidl(struct torture_context *torture)
{
TALLOC_CTX *mem_ctx;
- const struct dcerpc_interface_table *iface;
+ const struct ndr_interface_table *iface;
iface = idl_iface_by_name("drsuapi");
if (!iface) {
BOOL count_calls(TALLOC_CTX *mem_ctx,
- const struct dcerpc_interface_table *iface,
+ const struct ndr_interface_table *iface,
BOOL all)
{
struct dcerpc_pipe *p;
BOOL torture_rpc_countcalls(struct torture_context *torture)
{
- const struct dcerpc_interface_table *iface;
+ const struct ndr_interface_table *iface;
const char *iface_name;
BOOL ret = True;
- const struct dcerpc_interface_list *l;
+ const struct ndr_interface_list *l;
TALLOC_CTX *mem_ctx = talloc_named(torture, 0, "torture_rpc_countcalls context");
if (!mem_ctx) {
return False;
ask the server what interface IDs are available on this endpoint
*/
BOOL test_inq_if_ids(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx,
- BOOL (*per_id_test)(const struct dcerpc_interface_table *iface,
+ BOOL (*per_id_test)(const struct ndr_interface_table *iface,
TALLOC_CTX *mem_ctx,
struct ndr_syntax_id *id),
const void *priv)
TALLOC_CTX *mem_ctx, *loop_ctx;
BOOL ret = True;
const char *binding = torture_setting_string(torture, "binding", NULL);
- const struct dcerpc_interface_list *l;
+ const struct ndr_interface_list *l;
struct dcerpc_binding *b;
mem_ctx = talloc_init("torture_rpc_mgmt");
/* open a rpc connection to the chosen binding string */
_PUBLIC_ NTSTATUS torture_rpc_connection(TALLOC_CTX *parent_ctx,
struct dcerpc_pipe **p,
- const struct dcerpc_interface_table *table)
+ const struct ndr_interface_table *table)
{
NTSTATUS status;
const char *binding = lp_parm_string(-1, "torture", "binding");
/* open a rpc connection to a specific transport */
NTSTATUS torture_rpc_connection_transport(TALLOC_CTX *parent_ctx,
struct dcerpc_pipe **p,
- const struct dcerpc_interface_table *table,
+ const struct ndr_interface_table *table,
enum dcerpc_transport_t transport,
uint32_t assoc_group_id)
{
status = torture_rpc_connection(tctx,
(struct dcerpc_pipe **)data,
- (const struct dcerpc_interface_table *)tctx->active_tcase->data);
+ (const struct ndr_interface_table *)tctx->active_tcase->data);
torture_assert_ntstatus_ok(tctx, status, "Error connecting to server");
_PUBLIC_ struct torture_tcase *torture_suite_add_rpc_iface_tcase(struct torture_suite *suite,
const char *name,
- const struct dcerpc_interface_table *table)
+ const struct ndr_interface_table *table)
{
struct torture_tcase *tcase = torture_suite_add_tcase(suite, name);
static NTSTATUS pipe_bind_smb(TALLOC_CTX *mem_ctx,
struct smbcli_tree *tree,
const char *pipe_name,
- const struct dcerpc_interface_table *iface,
+ const struct ndr_interface_table *iface,
struct dcerpc_pipe **p)
{
struct dcerpc_pipe *result;
/*
work out how many calls there are for an interface
*/
-static BOOL test_num_calls(const struct dcerpc_interface_table *iface,
+static BOOL test_num_calls(const struct ndr_interface_table *iface,
TALLOC_CTX *mem_ctx,
struct ndr_syntax_id *id)
{
int i;
DATA_BLOB stub_in, stub_out;
int idl_calls;
- struct dcerpc_interface_table tbl;
+ struct ndr_interface_table tbl;
/* FIXME: This should be fixed when torture_rpc_connection
* takes a ndr_syntax_id */
struct dcerpc_pipe *p;
TALLOC_CTX *mem_ctx, *loop_ctx;
BOOL ret = True;
- const struct dcerpc_interface_list *l;
+ const struct ndr_interface_list *l;
const char *binding = torture_setting_string(torture, "binding", NULL);
struct dcerpc_binding *b;