X-Git-Url: https://jfr.im/git/irc/evilnet/x3.git/blobdiff_plain/2362161a91ba2c74f012a70884a22849ebeb2b1e..cc5d8f7fd0dd5ef035eb4288f8a1f4045172c8d1:/src/nickserv.c diff --git a/src/nickserv.c b/src/nickserv.c index ade655d..c7214e4 100644 --- a/src/nickserv.c +++ b/src/nickserv.c @@ -72,6 +72,7 @@ #define KEY_COOKIE_TIMEOUT "cookie_timeout" #define KEY_ACCOUNTS_PER_EMAIL "accounts_per_email" #define KEY_EMAIL_SEARCH_LEVEL "email_search_level" +#define KEY_DEFAULT_STYLE "default_style" #define KEY_ID "id" #define KEY_PASSWD "passwd" @@ -407,6 +408,7 @@ static struct { unsigned char hard_maxlogins; const char *auto_oper; const char *auto_admin; + char default_style; } nickserv_conf; /* We have 2^32 unique account IDs to use. */ @@ -718,6 +720,7 @@ is_registerable_nick(const char *nick) } return 1; } +/* this has been replaced with one in tools.c static int is_valid_email_addr(const char *email) @@ -725,6 +728,8 @@ is_valid_email_addr(const char *email) return strchr(email, '@') != NULL; } +*/ + static const char * visible_email_addr(struct userNode *user, struct handle_info *hi) { @@ -1295,7 +1300,7 @@ static NICKSERV_FUNC(cmd_register) email_addr = argv[3]; /* Check that the email address looks valid.. */ - if (!is_valid_email_addr(email_addr)) { + if (!valid_email(email_addr)) { reply("NSMSG_BAD_EMAIL_ADDR"); return 0; } @@ -1394,7 +1399,7 @@ static NICKSERV_FUNC(cmd_oregister) } if (nickserv_conf.email_required) { - if (!is_valid_email_addr(argv[4])) { + if (!valid_email(argv[4])) { reply("NSMSG_BAD_EMAIL_ADDR"); return 0; } @@ -2405,7 +2410,7 @@ set_list(struct userNode *user, struct handle_info *hi, int override) option_func_t *opt; unsigned int i; char *set_display[] = { - "INFO", "WIDTH", "TABLEWIDTH", "COLOR", "PRIVMSG", /* "STYLE", */ + "INFO", "WIDTH", "TABLEWIDTH", "COLOR", "PRIVMSG", "STYLE", "EMAIL", "ANNOUNCEMENTS", "AUTOHIDE", "MAXLOGINS", "LANGUAGE", "FAKEHOST", "TITLE", "EPITHET" }; @@ -2556,31 +2561,34 @@ static OPTION_FUNC(opt_autohide) return 1; } -/* static OPTION_FUNC(opt_style) { char *style; if (argc > 1) { - if (!irccasecmp(argv[1], "Zoot")) - hi->userlist_style = HI_STYLE_ZOOT; - else if (!irccasecmp(argv[1], "def")) - hi->userlist_style = HI_STYLE_DEF; - } + if (!irccasecmp(argv[1], "Clean")) + hi->userlist_style = HI_STYLE_CLEAN; + else if (!irccasecmp(argv[1], "Advanced")) + hi->userlist_style = HI_STYLE_ADVANCED; + else /* Default to normal */ + hi->userlist_style = HI_STYLE_NORMAL; + } /* TODO: give error if unknow style is chosen */ switch (hi->userlist_style) { - case HI_STYLE_DEF: - style = "def"; - break; - case HI_STYLE_ZOOT: - default: - style = "Zoot"; + case HI_STYLE_ADVANCED: + style = "Advanced"; + break; + case HI_STYLE_CLEAN: + style = "Clean"; + break; + case HI_STYLE_NORMAL: + default: + style = "Normal"; } send_message(user, nickserv, "NSMSG_SET_STYLE", style); return 1; } -*/ static OPTION_FUNC(opt_announcements) { @@ -2654,7 +2662,7 @@ static OPTION_FUNC(opt_email) { if (argc > 1) { const char *str; - if (!is_valid_email_addr(argv[1])) { + if (!valid_email(argv[1])) { send_message(user, nickserv, "NSMSG_BAD_EMAIL_ADDR"); return 0; } @@ -3661,7 +3669,7 @@ nickserv_db_read_handle(const char *handle, dict_t obj) hi->flags |= 1 << (handle_inverse_flags[(unsigned char)str[ii]] - 1); } str = database_get_data(obj, KEY_USERLIST_STYLE, RECDB_QSTRING); - hi->userlist_style = str ? str[0] : HI_STYLE_ZOOT; + hi->userlist_style = str ? str[0] : HI_DEFAULT_STYLE; str = database_get_data(obj, KEY_ANNOUNCEMENTS, RECDB_QSTRING); hi->announcements = str ? str[0] : '?'; str = database_get_data(obj, KEY_SCREEN_WIDTH, RECDB_QSTRING); @@ -3972,6 +3980,9 @@ nickserv_conf_read(void) str = database_get_data(conf_node, KEY_TITLEHOST_SUFFIX, RECDB_QSTRING); nickserv_conf.titlehost_suffix = str ? str : "example.net"; + str = database_get_data(conf_node, KEY_DEFAULT_STYLE, RECDB_QSTRING); + nickserv_conf.default_style = str ? str[0] : HI_DEFAULT_STYLE; + str = database_get_data(conf_node, KEY_AUTO_OPER, RECDB_QSTRING); nickserv_conf.auto_oper = str ? str : ""; @@ -4238,7 +4249,7 @@ init_nickserv(const char *nick) dict_insert(nickserv_opt_dict, "COLOR", opt_color); dict_insert(nickserv_opt_dict, "PRIVMSG", opt_privmsg); dict_insert(nickserv_opt_dict, "AUTOHIDE", opt_autohide); -/* 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);