Server-side store objects routines and Rops. More...
#include "mapiproxy/dcesrv_mapiproxy.h"
#include "mapiproxy/libmapiproxy/libmapiproxy.h"
#include "mapiproxy/libmapiserver/libmapiserver.h"
#include "dcesrv_exchange_emsmdb.h"
#include <string.h>
Functions | |
_PUBLIC_ enum MAPISTATUS | EcDoRpc_RopGetPerUserGuid (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct EcDoRpc_MAPI_REQ *mapi_req, struct EcDoRpc_MAPI_REPL *mapi_repl, uint32_t *handles, uint16_t *size) |
_PUBLIC_ enum MAPISTATUS | EcDoRpc_RopGetPerUserLongTermIds (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct EcDoRpc_MAPI_REQ *mapi_req, struct EcDoRpc_MAPI_REPL *mapi_repl, uint32_t *handles, uint16_t *size) |
_PUBLIC_ enum MAPISTATUS | EcDoRpc_RopGetReceiveFolder (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct EcDoRpc_MAPI_REQ *mapi_req, struct EcDoRpc_MAPI_REPL *mapi_repl, uint32_t *handles, uint16_t *size) |
_PUBLIC_ enum MAPISTATUS | EcDoRpc_RopLogon (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct EcDoRpc_MAPI_REQ *mapi_req, struct EcDoRpc_MAPI_REPL *mapi_repl, uint32_t *handles, uint16_t *size) |
_PUBLIC_ enum MAPISTATUS | EcDoRpc_RopReadPerUserInformation (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct EcDoRpc_MAPI_REQ *mapi_req, struct EcDoRpc_MAPI_REPL *mapi_repl, uint32_t *handles, uint16_t *size) |
_PUBLIC_ enum MAPISTATUS | EcDoRpc_RopRelease (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct EcDoRpc_MAPI_REQ *request, uint32_t *handles, uint16_t *size) |
_PUBLIC_ enum MAPISTATUS | EcDoRpc_RopSetReceiveFolder (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct EcDoRpc_MAPI_REQ *mapi_req, struct EcDoRpc_MAPI_REPL *mapi_repl, uint32_t *handles, uint16_t *size) |
static bool | MessageClassIsValid (const char *MessageClass) |
static enum MAPISTATUS | RopGetReceiveFolder (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct EcDoRpc_MAPI_REQ *mapi_req, struct EcDoRpc_MAPI_REPL *mapi_repl, uint32_t *handles) |
static enum MAPISTATUS | RopLogon_Mailbox (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct EcDoRpc_MAPI_REQ *mapi_req, struct EcDoRpc_MAPI_REPL *mapi_repl) |
static enum MAPISTATUS | RopLogon_PublicFolder (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct EcDoRpc_MAPI_REQ *mapi_req, struct EcDoRpc_MAPI_REPL *mapi_repl) |
static enum MAPISTATUS | RopSetReceiveFolder (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct EcDoRpc_MAPI_REQ *mapi_req, struct EcDoRpc_MAPI_REPL *mapi_repl, uint32_t *handles) |
Server-side store objects routines and Rops.
_PUBLIC_ enum MAPISTATUS EcDoRpc_RopGetPerUserGuid | ( | TALLOC_CTX * | mem_ctx, |
struct emsmdbp_context * | emsmdbp_ctx, | ||
struct EcDoRpc_MAPI_REQ * | mapi_req, | ||
struct EcDoRpc_MAPI_REPL * | mapi_repl, | ||
uint32_t * | handles, | ||
uint16_t * | size | ||
) |
EcDoRpc GetPerUserGuid (0x61) Rop. This operation gets the GUID of a public folder's per-user information.
mem_ctx | pointer to the memory context |
emsmdbp_ctx | pointer to the emsmdb provider context |
mapi_req | pointer to the GetPerUserLongTermIds EcDoRpc_MAPI_REQ |
mapi_repl | pointer to the GetPerUserLongTermIds EcDoRpc_MAPI_REPL |
handles | pointer to the MAPI handles array |
size | pointer to the mapi_response size to update |
References libmapiserver_RopGetPerUserGuid_size().
Referenced by EcDoRpc_process_transaction().
_PUBLIC_ enum MAPISTATUS EcDoRpc_RopGetPerUserLongTermIds | ( | TALLOC_CTX * | mem_ctx, |
struct emsmdbp_context * | emsmdbp_ctx, | ||
struct EcDoRpc_MAPI_REQ * | mapi_req, | ||
struct EcDoRpc_MAPI_REPL * | mapi_repl, | ||
uint32_t * | handles, | ||
uint16_t * | size | ||
) |
EcDoRpc GetPerUserLongTermIds (0x60) Rop. This operations gets the long-term ID of a public folder that is identified by the per-user GUID of the logged on user.
mem_ctx | pointer to the memory context |
emsmdbp_ctx | pointer to the emsmdb provider context |
mapi_req | pointer to the GetPerUserLongTermIds EcDoRpc_MAPI_REQ |
mapi_repl | pointer to the GetPerUserLongTermIds EcDoRpc_MAPI_REPL |
handles | pointer to the MAPI handles array |
size | pointer to the mapi_response size to update |
References libmapiserver_RopGetPerUserLongTermIds_size().
Referenced by EcDoRpc_process_transaction().
_PUBLIC_ enum MAPISTATUS EcDoRpc_RopGetReceiveFolder | ( | TALLOC_CTX * | mem_ctx, |
struct emsmdbp_context * | emsmdbp_ctx, | ||
struct EcDoRpc_MAPI_REQ * | mapi_req, | ||
struct EcDoRpc_MAPI_REPL * | mapi_repl, | ||
uint32_t * | handles, | ||
uint16_t * | size | ||
) |
EcDoRpc GetReceiveFolder (0x27) Rop. This operation gets the receive folder for incoming messages of a particular message class
mem_ctx | pointer to the memory context |
emsmdbp_ctx | pointer to the emsmdb provider context |
mapi_req | pointer to the GetReceiveFolder EcDoRpc_MAPI_REQ |
mapi_repl | pointer to the GetReceiveFolder EcDoRpc_MAPI_REPL |
handles | pointer to the MAPI handles array |
size | pointer to the mapi_response size to update |
References RopGetReceiveFolder(), and libmapiserver_RopGetReceiveFolder_size().
Referenced by EcDoRpc_process_transaction().
_PUBLIC_ enum MAPISTATUS EcDoRpc_RopLogon | ( | TALLOC_CTX * | mem_ctx, |
struct emsmdbp_context * | emsmdbp_ctx, | ||
struct EcDoRpc_MAPI_REQ * | mapi_req, | ||
struct EcDoRpc_MAPI_REPL * | mapi_repl, | ||
uint32_t * | handles, | ||
uint16_t * | size | ||
) |
EcDoRpc Logon (0xFE) Rop. This operation logs on to a private mailbox or public folder.
mem_ctx | pointer to the memory context |
emsmdbp_ctx | pointer to the emsmdb provider context |
mapi_req | pointer to the Logon EcDoRpc_MAPI_REQ structure |
mapi_repl | pointer to the Logon EcDoRpc_MAPI_REPL structure the function returns |
handles | pointer to the MAPI handles array |
size | pointer to the mapi_response size to update |
References emsmdbp_object::object, RopLogon_Mailbox(), libmapiserver_RopLogon_size(), RopLogon_PublicFolder(), mapi_handles_add(), emsmdbp_context::handles_ctx, emsmdbp_object_mailbox_init(), and mapi_handles_set_private_data().
Referenced by EcDoRpc_process_transaction().
_PUBLIC_ enum MAPISTATUS EcDoRpc_RopReadPerUserInformation | ( | TALLOC_CTX * | mem_ctx, |
struct emsmdbp_context * | emsmdbp_ctx, | ||
struct EcDoRpc_MAPI_REQ * | mapi_req, | ||
struct EcDoRpc_MAPI_REPL * | mapi_repl, | ||
uint32_t * | handles, | ||
uint16_t * | size | ||
) |
EcDoRpc ReadPerUserInformation (0x63) Rop. This operation gets per-user information for a public folder.
mem_ctx | pointer to the memory context |
emsmdbp_ctx | pointer to the emsmdb provider context |
mapi_req | pointer to the ReadPerUserInformation EcDoRpc_MAPI_REQ |
mapi_repl | pointer to the ReadPerUserInformation EcDoRpc_MAPI_REPL |
handles | pointer to the MAPI handles array |
size | pointer to the mapi_response size to update |
References libmapiserver_RopReadPerUserInformation_size().
Referenced by EcDoRpc_process_transaction().
_PUBLIC_ enum MAPISTATUS EcDoRpc_RopRelease | ( | TALLOC_CTX * | mem_ctx, |
struct emsmdbp_context * | emsmdbp_ctx, | ||
struct EcDoRpc_MAPI_REQ * | request, | ||
uint32_t * | handles, | ||
uint16_t * | size | ||
) |
EcDoRpc Release (0x01) Rop. This operation releases an existing MAPI handle.
mem_ctx | pointer to the memory context |
emsmdbp_ctx | pointer to the emsmdb provider context |
request | pointer to the Release EcDoRpc_MAPI_REQ |
handles | pointer to the MAPI handles array |
size | pointer to the mapi_response size to update |
References mapi_handles_delete(), and emsmdbp_context::handles_ctx.
Referenced by EcDoRpc_process_transaction().
_PUBLIC_ enum MAPISTATUS EcDoRpc_RopSetReceiveFolder | ( | TALLOC_CTX * | mem_ctx, |
struct emsmdbp_context * | emsmdbp_ctx, | ||
struct EcDoRpc_MAPI_REQ * | mapi_req, | ||
struct EcDoRpc_MAPI_REPL * | mapi_repl, | ||
uint32_t * | handles, | ||
uint16_t * | size | ||
) |
EcDoRpc SetReceiveFolder (0x26) Rop. This operation sets the receive folder for incoming messages of a particular message class
mem_ctx | pointer to the memory context |
emsmdbp_ctx | pointer to the emsmdb provider context |
mapi_req | pointer to the SetReceiveFolder EcDoRpc_MAPI_REQ |
mapi_repl | pointer to the SetReceiveFolder EcDoRpc_MAPI_REPL |
handles | pointer to the MAPI handles array |
size | pointer to the mapi_response size to update |
References RopSetReceiveFolder(), and libmapiserver_RopSetReceiveFolder_size().
Referenced by EcDoRpc_process_transaction().
static bool MessageClassIsValid | ( | const char * | MessageClass | ) | [static] |
Referenced by RopSetReceiveFolder(), and RopGetReceiveFolder().
static enum MAPISTATUS RopGetReceiveFolder | ( | TALLOC_CTX * | mem_ctx, |
struct emsmdbp_context * | emsmdbp_ctx, | ||
struct EcDoRpc_MAPI_REQ * | mapi_req, | ||
struct EcDoRpc_MAPI_REPL * | mapi_repl, | ||
uint32_t * | handles | ||
) | [static] |
EcDoRpc GetReceiveFolder (0x27) Rop Internals. This routine performs the GetReceiveFolder internals.
mem_ctx | pointer to the memory context |
emsmdbp_ctx | pointer to the emsmdb provider context |
mapi_req | pointer to the GetReceiveFolder EcDoRpc_MAPI_REQ |
mapi_repl | pointer to the GetReceiveFolder EcDoRpc_MAPI_REPL |
handles | pointer to the MAPI handles array |
References emsmdbp_object::private_data, mapi_handles_search(), emsmdbp_context::handles_ctx, mapi_handles_get_private_data(), emsmdbp_object::type, EMSMDBP_OBJECT_MAILBOX, MessageClassIsValid(), openchangedb_get_ReceiveFolder(), emsmdbp_context::oc_ctx, emsmdbp_object::object, emsmdbp_objects::mailbox, and emsmdbp_object_mailbox::owner_Name.
Referenced by EcDoRpc_RopGetReceiveFolder().
static enum MAPISTATUS RopLogon_Mailbox | ( | TALLOC_CTX * | mem_ctx, |
struct emsmdbp_context * | emsmdbp_ctx, | ||
struct EcDoRpc_MAPI_REQ * | mapi_req, | ||
struct EcDoRpc_MAPI_REPL * | mapi_repl | ||
) | [static] |
Logs on a private mailbox
mem_ctx | pointer to the memory context |
emsmdbp_ctx | pointer to the emsmdb provider context |
mapi_req | pointer to the RopLogon EcDoRpc_MAPI_REQ structure |
mapi_repl | pointer to the RopLogon EcDoRpc_MAPI_REPL structure the function returns |
References emsmdbp_context::szUserDN, openchangedb_get_SystemFolderID(), emsmdbp_context::oc_ctx, EMSMDBP_MAILBOX_ROOT, EMSMDBP_DEFERRED_ACTIONS, EMSMDBP_SPOOLER_QUEUE, EMSMDBP_TOP_INFORMATION_STORE, EMSMDBP_INBOX, EMSMDBP_OUTBOX, EMSMDBP_SENT_ITEMS, EMSMDBP_DELETED_ITEMS, EMSMDBP_COMMON_VIEWS, EMSMDBP_SCHEDULE, EMSMDBP_SEARCH, EMSMDBP_VIEWS, EMSMDBP_SHORTCUTS, openchangedb_get_MailboxGuid(), and openchangedb_get_MailboxReplica().
Referenced by EcDoRpc_RopLogon().
static enum MAPISTATUS RopLogon_PublicFolder | ( | TALLOC_CTX * | mem_ctx, |
struct emsmdbp_context * | emsmdbp_ctx, | ||
struct EcDoRpc_MAPI_REQ * | mapi_req, | ||
struct EcDoRpc_MAPI_REPL * | mapi_repl | ||
) | [static] |
Logs on a public folder store
mem_ctx | pointer to the memory context |
emsmdbp_ctx | pointer to the emsmdb provider context |
mapi_req | pointer to the RopLogon EcDoRpc_MAPI_REQ structure |
mapi_repl | pointer to the RopLogon EcDoRpc_MAPI_REPL structure that the function returns |
References openchangedb_get_PublicFolderID(), emsmdbp_context::oc_ctx, EMSMDBP_PF_ROOT, EMSMDBP_PF_IPMSUBTREE, EMSMDBP_PF_NONIPMSUBTREE, EMSMDBP_PF_EFORMSREGISTRY, EMSMDBP_PF_FREEBUSY, EMSMDBP_PF_OAB, EMSMDBP_PF_LOCALFREEBUSY, EMSMDBP_PF_LOCALOAB, and openchangedb_get_PublicFolderReplica().
Referenced by EcDoRpc_RopLogon().
static enum MAPISTATUS RopSetReceiveFolder | ( | TALLOC_CTX * | mem_ctx, |
struct emsmdbp_context * | emsmdbp_ctx, | ||
struct EcDoRpc_MAPI_REQ * | mapi_req, | ||
struct EcDoRpc_MAPI_REPL * | mapi_repl, | ||
uint32_t * | handles | ||
) | [static] |
EcDoRpc SetReceiveFolder (0x26) Rop Internals. This routine performs the SetReceiveFolder internals.
mem_ctx | pointer to the memory context |
emsmdbp_ctx | pointer to the emsmdb provider context |
mapi_req | pointer to the SetReceiveFolder EcDoRpc_MAPI_REQ |
mapi_repl | pointer to the SetReceiveFolder EcDoRpc_MAPI_REPL |
handles | pointer to the MAPI handles array |
References emsmdbp_object::private_data, mapi_handles_search(), emsmdbp_context::handles_ctx, mapi_handles_get_private_data(), emsmdbp_object::type, EMSMDBP_OBJECT_MAILBOX, MessageClassIsValid(), openchangedb_set_ReceiveFolder(), emsmdbp_context::oc_ctx, emsmdbp_object::object, emsmdbp_objects::mailbox, and emsmdbp_object_mailbox::owner_Name.
Referenced by EcDoRpc_RopSetReceiveFolder().
![]() ![]() ![]() |
This content is licensed under the Creative Commons Attribution ShareAlike License v. 3.0: http://creativecommons.org/licenses/by-sa/3.0/ |