mpm_downgrade.c File Reference

Downgrade EMSMDB protocol version EcDoConnect/EcDoRpc. More...

#include "libmapi/libmapi.h"
#include "mapiproxy/dcesrv_mapiproxy.h"
#include "mapiproxy/dcesrv_mapiproxy_proto.h"
#include "mapiproxy/libmapiproxy/libmapiproxy.h"

Functions

static NTSTATUS downgrade_dispatch (struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, void *r, struct mapiproxy *mapiproxy)
 
static bool downgrade_EcDoConnect (struct dcesrv_call_state *dce_call, struct EcDoConnect *r)
 
NTSTATUS samba_init_module (void)
 

Detailed Description

Downgrade EMSMDB protocol version EcDoConnect/EcDoRpc.

Function Documentation

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

Returns the nca_op_rng_error DCERPC status code when Outlook sends an EcDoConnectEx requrest.

Parameters
dce_callpointer to the session context
mem_ctxpointer to the memory context
rgeneric pointer to EcDoConnectEx structure
mapiproxypointer to the mapiproxy structure
Returns
NT_STATUS_NET_WRITE_FAULT when EcDoConnectEx is detected, otherwise NT_STATUS_OK

Referenced by samba_init_module().

static bool downgrade_EcDoConnect ( struct dcesrv_call_state *  dce_call,
struct EcDoConnect *  r 
)
static

This function replaces the store_version short array returned by Exchange in EcDoConnect with a version matching Exchange 2000. Otherwise Outlook tries to upgrade indefinitely.

Parameters
dce_callpointer to the session context
rpointer to the EcDoConnect structure
Returns
true on success
NTSTATUS samba_init_module ( void  )

Entry point for the downgrade mapiproxy module

Returns
NT_STATUS_OK on success, otherwise NTSTATUS error

References downgrade_dispatch().


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/