/***********************************************************************
X3 ChangeLog
+2007-02-12 Alex Schumann <rubin@afternet.org>
+
+ * src/nickserv.h: lowercase account name setting
+
+ * x3.conf.example: lowercase account name setting
+
+ * src/nickservc: only lowercase account names if the option is set.
+
2007-02-12 Alex Schumann <rubin@afternet.org>
* src/tools.c: adding ircd_strtolower() func
#define KEY_NOTE_NOTE "note"
#define KEY_NOTE_SETTER "setter"
#define KEY_NOTE_DATE "date"
+#define KEY_FORCE_HANDLES_LOWERCASE "force_handles_lowercase"
#define KEY_LDAP_ENABLE "ldap_enable"
NICKSERV_MIN_PARMS((unsigned)3 + nickserv_conf.email_required);
- irc_strtolower(argv[1]);
+ if(nickserv_conf.force_handles_lowercase)
+ irc_strtolower(argv[1]);
if (!is_valid_handle(argv[1])) {
reply("NSMSG_BAD_HANDLE", argv[1]);
return 0;
account = argv[1];
pass = argv[2];
- irc_strtolower(account);
+ if(nickserv_conf.force_handles_lowercase)
+ irc_strtolower(account);
if (nickserv_conf.email_required) {
NICKSERV_MIN_PARMS(4);
email = argv[3];
unsigned int nn;
NICKSERV_MIN_PARMS(3);
- irc_strtolower(argv[2]);
+ if(nickserv_conf.force_handles_lowercase)
+ irc_strtolower(argv[2]);
if (!(hi = get_victim_oper(cmd, user, argv[1])))
return 0;
if (!is_valid_handle(argv[2])) {
authed_users = NULL;
channels = NULL;
}
- irc_strtolower(handle);
+ if(nickserv_conf.force_handles_lowercase)
+ irc_strtolower(handle);
hi = register_handle(handle, str, id);
if (authed_users) {
hi->users = authed_users;
str = database_get_data(conf_node, KEY_LDAP_ENABLE, RECDB_QSTRING);
nickserv_conf.ldap_enable = str ? strtoul(str, NULL, 0) : 0;
+
+ str = database_get_data(conf_node, KEY_FORCE_HANDLES_LOWERCASE, RECDB_QSTRING);
+ nickserv_conf.force_handles_lowercase = str ? strtol(str, NULL, 0) : 0;
+
#ifndef WITH_LDAP
if(nickserv_conf.ldap_enable > 0) {
/* ldap is enabled but not compiled in - error out */
// Whats a valid hostname look like for fakehosts?
"valid_fakehost_regex" "^[-_a-zA-Z0-9.]+$";
+ // Force account names to lowercase? 1=yes 0=no
+ // WARNING: this will convert when reading them from the db, too.
+ "force_handles_lowercase" "0";
+
// "Nickserv" networks, set this to 0. "Authserv" networks,
// set it to 1.
"disable_nicks" "1";