if (ou == NULL) return -1;
if (cn == NULL) return -1;
- sprintf(this_dn, "cn=%s,ou=%s,%s", cn, ou, config.c_ldap_base_dn);
+ sprintf(this_dn, "euid=%s,ou=%s,%s", cn, ou, config.c_ldap_base_dn);
lprintf(CTDL_DEBUG, "LDAP: Calling ldap_delete_s()\n");
/* Are we just deleting? If so, it's simple... */
if (op == V2L_DELETE) {
- (void) CtdlDoDirectoryServiceFunc (msg->cm_fields['A'], msg->cm_fields['N'], NULL, "ldap", DIRECTORY_USER_DEL);
+ (void) CtdlDoDirectoryServiceFunc (msg->cm_fields['E'], msg->cm_fields['N'], NULL, "ldap", DIRECTORY_USER_DEL);
return;
}
extract_token(state, v->prop[i].value, 4, ';', sizeof state);
extract_token(zipcode, v->prop[i].value, 5, ';', sizeof zipcode);
+ // ldap requires these fields to be something
+ if (IsEmptyStr(street)) strcpy(street, "_");
+ if (IsEmptyStr(zipcode)) strcpy(zipcode, "_");
+ if (IsEmptyStr(city)) strcpy(city, "_");
+ if (IsEmptyStr(state)) strcpy(state, "_");
+
(void) CtdlDoDirectoryServiceFunc("street", street, &objectlist, "ldap", DIRECTORY_ATTRIB_ADD);
(void) CtdlDoDirectoryServiceFunc("l", city, &objectlist, "ldap", DIRECTORY_ATTRIB_ADD);
(void) CtdlDoDirectoryServiceFunc("st", state, &objectlist, "ldap", DIRECTORY_ATTRIB_ADD);