]> jfr.im git - irc/rqf/shadowircd.git/blobdiff - modules/m_xline.c
Put full detail in the SQUIT reason for invalid TS version or excessive TS delta.
[irc/rqf/shadowircd.git] / modules / m_xline.c
index 5264fb92af7a075b8040cfcbcc150fb100900073..a13d46f3267d3b8307405b91b643578c17802914 100644 (file)
@@ -52,6 +52,7 @@
 #include "modules.h"
 #include "s_conf.h"
 #include "s_newconf.h"
+#include "reject.h"
 
 static int mo_xline(struct Client *client_p, struct Client *source_p, int parc, const char *parv[]);
 static int ms_xline(struct Client *client_p, struct Client *source_p, int parc, const char *parv[]);
@@ -86,7 +87,7 @@ static void handle_remote_xline(struct Client *source_p, int temp_time,
                                const char *name, const char *reason);
 static void handle_remote_unxline(struct Client *source_p, const char *name);
 
-static int remove_xline(struct Client *source_p, const char *name);
+static void remove_xline(struct Client *source_p, const char *name);
 static int remove_xline_from_file(struct Client *source_p, const char *gecos);
 
 
@@ -529,7 +530,7 @@ handle_remote_unxline(struct Client *source_p, const char *name)
        return;
 }
 
-static int
+static void
 remove_xline(struct Client *source_p, const char *name)
 {
        struct ConfItem *aconf;
@@ -544,7 +545,7 @@ remove_xline(struct Client *source_p, const char *name)
                        if (!aconf->hold)
                        {
                                if (!remove_xline_from_file(source_p, name))
-                                       return 0;
+                                       return;
                        }
                        else
                        {
@@ -558,18 +559,19 @@ remove_xline(struct Client *source_p, const char *name)
                                                get_oper_name(source_p), name);
                        }
                        
+                       remove_reject_mask(aconf->name, NULL);
                        free_conf(aconf);
                        dlinkDestroy(ptr, &xline_conf_list);
-                       return 1;
+                       return;
                }
        }
 
        sendto_one_notice(source_p, ":No X-Line for %s", name);
 
-       return 0;
+       return;
 }
 
-/* remove_xline()
+/* remove_xline_from_file()
  *
  * inputs      - gecos to remove
  * outputs     -