diff --git a/Changes b/Changes
index b318539d4..83c1689a6 100644
--- a/Changes
+++ b/Changes
@@ -1581,3 +1581,5 @@ MOTDs
- #0003159 reported by aegis and Bock, regarding typos in documentation
- #0002560 reported and patched by w00t, regarding a typo in /SAMODE
- #0002844 reported by RandomNumber: Spamfilter bawks on capitalizing actions
+- #0002404 reported by White_Magic, patched by w00t, removing /addline
+ (which the bug report wasnt about)
diff --git a/doc/unreal32docs.html b/doc/unreal32docs.html
index 7cedbd6f0..091dba6d0 100644
--- a/doc/unreal32docs.html
+++ b/doc/unreal32docs.html
@@ -1106,11 +1106,6 @@ listen *:6601 {
can_setq |
Can use usermode +q |
-
- X |
- can_addline |
- Can use /addline |
-
d |
can_dccdeny |
diff --git a/help.conf b/help.conf
index b320f952e..fb2564e0f 100644
--- a/help.conf
+++ b/help.conf
@@ -282,7 +282,6 @@ help Oflags {
" q (can_setq) Can use +q";
" H (get_host) Gets +x on oper up";
" W (get_umodew) Gets +W on oper up";
- " X (can_addline) Can use /ADDLINE";
" d (can_dccdeny) Can use /DCCDENY";
" ==-------------------------------oOo-----------------------------==";
};
diff --git a/include/struct.h b/include/struct.h
index fefcf9a42..c609e6f96 100644
--- a/include/struct.h
+++ b/include/struct.h
@@ -570,7 +570,7 @@ typedef unsigned int u_int32_t; /* XXX Hope this works! */
#define OFLAG_LNOTICE 0x00004000 /* Oper can send local serv notices */
#define OFLAG_GNOTICE 0x00008000 /* Oper can send global notices */
#define OFLAG_ADMIN 0x00010000 /* Admin */
-#define OFLAG_ADDLINE 0x00020000 /* Oper can use /addline */
+/* 0x00020000 is free, previously addline */
#define OFLAG_ZLINE 0x00080000 /* Oper can use /zline and /unzline */
#define OFLAG_NETADMIN 0x00200000 /* netadmin gets +N */
#define OFLAG_COADMIN 0x00800000 /* co admin gets +C */
@@ -594,7 +594,6 @@ typedef unsigned int u_int32_t; /* XXX Hope this works! */
#define OPCanDCCDeny(x) ((x)->oflag & OFLAG_DCCDENY)
#define OPCanTKL(x) ((x)->oflag & OFLAG_TKL)
#define OPCanGZL(x) ((x)->oflag & OFLAG_GZL)
-#define OPCanAddline(x) ((x)->oflag & OFLAG_ADDLINE)
#define OPCanZline(x) ((x)->oflag & OFLAG_ZLINE)
#define OPCanRehash(x) ((x)->oflag & OFLAG_REHASH)
#define OPCanDie(x) ((x)->oflag & OFLAG_DIE)
diff --git a/makefile.win32 b/makefile.win32
index 22d676b11..be2e384e4 100644
--- a/makefile.win32
+++ b/makefile.win32
@@ -172,7 +172,7 @@ MOD_FILES=SRC/MODULES/L_COMMANDS.C SRC/MODULES/M_CHGHOST.C SRC/MODULES/M_SDESC.C
SRC/MODULES/M_KNOCK.C SRC/MODULES/M_UMODE2.C SRC/MODULES/M_SQUIT.C \
SRC/MODULES/M_PROTOCTL.C SRC/MODULES/M_SJOIN.C SRC/MODULES/M_PASS.C \
SRC/MODULES/M_USERHOST.C SRC/MODULES/M_ISON.C SRC/MODULES/M_SILENCE.C \
- SRC/MODULES/M_ADDLINE.C SRC/MODULES/M_ADDMOTD.C SRC/MODULES/M_ADDOMOTD.C \
+ SRC/MODULES/M_ADDMOTD.C SRC/MODULES/M_ADDOMOTD.C \
SRC/MODULES/M_WALLOPS.C SRC/MODULES/M_GLOBOPS.C SRC/MODULES/M_LOCOPS.C \
SRC/MODULES/M_CHATOPS.C SRC/MODULES/M_ADMIN.C SRC/MODULES/M_TRACE.C \
SRC/MODULES/M_NETINFO.C SRC/MODULES/M_LINKS.C SRC/MODULES/M_HELP.C \
@@ -206,7 +206,7 @@ DLL_FILES=SRC/MODULES/M_CHGHOST.DLL SRC/MODULES/M_SDESC.DLL SRC/MODULES/M_SETIDE
SRC/MODULES/M_TIME.DLL SRC/MODULES/M_SVSKILL.DLL SRC/MODULES/M_KNOCK.DLL \
SRC/MODULES/M_UMODE2.DLL SRC/MODULES/M_SQUIT.DLL SRC/MODULES/M_PROTOCTL.DLL \
SRC/MODULES/M_SJOIN.DLL SRC/MODULES/M_PASS.DLL SRC/MODULES/M_USERHOST.DLL \
- SRC/MODULES/M_ISON.DLL SRC/MODULES/M_SILENCE.DLL SRC/MODULES/M_ADDLINE.DLL \
+ SRC/MODULES/M_ISON.DLL SRC/MODULES/M_SILENCE.DLL \
SRC/MODULES/M_ADDMOTD.DLL SRC/MODULES/M_ADDOMOTD.DLL SRC/MODULES/M_WALLOPS.DLL \
SRC/MODULES/M_GLOBOPS.DLL SRC/MODULES/M_LOCOPS.DLL SRC/MODULES/M_CHATOPS.DLL \
SRC/MODULES/M_ADMIN.DLL SRC/MODULES/M_TRACE.DLL SRC/MODULES/M_NETINFO.DLL \
@@ -663,9 +663,6 @@ src/modules/m_squit.dll: src/modules/m_squit.c $(INCLUDES)
src/modules/m_protoctl.dll: src/modules/m_protoctl.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_protoctl.c $(MODLFLAGS)
-src/modules/m_addline.dll: src/modules/m_addline.c $(INCLUDES)
- $(CC) $(MODCFLAGS) src/modules/m_addline.c $(MODLFLAGS)
-
src/modules/m_addmotd.dll: src/modules/m_addmotd.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_addmotd.c $(MODLFLAGS)
diff --git a/src/modules/Makefile.in b/src/modules/Makefile.in
index 6ee253a9f..d0c2b9301 100644
--- a/src/modules/Makefile.in
+++ b/src/modules/Makefile.in
@@ -46,7 +46,7 @@ R_MODULES= \
m_sajoin.so m_sapart.so m_samode.so m_kick.so m_topic.so \
m_invite.so m_list.so m_time.so m_svskill.so m_sjoin.so \
m_pass.so m_userhost.so m_ison.so m_silence.so m_knock.so \
- m_umode2.so m_squit.so m_protoctl.so m_addline.so m_addomotd.so \
+ m_umode2.so m_squit.so m_protoctl.so m_addomotd.so \
m_wallops.so m_admin.so m_globops.so m_locops.so m_chatops.so \
m_trace.so m_netinfo.so m_links.so m_help.so m_rules.so \
m_close.so m_map.so m_eos.so m_server.so m_stats.so \
@@ -68,7 +68,7 @@ COMMANDS=m_sethost.o m_chghost.o m_chgident.o m_setname.o m_setident.o \
m_svssno.o m_sajoin.o m_sapart.o m_samode.o m_kick.o m_topic.o \
m_invite.o m_list.o m_time.o m_svskill.o m_sjoin.o \
m_pass.o m_userhost.o m_ison.o m_silence.o m_knock.o m_umode2.o \
- m_squit.o m_protoctl.o m_addline.o m_addmotd.o m_addomotd.o \
+ m_squit.o m_protoctl.o m_addmotd.o m_addomotd.o \
m_wallops.o m_admin.o m_globops.o m_locops.o m_chatops.o \
m_trace.o m_netinfo.o m_links.o m_help.o m_rules.o \
m_close.o m_map.o m_eos.o m_server.o m_stats.o \
@@ -299,9 +299,6 @@ m_squit.o: m_squit.c $(INCLUDES)
m_protoctl.o: m_protoctl.c $(INCLUDES)
$(CC) $(CFLAGS) $(MODULEFLAGS) -c m_protoctl.c
-m_addline.o: m_addline.c $(INCLUDES)
- $(CC) $(CFLAGS) $(MODULEFLAGS) -c m_addline.c
-
m_addmotd.o: m_addmotd.c $(INCLUDES)
$(CC) $(CFLAGS) $(MODULEFLAGS) -c m_addmotd.c
@@ -674,10 +671,6 @@ m_protoctl.so: m_protoctl.c $(INCLUDES)
$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-o m_protoctl.so m_protoctl.c
-m_addline.so: m_addline.c $(INCLUDES)
- $(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
- -o m_addline.so m_addline.c
-
m_addmotd.so: m_addmotd.c $(INCLUDES)
$(CC) $(CFLAGS) $(MODULEFLAGS) -DDYNAMIC_LINKING \
-o m_addmotd.so m_addmotd.c
diff --git a/src/modules/chanmodes/Makefile.in b/src/modules/chanmodes/Makefile.in
index 2d28bfb2b..a1b71171d 100644
--- a/src/modules/chanmodes/Makefile.in
+++ b/src/modules/chanmodes/Makefile.in
@@ -47,7 +47,7 @@ COMMANDS=m_sethost.o m_chghost.o m_chgident.o m_setname.o m_setident.o \
m_svssno.o m_sajoin.o m_sapart.o m_samode.o m_kick.o m_topic.o \
m_invite.o m_list.o m_time.o m_svskill.o m_sjoin.o \
m_pass.o m_userhost.o m_ison.o m_silence.o m_knock.o m_umode2.o \
- m_squit.o m_protoctl.o m_addline.o m_addmotd.o m_addomotd.o \
+ m_squit.o m_protoctl.o m_addmotd.o m_addomotd.o \
m_wallops.o m_admin.o m_globops.o m_locops.o m_chatops.o \
m_trace.o m_netinfo.o m_links.o m_help.o m_rules.o \
m_close.o m_map.o m_eos.o m_server.o m_stats.o \
diff --git a/src/modules/l_commands.c b/src/modules/l_commands.c
index 74377dc99..d79d678c3 100644
--- a/src/modules/l_commands.c
+++ b/src/modules/l_commands.c
@@ -103,7 +103,7 @@ extern int m_pass_Init(ModuleInfo *modinfo), m_userhost_Init(ModuleInfo *modinfo
extern int m_ison_Init(ModuleInfo *modinfo), m_silence_Init(ModuleInfo *modinfo);
extern int m_knock_Init(ModuleInfo *modinfo), m_umode2_Init(ModuleInfo *modinfo);
extern int m_squit_Init(ModuleInfo *modinfo), m_protoctl_Init(ModuleInfo *modinfo);
-extern int m_addline_Init(ModuleInfo *modinfo), m_addmotd_Init(ModuleInfo *modinfo);
+extern int m_addmotd_Init(ModuleInfo *modinfo);
extern int m_addomotd_Init(ModuleInfo *modinfo), m_wallops_Init(ModuleInfo *modinfo);
extern int m_admin_Init(ModuleInfo *modinfo), m_globops_Init(ModuleInfo *modinfo);
extern int m_locops_Init(ModuleInfo *modinfo), m_chatops_Init(ModuleInfo *modinfo);
@@ -152,7 +152,7 @@ extern int m_pass_Load(int module_load), m_userhost_Load(int module_load);
extern int m_ison_Load(int module_load), m_silence_Load(int module_load);
extern int m_knock_Load(int module_load), m_umode2_Load(int module_load);
extern int m_squit_Load(int module_load), m_protoctl_Load(int module_load);
-extern int m_addline_Load(int module_load), m_addmotd_Load(int module_load);
+extern int m_addmotd_Load(int module_load);
extern int m_addomotd_Load(int module_load), m_wallops_Load(int module_load);
extern int m_admin_Load(int module_load), m_globops_Load(int module_load);
extern int m_locops_Load(int module_load), m_chatops_Load(int module_load);
@@ -194,7 +194,7 @@ extern int m_invite_Unload(), m_list_Unload(), m_squit_Unload();
extern int m_samode_Unload(), m_sjoin_Unload(), m_protoctl_Unload();
extern int m_pass_Unload(), m_userhost_Unload(), m_knock_Unload();
extern int m_ison_Unload(), m_silence_Unload();
-extern int m_addline_Unload(), m_addmotd_Unload(), m_addomotd_Unload();
+extern int m_addmotd_Unload(), m_addomotd_Unload();
extern int m_wallops_Unload(), m_admin_Unload(), m_globops_Unload();
extern int m_locops_Unload(), m_chatops_Unload(), m_trace_Unload();
extern int m_netinfo_Unload(), m_links_Unload(), m_help_Unload();
@@ -310,7 +310,6 @@ int l_commands_Init(ModuleInfo *modinfo)
m_umode2_Init(ModCmdsInfo);
m_squit_Init(ModCmdsInfo);
m_protoctl_Init(ModCmdsInfo);
- m_addline_Init(ModCmdsInfo);
m_addmotd_Init(ModCmdsInfo);
m_addomotd_Init(ModCmdsInfo);
m_wallops_Init(ModCmdsInfo);
@@ -423,7 +422,6 @@ int l_commands_Load(int module_load)
m_umode2_Load(module_load);
m_squit_Load(module_load);
m_protoctl_Load(module_load);
- m_addline_Load(module_load);
m_addmotd_Load(module_load);
m_addomotd_Load(module_load);
m_wallops_Load(module_load);
@@ -536,7 +534,6 @@ int l_commands_Unload(int module_unload)
m_umode2_Unload();
m_squit_Unload();
m_protoctl_Unload();
- m_addline_Unload();
m_addmotd_Unload();
m_addomotd_Unload();
m_wallops_Unload();
diff --git a/src/modules/m_addline.c b/src/modules/m_addline.c
deleted file mode 100644
index 96e557622..000000000
--- a/src/modules/m_addline.c
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * IRC - Internet Relay Chat, src/modules/out.c
- * (C) 2004 The UnrealIRCd Team
- *
- * See file AUTHORS in IRC package for additional names of
- * the programmers.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 1, or (at your option)
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-#include "config.h"
-#include "struct.h"
-#include "common.h"
-#include "sys.h"
-#include "numeric.h"
-#include "msg.h"
-#include "proto.h"
-#include "channel.h"
-#include
-#include
-#include
-#include
-#include
-#ifdef _WIN32
-#include
-#endif
-#include
-#include "h.h"
-#ifdef STRIPBADWORDS
-#include "badwords.h"
-#endif
-#ifdef _WIN32
-#include "version.h"
-#endif
-
-DLLFUNC int m_addline(aClient *cptr, aClient *sptr, int parc, char *parv[]);
-
-#define MSG_ADDLINE "ADDLINE"
-#define TOK_ADDLINE "z"
-
-ModuleHeader MOD_HEADER(m_addline)
- = {
- "m_addline",
- "$Id$",
- "command /addline",
- "3.2-b8-1",
- NULL
- };
-
-DLLFUNC int MOD_INIT(m_addline)(ModuleInfo *modinfo)
-{
- add_Command(MSG_ADDLINE, TOK_ADDLINE, m_addline, 1);
- MARK_AS_OFFICIAL_MODULE(modinfo);
- return MOD_SUCCESS;
-}
-
-DLLFUNC int MOD_LOAD(m_addline)(int module_load)
-{
- return MOD_SUCCESS;
-}
-
-DLLFUNC int MOD_UNLOAD(m_addline)(int module_unload)
-{
- if (del_Command(MSG_ADDLINE, TOK_ADDLINE, m_addline) < 0)
- {
- sendto_realops("Failed to delete commands when unloading %s",
- MOD_HEADER(m_addline).name);
- }
- return MOD_SUCCESS;
-}
-
-/*
-** m_addline (write a line to unrealircd.conf)
-**
-** De-Potvinized by codemastr
-*/
-DLLFUNC CMD_FUNC(m_addline)
-{
- FILE *conf;
- char *text;
- text = parc > 1 ? parv[1] : NULL;
-
- if (!MyClient(sptr) || !IsAnOper(sptr) || !OPCanAddline(sptr))
- {
- sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, parv[0]);
- return 0;
- }
- if (parc < 2)
- {
- sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS),
- me.name, parv[0], "ADDLINE");
- return 0;
- }
- /* writes to current -f */
- conf = fopen(configfile, "a");
- if (conf == NULL)
- {
- return 0;
- }
- /* Display what they wrote too */
- sendto_one(sptr, ":%s %s %s :*** Wrote (%s) to %s",
- me.name, IsWebTV(sptr) ? "PRIVMSG" : "NOTICE", parv[0], text, configfile);
- fprintf(conf, "// Added by %s\n", make_nick_user_host(sptr->name,
- sptr->user->username, sptr->user->realhost));
-/* for (i=1 ; i