Skip to content

Commit

Permalink
Enable OpenLDAP support for cygwin builds.
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
yangtse committed Jun 4, 2010
1 parent bc0f3dd commit 43d20d8
Show file tree
Hide file tree
Showing 10 changed files with 30 additions and 72 deletions.
8 changes: 8 additions & 0 deletions CHANGES
Expand Up @@ -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
Expand Down
9 changes: 2 additions & 7 deletions CMakeLists.txt
Expand Up @@ -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)
Expand Down
1 change: 1 addition & 0 deletions RELEASE-NOTES
Expand Up @@ -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:

Expand Down
41 changes: 8 additions & 33 deletions configure.ac
Expand Up @@ -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,
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down
5 changes: 1 addition & 4 deletions lib/config-symbian.h
Expand Up @@ -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 */
Expand Down
5 changes: 1 addition & 4 deletions lib/config-vxworks.h
Expand Up @@ -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 */
Expand Down
3 changes: 0 additions & 3 deletions lib/config-win32.h
Expand Up @@ -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
Expand Down
1 change: 0 additions & 1 deletion lib/config-win32ce.h
Expand Up @@ -379,7 +379,6 @@
/* ---------------------------------------------------------------- */

#define CURL_LDAP_WIN 1
#undef CURL_LDAP_HYBRID
#undef HAVE_LDAP_URL_PARSE

/* ---------------------------------------------------------------- */
Expand Down
5 changes: 1 addition & 4 deletions lib/curl_config.h.cmake
Expand Up @@ -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 */
Expand Down
24 changes: 8 additions & 16 deletions lib/ldap.c
Expand Up @@ -43,30 +43,22 @@
#include <ctype.h>
#include <errno.h>

#ifdef CURL_LDAP_HYBRID /* If W$ definitions are needed. */
# include <windows.h>
/* 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 <winldap.h>
# ifndef LDAP_VENDOR_NAME
# error Your Platform SDK is NOT sufficient for LDAP support! Update your Platform SDK, or disable LDAP support!
# else
# include <winber.h>
# endif
#else
#define LDAP_DEPRECATED 1 /* Be sure ldap_init() is defined. */
#ifdef HAVE_LBER_H
# include <lber.h>
#endif
# define LDAP_DEPRECATED 1 /* Be sure ldap_init() is defined. */
# ifdef HAVE_LBER_H
# include <lber.h>
# endif
# include <ldap.h>
#if (defined(HAVE_LDAP_SSL) && defined(HAVE_LDAP_SSL_H))
# include <ldap_ssl.h>
#endif /* HAVE_LDAP_SSL && HAVE_LDAP_SSL_H */
# if (defined(HAVE_LDAP_SSL) && defined(HAVE_LDAP_SSL_H))
# include <ldap_ssl.h>
# endif /* HAVE_LDAP_SSL && HAVE_LDAP_SSL_H */
#endif

#ifdef HAVE_UNISTD_H
Expand Down

0 comments on commit 43d20d8

Please sign in to comment.