123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197 |
- /* Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- /*
- * apr_ldap.h is generated from apr_ldap.h.in by configure -- do not edit apr_ldap.h
- */
- /**
- * @file apr_ldap.h
- * @brief APR-UTIL LDAP
- */
- #ifndef APU_LDAP_H
- #define APU_LDAP_H
- /**
- * @defgroup APR_Util_LDAP LDAP
- * @ingroup APR_Util
- * @{
- */
- /* this will be defined if LDAP support was compiled into apr-util */
- #define APR_HAS_LDAP 1
- /* identify the LDAP toolkit used */
- #define APR_HAS_NETSCAPE_LDAPSDK 0
- #define APR_HAS_SOLARIS_LDAPSDK 0
- #define APR_HAS_NOVELL_LDAPSDK 0
- #define APR_HAS_MOZILLA_LDAPSDK 0
- #define APR_HAS_OPENLDAP_LDAPSDK 0
- #define APR_HAS_MICROSOFT_LDAPSDK 1
- #define APR_HAS_TIVOLI_LDAPSDK 0
- #define APR_HAS_ZOS_LDAPSDK 0
- #define APR_HAS_OTHER_LDAPSDK 0
- /*
- * Handle the case when LDAP is enabled
- */
- #if APR_HAS_LDAP
- /*
- * The following #defines are DEPRECATED and should not be used for
- * anything. They remain to maintain binary compatibility.
- * The original code defined the OPENLDAP SDK as present regardless
- * of what really was there, which was way bogus. In addition, the
- * apr_ldap_url_parse*() functions have been rewritten specifically for
- * APR, so the APR_HAS_LDAP_URL_PARSE macro is forced to zero.
- */
- #if APR_HAS_TIVOLI_LDAPSDK
- #define APR_HAS_LDAP_SSL 0
- #else
- #define APR_HAS_LDAP_SSL 1
- #endif
- #define APR_HAS_LDAP_URL_PARSE 0
- #if APR_HAS_OPENLDAP_LDAPSDK && !defined(LDAP_DEPRECATED)
- /* Ensure that the "deprecated" interfaces are still exposed
- * with OpenLDAP >= 2.3; these were exposed by default in earlier
- * releases. */
- #define LDAP_DEPRECATED 1
- #endif
- /*
- * Include the standard LDAP header files.
- */
- #include <winldap.h>
- /*
- * Detected standard functions
- */
- #define APR_HAS_LDAPSSL_CLIENT_INIT 0
- #define APR_HAS_LDAPSSL_CLIENT_DEINIT 0
- #define APR_HAS_LDAPSSL_ADD_TRUSTED_CERT 0
- #define APR_HAS_LDAP_START_TLS_S 0
- #define APR_HAS_LDAP_SSLINIT 1
- #define APR_HAS_LDAPSSL_INIT 0
- #define APR_HAS_LDAPSSL_INSTALL_ROUTINES 0
- /*
- * Make sure the secure LDAP port is defined
- */
- #ifndef LDAPS_PORT
- #define LDAPS_PORT 636 /* ldaps:/// default LDAP over TLS port */
- #endif
- /*
- * For ldap function calls that input a size limit on the number of returned elements
- * Some SDKs do not have the define for LDAP_DEFAULT_LIMIT (-1) or LDAP_NO_LIMIT (0)
- * LDAP_DEFAULT_LIMIT is preferred as it allows inheritance from whatever the SDK
- * or process is configured for.
- */
- #ifdef LDAP_DEFAULT_LIMIT
- #define APR_LDAP_SIZELIMIT LDAP_DEFAULT_LIMIT
- #else
- #ifdef LDAP_NO_LIMIT
- #define APR_LDAP_SIZELIMIT LDAP_NO_LIMIT
- #endif
- #endif
- #ifndef APR_LDAP_SIZELIMIT
- #define APR_LDAP_SIZELIMIT 0 /* equivalent to LDAP_NO_LIMIT, and what goes on the wire */
- #endif
- /*
- * z/OS is missing some defines
- */
- #ifndef LDAP_VERSION_MAX
- #define LDAP_VERSION_MAX LDAP_VERSION
- #endif
- #if APR_HAS_ZOS_LDAPSDK
- #define LDAP_VENDOR_NAME "IBM z/OS"
- #endif
- /* Note: Macros defining const casting has been removed in APR v1.0,
- * pending real support for LDAP v2.0 toolkits.
- *
- * In the mean time, please use an LDAP v3.0 toolkit.
- */
- #if LDAP_VERSION_MAX <= 2
- #error Support for LDAP v2.0 toolkits has been removed from apr-util. Please use an LDAP v3.0 toolkit.
- #endif
- #ifdef __cplusplus
- extern "C" {
- #endif /* __cplusplus */
- /**
- * This structure allows the C LDAP API error codes to be returned
- * along with plain text error messages that explain to us mere mortals
- * what really happened.
- */
- typedef struct apr_ldap_err_t {
- const char *reason;
- const char *msg;
- int rc;
- } apr_ldap_err_t;
- #ifdef __cplusplus
- }
- #endif
- /* The MS SDK returns LDAP_UNAVAILABLE when the backend has closed the connection
- * between LDAP calls. Protect with APR_HAS_MICROSOFT_LDAPSDK in case someone
- * manually chooses another SDK on Windows
- */
- #if APR_HAS_MICROSOFT_LDAPSDK
- #define APR_LDAP_IS_SERVER_DOWN(s) ((s) == LDAP_SERVER_DOWN \
- || (s) == LDAP_UNAVAILABLE)
- #else
- #define APR_LDAP_IS_SERVER_DOWN(s) ((s) == LDAP_SERVER_DOWN)
- #endif
- /* These symbols are not actually exported in a DSO build, but mapped into
- * a private exported function array for apr_ldap_stub to bind dynamically.
- * Rename them appropriately to protect the global namespace.
- */
- #ifdef APU_DSO_LDAP_BUILD
- #define apr_ldap_info apr__ldap_info
- #define apr_ldap_init apr__ldap_init
- #define apr_ldap_ssl_init apr__ldap_ssl_init
- #define apr_ldap_ssl_deinit apr__ldap_ssl_deinit
- #define apr_ldap_get_option apr__ldap_get_option
- #define apr_ldap_set_option apr__ldap_set_option
- #define apr_ldap_rebind_init apr__ldap_rebind_init
- #define apr_ldap_rebind_add apr__ldap_rebind_add
- #define apr_ldap_rebind_remove apr__ldap_rebind_remove
- #define APU_DECLARE_LDAP(type) type
- #else
- #define APU_DECLARE_LDAP(type) APU_DECLARE(type)
- #endif
- #include "apr_ldap_url.h"
- #include "apr_ldap_init.h"
- #include "apr_ldap_option.h"
- #include "apr_ldap_rebind.h"
- /** @} */
- #endif /* APR_HAS_LDAP */
- #endif /* APU_LDAP_H */
|