--- bind-9.4.0b2/contrib/dlz/drivers/dlz_ldap_driver.c 2005-09-05 00:18:19.000000000 +0000 +++ bind-9.4.0b2.patched/contrib/dlz/drivers/dlz_ldap_driver.c 2006-10-30 18:53:14.000000000 +0000 @@ -136,6 +136,17 @@ isc_result_t result = ISC_R_SUCCESS; int ldap_result; LDAPURLDesc *ldap_url = NULL; + char * pch; + int i; + + while (1) { + pch = (char*) memchr (URL, '%', strlen(URL)); + if (pch!=NULL) { + // printf ("Character l was at position %d.\n", pch-URL3+1); + i = pch-URL; + URL[i] = '_'; + } else break; + } if (!ldap_is_ldap_url(URL)) { isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE, @@ -203,6 +214,15 @@ if (ldap_url != NULL) ldap_free_urldesc(ldap_url); + while (1) { + pch = (char*) memchr (URL, '_', strlen(URL)); + if (pch!=NULL) { + // printf ("Character l was at position %d.\n", pch-URL3+1); + i = pch-URL; + URL[i] = '%'; + } else break; + } + return result; } /*% Connects / reconnects to LDAP server */