diff options
Diffstat (limited to 'include/ap_ldap.hnw')
-rw-r--r-- | include/ap_ldap.hnw | 137 |
1 files changed, 137 insertions, 0 deletions
diff --git a/include/ap_ldap.hnw b/include/ap_ldap.hnw new file mode 100644 index 0000000000..52aac34b45 --- /dev/null +++ b/include/ap_ldap.hnw @@ -0,0 +1,137 @@ +/* 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. + */ + +/* + * ap_ldap.h is generated from ap_ldap.h.in by configure -- do not edit ap_ldap.h + */ +/** + * @file ap_ldap.h + * @brief MODLDAP + */ +#ifndef AP_LDAP_H +#define AP_LDAP_H + +/** + * @defgroup AP_Util_LDAP LDAP + * @ingroup AP_Util + * @{ + */ + +/* this will be defined if LDAP support was compiled into apr-util */ +#define AP_HAS_LDAP 1 + +/* identify the LDAP toolkit used */ +#define AP_HAS_NETSCAPE_LDAPSDK 0 +#define AP_HAS_SOLARIS_LDAPSDK 0 +#define AP_HAS_NOVELL_LDAPSDK 1 +#define AP_HAS_MOZILLA_LDAPSDK 0 +#define AP_HAS_OPENLDAP_LDAPSDK 0 +#define AP_HAS_MICROSOFT_LDAPSDK 0 +#define AP_HAS_OTHER_LDAPSDK 0 + + +/* + * Handle the case when LDAP is enabled + */ +#if AP_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 + * ap_ldap_url_parse*() functions have been rewritten specifically for + * APR, so the AP_HAS_LDAP_URL_PARSE macro is forced to zero. + */ +#define AP_HAS_LDAP_SSL 1 +#define AP_HAS_LDAP_URL_PARSE 0 + + +/* + * Include the standard LDAP header files. + */ + +#ifdef GENEXPORTS +#define LDAP_VERSION_MAX 3 +#define LDAP_INSUFFICIENT_ACCESS +#else +#include <lber.h> +#include <ldap.h> +#if AP_HAS_LDAP_SSL +#include <ldap_ssl.h> +#endif +#endif + + +/* + * Detected standard functions + */ +#define AP_HAS_LDAPSSL_CLIENT_INIT 1 +#define AP_HAS_LDAPSSL_CLIENT_DEINIT 1 +#define AP_HAS_LDAPSSL_ADD_TRUSTED_CERT 1 +#define AP_HAS_LDAP_START_TLS_S 0 +#define AP_HAS_LDAP_SSLINIT 0 +#define AP_HAS_LDAPSSL_INIT 1 +#define AP_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 + + +/* 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 ap_ldap_err_t { + const char *reason; + const char *msg; + int rc; +} ap_ldap_err_t; + +#ifdef __cplusplus +} +#endif + +#define AP_LDAP_IS_SERVER_DOWN(s) ((s) == LDAP_SERVER_DOWN) + +#include "ap_ldap_url.h" +#include "ap_ldap_init.h" +#include "ap_ldap_option.h" +#include "ap_ldap_rebind.h" + +/** @} */ +#endif /* AP_HAS_LDAP */ +#endif /* AP_LDAP_H */ + |