]> jfr.im git - irc/evilnet/x3.git/blobdiff - src/mod-track.c
Fixed incorrect uplink password value name in example config
[irc/evilnet/x3.git] / src / mod-track.c
index 92bcbe74d559c7a9f1dd21276756dddfb6380978..a14d8ec49cb1dabb8ef87f1a1b5d9a57e8d9687b 100644 (file)
@@ -236,8 +236,14 @@ track_part(struct modeNode *mn, const char *reason, UNUSED_ARG(void *extra)) {
 static void
 track_kick(struct userNode *kicker, struct userNode *victim, struct chanNode *chan, UNUSED_ARG(void *extra)) {
     if (!track_cfg.enabled) return;
-    if (check_track_kick(track_cfg) && ((check_track_user(kicker->nick) || check_track_user(victim->nick))))
+    if (check_track_kick(track_cfg) && check_track_user(victim->nick))
     {
+           if (kicker) /* net rider kicks dont have a kicker set */
+           {
+               if (!check_track_user(kicker->nick))
+                   return;
+           }
+
            UPDATE_TIMESTAMP();
            TRACK("$bKICK$b %s from %s by %s", victim->nick, chan->name, (kicker ? kicker->nick : "some server"));
     }
@@ -618,7 +624,7 @@ MODCMD_FUNC(cmd_listtrack)
 static void
 track_conf_read(void) {
     dict_t node;
-    char *str;
+    char *str, *modes;
 
     node = conf_get_data("modules/track", RECDB_OBJECT);
     if (!node)
@@ -629,11 +635,12 @@ track_conf_read(void) {
     else
            parse_track_conf(str);
     str = database_get_data(node, "channel", RECDB_QSTRING);
+    modes = database_get_data(node, "channel_modes", RECDB_QSTRING);
     if (!str)
         return;
     // XXX - dont do addchannel if the channel is being shared with
     // another module:
-    track_cfg.channel = AddChannel(str, now, "+sntOm", NULL, NULL);
+    track_cfg.channel = AddChannel(str, now, (modes ? modes : "+sntOm"), NULL, NULL);
     if (!track_cfg.channel)
         return;
     str = database_get_data(node, "show_bursts", RECDB_QSTRING);