oxomsg.c File Reference

Server-side message routines and Rops. More...

Functions

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopGetAddressTypes (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_RopGetTransportFolder (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_RopOptionsData (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_RopSetSpooler (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_RopSubmitMessage (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_RopTransportSend (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 mapiserver_get_org_dn (struct emsmdbp_context *emsmdbp_ctx, struct ldb_dn **basedn)
 
static void oxomsg_mapistore_handle_message_relocation (struct emsmdbp_context *emsmdbp_ctx, struct emsmdbp_object *old_message_object)
 

Detailed Description

Server-side message routines and Rops.

Function Documentation

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopGetAddressTypes ( 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 GetAddressTypes (0x49) Rop. This operation gets the valid address types (e.g. "SMTP", "X400", "EX")

Parameters
mem_ctxpointer to the memory context
emsmdbp_ctxpointer to the emsmdb provider context
mapi_reqpointer to the AddressTypes EcDoRpc_MAPI_REQ
mapi_replpointer to the AddressTypes EcDoRpc_MAPI_REPL
handlespointer to the MAPI handles array
sizepointer to the mapi_response size to update
Returns
MAPI_E_SUCCESS on success, otherwise MAPI error

References libmapiserver_RopGetAddressTypes_size(), mapiserver_get_org_dn(), emsmdbp_context::samdb_ctx, and emsmdbp_context::userLanguage.

Referenced by EcDoRpc_process_transaction().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopGetTransportFolder ( 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 GetTransportFolder (0x6d) ROP.

Parameters
mem_ctxpointer to the memory context
emsmdbp_ctxpointer to the emsmdb provider context
mapi_reqpointer to the GetTransportFolder EcDoRpc_MAPI_REQ
mapi_replpointer to the GetTransportFolder EcDoRpc_MAPI_REPL
handlespointer to the MAPI handles array
sizepointer to the mapi_response size to update
Returns
MAPI_E_SUCCESS on success, otherwise MAPI error

References EMSMDBP_OBJECT_MAILBOX, emsmdbp_context::handles_ctx, libmapiserver_RopGetTransportFolder_size(), emsmdbp_objects::mailbox, mapi_handles_get_private_data(), mapi_handles_search(), emsmdbp_object::object, emsmdbp_context::oc_ctx, openchangedb_get_TransportFolder(), emsmdbp_object_mailbox::owner_username, and emsmdbp_object::type.

Referenced by EcDoRpc_process_transaction().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopOptionsData ( 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 OptionsData (0x6f) Rop. This doesn't really do anything, but could be used to provide HelpData if we wanted to do something like that later.

Parameters
mem_ctxpointer to the memory context
emsmdbp_ctxpointer to the emsmdb provider context
mapi_reqpointer to the OptionsData EcDoRpc_MAPI_REQ
mapi_replpointer to the OptionsData EcDoRpc_MAPI_REPL
handlespointer to the MAPI handles array
sizepointer to the mapi_response size to update
Returns
MAPI_E_SUCCESS on success, otherwise MAPI error

References libmapiserver_RopOptionsData_size().

Referenced by EcDoRpc_process_transaction().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopSetSpooler ( 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 SetSpooler (0x47) Rop. This operation informs the server that the client intends to act as a mail spooler

Parameters
mem_ctxpointer to the memory context
emsmdbp_ctxpointer to the emsmdbp provider context
mapi_reqpointer to the SeSpooler EcDoRpc_MAPI_REQ
mapi_replpointer to the SetSpooler EcDoRpc_MAPI_REPL
handlespointer to the MAPI handles array
sizepointer to the mapi_response size to update
Returns
MAPI_E_SUCCESS on success, otherwise MAPI error

References libmapiserver_RopSetSpooler_size().

Referenced by EcDoRpc_process_transaction().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopSubmitMessage ( 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 SubmitMessage (0x32) Rop. This operation marks a message as being ready to send (subject to some flags).

Parameters
mem_ctxpointer to the memory context
emsmdbp_ctxpointer to the emsmdb provider context
mapi_reqpointer to the SubmitMessage EcDoRpc_MAPI_REQ structure
mapi_replpointer to the SubmitMessage EcDoRpc_MAPI_REPL structure
handlespointer to the MAPI handles array
sizepointer to the mapi_response size to update
Returns
MAPI_E_SUCCESS on success, otherwise MAPI error

References emsmdbp_object::backend_object, emsmdbp_get_contextID(), emsmdbp_get_owner(), emsmdbp_is_mapistore(), EMSMDBP_OBJECT_MESSAGE, EMSMDBP_OBJECT_STREAM, emsmdbp_object_stream_commit(), mapi_handles::handle, mapi_handles_context::handles, emsmdbp_context::handles_ctx, libmapiserver_RopSubmitMessage_size(), mapi_handles_get_private_data(), mapi_handles_search(), emsmdbp_context::mstore_ctx, mapi_handles::next, emsmdbp_object::object, oxomsg_mapistore_handle_message_relocation(), mapi_handles::parent_handle, mapi_handles::private_data, and emsmdbp_object::type.

Referenced by EcDoRpc_process_transaction().

_PUBLIC_ enum MAPISTATUS EcDoRpc_RopTransportSend ( 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 TransportSend (0x4a) Rop. This operation sends a message.

Parameters
mem_ctxpointer to the memory context
emsmdbp_ctxpointer to the emsmdb provider context
mapi_reqpointer to the TransportSend EcDoRpc_MAPI_REQ structure
mapi_replpointer to the TransportSend EcDoRpc_MAPI_REPL structure
handlespointer to the MAPI handles array
sizepointer to the mapi_response size to update
Returns
MAPI_E_SUCCESS on success, otherwise MAPI error

References emsmdbp_object::backend_object, emsmdbp_get_contextID(), emsmdbp_is_mapistore(), EMSMDBP_OBJECT_MESSAGE, emsmdbp_context::handles_ctx, libmapiserver_RopTransportSend_size(), mapi_handles_get_private_data(), mapi_handles_search(), emsmdbp_context::mstore_ctx, emsmdbp_object::object, oxomsg_mapistore_handle_message_relocation(), mapi_handles::private_data, and emsmdbp_object::type.

Referenced by EcDoRpc_process_transaction().

static bool mapiserver_get_org_dn ( struct emsmdbp_context emsmdbp_ctx,
struct ldb_dn **  basedn 
)
static

Creative Commons License
Creative Commons Attribution icon Creative Commons Share Alike icon
This content is licensed under the Creative Commons
Attribution ShareAlike License v. 3.0:
http://creativecommons.org/licenses/by-sa/3.0/