|
@@ -40,6 +40,8 @@ int dcc_autoaway;
|
|
|
bool irc_autoaway;
|
|
bool irc_autoaway;
|
|
|
bool link_cleartext;
|
|
bool link_cleartext;
|
|
|
bool dccauth = 0;
|
|
bool dccauth = 0;
|
|
|
|
|
+bool use_deaf = 0;
|
|
|
|
|
+bool use_callerid = 0;
|
|
|
int cloak_script = 0;
|
|
int cloak_script = 0;
|
|
|
rate_t close_threshold;
|
|
rate_t close_threshold;
|
|
|
int fight_threshold;
|
|
int fight_threshold;
|
|
@@ -74,13 +76,15 @@ static variable_t vars[] = {
|
|
|
VAR("auth-key", auth_key, VAR_STRING|VAR_PERM, 0, 0, NULL),
|
|
VAR("auth-key", auth_key, VAR_STRING|VAR_PERM, 0, 0, NULL),
|
|
|
VAR("auth-obscure", &auth_obscure, VAR_INT|VAR_BOOL, 0, 1, "0"),
|
|
VAR("auth-obscure", &auth_obscure, VAR_INT|VAR_BOOL, 0, 1, "0"),
|
|
|
VAR("auth-prefix", auth_prefix, VAR_WORD|VAR_NOLHUB|VAR_PERM, 0, 0, "+"),
|
|
VAR("auth-prefix", auth_prefix, VAR_WORD|VAR_NOLHUB|VAR_PERM, 0, 0, "+"),
|
|
|
|
|
+ VAR("callerid", &use_callerid, VAR_INT|VAR_BOOL|VAR_NOLHUB, 0, 1, "1"),
|
|
|
VAR("cloak-script", &cloak_script, VAR_INT|VAR_CLOAK|VAR_NOLHUB, 0, 10, "0"),
|
|
VAR("cloak-script", &cloak_script, VAR_INT|VAR_CLOAK|VAR_NOLHUB, 0, 10, "0"),
|
|
|
VAR("close-threshold", &close_threshold, VAR_RATE|VAR_NOLOC, 0, 0, "0:0"),
|
|
VAR("close-threshold", &close_threshold, VAR_RATE|VAR_NOLOC, 0, 0, "0:0"),
|
|
|
VAR("dcc-autoaway", &dcc_autoaway, VAR_INT|VAR_NOLOC, 0, (5*60*60), "1800"),
|
|
VAR("dcc-autoaway", &dcc_autoaway, VAR_INT|VAR_NOLOC, 0, (5*60*60), "1800"),
|
|
|
VAR("dccauth", &dccauth, VAR_INT|VAR_BOOL, 0, 1, "0"),
|
|
VAR("dccauth", &dccauth, VAR_INT|VAR_BOOL, 0, 1, "0"),
|
|
|
|
|
+ VAR("deaf", &use_deaf, VAR_INT|VAR_BOOL|VAR_NOLHUB, 0, 1, "1"),
|
|
|
VAR("fight-threshold", &fight_threshold, VAR_INT|VAR_NOLOC, 0, 0, "0"),
|
|
VAR("fight-threshold", &fight_threshold, VAR_INT|VAR_NOLOC, 0, 0, "0"),
|
|
|
|
|
+ VAR("flood-callerid", &flood_callerid, VAR_RATE|VAR_NOLHUB, 0, 0, "6:2"),
|
|
|
VAR("flood-ctcp", &flood_ctcp, VAR_RATE|VAR_NOLHUB, 0, 0, "3:60"),
|
|
VAR("flood-ctcp", &flood_ctcp, VAR_RATE|VAR_NOLHUB, 0, 0, "3:60"),
|
|
|
- VAR("flood-g", &flood_g, VAR_RATE|VAR_NOLHUB, 0, 0, "6:2"),
|
|
|
|
|
VAR("flood-msg", &flood_msg, VAR_RATE|VAR_NOLHUB, 0, 0, "5:60"),
|
|
VAR("flood-msg", &flood_msg, VAR_RATE|VAR_NOLHUB, 0, 0, "5:60"),
|
|
|
VAR("fork-interval", &fork_interval, VAR_INT, 10, 0, "0"),
|
|
VAR("fork-interval", &fork_interval, VAR_INT, 10, 0, "0"),
|
|
|
VAR("hijack", &hijack, VAR_INT|VAR_DETECTED|VAR_PERM, 0, 4, "die"),
|
|
VAR("hijack", &hijack, VAR_INT|VAR_DETECTED|VAR_PERM, 0, 4, "die"),
|
|
@@ -261,6 +265,7 @@ sdprintf("var (mem): %s -> %s", var->name, datain ? datain : "(NULL)");
|
|
|
#endif
|
|
#endif
|
|
|
*(int *) (var->mem) = number;
|
|
*(int *) (var->mem) = number;
|
|
|
} else if (var->flags & VAR_BOOL) {
|
|
} else if (var->flags & VAR_BOOL) {
|
|
|
|
|
+ bool olddata = *(bool*)(var->mem);
|
|
|
bool num = 0;
|
|
bool num = 0;
|
|
|
if (data[0] == '0')
|
|
if (data[0] == '0')
|
|
|
num = 0;
|
|
num = 0;
|
|
@@ -271,6 +276,19 @@ sdprintf("var (mem): %s -> %s", var->name, datain ? datain : "(NULL)");
|
|
|
|
|
|
|
|
if (!strcmp(var->name, "ident-botnick"))
|
|
if (!strcmp(var->name, "ident-botnick"))
|
|
|
strlcpy(botuser, conf.username && !num ? conf.username : origbotname, 21);
|
|
strlcpy(botuser, conf.username && !num ? conf.username : origbotname, 21);
|
|
|
|
|
+ else if ((!strcmp(var->name, "deaf") && deaf_char) || (!strcmp(var->name, "callerid") && callerid_char)) {
|
|
|
|
|
+ if (server_online) {
|
|
|
|
|
+ char which = 0;
|
|
|
|
|
+ if (num == 1 && olddata == 0)
|
|
|
|
|
+ which = '+';
|
|
|
|
|
+ else if (num == 0 && olddata == 1)
|
|
|
|
|
+ which = '-';
|
|
|
|
|
+ if (which) {
|
|
|
|
|
+ char mode_char = strcmp(var->name, "deaf") == 0 ? deaf_char : callerid_char;
|
|
|
|
|
+ dprintf(DP_SERVER, "MODE %s %c%c\n", botname, which, mode_char);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
} else if (var->flags & (VAR_STRING|VAR_WORD)) {
|
|
} else if (var->flags & (VAR_STRING|VAR_WORD)) {
|
|
|
char *olddata = ((char*) var->mem) ? strdup((char*) var->mem) : NULL;
|
|
char *olddata = ((char*) var->mem) ? strdup((char*) var->mem) : NULL;
|
|
|
|
|
|