Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenoption.c
Go to the documentation of this file.
00001 /* 00002 * WLDAP32 - LDAP support for Wine 00003 * 00004 * Copyright 2005 Hans Leidekker 00005 * 00006 * This library is free software; you can redistribute it and/or 00007 * modify it under the terms of the GNU Lesser General Public 00008 * License as published by the Free Software Foundation; either 00009 * version 2.1 of the License, or (at your option) any later version. 00010 * 00011 * This library is distributed in the hope that it will be useful, 00012 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00014 * Lesser General Public License for more details. 00015 * 00016 * You should have received a copy of the GNU Lesser General Public 00017 * License along with this library; if not, write to the Free Software 00018 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 00019 */ 00020 00021 #include "config.h" 00022 00023 #include "wine/port.h" 00024 #include "wine/debug.h" 00025 00026 #include <stdarg.h> 00027 00028 #include "windef.h" 00029 #include "winbase.h" 00030 #include "winnls.h" 00031 00032 #ifdef HAVE_LDAP_H 00033 #include <ldap.h> 00034 #endif 00035 00036 #include "winldap_private.h" 00037 #include "wldap32.h" 00038 00039 WINE_DEFAULT_DEBUG_CHANNEL(wldap32); 00040 00041 /*********************************************************************** 00042 * ldap_get_optionA (WLDAP32.@) 00043 * 00044 * See ldap_get_optionW. 00045 */ 00046 ULONG CDECL ldap_get_optionA( WLDAP32_LDAP *ld, int option, void *value ) 00047 { 00048 ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; 00049 #ifdef HAVE_LDAP 00050 00051 TRACE( "(%p, 0x%08x, %p)\n", ld, option, value ); 00052 00053 if (!ld || !value) return WLDAP32_LDAP_PARAM_ERROR; 00054 00055 switch (option) 00056 { 00057 case WLDAP32_LDAP_OPT_API_FEATURE_INFO: 00058 { 00059 LDAPAPIFeatureInfoW featureW; 00060 LDAPAPIFeatureInfoA *featureA = value; 00061 00062 if (!featureA->ldapaif_name) return WLDAP32_LDAP_PARAM_ERROR; 00063 00064 featureW.ldapaif_info_version = featureA->ldapaif_info_version; 00065 featureW.ldapaif_name = strAtoW( featureA->ldapaif_name ); 00066 featureW.ldapaif_version = 0; 00067 00068 if (!featureW.ldapaif_name) return WLDAP32_LDAP_NO_MEMORY; 00069 00070 ret = ldap_get_optionW( ld, option, &featureW ); 00071 00072 featureA->ldapaif_version = featureW.ldapaif_version; 00073 strfreeW( featureW.ldapaif_name ); 00074 return ret; 00075 } 00076 case WLDAP32_LDAP_OPT_API_INFO: 00077 { 00078 LDAPAPIInfoW infoW; 00079 LDAPAPIInfoA *infoA = value; 00080 00081 memset( &infoW, 0, sizeof(LDAPAPIInfoW) ); 00082 infoW.ldapai_info_version = infoA->ldapai_info_version; 00083 00084 ret = ldap_get_optionW( ld, option, &infoW ); 00085 00086 infoA->ldapai_api_version = infoW.ldapai_api_version; 00087 infoA->ldapai_protocol_version = infoW.ldapai_protocol_version; 00088 00089 if (infoW.ldapai_extensions) 00090 { 00091 infoA->ldapai_extensions = strarrayWtoA( infoW.ldapai_extensions ); 00092 if (!infoA->ldapai_extensions) return WLDAP32_LDAP_NO_MEMORY; 00093 } 00094 if (infoW.ldapai_vendor_name) 00095 { 00096 infoA->ldapai_vendor_name = strWtoA( infoW.ldapai_vendor_name ); 00097 if (!infoA->ldapai_vendor_name) 00098 { 00099 ldap_value_freeW( infoW.ldapai_extensions ); 00100 return WLDAP32_LDAP_NO_MEMORY; 00101 } 00102 } 00103 infoA->ldapai_vendor_version = infoW.ldapai_vendor_version; 00104 00105 ldap_value_freeW( infoW.ldapai_extensions ); 00106 ldap_memfreeW( infoW.ldapai_vendor_name ); 00107 return ret; 00108 } 00109 00110 case WLDAP32_LDAP_OPT_DEREF: 00111 case WLDAP32_LDAP_OPT_DESC: 00112 case WLDAP32_LDAP_OPT_ERROR_NUMBER: 00113 case WLDAP32_LDAP_OPT_PROTOCOL_VERSION: 00114 case WLDAP32_LDAP_OPT_REFERRALS: 00115 case WLDAP32_LDAP_OPT_SIZELIMIT: 00116 case WLDAP32_LDAP_OPT_TIMELIMIT: 00117 return ldap_get_optionW( ld, option, value ); 00118 00119 case WLDAP32_LDAP_OPT_CACHE_ENABLE: 00120 case WLDAP32_LDAP_OPT_CACHE_FN_PTRS: 00121 case WLDAP32_LDAP_OPT_CACHE_STRATEGY: 00122 case WLDAP32_LDAP_OPT_IO_FN_PTRS: 00123 case WLDAP32_LDAP_OPT_REBIND_ARG: 00124 case WLDAP32_LDAP_OPT_REBIND_FN: 00125 case WLDAP32_LDAP_OPT_RESTART: 00126 case WLDAP32_LDAP_OPT_THREAD_FN_PTRS: 00127 return LDAP_LOCAL_ERROR; 00128 00129 case WLDAP32_LDAP_OPT_AREC_EXCLUSIVE: 00130 case WLDAP32_LDAP_OPT_AUTO_RECONNECT: 00131 case WLDAP32_LDAP_OPT_CLIENT_CERTIFICATE: 00132 case WLDAP32_LDAP_OPT_DNSDOMAIN_NAME: 00133 case WLDAP32_LDAP_OPT_ENCRYPT: 00134 case WLDAP32_LDAP_OPT_ERROR_STRING: 00135 case WLDAP32_LDAP_OPT_FAST_CONCURRENT_BIND: 00136 case WLDAP32_LDAP_OPT_GETDSNAME_FLAGS: 00137 case WLDAP32_LDAP_OPT_HOST_NAME: 00138 case WLDAP32_LDAP_OPT_HOST_REACHABLE: 00139 case WLDAP32_LDAP_OPT_PING_KEEP_ALIVE: 00140 case WLDAP32_LDAP_OPT_PING_LIMIT: 00141 case WLDAP32_LDAP_OPT_PING_WAIT_TIME: 00142 case WLDAP32_LDAP_OPT_PROMPT_CREDENTIALS: 00143 case WLDAP32_LDAP_OPT_REF_DEREF_CONN_PER_MSG: 00144 case WLDAP32_LDAP_OPT_REFERRAL_CALLBACK: 00145 case WLDAP32_LDAP_OPT_REFERRAL_HOP_LIMIT: 00146 case WLDAP32_LDAP_OPT_ROOTDSE_CACHE: 00147 case WLDAP32_LDAP_OPT_SASL_METHOD: 00148 case WLDAP32_LDAP_OPT_SECURITY_CONTEXT: 00149 case WLDAP32_LDAP_OPT_SEND_TIMEOUT: 00150 case WLDAP32_LDAP_OPT_SERVER_CERTIFICATE: 00151 case WLDAP32_LDAP_OPT_SERVER_CONTROLS: 00152 case WLDAP32_LDAP_OPT_SERVER_ERROR: 00153 case WLDAP32_LDAP_OPT_SERVER_EXT_ERROR: 00154 case WLDAP32_LDAP_OPT_SIGN: 00155 case WLDAP32_LDAP_OPT_SSL: 00156 case WLDAP32_LDAP_OPT_SSL_INFO: 00157 case WLDAP32_LDAP_OPT_SSPI_FLAGS: 00158 case WLDAP32_LDAP_OPT_TCP_KEEPALIVE: 00159 FIXME( "Unsupported option: 0x%02x\n", option ); 00160 return WLDAP32_LDAP_NOT_SUPPORTED; 00161 00162 default: 00163 FIXME( "Unknown option: 0x%02x\n", option ); 00164 return WLDAP32_LDAP_LOCAL_ERROR; 00165 } 00166 00167 #endif 00168 return ret; 00169 } 00170 00171 /*********************************************************************** 00172 * ldap_get_optionW (WLDAP32.@) 00173 * 00174 * Retrieve option values for a given LDAP context. 00175 * 00176 * PARAMS 00177 * ld [I] Pointer to an LDAP context. 00178 * option [I] Option to get values for. 00179 * value [O] Pointer to option values. 00180 * 00181 * RETURNS 00182 * Success: LDAP_SUCCESS 00183 * Failure: An LDAP error code. 00184 */ 00185 ULONG CDECL ldap_get_optionW( WLDAP32_LDAP *ld, int option, void *value ) 00186 { 00187 ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; 00188 #ifdef HAVE_LDAP 00189 00190 TRACE( "(%p, 0x%08x, %p)\n", ld, option, value ); 00191 00192 if (!ld || !value) return WLDAP32_LDAP_PARAM_ERROR; 00193 00194 switch (option) 00195 { 00196 case WLDAP32_LDAP_OPT_API_FEATURE_INFO: 00197 { 00198 LDAPAPIFeatureInfo featureU; 00199 LDAPAPIFeatureInfoW *featureW = value; 00200 00201 if (!featureW->ldapaif_name) return WLDAP32_LDAP_PARAM_ERROR; 00202 00203 featureU.ldapaif_info_version = featureW->ldapaif_info_version; 00204 featureU.ldapaif_name = strWtoU( featureW->ldapaif_name ); 00205 featureU.ldapaif_version = 0; 00206 00207 if (!featureU.ldapaif_name) return WLDAP32_LDAP_NO_MEMORY; 00208 00209 ret = map_error( ldap_get_option( ld, option, &featureU )); 00210 00211 featureW->ldapaif_version = featureU.ldapaif_version; 00212 strfreeU( featureU.ldapaif_name ); 00213 return ret; 00214 } 00215 case WLDAP32_LDAP_OPT_API_INFO: 00216 { 00217 LDAPAPIInfo infoU; 00218 LDAPAPIInfoW *infoW = value; 00219 00220 memset( &infoU, 0, sizeof(LDAPAPIInfo) ); 00221 infoU.ldapai_info_version = infoW->ldapai_info_version; 00222 00223 ret = map_error( ldap_get_option( ld, option, &infoU )); 00224 00225 infoW->ldapai_api_version = infoU.ldapai_api_version; 00226 infoW->ldapai_protocol_version = infoU.ldapai_protocol_version; 00227 00228 if (infoU.ldapai_extensions) 00229 { 00230 infoW->ldapai_extensions = strarrayUtoW( infoU.ldapai_extensions ); 00231 if (!infoW->ldapai_extensions) return WLDAP32_LDAP_NO_MEMORY; 00232 } 00233 if (infoU.ldapai_vendor_name) 00234 { 00235 infoW->ldapai_vendor_name = strUtoW( infoU.ldapai_vendor_name ); 00236 if (!infoW->ldapai_vendor_name) 00237 { 00238 ldap_memvfree( (void **)infoU.ldapai_extensions ); 00239 return WLDAP32_LDAP_NO_MEMORY; 00240 } 00241 } 00242 infoW->ldapai_vendor_version = infoU.ldapai_vendor_version; 00243 00244 ldap_memvfree( (void **)infoU.ldapai_extensions ); 00245 ldap_memfree( infoU.ldapai_vendor_name ); 00246 return ret; 00247 } 00248 00249 case WLDAP32_LDAP_OPT_DEREF: 00250 case WLDAP32_LDAP_OPT_DESC: 00251 case WLDAP32_LDAP_OPT_ERROR_NUMBER: 00252 case WLDAP32_LDAP_OPT_PROTOCOL_VERSION: 00253 case WLDAP32_LDAP_OPT_REFERRALS: 00254 case WLDAP32_LDAP_OPT_SIZELIMIT: 00255 case WLDAP32_LDAP_OPT_TIMELIMIT: 00256 return map_error( ldap_get_option( ld, option, value )); 00257 00258 case WLDAP32_LDAP_OPT_CACHE_ENABLE: 00259 case WLDAP32_LDAP_OPT_CACHE_FN_PTRS: 00260 case WLDAP32_LDAP_OPT_CACHE_STRATEGY: 00261 case WLDAP32_LDAP_OPT_IO_FN_PTRS: 00262 case WLDAP32_LDAP_OPT_REBIND_ARG: 00263 case WLDAP32_LDAP_OPT_REBIND_FN: 00264 case WLDAP32_LDAP_OPT_RESTART: 00265 case WLDAP32_LDAP_OPT_THREAD_FN_PTRS: 00266 return WLDAP32_LDAP_LOCAL_ERROR; 00267 00268 case WLDAP32_LDAP_OPT_AREC_EXCLUSIVE: 00269 case WLDAP32_LDAP_OPT_AUTO_RECONNECT: 00270 case WLDAP32_LDAP_OPT_CLIENT_CERTIFICATE: 00271 case WLDAP32_LDAP_OPT_DNSDOMAIN_NAME: 00272 case WLDAP32_LDAP_OPT_ENCRYPT: 00273 case WLDAP32_LDAP_OPT_ERROR_STRING: 00274 case WLDAP32_LDAP_OPT_FAST_CONCURRENT_BIND: 00275 case WLDAP32_LDAP_OPT_GETDSNAME_FLAGS: 00276 case WLDAP32_LDAP_OPT_HOST_NAME: 00277 case WLDAP32_LDAP_OPT_HOST_REACHABLE: 00278 case WLDAP32_LDAP_OPT_PING_KEEP_ALIVE: 00279 case WLDAP32_LDAP_OPT_PING_LIMIT: 00280 case WLDAP32_LDAP_OPT_PING_WAIT_TIME: 00281 case WLDAP32_LDAP_OPT_PROMPT_CREDENTIALS: 00282 case WLDAP32_LDAP_OPT_REF_DEREF_CONN_PER_MSG: 00283 case WLDAP32_LDAP_OPT_REFERRAL_CALLBACK: 00284 case WLDAP32_LDAP_OPT_REFERRAL_HOP_LIMIT: 00285 case WLDAP32_LDAP_OPT_ROOTDSE_CACHE: 00286 case WLDAP32_LDAP_OPT_SASL_METHOD: 00287 case WLDAP32_LDAP_OPT_SECURITY_CONTEXT: 00288 case WLDAP32_LDAP_OPT_SEND_TIMEOUT: 00289 case WLDAP32_LDAP_OPT_SERVER_CERTIFICATE: 00290 case WLDAP32_LDAP_OPT_SERVER_CONTROLS: 00291 case WLDAP32_LDAP_OPT_SERVER_ERROR: 00292 case WLDAP32_LDAP_OPT_SERVER_EXT_ERROR: 00293 case WLDAP32_LDAP_OPT_SIGN: 00294 case WLDAP32_LDAP_OPT_SSL: 00295 case WLDAP32_LDAP_OPT_SSL_INFO: 00296 case WLDAP32_LDAP_OPT_SSPI_FLAGS: 00297 case WLDAP32_LDAP_OPT_TCP_KEEPALIVE: 00298 FIXME( "Unsupported option: 0x%02x\n", option ); 00299 return WLDAP32_LDAP_NOT_SUPPORTED; 00300 00301 default: 00302 FIXME( "Unknown option: 0x%02x\n", option ); 00303 return WLDAP32_LDAP_LOCAL_ERROR; 00304 } 00305 00306 #endif 00307 return ret; 00308 } 00309 00310 /*********************************************************************** 00311 * ldap_set_optionA (WLDAP32.@) 00312 * 00313 * See ldap_set_optionW. 00314 */ 00315 ULONG CDECL ldap_set_optionA( WLDAP32_LDAP *ld, int option, void *value ) 00316 { 00317 ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; 00318 #ifdef HAVE_LDAP 00319 00320 TRACE( "(%p, 0x%08x, %p)\n", ld, option, value ); 00321 00322 if (!ld || !value) return WLDAP32_LDAP_PARAM_ERROR; 00323 00324 switch (option) 00325 { 00326 case WLDAP32_LDAP_OPT_SERVER_CONTROLS: 00327 { 00328 LDAPControlW **ctrlsW; 00329 00330 ctrlsW = controlarrayAtoW( value ); 00331 if (!ctrlsW) return WLDAP32_LDAP_NO_MEMORY; 00332 00333 ret = ldap_set_optionW( ld, option, ctrlsW ); 00334 controlarrayfreeW( ctrlsW ); 00335 return ret; 00336 } 00337 case WLDAP32_LDAP_OPT_DEREF: 00338 case WLDAP32_LDAP_OPT_DESC: 00339 case WLDAP32_LDAP_OPT_ERROR_NUMBER: 00340 case WLDAP32_LDAP_OPT_PROTOCOL_VERSION: 00341 case WLDAP32_LDAP_OPT_REFERRALS: 00342 case WLDAP32_LDAP_OPT_SIZELIMIT: 00343 case WLDAP32_LDAP_OPT_TIMELIMIT: 00344 return ldap_set_optionW( ld, option, value ); 00345 00346 case WLDAP32_LDAP_OPT_CACHE_ENABLE: 00347 case WLDAP32_LDAP_OPT_CACHE_FN_PTRS: 00348 case WLDAP32_LDAP_OPT_CACHE_STRATEGY: 00349 case WLDAP32_LDAP_OPT_IO_FN_PTRS: 00350 case WLDAP32_LDAP_OPT_REBIND_ARG: 00351 case WLDAP32_LDAP_OPT_REBIND_FN: 00352 case WLDAP32_LDAP_OPT_RESTART: 00353 case WLDAP32_LDAP_OPT_THREAD_FN_PTRS: 00354 return WLDAP32_LDAP_LOCAL_ERROR; 00355 00356 case WLDAP32_LDAP_OPT_API_FEATURE_INFO: 00357 case WLDAP32_LDAP_OPT_API_INFO: 00358 return WLDAP32_LDAP_UNWILLING_TO_PERFORM; 00359 00360 case WLDAP32_LDAP_OPT_AREC_EXCLUSIVE: 00361 case WLDAP32_LDAP_OPT_AUTO_RECONNECT: 00362 case WLDAP32_LDAP_OPT_CLIENT_CERTIFICATE: 00363 case WLDAP32_LDAP_OPT_DNSDOMAIN_NAME: 00364 case WLDAP32_LDAP_OPT_ENCRYPT: 00365 case WLDAP32_LDAP_OPT_ERROR_STRING: 00366 case WLDAP32_LDAP_OPT_FAST_CONCURRENT_BIND: 00367 case WLDAP32_LDAP_OPT_GETDSNAME_FLAGS: 00368 case WLDAP32_LDAP_OPT_HOST_NAME: 00369 case WLDAP32_LDAP_OPT_HOST_REACHABLE: 00370 case WLDAP32_LDAP_OPT_PING_KEEP_ALIVE: 00371 case WLDAP32_LDAP_OPT_PING_LIMIT: 00372 case WLDAP32_LDAP_OPT_PING_WAIT_TIME: 00373 case WLDAP32_LDAP_OPT_PROMPT_CREDENTIALS: 00374 case WLDAP32_LDAP_OPT_REF_DEREF_CONN_PER_MSG: 00375 case WLDAP32_LDAP_OPT_REFERRAL_CALLBACK: 00376 case WLDAP32_LDAP_OPT_REFERRAL_HOP_LIMIT: 00377 case WLDAP32_LDAP_OPT_ROOTDSE_CACHE: 00378 case WLDAP32_LDAP_OPT_SASL_METHOD: 00379 case WLDAP32_LDAP_OPT_SECURITY_CONTEXT: 00380 case WLDAP32_LDAP_OPT_SEND_TIMEOUT: 00381 case WLDAP32_LDAP_OPT_SERVER_CERTIFICATE: 00382 case WLDAP32_LDAP_OPT_SERVER_ERROR: 00383 case WLDAP32_LDAP_OPT_SERVER_EXT_ERROR: 00384 case WLDAP32_LDAP_OPT_SIGN: 00385 case WLDAP32_LDAP_OPT_SSL: 00386 case WLDAP32_LDAP_OPT_SSL_INFO: 00387 case WLDAP32_LDAP_OPT_SSPI_FLAGS: 00388 case WLDAP32_LDAP_OPT_TCP_KEEPALIVE: 00389 FIXME( "Unsupported option: 0x%02x\n", option ); 00390 return WLDAP32_LDAP_NOT_SUPPORTED; 00391 00392 default: 00393 FIXME( "Unknown option: 0x%02x\n", option ); 00394 return WLDAP32_LDAP_LOCAL_ERROR; 00395 } 00396 00397 #endif 00398 return ret; 00399 } 00400 00401 /*********************************************************************** 00402 * ldap_set_optionW (WLDAP32.@) 00403 * 00404 * Set option values for a given LDAP context. 00405 * 00406 * PARAMS 00407 * ld [I] Pointer to an LDAP context. 00408 * option [I] Option to set values for. 00409 * value [I] Pointer to option values. 00410 * 00411 * RETURNS 00412 * Success: LDAP_SUCCESS 00413 * Failure: An LDAP error code. 00414 * 00415 * NOTES 00416 * Set value to LDAP_OPT_ON or LDAP_OPT_OFF for on/off options. 00417 */ 00418 ULONG CDECL ldap_set_optionW( WLDAP32_LDAP *ld, int option, void *value ) 00419 { 00420 ULONG ret = WLDAP32_LDAP_NOT_SUPPORTED; 00421 #ifdef HAVE_LDAP 00422 00423 TRACE( "(%p, 0x%08x, %p)\n", ld, option, value ); 00424 00425 if (!ld || !value) return WLDAP32_LDAP_PARAM_ERROR; 00426 00427 switch (option) 00428 { 00429 case WLDAP32_LDAP_OPT_SERVER_CONTROLS: 00430 { 00431 LDAPControl **ctrlsU; 00432 00433 ctrlsU = controlarrayWtoU( value ); 00434 if (!ctrlsU) return WLDAP32_LDAP_NO_MEMORY; 00435 00436 ret = map_error( ldap_set_option( ld, option, ctrlsU )); 00437 controlarrayfreeU( ctrlsU ); 00438 return ret; 00439 } 00440 case WLDAP32_LDAP_OPT_DEREF: 00441 case WLDAP32_LDAP_OPT_DESC: 00442 case WLDAP32_LDAP_OPT_ERROR_NUMBER: 00443 case WLDAP32_LDAP_OPT_PROTOCOL_VERSION: 00444 case WLDAP32_LDAP_OPT_REFERRALS: 00445 case WLDAP32_LDAP_OPT_SIZELIMIT: 00446 case WLDAP32_LDAP_OPT_TIMELIMIT: 00447 return map_error( ldap_set_option( ld, option, value )); 00448 00449 case WLDAP32_LDAP_OPT_CACHE_ENABLE: 00450 case WLDAP32_LDAP_OPT_CACHE_FN_PTRS: 00451 case WLDAP32_LDAP_OPT_CACHE_STRATEGY: 00452 case WLDAP32_LDAP_OPT_IO_FN_PTRS: 00453 case WLDAP32_LDAP_OPT_REBIND_ARG: 00454 case WLDAP32_LDAP_OPT_REBIND_FN: 00455 case WLDAP32_LDAP_OPT_RESTART: 00456 case WLDAP32_LDAP_OPT_THREAD_FN_PTRS: 00457 return WLDAP32_LDAP_LOCAL_ERROR; 00458 00459 case WLDAP32_LDAP_OPT_API_FEATURE_INFO: 00460 case WLDAP32_LDAP_OPT_API_INFO: 00461 return WLDAP32_LDAP_UNWILLING_TO_PERFORM; 00462 00463 case WLDAP32_LDAP_OPT_AREC_EXCLUSIVE: 00464 case WLDAP32_LDAP_OPT_AUTO_RECONNECT: 00465 case WLDAP32_LDAP_OPT_CLIENT_CERTIFICATE: 00466 case WLDAP32_LDAP_OPT_DNSDOMAIN_NAME: 00467 case WLDAP32_LDAP_OPT_ENCRYPT: 00468 case WLDAP32_LDAP_OPT_ERROR_STRING: 00469 case WLDAP32_LDAP_OPT_FAST_CONCURRENT_BIND: 00470 case WLDAP32_LDAP_OPT_GETDSNAME_FLAGS: 00471 case WLDAP32_LDAP_OPT_HOST_NAME: 00472 case WLDAP32_LDAP_OPT_HOST_REACHABLE: 00473 case WLDAP32_LDAP_OPT_PING_KEEP_ALIVE: 00474 case WLDAP32_LDAP_OPT_PING_LIMIT: 00475 case WLDAP32_LDAP_OPT_PING_WAIT_TIME: 00476 case WLDAP32_LDAP_OPT_PROMPT_CREDENTIALS: 00477 case WLDAP32_LDAP_OPT_REF_DEREF_CONN_PER_MSG: 00478 case WLDAP32_LDAP_OPT_REFERRAL_CALLBACK: 00479 case WLDAP32_LDAP_OPT_REFERRAL_HOP_LIMIT: 00480 case WLDAP32_LDAP_OPT_ROOTDSE_CACHE: 00481 case WLDAP32_LDAP_OPT_SASL_METHOD: 00482 case WLDAP32_LDAP_OPT_SECURITY_CONTEXT: 00483 case WLDAP32_LDAP_OPT_SEND_TIMEOUT: 00484 case WLDAP32_LDAP_OPT_SERVER_CERTIFICATE: 00485 case WLDAP32_LDAP_OPT_SERVER_ERROR: 00486 case WLDAP32_LDAP_OPT_SERVER_EXT_ERROR: 00487 case WLDAP32_LDAP_OPT_SIGN: 00488 case WLDAP32_LDAP_OPT_SSL: 00489 case WLDAP32_LDAP_OPT_SSL_INFO: 00490 case WLDAP32_LDAP_OPT_SSPI_FLAGS: 00491 case WLDAP32_LDAP_OPT_TCP_KEEPALIVE: 00492 FIXME( "Unsupported option: 0x%02x\n", option ); 00493 return WLDAP32_LDAP_NOT_SUPPORTED; 00494 00495 default: 00496 FIXME( "Unknown option: 0x%02x\n", option ); 00497 return WLDAP32_LDAP_LOCAL_ERROR; 00498 } 00499 00500 #endif 00501 return ret; 00502 } Generated on Fri May 25 2012 04:25:06 for ReactOS by
1.7.6.1
|