apr_ldap.h revision 251886
1251886Speter/* $FreeBSD: head/usr.bin/svn/lib/libapr_util/apr_ldap.h 251886 2013-06-18 02:53:45Z peter $ */ 2251886Speter/* Licensed to the Apache Software Foundation (ASF) under one or more 3251886Speter * contributor license agreements. See the NOTICE file distributed with 4251886Speter * this work for additional information regarding copyright ownership. 5251886Speter * The ASF licenses this file to You under the Apache License, Version 2.0 6251886Speter * (the "License"); you may not use this file except in compliance with 7251886Speter * the License. You may obtain a copy of the License at 8251886Speter * 9251886Speter * http://www.apache.org/licenses/LICENSE-2.0 10251886Speter * 11251886Speter * Unless required by applicable law or agreed to in writing, software 12251886Speter * distributed under the License is distributed on an "AS IS" BASIS, 13251886Speter * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14251886Speter * See the License for the specific language governing permissions and 15251886Speter * limitations under the License. 16251886Speter */ 17251886Speter 18251886Speter/* 19251886Speter * apr_ldap.h is generated from apr_ldap.h.in by configure -- do not edit apr_ldap.h 20251886Speter */ 21251886Speter/** 22251886Speter * @file apr_ldap.h 23251886Speter * @brief APR-UTIL LDAP 24251886Speter */ 25251886Speter#ifndef APU_LDAP_H 26251886Speter#define APU_LDAP_H 27251886Speter 28251886Speter/** 29251886Speter * @defgroup APR_Util_LDAP LDAP 30251886Speter * @ingroup APR_Util 31251886Speter * @{ 32251886Speter */ 33251886Speter 34251886Speter/* this will be defined if LDAP support was compiled into apr-util */ 35251886Speter#define APR_HAS_LDAP 0 36251886Speter 37251886Speter/* identify the LDAP toolkit used */ 38251886Speter#define APR_HAS_NETSCAPE_LDAPSDK 0 39251886Speter#define APR_HAS_SOLARIS_LDAPSDK 0 40251886Speter#define APR_HAS_NOVELL_LDAPSDK 0 41251886Speter#define APR_HAS_MOZILLA_LDAPSDK 0 42251886Speter#define APR_HAS_OPENLDAP_LDAPSDK 0 43251886Speter#define APR_HAS_MICROSOFT_LDAPSDK 0 44251886Speter#define APR_HAS_ZOS_LDAPSDK 0 45251886Speter#define APR_HAS_OTHER_LDAPSDK 0 46251886Speter 47251886Speter 48251886Speter/* 49251886Speter * Handle the case when LDAP is enabled 50251886Speter */ 51251886Speter#if APR_HAS_LDAP 52251886Speter 53251886Speter/* 54251886Speter * The following #defines are DEPRECATED and should not be used for 55251886Speter * anything. They remain to maintain binary compatibility. 56251886Speter * The original code defined the OPENLDAP SDK as present regardless 57251886Speter * of what really was there, which was way bogus. In addition, the 58251886Speter * apr_ldap_url_parse*() functions have been rewritten specifically for 59251886Speter * APR, so the APR_HAS_LDAP_URL_PARSE macro is forced to zero. 60251886Speter */ 61251886Speter#define APR_HAS_LDAP_SSL 1 62251886Speter#define APR_HAS_LDAP_URL_PARSE 0 63251886Speter 64251886Speter#if APR_HAS_OPENLDAP_LDAPSDK && !defined(LDAP_DEPRECATED) 65251886Speter/* Ensure that the "deprecated" interfaces are still exposed 66251886Speter * with OpenLDAP >= 2.3; these were exposed by default in earlier 67251886Speter * releases. */ 68251886Speter#define LDAP_DEPRECATED 1 69251886Speter#endif 70251886Speter 71251886Speter/* 72251886Speter * Include the standard LDAP header files. 73251886Speter */ 74251886Speter 75251886Speter 76251886Speter 77251886Speter 78251886Speter 79251886Speter 80251886Speter/* 81251886Speter * Detected standard functions 82251886Speter */ 83251886Speter#define APR_HAS_LDAPSSL_CLIENT_INIT 0 84251886Speter#define APR_HAS_LDAPSSL_CLIENT_DEINIT 0 85251886Speter#define APR_HAS_LDAPSSL_ADD_TRUSTED_CERT 0 86251886Speter#define APR_HAS_LDAP_START_TLS_S 0 87251886Speter#define APR_HAS_LDAP_SSLINIT 0 88251886Speter#define APR_HAS_LDAPSSL_INIT 0 89251886Speter#define APR_HAS_LDAPSSL_INSTALL_ROUTINES 0 90251886Speter 91251886Speter/* 92251886Speter * Make sure the secure LDAP port is defined 93251886Speter */ 94251886Speter#ifndef LDAPS_PORT 95251886Speter#define LDAPS_PORT 636 /* ldaps:/// default LDAP over TLS port */ 96251886Speter#endif 97251886Speter 98251886Speter/* 99251886Speter * For ldap function calls that input a size limit on the number of returned elements 100251886Speter * Some SDKs do not have the define for LDAP_DEFAULT_LIMIT (-1) or LDAP_NO_LIMIT (0) 101251886Speter */ 102251886Speter#if APR_HAS_ZOS_LDAPSDK 103251886Speter#define APR_LDAP_SIZELIMIT LDAP_NO_LIMIT 104251886Speter#else 105251886Speter#ifdef LDAP_DEFAULT_LIMIT 106251886Speter#define APR_LDAP_SIZELIMIT LDAP_DEFAULT_LIMIT 107251886Speter#else 108251886Speter#define APR_LDAP_SIZELIMIT -1 /* equivalent to LDAP_DEFAULT_LIMIT */ 109251886Speter#endif 110251886Speter#endif 111251886Speter 112251886Speter/* 113251886Speter * z/OS is missing some defines 114251886Speter */ 115251886Speter#ifndef LDAP_VERSION_MAX 116251886Speter#define LDAP_VERSION_MAX LDAP_VERSION 117251886Speter#endif 118251886Speter#if APR_HAS_ZOS_LDAPSDK 119251886Speter#define LDAP_VENDOR_NAME "IBM z/OS" 120251886Speter#endif 121251886Speter 122251886Speter/* Note: Macros defining const casting has been removed in APR v1.0, 123251886Speter * pending real support for LDAP v2.0 toolkits. 124251886Speter * 125251886Speter * In the mean time, please use an LDAP v3.0 toolkit. 126251886Speter */ 127251886Speter#if LDAP_VERSION_MAX <= 2 128251886Speter#error Support for LDAP v2.0 toolkits has been removed from apr-util. Please use an LDAP v3.0 toolkit. 129251886Speter#endif 130251886Speter 131251886Speter#ifdef __cplusplus 132251886Speterextern "C" { 133251886Speter#endif /* __cplusplus */ 134251886Speter 135251886Speter/** 136251886Speter * This structure allows the C LDAP API error codes to be returned 137251886Speter * along with plain text error messages that explain to us mere mortals 138251886Speter * what really happened. 139251886Speter */ 140251886Spetertypedef struct apr_ldap_err_t { 141251886Speter const char *reason; 142251886Speter const char *msg; 143251886Speter int rc; 144251886Speter} apr_ldap_err_t; 145251886Speter 146251886Speter#ifdef __cplusplus 147251886Speter} 148251886Speter#endif 149251886Speter 150251886Speter#include "apr_ldap_url.h" 151251886Speter#include "apr_ldap_init.h" 152251886Speter#include "apr_ldap_option.h" 153251886Speter 154251886Speter/** @} */ 155251886Speter#endif /* APR_HAS_LDAP */ 156251886Speter#endif /* APU_LDAP_H */ 157