ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

option.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 doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.