From 2451d1c0f57dbc085e6e7275997403aa213ffaa9 Mon Sep 17 00:00:00 2001 From: Elizabeth Myers Date: Thu, 18 Apr 2013 00:03:35 -0500 Subject: [PATCH 1/3] Fix compilation on most Linux platforms. __Linux__ != __linux__ --- backtrace.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backtrace.c b/backtrace.c index 1682a71..9bb9bf2 100644 --- a/backtrace.c +++ b/backtrace.c @@ -1,6 +1,6 @@ #include "atheme-compat.h" -#ifdef __Linux__ +#if defined( __linux__) || defined(__Linux__) #include DECLARE_MODULE_V1 From 1f414ba7b160a92fd2ebfaba6eba91cf6403e178 Mon Sep 17 00:00:00 2001 From: Jilles Tjoelker Date: Mon, 1 Jul 2013 00:17:30 +0200 Subject: [PATCH 2/3] os_klinechan: Prefer klining by IP if known, like flood klines. --- os_klinechan.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/os_klinechan.c b/os_klinechan.c index 939207a..f8b5189 100644 --- a/os_klinechan.c +++ b/os_klinechan.c @@ -49,6 +49,7 @@ static void klinechan_check_join(hook_channel_joinpart_t *hdata) chanuser_t *cu = hdata->cu; service_t *svs; char reason[256]; + const char *khost; svs = service_find("operserv"); if (svs == NULL) @@ -62,6 +63,7 @@ static void klinechan_check_join(hook_channel_joinpart_t *hdata) if (metadata_find(mc, "private:klinechan:closer")) { + khost = cu->user->ip ? cu->user->ip : cu->user->host; if (has_priv_user(cu->user, PRIV_JOIN_STAFFONLY)) notice(svs->me->nick, cu->user->nick, "Warning: %s klines normal users", @@ -70,7 +72,7 @@ static void klinechan_check_join(hook_channel_joinpart_t *hdata) { char buf[BUFSIZE]; snprintf(buf, sizeof(buf), "Not klining *@%s due to klinechan %s (user %s!%s@%s is exempt)", - cu->user->host, cu->chan->name, + khost, cu->chan->name, cu->user->nick, cu->user->user, cu->user->host); wallops_sts(buf); } @@ -79,10 +81,10 @@ static void klinechan_check_join(hook_channel_joinpart_t *hdata) snprintf(reason, sizeof reason, "Joining %s", cu->chan->name); slog(LG_INFO, "klinechan_check_join(): klining \2*@%s\2 (user \2%s!%s@%s\2 joined \2%s\2)", - cu->user->host, cu->user->nick, + khost, cu->user->nick, cu->user->user, cu->user->host, cu->chan->name); - kline_sts("*", "*", cu->user->host, 86400, reason); + kline_sts("*", "*", khost, 86400, reason); } } } From f7ae6ad9ccc37027dfab3d380ad56a4e2cce59d0 Mon Sep 17 00:00:00 2001 From: Quora Dodrill Date: Sun, 7 Jul 2013 11:57:38 -0700 Subject: [PATCH 3/3] mlocktweaker: Applied mlock is now configurable via chanserv::mlocktweak --- mlocktweaker.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/mlocktweaker.c b/mlocktweaker.c index 72a4aad..027ed29 100644 --- a/mlocktweaker.c +++ b/mlocktweaker.c @@ -8,12 +8,13 @@ #include "atheme-compat.h" -/* - * Set this to the string of mlock changes you want to make. - * This is in addition to the default mlock, so -nt if you want to - * remove those mlocks, etcetera. +/* Changed to allow for dynamic configuration, to configure this, set + * chanserv::mlocktweak to the mode string you want set on channels as + * they are registered. Keep in mind that +nt will be applied as well, + * so if you do not want +n or +t, negate them in the configuration. + * - Quora */ -#define MLOCK_CHANGE "-t+c" +char * mlocktweak; DECLARE_MODULE_V1 ( @@ -26,12 +27,14 @@ static void handle_channel_register(hook_channel_req_t *hdata); void _modinit(module_t *m) { + add_dupstr_conf_item("MLOCKTWEAK", &chansvs.me->conf_table, 0, &mlocktweak, "-t+c"); hook_add_event("channel_register"); hook_add_first_channel_register(handle_channel_register); } void _moddeinit(module_unload_intent_t intent) { + del_conf_item("MLOCKTWEAK", &chansvs.me->conf_table); hook_del_channel_register(handle_channel_register); } @@ -39,13 +42,12 @@ static void handle_channel_register(hook_channel_req_t *hdata) { mychan_t *mc = hdata->mc; unsigned int *target; - char *it, *str = MLOCK_CHANGE; + char *it = mlocktweak; if (mc == NULL) return; target = &mc->mlock_on; - it = str; while (*it != '\0') {