Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
45e671e2
Commit
45e671e2
authored
Aug 09, 2005
by
Hans Leidekker
Committed by
Alexandre Julliard
Aug 09, 2005
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Implement ldap_{get,set}_option{A,W}.
parent
88a8ff02
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
340 additions
and
0 deletions
+340
-0
Makefile.in
dlls/wldap32/Makefile.in
+1
-0
option.c
dlls/wldap32/option.c
+333
-0
wldap32.spec
dlls/wldap32/wldap32.spec
+6
-0
No files found.
dlls/wldap32/Makefile.in
View file @
45e671e2
...
...
@@ -16,6 +16,7 @@ C_SRCS = \
init.c
\
main.c
\
misc.c
\
option.c
\
search.c
RC_SRCS
=
wldap32.rc
...
...
dlls/wldap32/option.c
0 → 100644
View file @
45e671e2
/*
* WLDAP32 - LDAP support for Wine
*
* Copyright 2005 Hans Leidekker
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#include "config.h"
#include "wine/port.h"
#include "wine/debug.h"
#include <stdarg.h>
#include "windef.h"
#include "winbase.h"
#include "winnls.h"
#ifdef HAVE_LDAP_H
#include <ldap.h>
#else
#define LDAP_NOT_SUPPORTED 0x5c
#endif
#include "winldap_private.h"
#include "wldap32.h"
WINE_DEFAULT_DEBUG_CHANNEL
(
wldap32
);
ULONG
ldap_get_optionA
(
WLDAP32_LDAP
*
ld
,
int
option
,
void
*
value
)
{
ULONG
ret
=
LDAP_NOT_SUPPORTED
;
#ifdef HAVE_LDAP
TRACE
(
"(%p, 0x%08x, %p)
\n
"
,
ld
,
option
,
value
);
if
(
!
ld
||
!
value
)
return
WLDAP32_LDAP_PARAM_ERROR
;
switch
(
option
)
{
case
LDAP_OPT_DEREF
:
case
LDAP_OPT_DESC
:
case
LDAP_OPT_ERROR_NUMBER
:
case
LDAP_OPT_PROTOCOL_VERSION
:
case
LDAP_OPT_REFERRALS
:
case
LDAP_OPT_SIZELIMIT
:
case
LDAP_OPT_TIMELIMIT
:
return
ldap_get_optionW
(
ld
,
option
,
value
);
case
LDAP_OPT_CACHE_ENABLE
:
case
LDAP_OPT_CACHE_FN_PTRS
:
case
LDAP_OPT_CACHE_STRATEGY
:
case
LDAP_OPT_IO_FN_PTRS
:
case
LDAP_OPT_REBIND_ARG
:
case
LDAP_OPT_REBIND_FN
:
case
LDAP_OPT_RESTART
:
case
LDAP_OPT_THREAD_FN_PTRS
:
return
LDAP_LOCAL_ERROR
;
case
LDAP_OPT_API_FEATURE_INFO
:
case
LDAP_OPT_API_INFO
:
case
LDAP_OPT_AREC_EXCLUSIVE
:
case
LDAP_OPT_AUTO_RECONNECT
:
case
LDAP_OPT_CLIENT_CERTIFICATE
:
case
LDAP_OPT_DNSDOMAIN_NAME
:
case
LDAP_OPT_ENCRYPT
:
case
LDAP_OPT_ERROR_STRING
:
case
LDAP_OPT_FAST_CONCURRENT_BIND
:
case
LDAP_OPT_GETDSNAME_FLAGS
:
case
LDAP_OPT_HOST_NAME
:
case
LDAP_OPT_HOST_REACHABLE
:
case
LDAP_OPT_PING_KEEP_ALIVE
:
case
LDAP_OPT_PING_LIMIT
:
case
LDAP_OPT_PING_WAIT_TIME
:
case
LDAP_OPT_PROMPT_CREDENTIALS
:
case
LDAP_OPT_REF_DEREF_CONN_PER_MSG
:
case
LDAP_OPT_REFERRAL_CALLBACK
:
case
LDAP_OPT_REFERRAL_HOP_LIMIT
:
case
LDAP_OPT_ROOTDSE_CACHE
:
case
LDAP_OPT_SASL_METHOD
:
case
LDAP_OPT_SECURITY_CONTEXT
:
case
LDAP_OPT_SEND_TIMEOUT
:
case
LDAP_OPT_SERVER_CERTIFICATE
:
case
LDAP_OPT_SERVER_ERROR
:
case
LDAP_OPT_SERVER_EXT_ERROR
:
case
LDAP_OPT_SIGN
:
case
LDAP_OPT_SSL
:
case
LDAP_OPT_SSL_INFO
:
case
LDAP_OPT_SSPI_FLAGS
:
case
LDAP_OPT_TCP_KEEPALIVE
:
FIXME
(
"Unsupported option: 0x%02x
\n
"
,
option
);
return
LDAP_NOT_SUPPORTED
;
default:
FIXME
(
"Unknown option: 0x%02x
\n
"
,
option
);
return
LDAP_LOCAL_ERROR
;
}
#endif
return
ret
;
}
ULONG
ldap_get_optionW
(
WLDAP32_LDAP
*
ld
,
int
option
,
void
*
value
)
{
ULONG
ret
=
LDAP_NOT_SUPPORTED
;
#ifdef HAVE_LDAP
TRACE
(
"(%p, 0x%08x, %p)
\n
"
,
ld
,
option
,
value
);
if
(
!
ld
||
!
value
)
return
WLDAP32_LDAP_PARAM_ERROR
;
switch
(
option
)
{
case
LDAP_OPT_DEREF
:
case
LDAP_OPT_DESC
:
case
LDAP_OPT_ERROR_NUMBER
:
case
LDAP_OPT_PROTOCOL_VERSION
:
case
LDAP_OPT_REFERRALS
:
case
LDAP_OPT_SIZELIMIT
:
case
LDAP_OPT_TIMELIMIT
:
return
ldap_get_option
(
ld
,
option
,
value
);
case
LDAP_OPT_CACHE_ENABLE
:
case
LDAP_OPT_CACHE_FN_PTRS
:
case
LDAP_OPT_CACHE_STRATEGY
:
case
LDAP_OPT_IO_FN_PTRS
:
case
LDAP_OPT_REBIND_ARG
:
case
LDAP_OPT_REBIND_FN
:
case
LDAP_OPT_RESTART
:
case
LDAP_OPT_THREAD_FN_PTRS
:
return
LDAP_LOCAL_ERROR
;
case
LDAP_OPT_API_FEATURE_INFO
:
case
LDAP_OPT_API_INFO
:
case
LDAP_OPT_AREC_EXCLUSIVE
:
case
LDAP_OPT_AUTO_RECONNECT
:
case
LDAP_OPT_CLIENT_CERTIFICATE
:
case
LDAP_OPT_DNSDOMAIN_NAME
:
case
LDAP_OPT_ENCRYPT
:
case
LDAP_OPT_ERROR_STRING
:
case
LDAP_OPT_FAST_CONCURRENT_BIND
:
case
LDAP_OPT_GETDSNAME_FLAGS
:
case
LDAP_OPT_HOST_NAME
:
case
LDAP_OPT_HOST_REACHABLE
:
case
LDAP_OPT_PING_KEEP_ALIVE
:
case
LDAP_OPT_PING_LIMIT
:
case
LDAP_OPT_PING_WAIT_TIME
:
case
LDAP_OPT_PROMPT_CREDENTIALS
:
case
LDAP_OPT_REF_DEREF_CONN_PER_MSG
:
case
LDAP_OPT_REFERRAL_CALLBACK
:
case
LDAP_OPT_REFERRAL_HOP_LIMIT
:
case
LDAP_OPT_ROOTDSE_CACHE
:
case
LDAP_OPT_SASL_METHOD
:
case
LDAP_OPT_SECURITY_CONTEXT
:
case
LDAP_OPT_SEND_TIMEOUT
:
case
LDAP_OPT_SERVER_CERTIFICATE
:
case
LDAP_OPT_SERVER_ERROR
:
case
LDAP_OPT_SERVER_EXT_ERROR
:
case
LDAP_OPT_SIGN
:
case
LDAP_OPT_SSL
:
case
LDAP_OPT_SSL_INFO
:
case
LDAP_OPT_SSPI_FLAGS
:
case
LDAP_OPT_TCP_KEEPALIVE
:
FIXME
(
"Unsupported option: 0x%02x
\n
"
,
option
);
return
LDAP_NOT_SUPPORTED
;
default:
FIXME
(
"Unknown option: 0x%02x
\n
"
,
option
);
return
LDAP_LOCAL_ERROR
;
}
#endif
return
ret
;
}
ULONG
ldap_set_optionA
(
WLDAP32_LDAP
*
ld
,
int
option
,
void
*
value
)
{
ULONG
ret
=
LDAP_NOT_SUPPORTED
;
#ifdef HAVE_LDAP
TRACE
(
"(%p, 0x%08x, %p)
\n
"
,
ld
,
option
,
value
);
if
(
!
ld
||
!
value
)
return
WLDAP32_LDAP_PARAM_ERROR
;
switch
(
option
)
{
case
LDAP_OPT_DEREF
:
case
LDAP_OPT_DESC
:
case
LDAP_OPT_ERROR_NUMBER
:
case
LDAP_OPT_PROTOCOL_VERSION
:
case
LDAP_OPT_REFERRALS
:
case
LDAP_OPT_SIZELIMIT
:
case
LDAP_OPT_TIMELIMIT
:
return
ldap_set_optionW
(
ld
,
option
,
value
);
case
LDAP_OPT_CACHE_ENABLE
:
case
LDAP_OPT_CACHE_FN_PTRS
:
case
LDAP_OPT_CACHE_STRATEGY
:
case
LDAP_OPT_IO_FN_PTRS
:
case
LDAP_OPT_REBIND_ARG
:
case
LDAP_OPT_REBIND_FN
:
case
LDAP_OPT_RESTART
:
case
LDAP_OPT_THREAD_FN_PTRS
:
return
LDAP_LOCAL_ERROR
;
case
LDAP_OPT_API_FEATURE_INFO
:
case
LDAP_OPT_API_INFO
:
case
LDAP_OPT_AREC_EXCLUSIVE
:
case
LDAP_OPT_AUTO_RECONNECT
:
case
LDAP_OPT_CLIENT_CERTIFICATE
:
case
LDAP_OPT_DNSDOMAIN_NAME
:
case
LDAP_OPT_ENCRYPT
:
case
LDAP_OPT_ERROR_STRING
:
case
LDAP_OPT_FAST_CONCURRENT_BIND
:
case
LDAP_OPT_GETDSNAME_FLAGS
:
case
LDAP_OPT_HOST_NAME
:
case
LDAP_OPT_HOST_REACHABLE
:
case
LDAP_OPT_PING_KEEP_ALIVE
:
case
LDAP_OPT_PING_LIMIT
:
case
LDAP_OPT_PING_WAIT_TIME
:
case
LDAP_OPT_PROMPT_CREDENTIALS
:
case
LDAP_OPT_REF_DEREF_CONN_PER_MSG
:
case
LDAP_OPT_REFERRAL_CALLBACK
:
case
LDAP_OPT_REFERRAL_HOP_LIMIT
:
case
LDAP_OPT_ROOTDSE_CACHE
:
case
LDAP_OPT_SASL_METHOD
:
case
LDAP_OPT_SECURITY_CONTEXT
:
case
LDAP_OPT_SEND_TIMEOUT
:
case
LDAP_OPT_SERVER_CERTIFICATE
:
case
LDAP_OPT_SERVER_ERROR
:
case
LDAP_OPT_SERVER_EXT_ERROR
:
case
LDAP_OPT_SIGN
:
case
LDAP_OPT_SSL
:
case
LDAP_OPT_SSL_INFO
:
case
LDAP_OPT_SSPI_FLAGS
:
case
LDAP_OPT_TCP_KEEPALIVE
:
FIXME
(
"Unsupported option: 0x%02x
\n
"
,
option
);
return
LDAP_NOT_SUPPORTED
;
default:
FIXME
(
"Unknown option: 0x%02x
\n
"
,
option
);
return
LDAP_LOCAL_ERROR
;
}
#endif
return
ret
;
}
ULONG
ldap_set_optionW
(
WLDAP32_LDAP
*
ld
,
int
option
,
void
*
value
)
{
ULONG
ret
=
LDAP_NOT_SUPPORTED
;
#ifdef HAVE_LDAP
TRACE
(
"(%p, 0x%08x, %p)
\n
"
,
ld
,
option
,
value
);
if
(
!
ld
||
!
value
)
return
WLDAP32_LDAP_PARAM_ERROR
;
switch
(
option
)
{
case
LDAP_OPT_DEREF
:
case
LDAP_OPT_DESC
:
case
LDAP_OPT_ERROR_NUMBER
:
case
LDAP_OPT_PROTOCOL_VERSION
:
case
LDAP_OPT_REFERRALS
:
case
LDAP_OPT_SIZELIMIT
:
case
LDAP_OPT_TIMELIMIT
:
return
ldap_set_option
(
ld
,
option
,
value
);
case
LDAP_OPT_CACHE_ENABLE
:
case
LDAP_OPT_CACHE_FN_PTRS
:
case
LDAP_OPT_CACHE_STRATEGY
:
case
LDAP_OPT_IO_FN_PTRS
:
case
LDAP_OPT_REBIND_ARG
:
case
LDAP_OPT_REBIND_FN
:
case
LDAP_OPT_RESTART
:
case
LDAP_OPT_THREAD_FN_PTRS
:
return
LDAP_LOCAL_ERROR
;
case
LDAP_OPT_API_FEATURE_INFO
:
case
LDAP_OPT_API_INFO
:
case
LDAP_OPT_AREC_EXCLUSIVE
:
case
LDAP_OPT_AUTO_RECONNECT
:
case
LDAP_OPT_CLIENT_CERTIFICATE
:
case
LDAP_OPT_DNSDOMAIN_NAME
:
case
LDAP_OPT_ENCRYPT
:
case
LDAP_OPT_ERROR_STRING
:
case
LDAP_OPT_FAST_CONCURRENT_BIND
:
case
LDAP_OPT_GETDSNAME_FLAGS
:
case
LDAP_OPT_HOST_NAME
:
case
LDAP_OPT_HOST_REACHABLE
:
case
LDAP_OPT_PING_KEEP_ALIVE
:
case
LDAP_OPT_PING_LIMIT
:
case
LDAP_OPT_PING_WAIT_TIME
:
case
LDAP_OPT_PROMPT_CREDENTIALS
:
case
LDAP_OPT_REF_DEREF_CONN_PER_MSG
:
case
LDAP_OPT_REFERRAL_CALLBACK
:
case
LDAP_OPT_REFERRAL_HOP_LIMIT
:
case
LDAP_OPT_ROOTDSE_CACHE
:
case
LDAP_OPT_SASL_METHOD
:
case
LDAP_OPT_SECURITY_CONTEXT
:
case
LDAP_OPT_SEND_TIMEOUT
:
case
LDAP_OPT_SERVER_CERTIFICATE
:
case
LDAP_OPT_SERVER_ERROR
:
case
LDAP_OPT_SERVER_EXT_ERROR
:
case
LDAP_OPT_SIGN
:
case
LDAP_OPT_SSL
:
case
LDAP_OPT_SSL_INFO
:
case
LDAP_OPT_SSPI_FLAGS
:
case
LDAP_OPT_TCP_KEEPALIVE
:
FIXME
(
"Unsupported option: 0x%02x
\n
"
,
option
);
return
LDAP_NOT_SUPPORTED
;
default:
FIXME
(
"Unknown option: 0x%02x
\n
"
,
option
);
return
LDAP_LOCAL_ERROR
;
}
#endif
return
ret
;
}
dlls/wldap32/wldap32.spec
View file @
45e671e2
...
...
@@ -45,6 +45,9 @@
@ cdecl ldap_get_dn(ptr ptr) ldap_get_dnA
@ cdecl ldap_get_dnA(ptr ptr)
@ cdecl ldap_get_dnW(ptr ptr)
@ cdecl ldap_get_option(ptr long ptr) ldap_get_optionA
@ cdecl ldap_get_optionA(ptr long ptr)
@ cdecl ldap_get_optionW(ptr long ptr)
@ cdecl ldap_init(str long) ldap_initA
@ cdecl ldap_initA(str long)
@ cdecl ldap_initW(wstr long)
...
...
@@ -75,6 +78,9 @@
@ cdecl ldap_search_st(ptr str long str ptr long ptr ptr) ldap_search_stA
@ cdecl ldap_search_stA(ptr str long str ptr long ptr ptr)
@ cdecl ldap_search_stW(ptr wstr long wstr ptr long ptr ptr)
@ cdecl ldap_set_option(ptr long ptr) ldap_set_optionA
@ cdecl ldap_set_optionA(ptr long ptr)
@ cdecl ldap_set_optionW(ptr long ptr)
@ cdecl ldap_simple_bind(ptr str str) ldap_simple_bindA
@ cdecl ldap_simple_bindA(ptr str str)
@ cdecl ldap_simple_bindW(ptr wstr wstr)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment