From e0583918834a3f8683e430adf3923ea89d2a449a Mon Sep 17 00:00:00 2001 From: "rob rob@31f1291d-b8d6-0310-a050-a5561fc1590b" Date: Mon, 2 May 2005 19:02:12 +0000 Subject: BUILD : 1.7.8 (753) BUGS : N/a NOTES : Merged anope-dev with trunk git-svn-id: svn://svn.anope.org/anope/trunk@753 31f1291d-b8d6-0310-a050-a5561fc1590b git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@516 5417fbe8-f217-4b02-8779-1006273d7864 --- src/Makefile | 36 +- src/bahamut.c | 1722 ---------- src/bin/am | 8 + src/botserv.c | 1575 +-------- src/channels.c | 65 +- src/chanserv.c | 4182 +---------------------- src/commands.c | 18 +- src/config.c | 402 ++- src/core/Makefile | 45 + src/core/Makefile.sub | 30 + src/core/Makefile.win32 | 25 + src/core/bs_act.c | 93 + src/core/bs_assign.c | 102 + src/core/bs_badwords.c | 290 ++ src/core/bs_bot.c | 372 ++ src/core/bs_botlist.c | 108 + src/core/bs_fantasy.c | 80 + src/core/bs_fantasy_kick.c | 87 + src/core/bs_fantasy_kickban.c | 90 + src/core/bs_fantasy_owner.c | 87 + src/core/bs_fantasy_seen.c | 136 + src/core/bs_fantasy_unban.c | 78 + src/core/bs_help.c | 67 + src/core/bs_info.c | 282 ++ src/core/bs_kick.c | 377 ++ src/core/bs_say.c | 97 + src/core/bs_set.c | 207 ++ src/core/bs_unassign.c | 88 + src/core/configure | 35 + src/core/cs_access.c | 507 +++ src/core/cs_akick.c | 584 ++++ src/core/cs_ban.c | 227 ++ src/core/cs_clear.c | 375 ++ src/core/cs_drop.c | 128 + src/core/cs_forbid.c | 132 + src/core/cs_getkey.c | 88 + src/core/cs_getpass.c | 100 + src/core/cs_help.c | 84 + src/core/cs_identify.c | 118 + src/core/cs_info.c | 249 ++ src/core/cs_invite.c | 88 + src/core/cs_kick.c | 152 + src/core/cs_list.c | 172 + src/core/cs_logout.c | 128 + src/core/cs_modes.c | 392 +++ src/core/cs_register.c | 199 ++ src/core/cs_sendpass.c | 123 + src/core/cs_set.c | 839 +++++ src/core/cs_status.c | 102 + src/core/cs_suspend.c | 188 + src/core/cs_topic.c | 119 + src/core/cs_xop.c | 474 +++ src/core/he_help.c | 76 + src/core/hs_del.c | 91 + src/core/hs_delall.c | 96 + src/core/hs_group.c | 121 + src/core/hs_help.c | 66 + src/core/hs_list.c | 179 + src/core/hs_off.c | 87 + src/core/hs_on.c | 102 + src/core/hs_set.c | 147 + src/core/hs_setall.c | 150 + src/core/ms_cancel.c | 105 + src/core/ms_check.c | 118 + src/core/ms_del.c | 199 ++ src/core/ms_help.c | 66 + src/core/ms_info.c | 231 ++ src/core/ms_list.c | 197 ++ src/core/ms_read.c | 201 ++ src/core/ms_rsend.c | 119 + src/core/ms_send.c | 73 + src/core/ms_sendall.c | 95 + src/core/ms_set.c | 265 ++ src/core/ms_staff.c | 92 + src/core/ns_access.c | 189 + src/core/ns_alist.c | 186 + src/core/ns_drop.c | 156 + src/core/ns_forbid.c | 151 + src/core/ns_getemail.c | 102 + src/core/ns_getpass.c | 111 + src/core/ns_ghost.c | 122 + src/core/ns_group.c | 326 ++ src/core/ns_help.c | 77 + src/core/ns_identify.c | 160 + src/core/ns_info.c | 272 ++ src/core/ns_list.c | 230 ++ src/core/ns_logout.c | 125 + src/core/ns_recover.c | 111 + src/core/ns_register.c | 486 +++ src/core/ns_release.c | 107 + src/core/ns_sendpass.c | 120 + src/core/ns_set.c | 519 +++ src/core/ns_status.c | 94 + src/core/ns_suspend.c | 193 ++ src/core/ns_update.c | 90 + src/core/os_admin.c | 250 ++ src/core/os_akill.c | 378 ++ src/core/os_chankill.c | 130 + src/core/os_chanlist.c | 116 + src/core/os_clearmodes.c | 356 ++ src/core/os_defcon.c | 167 + src/core/os_global.c | 81 + src/core/os_help.c | 66 + src/core/os_ignore.c | 200 ++ src/core/os_jupe.c | 88 + src/core/os_kick.c | 100 + src/core/os_killclones.c | 129 + src/core/os_logonnews.c | 65 + src/core/os_mode.c | 101 + src/core/os_modinfo.c | 149 + src/core/os_modlist.c | 182 + src/core/os_modload.c | 96 + src/core/os_modunload.c | 95 + src/core/os_noop.c | 106 + src/core/os_oline.c | 111 + src/core/os_oper.c | 244 ++ src/core/os_opernews.c | 65 + src/core/os_quit.c | 82 + src/core/os_randomnews.c | 65 + src/core/os_raw.c | 77 + src/core/os_reload.c | 84 + src/core/os_restart.c | 89 + src/core/os_session.c | 68 + src/core/os_set.c | 262 ++ src/core/os_sgline.c | 355 ++ src/core/os_shutdown.c | 83 + src/core/os_sqline.c | 355 ++ src/core/os_staff.c | 158 + src/core/os_stats.c | 400 +++ src/core/os_svsnick.c | 126 + src/core/os_szline.c | 350 ++ src/core/os_umode.c | 116 + src/core/os_update.c | 74 + src/core/os_userlist.c | 121 + src/datafiles.c | 4 +- src/dreamforge.c | 1421 -------- src/encrypt.c | 4 +- src/events.c | 48 +- src/helpserv.c | 33 +- src/hostserv.c | 523 +-- src/hybrid.c | 1564 --------- src/init.c | 22 +- src/ircd.c | 1114 ++++++ src/main.c | 18 +- src/makefile.win32 | 22 +- src/memoserv.c | 1164 +------ src/messages.c | 7 +- src/misc.c | 2 +- src/modules.c | 431 ++- src/modules/catserv/Makefile | 9 - src/modules/catserv/README | 4 - src/modules/catserv/catserv_extern.h | 11 - src/modules/catserv/catserv_messages.c | 14 - src/modules/catserv/catserv_messages.h | 10 - src/modules/catserv/ircd_catserv.c | 112 - src/modules/catserv/makefile.win32 | 4 - src/modules/catserv/meow.c | 9 - src/modules/catserv/meow.h | 9 - src/modules/catserv/purr.c | 8 - src/modules/catserv/purr.h | 9 - src/modules/configure | 30 +- src/modules/cs_appendtopic.c | 188 + src/modules/cs_enforce.c | 334 ++ src/modules/cs_tban.c | 171 + src/modules/demos/catserv/Makefile | 9 + src/modules/demos/catserv/README | 4 + src/modules/demos/catserv/catserv_extern.h | 11 + src/modules/demos/catserv/catserv_messages.c | 14 + src/modules/demos/catserv/catserv_messages.h | 10 + src/modules/demos/catserv/ircd_catserv.c | 112 + src/modules/demos/catserv/makefile.win32 | 4 + src/modules/demos/catserv/meow.c | 9 + src/modules/demos/catserv/meow.h | 9 + src/modules/demos/catserv/purr.c | 8 + src/modules/demos/catserv/purr.h | 9 + src/modules/demos/events.c | 82 + src/modules/demos/hs_conf.c | 74 + src/modules/demos/hs_moo.c | 119 + src/modules/events.c | 53 - src/modules/hs_moo.c | 119 - src/modules/makefile.inc.win32 | 4 +- src/modules/makefile.win32 | 1 - src/modules/module.h | 10 - src/modules/ns_maxemail.c | 190 ++ src/modules/ns_noop.c | 483 +++ src/modules/os_info.c | 639 ++++ src/news.c | 2 +- src/nickserv.c | 2599 +------------- src/operserv.c | 4727 +++----------------------- src/plexus.c | 1660 --------- src/protocol/Makefile | 45 + src/protocol/Makefile.sub | 30 + src/protocol/Makefile.win32 | 26 + src/protocol/bahamut.c | 1659 +++++++++ src/protocol/bahamut.h | 131 + src/protocol/configure | 35 + src/protocol/dreamforge.c | 1363 ++++++++ src/protocol/dreamforge.h | 111 + src/protocol/hybrid.c | 1504 ++++++++ src/protocol/hybrid.h | 115 + src/protocol/inspircd.c | 1500 ++++++++ src/protocol/inspircd.h | 124 + src/protocol/plexus.c | 1602 +++++++++ src/protocol/plexus.h | 126 + src/protocol/ptlink.c | 1691 +++++++++ src/protocol/ptlink.h | 149 + src/protocol/rageircd.c | 1655 +++++++++ src/protocol/rageircd.h | 113 + src/protocol/ratbox.c | 1808 ++++++++++ src/protocol/ratbox.h | 119 + src/protocol/shadowircd.c | 1799 ++++++++++ src/protocol/shadowircd.h | 142 + src/protocol/solidircd.c | 1687 +++++++++ src/protocol/solidircd.h | 137 + src/protocol/ultimate2.c | 1714 ++++++++++ src/protocol/ultimate2.h | 120 + src/protocol/ultimate3.c | 1797 ++++++++++ src/protocol/ultimate3.h | 125 + src/protocol/unreal31.c | 1571 +++++++++ src/protocol/unreal31.h | 124 + src/protocol/unreal32.c | 2202 ++++++++++++ src/protocol/unreal32.h | 153 + src/protocol/viagra.c | 1696 +++++++++ src/protocol/viagra.h | 132 + src/ptlink.c | 1748 ---------- src/rageircd.c | 1715 ---------- src/ratbox.c | 1868 ---------- src/servers.c | 4 +- src/shadowircd.c | 1856 ---------- src/solidircd.c | 1749 ---------- src/tools/Makefile.win32 | 3 +- src/tools/db-merger.c | 4 +- src/tools/epona2anope.c | 4 +- src/ultimate2.c | 1774 ---------- src/ultimate3.c | 1856 ---------- src/unreal31.c | 1635 --------- src/unreal32.c | 2262 ------------ src/users.c | 8 +- src/viagra.c | 1768 ---------- 239 files changed, 53683 insertions(+), 39431 deletions(-) delete mode 100644 src/bahamut.c create mode 100644 src/core/Makefile create mode 100644 src/core/Makefile.sub create mode 100644 src/core/Makefile.win32 create mode 100644 src/core/bs_act.c create mode 100644 src/core/bs_assign.c create mode 100644 src/core/bs_badwords.c create mode 100644 src/core/bs_bot.c create mode 100644 src/core/bs_botlist.c create mode 100644 src/core/bs_fantasy.c create mode 100644 src/core/bs_fantasy_kick.c create mode 100644 src/core/bs_fantasy_kickban.c create mode 100644 src/core/bs_fantasy_owner.c create mode 100644 src/core/bs_fantasy_seen.c create mode 100644 src/core/bs_fantasy_unban.c create mode 100644 src/core/bs_help.c create mode 100644 src/core/bs_info.c create mode 100644 src/core/bs_kick.c create mode 100644 src/core/bs_say.c create mode 100644 src/core/bs_set.c create mode 100644 src/core/bs_unassign.c create mode 100755 src/core/configure create mode 100644 src/core/cs_access.c create mode 100644 src/core/cs_akick.c create mode 100644 src/core/cs_ban.c create mode 100644 src/core/cs_clear.c create mode 100644 src/core/cs_drop.c create mode 100644 src/core/cs_forbid.c create mode 100644 src/core/cs_getkey.c create mode 100644 src/core/cs_getpass.c create mode 100644 src/core/cs_help.c create mode 100644 src/core/cs_identify.c create mode 100644 src/core/cs_info.c create mode 100644 src/core/cs_invite.c create mode 100644 src/core/cs_kick.c create mode 100644 src/core/cs_list.c create mode 100644 src/core/cs_logout.c create mode 100644 src/core/cs_modes.c create mode 100644 src/core/cs_register.c create mode 100644 src/core/cs_sendpass.c create mode 100644 src/core/cs_set.c create mode 100644 src/core/cs_status.c create mode 100644 src/core/cs_suspend.c create mode 100644 src/core/cs_topic.c create mode 100644 src/core/cs_xop.c create mode 100644 src/core/he_help.c create mode 100644 src/core/hs_del.c create mode 100644 src/core/hs_delall.c create mode 100644 src/core/hs_group.c create mode 100644 src/core/hs_help.c create mode 100644 src/core/hs_list.c create mode 100644 src/core/hs_off.c create mode 100644 src/core/hs_on.c create mode 100644 src/core/hs_set.c create mode 100644 src/core/hs_setall.c create mode 100644 src/core/ms_cancel.c create mode 100644 src/core/ms_check.c create mode 100644 src/core/ms_del.c create mode 100644 src/core/ms_help.c create mode 100644 src/core/ms_info.c create mode 100644 src/core/ms_list.c create mode 100644 src/core/ms_read.c create mode 100644 src/core/ms_rsend.c create mode 100644 src/core/ms_send.c create mode 100644 src/core/ms_sendall.c create mode 100644 src/core/ms_set.c create mode 100644 src/core/ms_staff.c create mode 100644 src/core/ns_access.c create mode 100644 src/core/ns_alist.c create mode 100644 src/core/ns_drop.c create mode 100644 src/core/ns_forbid.c create mode 100644 src/core/ns_getemail.c create mode 100644 src/core/ns_getpass.c create mode 100644 src/core/ns_ghost.c create mode 100644 src/core/ns_group.c create mode 100644 src/core/ns_help.c create mode 100644 src/core/ns_identify.c create mode 100644 src/core/ns_info.c create mode 100644 src/core/ns_list.c create mode 100644 src/core/ns_logout.c create mode 100644 src/core/ns_recover.c create mode 100644 src/core/ns_register.c create mode 100644 src/core/ns_release.c create mode 100644 src/core/ns_sendpass.c create mode 100644 src/core/ns_set.c create mode 100644 src/core/ns_status.c create mode 100644 src/core/ns_suspend.c create mode 100644 src/core/ns_update.c create mode 100644 src/core/os_admin.c create mode 100644 src/core/os_akill.c create mode 100644 src/core/os_chankill.c create mode 100644 src/core/os_chanlist.c create mode 100644 src/core/os_clearmodes.c create mode 100644 src/core/os_defcon.c create mode 100644 src/core/os_global.c create mode 100644 src/core/os_help.c create mode 100644 src/core/os_ignore.c create mode 100644 src/core/os_jupe.c create mode 100644 src/core/os_kick.c create mode 100644 src/core/os_killclones.c create mode 100644 src/core/os_logonnews.c create mode 100644 src/core/os_mode.c create mode 100644 src/core/os_modinfo.c create mode 100644 src/core/os_modlist.c create mode 100644 src/core/os_modload.c create mode 100644 src/core/os_modunload.c create mode 100644 src/core/os_noop.c create mode 100644 src/core/os_oline.c create mode 100644 src/core/os_oper.c create mode 100644 src/core/os_opernews.c create mode 100644 src/core/os_quit.c create mode 100644 src/core/os_randomnews.c create mode 100644 src/core/os_raw.c create mode 100644 src/core/os_reload.c create mode 100644 src/core/os_restart.c create mode 100644 src/core/os_session.c create mode 100644 src/core/os_set.c create mode 100644 src/core/os_sgline.c create mode 100644 src/core/os_shutdown.c create mode 100644 src/core/os_sqline.c create mode 100644 src/core/os_staff.c create mode 100644 src/core/os_stats.c create mode 100644 src/core/os_svsnick.c create mode 100644 src/core/os_szline.c create mode 100644 src/core/os_umode.c create mode 100644 src/core/os_update.c create mode 100644 src/core/os_userlist.c delete mode 100644 src/dreamforge.c delete mode 100644 src/hybrid.c create mode 100644 src/ircd.c delete mode 100644 src/modules/catserv/Makefile delete mode 100644 src/modules/catserv/README delete mode 100644 src/modules/catserv/catserv_extern.h delete mode 100644 src/modules/catserv/catserv_messages.c delete mode 100644 src/modules/catserv/catserv_messages.h delete mode 100644 src/modules/catserv/ircd_catserv.c delete mode 100644 src/modules/catserv/makefile.win32 delete mode 100644 src/modules/catserv/meow.c delete mode 100644 src/modules/catserv/meow.h delete mode 100644 src/modules/catserv/purr.c delete mode 100644 src/modules/catserv/purr.h create mode 100644 src/modules/cs_appendtopic.c create mode 100644 src/modules/cs_enforce.c create mode 100644 src/modules/cs_tban.c create mode 100644 src/modules/demos/catserv/Makefile create mode 100644 src/modules/demos/catserv/README create mode 100644 src/modules/demos/catserv/catserv_extern.h create mode 100644 src/modules/demos/catserv/catserv_messages.c create mode 100644 src/modules/demos/catserv/catserv_messages.h create mode 100644 src/modules/demos/catserv/ircd_catserv.c create mode 100644 src/modules/demos/catserv/makefile.win32 create mode 100644 src/modules/demos/catserv/meow.c create mode 100644 src/modules/demos/catserv/meow.h create mode 100644 src/modules/demos/catserv/purr.c create mode 100644 src/modules/demos/catserv/purr.h create mode 100644 src/modules/demos/events.c create mode 100644 src/modules/demos/hs_conf.c create mode 100644 src/modules/demos/hs_moo.c delete mode 100644 src/modules/events.c delete mode 100644 src/modules/hs_moo.c delete mode 100644 src/modules/module.h create mode 100644 src/modules/ns_maxemail.c create mode 100644 src/modules/ns_noop.c create mode 100644 src/modules/os_info.c delete mode 100644 src/plexus.c create mode 100644 src/protocol/Makefile create mode 100644 src/protocol/Makefile.sub create mode 100644 src/protocol/Makefile.win32 create mode 100644 src/protocol/bahamut.c create mode 100644 src/protocol/bahamut.h create mode 100755 src/protocol/configure create mode 100644 src/protocol/dreamforge.c create mode 100644 src/protocol/dreamforge.h create mode 100644 src/protocol/hybrid.c create mode 100644 src/protocol/hybrid.h create mode 100644 src/protocol/inspircd.c create mode 100644 src/protocol/inspircd.h create mode 100644 src/protocol/plexus.c create mode 100644 src/protocol/plexus.h create mode 100644 src/protocol/ptlink.c create mode 100644 src/protocol/ptlink.h create mode 100644 src/protocol/rageircd.c create mode 100644 src/protocol/rageircd.h create mode 100644 src/protocol/ratbox.c create mode 100644 src/protocol/ratbox.h create mode 100644 src/protocol/shadowircd.c create mode 100644 src/protocol/shadowircd.h create mode 100644 src/protocol/solidircd.c create mode 100644 src/protocol/solidircd.h create mode 100644 src/protocol/ultimate2.c create mode 100644 src/protocol/ultimate2.h create mode 100644 src/protocol/ultimate3.c create mode 100644 src/protocol/ultimate3.h create mode 100644 src/protocol/unreal31.c create mode 100644 src/protocol/unreal31.h create mode 100644 src/protocol/unreal32.c create mode 100644 src/protocol/unreal32.h create mode 100644 src/protocol/viagra.c create mode 100644 src/protocol/viagra.h delete mode 100644 src/ptlink.c delete mode 100644 src/rageircd.c delete mode 100644 src/ratbox.c delete mode 100644 src/shadowircd.c delete mode 100644 src/solidircd.c delete mode 100644 src/ultimate2.c delete mode 100644 src/ultimate3.c delete mode 100644 src/unreal31.c delete mode 100644 src/unreal32.c delete mode 100644 src/viagra.c (limited to 'src') diff --git a/src/Makefile b/src/Makefile index f80b157ac..4fb8e9467 100644 --- a/src/Makefile +++ b/src/Makefile @@ -2,26 +2,21 @@ MYSQL_OBJ = $(MYSQL:.c=.o) RDB_OBJ = $(RDB:.c=.o) IRCD_OBJ = $(IRCDFILE:.c=.o) OBJS = actions.o base64.o botserv.o channels.o chanserv.o commands.o compat.o \ - config.o datafiles.o encrypt.o events.o helpserv.o hostserv.o init.o language.o list.o log.o mail.o main.o \ + config.o datafiles.o encrypt.o events.o helpserv.o hostserv.o init.o ircd.o language.o list.o log.o mail.o main.o \ memory.o memoserv.o messages.o misc.o modules.o news.o nickserv.o operserv.o \ - process.o send.o servers.o sessions.o slist.o sockutil.o timeout.o users.o \ - $(VSNPRINTF_O) $(RDB_OBJ) $(MYSQL_OBJ) $(IRCD_OBJ) + process.o send.o servers.o sessions.o slist.o sockutil.o timeout.o users.o \ + $(VSNPRINTF_O) $(RDB_OBJ) $(MYSQL_OBJ) SRCS = actions.c base64.c botserv.c channels.c chanserv.c commands.c compat.c \ - config.c datafiles.c encrypt.c events.c helpserv.c hostserv.c init.c language.c list.c log.c mail.c main.c \ + config.c datafiles.c encrypt.c events.c helpserv.c hostserv.c init.c ircd.c language.c list.c log.c mail.c main.c \ memory.c memoserv.c messages.c misc.c modules.c news.c nickserv.c operserv.c \ process.c send.c servers.c sessions.c slist.c sockutil.c timeout.c users.c \ - $(VSNPRINTF_C) $(RDB) $(MYSQL) $(IRCDFILE) + $(VSNPRINTF_C) $(RDB) $(MYSQL) INCLUDES = ../include/commands.h ../include/defs.h ../include/language.h \ ../include/pseudo.h ../include/sysconf.h ../include/config.h \ ../include/encrypt.h ../include/messages.h ../include/services.h \ ../include/timeout.h ../include/datafiles.h ../include/extern.h \ - ../include/modules.h ../include/slist.h \ - ../include/dreamforge.h ../include/bahamut.h ../include/ultimate2.h \ - ../include/ultimate3.h ../include/hybrid.h ../include/ptlink.h ../include/unreal31.h \ - ../include/viagra.h ../include/rageircd.h ../include/unreal32.h ../include/solidircd.h \ - ../include/plexus.h ../include/shadowircd.h - + ../include/modules.h ../include/slist.h MAKEARGS = 'CFLAGS=${CFLAGS}' 'CC=${CC}' 'ANOPELIBS=${ANOPELIBS}' \ 'LDFLAGS=${LDFLAGS}' 'BINDEST=${BINDEST}' 'INSTALL=${INSTALL}' \ @@ -54,6 +49,7 @@ datafiles.o: datafiles.c $(INCLUDES) encrypt.o: encrypt.c $(INCLUDES) events.o: events.c $(INCLUDES) init.o: init.c $(INCLUDES) +ircd.o: ircd.c $(INCLUDES) helpserv.o: helpserv.c $(INCLUDES) hostserv.o: hostserv.c $(INCLUDES) language.o: language.c $(INCLUDES) @@ -84,15 +80,29 @@ rdb.o: rdb.c $(INCLUDES) modules: DUMMY (cd modules ; ./configure ; ${MAKE} ${MAKEARGS} all) -clean: clean_modules +protocols: DUMMY + (cd protocol ; ./configure ; ${MAKE} ${MAKEARGS} all) +core: DUMMY + (cd core ; ./configure ; ${MAKE} ${MAKEARGS} all) + +clean: clean_modules clean_protocols clean_core rm -f *.o services a.out clean_modules: @touch modules/Makefile.inc # Horribly ugly... (cd modules ; ${MAKE} ${MAKEARGS} clean) +clean_protocols: + @touch protocol/Makefile.inc + (cd protocol ; ${MAKE} ${MAKEARGS} clean) + +clean_core: + @touch core/Makefile.inc + (cd core ; ${MAKE} ${MAKEARGS} clean) spotless: clean (cd modules ; ${MAKE} ${MAKEARGS} distclean) + (cd protocol ; ${MAKE} ${MAKEARGS} distclean) + (cd core ; ${MAKE} ${MAKEARGS} distclean) install: services test -d ${BINDEST} || mkdir ${BINDEST} @@ -110,6 +120,8 @@ install: services test -d ${MODULE_PATH} || mkdir ${MODULE_PATH} ; \ test -d ${MODULE_PATH}/runtime || mkdir ${MODULE_PATH}/runtime ; \ (cd modules ; $(MAKE) install) ; \ + (cd protocol ; ${MAKE} install) ; \ + (cd core ; ${MAKE} install) ; \ fi @if [ "$(RUNGROUP)" ] ; then \ echo chgrp -R $(RUNGROUP) $(DATDEST) ; \ diff --git a/src/bahamut.c b/src/bahamut.c deleted file mode 100644 index 1f54406bc..000000000 --- a/src/bahamut.c +++ /dev/null @@ -1,1722 +0,0 @@ -/* Bahamut functions - * - * (C) 2003-2005 Anope Team - * Contact us at info@anope.org - * - * Please read COPYING and README for further details. - * - * Based on the original code of Epona by Lara. - * Based on the original code of Services by Andy Church. - * - * - */ - -/*************************************************************************/ - -#include "services.h" -#include "pseudo.h" - -#ifdef IRC_BAHAMUT - -const char version_protocol[] = "BahamutIRCd 1.4.*/1.8.*"; - -/* Not all ircds use +f for their flood/join throttle system */ -const char flood_mode_char_set[] = "+j"; /* mode char for FLOOD mode on set */ -const char flood_mode_char_remove[] = "-j"; /* mode char for FLOOD mode on remove */ -int UseTSMODE = 0; /* does send TSMODE but if it doesn't means it won't so this is disabled */ - -IRCDVar ircd[] = { - {"BahamutIRCd 1.4.*/1.8.*", /* ircd name */ - "+o", /* nickserv mode */ - "+o", /* chanserv mode */ - "+o", /* memoserv mode */ - "+", /* hostserv mode */ - "+io", /* operserv mode */ - "+o", /* botserv mode */ - "+h", /* helpserv mode */ - "+i", /* Dev/Null mode */ - "+io", /* Global mode */ - "+o", /* nickserv alias mode */ - "+o", /* chanserv alias mode */ - "+o", /* memoserv alias mode */ - "+", /* hostserv alias mode */ - "+io", /* operserv alias mode */ - "+o", /* botserv alias mode */ - "+h", /* helpserv alias mode */ - "+i", /* Dev/Null alias mode */ - "+io", /* Global alias mode */ - "+", /* Used by BotServ Bots */ - 2, /* Chan Max Symbols */ - "-cilmnpstOR", /* Modes to Remove */ - "+o", /* Channel Umode used by Botserv bots */ - 1, /* SVSNICK */ - 0, /* Vhost */ - 0, /* Has Owner */ - NULL, /* Mode to set for an owner */ - NULL, /* Mode to unset for an owner */ - NULL, /* Mode to set for channel admin */ - NULL, /* Mode to unset for channel admin */ - "+rd", /* Mode On Reg */ - "-r+d", /* Mode on UnReg */ - "+d", /* Mode on Nick Change */ - 1, /* Supports SGlines */ - 1, /* Supports SQlines */ - 1, /* Supports SZlines */ - 0, /* Supports Halfop +h */ - 3, /* Number of server args */ - 0, /* Join 2 Set */ - 0, /* Join 2 Message */ - 1, /* Has exceptions +e */ - 0, /* TS Topic Forward */ - 0, /* TS Topci Backward */ - 0, /* Protected Umode */ - 0, /* Has Admin */ - 1, /* Chan SQlines */ - 1, /* Quit on Kill */ - 1, /* SVSMODE unban */ - 0, /* Has Protect */ - 0, /* Reverse */ - 1, /* Chan Reg */ - CMODE_r, /* Channel Mode */ - 0, /* vidents */ - 1, /* svshold */ - 1, /* time stamp on mode */ - 1, /* NICKIP */ - 0, /* O:LINE */ - 1, /* UMODE */ - 0, /* VHOST ON NICK */ - 0, /* Change RealName */ - 0, /* ChanServ extra */ - 0, /* No Knock */ - 0, /* Admin Only */ - DEFAULT_MLOCK, /* Default MLOCK */ - 0, /* Vhost Mode */ - 1, /* +f */ - 0, /* +L */ - CMODE_j, /* Mode */ - 0, /* Mode */ - 1, - 1, /* No Knock requires +i */ - NULL, /* CAPAB Chan Modes */ - 0, /* We support TOKENS */ - 1, /* TOKENS are CASE inSensitive */ - 0, /* TIME STAMPS are BASE64 */ - 1, /* +I support */ - 0, /* SJOIN ban char */ - 0, /* SJOIN except char */ - 0, /* SJOIN invite char */ - 0, /* Can remove User Channel Modes with SVSMODE */ - 0, /* Sglines are not enforced until user reconnects */ - NULL, /* vhost char */ - 0, /* ts6 */ - 1, /* support helper umode */ - 0, /* p10 */ - NULL, /* character set */ - 1, /* reports sync state */ - } - , - {NULL} -}; - -IRCDCAPAB ircdcap[] = { - { - CAPAB_NOQUIT, /* NOQUIT */ - CAPAB_TSMODE, /* TSMODE */ - CAPAB_UNCONNECT, /* UNCONNECT */ - 0, /* NICKIP */ - 0, /* SJOIN */ - 0, /* ZIP */ - CAPAB_BURST, /* BURST */ - 0, /* TS5 */ - 0, /* TS3 */ - CAPAB_DKEY, /* DKEY */ - 0, /* PT4 */ - 0, /* SCS */ - 0, /* QS */ - 0, /* UID */ - 0, /* KNOCK */ - 0, /* CLIENT */ - 0, /* IPV6 */ - 0, /* SSJ5 */ - 0, /* SN2 */ - 0, /* TOKEN */ - 0, /* VHOST */ - 0, /* SSJ3 */ - 0, /* NICK2 */ - 0, /* UMODE2 */ - 0, /* VL */ - 0, /* TLKEXT */ - 0, /* DODKEY */ - CAPAB_DOZIP, /* DOZIP */ - 0, 0, 0} -}; - - -void anope_set_umode(User * user, int ac, char **av) -{ - int add = 1; /* 1 if adding modes, 0 if deleting */ - char *modes = av[0]; - - ac--; - - if (debug) - alog("debug: Changing mode for %s to %s", user->nick, modes); - - while (*modes) { - - add ? (user->mode |= umodes[(int) *modes]) : (user->mode &= - ~umodes[(int) - *modes]); - - switch (*modes++) { - case '+': - add = 1; - break; - case '-': - add = 0; - break; - case 'a': - if (UnRestrictSAdmin) { - break; - } - if (add && !is_services_admin(user)) { - common_svsmode(user, "-a", NULL); - user->mode &= ~UMODE_a; - } - break; - case 'd': - if (ac == 0) { - alog("user: umode +d with no parameter (?) for user %s", - user->nick); - break; - } - - ac--; - av++; - user->svid = strtoul(*av, NULL, 0); - break; - case 'o': - if (add) { - opcnt++; - - if (WallOper) - anope_cmd_global(s_OperServ, - "\2%s\2 is now an IRC operator.", - user->nick); - display_news(user, NEWS_OPER); - - } else { - opcnt--; - } - break; - case 'r': - if (add && !nick_identified(user)) { - common_svsmode(user, "-r", NULL); - user->mode &= ~UMODE_r; - } - break; - } - } -} - - -unsigned long umodes[128] = { - 0, 0, 0, /* Unused */ - 0, 0, 0, /* Unused */ - 0, 0, 0, /* Unused, Unused, Horzontal Tab */ - 0, 0, 0, /* Line Feed, Unused, Unused */ - 0, 0, 0, /* Carriage Return, Unused, Unused */ - 0, 0, 0, /* Unused */ - 0, 0, 0, /* Unused */ - 0, 0, 0, /* Unused */ - 0, 0, 0, /* Unused */ - 0, 0, 0, /* Unused */ - 0, 0, 0, /* Unused, Unused, Space */ - 0, 0, 0, /* ! " # */ - 0, 0, 0, /* $ % & */ - 0, 0, 0, /* ! ( ) */ - 0, 0, 0, /* * + , */ - 0, 0, 0, /* - . / */ - 0, 0, /* 0 1 */ - 0, 0, /* 2 3 */ - 0, 0, /* 4 5 */ - 0, 0, /* 6 7 */ - 0, 0, /* 8 9 */ - 0, 0, /* : ; */ - 0, 0, 0, /* < = > */ - 0, 0, /* ? @ */ - UMODE_A, 0, 0, /* A B C */ - UMODE_D, 0, UMODE_F, /* D E F */ - 0, 0, UMODE_I, /* G H I */ - 0, UMODE_K, 0, /* J K L */ - 0, 0, UMODE_O, /* M N O */ - 0, 0, UMODE_R, /* P Q R */ - 0, 0, 0, /* S T U */ - 0, 0, UMODE_X, /* V W X */ - 0, /* Y */ - 0, /* Z */ - 0, 0, 0, /* [ \ ] */ - 0, 0, 0, /* ^ _ ` */ - UMODE_a, UMODE_b, UMODE_c, /* a b c */ - UMODE_d, UMODE_e, UMODE_f, /* d e f */ - UMODE_g, UMODE_h, UMODE_i, /* g h i */ - UMODE_j, UMODE_k, 0, /* j k l */ - UMODE_m, UMODE_n, UMODE_o, /* m n o */ - 0, 0, UMODE_r, /* p q r */ - UMODE_s, 0, 0, /* s t u */ - 0, UMODE_w, UMODE_x, /* v w x */ - UMODE_y, /* y */ - 0, /* z */ - 0, 0, 0, /* { | } */ - 0, 0 /* ~ ‚ */ -}; - -char csmodes[128] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - - 0, - 0, - 0, 0, 0, - 0, - 0, 0, 0, 0, - 0, - - 'v', 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - - 'o', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -}; - - -CMMode cmmodes[128] = { - {NULL}, {NULL}, {NULL}, - {NULL}, {NULL}, {NULL}, - {NULL}, {NULL}, {NULL}, - {NULL}, {NULL}, {NULL}, - {NULL}, {NULL}, {NULL}, - {NULL}, {NULL}, {NULL}, - {NULL}, {NULL}, {NULL}, - {NULL}, {NULL}, {NULL}, - {NULL}, {NULL}, {NULL}, - {NULL}, {NULL}, {NULL}, - {NULL}, {NULL}, {NULL}, - {NULL}, {NULL}, {NULL}, - {NULL}, {NULL}, {NULL}, - {NULL}, {NULL}, {NULL}, - {NULL}, {NULL}, {NULL}, - {NULL}, {NULL}, {NULL}, - {NULL}, {NULL}, {NULL}, - {NULL}, {NULL}, {NULL}, - {NULL}, {NULL}, {NULL}, - {NULL}, {NULL}, {NULL}, - {NULL}, {NULL}, {NULL}, - {NULL}, {NULL}, {NULL}, - {NULL}, {NULL}, {NULL}, /* BCD */ - {NULL}, {NULL}, {NULL}, /* EFG */ - {NULL}, /* H */ - {add_invite, del_invite}, /* I */ - {NULL}, /* J */ - {NULL}, {NULL}, {NULL}, /* KLM */ - {NULL}, {NULL}, {NULL}, /* NOP */ - {NULL}, {NULL}, {NULL}, /* QRS */ - {NULL}, {NULL}, {NULL}, /* TUV */ - {NULL}, {NULL}, {NULL}, /* WXY */ - {NULL}, /* Z */ - {NULL}, {NULL}, /* (char 91 - 92) */ - {NULL}, {NULL}, {NULL}, /* (char 93 - 95) */ - {NULL}, /* ` (char 96) */ - {NULL}, /* a (char 97) */ - {add_ban, del_ban}, /* b */ - {NULL}, {NULL}, /* cd */ - {add_exception, del_exception}, - {NULL}, {NULL}, - {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, - {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, - {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL}, {NULL} -}; - -CBMode cbmodes[128] = { - {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, - {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, - {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, - {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, - {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, - {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, - {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, - {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, - {0}, - {0}, /* A */ - {0}, /* B */ - {0}, /* C */ - {0}, /* D */ - {0}, /* E */ - {0}, /* F */ - {0}, /* G */ - {0}, /* H */ - {0}, /* I */ - {0}, /* J */ - {0}, /* K */ - {0}, /* L */ - {CMODE_M, 0, NULL, NULL}, /* M */ - {0}, /* N */ - {CMODE_O, CBM_NO_USER_MLOCK, NULL, NULL}, - {0}, /* P */ - {0}, /* Q */ - {CMODE_R, 0, NULL, NULL}, /* R */ - {0}, /* S */ - {0}, /* T */ - {0}, /* U */ - {0}, /* V */ - {0}, /* W */ - {0}, /* X */ - {0}, /* Y */ - {0}, /* Z */ - {0}, {0}, {0}, {0}, {0}, {0}, - {0}, /* a */ - {0}, /* b */ - {CMODE_c, 0, NULL, NULL}, - {0}, /* d */ - {0}, /* e */ - {0}, /* f */ - {0}, /* g */ - {0}, /* h */ - {CMODE_i, 0, NULL, NULL}, - {CMODE_j, 0, set_flood, cs_set_flood}, /* j */ - {CMODE_k, 0, set_key, cs_set_key}, - {CMODE_l, CBM_MINUS_NO_ARG, set_limit, cs_set_limit}, - {CMODE_m, 0, NULL, NULL}, - {CMODE_n, 0, NULL, NULL}, - {0}, /* o */ - {CMODE_p, 0, NULL, NULL}, - {0}, /* q */ - {CMODE_r, CBM_NO_MLOCK, NULL, NULL}, - {CMODE_s, 0, NULL, NULL}, - {CMODE_t, 0, NULL, NULL}, - {0}, - {0}, /* v */ - {0}, /* w */ - {0}, /* x */ - {0}, /* y */ - {0}, /* z */ - {0}, {0}, {0}, {0} -}; - -CBModeInfo cbmodeinfos[] = { - {'c', CMODE_c, 0, NULL, NULL}, - {'i', CMODE_i, 0, NULL, NULL}, - {'j', CMODE_j, 0, get_flood, cs_get_flood}, - {'k', CMODE_k, 0, get_key, cs_get_key}, - {'l', CMODE_l, CBM_MINUS_NO_ARG, get_limit, cs_get_limit}, - {'m', CMODE_m, 0, NULL, NULL}, - {'n', CMODE_n, 0, NULL, NULL}, - {'p', CMODE_p, 0, NULL, NULL}, - {'r', CMODE_r, 0, NULL, NULL}, - {'s', CMODE_s, 0, NULL, NULL}, - {'t', CMODE_t, 0, NULL, NULL}, - {'M', CMODE_M, 0, NULL, NULL}, - {'O', CMODE_O, 0, NULL, NULL}, - {'R', CMODE_R, 0, NULL, NULL}, - {0} -}; - -CUMode cumodes[128] = { - {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, - {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, - {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, - {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, - - {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, - {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, - {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, - {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, - - {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, - {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, - {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, - {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, - - {0}, - {0}, /* a */ - {0}, /* b */ - {0}, /* c */ - {0}, /* d */ - {0}, /* e */ - {0}, /* f */ - {0}, /* g */ - {0}, /* h */ - {0}, /* i */ - {0}, /* j */ - {0}, /* k */ - {0}, /* l */ - {0}, /* m */ - {0}, /* n */ - {CUS_OP, CUF_PROTECT_BOTSERV, check_valid_op}, - {0}, /* p */ - {0}, /* q */ - {0}, /* r */ - {0}, /* s */ - {0}, /* t */ - {0}, /* u */ - {CUS_VOICE, 0, NULL}, - {0}, /* w */ - {0}, /* x */ - {0}, /* y */ - {0}, /* z */ - {0}, {0}, {0}, {0}, {0} -}; - - - -void anope_cmd_mode(char *source, char *dest, const char *fmt, ...) -{ - va_list args; - char buf[BUFSIZE]; - *buf = '\0'; - - if (fmt) { - va_start(args, fmt); - vsnprintf(buf, BUFSIZE - 1, fmt, args); - va_end(args); - - if (!buf) { - return; - } - - if (ircdcap->tsmode) { - if (uplink_capab & ircdcap->tsmode) { - send_cmd(source, "MODE %s 0 %s", dest, buf); - } else { - send_cmd(source, "MODE %s %s", dest, buf); - } - } else { - send_cmd(source, "MODE %s %s", dest, buf); - } - } -} - -/* SVSHOLD - set */ -void anope_cmd_svshold(char *nick) -{ - send_cmd(ServerName, "SVSHOLD %s %d :%s", nick, NSReleaseTimeout, - "Being held for registered user"); -} - -/* SVSHOLD - release */ -void anope_cmd_release_svshold(char *nick) -{ - send_cmd(ServerName, "SVSHOLD %s 0", nick); -} - -/* SVSMODE -b */ -void anope_cmd_unban(char *name, char *nick) -{ - anope_cmd_svsmode_chan(name, "-b", nick); -} - - -/* SVSMODE channel modes */ - -void anope_cmd_svsmode_chan(char *name, char *mode, char *nick) -{ - if (nick) { - send_cmd(ServerName, "SVSMODE %s %s %s", name, mode, nick); - } else { - send_cmd(ServerName, "SVSMODE %s %s", name, mode); - } -} - -void anope_cmd_bot_chan_mode(char *nick, char *chan) -{ - anope_cmd_mode(nick, chan, "%s %s", ircd->botchanumode, nick); -} - -/* EVENT: SJOIN */ -int anope_event_sjoin(char *source, int ac, char **av) -{ - do_sjoin(source, ac, av); - return MOD_CONT; -} - -/* -** NICK - new -** source = NULL -** parv[0] = nickname -** parv[1] = hopcount -** parv[2] = timestamp -** parv[3] = modes -** parv[4] = username -** parv[5] = hostname -** parv[6] = server -** parv[7] = servicestamp -** parv[8] = IP -** parv[9] = info -** NICK - change -** source = oldnick -** parv[0] = new nickname -** parv[1] = hopcount -*/ -int anope_event_nick(char *source, int ac, char **av) -{ - User *user; - - if (ac != 2) { - user = do_nick(source, av[0], av[4], av[5], av[6], av[9], - strtoul(av[2], NULL, 10), strtoul(av[7], NULL, 0), - strtoul(av[8], NULL, 0), NULL, NULL); - if (user) { - anope_set_umode(user, 1, &av[3]); - } - } else { - do_nick(source, av[0], NULL, NULL, NULL, NULL, - strtoul(av[1], NULL, 10), 0, 0, NULL, NULL); - } - return MOD_CONT; -} - -/* EVENT : CAPAB */ -int anope_event_capab(char *source, int ac, char **av) -{ - capab_parse(ac, av); - return MOD_CONT; -} - -/* EVENT : OS */ -int anope_event_os(char *source, int ac, char **av) -{ - if (ac < 1) - return MOD_CONT; - m_privmsg(source, s_OperServ, av[0]); - return MOD_CONT; -} - -/* EVENT : NS */ -int anope_event_ns(char *source, int ac, char **av) -{ - if (ac < 1) - return MOD_CONT; - m_privmsg(source, s_NickServ, av[0]); - return MOD_CONT; -} - -/* EVENT : MS */ -int anope_event_ms(char *source, int ac, char **av) -{ - if (ac < 1) - return MOD_CONT; - m_privmsg(source, s_MemoServ, av[0]); - return MOD_CONT; -} - -/* EVENT : HS */ -int anope_event_hs(char *source, int ac, char **av) -{ - if (ac < 1) - return MOD_CONT; - m_privmsg(source, s_HostServ, av[0]); - return MOD_CONT; -} - -/* EVENT : CS */ -int anope_event_cs(char *source, int ac, char **av) -{ - if (ac < 1) - return MOD_CONT; - m_privmsg(source, s_ChanServ, av[0]); - return MOD_CONT; -} - -int anope_event_436(char *source, int ac, char **av) -{ - if (ac < 1) - return MOD_CONT; - - m_nickcoll(av[0]); - return MOD_CONT; -} - -/* *INDENT-OFF* */ -void moduleAddIRCDMsgs(void) { - Message *m; - - - /* first update the cs protect info about this ircd */ - updateProtectDetails("PROTECT","PROTECTME","!protect","!deprotect","AUTOPROTECT","+","-"); - - /* now add the commands */ - m = createMessage("401", anope_event_null); addCoreMessage(IRCD,m); - m = createMessage("402", anope_event_null); addCoreMessage(IRCD,m); - m = createMessage("436", anope_event_436); addCoreMessage(IRCD,m); - m = createMessage("AWAY", anope_event_away); addCoreMessage(IRCD,m); - m = createMessage("INVITE", anope_event_null); addCoreMessage(IRCD,m); - m = createMessage("JOIN", anope_event_join); addCoreMessage(IRCD,m); - m = createMessage("KICK", anope_event_kick); addCoreMessage(IRCD,m); - m = createMessage("KILL", anope_event_kill); addCoreMessage(IRCD,m); - m = createMessage("MODE", anope_event_mode); addCoreMessage(IRCD,m); - m = createMessage("MOTD", anope_event_motd); addCoreMessage(IRCD,m); - m = createMessage("NICK", anope_event_nick); addCoreMessage(IRCD,m); - m = createMessage("NOTICE", anope_event_notice); addCoreMessage(IRCD,m); - m = createMessage("PART", anope_event_part); addCoreMessage(IRCD,m); - m = createMessage("PASS", anope_event_pass); addCoreMessage(IRCD,m); - m = createMessage("PING", anope_event_ping); addCoreMessage(IRCD,m); - m = createMessage("PRIVMSG", anope_event_privmsg); addCoreMessage(IRCD,m); - m = createMessage("QUIT", anope_event_quit); addCoreMessage(IRCD,m); - m = createMessage("SERVER", anope_event_server); addCoreMessage(IRCD,m); - m = createMessage("SQUIT", anope_event_squit); addCoreMessage(IRCD,m); - m = createMessage("TOPIC", anope_event_topic); addCoreMessage(IRCD,m); - m = createMessage("USER", anope_event_null); addCoreMessage(IRCD,m); - m = createMessage("WALLOPS", anope_event_null); addCoreMessage(IRCD,m); - m = createMessage("WHOIS", anope_event_whois); addCoreMessage(IRCD,m); - m = createMessage("AKILL", anope_event_null); addCoreMessage(IRCD,m); - m = createMessage("GLOBOPS", anope_event_null); addCoreMessage(IRCD,m); - m = createMessage("GNOTICE", anope_event_gnotice); addCoreMessage(IRCD,m); - m = createMessage("GOPER", anope_event_null); addCoreMessage(IRCD,m); - m = createMessage("RAKILL", anope_event_null); addCoreMessage(IRCD,m); - m = createMessage("SILENCE", anope_event_null); addCoreMessage(IRCD,m); - m = createMessage("SVSKILL", anope_event_null); addCoreMessage(IRCD,m); - m = createMessage("SVSMODE", anope_event_null); addCoreMessage(IRCD,m); - m = createMessage("SVSNICK", anope_event_null); addCoreMessage(IRCD,m); - m = createMessage("SVSNOOP", anope_event_null); addCoreMessage(IRCD,m); - m = createMessage("SQLINE", anope_event_sqline); addCoreMessage(IRCD,m); - m = createMessage("UNSQLINE", anope_event_null); addCoreMessage(IRCD,m); - m = createMessage("CAPAB", anope_event_capab); addCoreMessage(IRCD,m); - m = createMessage("CS", anope_event_cs); addCoreMessage(IRCD,m); - m = createMessage("HS", anope_event_hs); addCoreMessage(IRCD,m); - m = createMessage("MS", anope_event_ms); addCoreMessage(IRCD,m); - m = createMessage("NS", anope_event_ns); addCoreMessage(IRCD,m); - m = createMessage("OS", anope_event_os); addCoreMessage(IRCD,m); - m = createMessage("RS", anope_event_null); addCoreMessage(IRCD,m); - m = createMessage("SGLINE", anope_event_null); addCoreMessage(IRCD,m); - m = createMessage("SJOIN", anope_event_sjoin); addCoreMessage(IRCD,m); - m = createMessage("SS", anope_event_null); addCoreMessage(IRCD,m); - m = createMessage("SVINFO", anope_event_svinfo); addCoreMessage(IRCD,m); - m = createMessage("SZLINE", anope_event_null); addCoreMessage(IRCD,m); - m = createMessage("UNSGLINE", anope_event_null); addCoreMessage(IRCD,m); - m = createMessage("UNSZLINE", anope_event_null); addCoreMessage(IRCD,m); - m = createMessage("ERROR", anope_event_error); addCoreMessage(IRCD,m); - m = createMessage("LUSERSLOCK",anope_event_luserslock); addCoreMessage(IRCD,m); - m = createMessage("BURST", anope_event_burst); addCoreMessage(IRCD,m); - m = createMessage("ADMIN", anope_event_admin); addCoreMessage(IRCD,m); - -} - -/* *INDENT-ON* */ - -/* SQLINE */ -void anope_cmd_sqline(char *mask, char *reason) -{ - if (!mask || !reason) { - return; - } - - send_cmd(NULL, "SQLINE %s :%s", mask, reason); -} - -/* UNSGLINE */ -void anope_cmd_unsgline(char *mask) -{ - send_cmd(NULL, "UNSGLINE 0 :%s", mask); -} - -/* UNSZLINE */ -void anope_cmd_unszline(char *mask) -{ - /* this will likely fail so its only here for legacy */ - send_cmd(NULL, "UNSZLINE 0 %s", mask); - /* this is how we are supposed to deal with it */ - send_cmd(NULL, "RAKILL %s *", mask); -} - -/* SZLINE */ -void anope_cmd_szline(char *mask, char *reason, char *whom) -{ - /* this will likely fail so its only here for legacy */ - send_cmd(NULL, "SZLINE %s :%s", mask, reason); - /* this is how we are supposed to deal with it */ - send_cmd(NULL, "AKILL %s * %d %s %ld :%s", mask, 86400 * 2, whom, - (long int) time(NULL), reason); -} - -/* SVSNOOP */ -void anope_cmd_svsnoop(char *server, int set) -{ - send_cmd(NULL, "SVSNOOP %s %s", server, (set ? "+" : "-")); -} - -void anope_cmd_svsadmin(char *server, int set) -{ - anope_cmd_svsnoop(server, set); -} - -/* SGLINE */ -void anope_cmd_sgline(char *mask, char *reason) -{ - send_cmd(NULL, "SGLINE %d :%s:%s", strlen(mask), mask, reason); -} - -/* RAKILL */ -void anope_cmd_remove_akill(char *user, char *host) -{ - send_cmd(NULL, "RAKILL %s %s", host, user); -} - -/* PART */ -void anope_cmd_part(char *nick, char *chan, const char *fmt, ...) -{ - va_list args; - char buf[BUFSIZE]; - *buf = '\0'; - - if (fmt) { - va_start(args, fmt); - vsnprintf(buf, BUFSIZE - 1, fmt, args); - va_end(args); - } - - if (!nick || !chan) { - return; - } - - if (buf) { - send_cmd(nick, "PART %s :%s", chan, buf); - } else { - send_cmd(nick, "PART %s", chan); - } -} - -/* TOPIC */ -void anope_cmd_topic(char *whosets, char *chan, char *whosetit, - char *topic, time_t when) -{ - send_cmd(whosets, "TOPIC %s %s %lu :%s", chan, whosetit, - (unsigned long int) when, topic); -} - -/* UNSQLINE */ -void anope_cmd_unsqline(char *user) -{ - send_cmd(NULL, "UNSQLINE %s", user); -} - -/* JOIN - SJOIN */ -void anope_cmd_join(char *user, char *channel, time_t chantime) -{ - send_cmd(user, "SJOIN %ld %s", (long int) chantime, channel); -} - -/* AKILL */ -/* parv[1]=host - * parv[2]=user - * parv[3]=length - * parv[4]=akiller - * parv[5]=time set - * parv[6]=reason - */ -void anope_cmd_akill(char *user, char *host, char *who, time_t when, - time_t expires, char *reason) -{ - send_cmd(NULL, "AKILL %s %s %d %s %ld :%s", host, user, 86400 * 2, who, - (long int) time(NULL), reason); -} - -/* SVSKILL */ -/* parv[0] = servername - * parv[1] = client - * parv[2] = nick stamp - * parv[3] = kill message - */ -/* - Note: if the stamp is null 0, the below usage is correct of Bahamut -*/ -void anope_cmd_svskill(char *source, char *user, const char *fmt, ...) -{ - va_list args; - char buf[BUFSIZE]; - *buf = '\0'; - - if (!source || !user || !fmt) { - return; - } - - va_start(args, fmt); - vsnprintf(buf, BUFSIZE - 1, fmt, args); - va_end(args); - - if (!buf) { - return; - } - - send_cmd(source, "SVSKILL %s :%s", user, buf); -} - -/* SVSMODE */ -/* parv[0] - sender - * parv[1] - nick - * parv[2] - TS (or mode, depending on svs version) - * parv[3] - mode (or services id if old svs version) - * parv[4] - optional arguement (services id) - */ -void anope_cmd_svsmode(User * u, int ac, char **av) -{ - send_cmd(ServerName, "SVSMODE %s %ld %s%s%s", u->nick, - (long int) u->timestamp, av[0], (ac == 2 ? " " : ""), - (ac == 2 ? av[1] : "")); -} - -/* SQUIT */ -/* - * parv[0] = sender prefix - * parv[1] = server name - * parv[2] = comment -*/ -void anope_cmd_squit(char *servname, char *message) -{ - send_cmd(NULL, "SQUIT %s :%s", servname, message); -} - -/* PONG */ -void anope_cmd_pong(char *servname, char *who) -{ - send_cmd(servname, "PONG %s", who); -} - -void anope_cmd_connect(int servernum) -{ - me_server = - new_server(NULL, ServerName, ServerDesc, SERVER_ISME, NULL); - - if (servernum == 1) { - anope_cmd_pass(RemotePassword); - } else if (servernum == 2) { - anope_cmd_pass(RemotePassword2); - } else if (servernum == 3) { - anope_cmd_pass(RemotePassword3); - } - anope_cmd_capab(); - anope_cmd_server(ServerName, 1, ServerDesc); - anope_cmd_svinfo(); - anope_cmd_burst(); -} - - -/* - * SVINFO - * parv[0] = sender prefix - * parv[1] = TS_CURRENT for the server - * parv[2] = TS_MIN for the server - * parv[3] = server is standalone or connected to non-TS only - * parv[4] = server's idea of UTC time - */ -void anope_cmd_svinfo() -{ - send_cmd(NULL, "SVINFO 3 1 0 :%ld", (long int) time(NULL)); -} - -/* PASS */ -void anope_cmd_pass(char *pass) -{ - send_cmd(NULL, "PASS %s :TS", pass); -} - -/* SERVER */ -void anope_cmd_server(char *servname, int hop, char *descript) -{ - send_cmd(NULL, "SERVER %s %d :%s", servname, hop, ServerDesc); -} - -/* CAPAB */ -void anope_cmd_capab() -{ - send_cmd(NULL, - "CAPAB SSJOIN NOQUIT BURST UNCONNECT NICKIP TSMODE TS3"); -} - -/* EVENT : SERVER */ -int anope_event_server(char *source, int ac, char **av) -{ - if (!stricmp(av[1], "1")) { - uplink = sstrdup(av[0]); - } - - do_server(source, av[0], av[1], av[2], NULL); - return MOD_CONT; -} - -/* EVENT : PRIVMSG */ -int anope_event_privmsg(char *source, int ac, char **av) -{ - if (ac != 2) - return MOD_CONT; - m_privmsg(source, av[0], av[1]); - return MOD_CONT; -} - -/* EVENT : SVINFO */ -/* - * parv[0] = sender prefix - * parv[1] = TS_CURRENT for the server - * parv[2] = TS_MIN for the server - * parv[3] = server is standalone or connected to non-TS only - * parv[4] = server's idea of UTC time - */ -int anope_event_svinfo(char *source, int ac, char **av) -{ - return MOD_CONT; -} - - -int anope_event_part(char *source, int ac, char **av) -{ - if (ac < 1 || ac > 2) - return MOD_CONT; - do_part(source, ac, av); - return MOD_CONT; -} - -int anope_event_whois(char *source, int ac, char **av) -{ - if (source && ac >= 1) { - m_whois(source, av[0]); - } - return MOD_CONT; -} - -int anope_event_topic(char *source, int ac, char **av) -{ - if (ac != 4) - return MOD_CONT; - do_topic(source, ac, av); - return MOD_CONT; -} - -int anope_event_squit(char *source, int ac, char **av) -{ - if (ac != 2) - return MOD_CONT; - do_squit(source, ac, av); - return MOD_CONT; -} - -int anope_event_quit(char *source, int ac, char **av) -{ - if (ac != 1) - return MOD_CONT; - do_quit(source, ac, av); - return MOD_CONT; -} - -/* EVENT: MODE */ -int anope_event_mode(char *source, int ac, char **av) -{ - if (ac < 2) - return MOD_CONT; - - if (*av[0] == '#' || *av[0] == '&') { - do_cmode(source, ac, av); - } else { - do_umode(source, ac, av); - } - return MOD_CONT; -} - -/* EVENT: KILL */ -int anope_event_kill(char *source, int ac, char **av) -{ - if (ac != 2) - return MOD_CONT; - - m_kill(av[0], av[1]); - return MOD_CONT; -} - -/* EVENT: KICK */ -int anope_event_kick(char *source, int ac, char **av) -{ - if (ac != 3) - return MOD_CONT; - do_kick(source, ac, av); - return MOD_CONT; -} - -/* EVENT: JOIN */ -int anope_event_join(char *source, int ac, char **av) -{ - if (ac != 1) - return MOD_CONT; - do_join(source, ac, av); - return MOD_CONT; -} - -/* EVENT: MOTD */ -int anope_event_motd(char *source, int ac, char **av) -{ - if (!source) { - return MOD_CONT; - } - - m_motd(source); - return MOD_CONT; -} - -void anope_cmd_notice_ops(char *source, char *dest, const char *fmt, ...) -{ - va_list args; - char buf[BUFSIZE]; - *buf = '\0'; - - if (fmt) { - va_start(args, fmt); - vsnprintf(buf, BUFSIZE - 1, fmt, args); - va_end(args); - - if (!buf) { - return; - } - send_cmd(NULL, "NOTICE @%s :%s", dest, buf); - } -} - -/* NOTICE */ -void anope_cmd_notice(char *source, char *dest, const char *fmt, ...) -{ - va_list args; - char buf[BUFSIZE]; - *buf = '\0'; - - if (fmt) { - va_start(args, fmt); - vsnprintf(buf, sizeof(buf), fmt, args); - va_end(args); - } - if (!buf) { - return; - } - - if (UsePrivmsg) { - anope_cmd_privmsg2(source, dest, buf); - } else { - send_cmd(source, "NOTICE %s :%s", dest, buf); - } -} - -void anope_cmd_notice2(char *source, char *dest, char *msg) -{ - send_cmd(source, "NOTICE %s :%s", dest, msg); -} - -void anope_cmd_privmsg(char *source, char *dest, const char *fmt, ...) -{ - va_list args; - char buf[BUFSIZE]; - *buf = '\0'; - - if (fmt) { - va_start(args, fmt); - vsnprintf(buf, BUFSIZE - 1, fmt, args); - va_end(args); - } - if (!buf) { - return; - } - - send_cmd(source, "PRIVMSG %s :%s", dest, buf); -} - -void anope_cmd_privmsg2(char *source, char *dest, char *msg) -{ - send_cmd(source, "PRIVMSG %s :%s", dest, msg); -} - -void anope_cmd_serv_notice(char *source, char *dest, char *msg) -{ - send_cmd(source, "NOTICE $%s :%s", dest, msg); -} - -void anope_cmd_serv_privmsg(char *source, char *dest, char *msg) -{ - send_cmd(source, "PRIVMSG $%s :%s", dest, msg); -} - -/* GLOBOPS */ -void anope_cmd_global(char *source, const char *fmt, ...) -{ - va_list args; - char buf[BUFSIZE]; - *buf = '\0'; - - if (fmt) { - va_start(args, fmt); - vsnprintf(buf, BUFSIZE - 1, fmt, args); - va_end(args); - } - if (!buf) { - return; - } - - send_cmd(source ? source : ServerName, "GLOBOPS :%s", buf); -} - -/* 391 */ -void anope_cmd_391(char *source, char *timestr) -{ - if (!timestr) { - return; - } - send_cmd(NULL, "391 :%s %s :%s", source, ServerName, timestr); -} - -/* 250 */ -void anope_cmd_250(const char *fmt, ...) -{ - va_list args; - char buf[BUFSIZE]; - *buf = '\0'; - - if (fmt) { - va_start(args, fmt); - vsnprintf(buf, BUFSIZE - 1, fmt, args); - va_end(args); - } - if (!buf) { - return; - } - - send_cmd(NULL, "250 %s ", buf); -} - -/* 307 */ -void anope_cmd_307(const char *fmt, ...) -{ - va_list args; - char buf[BUFSIZE]; - *buf = '\0'; - - if (fmt) { - va_start(args, fmt); - vsnprintf(buf, BUFSIZE - 1, fmt, args); - va_end(args); - } - if (!buf) { - return; - } - - send_cmd(ServerName, "307 %s ", buf); -} - -/* 311 */ -void anope_cmd_311(const char *fmt, ...) -{ - va_list args; - char buf[BUFSIZE]; - *buf = '\0'; - - if (fmt) { - va_start(args, fmt); - vsnprintf(buf, BUFSIZE - 1, fmt, args); - va_end(args); - } - if (!buf) { - return; - } - - send_cmd(ServerName, "311 %s ", buf); -} - -/* 312 */ -void anope_cmd_312(const char *fmt, ...) -{ - va_list args; - char buf[BUFSIZE]; -