#include <signal.h>#include <dcerpc_server.h>#include <talloc.h>#include <tevent.h>#include <tdb.h>#include <fcntl.h>#include <gen_ndr/server_id.h>#include <gen_ndr/exchange.h>Data Structures | |
| struct | auth_serversupplied_info |
| struct | mapi_handles |
| struct | mapi_handles_context |
| struct | mapiproxy |
| struct | mapiproxy_module |
| struct | mapiproxy_module_list |
| struct | mpm_session |
Macros | |
| #define | __BEGIN_DECLS |
| #define | __END_DECLS |
| #define | EMSABP_TDB_NAME "emsabp_tdb.tdb" |
| EMSABP server defines. More... | |
| #define | MAPI_HANDLES_NULL "null" |
| #define | MAPI_HANDLES_RESERVED 0xFFFFFFFF |
| #define | MAPI_HANDLES_ROOT "root" |
Typedefs | |
| typedef NTSTATUS(* | openchange_plugin_init_fn) (void) |
Enumerations | |
| enum | mapiproxy_status { MAPIPROXY_DEFAULT = 0x0 , MAPIPROXY_CUSTOM = 0x1 } |
Functions | |
| enum MAPISTATUS | entryid_set_AB_EntryID (TALLOC_CTX *, const char *, struct SBinary_short *) |
| enum MAPISTATUS | entryid_set_folder_EntryID (TALLOC_CTX *, struct GUID *, struct GUID *, uint16_t, uint64_t, struct Binary_r **) |
| openchange_plugin_init_fn * | load_openchange_plugins (TALLOC_CTX *mem_ctx, const char *path) |
| enum MAPISTATUS | mapi_handles_add (struct mapi_handles_context *, uint32_t, struct mapi_handles **) |
| enum MAPISTATUS | mapi_handles_delete (struct mapi_handles_context *, uint32_t) |
| enum MAPISTATUS | mapi_handles_get_private_data (struct mapi_handles *, void **) |
| enum MAPISTATUS | mapi_handles_get_systemfolder (struct mapi_handles *, int *) |
| struct mapi_handles_context * | mapi_handles_init (TALLOC_CTX *) |
| enum MAPISTATUS | mapi_handles_release (struct mapi_handles_context *) |
| enum MAPISTATUS | mapi_handles_search (struct mapi_handles_context *, uint32_t, struct mapi_handles **) |
| enum MAPISTATUS | mapi_handles_set_private_data (struct mapi_handles *, void *) |
| enum MAPISTATUS | mapi_handles_set_systemfolder (struct mapi_handles *, int) |
| const struct mapiproxy_module * | mapiproxy_module_byname (const char *) |
| NTSTATUS | mapiproxy_module_dispatch (struct dcesrv_call_state *, TALLOC_CTX *, void *, struct mapiproxy *) |
| NTSTATUS | mapiproxy_module_init (struct dcesrv_context *) |
| NTSTATUS | mapiproxy_module_ndr_pull (struct dcesrv_call_state *, TALLOC_CTX *, struct ndr_pull *) |
| NTSTATUS | mapiproxy_module_pull (struct dcesrv_call_state *, TALLOC_CTX *, void *) |
| NTSTATUS | mapiproxy_module_push (struct dcesrv_call_state *, TALLOC_CTX *, void *) |
| __BEGIN_DECLS NTSTATUS | mapiproxy_module_register (const void *) |
| NTSTATUS | mapiproxy_module_unbind (struct server_id, uint32_t) |
| const struct mapiproxy_module * | mapiproxy_server_byname (const char *) |
| const struct mapiproxy_module * | mapiproxy_server_bystatus (const char *, enum mapiproxy_status) |
| NTSTATUS | mapiproxy_server_dispatch (struct dcesrv_call_state *, TALLOC_CTX *, void *, struct mapiproxy *) |
| TDB_CONTEXT * | mapiproxy_server_emsabp_tdb_init (struct loadparm_context *) |
| NTSTATUS | mapiproxy_server_init (struct dcesrv_context *) |
| bool | mapiproxy_server_loaded (const char *) |
| void * | mapiproxy_server_openchangedb_init (struct loadparm_context *) |
| NTSTATUS | mapiproxy_server_register (const void *) |
| NTSTATUS | mapiproxy_server_unbind (struct server_id, uint32_t) |
| bool | mpm_session_cmp (struct mpm_session *, struct dcesrv_call_state *) |
| bool | mpm_session_cmp_sub (struct mpm_session *, struct server_id, uint32_t) |
| bool | mpm_session_increment_ref_count (struct mpm_session *) |
| struct mpm_session * | mpm_session_init (TALLOC_CTX *, struct dcesrv_call_state *) |
| struct mpm_session * | mpm_session_new (TALLOC_CTX *, struct server_id, uint32_t) |
| bool | mpm_session_release (struct mpm_session *) |
| bool | mpm_session_set_destructor (struct mpm_session *, bool(*destructor)(void *)) |
| bool | mpm_session_set_private_data (struct mpm_session *, void *) |
| enum MAPISTATUS | openchangedb_create_folder (struct openchangedb_context *, const char *, uint64_t, uint64_t, uint64_t, const char *, int) |
| enum MAPISTATUS | openchangedb_create_mailbox (struct openchangedb_context *, const char *, const char *, const char *, uint64_t, const char *) |
| enum MAPISTATUS | openchangedb_delete_folder (struct openchangedb_context *, const char *, uint64_t) |
| enum MAPISTATUS | openchangedb_get_distinguishedName (TALLOC_CTX *, struct openchangedb_context *, uint64_t, char **) |
| FIXME Not used anywhere. More... | |
| enum MAPISTATUS | openchangedb_get_fid (struct openchangedb_context *, const char *, uint64_t *) |
| enum MAPISTATUS | openchangedb_get_fid_by_name (struct openchangedb_context *, const char *, uint64_t, const char *, uint64_t *) |
| enum MAPISTATUS | openchangedb_get_fid_from_partial_uri (struct openchangedb_context *, const char *, uint64_t *) |
| FIXME Not used anywhere, remove it? More... | |
| enum MAPISTATUS | openchangedb_get_folder_count (struct openchangedb_context *, const char *, uint64_t, uint32_t *) |
| enum MAPISTATUS | openchangedb_get_folder_property (TALLOC_CTX *, struct openchangedb_context *, const char *, uint32_t, uint64_t, void **) |
| const char ** | openchangedb_get_folders_names (TALLOC_CTX *, struct openchangedb_context *, const char *, const char *) |
| enum MAPISTATUS | openchangedb_get_indexing_url (struct openchangedb_context *, const char *, const char **) |
| enum MAPISTATUS | openchangedb_get_MailboxGuid (struct openchangedb_context *, const char *, struct GUID *) |
| enum MAPISTATUS | openchangedb_get_MailboxReplica (struct openchangedb_context *, const char *, uint16_t *, struct GUID *) |
| enum MAPISTATUS | openchangedb_get_mapistoreURI (TALLOC_CTX *, struct openchangedb_context *, const char *, uint64_t, char **, bool) |
| enum MAPISTATUS | openchangedb_get_MAPIStoreURIs (struct openchangedb_context *, const char *, TALLOC_CTX *, struct StringArrayW_r **) |
| enum MAPISTATUS | openchangedb_get_message_count (struct openchangedb_context *, const char *, uint64_t, uint32_t *, bool) |
| enum MAPISTATUS | openchangedb_get_mid_by_subject (struct openchangedb_context *, const char *, uint64_t, const char *, bool, uint64_t *) |
| enum MAPISTATUS | openchangedb_get_new_changeNumber (struct openchangedb_context *, const char *, uint64_t *) |
| enum MAPISTATUS | openchangedb_get_new_changeNumbers (struct openchangedb_context *, TALLOC_CTX *, const char *, uint64_t, struct UI8Array_r **) |
| enum MAPISTATUS | openchangedb_get_new_public_folderID (struct openchangedb_context *, const char *, uint64_t *) |
| enum MAPISTATUS | openchangedb_get_next_changeNumber (struct openchangedb_context *, const char *, uint64_t *) |
| enum MAPISTATUS | openchangedb_get_parent_fid (struct openchangedb_context *, const char *, uint64_t, uint64_t *, bool) |
| enum MAPISTATUS | openchangedb_get_PublicFolderID (struct openchangedb_context *, const char *, uint32_t, uint64_t *) |
| enum MAPISTATUS | openchangedb_get_PublicFolderReplica (struct openchangedb_context *, const char *, uint16_t *, struct GUID *) |
| enum MAPISTATUS | openchangedb_get_ReceiveFolder (TALLOC_CTX *, struct openchangedb_context *, const char *, const char *, uint64_t *, const char **) |
| enum MAPISTATUS | openchangedb_get_ReceiveFolderTable (TALLOC_CTX *, struct openchangedb_context *, const char *, uint32_t *, struct ReceiveFolder **) |
| enum MAPISTATUS | openchangedb_get_SpecialFolderID (struct openchangedb_context *, const char *, uint32_t, uint64_t *) |
| enum MAPISTATUS | openchangedb_get_system_idx (struct openchangedb_context *, const char *, uint64_t, int *) |
| enum MAPISTATUS | openchangedb_get_SystemFolderID (struct openchangedb_context *, const char *, uint32_t, uint64_t *) |
| enum MAPISTATUS | openchangedb_get_table_property (TALLOC_CTX *, struct openchangedb_context *, const char *, uint32_t, uint32_t, void **) |
| FIXME Not used anywhere, remove it? see mapiproxy/servers/default/emsmdb/emsmdbp_object.c +1712. More... | |
| enum MAPISTATUS | openchangedb_get_TransportFolder (struct openchangedb_context *, const char *, uint64_t *) |
| enum MAPISTATUS | openchangedb_get_users_from_partial_uri (TALLOC_CTX *, struct openchangedb_context *, const char *, uint32_t *, char ***, char ***) |
| FIXME broken? mailboxDN not saved? More... | |
| enum MAPISTATUS | openchangedb_initialize (TALLOC_CTX *, struct loadparm_context *, struct openchangedb_context **oc_ctx) |
| bool | openchangedb_is_public_folder_id (struct openchangedb_context *, uint64_t) |
| enum MAPISTATUS | openchangedb_lookup_folder_property (struct openchangedb_context *, uint32_t, uint64_t) |
| FIXME Not used anywhere. More... | |
| enum MAPISTATUS | openchangedb_message_create (TALLOC_CTX *, struct openchangedb_context *, const char *, uint64_t, uint64_t, bool, void **) |
| enum MAPISTATUS | openchangedb_message_get_property (TALLOC_CTX *, struct openchangedb_context *, void *, uint32_t, void **) |
| enum MAPISTATUS | openchangedb_message_open (TALLOC_CTX *, struct openchangedb_context *, const char *, uint64_t, uint64_t, void **, void **) |
| enum MAPISTATUS | openchangedb_message_save (struct openchangedb_context *, void *, uint8_t) |
| enum MAPISTATUS | openchangedb_message_set_properties (TALLOC_CTX *, struct openchangedb_context *, void *, struct SRow *) |
| const char * | openchangedb_property_get_attribute (uint32_t) |
| enum MAPISTATUS | openchangedb_set_folder_properties (struct openchangedb_context *, const char *, uint64_t, struct SRow *) |
| char * | openchangedb_set_folder_property_data (TALLOC_CTX *, struct SPropValue *) |
| bool | openchangedb_set_locale (struct openchangedb_context *, const char *, uint32_t) |
| enum MAPISTATUS | openchangedb_set_mapistoreURI (struct openchangedb_context *, const char *, uint64_t, const char *) |
| enum MAPISTATUS | openchangedb_set_ReceiveFolder (struct openchangedb_context *, const char *, const char *, uint64_t) |
| enum MAPISTATUS | openchangedb_set_system_idx (struct openchangedb_context *, const char *, uint64_t, int) |
| enum MAPISTATUS | openchangedb_table_get_property (TALLOC_CTX *, struct openchangedb_context *, void *, enum MAPITAGS, uint32_t, bool, void **) |
| enum MAPISTATUS | openchangedb_table_init (TALLOC_CTX *, struct openchangedb_context *, const char *, uint8_t, uint64_t, void **) |
| /details Initialize an openchangedb table More... | |
| enum MAPISTATUS | openchangedb_table_set_restrictions (struct openchangedb_context *, void *, struct mapi_SRestriction *) |
| enum MAPISTATUS | openchangedb_table_set_sort_order (struct openchangedb_context *, void *, struct SSortOrderSet *) |
| enum MAPISTATUS | openchangedb_transaction_commit (struct openchangedb_context *) |
| enum MAPISTATUS | openchangedb_transaction_start (struct openchangedb_context *) |
Variables | |
| static const uint8_t | GUID_NSPI [] |
| Represents the NSPI Protocol in Permanent Entry IDs. More... | |
| #define __BEGIN_DECLS |
| #define __END_DECLS |
| #define EMSABP_TDB_NAME "emsabp_tdb.tdb" |
EMSABP server defines.
| #define MAPI_HANDLES_NULL "null" |
| #define MAPI_HANDLES_RESERVED 0xFFFFFFFF |
| #define MAPI_HANDLES_ROOT "root" |
| typedef NTSTATUS(* openchange_plugin_init_fn) (void) |
| enum mapiproxy_status |
| enum MAPISTATUS entryid_set_AB_EntryID | ( | TALLOC_CTX * | mem_ctx, |
| const char * | legacyExchangeDN, | ||
| struct SBinary_short * | bin | ||
| ) |
Build an Address Book EntryID from a legacyExchangeDN
| mem_ctx | pointer to the memory context |
| legacyExchangeDN | the string to copy into the binary blob |
| bin | the binary blob where the function stores results |
References GUID_NSPI.
Referenced by EcDoRpc_RopCreateMessage(), and emsmdbp_object_get_properties_mailbox().
| enum MAPISTATUS entryid_set_folder_EntryID | ( | TALLOC_CTX * | mem_ctx, |
| struct GUID * | MailboxGuid, | ||
| struct GUID * | ReplGuid, | ||
| uint16_t | FolderType, | ||
| uint64_t | fid, | ||
| struct Binary_r ** | rbin | ||
| ) |
Build a folder EntryID
| mem_ctx | pointer to the memory context |
| MailboxGuid | pointer to the Mailbox Guid |
| ReplGuid | pointer to the Replica Guid |
| FolderType | the type of folder |
| fid | the folder identifier |
| rbin | the Binary_r structure where the function stores results |
| openchange_plugin_init_fn* load_openchange_plugins | ( | TALLOC_CTX * | mem_ctx, |
| const char * | path | ||
| ) |
References load_plugin().
Referenced by mapiproxy_module_init(), and mapiproxy_server_init().
| enum MAPISTATUS mapi_handles_add | ( | struct mapi_handles_context * | handles_ctx, |
| uint32_t | container_handle, | ||
| struct mapi_handles ** | rec | ||
| ) |
Add a handles to the database and return a pointer on created record
| handles_ctx | pointer to the MAPI handles context |
| container_handle | the container handle if available |
| rec | pointer on pointer to the MAPI handle structure the function returns |
References mapi_handles::handle, mapi_handles_context::handles, mapi_handles_context::last_handle, MAPI_HANDLES_RESERVED, MAPI_HANDLES_ROOT, mapi_handles_tdb_free(), mapi_handles_tdb_update(), mapi_handles_traverse_null(), mapi_handles::parent_handle, mapi_handles::private_data, and mapi_handles_context::tdb_ctx.
Referenced by EcDoRpc_RopCreateAttach(), EcDoRpc_RopCreateFolder(), EcDoRpc_RopCreateMessage(), EcDoRpc_RopFastTransferSourceCopyTo(), EcDoRpc_RopGetAttachmentTable(), EcDoRpc_RopGetContentsTable(), EcDoRpc_RopGetHierarchyTable(), EcDoRpc_RopGetPermissionsTable(), EcDoRpc_RopGetRulesTable(), EcDoRpc_RopLogon(), EcDoRpc_RopOpenAttach(), EcDoRpc_RopOpenEmbeddedMessage(), EcDoRpc_RopOpenFolder(), EcDoRpc_RopOpenMessage(), EcDoRpc_RopOpenStream(), EcDoRpc_RopRegisterNotification(), EcDoRpc_RopSyncConfigure(), EcDoRpc_RopSyncGetTransferState(), EcDoRpc_RopSyncImportMessageChange(), EcDoRpc_RopSyncOpenCollector(), and emsmdbp_object_table_get_recursive_row_props().
| enum MAPISTATUS mapi_handles_delete | ( | struct mapi_handles_context * | handles_ctx, |
| uint32_t | handle | ||
| ) |
Remove the MAPI handle referenced by the handle parameter from the double chained list and mark its associated TDB record as null
| handles_ctx | pointer to the MAPI handles context |
| handle | the handle to delete |
References mapi_handles::handle, mapi_handles_context::handles, MAPI_HANDLES_RESERVED, mapi_handles_tdb_free(), mapi_handles_traverse_delete(), mapi_handles::next, and mapi_handles_context::tdb_ctx.
Referenced by EcDoRpc_RopCreateAttach(), EcDoRpc_RopCreateFolder(), EcDoRpc_RopGetAttachmentTable(), EcDoRpc_RopGetContentsTable(), EcDoRpc_RopGetPermissionsTable(), EcDoRpc_RopOpenAttach(), EcDoRpc_RopOpenMessage(), EcDoRpc_RopRelease(), EcDoRpc_RopSyncImportMessageChange(), emsmdbp_object_table_get_recursive_row_props(), and mapi_handles_traverse_delete().
| enum MAPISTATUS mapi_handles_get_private_data | ( | struct mapi_handles * | handle, |
| void ** | private_data | ||
| ) |
Get the private data associated to a MAPI handle
| handle | pointer to the MAPI handle structure |
| private_data | pointer on pointer to the private data the function returns |
References mapi_handles::handle, and mapi_handles::private_data.
Referenced by EcDoRpc_RopCommitStream(), EcDoRpc_RopCopyFolder(), EcDoRpc_RopCopyTo(), EcDoRpc_RopCreateAttach(), EcDoRpc_RopCreateFolder(), EcDoRpc_RopCreateMessage(), EcDoRpc_RopDeleteFolder(), EcDoRpc_RopDeleteMessages(), EcDoRpc_RopEmptyFolder(), EcDoRpc_RopFastTransferSourceCopyTo(), EcDoRpc_RopFastTransferSourceGetBuffer(), EcDoRpc_RopFindRow(), EcDoRpc_RopGetAttachmentTable(), EcDoRpc_RopGetContentsTable(), EcDoRpc_RopGetHierarchyTable(), EcDoRpc_RopGetLocalReplicaIds(), EcDoRpc_RopGetMessageStatus(), EcDoRpc_RopGetPermissionsTable(), EcDoRpc_RopGetPropertiesAll(), EcDoRpc_RopGetPropertiesList(), EcDoRpc_RopGetPropertiesSpecific(), EcDoRpc_RopGetRulesTable(), EcDoRpc_RopGetStreamSize(), EcDoRpc_RopGetTransportFolder(), EcDoRpc_RopIdFromLongTermId(), EcDoRpc_RopLongTermIdFromId(), EcDoRpc_RopModifyPermissions(), EcDoRpc_RopModifyRecipients(), EcDoRpc_RopModifyRules(), EcDoRpc_RopOpenAttach(), EcDoRpc_RopOpenEmbeddedMessage(), EcDoRpc_RopOpenFolder(), EcDoRpc_RopOpenMessage(), EcDoRpc_RopOpenStream(), EcDoRpc_RopQueryPosition(), EcDoRpc_RopQueryRows(), EcDoRpc_RopReadStream(), EcDoRpc_RopRegisterNotification(), EcDoRpc_RopReloadCachedInformation(), EcDoRpc_RopRemoveAllRecipients(), EcDoRpc_RopResetTable(), EcDoRpc_RopRestrict(), EcDoRpc_RopSaveChangesMessage(), EcDoRpc_RopSeekRow(), EcDoRpc_RopSeekStream(), EcDoRpc_RopSetColumns(), EcDoRpc_RopSetMessageReadFlag(), EcDoRpc_RopSetProperties(), EcDoRpc_RopSetStreamSize(), EcDoRpc_RopSortTable(), EcDoRpc_RopSubmitMessage(), EcDoRpc_RopSyncConfigure(), EcDoRpc_RopSyncGetTransferState(), EcDoRpc_RopSyncImportDeletes(), EcDoRpc_RopSyncImportHierarchyChange(), EcDoRpc_RopSyncImportMessageChange(), EcDoRpc_RopSyncImportMessageMove(), EcDoRpc_RopSyncImportReadStateChanges(), EcDoRpc_RopSyncOpenCollector(), EcDoRpc_RopSyncUploadStateStreamBegin(), EcDoRpc_RopSyncUploadStateStreamContinue(), EcDoRpc_RopSyncUploadStateStreamEnd(), EcDoRpc_RopTransportSend(), and EcDoRpc_RopWriteStream().
| enum MAPISTATUS mapi_handles_get_systemfolder | ( | struct mapi_handles * | , |
| int * | |||
| ) |
| struct mapi_handles_context* mapi_handles_init | ( | TALLOC_CTX * | mem_ctx | ) |
Initialize MAPI handles context
| mem_ctx | pointer to the memory context |
References mapi_handles_context::handles, mapi_handles_context::last_handle, and mapi_handles_context::tdb_ctx.
Referenced by emsmdbp_init().
| enum MAPISTATUS mapi_handles_release | ( | struct mapi_handles_context * | handles_ctx | ) |
Release MAPI handles context
| handles_ctx | pointer to the MAPI handles context |
References mapi_handles_context::tdb_ctx.
Referenced by emsmdbp_mapi_handles_destructor().
| enum MAPISTATUS mapi_handles_search | ( | struct mapi_handles_context * | handles_ctx, |
| uint32_t | handle, | ||
| struct mapi_handles ** | rec | ||
| ) |
Search for a record in the TDB database
| handles_ctx | pointer to the MAPI handles context |
| handle | MAPI handle to lookup |
| rec | pointer to the MAPI handle structure the function returns |
References mapi_handles::handle, mapi_handles_context::handles, MAPI_HANDLES_NULL, MAPI_HANDLES_RESERVED, mapi_handles::next, and mapi_handles_context::tdb_ctx.
Referenced by EcDoRpc_RopCommitStream(), EcDoRpc_RopCopyFolder(), EcDoRpc_RopCopyTo(), EcDoRpc_RopCreateAttach(), EcDoRpc_RopCreateFolder(), EcDoRpc_RopCreateMessage(), EcDoRpc_RopDeleteFolder(), EcDoRpc_RopDeleteMessages(), EcDoRpc_RopEmptyFolder(), EcDoRpc_RopFastTransferSourceCopyTo(), EcDoRpc_RopFastTransferSourceGetBuffer(), EcDoRpc_RopFindRow(), EcDoRpc_RopGetAttachmentTable(), EcDoRpc_RopGetContentsTable(), EcDoRpc_RopGetHierarchyTable(), EcDoRpc_RopGetLocalReplicaIds(), EcDoRpc_RopGetMessageStatus(), EcDoRpc_RopGetPermissionsTable(), EcDoRpc_RopGetPropertiesAll(), EcDoRpc_RopGetPropertiesList(), EcDoRpc_RopGetPropertiesSpecific(), EcDoRpc_RopGetRulesTable(), EcDoRpc_RopGetStreamSize(), EcDoRpc_RopGetTransportFolder(), EcDoRpc_RopIdFromLongTermId(), EcDoRpc_RopLongTermIdFromId(), EcDoRpc_RopModifyPermissions(), EcDoRpc_RopModifyRecipients(), EcDoRpc_RopModifyRules(), EcDoRpc_RopOpenAttach(), EcDoRpc_RopOpenEmbeddedMessage(), EcDoRpc_RopOpenFolder(), EcDoRpc_RopOpenMessage(), EcDoRpc_RopOpenStream(), EcDoRpc_RopQueryPosition(), EcDoRpc_RopQueryRows(), EcDoRpc_RopReadStream(), EcDoRpc_RopRegisterNotification(), EcDoRpc_RopReloadCachedInformation(), EcDoRpc_RopRemoveAllRecipients(), EcDoRpc_RopResetTable(), EcDoRpc_RopRestrict(), EcDoRpc_RopSaveChangesMessage(), EcDoRpc_RopSeekRow(), EcDoRpc_RopSeekStream(), EcDoRpc_RopSetColumns(), EcDoRpc_RopSetMessageReadFlag(), EcDoRpc_RopSetProperties(), EcDoRpc_RopSetStreamSize(), EcDoRpc_RopSortTable(), EcDoRpc_RopSubmitMessage(), EcDoRpc_RopSyncConfigure(), EcDoRpc_RopSyncGetTransferState(), EcDoRpc_RopSyncImportDeletes(), EcDoRpc_RopSyncImportHierarchyChange(), EcDoRpc_RopSyncImportMessageChange(), EcDoRpc_RopSyncImportMessageMove(), EcDoRpc_RopSyncImportReadStateChanges(), EcDoRpc_RopSyncOpenCollector(), EcDoRpc_RopSyncUploadStateStreamBegin(), EcDoRpc_RopSyncUploadStateStreamContinue(), EcDoRpc_RopSyncUploadStateStreamEnd(), EcDoRpc_RopTransportSend(), and EcDoRpc_RopWriteStream().
| enum MAPISTATUS mapi_handles_set_private_data | ( | struct mapi_handles * | handle, |
| void * | private_data | ||
| ) |
Set the private data associated to a MAPI handle
| handle | pointer to the MAPI handle structure |
| private_data | pointer to the private data to associate to the MAPI handle |
References mapi_handles::handle, and mapi_handles::private_data.
Referenced by EcDoRpc_RopCreateAttach(), EcDoRpc_RopCreateFolder(), EcDoRpc_RopCreateMessage(), EcDoRpc_RopFastTransferSourceCopyTo(), EcDoRpc_RopGetAttachmentTable(), EcDoRpc_RopGetContentsTable(), EcDoRpc_RopGetHierarchyTable(), EcDoRpc_RopGetPermissionsTable(), EcDoRpc_RopGetRulesTable(), EcDoRpc_RopLogon(), EcDoRpc_RopOpenAttach(), EcDoRpc_RopOpenEmbeddedMessage(), EcDoRpc_RopOpenFolder(), EcDoRpc_RopOpenMessage(), EcDoRpc_RopOpenStream(), EcDoRpc_RopRegisterNotification(), EcDoRpc_RopSyncConfigure(), EcDoRpc_RopSyncGetTransferState(), EcDoRpc_RopSyncImportMessageChange(), and EcDoRpc_RopSyncOpenCollector().
| enum MAPISTATUS mapi_handles_set_systemfolder | ( | struct mapi_handles * | , |
| int | |||
| ) |
| const struct mapiproxy_module* mapiproxy_module_byname | ( | const char * | name | ) |
References mp_modules, mapiproxy_module::name, and num_mp_modules.
Referenced by mapiproxy_module_load().
| NTSTATUS mapiproxy_module_dispatch | ( | struct dcesrv_call_state * | dce_call, |
| TALLOC_CTX * | mem_ctx, | ||
| void * | r, | ||
| struct mapiproxy * | mapiproxy | ||
| ) |
Referenced by mapiproxy_op_dispatch().
| NTSTATUS mapiproxy_module_init | ( | struct dcesrv_context * | dce_ctx | ) |
References load_openchange_plugins(), mapiproxy_module_load(), and mpm.
Referenced by mapiproxy_op_init_server().
| NTSTATUS mapiproxy_module_ndr_pull | ( | struct dcesrv_call_state * | dce_call, |
| TALLOC_CTX * | mem_ctx, | ||
| struct ndr_pull * | pull | ||
| ) |
Referenced by mapiproxy_op_ndr_pull().
| NTSTATUS mapiproxy_module_pull | ( | struct dcesrv_call_state * | dce_call, |
| TALLOC_CTX * | mem_ctx, | ||
| void * | r | ||
| ) |
Referenced by mapiproxy_op_ndr_pull().
| NTSTATUS mapiproxy_module_push | ( | struct dcesrv_call_state * | dce_call, |
| TALLOC_CTX * | mem_ctx, | ||
| void * | r | ||
| ) |
Referenced by mapiproxy_op_ndr_push().
| __BEGIN_DECLS NTSTATUS mapiproxy_module_register | ( | const void * | _mp_module | ) |
References mp_modules, mapiproxy_module::name, and num_mp_modules.
Referenced by samba_init_module().
| NTSTATUS mapiproxy_module_unbind | ( | struct server_id | , |
| uint32_t | |||
| ) |
| const struct mapiproxy_module* mapiproxy_server_byname | ( | const char * | name | ) |
References mapiproxy_module::name, num_server_modules, and server_modules.
Referenced by mapiproxy_server_overwrite().
| const struct mapiproxy_module* mapiproxy_server_bystatus | ( | const char * | name, |
| enum | mapiproxy_status | ||
| ) |
References mapiproxy_module::name, num_server_modules, server_modules, and mapiproxy_module::status.
Referenced by mapiproxy_server_load().
| NTSTATUS mapiproxy_server_dispatch | ( | struct dcesrv_call_state * | dce_call, |
| TALLOC_CTX * | mem_ctx, | ||
| void * | r, | ||
| struct mapiproxy * | mapiproxy | ||
| ) |
References mapiproxy_module::dispatch, mapiproxy_module::endpoint, mapiproxy_module_list::module, mapiproxy_module_list::next, mapiproxy::norelay, and server_list.
Referenced by mapiproxy_op_dispatch().
| TDB_CONTEXT* mapiproxy_server_emsabp_tdb_init | ( | struct loadparm_context * | lp_ctx | ) |
Initialize an EMSABP TDB context available to all instances when Samba is not run in single mode.
| lp_ctx | pointer to the loadparm context |
return Allocated TDB context on success, otherwise NULL
References emsabp_tdb_ctx, and EMSABP_TDB_NAME.
Referenced by emsabp_tdb_init().
| NTSTATUS mapiproxy_server_init | ( | struct dcesrv_context * | dce_ctx | ) |
Initialize mapiproxy servers modules
| dce_ctx | pointer to the connection context |
References load_openchange_plugins(), and mapiproxy_server_load().
Referenced by mapiproxy_op_init_server().
| bool mapiproxy_server_loaded | ( | const char * | endpoint | ) |
References mapiproxy_module::endpoint, mapiproxy_module_list::module, mapiproxy_module_list::next, and server_list.
Referenced by mapiproxy_op_dispatch(), and mapiproxy_op_ndr_push().
| void* mapiproxy_server_openchangedb_init | ( | struct loadparm_context * | lp_ctx | ) |
Initialize an openchangedb context available to all mapiproxy instances. This context points on the OpenChange dispatcher database used within emsmdb default provider.
| lp_ctx | pointer to the loadparm context |
References openchange_ldb_ctx, and openchangedb_initialize().
Referenced by emsmdbp_openchangedb_init().
| NTSTATUS mapiproxy_server_register | ( | const void * | _server_module | ) |
References mapiproxy_module::name, num_server_modules, and server_modules.
Referenced by samba_init_module().
| NTSTATUS mapiproxy_server_unbind | ( | struct server_id | , |
| uint32_t | |||
| ) |
| bool mpm_session_cmp | ( | struct mpm_session * | session, |
| struct dcesrv_call_state * | dce_call | ||
| ) |
Compare the mpm session with the session context one
This function is a wrapper on mpm_session_cmp_sub
| session | pointer to the mapiproxy module session |
| dce_call | pointer to the session context |
References mpm_session_cmp_sub(), and mpm_session::server_id.
Referenced by cache_dispatch(), cache_pull_OpenAttach(), cache_pull_OpenMessage(), cache_pull_OpenStream(), cache_pull_Release(), cache_push_OpenAttach(), cache_push_OpenMessage(), cache_push_OpenStream(), and cache_push_ReadStream().
| bool mpm_session_cmp_sub | ( | struct mpm_session * | session, |
| struct server_id | sid, | ||
| uint32_t | context_id | ||
| ) |
Compare the mpm session with the session context one
| session | pointer to the mapiproxy module session |
| sid | reference to a server_id structure to compare |
| context_id | the connection context id to compare |
References mpm_session::context_id, and mpm_session::server_id.
Referenced by cache_unbind(), and mpm_session_cmp().
| bool mpm_session_increment_ref_count | ( | struct mpm_session * | session | ) |
Increment the ref_count associated to a session
| session | pointer to the session where to increment ref_count |
References mpm_session::ref_count.
Referenced by dcesrv_NspiBind().
| struct mpm_session* mpm_session_init | ( | TALLOC_CTX * | mem_ctx, |
| struct dcesrv_call_state * | dce_call | ||
| ) |
Create and return an allocated pointer to a mpm session
| mem_ctx | pointer to the memory context |
| dce_call | pointer to the session context |
References mpm_session_new().
Referenced by cache_pull_OpenAttach(), cache_pull_OpenMessage(), cache_pull_OpenStream(), and dcesrv_NspiBind().
| struct mpm_session* mpm_session_new | ( | TALLOC_CTX * | mem_ctx, |
| struct server_id | serverid, | ||
| uint32_t | context_id | ||
| ) |
Create and return an allocated pointer to a mpm session
| mem_ctx | pointer to the memory context |
| serverid | reference to the session context server identifier structure |
| context_id | reference to the context identifier |
References mpm_session::context_id, mpm_session::destructor, mpm_session::private_data, mpm_session::ref_count, and mpm_session::server_id.
Referenced by mpm_session_init().
| bool mpm_session_release | ( | struct mpm_session * | session | ) |
Release a mapiproxy session context
| session | pointer to the mpm session context |
References mpm_session::destructor, mpm_session::private_data, and mpm_session::ref_count.
Referenced by cache_pull_Release(), cache_unbind(), and dcesrv_NspiUnbind().
| bool mpm_session_set_destructor | ( | struct mpm_session * | session, |
| bool(*)(void *) | destructor | ||
| ) |
Set the mpm session destructor
| session | pointer to the mpm session context |
| destructor | pointer to the destructor function |
References mpm_session::destructor.
Referenced by dcesrv_NspiBind().
| bool mpm_session_set_private_data | ( | struct mpm_session * | session, |
| void * | private_data | ||
| ) |
Set the mpm session pointer on private data
| session | pointer to the mpm session context |
| private_data | generic pointer on private data |
References mpm_session::private_data.
Referenced by dcesrv_NspiBind().
| enum MAPISTATUS openchangedb_create_folder | ( | struct openchangedb_context * | oc_ctx, |
| const char * | username, | ||
| uint64_t | parentFolderID, | ||
| uint64_t | fid, | ||
| uint64_t | changeNumber, | ||
| const char * | MAPIStoreURI, | ||
| int | systemIdx | ||
| ) |
Create a folder in openchangedb
| oc_ctx | pointer to the openchange DB context |
| username | The name of the mailbox where the parent folder is |
| parentFolderID | the FID of the parent folder |
| fid | the FID of the folder to create |
| changeNumber | the change number |
| MAPIStoreURI | the mapistore URI to associate to this folder |
| systemIdx | the systemIdx value for the new folder |
Referenced by emsmdbp_mailbox_provision(), and emsmdbp_mailbox_provision_public_freebusy().
| enum MAPISTATUS openchangedb_create_mailbox | ( | struct openchangedb_context * | oc_ctx, |
| const char * | username, | ||
| const char * | organization_name, | ||
| const char * | group_name, | ||
| uint64_t | fid, | ||
| const char * | display_name | ||
| ) |
Create a mailbox in openchangedb
| oc_ctx | pointer to the openchange DB context |
| username | the owner of the mailbox |
| organization_name | name of the organization of the user |
| group_name | name of the group where the organization of the user belongs |
| fid | The fid used for the mailbox |
| display_name | Name of the mailbox |
References EMSMDBP_MAILBOX_ROOT.
Referenced by emsmdbp_mailbox_provision().
| enum MAPISTATUS openchangedb_delete_folder | ( | struct openchangedb_context * | oc_ctx, |
| const char * | username, | ||
| uint64_t | fid | ||
| ) |
Delete a folder
| oc_ctx | pointer to the openchange DB context |
| username | mailbox name where the folder is |
| fid | the record folder identifier to be deleted |
Referenced by emsmdbp_folder_delete(), emsmdbp_folder_move_folder(), and emsmdbp_mailbox_provision().
| enum MAPISTATUS openchangedb_get_distinguishedName | ( | TALLOC_CTX * | parent_ctx, |
| struct openchangedb_context * | oc_ctx, | ||
| uint64_t | fid, | ||
| char ** | distinguishedName | ||
| ) |
FIXME Not used anywhere.
Remove it?
Retrieve the distinguishedName associated to a mailbox system folder.
| parent_ctx | pointer to the parent memory context |
| oc_ctx | pointer to the openchange DB context |
| fid | the Folder identifier to search for |
| distinguishedName | pointer on pointer to the distinguishedName string the function returns |
| enum MAPISTATUS openchangedb_get_fid | ( | struct openchangedb_context * | oc_ctx, |
| const char * | mapistoreURL, | ||
| uint64_t * | fidp | ||
| ) |
Retrieve the fid associated with a mapistore URI.
| oc_ctx | pointer to the openchange DB context |
| mapistoreURL | mapistore URI to look for |
| fidp | pointer to fid the function returns |
Referenced by emsmdbp_get_fid_from_uri(), and emsmdbp_mailbox_provision().
| enum MAPISTATUS openchangedb_get_fid_by_name | ( | struct openchangedb_context * | oc_ctx, |
| const char * | username, | ||
| uint64_t | parent_fid, | ||
| const char * | foldername, | ||
| uint64_t * | fid | ||
| ) |
Retrieve the folder ID associated with a given folder name
This function looks up the specified foldername (as a PidTagDisplayName) and returns the associated folder ID. Note that folder names are only unique in the context of a parent folder, so the parent folder needs to be provided.
| oc_ctx | pointer to the openchange DB context |
| username | mailbox name where the folder is |
| parent_fid | the folder ID of the parent folder |
| foldername | the name to look up |
| fid | the folder ID for the folder with the specified name (0 if not found) |
Referenced by emsmdbp_container_class_to_role(), emsmdbp_mailbox_provision(), emsmdbp_mailbox_provision_public_freebusy(), and emsmdbp_object_create_folder().
| enum MAPISTATUS openchangedb_get_fid_from_partial_uri | ( | struct openchangedb_context * | oc_ctx, |
| const char * | partialURI, | ||
| uint64_t * | fid | ||
| ) |
FIXME Not used anywhere, remove it?
Get fid given a partial MAPIStoreURI
| oc_ctx | pointer to the openchange DB context |
| partialURI | partial MAPIStoreURI to look for |
| fid | pointer on function result for the message class |
| enum MAPISTATUS openchangedb_get_folder_count | ( | struct openchangedb_context * | oc_ctx, |
| const char * | username, | ||
| uint64_t | fid, | ||
| uint32_t * | RowCount | ||
| ) |
Retrieve the number of sub folders for a given fid
| oc_ctx | pointer to the openchange DB context |
| username | name of the mailbox where the folder is |
| fid | the folder identifier to use for the search |
| RowCount | pointer to the returned number of results |
Referenced by emsmdbp_object_get_properties_systemspecialfolder().
| enum MAPISTATUS openchangedb_get_folder_property | ( | TALLOC_CTX * | parent_ctx, |
| struct openchangedb_context * | oc_ctx, | ||
| const char * | username, | ||
| uint32_t | proptag, | ||
| uint64_t | fid, | ||
| void ** | data | ||
| ) |
Retrieve a MAPI property value from a folder record
| parent_ctx | pointer to the memory context |
| oc_ctx | pointer to the openchange DB context |
| username | mailbox name where the folder is |
| proptag | the MAPI property tag to retrieve value for |
| fid | the record folder identifier |
| data | pointer on pointer to the data the function returns |
Referenced by emsmdbp_mailbox_provision(), emsmdbp_object_get_properties_mailbox(), emsmdbp_object_get_properties_mapistore_root(), emsmdbp_object_get_properties_systemspecialfolder(), emsmdbp_object_set_properties(), and oxosfld_is_special_folder().
| const char** openchangedb_get_folders_names | ( | TALLOC_CTX * | mem_ctx, |
| struct openchangedb_context * | oc_ctx, | ||
| const char * | locale, | ||
| const char * | type | ||
| ) |
Get a list of names depending of the locale given as parameter
| mem_ctx | context memory where the return value will be allocated |
| oc_ctx | pointer to the openchange DB context |
| locale | something like en_UK or just en (in that case will be look for any en_* entries) |
| type | the table to look for values, it must be either "special_folders" or "folders" |
Referenced by emsmdbp_get_folders_names(), and emsmdbp_get_special_folders().
| enum MAPISTATUS openchangedb_get_indexing_url | ( | struct openchangedb_context * | oc_ctx, |
| const char * | username, | ||
| const char ** | indexing_url | ||
| ) |
Get the indexing url backend for the user given as parameter. The user represents a mailbox. By default a tdb backend file per user will be used in case an error is returned.
| oc_ctx | pointer to the openchange DB context |
| username | Name of the mailbox |
| indexing_url | pointer to the result returned |
| enum MAPISTATUS openchangedb_get_MailboxGuid | ( | struct openchangedb_context * | oc_ctx, |
| const char * | recipient, | ||
| struct GUID * | MailboxGUID | ||
| ) |
Retrieve the mailbox GUID for given recipient from openchange dispatcher database
| oc_ctx | pointer to the OpenChangeDB context |
| recipient | the mailbox username |
| MailboxGUID | pointer to the mailbox GUID the function returns |
Referenced by emsmdbp_mailbox_provision(), oxosfld_is_special_folder(), and RopLogon_Mailbox().
| enum MAPISTATUS openchangedb_get_MailboxReplica | ( | struct openchangedb_context * | oc_ctx, |
| const char * | recipient, | ||
| uint16_t * | ReplID, | ||
| struct GUID * | ReplGUID | ||
| ) |
Retrieve the mailbox replica identifier and GUID for given recipient from openchange dispatcher database
| oc_ctx | pointer to the OpenChangeDB context |
| recipient | the mailbox username |
| ReplID | pointer to the replica identifier the function returns |
| ReplGUID | pointer to the replica GUID the function returns |
Referenced by EcDoRpc_RopSyncImportDeletes(), EcDoRpc_RopSyncImportHierarchyChange(), EcDoRpc_RopSyncImportMessageChange(), emsmdbp_guid_to_replid(), emsmdbp_mailbox_provision(), emsmdbp_object_synccontext_init(), emsmdbp_replid_to_guid(), emsmdbp_verify_user(), oxcfxics_fill_synccontext_with_messageChange(), oxcfxics_prepare_synccontext_with_folderChange(), oxosfld_is_special_folder(), and RopLogon_Mailbox().
| enum MAPISTATUS openchangedb_get_mapistoreURI | ( | TALLOC_CTX * | parent_ctx, |
| struct openchangedb_context * | oc_ctx, | ||
| const char * | username, | ||
| uint64_t | fid, | ||
| char ** | mapistoreURL, | ||
| bool | mailboxstore | ||
| ) |
Retrieve the mapistore URI associated to a mailbox system folder.
| parent_ctx | pointer to the memory context |
| oc_ctx | pointer to the openchange DB context |
| username | current user |
| fid | the Folder identifier to search for |
| mapistoreURL | pointer on pointer to the mapistore URI the function returns |
| mailboxstore | boolean value which defines whether the record has to be searched within Public folders hierarchy or not FIXME mailboxstore always true? remove it? |
Referenced by emsmdbp_folder_delete(), emsmdbp_get_uri_from_fid(), emsmdbp_mailbox_provision(), emsmdbp_object_open_folder(), and emsmdbp_object_set_properties().
| enum MAPISTATUS openchangedb_get_MAPIStoreURIs | ( | struct openchangedb_context * | oc_ctx, |
| const char * | username, | ||
| TALLOC_CTX * | mem_ctx, | ||
| struct StringArrayW_r ** | urisP | ||
| ) |
Retrieve a list of mapistore URI in use for a certain user
| oc_ctx | pointer to the openchange DB context |
| username | the mailbox name |
| mem_ctx | memory context where found URIs will be allocated |
| urisP | where the Mapistore URIs will be stored |
Referenced by emsmdbp_mailbox_provision().
| enum MAPISTATUS openchangedb_get_message_count | ( | struct openchangedb_context * | oc_ctx, |
| const char * | username, | ||
| uint64_t | fid, | ||
| uint32_t * | RowCount, | ||
| bool | fai | ||
| ) |
Retrieve the number of messages within the specified folder
| oc_ctx | pointer to the openchange DB context |
| username | Name of the mailbox where the folder is |
| fid | the folder identifier to use for the search |
| RowCount | pointer to the returned number of results |
| fai | whether we want to count fai messages or system messages |
Referenced by emsmdbp_folder_open_table().
| enum MAPISTATUS openchangedb_get_mid_by_subject | ( | struct openchangedb_context * | oc_ctx, |
| const char * | username, | ||
| uint64_t | parent_fid, | ||
| const char * | subject, | ||
| bool | mailboxstore, | ||
| uint64_t * | mid | ||
| ) |
Retrieve the message ID associated with a given subject (normalized)
| oc_ctx | pointer to the openchange DB context |
| username | mailbox name where the parent folder is |
| parent_fid | the folder ID of the parent folder |
| subject | the normalized subject to look up |
| mailboxstore | whether the folder is under a mailbox or not |
| mid | the message ID for the message (0 if not found) |
Referenced by emsmdbp_mailbox_provision_public_freebusy().
| enum MAPISTATUS openchangedb_get_new_changeNumber | ( | struct openchangedb_context * | oc_ctx, |
| const char * | username, | ||
| uint64_t * | cn | ||
| ) |
Allocates a new change number and returns it
| oc_ctx | pointer to the openchange DB context |
| username | current user |
| cn | pointer to the cn value the function returns |
Referenced by EcDoRpc_RopCreateFolder(), EcDoRpc_RopSyncImportHierarchyChange(), emsmdbp_mailbox_provision(), and emsmdbp_mailbox_provision_public_freebusy().
| enum MAPISTATUS openchangedb_get_new_changeNumbers | ( | struct openchangedb_context * | oc_ctx, |
| TALLOC_CTX * | mem_ctx, | ||
| const char * | username, | ||
| uint64_t | max, | ||
| struct UI8Array_r ** | cns_p | ||
| ) |
Allocates a batch of new change numbers and returns them
| oc_ctx | pointer to the openchange DB context |
| mem_ctx | memory context where the change numbers will be allocated |
| username | current user |
| max | number of change number to allocate |
| cns_p | array of pointers to the change numbers values the function returns |
| enum MAPISTATUS openchangedb_get_new_public_folderID | ( | struct openchangedb_context * | oc_ctx, |
| const char * | username, | ||
| uint64_t * | fid | ||
| ) |
Retrieve a new folder id for a public folder, only used on cases where the openchangedb backend uses folder ids per user. In that case the public folder ids will still be global, per organization
| oc_ctx | pointer to the openchange DB context |
| username | The name of the current login user so we can now the current organization where the public folder will be created |
| fid | pointer to the returned value |
Referenced by EcDoRpc_RopCreateFolder().
| enum MAPISTATUS openchangedb_get_next_changeNumber | ( | struct openchangedb_context * | oc_ctx, |
| const char * | username, | ||
| uint64_t * | cn | ||
| ) |
Returns the change number that will be allocated when openchangedb_get_new_changeNumber is next invoked
| oc_ctx | pointer to the openchange DB context |
| username | current user |
| cn | pointer to the cn value the function returns |
| enum MAPISTATUS openchangedb_get_parent_fid | ( | struct openchangedb_context * | oc_ctx, |
| const char * | username, | ||
| uint64_t | fid, | ||
| uint64_t * | parent_fidp, | ||
| bool | mailboxstore | ||
| ) |
Retrieve the parent fid associated to a mailbox system folder.
| oc_ctx | pointer to the openchange DB context |
| username | the mailbox name |
| fid | the Folder identifier to search for |
| parent_fidp | pointer to the parent_fid the function returns |
| mailboxstore | boolean value which defines whether the record has to be searched within Public folders hierarchy or not |
Referenced by emsmdbp_object_open_folder().
| enum MAPISTATUS openchangedb_get_PublicFolderID | ( | struct openchangedb_context * | oc_ctx, |
| const char * | username, | ||
| uint32_t | SystemIdx, | ||
| uint64_t * | FolderId | ||
| ) |
Retrieve the public folder FolderID (fid) for a given folder type
| oc_ctx | pointer to the OpenChangeDB context |
| username | current user |
| SystemIdx | the system folder index |
| FolderId | pointer to the folder identifier the function returns |
Referenced by emsmdbp_mailbox_provision_public_freebusy(), and emsmdbp_object_mailbox_init().
| enum MAPISTATUS openchangedb_get_PublicFolderReplica | ( | struct openchangedb_context * | oc_ctx, |
| const char * | username, | ||
| uint16_t * | ReplID, | ||
| struct GUID * | ReplGUID | ||
| ) |
Retrieve the public folder replica identifier and GUID from the openchange dispatcher database
| oc_ctx | pointer to the OpenChangeDB context |
| username | current user |
| ReplID | pointer to the replica identifier the function returns |
| ReplGUID | pointer to the replica GUID the function returns |
| enum MAPISTATUS openchangedb_get_ReceiveFolder | ( | TALLOC_CTX * | parent_ctx, |
| struct openchangedb_context * | oc_ctx, | ||
| const char * | recipient, | ||
| const char * | MessageClass, | ||
| uint64_t * | fid, | ||
| const char ** | ExplicitMessageClass | ||
| ) |
Retrieve the Explicit message class and Folder identifier associated to the MessageClass search pattern.
| parent_ctx | pointer to the memory context |
| oc_ctx | pointer to the openchange DB context |
| recipient | pointer to the mailbox's username |
| MessageClass | substring to search for |
| fid | pointer to the folder identifier the function returns |
| ExplicitMessageClass | pointer on pointer to the complete message class the function returns |
| enum MAPISTATUS openchangedb_get_ReceiveFolderTable | ( | TALLOC_CTX * | mem_ctx, |
| struct openchangedb_context * | oc_ctx, | ||
| const char * | recipient, | ||
| uint32_t * | cValues, | ||
| struct ReceiveFolder ** | entries | ||
| ) |
Retrieve the list of receive folder identifier, message class along with latest modification time for the mailbox of the user.
| mem_ctx | pointer to the memory context |
| oc_ctx | pointer to the openchange DB context |
| recipient | pointer to the mailbox's username |
| cValues | pointer to the number of ReceiveFolder records the function returns |
| entries | pointer on pointer to the list of ReceiveFolder structure to return |
| enum MAPISTATUS openchangedb_get_SpecialFolderID | ( | struct openchangedb_context * | oc_ctx, |
| const char * | recipient, | ||
| uint32_t | SystemIdx, | ||
| uint64_t * | FolderId | ||
| ) |
Retrieve the folder id of a special folder with the specific SystemIdx for given recipient from openchange dispatcher database.
| oc_ctx | pointer to the OpenChangeDB context |
| recipient | the mailbox username |
| SystemIdx | the system folder index |
| FolderId | pointer to the folder identifier the function returns |
Referenced by emsmdbp_mailbox_provision().
| enum MAPISTATUS openchangedb_get_system_idx | ( | struct openchangedb_context * | oc_ctx, |
| const char * | username, | ||
| uint64_t | fid, | ||
| int * | system_idx_p | ||
| ) |
Retrieve the system idx associated with a folder record
| oc_ctx | pointer to the openchange DB context |
| username | the name of the mailbox where the folder is |
| fid | the folder identifier to use for the search |
| system_idx_p | pointer to the returned value |
Referenced by emsmdbp_folder_move_folder(), and oxosfld_is_special_folder().
| enum MAPISTATUS openchangedb_get_SystemFolderID | ( | struct openchangedb_context * | oc_ctx, |
| const char * | recipient, | ||
| uint32_t | SystemIdx, | ||
| uint64_t * | FolderId | ||
| ) |
Retrieve the mailbox FolderID for given recipient from openchange dispatcher database
| oc_ctx | pointer to the OpenChangeDB context |
| recipient | the mailbox username |
| SystemIdx | the system folder index |
| FolderId | pointer to the folder identifier the function returns |
Referenced by emsmdbp_mailbox_provision(), emsmdbp_object_mailbox_init(), oxosfld_is_special_folder(), and RopLogon_Mailbox().
| enum MAPISTATUS openchangedb_get_table_property | ( | TALLOC_CTX * | parent_ctx, |
| struct openchangedb_context * | oc_ctx, | ||
| const char * | ldb_filter, | ||
| uint32_t | proptag, | ||
| uint32_t | pos, | ||
| void ** | data | ||
| ) |
FIXME Not used anywhere, remove it? see mapiproxy/servers/default/emsmdb/emsmdbp_object.c +1712.
Retrieve a MAPI property from a table (ldb search results)
| parent_ctx | pointer to the memory context |
| oc_ctx | pointer to the openchange DB context |
| ldb_filter | the ldb search string |
| proptag | the MAPI property tag to retrieve value for |
| pos | the record position in search results |
| data | pointer on pointer to the data the function returns |
| enum MAPISTATUS openchangedb_get_TransportFolder | ( | struct openchangedb_context * | oc_ctx, |
| const char * | recipient, | ||
| uint64_t * | FolderId | ||
| ) |
Retrieve the Transport Folder FolderID for given recipient from openchange dispatcher database
| oc_ctx | pointer to the OpenChangeDB context |
| recipient | the mailbox username |
| FolderId | pointer to the folder identifier the function returns |
Referenced by EcDoRpc_RopGetTransportFolder().
| enum MAPISTATUS openchangedb_get_users_from_partial_uri | ( | TALLOC_CTX * | parent_ctx, |
| struct openchangedb_context * | oc_ctx, | ||
| const char * | partialURI, | ||
| uint32_t * | count, | ||
| char *** | MAPIStoreURI, | ||
| char *** | users | ||
| ) |
FIXME broken? mailboxDN not saved?
Get users given a partial MAPIStoreURI
| parent_ctx | memory context |
| oc_ctx | pointer to the openchange DB context |
| partialURI | partial MAPIStoreURI to look for |
| count | number of users found |
| MAPIStoreURI | MAPIStoreURIs of the users found from the partial MAPIStoreURI |
| users | name of the mailboxes found from the partial MAPIStoreURI |
| enum MAPISTATUS openchangedb_initialize | ( | TALLOC_CTX * | mem_ctx, |
| struct loadparm_context * | lp_ctx, | ||
| struct openchangedb_context ** | oc_ctx | ||
| ) |
Referenced by mapiproxy_server_openchangedb_init().
| bool openchangedb_is_public_folder_id | ( | struct openchangedb_context * | oc_ctx, |
| uint64_t | fid | ||
| ) |
Whether the current openchangedb backend uses folder ids per user and the given folder id as parameter belongs to a public folder id (which have global folder ids in an organization)
| oc_ctx | pointer to the openchange DB context |
| fid | folder id to identify if belongs to a either public or system folder |
Referenced by EcDoRpc_RopCreateFolder().
| enum MAPISTATUS openchangedb_lookup_folder_property | ( | struct openchangedb_context * | oc_ctx, |
| uint32_t | proptag, | ||
| uint64_t | fid | ||
| ) |
FIXME Not used anywhere.
Remove it?
Check if a property exists within an openchange dispatcher database record
| oc_ctx | pointer to the openchange DB context |
| proptag | the MAPI property tag to lookup |
| fid | the record folder identifier |
| enum MAPISTATUS openchangedb_message_create | ( | TALLOC_CTX * | mem_ctx, |
| struct openchangedb_context * | oc_ctx, | ||
| const char * | username, | ||
| uint64_t | messageID, | ||
| uint64_t | folderID, | ||
| bool | fai, | ||
| void ** | message_object | ||
| ) |
Initialize and create a message object
| mem_ctx | pointer to the memory context to use for allocation |
| oc_ctx | pointer to the openchangedb context |
| username | The name of the mailbox where the parent folder of the message is. |
| messageID | the identifier of the message to create |
| folderID | the identifier of the folder where the message is created |
| message_object | pointer on pointer to the message object to return |
Referenced by EcDoRpc_RopCreateMessage(), and emsmdbp_mailbox_provision_public_freebusy().
| enum MAPISTATUS openchangedb_message_get_property | ( | TALLOC_CTX * | mem_ctx, |
| struct openchangedb_context * | oc_ctx, | ||
| void * | message_object, | ||
| uint32_t | proptag, | ||
| void ** | data | ||
| ) |
Retrieve a property on a LDB message
| mem_ctx | pointer to the memory context |
| message_object | the openchangedb message to retrieve data from |
| proptag | the MAPI property tag to lookup |
| data | pointer on pointer to the data to return |
Referenced by emsmdbp_object_get_properties_message().
| enum MAPISTATUS openchangedb_message_open | ( | TALLOC_CTX * | mem_ctx, |
| struct openchangedb_context * | oc_ctx, | ||
| const char * | username, | ||
| uint64_t | messageID, | ||
| uint64_t | folderID, | ||
| void ** | message_object, | ||
| void ** | msgp | ||
| ) |
Initialize and open a message object
| mem_ctx | pointer to the memory context to use for allocation |
| oc_ctx | pointer to the openchangedb context |
| username | the name of the mailbox where the parent folder of the message is. |
| messageID | the identifier of the message to open |
| folderID | the identifier of the folder where the message is stored |
| message_object | pointer on pointer to the message object to return |
| msgp | pointer on pointer to the mapistore message to return |
Referenced by emsmdbp_object_message_open().
| enum MAPISTATUS openchangedb_message_save | ( | struct openchangedb_context * | oc_ctx, |
| void * | msg, | ||
| uint8_t | SaveFlags | ||
| ) |
Save (commit) message in openchangedb database
| msg | the message object |
| SaveFlags | flags associated to the save operation |
Referenced by EcDoRpc_RopSaveChangesMessage(), and emsmdbp_mailbox_provision_public_freebusy().
| enum MAPISTATUS openchangedb_message_set_properties | ( | TALLOC_CTX * | mem_ctx, |
| struct openchangedb_context * | oc_ctx, | ||
| void * | message_object, | ||
| struct SRow * | row | ||
| ) |
Set a list of properties on a message
| mem_ctx | pointer to the memory context |
| message_object | pointer to the openchangedb message object |
| row | pointer to the SRow structure holding the array of properties to set on the message |
Referenced by emsmdbp_mailbox_provision_public_freebusy(), and emsmdbp_object_set_properties().
| const char* openchangedb_property_get_attribute | ( | uint32_t | proptag | ) |
References _openchangedb_property_get_string_attribute(), and pidtags.
| enum MAPISTATUS openchangedb_set_folder_properties | ( | struct openchangedb_context * | oc_ctx, |
| const char * | username, | ||
| uint64_t | fid, | ||
| struct SRow * | row | ||
| ) |
Set a MAPI property value from a folder record
| oc_ctx | pointer to the openchange DB context |
| username | name of the mailbox where the folder is |
| fid | the record folder identifier |
| row | the MAPI property to set |
Referenced by emsmdbp_mailbox_provision(), and emsmdbp_object_set_properties().
| char* openchangedb_set_folder_property_data | ( | TALLOC_CTX * | mem_ctx, |
| struct SPropValue * | value | ||
| ) |
Build a MAPI property suitable for a OpenChange LDB message
| mem_ctx | pointer to the memory context |
| value | the MAPI property |
References nil_string, and openchangedb_set_folder_property_data().
Referenced by openchangedb_set_folder_property_data().
| bool openchangedb_set_locale | ( | struct openchangedb_context * | oc_ctx, |
| const char * | username, | ||
| uint32_t | lcid | ||
| ) |
Set the current locale of the mailbox
| oc_ctx | pointer to the openchange DB context |
| username | Name of the mailbox |
| lcid | language id |
Referenced by emsmdbp_mailbox_provision().
| enum MAPISTATUS openchangedb_set_mapistoreURI | ( | struct openchangedb_context * | oc_ctx, |
| const char * | username, | ||
| uint64_t | fid, | ||
| const char * | mapistoreURL | ||
| ) |
Store the mapistore URI associated to a mailbox system folder.
| oc_ctx | pointer to the openchange DB context |
| username | current user |
| fid | the Folder identifier to search for |
| mapistoreURL | The mapistore URI to set |
Referenced by emsmdbp_mailbox_provision(), and emsmdbp_object_set_properties().
| enum MAPISTATUS openchangedb_set_ReceiveFolder | ( | struct openchangedb_context * | oc_ctx, |
| const char * | recipient, | ||
| const char * | MessageClass, | ||
| uint64_t | fid | ||
| ) |
Set the receive folder for a specific message class.
| oc_ctx | pointer to the openchange DB context |
| recipient | pointer to the mailbox's username |
| MessageClass | message class (e.g. IPM.whatever) to set |
| fid | folder identifier for the recipient folder for the message class |
Referenced by emsmdbp_mailbox_provision().
| enum MAPISTATUS openchangedb_set_system_idx | ( | struct openchangedb_context * | oc_ctx, |
| const char * | username, | ||
| uint64_t | fid, | ||
| int | system_idx | ||
| ) |
Store the system index associated to a mailbox system folder.
| oc_ctx | pointer to the openchange DB context |
| username | current user |
| fid | the Folder identifier to search for |
| system_idx | the system index |
Referenced by emsmdbp_mailbox_provision().
| enum MAPISTATUS openchangedb_table_get_property | ( | TALLOC_CTX * | mem_ctx, |
| struct openchangedb_context * | self, | ||
| void * | table_object, | ||
| enum | MAPITAGS, | ||
| uint32_t | pos, | ||
| bool | live_filtered, | ||
| void ** | data | ||
| ) |
Referenced by emsmdbp_object_table_get_row_props().
| enum MAPISTATUS openchangedb_table_init | ( | TALLOC_CTX * | mem_ctx, |
| struct openchangedb_context * | self, | ||
| const char * | username, | ||
| uint8_t | table_type, | ||
| uint64_t | folderID, | ||
| void ** | table_object | ||
| ) |
/details Initialize an openchangedb table
| mem_ctx | pointer to the memory context to use for allocation |
| username | The name of the mailbox where the folder is |
| table_type | the type of table this object represents |
| folderID | the identifier of the folder this table represents |
| table_object | pointer on pointer to the table object to return |
Referenced by emsmdbp_folder_open_table().
| enum MAPISTATUS openchangedb_table_set_restrictions | ( | struct openchangedb_context * | self, |
| void * | table_object, | ||
| struct mapi_SRestriction * | res | ||
| ) |
Referenced by EcDoRpc_RopFindRow().
| enum MAPISTATUS openchangedb_table_set_sort_order | ( | struct openchangedb_context * | self, |
| void * | table_object, | ||
| struct SSortOrderSet * | lpSortCriteria | ||
| ) |
Set sort order to specified openchangedb table object
| table_object | pointer to the table object |
| lpSortCriteria | pointer to the sort order to save |
Referenced by EcDoRpc_RopSortTable().
| enum MAPISTATUS openchangedb_transaction_commit | ( | struct openchangedb_context * | oc_ctx | ) |
Referenced by emsmdbp_mailbox_provision().
| enum MAPISTATUS openchangedb_transaction_start | ( | struct openchangedb_context * | oc_ctx | ) |
Referenced by emsmdbp_mailbox_provision().
|
static |
Represents the NSPI Protocol in Permanent Entry IDs.
Referenced by emsabp_set_PermanentEntryID(), and entryid_set_AB_EntryID().
|
|
This content is licensed under the Creative Commons Attribution ShareAlike License v. 3.0: http://creativecommons.org/licenses/by-sa/3.0/ |