From 43d20d81a55a0e30becea04b7e607775093ce6eb Mon Sep 17 00:00:00 2001 From: Yang Tse Date: Fri, 4 Jun 2010 15:14:31 +0200 Subject: Enable OpenLDAP support for cygwin builds. Enable OpenLDAP support for cygwin builds. This support was disabled back in 2008 due to incompatibilities between OpenSSL and OpenLDAP headers. cygwin's OpenSSL 0.9.8l and OpenLDAP 2.3.43 versions on cygwin 1.5.25 allow building an OpenLDAP enabled libcurl supporting back to Windows 95. Remove non-functional CURL_LDAP_HYBRID code and references. --- CHANGES | 8 ++++++++ CMakeLists.txt | 9 ++------- RELEASE-NOTES | 1 + configure.ac | 41 ++++++++--------------------------------- lib/config-symbian.h | 5 +---- lib/config-vxworks.h | 5 +---- lib/config-win32.h | 3 --- lib/config-win32ce.h | 1 - lib/curl_config.h.cmake | 5 +---- lib/ldap.c | 24 ++++++++---------------- 10 files changed, 30 insertions(+), 72 deletions(-) diff --git a/CHANGES b/CHANGES index 02501a350..4b99f099c 100644 --- a/CHANGES +++ b/CHANGES @@ -6,6 +6,14 @@ Changelog +Yang Tse (4 June 2010) +- Enabled OpenLDAP support for cygwin builds. This support was disabled back + in 2008 due to incompatibilities between OpenSSL and OpenLDAP headers. + cygwin's OpenSSL 0.9.8l and OpenLDAP 2.3.43 versions on cygwin 1.5.25 + allow building an OpenLDAP enabled libcurl supporting back to Windows 95. + + Removed the non-functional CURL_LDAP_HYBRID code and references. + Daniel Stenberg (2 June 2010) - Jason McDonald posted bug report #3006786 when he found that the SFTP code didn't timeout properly in several places in the code even if a timeout was diff --git a/CMakeLists.txt b/CMakeLists.txt index 56c42785f..a9bde719a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -120,16 +120,11 @@ if(WIN32) if( NOT HAVE_WLDAP32) set(CURL_DISABLE_LDAP ON CACHE BOOL "" FORCE) message(STATUS "wldap32 not found CURL_DISABLE_LDAP set ON") - option(CURL_LDAP_WIN "Use W$ LDAP implementation" OFF) + option(CURL_LDAP_WIN "Use Windows LDAP implementation" OFF) else() - option(CURL_LDAP_WIN "Use W$ LDAP implementation" ON) + option(CURL_LDAP_WIN "Use Windows LDAP implementation" ON) endif() mark_as_advanced(CURL_LDAP_WIN) - set(CURL_LDAP_HYBRID OFF) -else() - option(CURL_LDAP_HYBRID "W$ LDAP with non-W$ compiler" OFF) - mark_as_advanced(CURL_LDAP_HYBRID) - set(CURL_LDAP_WIN OFF) endif() if(HTTP_ONLY) diff --git a/RELEASE-NOTES b/RELEASE-NOTES index 49beadeec..e9f5852e6 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -16,6 +16,7 @@ This release includes the following changes: o added support for FTP wildcard matching and downloads o added support for RTMP o introducing new LDAP code for new enough OpenLDAP + o OpenLDAP support enabled for cygwin builds This release includes the following bugfixes: diff --git a/configure.ac b/configure.ac index 9af5316cb..af30b8a69 100644 --- a/configure.ac +++ b/configure.ac @@ -371,28 +371,10 @@ AC_HELP_STRING([--disable-ldap],[Disable LDAP support]), AC_SUBST(CURL_DISABLE_LDAP, [1]) ;; *) - case $host in - *-*-cygwin*) - # Force no ldap. config/build process is broken for cygwin - AC_DEFINE(CURL_DISABLE_LDAP, 1, [to disable LDAP]) - AC_SUBST(CURL_DISABLE_LDAP, [1]) - AC_MSG_RESULT(no) - ;; - *) - AC_MSG_RESULT(yes) - esac + AC_MSG_RESULT(yes) ;; esac ],[ - case $host in - *-*-cygwin*) - # Force no ldap. config/build process is broken for cygwin - AC_DEFINE(CURL_DISABLE_LDAP, 1, [to disable LDAP]) - AC_SUBST(CURL_DISABLE_LDAP, [1]) - AC_MSG_RESULT(no) - ;; - *) - AC_MSG_RESULT(yes) - esac ] + AC_MSG_RESULT(yes) ] ) AC_MSG_CHECKING([whether to support ldaps]) AC_ARG_ENABLE(ldaps, @@ -810,13 +792,11 @@ if test x$CURL_DISABLE_LDAP != x1 ; then CURL_CHECK_HEADER_LDAP_SSL if test -z "$LDAPLIBNAME" ; then - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32*) - dnl Windows uses a single and unique OpenLDAP DLL name - LDAPLIBNAME="wldap32" - LBERLIBNAME="no" - ;; - esac + if test "$ac_cv_native_windows" = "yes"; then + dnl Windows uses a single and unique LDAP library name + LDAPLIBNAME="wldap32" + LBERLIBNAME="no" + fi fi if test "$LDAPLIBNAME" ; then @@ -862,12 +842,7 @@ if test x$CURL_DISABLE_LDAP != x1 ; then if test "$LDAPLIBNAME" = "wldap32"; then curl_ldap_msg="enabled (winldap)" - AC_DEFINE(CURL_LDAP_WIN, 1, [Use W$ LDAP implementation]) - case $host in - *-*-cygwin* | *-*-pw32*) - AC_DEFINE(CURL_LDAP_HYBRID, 1, [W$ LDAP with non-W$ compiler]) - ;; - esac + AC_DEFINE(CURL_LDAP_WIN, 1, [Use Windows LDAP implementation]) else curl_ldap_msg="enabled (OpenLDAP)" if test "x$ac_cv_func_ldap_init_fd" = "xyes"; then diff --git a/lib/config-symbian.h b/lib/config-symbian.h index f5589fe78..9f8b74a57 100644 --- a/lib/config-symbian.h +++ b/lib/config-symbian.h @@ -48,10 +48,7 @@ /* to enable hidden symbols */ /*#define CURL_HIDDEN_SYMBOLS 1*/ -/* W$ LDAP with non-W$ compiler */ -/* #undef CURL_LDAP_HYBRID */ - -/* Use W$ LDAP implementation */ +/* Use Windows LDAP implementation */ /* #undef CURL_LDAP_WIN */ /* when not building a shared library */ diff --git a/lib/config-vxworks.h b/lib/config-vxworks.h index 3ad36d233..f7797fd0e 100644 --- a/lib/config-vxworks.h +++ b/lib/config-vxworks.h @@ -59,10 +59,7 @@ /* to enable hidden symbols */ /* #undef CURL_HIDDEN_SYMBOLS */ -/* W$ LDAP with non-W$ compiler */ -/* #undef CURL_LDAP_HYBRID */ - -/* Use W$ LDAP implementation */ +/* Use Windows LDAP implementation */ /* #undef CURL_LDAP_WIN */ /* when not building a shared library */ diff --git a/lib/config-win32.h b/lib/config-win32.h index 43997faf1..0c254707a 100644 --- a/lib/config-win32.h +++ b/lib/config-win32.h @@ -535,16 +535,13 @@ /* ---------------------------------------------------------------- */ #if defined(CURL_HAS_NOVELL_LDAPSDK) || defined(CURL_HAS_MOZILLA_LDAPSDK) -#undef CURL_LDAP_HYBRID #undef CURL_LDAP_WIN #define HAVE_LDAP_SSL_H 1 #define HAVE_LDAP_URL_PARSE 1 #elif defined(CURL_HAS_OPENLDAP_LDAPSDK) -#undef CURL_LDAP_HYBRID #undef CURL_LDAP_WIN #define HAVE_LDAP_URL_PARSE 1 #else -#undef CURL_LDAP_HYBRID #undef HAVE_LDAP_URL_PARSE #define CURL_LDAP_WIN 1 #endif diff --git a/lib/config-win32ce.h b/lib/config-win32ce.h index 058fcc0f0..1f417825e 100644 --- a/lib/config-win32ce.h +++ b/lib/config-win32ce.h @@ -379,7 +379,6 @@ /* ---------------------------------------------------------------- */ #define CURL_LDAP_WIN 1 -#undef CURL_LDAP_HYBRID #undef HAVE_LDAP_URL_PARSE /* ---------------------------------------------------------------- */ diff --git a/lib/curl_config.h.cmake b/lib/curl_config.h.cmake index 14d2719d3..deebe71dc 100644 --- a/lib/curl_config.h.cmake +++ b/lib/curl_config.h.cmake @@ -58,10 +58,7 @@ /* to enable hidden symbols */ #cmakedefine CURL_HIDDEN_SYMBOLS ${CURL_HIDDEN_SYMBOLS} -/* W$ LDAP with non-W$ compiler */ -#cmakedefine CURL_LDAP_HYBRID ${CURL_LDAP_HYBRID} - -/* Use W$ LDAP implementation */ +/* Use Windows LDAP implementation */ #cmakedefine CURL_LDAP_WIN ${CURL_LDAP_WIN} /* when not building a shared library */ diff --git a/lib/ldap.c b/lib/ldap.c index e837dbfdd..d6556c905 100644 --- a/lib/ldap.c +++ b/lib/ldap.c @@ -43,15 +43,7 @@ #include #include -#ifdef CURL_LDAP_HYBRID /* If W$ definitions are needed. */ -# include - /* Remember we are NOT in a W$ compiler! */ -# undef WIN32 -# undef _WIN32 -# undef __WIN32__ -#endif - -#ifdef CURL_LDAP_WIN /* Use W$ LDAP implementation. */ +#ifdef CURL_LDAP_WIN /* Use Windows LDAP implementation. */ # include # ifndef LDAP_VENDOR_NAME # error Your Platform SDK is NOT sufficient for LDAP support! Update your Platform SDK, or disable LDAP support! @@ -59,14 +51,14 @@ # include # endif #else -#define LDAP_DEPRECATED 1 /* Be sure ldap_init() is defined. */ -#ifdef HAVE_LBER_H -# include -#endif +# define LDAP_DEPRECATED 1 /* Be sure ldap_init() is defined. */ +# ifdef HAVE_LBER_H +# include +# endif # include -#if (defined(HAVE_LDAP_SSL) && defined(HAVE_LDAP_SSL_H)) -# include -#endif /* HAVE_LDAP_SSL && HAVE_LDAP_SSL_H */ +# if (defined(HAVE_LDAP_SSL) && defined(HAVE_LDAP_SSL_H)) +# include +# endif /* HAVE_LDAP_SSL && HAVE_LDAP_SSL_H */ #endif #ifdef HAVE_UNISTD_H -- cgit v1.2.3