github.com/krum110487/go-htaccess@v0.0.0-20240316004156-60641c8e7598/tests/data/apache_2_2_34/include/apr_ldap.h (about) 1 /* Licensed to the Apache Software Foundation (ASF) under one or more 2 * contributor license agreements. See the NOTICE file distributed with 3 * this work for additional information regarding copyright ownership. 4 * The ASF licenses this file to You under the Apache License, Version 2.0 5 * (the "License"); you may not use this file except in compliance with 6 * the License. You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 /* 18 * apr_ldap.h is generated from apr_ldap.h.in by configure -- do not edit apr_ldap.h 19 */ 20 /** 21 * @file apr_ldap.h 22 * @brief APR-UTIL LDAP 23 */ 24 #ifndef APU_LDAP_H 25 #define APU_LDAP_H 26 27 /** 28 * @defgroup APR_Util_LDAP LDAP 29 * @ingroup APR_Util 30 * @{ 31 */ 32 33 /* this will be defined if LDAP support was compiled into apr-util */ 34 #define APR_HAS_LDAP 1 35 36 /* identify the LDAP toolkit used */ 37 #define APR_HAS_NETSCAPE_LDAPSDK 0 38 #define APR_HAS_SOLARIS_LDAPSDK 0 39 #define APR_HAS_NOVELL_LDAPSDK 0 40 #define APR_HAS_MOZILLA_LDAPSDK 0 41 #define APR_HAS_OPENLDAP_LDAPSDK 0 42 #define APR_HAS_MICROSOFT_LDAPSDK 1 43 #define APR_HAS_TIVOLI_LDAPSDK 0 44 #define APR_HAS_ZOS_LDAPSDK 0 45 #define APR_HAS_OTHER_LDAPSDK 0 46 47 48 /* 49 * Handle the case when LDAP is enabled 50 */ 51 #if APR_HAS_LDAP 52 53 /* 54 * The following #defines are DEPRECATED and should not be used for 55 * anything. They remain to maintain binary compatibility. 56 * The original code defined the OPENLDAP SDK as present regardless 57 * of what really was there, which was way bogus. In addition, the 58 * apr_ldap_url_parse*() functions have been rewritten specifically for 59 * APR, so the APR_HAS_LDAP_URL_PARSE macro is forced to zero. 60 */ 61 #if APR_HAS_TIVOLI_LDAPSDK 62 #define APR_HAS_LDAP_SSL 0 63 #else 64 #define APR_HAS_LDAP_SSL 1 65 #endif 66 #define APR_HAS_LDAP_URL_PARSE 0 67 68 #if APR_HAS_OPENLDAP_LDAPSDK && !defined(LDAP_DEPRECATED) 69 /* Ensure that the "deprecated" interfaces are still exposed 70 * with OpenLDAP >= 2.3; these were exposed by default in earlier 71 * releases. */ 72 #define LDAP_DEPRECATED 1 73 #endif 74 75 /* 76 * Include the standard LDAP header files. 77 */ 78 79 #include <winldap.h> 80 81 82 /* 83 * Detected standard functions 84 */ 85 #define APR_HAS_LDAPSSL_CLIENT_INIT 0 86 #define APR_HAS_LDAPSSL_CLIENT_DEINIT 0 87 #define APR_HAS_LDAPSSL_ADD_TRUSTED_CERT 0 88 #define APR_HAS_LDAP_START_TLS_S 0 89 #define APR_HAS_LDAP_SSLINIT 1 90 #define APR_HAS_LDAPSSL_INIT 0 91 #define APR_HAS_LDAPSSL_INSTALL_ROUTINES 0 92 93 94 /* 95 * Make sure the secure LDAP port is defined 96 */ 97 #ifndef LDAPS_PORT 98 #define LDAPS_PORT 636 /* ldaps:/// default LDAP over TLS port */ 99 #endif 100 101 102 /* 103 * For ldap function calls that input a size limit on the number of returned elements 104 * Some SDKs do not have the define for LDAP_DEFAULT_LIMIT (-1) or LDAP_NO_LIMIT (0) 105 * LDAP_DEFAULT_LIMIT is preferred as it allows inheritance from whatever the SDK 106 * or process is configured for. 107 */ 108 #ifdef LDAP_DEFAULT_LIMIT 109 #define APR_LDAP_SIZELIMIT LDAP_DEFAULT_LIMIT 110 #else 111 #ifdef LDAP_NO_LIMIT 112 #define APR_LDAP_SIZELIMIT LDAP_NO_LIMIT 113 #endif 114 #endif 115 116 #ifndef APR_LDAP_SIZELIMIT 117 #define APR_LDAP_SIZELIMIT 0 /* equivalent to LDAP_NO_LIMIT, and what goes on the wire */ 118 #endif 119 120 /* 121 * z/OS is missing some defines 122 */ 123 #ifndef LDAP_VERSION_MAX 124 #define LDAP_VERSION_MAX LDAP_VERSION 125 #endif 126 #if APR_HAS_ZOS_LDAPSDK 127 #define LDAP_VENDOR_NAME "IBM z/OS" 128 #endif 129 130 /* Note: Macros defining const casting has been removed in APR v1.0, 131 * pending real support for LDAP v2.0 toolkits. 132 * 133 * In the mean time, please use an LDAP v3.0 toolkit. 134 */ 135 #if LDAP_VERSION_MAX <= 2 136 #error Support for LDAP v2.0 toolkits has been removed from apr-util. Please use an LDAP v3.0 toolkit. 137 #endif 138 139 #ifdef __cplusplus 140 extern "C" { 141 #endif /* __cplusplus */ 142 143 /** 144 * This structure allows the C LDAP API error codes to be returned 145 * along with plain text error messages that explain to us mere mortals 146 * what really happened. 147 */ 148 typedef struct apr_ldap_err_t { 149 const char *reason; 150 const char *msg; 151 int rc; 152 } apr_ldap_err_t; 153 154 #ifdef __cplusplus 155 } 156 #endif 157 158 /* The MS SDK returns LDAP_UNAVAILABLE when the backend has closed the connection 159 * between LDAP calls. Protect with APR_HAS_MICROSOFT_LDAPSDK in case someone 160 * manually chooses another SDK on Windows 161 */ 162 #if APR_HAS_MICROSOFT_LDAPSDK 163 #define APR_LDAP_IS_SERVER_DOWN(s) ((s) == LDAP_SERVER_DOWN \ 164 || (s) == LDAP_UNAVAILABLE) 165 #else 166 #define APR_LDAP_IS_SERVER_DOWN(s) ((s) == LDAP_SERVER_DOWN) 167 #endif 168 169 /* These symbols are not actually exported in a DSO build, but mapped into 170 * a private exported function array for apr_ldap_stub to bind dynamically. 171 * Rename them appropriately to protect the global namespace. 172 */ 173 #ifdef APU_DSO_LDAP_BUILD 174 175 #define apr_ldap_info apr__ldap_info 176 #define apr_ldap_init apr__ldap_init 177 #define apr_ldap_ssl_init apr__ldap_ssl_init 178 #define apr_ldap_ssl_deinit apr__ldap_ssl_deinit 179 #define apr_ldap_get_option apr__ldap_get_option 180 #define apr_ldap_set_option apr__ldap_set_option 181 #define apr_ldap_rebind_init apr__ldap_rebind_init 182 #define apr_ldap_rebind_add apr__ldap_rebind_add 183 #define apr_ldap_rebind_remove apr__ldap_rebind_remove 184 185 #define APU_DECLARE_LDAP(type) type 186 #else 187 #define APU_DECLARE_LDAP(type) APU_DECLARE(type) 188 #endif 189 190 #include "apr_ldap_url.h" 191 #include "apr_ldap_init.h" 192 #include "apr_ldap_option.h" 193 #include "apr_ldap_rebind.h" 194 195 /** @} */ 196 #endif /* APR_HAS_LDAP */ 197 #endif /* APU_LDAP_H */