NSPI hook functions. More...
#include "mapiproxy/dcesrv_mapiproxy.h"
#include "mapiproxy/dcesrv_mapiproxy_proto.h"
#include "libmapi/mapidefs.h"
#include "libmapi/property_altnames.h"
Functions | |
bool | mapiproxy_NspiDNToMId (struct dcesrv_call_state *dce_call, struct NspiDNToMId *r) |
bool | mapiproxy_NspiGetProps (struct dcesrv_call_state *dce_call, struct NspiGetProps *r) |
bool | mapiproxy_NspiQueryRows (struct dcesrv_call_state *dce_call, struct NspiQueryRows *r) |
static char * | x500_get_servername (const char *dn) |
NSPI hook functions.
bool mapiproxy_NspiDNToMId | ( | struct dcesrv_call_state * | dce_call, |
struct NspiDNToMId * | r | ||
) |
This function looks if the server DN string in the request holds the mapiproxy netbios name and replaces it with the original Exchange server one fetched from NspiQueryRows or NspiGetProps.
dce_call | pointer to the session context |
r | pointer to the NspiDNToMId structure |
Referenced by mapiproxy_op_dispatch().
bool mapiproxy_NspiGetProps | ( | struct dcesrv_call_state * | dce_call, |
struct NspiGetProps * | r | ||
) |
This function replaces network address from the binding strings returned by Exchange for the PR_EMS_AB_NETWORK_ADDRESS property and limit the binding strings scope to ncacn_ip_tcp.
dce_call | pointer to the session context |
r | pointer to the NspiGetProps structure |
Referenced by mapiproxy_op_ndr_push().
bool mapiproxy_NspiQueryRows | ( | struct dcesrv_call_state * | dce_call, |
struct NspiQueryRows * | r | ||
) |
This function replaces the Exchange server name with mapiproxy netbios name for the PR_EMS_AB_HOME_MDB property and saves the original name in a global variable for further usage - such as mapiproxy_NspiDNToMId.
dce_call | pointer to the session context |
r | pointer to the NspiQueryRows structure |
References x500_get_servername().
Referenced by mapiproxy_op_ndr_push().
|
static |
Retrieve the servername from a DN string
dn | the DN string |
References SERVERNAME.
Referenced by mapiproxy_NspiQueryRows().
![]() ![]() ![]() |
This content is licensed under the Creative Commons Attribution ShareAlike License v. 3.0: http://creativecommons.org/licenses/by-sa/3.0/ |