mapiproxy main file More...
#include "mapiproxy/dcesrv_mapiproxy.h"
#include "mapiproxy/dcesrv_mapiproxy_proto.h"
#include <dlinklist.h>
#include "libmapi/libmapi.h"
#include "libmapi/libmapi_private.h"
#include "gen_ndr/ndr_exchange_s.c"
Functions | |
NTSTATUS | dcerpc_server_mapiproxy_init (void) |
static bool | mapiproxy_fill_interface (struct dcesrv_interface *iface, const struct ndr_interface_table *tbl) |
static NTSTATUS | mapiproxy_op_bind (struct dcesrv_call_state *dce_call, const struct dcesrv_interface *iface, uint32_t if_version) |
static NTSTATUS | mapiproxy_op_bind_proxy (struct dcesrv_call_state *dce_call, const struct dcesrv_interface *iface, uint32_t if_version) |
static NTSTATUS | mapiproxy_op_connect (struct dcesrv_call_state *dce_call, const struct ndr_interface_table *table, const char *binding) |
static NTSTATUS | mapiproxy_op_dispatch (struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, void *r) |
static NTSTATUS | mapiproxy_op_init_server (struct dcesrv_context *dce_ctx, const struct dcesrv_endpoint_server *ep_server) |
static bool | mapiproxy_op_interface_by_name (struct dcesrv_interface *iface, const char *name) |
static bool | mapiproxy_op_interface_by_uuid (struct dcesrv_interface *iface, const struct GUID *uuid, uint32_t if_version) |
static NTSTATUS | mapiproxy_op_ndr_pull (struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct ndr_pull *pull, void **r) |
static NTSTATUS | mapiproxy_op_ndr_push (struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct ndr_push *push, const void *r) |
static NTSTATUS | mapiproxy_op_reply (struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, void *r) |
static void | mapiproxy_op_unbind (struct dcesrv_connection_context *context, const struct dcesrv_interface *iface) |
static NTSTATUS | mapiproxy_register_one_iface (struct dcesrv_context *dce_ctx, const struct dcesrv_interface *iface) |
NTSTATUS | samba_init_module (void) |
Variables | |
static int | dispatch_nbr = 0 |
mapiproxy main file
NTSTATUS dcerpc_server_mapiproxy_init | ( | void | ) |
register the mapiproxy endpoint server.
References mapiproxy_op_init_server(), mapiproxy_op_interface_by_name(), mapiproxy_op_interface_by_uuid(), and ndr_table_init().
Referenced by samba_init_module().
|
static |
|
static |
This function is called when the client binds to one of the interfaces mapiproxy handles.
dce_call | pointer to the session context |
iface | pointer to the dcesrv interface structure with function hooks |
if_version | the version of the pipe |
References mapiproxy_op_bind_proxy(), and dcesrv_mapiproxy_private::server_mode.
Referenced by mapiproxy_fill_interface().
|
static |
References mapiproxy_op_connect(), and ndr_table_by_uuid().
Referenced by mapiproxy_op_bind().
|
static |
Referenced by mapiproxy_op_bind_proxy(), and mapiproxy_op_ndr_pull().
|
static |
This function is called after the pull but before the push. Moreover it is called before the request is forward to the remote endpoint.
dce_call | pointer to the session context |
mem_ctx | pointer to the memory context |
r | generic pointer to the call mapped data |
References mapiproxy::ahead, dispatch_nbr, mapiproxy_module_dispatch(), mapiproxy_NspiDNToMId(), mapiproxy_server_dispatch(), mapiproxy_server_loaded(), and mapiproxy::norelay.
Referenced by mapiproxy_fill_interface().
|
static |
Initializes the server and register emsmdb,nspi and rfr interfaces
dce_ctx | pointer to the dcesrv context |
ep_server | pointer to the endpoint server list |
References mapiproxy_module_init(), mapiproxy_register_one_iface(), and mapiproxy_server_init().
Referenced by dcerpc_server_mapiproxy_init().
|
static |
References mapiproxy_fill_interface(), and ndr_table_by_name().
Referenced by dcerpc_server_mapiproxy_init().
|
static |
References mapiproxy_fill_interface(), and ndr_table_list().
Referenced by dcerpc_server_mapiproxy_init().
|
static |
This is the function called when mapiproxy receives a request. The request has already been extracted and its information filled into structures
dce_call | pointer to the session context |
mem_ctx | pointer to the memory context |
pull | pointer on pointer to the ndr_pull structure |
r | generic pointer on pointer to the pulled ndr content |
References mapiproxy_module_ndr_pull(), mapiproxy_module_pull(), and mapiproxy_op_connect().
Referenced by mapiproxy_fill_interface().
|
static |
This is the function called when mapiproxy receive a response. The response has already been extracted and its information filled into structures
dce_call | pointer to the session context |
mem_ctx | pointer to the memory context |
push | pointer to the ndr_push structure |
r | generic pointer to the data pushed |
References mapiproxy_module_push(), mapiproxy_NspiGetProps(), mapiproxy_NspiQueryRows(), mapiproxy_RfrGetNewDSA(), and mapiproxy_server_loaded().
Referenced by mapiproxy_fill_interface().
|
static |
Referenced by mapiproxy_fill_interface().
|
static |
Called when the client disconnects from one of the endpoints managed by mapiproxy.
context | pointer to the connection context |
iface | pointer to the dcesrv interface structure with function hooks |
References mapiproxy_module_unbind(), and mapiproxy_server_unbind().
Referenced by mapiproxy_fill_interface().
|
static |
Register an endpoint
dce_ctx | pointer to the dcerpc context |
iface | pointer to the dcesrv interface with function hooks |
Referenced by mapiproxy_op_init_server().
NTSTATUS samba_init_module | ( | void | ) |
Register mapiproxy dynamic shared object modules
This function registers mapiproxy modules located
Entry point of mapiproxy dynamic shared object.
This function first registers exchange endpoints and ndr tables, then attempts to register the mapiproxy interface.
Entry point for the pack mapiproxy module
|
static |
Referenced by mapiproxy_op_dispatch().
![]() ![]() ![]() |
This content is licensed under the Creative Commons Attribution ShareAlike License v. 3.0: http://creativecommons.org/licenses/by-sa/3.0/ |