]> git.sur5r.net Git - openldap/commitdiff
Fix ldaps / TLS processing...
authorHoward Chu <hyc@openldap.org>
Fri, 12 May 2000 10:43:20 +0000 (10:43 +0000)
committerHoward Chu <hyc@openldap.org>
Fri, 12 May 2000 10:43:20 +0000 (10:43 +0000)
  open.c: open_ldap_connection was not honoring the TLS config option.
  url.c: ldap_url_dup was not copying the properties.

libraries/libldap/open.c
libraries/libldap/url.c

index 7339bc3415ac762f3ed68e01b6e15cf8fef3f806..856d4f81c43b8a70e61702fb3c23560c1a8fc617 100644 (file)
@@ -268,9 +268,6 @@ open_ldap_connection( LDAP *ld, Sockbuf *sb, LDAPURLDesc *srv,
 {
        int rc = -1;
        int port;
-#ifdef HAVE_TLS
-       int tls;
-#endif
        long addr;
 
        Debug( LDAP_DEBUG_TRACE, "open_ldap_connection\n", 0, 0, 0 );
@@ -306,9 +303,8 @@ open_ldap_connection( LDAP *ld, Sockbuf *sb, LDAPURLDesc *srv,
        ber_pvt_sb_set_io( sb, &ber_pvt_sb_io_tcp, NULL );
 
 #ifdef HAVE_TLS
-       tls = (srv->lud_properties & LDAP_URL_USE_SSL);
-
-       if ( tls != 0 ) {
+       if (ld->ld_options.ldo_tls_mode == LDAP_OPT_X_TLS_HARD ||
+           (srv->lud_properties & LDAP_URL_USE_SSL)) {
                rc = ldap_pvt_tls_start( ld, sb, ld->ld_options.ldo_tls_ctx );
                if (rc != LDAP_SUCCESS)
                        return rc;
index 59b055c43057ac1c0a51a8eafdb2a550782486dc..7be84de9cc717fd9e2e65c470a217160075979bf 100644 (file)
@@ -449,10 +449,12 @@ ldap_url_dup ( LDAPURLDesc *ludp )
                return NULL;
        }
 
-       dest = LDAP_CALLOC( 1, sizeof(LDAPURLDesc) );
+       dest = LDAP_MALLOC( sizeof(LDAPURLDesc) );
        if (dest == NULL)
                return NULL;
        
+       *dest = *ludp;
+
        if ( ludp->lud_host != NULL ) {
                dest->lud_host = LDAP_STRDUP( ludp->lud_host );
                if (dest->lud_host == NULL) {
@@ -493,9 +495,6 @@ ldap_url_dup ( LDAPURLDesc *ludp )
                }
        }
 
-       dest->lud_port = ludp->lud_port;
-       dest->lud_scope = ludp->lud_scope;
-
        return dest;
 }