]> git.sur5r.net Git - openldap/commitdiff
fix URI parsing error code
authorPierangelo Masarati <ando@openldap.org>
Mon, 5 Jul 2004 12:03:39 +0000 (12:03 +0000)
committerPierangelo Masarati <ando@openldap.org>
Mon, 5 Jul 2004 12:03:39 +0000 (12:03 +0000)
clients/tools/common.c
libraries/libldap/options.c

index 0f0c6ab940ea577a3e78a21bb04524def21a3ac9..5617d49c1e53a9bd09fc324e8c686a2f7dffe635 100644 (file)
@@ -709,8 +709,8 @@ tool_conn_setup( int not, void (*private_setup)( LDAP * ) )
                rc = ldap_initialize( &ld, ldapuri );
                if( rc != LDAP_SUCCESS ) {
                        fprintf( stderr,
-                               "Could not create LDAP session handle (%d): %s\n",
-                               rc, ldap_err2string(rc) );
+                               "Could not create LDAP session handle for URI=%s %d): %s\n",
+                               ldapuri, rc, ldap_err2string(rc) );
                        exit( EXIT_FAILURE );
                }
 
index c8b2ac286a1b8bcd8a084588219ecb966cab801f..f191cb8161c4d3b34e58e5f104aee74ae392cf27 100644 (file)
@@ -529,7 +529,6 @@ ldap_set_option(
 
                        if(urls != NULL) {
                                rc = ldap_url_parselist(&ludlist, urls);
-
                        } else if(ld == NULL) {
                                /*
                                 * must want global default returned
@@ -548,6 +547,28 @@ ldap_set_option(
                                        rc = LDAP_NO_MEMORY;
                        }
 
+                       switch (rc) {
+                       case LDAP_URL_SUCCESS:          /* Success */
+                               rc = LDAP_SUCCESS;
+                               break;
+
+                       case LDAP_URL_ERR_MEM:          /* can't allocate memory space */
+                               rc = LDAP_NO_MEMORY;
+                               break;
+
+                       case LDAP_URL_ERR_PARAM:        /* parameter is bad */
+                       case LDAP_URL_ERR_BADSCHEME:    /* URL doesn't begin with "ldap[si]://" */
+                       case LDAP_URL_ERR_BADENCLOSURE: /* URL is missing trailing ">" */
+                       case LDAP_URL_ERR_BADURL:       /* URL is bad */
+                       case LDAP_URL_ERR_BADHOST:      /* host port is bad */
+                       case LDAP_URL_ERR_BADATTRS:     /* bad (or missing) attributes */
+                       case LDAP_URL_ERR_BADSCOPE:     /* scope string is invalid (or missing) */
+                       case LDAP_URL_ERR_BADFILTER:    /* bad or missing filter */
+                       case LDAP_URL_ERR_BADEXTS:      /* bad or missing extensions */
+                               rc = LDAP_PARAM_ERROR;
+                               break;
+                       }
+
                        if (rc == LDAP_OPT_SUCCESS) {
                                if (lo->ldo_defludp != NULL)
                                        ldap_free_urllist(lo->ldo_defludp);