diff options
-rw-r--r-- | source3/passdb/pdb_ldap.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/source3/passdb/pdb_ldap.c b/source3/passdb/pdb_ldap.c index b37c49cb32..da3c8ab517 100644 --- a/source3/passdb/pdb_ldap.c +++ b/source3/passdb/pdb_ldap.c @@ -1198,8 +1198,11 @@ static void make_ldap_mod(LDAP *ldap_struct, LDAPMessage *existing, values = ldap_get_values(ldap_struct, existing, attribute); } + /* all of our string attributes are case insensitive */ + if ((values != NULL) && (values[0] != NULL) && - strcmp(values[0], newval) == 0) { + StrCaseCmp(values[0], newval) == 0) + { /* Believe it or not, but LDAP will deny a delete and an add at the same time if the values are the @@ -1952,7 +1955,7 @@ static BOOL init_sam_from_ldap (struct ldapsam_privates *ldap_state, pdb_set_domain(sampass, domain, PDB_DEFAULT); pdb_set_nt_username(sampass, nt_username, PDB_SET); - + /* deal with different attributes between the schema first */ if ( ldap_state->schema_ver == SCHEMAVER_SAMBASAMACCOUNT ) |