OpenChange EMSMDB Server implementation. More...
#include "mapiproxy/dcesrv_mapiproxy.h"
#include "mapiproxy/libmapiproxy/fault_util.h"
#include "mapiproxy/libmapiserver/libmapiserver.h"
#include "dcesrv_exchange_emsmdb.h"
Functions | |
static enum MAPISTATUS | dcesrv_EcDoAsyncConnectEx (struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct EcDoAsyncConnectEx *r) |
static enum MAPISTATUS | dcesrv_EcDoConnect (struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct EcDoConnect *r) |
static enum MAPISTATUS | dcesrv_EcDoConnectEx (struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct EcDoConnectEx *r) |
static enum MAPISTATUS | dcesrv_EcDoDisconnect (struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct EcDoDisconnect *r) |
static enum MAPISTATUS | dcesrv_EcDoRpc (struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct EcDoRpc *r) |
static enum MAPISTATUS | dcesrv_EcDoRpcExt (struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct EcDoRpcExt *r) |
static enum MAPISTATUS | dcesrv_EcDoRpcExt2 (struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct EcDoRpcExt2 *r) |
static enum MAPISTATUS | dcesrv_EcDummyRpc (struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct EcDummyRpc *r) |
static void | dcesrv_EcGetMoreRpc (struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct EcGetMoreRpc *r) |
static void | dcesrv_EcRGetDCName (struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct EcRGetDCName *r) |
static void | dcesrv_EcRNetGetDCName (struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct EcRNetGetDCName *r) |
static enum MAPISTATUS | dcesrv_EcRRegisterPushNotification (struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct EcRRegisterPushNotification *r) |
static enum MAPISTATUS | dcesrv_EcRUnregisterPushNotification (struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct EcRUnregisterPushNotification *r) |
static void | dcesrv_EcUnknown0xC (struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct EcUnknown0xC *r) |
static void | dcesrv_EcUnknown0xD (struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct EcUnknown0xD *r) |
static NTSTATUS | dcesrv_exchange_emsmdb_dispatch (struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, void *r, struct mapiproxy *mapiproxy) |
static NTSTATUS | dcesrv_exchange_emsmdb_init (struct dcesrv_context *dce_ctx) |
static NTSTATUS | dcesrv_exchange_emsmdb_unbind (struct server_id server_id, uint32_t context_id) |
NTSTATUS | samba_init_module (void) |
OpenChange EMSMDB Server implementation.
|
static |
exchange_emsmdb EcGetMoreRpc (0xe) function
dce_call | pointer to the session context |
mem_ctx | pointer to the memory context |
r | pointer to the EcDoAsyncConnectExt request data |
Referenced by dcesrv_exchange_emsmdb_dispatch().
|
static |
exchange_emsmdb EcDoConnect (0x0) function
dce_call | pointer to the session context |
mem_ctx | pointer to the memory context |
r | pointer to the EcDoConnect request data |
References emsmdbp_init(), emsmdbp_verify_user(), emsmdbp_verify_userdn(), mpm_session_increment_ref_count(), mpm_session_init(), mpm_session_set_destructor(), and mpm_session_set_private_data().
Referenced by dcesrv_exchange_emsmdb_dispatch().
|
static |
exchange_emsmdb EcDoConnectEx (0xA) function
dce_call | pointer to the session context |
mem_ctx | pointer to the memory context |
r | pointer to the EcDoConnectEx request data |
References emsmdbp_init(), emsmdbp_set_session_uuid(), emsmdbp_verify_user(), emsmdbp_verify_userdn(), mpm_session_increment_ref_count(), mpm_session_init(), mpm_session_set_destructor(), and mpm_session_set_private_data().
Referenced by dcesrv_exchange_emsmdb_dispatch().
|
static |
exchange_emsmdb EcDoDisconnect (0x1) function
dce_call | pointer to the session context |
mem_ctx | pointer to the memory context |
r | pointer to the EcDoDisconnect request data |
References mpm_session_release().
Referenced by dcesrv_exchange_emsmdb_dispatch().
|
static |
exchange_emsmdb EcDoRpc (0x2) function
dce_call | pointer to the session context |
mem_ctx | pointer to the memory context |
r | pointer to the EcDoRpc request data |
Referenced by dcesrv_exchange_emsmdb_dispatch().
|
static |
exchange_emsmdb EcDoRpcExt (0x9) function
dce_call | pointer to the session context |
mem_ctx | pointer to the memory context |
r | pointer to the EcDoRpcExt request data |
Referenced by dcesrv_exchange_emsmdb_dispatch().
|
static |
exchange_emsmdb EcDoRpcExt2 (0xB) function
dce_call | pointer to the session context |
mem_ctx | pointer to the memory context |
r | pointer to the EcDoRpcExt2 request data |
Referenced by dcesrv_exchange_emsmdb_dispatch().
|
static |
exchange_emsmdb EcDummyRpc (0x6) function
dce_call | pointer to the session context |
mem_ctx | pointer to the memory context |
r | pointer to the EcDummyRpc request data |
Referenced by dcesrv_exchange_emsmdb_dispatch().
|
static |
exchange_emsmdb EcGetMoreRpc (0x3) function
dce_call | pointer to the session context |
mem_ctx | pointer to the memory context |
r | pointer to the EcGetMoreRpc request data |
Referenced by dcesrv_exchange_emsmdb_dispatch().
|
static |
exchange_emsmdb EcRGetDCName (0x7) function
dce_call | pointer to the session context |
mem_ctx | pointer to the memory context |
r | pointer to the EcRGetDCName request data |
Referenced by dcesrv_exchange_emsmdb_dispatch().
|
static |
exchange_emsmdb EcRNetGetDCName (0x8) function
dce_call | pointer to the session context |
mem_ctx | pointer to the memory context |
r | pointer to the EcRNetGetDCName request data |
Referenced by dcesrv_exchange_emsmdb_dispatch().
|
static |
exchange_emsmdb EcRRegisterPushNotification (0x4) function
dce_call | pointer to the session context |
mem_ctx | pointer to the memory context |
r | pointer to the EcRRegisterPushNotification request data |
Referenced by dcesrv_exchange_emsmdb_dispatch().
|
static |
exchange_emsmdb EcRUnregisterPushNotification (0x5) function
dce_call | pointer to the session context |
mem_ctx | pointer to the memory context |
r | pointer to the EcRUnregisterPushNotification request data |
Referenced by dcesrv_exchange_emsmdb_dispatch().
|
static |
exchange_emsmdb EcUnknown0xC (0xc) function
dce_call | pointer to the session context |
mem_ctx | pointer to the memory context |
r | pointer to the EcUnknown0xC request data |
Referenced by dcesrv_exchange_emsmdb_dispatch().
|
static |
exchange_emsmdb EcUnknown0xD (0xc) function
dce_call | pointer to the session context |
mem_ctx | pointer to the memory context |
r | pointer to the EcUnknown0xD request data |
Referenced by dcesrv_exchange_emsmdb_dispatch().
|
static |
Dispatch incoming EMSMDB call to the correct OpenChange server function
dce_call | pointer to the session context |
mem_ctx | pointer to the memory context |
r | generic pointer on EMSMDB data |
mapiproxy | pointer to the mapiproxy structure controlling mapiproxy behavior |
References dcesrv_EcDoAsyncConnectEx(), dcesrv_EcDoConnect(), dcesrv_EcDoConnectEx(), dcesrv_EcDoDisconnect(), dcesrv_EcDoRpc(), dcesrv_EcDoRpcExt(), dcesrv_EcDoRpcExt2(), dcesrv_EcDummyRpc(), dcesrv_EcGetMoreRpc(), dcesrv_EcRGetDCName(), dcesrv_EcRNetGetDCName(), dcesrv_EcRRegisterPushNotification(), dcesrv_EcRUnregisterPushNotification(), dcesrv_EcUnknown0xC(), and dcesrv_EcUnknown0xD().
Referenced by samba_init_module().
|
static |
Initialize the EMSMDB OpenChange server
dce_ctx | pointer to the server context |
References emsmdbp_openchangedb_init().
Referenced by samba_init_module().
|
static |
Terminate the EMSMDB connection and release the associated session and context if still available. This case occurs when the client doesn't call EcDoDisconnect but quit unexpectedly.
server_id | reference to the server identifier structure |
context_id | the connection context identifier |
Referenced by samba_init_module().
NTSTATUS samba_init_module | ( | void | ) |
Entry point for the default OpenChange EMSMDB server
References dcesrv_exchange_emsmdb_dispatch(), dcesrv_exchange_emsmdb_init(), and dcesrv_exchange_emsmdb_unbind().
![]() ![]() ![]() |
This content is licensed under the Creative Commons Attribution ShareAlike License v. 3.0: http://creativecommons.org/licenses/by-sa/3.0/ |