EMSMDB Provider implementation. More...
#include "mapiproxy/dcesrv_mapiproxy.h"
#include "dcesrv_exchange_emsmdb.h"
#include "mapiproxy/libmapiserver/libmapiserver.h"
Functions | |
_PUBLIC_ bool | emsmdbp_destructor (void *data) |
_PUBLIC_ struct emsmdbp_context * | emsmdbp_init (struct loadparm_context *lp_ctx, const char *username, void *ldb_ctx) |
static int | emsmdbp_mapi_handles_destructor (void *data) |
static int | emsmdbp_mapi_store_destructor (void *data) |
_PUBLIC_ void * | emsmdbp_openchange_ldb_init (struct loadparm_context *lp_ctx) |
_PUBLIC_ enum MAPISTATUS | emsmdbp_resolve_recipient (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, char *recipient, struct mapi_SPropTagArray *properties, struct RecipientRow *row) |
_PUBLIC_ bool | emsmdbp_verify_user (struct dcesrv_call_state *dce_call, struct emsmdbp_context *emsmdbp_ctx) |
_PUBLIC_ bool | emsmdbp_verify_userdn (struct dcesrv_call_state *dce_call, struct emsmdbp_context *emsmdbp_ctx, const char *legacyExchangeDN, struct ldb_message **msg) |
EMSMDB Provider implementation.
_PUBLIC_ bool emsmdbp_destructor | ( | void * | data | ) |
Referenced by dcesrv_EcDoConnect(), and dcesrv_EcDoConnectEx().
_PUBLIC_ struct emsmdbp_context* emsmdbp_init | ( | struct loadparm_context * | lp_ctx, |
const char * | username, | ||
void * | ldb_ctx | ||
) | [read] |
Initialize the EMSMDBP context and open connections to Samba databases.
lp_ctx | pointer to the loadparm_context |
username | account name for current session |
ldb_ctx | pointer to the openchange dispatcher ldb database |
References emsmdbp_context::mem_ctx, emsmdbp_context::lp_ctx, emsmdbp_context::samdb_ctx, samdb_connect(), emsmdbp_context::oc_ctx, emsmdbp_context::mstore_ctx, emsmdbp_mapi_store_destructor(), emsmdbp_context::handles_ctx, mapi_handles_init(), and emsmdbp_mapi_handles_destructor().
Referenced by dcesrv_EcDoConnect(), and dcesrv_EcDoConnectEx().
static int emsmdbp_mapi_handles_destructor | ( | void * | data | ) | [static] |
Release the MAPI handles context used by EMSMDB provider context
data | pointer on data to destroy |
References mapi_handles_release().
Referenced by emsmdbp_init().
static int emsmdbp_mapi_store_destructor | ( | void * | data | ) | [static] |
Release the MAPISTORE context used by EMSMDB provider context
data | pointer on data to destroy |
Referenced by emsmdbp_init().
_PUBLIC_ void* emsmdbp_openchange_ldb_init | ( | struct loadparm_context * | lp_ctx | ) |
Open openchange.ldb database
lp_ctx | pointer on the loadparm_context |
References mapiproxy_server_openchange_ldb_init().
Referenced by dcesrv_exchange_emsmdb_init().
_PUBLIC_ enum MAPISTATUS emsmdbp_resolve_recipient | ( | TALLOC_CTX * | mem_ctx, |
struct emsmdbp_context * | emsmdbp_ctx, | ||
char * | recipient, | ||
struct mapi_SPropTagArray * | properties, | ||
struct RecipientRow * | row | ||
) |
Resolve a recipient and build the associated RecipientRow structure
mem_ctx | pointer to the memory context |
emsmdbp_ctx | pointer to the EMSMDBP context |
recipient | pointer to the recipient string |
properties | array of properties to lookup for a recipient |
row | the RecipientRow to fill in |
References emsmdbp_context::samdb_ctx, and libmapiserver_push_property().
Referenced by EcDoRpc_RopOpenMessage(), and EcDoRpc_RopReloadCachedInformation().
_PUBLIC_ bool emsmdbp_verify_user | ( | struct dcesrv_call_state * | dce_call, |
struct emsmdbp_context * | emsmdbp_ctx | ||
) |
Check if the authenticated user belongs to the Exchange organization and is enabled
dce_call | pointer to the session context |
emsmdbp_ctx | pointer to the EMSMDBP context |
References emsmdbp_context::username, and emsmdbp_context::samdb_ctx.
Referenced by dcesrv_EcDoConnect(), and dcesrv_EcDoConnectEx().
_PUBLIC_ bool emsmdbp_verify_userdn | ( | struct dcesrv_call_state * | dce_call, |
struct emsmdbp_context * | emsmdbp_ctx, | ||
const char * | legacyExchangeDN, | ||
struct ldb_message ** | msg | ||
) |
Check if the user record which legacyExchangeDN points to belongs to the Exchange organization and is enabled
dce_call | pointer to the session context |
emsmdbp_ctx | pointer to the EMSMDBP context |
legacyExchangeDN | pointer to the userDN to lookup |
msg | pointer on pointer to the LDB message matching the record |
References emsmdbp_context::samdb_ctx.
Referenced by dcesrv_EcDoConnect(), and dcesrv_EcDoConnectEx().
![]() ![]() ![]() |
This content is licensed under the Creative Commons Attribution ShareAlike License v. 3.0: http://creativecommons.org/licenses/by-sa/3.0/ |