* @{
*/
-#include "apr_optional.h"
+/* Create a set of LDAP_DECLARE macros with appropriate export
+ * and import tags for the platform
+ */
+#if !defined(WIN32)
+#define LDAP_DECLARE(type) type
+#define LDAP_DECLARE_NONSTD(type) type
+#define LDAP_DECLARE_DATA
+#elif defined(LDAP_DECLARE_STATIC)
+#define LDAP_DECLARE(type) type __stdcall
+#define LDAP_DECLARE_NONSTD(type) type
+#define LDAP_DECLARE_DATA
+#elif defined(LDAP_DECLARE_EXPORT)
+#define LDAP_DECLARE(type) __declspec(dllexport) type __stdcall
+#define LDAP_DECLARE_NONSTD(type) __declspec(dllexport) type
+#define LDAP_DECLARE_DATA __declspec(dllexport)
+#else
+#define LDAP_DECLARE(type) __declspec(dllimport) type __stdcall
+#define LDAP_DECLARE_NONSTD(type) __declspec(dllimport) type
+#define LDAP_DECLARE_DATA __declspec(dllimport)
+#endif
/* identify the LDAP toolkit used */
#define AP_HAS_NETSCAPE_LDAPSDK @ap_has_ldap_netscape@
* @{
*/
-#include "apr_optional.h"
+/* Create a set of LDAP_DECLARE macros with appropriate export
+ * and import tags for the platform
+ */
+#if !defined(WIN32)
+#define LDAP_DECLARE(type) type
+#define LDAP_DECLARE_NONSTD(type) type
+#define LDAP_DECLARE_DATA
+#elif defined(LDAP_DECLARE_STATIC)
+#define LDAP_DECLARE(type) type __stdcall
+#define LDAP_DECLARE_NONSTD(type) type
+#define LDAP_DECLARE_DATA
+#elif defined(LDAP_DECLARE_EXPORT)
+#define LDAP_DECLARE(type) __declspec(dllexport) type __stdcall
+#define LDAP_DECLARE_NONSTD(type) __declspec(dllexport) type
+#define LDAP_DECLARE_DATA __declspec(dllexport)
+#else
+#define LDAP_DECLARE(type) __declspec(dllimport) type __stdcall
+#define LDAP_DECLARE_NONSTD(type) __declspec(dllimport) type
+#define LDAP_DECLARE_DATA __declspec(dllimport)
+#endif
/* this will be defined if LDAP support was compiled into apr-util */
#define AP_HAS_LDAP 1
* ap_ldap_set_option() AP_LDAP_OPT_TLS_CERT option for details.
* @param result_err The returned result
*/
-APR_DECLARE_OPTIONAL_FN(int, ap_ldap_ssl_init,
- (apr_pool_t *pool,
- const char *cert_auth_file,
- int cert_file_type,
- ap_ldap_err_t **result_err));
-
+LDAP_DECLARE(int) ap_ldap_ssl_init(apr_pool_t *pool,
+ const char *cert_auth_file,
+ int cert_file_type,
+ ap_ldap_err_t **result_err);
/**
* LDAP SSL De-Initialise function
* @todo currently we do not check whether ap_ldap_ssl_init()
* has been called first - we probably should.
*/
-APR_DECLARE_OPTIONAL_FN(int, ap_ldap_ssl_deinit, (void));
+LDAP_DECLARE(int) ap_ldap_ssl_deinit(void);
/**
* LDAP initialise function
* @param secure The security mode to set
* @param result_err The returned result
*/
-APR_DECLARE_OPTIONAL_FN(int, ap_ldap_init, (apr_pool_t *pool,
- LDAP **ldap,
- const char *hostname,
- int portno,
- int secure,
- ap_ldap_err_t **result_err));
+LDAP_DECLARE(int) ap_ldap_init(apr_pool_t *pool,
+ LDAP **ldap,
+ const char *hostname,
+ int portno,
+ int secure,
+ ap_ldap_err_t **result_err);
/**
* LDAP info function
* @param pool The pool to use
* @param result_err The returned result
*/
-APR_DECLARE_OPTIONAL_FN(int, ap_ldap_info, (apr_pool_t *pool,
- ap_ldap_err_t **result_err));
+LDAP_DECLARE(int) ap_ldap_info(apr_pool_t *pool,
+ ap_ldap_err_t **result_err);
#ifdef __cplusplus
}
* @param result_err The ap_ldap_err_t structure contained detailed results
* of the operation.
*/
-APR_DECLARE_OPTIONAL_FN(int, ap_ldap_get_option, (apr_pool_t *pool,
- LDAP *ldap,
- int option,
- void *outvalue,
- ap_ldap_err_t **result_err));
+LDAP_DECLARE(int) ap_ldap_get_option(apr_pool_t *pool,
+ LDAP *ldap,
+ int option,
+ void *outvalue,
+ ap_ldap_err_t **result_err);
/**
* LDAP set option function
* @param result_err The ap_ldap_err_t structure contained detailed results
* of the operation.
*/
-APR_DECLARE_OPTIONAL_FN(int, ap_ldap_set_option, (apr_pool_t *pool,
- LDAP *ldap,
- int option,
- const void *invalue,
- ap_ldap_err_t **result_err));
+LDAP_DECLARE(int) ap_ldap_set_option(apr_pool_t *pool,
+ LDAP *ldap,
+ int option,
+ const void *invalue,
+ ap_ldap_err_t **result_err);
#ifdef __cplusplus
}
* This function creates the lock for controlling access to the xref list..
* @param pool Pool to use when creating the xref_lock.
*/
-APR_DECLARE_OPTIONAL_FN(apr_status_t, ap_ldap_rebind_init, (apr_pool_t *pool));
+LDAP_DECLARE(apr_status_t) ap_ldap_rebind_init(apr_pool_t *pool);
/**
* @param bindPW The bind Password to be used for any binds while
* chasing referrals on this ldap connection.
*/
-APR_DECLARE_OPTIONAL_FN(apr_status_t, ap_ldap_rebind_add, (apr_pool_t *pool,
- LDAP *ld,
- const char *bindDN,
- const char *bindPW));
+LDAP_DECLARE(apr_status_t) ap_ldap_rebind_add(apr_pool_t *pool,
+ LDAP *ld,
+ const char *bindDN,
+ const char *bindPW);
/**
* LDAP rebind_remove function
*
* @param ld The LDAP connectionhandle
*/
-APR_DECLARE_OPTIONAL_FN(apr_status_t, ap_ldap_rebind_remove, (LDAP *ld));
+LDAP_DECLARE(apr_status_t) ap_ldap_rebind_remove(LDAP *ld);
#endif /* AP_HAS_LDAP */
#include "apu.h"
#include "apr_pools.h"
-#include "apr_optional.h"
-
#if defined(DOXYGEN)
#include "ap_ldap.h"
#endif
* Is this URL an ldap url? ldap://
* @param url The url to test
*/
-APR_DECLARE_OPTIONAL_FN(int, ap_ldap_is_ldap_url, (const char *url));
+LDAP_DECLARE(int) ap_ldap_is_ldap_url(const char *url);
/**
* Is this URL an SSL ldap url? ldaps://
* @param url The url to test
*/
-APR_DECLARE_OPTIONAL_FN(int, ap_ldap_is_ldaps_url, (const char *url));
+LDAP_DECLARE(int) ap_ldap_is_ldaps_url(const char *url);
/**
* Is this URL an ldap socket url? ldapi://
* @param url The url to test
*/
-APR_DECLARE_OPTIONAL_FN(int, ap_ldap_is_ldapi_url, (const char *url));
+LDAP_DECLARE(int) ap_ldap_is_ldapi_url(const char *url);
/**
* Parse an LDAP URL.
* @param ludpp The structure to return the exploded URL
* @param result_err The result structure of the operation
*/
-APR_DECLARE_OPTIONAL_FN(int, ap_ldap_url_parse_ext, (apr_pool_t *pool,
- const char *url_in,
- ap_ldap_url_desc_t **ludpp,
- ap_ldap_err_t **result_err));
+LDAP_DECLARE(int) ap_ldap_url_parse_ext(apr_pool_t *pool,
+ const char *url_in,
+ ap_ldap_url_desc_t **ludpp,
+ ap_ldap_err_t **result_err);
/**
* Parse an LDAP URL.
* @param ludpp The structure to return the exploded URL
* @param result_err The result structure of the operation
*/
-APR_DECLARE_OPTIONAL_FN(int, ap_ldap_url_parse, (apr_pool_t *pool,
- const char *url_in,
- ap_ldap_url_desc_t **ludpp,
- ap_ldap_err_t **result_err));
+LDAP_DECLARE(int) ap_ldap_url_parse(apr_pool_t *pool,
+ const char *url_in,
+ ap_ldap_url_desc_t **ludpp,
+ ap_ldap_err_t **result_err);
#ifdef __cplusplus
}
static APR_OPTIONAL_FN_TYPE(uldap_cache_checkuserid) *util_ldap_cache_checkuserid;
static APR_OPTIONAL_FN_TYPE(uldap_cache_getuserdn) *util_ldap_cache_getuserdn;
static APR_OPTIONAL_FN_TYPE(uldap_ssl_supported) *util_ldap_ssl_supported;
-static APR_OPTIONAL_FN_TYPE(ap_ldap_url_parse) *util_ldap_url_parse;
static apr_hash_t *charset_conversions = NULL;
static char *to_charset = NULL; /* UTF-8 identifier derived from the charset.conv file */
authn_ldap_config_t *sec = config;
- rc = util_ldap_url_parse(cmd->pool, url, &(urld), &(result));
+ rc = ap_ldap_url_parse(cmd->pool, url, &(urld), &(result));
if (rc != APR_SUCCESS) {
return result->reason;
}
util_ldap_cache_getuserdn = APR_RETRIEVE_OPTIONAL_FN(uldap_cache_getuserdn);
util_ldap_ssl_supported = APR_RETRIEVE_OPTIONAL_FN(uldap_ssl_supported);
util_ldap_cache_check_subgroups = APR_RETRIEVE_OPTIONAL_FN(uldap_cache_check_subgroups);
- util_ldap_url_parse = APR_RETRIEVE_OPTIONAL_FN(ap_ldap_url_parse);
}
static void register_hooks(apr_pool_t *p)
+++ /dev/null
-/* 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.
- */
-
-#ifndef AP_LDAP_PRIVATE_H
-#define AP_LDAP_PRIVATE_H
-
-#define LDAP_DECLARE(x) x
-
-#include "ap_ldap.h"
-
-/* Private declarations of API functions accessible only internally by
- * mod_ldap; these are all exported and the corresponding API docs are
- * in ap_ldap_*.h. */
-
-LDAP_DECLARE(int) ap_ldap_get_option(apr_pool_t *pool,
- LDAP *ldap,
- int option,
- void *outvalue,
- ap_ldap_err_t **result_err);
-
-LDAP_DECLARE(int) ap_ldap_set_option(apr_pool_t *pool,
- LDAP *ldap,
- int option,
- const void *invalue,
- ap_ldap_err_t **result_err);
-
-LDAP_DECLARE(int) ap_ldap_ssl_init(apr_pool_t *pool,
- const char *cert_auth_file,
- int cert_file_type,
- ap_ldap_err_t **result_err);
-LDAP_DECLARE(int) ap_ldap_ssl_deinit(void);
-LDAP_DECLARE(int) ap_ldap_init(apr_pool_t *pool,
- LDAP **ldap,
- const char *hostname,
- int portno,
- int secure,
- ap_ldap_err_t **result_err);
-
-LDAP_DECLARE(int) ap_ldap_info(apr_pool_t *pool,
- ap_ldap_err_t **result_err);
-
-LDAP_DECLARE(int) ap_ldap_is_ldap_url(const char *url);
-LDAP_DECLARE(int) ap_ldap_is_ldaps_url(const char *url);
-LDAP_DECLARE(int) ap_ldap_is_ldapi_url(const char *url);
-LDAP_DECLARE(int) ap_ldap_url_parse_ext(apr_pool_t *pool,
- const char *url_in,
- ap_ldap_url_desc_t **ludpp,
- ap_ldap_err_t **result_err);
-LDAP_DECLARE(int) ap_ldap_url_parse(apr_pool_t *pool,
- const char *url_in,
- ap_ldap_url_desc_t **ludpp,
- ap_ldap_err_t **result_err);
-
-LDAP_DECLARE(apr_status_t) ap_ldap_rebind_init(apr_pool_t *pool);
-LDAP_DECLARE(apr_status_t) ap_ldap_rebind_add(apr_pool_t *pool,
- LDAP *ld,
- const char *bindDN,
- const char *bindPW);
-LDAP_DECLARE(apr_status_t) ap_ldap_rebind_remove(LDAP *ld);
-
-#endif /* AP_LDAP_PRIVATE_H */
#error mod_ldap requires httpd to detect LDAP support
#endif
-#include "ldap_private.h"
-
#ifdef LDAP_OPT_DEBUG_LEVEL
#define AP_LDAP_OPT_DEBUG LDAP_OPT_DEBUG_LEVEL
#else
APR_REGISTER_OPTIONAL_FN(uldap_ssl_supported);
APR_REGISTER_OPTIONAL_FN(uldap_cache_check_subgroups);
- APR_REGISTER_OPTIONAL_FN(ap_ldap_get_option);
- APR_REGISTER_OPTIONAL_FN(ap_ldap_info);
- APR_REGISTER_OPTIONAL_FN(ap_ldap_init);
- APR_REGISTER_OPTIONAL_FN(ap_ldap_is_ldap_url);
- APR_REGISTER_OPTIONAL_FN(ap_ldap_is_ldapi_url);
- APR_REGISTER_OPTIONAL_FN(ap_ldap_is_ldaps_url);
- APR_REGISTER_OPTIONAL_FN(ap_ldap_rebind_add);
- APR_REGISTER_OPTIONAL_FN(ap_ldap_rebind_init);
- APR_REGISTER_OPTIONAL_FN(ap_ldap_rebind_remove);
- APR_REGISTER_OPTIONAL_FN(ap_ldap_set_option);
- APR_REGISTER_OPTIONAL_FN(ap_ldap_ssl_deinit);
- APR_REGISTER_OPTIONAL_FN(ap_ldap_ssl_init);
- APR_REGISTER_OPTIONAL_FN(ap_ldap_url_parse);
- APR_REGISTER_OPTIONAL_FN(ap_ldap_url_parse_ext);
-
ap_hook_pre_config(util_ldap_pre_config, NULL, NULL, APR_HOOK_MIDDLE);
ap_hook_post_config(util_ldap_post_config,NULL,NULL,APR_HOOK_MIDDLE);
ap_hook_handler(util_ldap_handler, NULL, NULL, APR_HOOK_MIDDLE);