Author: jerry Date: 2006-07-27 12:20:19 +0000 (Thu, 27 Jul 2006) New Revision: 17271
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=17271 Log: Fix a regression in the ldapsam uri syntax. Allow multiple LDAP URIs to be grouped by "" Modified: branches/SAMBA_3_0/source/passdb/pdb_ldap.c branches/SAMBA_3_0_23/source/passdb/pdb_ldap.c Changeset: Modified: branches/SAMBA_3_0/source/passdb/pdb_ldap.c =================================================================== --- branches/SAMBA_3_0/source/passdb/pdb_ldap.c 2006-07-27 11:24:18 UTC (rev 17270) +++ branches/SAMBA_3_0/source/passdb/pdb_ldap.c 2006-07-27 12:20:19 UTC (rev 17271) @@ -5492,15 +5492,15 @@ struct ldapsam_privates *ldap_state; char *uri = talloc_strdup( NULL, location ); - if (!NT_STATUS_IS_OK(nt_status = pdb_init_ldapsam_common( pdb_method, uri ))) { + trim_char( uri, '\"', '\"' ); + nt_status = pdb_init_ldapsam_common( pdb_method, uri ); + if ( uri ) + TALLOC_FREE( uri ); + + if ( !NT_STATUS_IS_OK(nt_status) ) { return nt_status; } - /* the module itself stores a copy of the location so throw this one away */ - - if ( uri ) - TALLOC_FREE( uri ); - (*pdb_method)->name = "ldapsam_compat"; ldap_state = (struct ldapsam_privates *)((*pdb_method)->private_data); @@ -5527,8 +5527,13 @@ DOM_SID secrets_domain_sid; pstring domain_sid_string; char *dn; + char *uri = talloc_strdup( NULL, location ); - nt_status = pdb_init_ldapsam_common(pdb_method, location); + trim_char( uri, '\"', '\"' ); + nt_status = pdb_init_ldapsam_common(pdb_method, uri); + if ( uri ) + TALLOC_FREE( uri ); + if (!NT_STATUS_IS_OK(nt_status)) { return nt_status; } Modified: branches/SAMBA_3_0_23/source/passdb/pdb_ldap.c =================================================================== --- branches/SAMBA_3_0_23/source/passdb/pdb_ldap.c 2006-07-27 11:24:18 UTC (rev 17270) +++ branches/SAMBA_3_0_23/source/passdb/pdb_ldap.c 2006-07-27 12:20:19 UTC (rev 17271) @@ -5489,15 +5489,15 @@ struct ldapsam_privates *ldap_state; char *uri = talloc_strdup( NULL, location ); - if (!NT_STATUS_IS_OK(nt_status = pdb_init_ldapsam_common( pdb_method, uri ))) { + trim_char( uri, '\"', '\"' ); + nt_status = pdb_init_ldapsam_common( pdb_method, uri ); + if ( uri ) + TALLOC_FREE( uri ); + + if ( !NT_STATUS_IS_OK(nt_status) ) { return nt_status; } - /* the module itself stores a copy of the location so throw this one away */ - - if ( uri ) - TALLOC_FREE( uri ); - (*pdb_method)->name = "ldapsam_compat"; ldap_state = (*pdb_method)->private_data; @@ -5524,8 +5524,13 @@ DOM_SID secrets_domain_sid; pstring domain_sid_string; char *dn; + char *uri = talloc_strdup( NULL, location ); - nt_status = pdb_init_ldapsam_common(pdb_method, location); + trim_char( uri, '\"', '\"' ); + nt_status = pdb_init_ldapsam_common(pdb_method, uri); + if ( uri ) + TALLOC_FREE( uri ); + if (!NT_STATUS_IS_OK(nt_status)) { return nt_status; }
