mpm_pack.c File Reference

Pack/Unpack specified MAPI calls into/from a custom MAPI call. More...

#include "mapiproxy/dcesrv_mapiproxy.h"
#include "mapiproxy/libmapiproxy/libmapiproxy.h"
#include <util/debug.h>

Functions

static bool pack (TALLOC_CTX *mem_ctx, struct EcDoRpc *EcDoRpc)
 
static NTSTATUS pack_init (struct dcesrv_context *dce_ctx)
 
static NTSTATUS pack_pull (struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, void *r)
 
NTSTATUS samba_init_module (void)
 
static bool unpack (TALLOC_CTX *mem_ctx, struct EcDoRpc *EcDoRpc)
 

Detailed Description

Pack/Unpack specified MAPI calls into/from a custom MAPI call.

Function Documentation

static bool pack ( TALLOC_CTX *  mem_ctx,
struct EcDoRpc *  EcDoRpc 
)
static

pack EcDoRpc calls into proxypack

Referenced by pack_pull().

static NTSTATUS pack_init ( struct dcesrv_context *  dce_ctx)
static

Initialize the pack module and retrieve configuration from smb.conf.

Possible parameters: mpm_pack:opnums = 0x1, 0x2, 0x3 mpm_pack:lasthop = true|false

Referenced by samba_init_module().

static NTSTATUS pack_pull ( struct dcesrv_call_state *  dce_call,
TALLOC_CTX *  mem_ctx,
void *  r 
)
static

pack EcDoRpc MAPI requests

This function searches for MAPI opnums to pack in the requests, add this opnums to the mapiproxy opnum DATA blob and refactor the request to remove references to these calls in the original request.

References pack(), and unpack().

Referenced by samba_init_module().

NTSTATUS samba_init_module ( void  )

Entry point for the pack mapiproxy module

Returns
NT_STATUS_OK on success, otherwise NTSTATUS error

References pack_init(), and pack_pull().

static bool unpack ( TALLOC_CTX *  mem_ctx,
struct EcDoRpc *  EcDoRpc 
)
static

unpack proxypack contents and restore the original EcDoRpc request

Referenced by pack_pull().


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/