apr-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From s.@apache.org
Subject svn commit: r1209594 - /apr/apr-util/branches/1.5.x/ldap/apr_ldap_init.c
Date Fri, 02 Dec 2011 17:27:57 GMT
Author: sf
Date: Fri Dec  2 17:27:57 2011
New Revision: 1209594

URL: http://svn.apache.org/viewvc?rev=1209594&view=rev
Log:
Pass secure=1 to ldapssl_init with SolarisLDAP, if appropriate. This commit
carefully avoids changing anything for non-Solaris LDAP SDKs.

PR: 42682

Modified:
    apr/apr-util/branches/1.5.x/ldap/apr_ldap_init.c

Modified: apr/apr-util/branches/1.5.x/ldap/apr_ldap_init.c
URL: http://svn.apache.org/viewvc/apr/apr-util/branches/1.5.x/ldap/apr_ldap_init.c?rev=1209594&r1=1209593&r2=1209594&view=diff
==============================================================================
--- apr/apr-util/branches/1.5.x/ldap/apr_ldap_init.c (original)
+++ apr/apr-util/branches/1.5.x/ldap/apr_ldap_init.c Fri Dec  2 17:27:57 2011
@@ -156,13 +156,29 @@ APU_DECLARE_LDAP(int) apr_ldap_init(apr_
     *result_err = result;
 
 #if APR_HAS_LDAPSSL_INIT
+#if APR_HAS_SOLARIS_LDAPSDK
+    /*
+     * Using the secure argument should aways be possible.  But as LDAP SDKs
+     * tend to have different quirks and bugs, this needs to be tested for
+     * for each of them, first. For Solaris LDAP it works, and the method
+     * with ldap_set_option doesn't.
+     */
+    *ldap = ldapssl_init(hostname, portno, secure == APR_LDAP_SSL);
+#else
     *ldap = ldapssl_init(hostname, portno, 0);
+#endif
 #elif APR_HAS_LDAP_SSLINIT
     *ldap = ldap_sslinit((char *)hostname, portno, 0);
 #else
     *ldap = ldap_init((char *)hostname, portno);
 #endif
+
     if (*ldap != NULL) {
+#if APR_HAS_SOLARIS_LDAPSDK
+        if (secure == APR_LDAP_SSL)
+            return APR_SUCCESS;
+        else
+#endif
         return apr_ldap_set_option(pool, *ldap, APR_LDAP_OPT_TLS, &secure, result_err);
     }
     else {



Mime
View raw message