summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordane dane@31f1291d-b8d6-0310-a050-a5561fc1590b <dane dane@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864>2004-08-23 18:36:58 +0000
committerdane dane@31f1291d-b8d6-0310-a050-a5561fc1590b <dane dane@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864>2004-08-23 18:36:58 +0000
commit61a23cd017465cd2bff5f037cf54e051a6318b37 (patch)
tree5827cad42b833c88be5783d457ffb03b00c785bf
parent26ea4bc11b4e07bbeb95031f2337ff695f83cc16 (diff)
BUILD : 1.7.5 (327) BUGS : none NOTES : Merged anope-capab into main trunk...
git-svn-id: svn://svn.anope.org/anope/trunk@327 31f1291d-b8d6-0310-a050-a5561fc1590b git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@203 5417fbe8-f217-4b02-8779-1006273d7864
-rw-r--r--Changes7
-rw-r--r--Changes.conf6
-rw-r--r--Changes.lang8
-rwxr-xr-xConfig12
-rwxr-xr-xconfigure50
-rw-r--r--include/bahamut.h55
-rw-r--r--include/commands.h18
-rw-r--r--include/dreamforge.h51
-rw-r--r--include/extern.h318
-rw-r--r--include/hybrid.h48
-rw-r--r--include/ptlink.h60
-rw-r--r--include/rageircd.h58
-rw-r--r--include/services.h1173
-rw-r--r--include/sysconf.h.in7
-rw-r--r--include/ultimate2.h63
-rw-r--r--include/ultimate3.h60
-rw-r--r--include/unreal31.h66
-rw-r--r--include/unreal32.h80
-rw-r--r--include/version.sh37
-rw-r--r--include/viagra.h76
-rw-r--r--lang/cat.l13
-rw-r--r--lang/de.l12
-rw-r--r--lang/en_us.l13
-rw-r--r--lang/es.l13
-rw-r--r--lang/fr.l13
-rw-r--r--lang/gr.l13
-rw-r--r--lang/hun.l12
-rw-r--r--lang/it.l13
-rw-r--r--lang/nl.l13
-rw-r--r--lang/pl.l12
-rw-r--r--lang/pt.l13
-rw-r--r--lang/ru.l13
-rw-r--r--lang/tr.l13
-rw-r--r--src/Makefile15
-rw-r--r--src/actions.c163
-rw-r--r--src/bahamut.c1299
-rw-r--r--src/botserv.c237
-rw-r--r--src/channels.c648
-rw-r--r--src/chanserv.c939
-rw-r--r--src/commands.c18
-rw-r--r--src/datafiles.c11
-rw-r--r--src/dreamforge.c1123
-rw-r--r--src/hostserv.c157
-rw-r--r--src/hybrid.c1154
-rw-r--r--src/init.c207
-rw-r--r--src/language.c3
-rw-r--r--src/log.c5
-rw-r--r--src/main.c41
-rw-r--r--src/messages.c1203
-rw-r--r--src/misc.c2
-rw-r--r--src/modules.c6
-rw-r--r--src/modules/ircd_catserv.c2
-rw-r--r--src/mysql.c31
-rw-r--r--src/news.c4
-rw-r--r--src/nickserv.c350
-rw-r--r--src/operserv.c680
-rw-r--r--src/proxy.c36
-rw-r--r--src/ptlink.c1217
-rw-r--r--src/rageircd.c1273
-rw-r--r--src/send.c118
-rw-r--r--src/servers.c167
-rw-r--r--src/sessions.c30
-rw-r--r--src/ultimate2.c1318
-rw-r--r--src/ultimate3.c1427
-rw-r--r--src/unreal31.c1340
-rw-r--r--src/unreal32.c1434
-rw-r--r--src/users.c519
-rw-r--r--src/viagra.c1349
-rw-r--r--version.log6
69 files changed, 16206 insertions, 4745 deletions
diff --git a/Changes b/Changes
index 0821ad3aa..100e0a94d 100644
--- a/Changes
+++ b/Changes
@@ -1,3 +1,10 @@
+Anope Version S V N
+-------------------
+Provided by Anope Dev. <dev@anope.org> - 2004
+
+Provided by Trystan <trystan@nomadirc.net> - 2004
+08/23 A New protocol independent design (aka anope-capab). [ #00]
+
Anope Version 1.7.5
-------------------
Provided by Anope Dev. <dev@anope.org> - 2004
diff --git a/Changes.conf b/Changes.conf
index 4f7441251..3255ef221 100644
--- a/Changes.conf
+++ b/Changes.conf
@@ -1,3 +1,9 @@
+Anope Version S V N
+-------------------
+** ADDED CONFIGURATION DIRECTIVES **
+** MODIFIED CONFIGURATION DIRECTIVES **
+** DELETED CONFIGURATION DIRECTIVES **
+
Anope Version 1.7.5
-------------------
** ADDED CONFIGURATION DIRECTIVES **
diff --git a/Changes.lang b/Changes.lang
index ef74b4a0d..19bc817f0 100644
--- a/Changes.lang
+++ b/Changes.lang
@@ -1,3 +1,11 @@
+Anope Version S V N
+-------------------
+*** New Strings:
+
+*** Mod Strings:
+
+*** Del Strings:
+
Anope Version 1.7.5
-------------------
*** New Strings:
diff --git a/Config b/Config
index 90d73b3d1..657d55681 100755
--- a/Config
+++ b/Config
@@ -214,13 +214,15 @@ ok=0
echo "Select the closest to the type of server on your IRC network:"
echo " 1) DreamForge 4.6.7 [dated IRCd, upgrade to a current one]"
echo " 2) Bahamut 1.4.27 [or later]"
-echo " 3) UnrealIRCd 3.1.1 [or later]"
+echo " 3) UnrealIRCd 3.1.1 [or later (not 3.2)]"
echo " 4) UltimateIRCd 2.8.2 [or later]"
echo " 5) UltimateIRCd 3.0.0 [alpha26 or later]"
echo " 6) Hybrid IRCd 7.0 [experimental]"
echo " 7) ViagraIRCd 1.3.x [or later]"
echo " 8) PTlink 6.15.0 [experimental]"
echo " 9) RageIRCd 2.0 [beta-3 or later]"
+echo " 10) Unreal 3.2 [Unreal 3.2 beta19 or later]"
+
while [ $ok -eq 0 ] ; do
echo2 "[$IRCTYPE] "
@@ -242,7 +244,7 @@ while [ $ok -eq 0 ] ; do
ok=1;
;;
3)
- IRCTYPE_DEF="IRC_UNREAL"
+ IRCTYPE_DEF="IRC_UNREAL31"
ok=1;
;;
4)
@@ -270,6 +272,12 @@ while [ $ok -eq 0 ] ; do
ok=1;
;;
+ 10)
+ IRCTYPE_DEF="IRC_UNREAL32"
+ ok=1;
+ ;;
+
+
*)
echo "Please enter a valid option number."
;;
diff --git a/configure b/configure
index b203f58b0..cdc5c5b8c 100755
--- a/configure
+++ b/configure
@@ -1289,23 +1289,6 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
if test $# = 0; then
echo "You might want to run ./Config or provide some parameters to this script."
echo "./configure --help for information about this script"
@@ -2888,8 +2871,6 @@ _ACEOF
MYSQL=" mysql.c "
RDB=" rdb.c "
-
-
x="1";
@@ -8365,36 +8346,21 @@ cat >>confdefs.h <<\_ACEOF
#define IRC_BAHAMUT 1
_ACEOF
- elif test "$withval" = "IRC_UNREAL"; then
-
-cat >>confdefs.h <<\_ACEOF
-#define IRC_DREAMFORGE 1
-_ACEOF
-
+ elif test "$withval" = "IRC_UNREAL31"; then
cat >>confdefs.h <<\_ACEOF
-#define IRC_UNREAL 1
+#define IRC_UNREAL31 1
_ACEOF
elif test "$withval" = "IRC_ULTIMATE"; then
cat >>confdefs.h <<\_ACEOF
-#define IRC_DREAMFORGE 1
-_ACEOF
-
-
-cat >>confdefs.h <<\_ACEOF
-#define IRC_ULTIMATE 1
+#define IRC_ULTIMATE2 1
_ACEOF
elif test "$withval" = "IRC_ULTIMATE3"; then
cat >>confdefs.h <<\_ACEOF
-#define IRC_BAHAMUT 1
-_ACEOF
-
-
-cat >>confdefs.h <<\_ACEOF
#define IRC_ULTIMATE3 1
_ACEOF
@@ -8407,11 +8373,6 @@ _ACEOF
elif test "$withval" = "IRC_VIAGRA"; then
cat >>confdefs.h <<\_ACEOF
-#define IRC_BAHAMUT 1
-_ACEOF
-
-
-cat >>confdefs.h <<\_ACEOF
#define IRC_VIAGRA 1
_ACEOF
@@ -8424,12 +8385,13 @@ _ACEOF
elif test "$withval" = "IRC_RAGE2"; then
cat >>confdefs.h <<\_ACEOF
-#define IRC_BAHAMUT 1
+#define IRC_RAGE2 1
_ACEOF
+ elif test "$withval" = "IRC_UNREAL32"; then
cat >>confdefs.h <<\_ACEOF
-#define IRC_RAGE2 1
+#define IRC_UNREAL32 1
_ACEOF
fi
diff --git a/include/bahamut.h b/include/bahamut.h
new file mode 100644
index 000000000..e04729463
--- /dev/null
+++ b/include/bahamut.h
@@ -0,0 +1,55 @@
+/* Bahamut functions
+ *
+ * (C) 2003 Anope Team
+ * Contact us at info@anope.org
+ *
+ * Please read COPYING and README for furhter details.
+ *
+ * Based on the original code of Epona by Lara.
+ * Based on the original code of Services by Andy Church.
+ *
+ *
+ */
+
+/*************************************************************************/
+
+#ifdef IRC_BAHAMUT
+
+#define PROTECT_SET_MODE "+"
+#define PROTECT_UNSET_MODE "+"
+#define CS_CMD_PROTECT "PROTECT"
+#define CS_CMD_DEPROTECT "DEPROTECT"
+#define FANT_PROTECT_ADD "!protect"
+#define FANT_PROTECT_DEL "!deprotect"
+#define LEVEL_PROTECT_WORD "AUTOPROTECT"
+#define LEVELINFO_PROTECT_WORD "PROTECT"
+#define LEVELINFO_PROTECTME_WORD "PROTECTME"
+
+
+#define UMODE_a 0x00000001
+#define UMODE_h 0x00000002
+#define UMODE_i 0x00000004
+#define UMODE_o 0x00000008
+#define UMODE_r 0x00000010
+#define UMODE_w 0x00000020
+#define UMODE_A 0x00000040
+#define UMODE_R 0x80000000
+
+#define CMODE_i 0x00000001
+#define CMODE_m 0x00000002
+#define CMODE_n 0x00000004
+#define CMODE_p 0x00000008
+#define CMODE_s 0x00000010
+#define CMODE_t 0x00000020
+#define CMODE_k 0x00000040 /* These two used only by ChanServ */
+#define CMODE_l 0x00000080
+#define CMODE_c 0x00000400 /* Colors can't be used */
+#define CMODE_M 0x00000800 /* Non-regged nicks can't send messages */
+#define CMODE_O 0x00008000 /* Only opers can join */
+#define CMODE_R 0x00000100 /* Only identified users can join */
+#define CMODE_r 0x00000200 /* Set for all registered channels */
+
+#define DEFAULT_MLOCK CMODE_n | CMODE_t | CMODE_r
+
+#endif
+
diff --git a/include/commands.h b/include/commands.h
index 00a866219..28226b14f 100644
--- a/include/commands.h
+++ b/include/commands.h
@@ -20,15 +20,15 @@
* terminated with a NULL name.
*/
-extern Command *lookup_cmd(Command *list, const char *name);
-extern void run_cmd(const char *service, User *u, Command *list,
- const char *name);
-extern void help_cmd(const char *service, User *u, Command *list,
- const char *name);
-extern void do_run_cmd(const char *service, User * u, Command *c,const char *cmd);
-extern void do_help_cmd(const char *service, User * u, Command *c,const char *cmd);
-extern void mod_help_cmd(const char *service, User *u, CommandHash *cmdTable[],const char *cmd);
-extern void mod_run_cmd(const char *service, User *u, CommandHash *cmdTable[],const char *cmd);
+extern Command *lookup_cmd(Command *list, char *name);
+extern void run_cmd(char *service, User *u, Command *list,
+ char *name);
+extern void help_cmd(char *service, User *u, Command *list,
+ char *name);
+extern void do_run_cmd(char *service, User * u, Command *c,const char *cmd);
+extern void do_help_cmd(char *service, User * u, Command *c,const char *cmd);
+extern void mod_help_cmd(char *service, User *u, CommandHash *cmdTable[],const char *cmd);
+extern void mod_run_cmd(char *service, User *u, CommandHash *cmdTable[],const char *cmd);
extern char *mod_current_module_name;
/*************************************************************************/
diff --git a/include/dreamforge.h b/include/dreamforge.h
new file mode 100644
index 000000000..f5f3c755f
--- /dev/null
+++ b/include/dreamforge.h
@@ -0,0 +1,51 @@
+/* DreamForge IRCD functions
+ *
+ * (C) 2003 Anope Team
+ * Contact us at info@anope.org
+ *
+ * Please read COPYING and README for furhter details.
+ *
+ * Based on the original code of Epona by Lara.
+ * Based on the original code of Services by Andy Church.
+ *
+ *
+ */
+
+#ifdef IRC_DREAMFORGE
+
+#define OWNER_SET_MODE "+"
+#define OWNER_UNSET_MODE "+"
+#define PROTECT_SET_MODE "+"
+#define PROTECT_UNSET_MODE "+"
+#define CS_CMD_PROTECT "PROTECT"
+#define CS_CMD_DEPROTECT "DEPROTECT"
+#define FANT_PROTECT_ADD "!protect"
+#define FANT_PROTECT_DEL "!deprotect"
+#define LEVEL_PROTECT_WORD "AUTOPROTECT"
+#define LEVELINFO_PROTECT_WORD "PROTECT"
+#define LEVELINFO_PROTECTME_WORD "PROTECTME"
+
+#define UMODE_a 0x00000001
+#define UMODE_h 0x00000002
+#define UMODE_i 0x00000004
+#define UMODE_o 0x00000008
+#define UMODE_r 0x00000010
+#define UMODE_w 0x00000020
+#define UMODE_A 0x00000040
+#define UMODE_g 0x80000000
+
+#define CMODE_i 0x00000001
+#define CMODE_m 0x00000002
+#define CMODE_n 0x00000004
+#define CMODE_p 0x00000008
+#define CMODE_s 0x00000010
+#define CMODE_t 0x00000020
+#define CMODE_k 0x00000040 /* These two used only by ChanServ */
+#define CMODE_l 0x00000080
+#define CMODE_R 0x00000100 /* Only identified users can join */
+#define CMODE_r 0x00000200 /* Set for all registered channels */
+
+#define DEFAULT_MLOCK CMODE_n | CMODE_t | CMODE_r
+
+#endif
+
diff --git a/include/extern.h b/include/extern.h
index fe02b446b..d7d9b71a4 100644
--- a/include/extern.h
+++ b/include/extern.h
@@ -19,23 +19,24 @@
#define E extern
+E char *uplink;
-/**** modules.c ****/
-E void moduleCallBackRun(void);
-E void moduleCleanStruct(ModuleData * moduleData[]);
+/* IRC Variables */
+E IRCDVar ircd[];
+E IRCDCAPAB ircdcap[];
/**** actions.c ****/
-E void change_user_mode(User * u, char *modes, char *arg);
-E void kill_user(const char *source, const char *user, const char *reason);
+E void kill_user(char *source, char *user, char *reason);
E void bad_password(User * u);
+E void sqline(char *mask, char *reason);
+E void common_unban(ChannelInfo * ci, char *nick);
+E void common_svsmode(User * u, char *modes, char *arg);
/**** botserv.c ****/
E BotInfo *botlists[256];
-
E void get_botserv_stats(long *nrec, long *memuse);
-
E void bs_init(void);
E void botserv(User *u, char *buf);
E void botmsgs(User *u, BotInfo *bi, char *buf);
@@ -43,7 +44,6 @@ E void botchanmsgs(User *u, ChannelInfo *ci, char *buf);
E void load_bs_dbase(void);
E void save_bs_dbase(void);
E void save_bs_rdb_dbase(void);
-
E BotInfo *makebot(char *nick);
E BotInfo *findbot(char *nick);
E void bot_join(ChannelInfo *ci);
@@ -54,6 +54,30 @@ E void bot_rejoin_all(BotInfo *bi);
E Channel *chanlist[1024];
E CBMode cbmodes[128];
E CBModeInfo cbmodeinfos[];
+E CUMode cumodes[128];
+E CMMode cmmodes[128];
+E unsigned long umodes[128];
+E char csmodes[128];
+
+extern void do_mass_mode(char *modes);
+extern void add_ban(Channel * chan, char *mask);
+extern void chan_adduser2(User * user, Channel * c);
+extern void chan_delete(Channel * c);
+extern void del_ban(Channel * chan, char *mask);
+extern void set_key(Channel * chan, char *value);
+extern void set_limit(Channel * chan, char *value);
+extern char *get_key(Channel * chan);
+extern char *get_limit(Channel * chan);
+extern Channel *chan_create(char *chan);
+extern Channel *join_user_update(User * user, Channel * chan, char *name);
+
+extern void add_exception(Channel * chan, char *mask);
+extern void del_exception(Channel * chan, char *mask);
+extern char *get_flood(Channel * chan);
+extern void set_flood(Channel * chan, char *value);
+extern char *get_redirect(Channel * chan);
+extern void set_redirect(Channel * chan, char *value);
+
E void get_channel_stats(long *nrec, long *memuse);
E Channel *findchan(const char *chan);
@@ -84,6 +108,7 @@ E void do_part(const char *source, int ac, char **av);
E void do_sjoin(const char *source, int ac, char **av);
E void do_topic(const char *source, int ac, char **av);
E void do_mass_mode(char *modes);
+
#define whosends(ci) ((!(ci) || !((ci)->botflags & BS_SYMBIOSIS) || !(ci)->bi || !(ci)->c || (ci)->c->usercount < BSMinUsers) ? s_ChanServ : (ci)->bi->nick)
/**** chanserv.c ****/
@@ -107,25 +132,16 @@ E void cs_remove_nick(const NickCore * nc);
E void cs_remove_bot(const BotInfo * bi);
E void check_modes(Channel * c);
-#if defined(IRC_ULTIMATE3) || defined(IRC_RAGE2)
E int check_valid_admin(User * user, Channel * chan, int servermode);
-#endif
E int check_valid_op(User * user, Channel * chan, int servermode);
-E int check_should_op(User * user, const char *chan);
-E int check_should_voice(User * user, const char *chan);
-#ifdef HAS_HALFOP
-E int check_should_halfop(User * user, const char *chan);
-#endif
-#if defined(IRC_UNREAL) || defined(IRC_VIAGRA)
-E int check_should_owner(User * user, const char *chan);
-E int check_should_protect(User * user, const char *chan);
-#endif
-#if defined(IRC_ULTIMATE3) || defined(IRC_RAGE2) || defined(IRC_PTLINK)
-E int check_should_protect(User * user, const char *chan);
-#endif
+E int check_should_op(User * user, char *chan);
+E int check_should_voice(User * user, char *chan);
+E int check_should_halfop(User * user, char *chan);
+E int check_should_owner(User * user, char *chan);
+E int check_should_protect(User * user, char *chan);
E int check_kick(User * user, char *chan);
E void record_topic(const char *chan);
-E void restore_topic(const char *chan);
+E void restore_topic(char *chan);
E int check_topiclock(Channel * c, time_t topic_time);
E ChannelInfo *cs_findchan(const char *chan);
@@ -138,19 +154,14 @@ E int get_idealban(ChannelInfo * ci, User * u, char *ret, int retlen);
E AutoKick *is_stuck(ChannelInfo * ci, char *mask);
E void stick_mask(ChannelInfo * ci, AutoKick * akick);
E void stick_all(ChannelInfo * ci);
-
-#ifdef HAS_FMODE
E char *cs_get_flood(ChannelInfo * ci);
E void cs_set_flood(ChannelInfo * ci, char *value);
-#endif
E char *cs_get_key(ChannelInfo * ci);
E void cs_set_key(ChannelInfo * ci, char *value);
E char *cs_get_limit(ChannelInfo * ci);
E void cs_set_limit(ChannelInfo * ci, char *value);
-#ifdef HAS_LMODE
E char *cs_get_redirect(ChannelInfo * ci);
E void cs_set_redirect(ChannelInfo * ci, char *value);
-#endif
/**** compat.c ****/
@@ -482,10 +493,20 @@ E char *DefconMessage;
E char *DefConAkillReason;
E char *DefConOffMessage;
+E int Numeric;
+
/**** converter.c ****/
E int convert_ircservices_44(void);
+/**** helpserv.c ****/
+E void helpserv(User * u, char *buf);
+E void helpserv_init(void);
+
+/**** hostserv.c ****/
+E void hostserv_init(void);
+E void addHostCore(char *nick, char *vIdent, char *vhost, char *creator, int32 tmp_time);
+
/**** init.c ****/
E void introduce_user(const char *user);
@@ -505,7 +526,7 @@ E void lang_init(void);
(langtexts[((nc)?((NickCore*)nc)->language:NSDefLanguage)][(index)])
E int strftime_lang(char *buf, int size, User * u, int format,
struct tm *tm);
-E void syntax_error(const char *service, User * u, const char *command,
+E void syntax_error(char *service, User * u, char *command,
int msgnum);
@@ -555,7 +576,6 @@ E int do_mysql;
#endif
E int is44;
-
E int quitting;
E int delayed_quit;
E char *quitmsg;
@@ -581,18 +601,28 @@ E void ms_init(void);
E void memoserv(User * u, char *buf);
E void check_memos(User * u);
+/**** messages.c ****/
+
+E int m_nickcoll(char *user);
+E int m_away(char *source, char *msg);
+E int m_kill(char *nick, char *msg);
+E int m_motd(char *source);
+E int m_privmsg(char *source, char *receiver, char *msg);
+E int m_stats(char *source, int ac, char **av);
+E int m_whois(char *source, char *who);
+E int m_time(char *source, int ac, char **av);
+E int m_version(char *source, int ac, char **av);
+
/**** misc.c ****/
+
E char *strscpy(char *d, const char *s, size_t len);
E char *stristr(char *s1, char *s2);
E char *strnrepl(char *s, int32 size, const char *old, const char *new);
-
E char *merge_args(int argc, char **argv);
-
E int match_wild(const char *pattern, const char *str);
E int match_wild_nocase(const char *pattern, const char *str);
-
E int dotime(const char *s);
E char *duration(NickAlias * na, char *buf, int bufsize, time_t seconds);
E char *expire_left(NickAlias * na, char *buf, int len, time_t expires);
@@ -615,11 +645,18 @@ E void EnforceQlinedNick(char *nick, char *killer);
E int nickIsServices(char *nick);
+E const char* inttobase64(char* buf, unsigned int v, unsigned int count);
+E unsigned int base64toIP(const char* s);
+E unsigned int base64toint(const char* s);
+
+/**** modules.c ****/
+E void moduleCallBackRun(void);
+E void moduleCleanStruct(ModuleData * moduleData[]);
+
/**** news.c ****/
E int32 nnews, news_size;
E NewsItem *news;
-
E void get_news_stats(long *nrec, long *memuse);
E void load_news(void);
E void save_news(void);
@@ -629,15 +666,12 @@ E int do_logonnews(User * u);
E int do_opernews(User * u);
E int do_randomnews(User * u);
-
/**** nickserv.c ****/
E NickAlias *nalists[1024];
E NickCore *nclists[1024];
E NickRequest *nrlists[1024];
-
E unsigned int guestnum;
-
E void insert_requestnick(NickRequest * nr);
E void alpha_insert_alias(NickAlias * na);
E void insert_core(NickCore * nc);
@@ -660,23 +694,14 @@ E int nick_recognized(User * u);
E void expire_nicks(void);
E void expire_requests(void);
E int ns_do_register(User * u);
-
E int delnick(NickAlias * na);
E NickAlias *findnick(const char *nick);
E NickCore *findcore(const char *nick);
E void clean_ns_timeouts(NickAlias * na);
-
E void nsStartNickTracking(User * u);
E void nsStopNickTracking(User * u);
E int nsCheckNickTracking(User *u);
-/**** helpserv.c ****/
-E void helpserv(User * u, char *buf);
-E void helpserv_init(void);
-
-/**** hostserv.c ****/
-E void hostserv_init(void);
-E void addHostCore(char *nick, char *vIdent, char *vhost, char *creator, int