]> jfr.im git - irc/rqf/shadowircd.git/blobdiff - modules/m_kline.c
kline: Fix oper reasons.
[irc/rqf/shadowircd.git] / modules / m_kline.c
index 18dbdca7738dd2619339a7ffcbc4a3544bfa308f..2056e4d2fd381defba0df8431b46d33060014eba 100644 (file)
@@ -44,6 +44,7 @@
 #include "modules.h"
 #include "reject.h"
 #include "bandbi.h"
+#include "operhash.h"
 
 static int mo_kline(struct Client *, struct Client *, int, const char **);
 static int ms_kline(struct Client *, struct Client *, int, const char **);
@@ -173,7 +174,7 @@ mo_kline(struct Client *client_p, struct Client *source_p, int parc, const char
        aconf->host = rb_strdup(host);
        aconf->user = rb_strdup(user);
        aconf->port = 0;
-       aconf->passwd = rb_strdup(reason);
+       aconf->info.oper = operhash_add(get_oper_name(source_p));
 
        /* Look for an oper reason */
        if((oper_reason = strchr(reason, '|')) != NULL)
@@ -184,6 +185,7 @@ mo_kline(struct Client *client_p, struct Client *source_p, int parc, const char
                if(!EmptyString(oper_reason))
                        aconf->spasswd = rb_strdup(oper_reason);
        }
+       aconf->passwd = rb_strdup(reason);
 
        if(tkline_time > 0)
                apply_tkline(source_p, aconf, reason, oper_reason, tkline_time);
@@ -275,7 +277,7 @@ handle_remote_kline(struct Client *source_p, int tkline_time,
        aconf->created = rb_current_time();
        aconf->user = rb_strdup(user);
        aconf->host = rb_strdup(host);
-       aconf->passwd = rb_strdup(reason);
+       aconf->info.oper = operhash_add(get_oper_name(source_p));
 
        /* Look for an oper reason */
        if((oper_reason = strchr(reason, '|')) != NULL)
@@ -286,6 +288,7 @@ handle_remote_kline(struct Client *source_p, int tkline_time,
                if(!EmptyString(oper_reason))
                        aconf->spasswd = rb_strdup(oper_reason);
        }
+       aconf->passwd = rb_strdup(reason);
 
        if(tkline_time > 0)
                apply_tkline(source_p, aconf, reason, oper_reason, tkline_time);