You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
559 lines
8.8 KiB
559 lines
8.8 KiB
|
|
#include "dspch.h"
|
|
#pragma hdrstop
|
|
|
|
#define _WINLDAP_
|
|
#define LDAP_UNICODE 0
|
|
#include <winldap.h>
|
|
|
|
static
|
|
WINLDAPAPI
|
|
ULONG LDAPAPI
|
|
ldap_unbind(
|
|
LDAP *ld
|
|
)
|
|
{
|
|
return LDAP_NO_MEMORY;
|
|
}
|
|
|
|
static
|
|
WINLDAPAPI
|
|
ULONG LDAPAPI
|
|
ldap_unbind_s(
|
|
LDAP *ld
|
|
)
|
|
{
|
|
return LDAP_NO_MEMORY;
|
|
}
|
|
|
|
static
|
|
WINLDAPAPI
|
|
ULONG LDAPAPI
|
|
LdapMapErrorToWin32(
|
|
ULONG LdapError
|
|
)
|
|
{
|
|
return ERROR_PROC_NOT_FOUND;
|
|
}
|
|
|
|
static
|
|
WINLDAPAPI
|
|
ULONG LDAPAPI
|
|
LdapGetLastError(
|
|
VOID
|
|
)
|
|
{
|
|
return ERROR_PROC_NOT_FOUND;
|
|
}
|
|
|
|
static
|
|
WINLDAPAPI
|
|
LDAPMessage *LDAPAPI
|
|
ldap_first_entry(
|
|
LDAP *ld,
|
|
LDAPMessage *res
|
|
)
|
|
{
|
|
return NULL;
|
|
}
|
|
|
|
static
|
|
WINLDAPAPI
|
|
LDAPMessage *LDAPAPI
|
|
ldap_next_entry(
|
|
LDAP *ld,
|
|
LDAPMessage *entry
|
|
)
|
|
{
|
|
return NULL;
|
|
}
|
|
|
|
static
|
|
WINLDAPAPI
|
|
ULONG LDAPAPI
|
|
ldap_count_entries(
|
|
LDAP *ld,
|
|
LDAPMessage *res
|
|
)
|
|
{
|
|
return -1;
|
|
}
|
|
|
|
static
|
|
WINLDAPAPI
|
|
ULONG LDAPAPI
|
|
ldap_result(
|
|
LDAP *ld,
|
|
ULONG msgid,
|
|
ULONG all,
|
|
struct l_timeval *timeout,
|
|
LDAPMessage **res
|
|
)
|
|
{
|
|
return -1;
|
|
}
|
|
|
|
static
|
|
WINLDAPAPI
|
|
ULONG LDAPAPI
|
|
ldap_msgfree(
|
|
LDAPMessage *res
|
|
)
|
|
{
|
|
return LDAP_NO_MEMORY;
|
|
}
|
|
|
|
static
|
|
WINLDAPAPI
|
|
ULONG LDAPAPI
|
|
ldap_bind_s(
|
|
LDAP *ld,
|
|
const PCHAR dn,
|
|
const PCHAR cred,
|
|
ULONG method
|
|
)
|
|
{
|
|
return LDAP_NO_MEMORY;
|
|
}
|
|
|
|
static
|
|
WINLDAPAPI
|
|
LDAP * LDAPAPI
|
|
cldap_openA(
|
|
PCHAR HostName,
|
|
ULONG PortNumber
|
|
)
|
|
{
|
|
return NULL;
|
|
}
|
|
|
|
static
|
|
WINLDAPAPI
|
|
ULONG LDAPAPI
|
|
ldap_add_sW(
|
|
LDAP *ld,
|
|
PWCHAR dn,
|
|
LDAPModW *attrs[]
|
|
)
|
|
{
|
|
return LDAP_NO_MEMORY;
|
|
}
|
|
|
|
static
|
|
WINLDAPAPI
|
|
ULONG LDAPAPI
|
|
ldap_add_ext_sW(
|
|
LDAP *ld,
|
|
const PWCHAR dn,
|
|
LDAPModW *attrs[],
|
|
PLDAPControlW *ServerControls,
|
|
PLDAPControlW *ClientControls
|
|
)
|
|
{
|
|
return LDAP_NO_MEMORY;
|
|
}
|
|
|
|
static
|
|
WINLDAPAPI
|
|
ULONG LDAPAPI
|
|
ldap_bind_sW(
|
|
LDAP *ld,
|
|
PWCHAR dn,
|
|
PWCHAR cred,
|
|
ULONG method
|
|
)
|
|
{
|
|
return LDAP_NO_MEMORY;
|
|
}
|
|
|
|
static
|
|
WINLDAPAPI
|
|
ULONG LDAPAPI
|
|
ldap_count_values_len(
|
|
struct berval **vals
|
|
)
|
|
{
|
|
return -1;
|
|
}
|
|
|
|
static
|
|
WINLDAPAPI
|
|
ULONG LDAPAPI
|
|
ldap_value_free_len(
|
|
struct berval **vals
|
|
)
|
|
{
|
|
return LDAP_NO_MEMORY;
|
|
}
|
|
|
|
static
|
|
WINLDAPAPI
|
|
ULONG LDAPAPI
|
|
ldap_compare_sW(
|
|
LDAP *ld,
|
|
const PWCHAR dn,
|
|
const PWCHAR attr,
|
|
PWCHAR value
|
|
)
|
|
{
|
|
return LDAP_NO_MEMORY;
|
|
}
|
|
|
|
static
|
|
WINLDAPAPI
|
|
ULONG LDAPAPI
|
|
ldap_count_valuesW(
|
|
PWCHAR *vals
|
|
)
|
|
{
|
|
return -1;
|
|
}
|
|
|
|
static
|
|
WINLDAPAPI
|
|
ULONG LDAPAPI
|
|
ldap_delete_sW(
|
|
LDAP *ld,
|
|
const PWCHAR dn
|
|
)
|
|
{
|
|
return LDAP_NO_MEMORY;
|
|
}
|
|
|
|
static
|
|
WINLDAPAPI
|
|
ULONG LDAPAPI
|
|
ldap_delete_ext_sW(
|
|
LDAP *ld,
|
|
const PWCHAR dn,
|
|
PLDAPControlW *ServerControls,
|
|
PLDAPControlW *ClientControls
|
|
)
|
|
{
|
|
return LDAP_NO_MEMORY;
|
|
}
|
|
|
|
static
|
|
WINLDAPAPI
|
|
ULONG LDAPAPI
|
|
ldap_escape_filter_elementA(
|
|
PCHAR sourceFilterElement,
|
|
ULONG sourceLength,
|
|
PCHAR destFilterElement,
|
|
ULONG destLength
|
|
)
|
|
{
|
|
return LDAP_NO_MEMORY;
|
|
}
|
|
|
|
static
|
|
PWCHAR __cdecl
|
|
ldap_get_dnW (
|
|
LDAP *ExternalHandle,
|
|
LDAPMessage *LdapMsg
|
|
)
|
|
{
|
|
return NULL;
|
|
}
|
|
|
|
static
|
|
WINLDAPAPI
|
|
ULONG LDAPAPI
|
|
ldap_get_next_page_s(
|
|
PLDAP ExternalHandle,
|
|
PLDAPSearch SearchHandle,
|
|
struct l_timeval *timeout,
|
|
ULONG PageSize,
|
|
ULONG *TotalCount,
|
|
LDAPMessage **Results
|
|
)
|
|
{
|
|
return LDAP_NO_MEMORY;
|
|
}
|
|
|
|
|
|
static
|
|
WINLDAPAPI
|
|
PWCHAR *LDAPAPI
|
|
ldap_get_valuesW(
|
|
LDAP *ld,
|
|
LDAPMessage *entry,
|
|
const PWCHAR attr
|
|
)
|
|
{
|
|
return NULL;
|
|
}
|
|
|
|
static
|
|
WINLDAPAPI
|
|
struct berval **LDAPAPI
|
|
ldap_get_values_lenA(
|
|
LDAP *ExternalHandle,
|
|
LDAPMessage *Message,
|
|
const PCHAR attr
|
|
)
|
|
{
|
|
return NULL;
|
|
}
|
|
|
|
static
|
|
WINLDAPAPI
|
|
struct berval **LDAPAPI
|
|
ldap_get_values_lenW(
|
|
LDAP *ExternalHandle,
|
|
LDAPMessage *Message,
|
|
const PWCHAR attr
|
|
)
|
|
{
|
|
return NULL;
|
|
}
|
|
|
|
static
|
|
WINLDAPAPI
|
|
ULONG LDAPAPI
|
|
ldap_modify_ext_sW(
|
|
LDAP *ld,
|
|
const PWCHAR dn,
|
|
LDAPModW *mods[],
|
|
PLDAPControlW *ServerControls,
|
|
PLDAPControlW *ClientControls
|
|
)
|
|
{
|
|
return LDAP_NO_MEMORY;
|
|
}
|
|
|
|
static
|
|
WINLDAPAPI
|
|
ULONG LDAPAPI
|
|
ldap_modify_sW(
|
|
LDAP *ld,
|
|
PWCHAR dn,
|
|
LDAPModW *mods[]
|
|
)
|
|
{
|
|
return LDAP_NO_MEMORY;
|
|
}
|
|
|
|
static
|
|
WINLDAPAPI
|
|
LDAP * LDAPAPI
|
|
ldap_openW(
|
|
const PWCHAR HostName,
|
|
ULONG PortNumber
|
|
)
|
|
{
|
|
return NULL;
|
|
}
|
|
|
|
static
|
|
WINLDAPAPI
|
|
ULONG LDAPAPI
|
|
ldap_rename_ext_sW(
|
|
LDAP *ld,
|
|
const PWCHAR dn,
|
|
const PWCHAR NewRDN,
|
|
const PWCHAR NewParent,
|
|
INT DeleteOldRdn,
|
|
PLDAPControlW *ServerControls,
|
|
PLDAPControlW *ClientControls
|
|
)
|
|
{
|
|
return LDAP_NO_MEMORY;
|
|
}
|
|
|
|
static
|
|
WINLDAPAPI
|
|
ULONG LDAPAPI
|
|
ldap_searchA(
|
|
LDAP *ld,
|
|
const PCHAR base,
|
|
ULONG scope,
|
|
const PCHAR filter,
|
|
PCHAR attrs[],
|
|
ULONG attrsonly
|
|
)
|
|
{
|
|
return -1;
|
|
}
|
|
|
|
static
|
|
WINLDAPAPI
|
|
ULONG LDAPAPI
|
|
ldap_search_ext_sW(
|
|
LDAP *ld,
|
|
const PWCHAR base,
|
|
ULONG scope,
|
|
const PWCHAR filter,
|
|
PWCHAR attrs[],
|
|
ULONG attrsonly,
|
|
PLDAPControlW *ServerControls,
|
|
PLDAPControlW *ClientControls,
|
|
struct l_timeval *timeout,
|
|
ULONG SizeLimit,
|
|
LDAPMessage **res
|
|
)
|
|
{
|
|
return LDAP_NO_MEMORY;
|
|
}
|
|
|
|
static
|
|
WINLDAPAPI
|
|
ULONG LDAPAPI
|
|
ldap_search_sW(
|
|
LDAP *ld,
|
|
const PWCHAR base,
|
|
ULONG scope,
|
|
const PWCHAR filter,
|
|
PWCHAR attrs[],
|
|
ULONG attrsonly,
|
|
LDAPMessage **res
|
|
)
|
|
{
|
|
*res = NULL;
|
|
return LDAP_NO_MEMORY;
|
|
}
|
|
|
|
static
|
|
WINLDAPAPI
|
|
ULONG LDAPAPI
|
|
ldap_value_freeW(
|
|
PWCHAR *vals
|
|
)
|
|
{
|
|
return LDAP_NO_MEMORY;
|
|
}
|
|
|
|
static
|
|
WINLDAPAPI
|
|
PCHAR LDAPAPI
|
|
ldap_err2stringA(
|
|
ULONG err
|
|
)
|
|
{
|
|
return NULL;
|
|
}
|
|
|
|
static
|
|
WINLDAPAPI
|
|
ULONG LDAPAPI
|
|
ldap_set_optionW(
|
|
LDAP *ld,
|
|
int option,
|
|
const void *invalue
|
|
)
|
|
{
|
|
return LDAP_NO_MEMORY;
|
|
}
|
|
|
|
static
|
|
VOID __cdecl
|
|
ldap_memfreeW(
|
|
PWCHAR Block
|
|
)
|
|
{
|
|
return;
|
|
}
|
|
|
|
static
|
|
WINLDAPAPI
|
|
ULONG LDAPAPI
|
|
ldap_search_abandon_page(
|
|
PLDAP ExternalHandle,
|
|
PLDAPSearch SearchBlock
|
|
)
|
|
{
|
|
return LDAP_NO_MEMORY;
|
|
}
|
|
|
|
WINLDAPAPI
|
|
PLDAPSearch LDAPAPI
|
|
ldap_search_init_pageW(
|
|
PLDAP ExternalHandle,
|
|
const PWCHAR DistinguishedName,
|
|
ULONG ScopeOfSearch,
|
|
const PWCHAR SearchFilter,
|
|
PWCHAR AttributeList[],
|
|
ULONG AttributesOnly,
|
|
PLDAPControlW *ServerControls,
|
|
PLDAPControlW *ClientControls,
|
|
ULONG PageTimeLimit,
|
|
ULONG TotalSizeLimit,
|
|
PLDAPSortKeyW *SortKeys
|
|
)
|
|
{
|
|
return NULL;
|
|
}
|
|
|
|
static
|
|
WINLDAPAPI
|
|
LDAP* LDAPAPI
|
|
ldap_initW(
|
|
const PWCHAR HostName,
|
|
ULONG PortNumber
|
|
)
|
|
{
|
|
return NULL;
|
|
}
|
|
|
|
static
|
|
WINLDAPAPI
|
|
ULONG LDAPAPI
|
|
ldap_get_optionW(
|
|
LDAP *ld,
|
|
int option,
|
|
void *outvalue
|
|
)
|
|
{
|
|
return LDAP_NO_MEMORY;
|
|
}
|
|
|
|
//
|
|
// !! WARNING !! The entries below must be in order by ORDINAL
|
|
//
|
|
|
|
DEFINE_ORDINAL_ENTRIES(wldap32)
|
|
{
|
|
DLOENTRY(12,ldap_get_optionW)
|
|
DLOENTRY(13,ldap_unbind)
|
|
DLOENTRY(14,ldap_set_optionW)
|
|
DLOENTRY(16,LdapGetLastError)
|
|
DLOENTRY(18,LdapMapErrorToWin32)
|
|
DLOENTRY(26,ldap_first_entry)
|
|
DLOENTRY(27,ldap_next_entry)
|
|
DLOENTRY(36,ldap_count_entries)
|
|
DLOENTRY(40,ldap_result)
|
|
DLOENTRY(41,ldap_msgfree)
|
|
DLOENTRY(45,ldap_bind_s)
|
|
DLOENTRY(46,ldap_unbind_s)
|
|
DLOENTRY(55,cldap_openA)
|
|
DLOENTRY(65,ldap_add_ext_sW)
|
|
DLOENTRY(69,ldap_add_sW)
|
|
DLOENTRY(73,ldap_bind_sW)
|
|
DLOENTRY(77,ldap_count_values_len)
|
|
DLOENTRY(79,ldap_value_free_len)
|
|
DLOENTRY(87,ldap_compare_sW)
|
|
DLOENTRY(97,ldap_count_valuesW)
|
|
DLOENTRY(111,ldap_delete_ext_sW)
|
|
DLOENTRY(113,ldap_delete_sW)
|
|
DLOENTRY(117,ldap_err2stringA)
|
|
DLOENTRY(119,ldap_escape_filter_elementA)
|
|
DLOENTRY(133,ldap_get_dnW)
|
|
DLOENTRY(135,ldap_get_next_page_s)
|
|
DLOENTRY(140,ldap_get_valuesW)
|
|
DLOENTRY(141,ldap_get_values_lenA)
|
|
DLOENTRY(142,ldap_get_values_lenW)
|
|
DLOENTRY(145,ldap_initW)
|
|
DLOENTRY(147,ldap_memfreeW)
|
|
DLOENTRY(155,ldap_modify_ext_sW)
|
|
DLOENTRY(157,ldap_modify_sW)
|
|
DLOENTRY(170,ldap_openW)
|
|
DLOENTRY(188,ldap_rename_ext_sW)
|
|
DLOENTRY(189,ldap_searchA)
|
|
DLOENTRY(191,ldap_search_abandon_page)
|
|
DLOENTRY(203,ldap_search_ext_sW)
|
|
DLOENTRY(206,ldap_search_init_pageW)
|
|
DLOENTRY(208,ldap_search_sW)
|
|
DLOENTRY(224,ldap_value_freeW)
|
|
};
|
|
|
|
DEFINE_ORDINAL_MAP(wldap32)
|