Module: wine Branch: master Commit: 1219fa5806291a04f413cbfe5307428103ad6583 URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=1219fa5806291a04f413cbfe...
Author: Hans Leidekker hans@it.vu.nl Date: Wed Aug 16 12:53:21 2006 +0200
wldap32: Support setting server controls.
---
dlls/wldap32/option.c | 24 ++++++++++++++++++++++++ 1 files changed, 24 insertions(+), 0 deletions(-)
diff --git a/dlls/wldap32/option.c b/dlls/wldap32/option.c index d5206f5..d6cc36d 100644 --- a/dlls/wldap32/option.c +++ b/dlls/wldap32/option.c @@ -150,6 +150,7 @@ #ifdef HAVE_LDAP case LDAP_OPT_SECURITY_CONTEXT: case LDAP_OPT_SEND_TIMEOUT: case LDAP_OPT_SERVER_CERTIFICATE: + case LDAP_OPT_SERVER_CONTROLS: case LDAP_OPT_SERVER_ERROR: case LDAP_OPT_SERVER_EXT_ERROR: case LDAP_OPT_SIGN: @@ -288,6 +289,7 @@ #ifdef HAVE_LDAP case LDAP_OPT_SECURITY_CONTEXT: case LDAP_OPT_SEND_TIMEOUT: case LDAP_OPT_SERVER_CERTIFICATE: + case LDAP_OPT_SERVER_CONTROLS: case LDAP_OPT_SERVER_ERROR: case LDAP_OPT_SERVER_EXT_ERROR: case LDAP_OPT_SIGN: @@ -323,6 +325,17 @@ #ifdef HAVE_LDAP
switch (option) { + case LDAP_OPT_SERVER_CONTROLS: + { + LDAPControlW **ctrlsW; + + ctrlsW = controlarrayAtoW( (LDAPControlA **)value ); + if (!ctrlsW) return WLDAP32_LDAP_NO_MEMORY; + + ret = ldap_set_optionW( ld, option, ctrlsW ); + controlarrayfreeW( ctrlsW ); + return ret; + } case LDAP_OPT_DEREF: case LDAP_OPT_DESC: case LDAP_OPT_ERROR_NUMBER: @@ -415,6 +428,17 @@ #ifdef HAVE_LDAP
switch (option) { + case LDAP_OPT_SERVER_CONTROLS: + { + LDAPControl **ctrlsU; + + ctrlsU = controlarrayWtoU( (LDAPControlW **)value ); + if (!ctrlsU) return WLDAP32_LDAP_NO_MEMORY; + + ret = ldap_set_option( ld, option, ctrlsU ); + controlarrayfreeU( ctrlsU ); + return ret; + } case LDAP_OPT_DEREF: case LDAP_OPT_DESC: case LDAP_OPT_ERROR_NUMBER: