rc = ldap_add2group(target->handle, nickserv_conf.ldap_oper_group_dn);
else
rc = ldap_delfromgroup(target->handle, nickserv_conf.ldap_oper_group_dn);
- if(rc != LDAP_SUCCESS) {
+ if(rc != LDAP_SUCCESS && rc != LDAP_TYPE_OR_VALUE_EXISTS && rc != LDAP_NO_SUCH_ATTRIBUTE) {
send_message(user, bot, "NSMSG_LDAP_FAIL", ldap_err2string(rc));
return 0;
}
} else {
reply("MSG_INVALID_CRITERIA", cmp);
}
+#ifdef WITH_LDAP
} else if (nickserv_conf.ldap_enable && !irccasecmp(argv[i], "inldap")) {
i++;
if(true_string(argv[i])) {
else {
reply("MSG_INVALID_BINARY", argv[i]);
}
+#endif
} else {
reply("MSG_INVALID_CRITERIA", argv[i]);
goto fail;
search_add2ldap_func (struct userNode *source, struct handle_info *match)
{
#ifdef WITH_LDAP
- int rc = ldap_do_add(match->handle, match->passwd, match->email_addr);
- if(rc != LDAP_SUCCESS) {
- send_message(source, nickserv, "NSMSG_LDAP_FAIL_ADD", match->handle, ldap_err2string(rc));
+ int rc;
+ if(match->email_addr && match->passwd && match->handle) {
+ rc = ldap_do_add(match->handle, match->passwd, match->email_addr);
+ if(rc != LDAP_SUCCESS) {
+ send_message(source, nickserv, "NSMSG_LDAP_FAIL_ADD", match->handle, ldap_err2string(rc));
+ }
}
#endif
}