--- samba-3.0.26a/source/passdb/pdb_ldap.c 2007-08-20 15:04:50.000000000 +0200 +++ samba-3.0.26a/source/passdb/pdb_ldap.c 2007-12-28 11:27:12.000000000 +0100 @@ -1651,7 +1651,10 @@ pdb_get_username(newpwd), ldap_err2string(rc), ld_error?ld_error:"unknown")); SAFE_FREE(ld_error); ber_bvfree(bv); - return NT_STATUS_UNSUCCESSFUL; + if (rc == LDAP_CONSTRAINT_VIOLATION) + return NT_STATUS_PASSWORD_RESTRICTION; + else + return NT_STATUS_UNSUCCESSFUL; } else { DEBUG(3,("ldapsam_modify_entry: LDAP Password changed for user %s\n",pdb_get_username(newpwd))); #ifdef DEBUG_PASSWORD