Module: wine
Branch: master
Commit: 929e4eb1688b655505c6a1158420e21cccc4daf7
URL: https://gitlab.winehq.org/wine/wine/-/commit/929e4eb1688b655505c6a1158420e2…
Author: Alex Henrie <alexhenrie24(a)gmail.com>
Date: Fri Aug 18 20:14:12 2023 -0600
wldap32: Report success when turning off LDAP_OPT_(ENCRYPT|ROOTDSE_CACHE|SIGN).
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55459
---
dlls/wldap32/option.c | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)
diff --git a/dlls/wldap32/option.c b/dlls/wldap32/option.c
index 99c1fd0378d..cc416389276 100644
--- a/dlls/wldap32/option.c
+++ b/dlls/wldap32/option.c
@@ -309,11 +309,14 @@ ULONG CDECL ldap_set_optionA( LDAP *ld, int option, void *value )
case WLDAP32_LDAP_OPT_AUTO_RECONNECT:
case WLDAP32_LDAP_OPT_DEREF:
case WLDAP32_LDAP_OPT_DESC:
+ case WLDAP32_LDAP_OPT_ENCRYPT:
case WLDAP32_LDAP_OPT_ERROR_NUMBER:
case WLDAP32_LDAP_OPT_PROTOCOL_VERSION:
case WLDAP32_LDAP_OPT_REFERRALS:
case WLDAP32_LDAP_OPT_REFERRAL_HOP_LIMIT:
+ case WLDAP32_LDAP_OPT_ROOTDSE_CACHE:
case WLDAP32_LDAP_OPT_SERVER_CERTIFICATE:
+ case WLDAP32_LDAP_OPT_SIGN:
case WLDAP32_LDAP_OPT_SIZELIMIT:
case WLDAP32_LDAP_OPT_SSL:
case WLDAP32_LDAP_OPT_TIMELIMIT:
@@ -336,7 +339,6 @@ ULONG CDECL ldap_set_optionA( LDAP *ld, int option, void *value )
case WLDAP32_LDAP_OPT_AREC_EXCLUSIVE:
case WLDAP32_LDAP_OPT_CLIENT_CERTIFICATE:
case WLDAP32_LDAP_OPT_DNSDOMAIN_NAME:
- case WLDAP32_LDAP_OPT_ENCRYPT:
case WLDAP32_LDAP_OPT_ERROR_STRING:
case WLDAP32_LDAP_OPT_FAST_CONCURRENT_BIND:
case WLDAP32_LDAP_OPT_GETDSNAME_FLAGS:
@@ -348,13 +350,11 @@ ULONG CDECL ldap_set_optionA( LDAP *ld, int option, void *value )
case WLDAP32_LDAP_OPT_PROMPT_CREDENTIALS:
case WLDAP32_LDAP_OPT_REF_DEREF_CONN_PER_MSG:
case WLDAP32_LDAP_OPT_REFERRAL_CALLBACK:
- case WLDAP32_LDAP_OPT_ROOTDSE_CACHE:
case WLDAP32_LDAP_OPT_SASL_METHOD:
case WLDAP32_LDAP_OPT_SECURITY_CONTEXT:
case WLDAP32_LDAP_OPT_SEND_TIMEOUT:
case WLDAP32_LDAP_OPT_SERVER_ERROR:
case WLDAP32_LDAP_OPT_SERVER_EXT_ERROR:
- case WLDAP32_LDAP_OPT_SIGN:
case WLDAP32_LDAP_OPT_SSL_INFO:
case WLDAP32_LDAP_OPT_SSPI_FLAGS:
case WLDAP32_LDAP_OPT_TCP_KEEPALIVE:
@@ -554,10 +554,15 @@ ULONG CDECL ldap_set_optionW( LDAP *ld, int option, void *value )
case WLDAP32_LDAP_OPT_API_INFO:
return WLDAP32_LDAP_UNWILLING_TO_PERFORM;
+ case WLDAP32_LDAP_OPT_ENCRYPT:
+ case WLDAP32_LDAP_OPT_ROOTDSE_CACHE:
+ case WLDAP32_LDAP_OPT_SIGN:
+ if (value == WLDAP32_LDAP_OPT_OFF || (value != WLDAP32_LDAP_OPT_ON && *(ULONG *)value == 0))
+ return WLDAP32_LDAP_SUCCESS;
+ /* fall through */
case WLDAP32_LDAP_OPT_AREC_EXCLUSIVE:
case WLDAP32_LDAP_OPT_CLIENT_CERTIFICATE:
case WLDAP32_LDAP_OPT_DNSDOMAIN_NAME:
- case WLDAP32_LDAP_OPT_ENCRYPT:
case WLDAP32_LDAP_OPT_ERROR_STRING:
case WLDAP32_LDAP_OPT_FAST_CONCURRENT_BIND:
case WLDAP32_LDAP_OPT_GETDSNAME_FLAGS:
@@ -569,13 +574,11 @@ ULONG CDECL ldap_set_optionW( LDAP *ld, int option, void *value )
case WLDAP32_LDAP_OPT_PROMPT_CREDENTIALS:
case WLDAP32_LDAP_OPT_REF_DEREF_CONN_PER_MSG:
case WLDAP32_LDAP_OPT_REFERRAL_CALLBACK:
- case WLDAP32_LDAP_OPT_ROOTDSE_CACHE:
case WLDAP32_LDAP_OPT_SASL_METHOD:
case WLDAP32_LDAP_OPT_SECURITY_CONTEXT:
case WLDAP32_LDAP_OPT_SEND_TIMEOUT:
case WLDAP32_LDAP_OPT_SERVER_ERROR:
case WLDAP32_LDAP_OPT_SERVER_EXT_ERROR:
- case WLDAP32_LDAP_OPT_SIGN:
case WLDAP32_LDAP_OPT_SSL_INFO:
case WLDAP32_LDAP_OPT_SSPI_FLAGS:
case WLDAP32_LDAP_OPT_TCP_KEEPALIVE: