#define NICKSERV_MIN_PARMS(N) do { \
if (argc < N) { \
reply("MSG_MISSING_PARAMS", argv[0]); \
- svccmd_send_help(user, nickserv, cmd); \
+ svccmd_send_help_brief(user, nickserv, cmd); \
return 0; \
} } while (0)
{ "NSMSG_HANDLE_TOLONG", "The account name %s is too long. Account names must be %lu charactors or less."},
{ "NSMSG_PASSWORD_SHORT", "Your password must be at least %lu characters long." },
{ "NSMSG_PASSWORD_ACCOUNT", "Your password may not be the same as your account name." },
- { "NSMSG_PASSWORD_DICTIONARY", "Your password should not be the word \"password\", or any other dictionary word." },
+ { "NSMSG_PASSWORD_DICTIONARY", "Your password is too simple. You must choose a password that is not just a word or name." },
{ "NSMSG_PASSWORD_READABLE", "Your password must have at least %lu digit(s), %lu capital letter(s), and %lu lower-case letter(s)." },
{ "NSMSG_PARTIAL_REGISTER", "Account has been registered to you; nick was already registered to someone else." },
{ "NSMSG_OREGISTER_VICTIM", "%s has registered a new account for you (named %s)." },
{ "NSMSG_RECLAIMED_SVSNICK", "Forcibly changed %s's nick." },
{ "NSMSG_RECLAIMED_KILL", "Disconnected %s from the network." },
{ "NSMSG_CLONE_AUTH", "Warning: %s (%s@%s) authed to your account." },
- { "NSMSG_SETTING_LIST", "$b$N account settings:$b" },
+ { "NSMSG_SETTING_LIST", "$b$N account settings$b" },
+ { "NSMSG_SETTING_LIST_HEADER", "----------------------------------------" },
+ { "NSMSG_SETTING_LIST_END", "-------------End Of Settings------------" },
{ "NSMSG_INVALID_OPTION", "$b%s$b is an invalid account setting." },
{ "NSMSG_INVALID_ANNOUNCE", "$b%s$b is an invalid announcements value." },
{ "NSMSG_SET_INFO", "$bINFO: $b%s" },
SyncLog("REGISTER %s %s %s %s", hi->handle, syncpass, email_addr ? email_addr : "0", user->info);
}
+ /* this wont work if email is required .. */
+ process_adduser_pending(user);
+
return 1;
}
reply("NSMSG_HANDLEINFO_DNR", dnr->setter, dnr->reason);
if (!oper_outranks(user, hi))
return 1;
- } else if (hi != user->handle_info)
+ } else if (hi != user->handle_info) {
+ reply("NSMSG_HANDLEINFO_END");
return 1;
+ }
if (nickserv_conf.email_enabled)
reply("NSMSG_HANDLEINFO_EMAIL_ADDR", visible_email_addr(user, hi));
if (hi->passwd[0] != '$')
cryptpass(passwd, hi->passwd);
reply("NSMSG_AUTH_SUCCESS");
+
+ process_adduser_pending(user);
argv[pw_arg] = "****";
return 1;
}
nickserv_eat_cookie(hi->cookie);
+ process_adduser_pending(user);
+
return 1;
}
option_func_t *opt;
unsigned int i;
char *set_display[] = {
- "INFO", "WIDTH", "TABLEWIDTH", "COLOR", "PRIVMSG", "STYLE",
- "EMAIL", "ANNOUNCEMENTS", "MAXLOGINS", "LANGUAGE"
+ "INFO", "WIDTH", "TABLEWIDTH", "COLOR", "PRIVMSG", /* "STYLE", */
+ "EMAIL", "ANNOUNCEMENTS", "MAXLOGINS", "LANGUAGE",
+ "FAKEHOST", "TITLE", "EPITHET"
};
send_message(user, nickserv, "NSMSG_SETTING_LIST");
+ send_message(user, nickserv, "NSMSG_SETTING_LIST_HEADER");
/* Do this so options are presented in a consistent order. */
for (i = 0; i < ArrayLength(set_display); ++i)
if ((opt = dict_find(nickserv_opt_dict, set_display[i], NULL)))
opt(user, hi, override, 0, NULL);
+ send_message(user, nickserv, "NSMSG_SETTING_LIST_END");
}
static NICKSERV_FUNC(cmd_set)
return 1;
}
+/*
static OPTION_FUNC(opt_style)
{
char *style;
send_message(user, nickserv, "NSMSG_SET_STYLE", style);
return 1;
}
+*/
static OPTION_FUNC(opt_announcements)
{
static OPTION_FUNC(opt_epithet)
{
- if (!override) {
- send_message(user, nickserv, "MSG_SETTING_PRIVILEGED", argv[0]);
- return 0;
- }
-
if ((argc > 1) && oper_has_access(user, nickserv, nickserv_conf.set_epithet_level, 0)) {
- char *epithet = unsplit_string(argv+1, argc-1, NULL);
+ char *epithet;
+ if (!override) {
+ send_message(user, nickserv, "MSG_SETTING_PRIVILEGED", argv[0]);
+ return 0;
+ }
+
+ epithet = unsplit_string(argv+1, argc-1, NULL);
+
if (hi->epithet)
free(hi->epithet);
if ((epithet[0] == '*') && !epithet[1])
{
const char *title;
- if (!override) {
- send_message(user, nickserv, "MSG_SETTING_PRIVILEGED", argv[0]);
- return 0;
- }
-
if ((argc > 1) && oper_has_access(user, nickserv, nickserv_conf.set_title_level, 0)) {
+ if (!override) {
+ send_message(user, nickserv, "MSG_SETTING_PRIVILEGED", argv[0]);
+ return 0;
+ }
+
title = argv[1];
if (strchr(title, '.')) {
send_message(user, nickserv, "NSMSG_TITLE_INVALID");
{
const char *fake;
- if (!override) {
- send_message(user, nickserv, "MSG_SETTING_PRIVILEGED", argv[0]);
- return 0;
- }
-
if ((argc > 1) && oper_has_access(user, nickserv, nickserv_conf.set_fakehost_level, 0)) {
+ if (!override) {
+ send_message(user, nickserv, "MSG_SETTING_PRIVILEGED", argv[0]);
+ return 0;
+ }
+
fake = argv[1];
if ((strlen(fake) > HOSTLEN) || (fake[0] == '.')) {
send_message(user, nickserv, "NSMSG_FAKEHOST_INVALID", HOSTLEN);
struct string_list *masks, *slist;
struct handle_info *hi;
struct userNode *authed_users;
+ struct userData *channels;
unsigned long int id;
unsigned int ii;
dict_t subdb;
}
if ((hi = get_handle_info(handle))) {
authed_users = hi->users;
+ channels = hi->channels;
hi->users = NULL;
+ hi->channels = NULL;
dict_remove(nickserv_handle_dict, hi->handle);
} else {
authed_users = NULL;
+ channels = NULL;
}
hi = register_handle(handle, str, id);
if (authed_users) {
authed_users = authed_users->next_authed;
}
}
+ hi->channels = channels;
masks = database_get_data(obj, KEY_MASKS, RECDB_STRING_LIST);
hi->masks = masks ? string_list_copy(masks) : alloc_string_list(1);
str = database_get_data(obj, KEY_MAXLOGINS, RECDB_QSTRING);
dict_insert(nickserv_opt_dict, "TABLEWIDTH", opt_tablewidth);
dict_insert(nickserv_opt_dict, "COLOR", opt_color);
dict_insert(nickserv_opt_dict, "PRIVMSG", opt_privmsg);
- dict_insert(nickserv_opt_dict, "STYLE", opt_style);
+/* dict_insert(nickserv_opt_dict, "STYLE", opt_style); */
dict_insert(nickserv_opt_dict, "PASS", opt_password);
dict_insert(nickserv_opt_dict, "PASSWORD", opt_password);
dict_insert(nickserv_opt_dict, "FLAGS", opt_flags);