diff options
author | rob rob@31f1291d-b8d6-0310-a050-a5561fc1590b <rob rob@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864> | 2005-05-02 19:02:12 +0000 |
---|---|---|
committer | rob rob@31f1291d-b8d6-0310-a050-a5561fc1590b <rob rob@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864> | 2005-05-02 19:02:12 +0000 |
commit | e0583918834a3f8683e430adf3923ea89d2a449a (patch) | |
tree | ff36ada734c3874d3be1a806e3a2b994386b54ed /include | |
parent | 49491770383e66f1b8074d8b0f80026e3086e9d8 (diff) |
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
Diffstat (limited to 'include')
-rw-r--r-- | include/bahamut.h | 65 | ||||
-rw-r--r-- | include/commands.h | 1 | ||||
-rw-r--r-- | include/dreamforge.h | 44 | ||||
-rw-r--r-- | include/encrypt.h | 4 | ||||
-rw-r--r-- | include/events.h | 7 | ||||
-rw-r--r-- | include/extern.h | 345 | ||||
-rw-r--r-- | include/hybrid.h | 51 | ||||
-rw-r--r-- | include/module.h | 9 | ||||
-rw-r--r-- | include/modules.h | 40 | ||||
-rw-r--r-- | include/plexus.h | 60 | ||||
-rw-r--r-- | include/ptlink.h | 84 | ||||
-rw-r--r-- | include/rageircd.h | 48 | ||||
-rw-r--r-- | include/ratbox.h | 52 | ||||
-rw-r--r-- | include/services.h | 154 | ||||
-rw-r--r-- | include/shadowircd.h | 77 | ||||
-rw-r--r-- | include/slist.h | 13 | ||||
-rw-r--r-- | include/solidircd.h | 71 | ||||
-rw-r--r-- | include/ultimate2.h | 54 | ||||
-rw-r--r-- | include/ultimate3.h | 58 | ||||
-rw-r--r-- | include/unreal31.h | 57 | ||||
-rw-r--r-- | include/unreal32.h | 85 | ||||
-rw-r--r-- | include/viagra.h | 67 |
22 files changed, 443 insertions, 1003 deletions
diff --git a/include/bahamut.h b/include/bahamut.h deleted file mode 100644 index 2d386e73d..000000000 --- a/include/bahamut.h +++ /dev/null @@ -1,65 +0,0 @@ -/* Bahamut functions - * - * (C) 2003-2005 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 UMODE_a 0x00000001 /* umode +a - Services Admin */ -#define UMODE_h 0x00000002 /* umode +h - Helper */ -#define UMODE_i 0x00000004 /* umode +i - Invisible */ -#define UMODE_o 0x00000008 /* umode +o - Oper */ -#define UMODE_r 0x00000010 /* umode +r - registered nick */ -#define UMODE_w 0x00000020 /* umode +w - Get wallops */ -#define UMODE_A 0x00000040 /* umode +A - Server Admin */ -#define UMODE_x 0x00000080 /* umode +x - Squelch with notice */ -#define UMODE_X 0x00000100 /* umode +X - Squelch without notice */ -#define UMODE_F 0x00000200 /* umode +F - no cptr->since message rate throttle */ -#define UMODE_j 0x00000400 /* umode +j - client rejection notices */ -#define UMODE_K 0x00000800 /* umode +K - U: lined server kill messages */ -#define UMODE_O 0x00001000 /* umode +O - Local Oper */ -#define UMODE_s 0x00002000 /* umode +s - Server notices */ -#define UMODE_c 0x00004000 /* umode +c - Client connections/exits */ -#define UMODE_k 0x00008000 /* umode +k - Server kill messages */ -#define UMODE_f 0x00010000 /* umode +f - Server flood messages */ -#define UMODE_y 0x00020000 /* umode +y - Stats/links */ -#define UMODE_d 0x00040000 /* umode +d - Debug info */ -#define UMODE_g 0x00080000 /* umode +g - Globops */ -#define UMODE_b 0x00100000 /* umode +b - Chatops */ -#define UMODE_n 0x00200000 /* umode +n - Routing Notices */ -#define UMODE_m 0x00400000 /* umode +m - spambot notices */ -#define UMODE_e 0x00800000 /* umode +e - oper notices for the above +D */ -#define UMODE_D 0x01000000 /* umode +D - Hidden dccallow umode */ -#define UMODE_I 0x02000000 /* umode +I - invisible oper (masked) */ -#define UMODE_R 0x80000000 /* unmode +R - No non registered msgs */ - -#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 CMODE_c 0x00000400 /* Colors can't be used */ -#define CMODE_M 0x00000800 /* Non-regged nicks can't send messages */ -#define CMODE_j 0x00001000 /* join throttle */ -#define CMODE_O 0x00008000 /* Only opers can join */ - -#define DEFAULT_MLOCK CMODE_n | CMODE_t | CMODE_r - -#endif - diff --git a/include/commands.h b/include/commands.h index ec08a44a9..5fe00fc65 100644 --- a/include/commands.h +++ b/include/commands.h @@ -30,5 +30,4 @@ extern void do_help_cmd(char *service, User * u, Command *c,const char *cmd); extern MDE void mod_help_cmd(char *service, User *u, CommandHash *cmdTable[],const char *cmd); extern MDE 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 deleted file mode 100644 index f5ee12b00..000000000 --- a/include/dreamforge.h +++ /dev/null @@ -1,44 +0,0 @@ -/* DreamForge IRCD functions - * - * (C) 2003-2005 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 UMODE_a 0x00000001 /* Services Admin */ -#define UMODE_h 0x00000002 /* Help system operator */ -#define UMODE_i 0x00000004 /* makes user invisible */ -#define UMODE_o 0x00000008 /* Operator */ -#define UMODE_r 0x00000010 /* Nick set by services as registered */ -#define UMODE_w 0x00000020 /* send wallops to them */ -#define UMODE_A 0x00000040 /* Admin */ -#define UMODE_O 0x00000080 /* Local operator */ -#define UMODE_s 0x00000100 /* server notices such as kill */ -#define UMODE_k 0x00000200 /* Show server-kills... */ -#define UMODE_c 0x00000400 /* Show client information */ -#define UMODE_f 0x00000800 /* Receive flood warnings */ -#define UMODE_g 0x80000000 /* Shows some global messages */ - -#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/encrypt.h b/include/encrypt.h index e786fd1de..462e1b373 100644 --- a/include/encrypt.h +++ b/include/encrypt.h @@ -12,5 +12,5 @@ * */ -extern int encrypt(const char *src, int len, char *dest, int size); -extern int check_password(const char *plaintext, const char *password); +E int encrypt(const char *src, int len, char *dest, int size); +E int check_password(const char *plaintext, const char *password); diff --git a/include/events.h b/include/events.h index 6fa858810..4065e1a2a 100644 --- a/include/events.h +++ b/include/events.h @@ -8,7 +8,7 @@ * Based on the original code of Epona by Lara. * Based on the original code of Services by Andy Church. * - * $Id:$ + * $Id$ * */ @@ -22,6 +22,7 @@ #define EVENT_BOT_JOIN "bot_join" #define EVENT_BOT_CREATE "bot_create" #define EVENT_BOT_CHANGE "bot_change" +#define EVENT_BOT_FANTASY "bot_command" #define EVENT_BOT_DEL "bot_del" #define EVENT_BOT_ASSIGN "bot_assign" #define EVENT_TOPIC_UPDATED "chan_topic_updated" @@ -34,6 +35,7 @@ #define EVENT_CONNECT "connect" #define EVENT_DB_EXPIRE "db_expire" #define EVENT_RESTART "restart" +#define EVENT_RELOAD "reload" #define EVENT_SHUTDOWN "shutdown" #define EVENT_SIGNAL "signal" #define EVENT_NICK_REGISTERED "nick_registered" @@ -49,4 +51,5 @@ #define EVENT_DEFCON_LEVEL "defcon_level" #define EVENT_NICK_SUSPENDED "nick_suspended" #define EVENT_NICK_UNSUSPEND "nick_unsuspend" - +#define EVENT_JOIN_CHANNEL "join_channel" +#define EVENT_PART_CHANNEL "part_channel" diff --git a/include/extern.h b/include/extern.h index fdfd09d4b..1c951d801 100644 --- a/include/extern.h +++ b/include/extern.h @@ -15,32 +15,37 @@ #ifndef EXTERN_H #define EXTERN_H -#include "slist.h" - #ifndef _WIN32 #define E extern +#define I extern #else #ifndef MODULE_COMPILE #define E extern __declspec(dllexport) +#define I extern __declspec(dllimport) #else #define E extern __declspec(dllimport) +#define I extern __declspec(dllexport) #endif #endif +#include "slist.h" + E char *uplink; /* IRC Variables */ -E IRCDVar ircd[]; -E IRCDCAPAB ircdcap[]; -E const char flood_mode_char_set[]; -E const char flood_mode_char_remove[]; +E IRCDVar *ircd; +E IRCDCAPAB *ircdcap; +E char *flood_mode_char_set; +E char *flood_mode_char_remove; E int UseTSMODE; /* hack to get around bahamut clones that don't send TSMODE */ -E unsigned long umodes[128]; +I unsigned long umodes[128]; E char csmodes[128]; E CMMode cmmodes[128]; E CBMode cbmodes[128]; -E CBModeInfo cbmodeinfos[]; +E CBModeInfo *cbmodeinfos; E CUMode cumodes[128]; +E char *IRCDModule; +E IRCDProto ircdproto; /**** actions.c ****/ @@ -53,6 +58,7 @@ E void common_svsmode(User * u, char *modes, char *arg); /**** botserv.c ****/ E BotInfo *botlists[256]; +E int nbots; E void get_botserv_stats(long *nrec, long *memuse); E void bs_init(void); E void botserv(User *u, char *buf); @@ -66,15 +72,19 @@ E BotInfo *findbot(char *nick); E void bot_join(ChannelInfo *ci); E void bot_rejoin_all(BotInfo *bi); E char *normalizeBuffer(char *); +E void unassign(User * u, ChannelInfo * ci); +E void insert_bot(BotInfo * bi); + +E void bot_raw_ban(User * requester, ChannelInfo * ci, char *nick, char *reason); +E void bot_raw_kick(User * requester, ChannelInfo * ci, char *nick, char *reason); +E void bot_raw_mode(User * requester, ChannelInfo * ci, char *mode, char *nick); /**** channels.c ****/ 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]; E void add_ban(Channel * chan, char *mask); @@ -129,7 +139,7 @@ E void do_topic(const char *source, int ac, char **av); E void do_mass_mode(char *modes); E void chan_set_correct_modes(User * user, Channel * c, int give_modes); -E void restore_unsycned_topics(void); +E void restore_unsynced_topics(void); #define whosends(ci) ((!(ci) || !((ci)->botflags & BS_SYMBIOSIS) || !(ci)->bi || !(ci)->c || (ci)->c->usercount < BSMinUsers) ? s_ChanServ : (ci)->bi->nick) @@ -188,6 +198,11 @@ E void cs_set_limit(ChannelInfo * ci, char *value); E char *cs_get_redirect(ChannelInfo * ci); E void cs_set_redirect(ChannelInfo * ci, char *value); +E int levelinfo_maxwidth; +E ChannelInfo *makechan(const char *chan); +E int is_identified(User * user, ChannelInfo * ci); +E char *get_mlock_modes(ChannelInfo * ci, int complete); + /**** compat.c ****/ #if !HAVE_SNPRINTF @@ -430,11 +445,35 @@ E int CloneWarningDelay; E int KillClones; E int AddAkiller; +/** + * Modules Stuff + **/ E char **ModulesAutoload; E int ModulesNumber; E char **ModulesDelayedAutoload; E int ModulesDelayedNumber; +E char **HostServCoreModules; +E int HostServCoreNumber; + +E char **HelpServCoreModules; +E int HelpServCoreNumber; + +E char **MemoServCoreModules; +E int MemoServCoreNumber; + +E char **BotServCoreModules; +E int BotServCoreNumber; + +E char **OperServCoreModules; +E int OperServCoreNumber; + +E char **NickServCoreModules; +E int NickServCoreNumber; + +E char **ChanServCoreModules; +E int ChanServCoreNumber; + E int KillClonesAkillExpire; @@ -518,6 +557,9 @@ E long unsigned int UserKey3; E int convert_ircservices_44(void); +/**** encrypt.c ****/ +E int check_password(const char *plaintext, const char *password); + /**** helpserv.c ****/ E void helpserv(User * u, char *buf); E void helpserv_init(void); @@ -527,6 +569,11 @@ E void hostserv_init(void); E void addHostCore(char *nick, char *vIdent, char *vhost, char *creator, int32 tmp_time); E char *getvIdent(char *nick); E char *getvHost(char *nick); +E int is_host_remover(User * u); +E int is_host_setter(User *u); +E HostCore *hostCoreListHead(); +E HostCore *findHostCore(HostCore * head, char *nick, boolean * found); +E void set_lastmask(User * u); /**** init.c ****/ @@ -534,6 +581,103 @@ E void introduce_user(const char *user); E int init(int ac, char **av); E int servernum; +/**** ircd.c ****/ +E void pmodule_cmd_svsnoop(void (*func) (char *server, int set)); +E void pmodule_cmd_remove_akill(void (*func) (char *user, char *host)); +E void pmodule_cmd_topic(void (*func) (char *whosets, char *chan, char *whosetit, char *topic, time_t when)); +E void pmodule_cmd_vhost_off(void (*func) (User * u)); +E void pmodule_cmd_akill(void (*func) (char *user, char *host, char *who, time_t when, time_t expires, char *reason)); +E void pmodule_cmd_svskill(void (*func) (char *source, char *user, char *buf)); +E void pmodule_cmd_svsmode(void (*func) (User * u, int ac, char **av)); +E void pmodule_cmd_372(void (*func) (char *source, char *msg)); +E void pmodule_cmd_372_error(void (*func) (char *source)); +E void pmodule_cmd_375(void (*func) (char *source)); +E void pmodule_cmd_376(void (*func) (char *source)); +E void pmodule_cmd_nick(void (*func) (char *nick, char *name, char *modes)); +E void pmodule_cmd_guest_nick(void (*func) (char *nick, char *user, char *host, char *real, char *modes)); +E void pmodule_cmd_mode(void (*func) (char *source, char *dest, char *buf)); +E void pmodule_cmd_bot_nick(void (*func) (char *nick, char *user, char *host, char *real, char *modes)); +E void pmodule_cmd_kick(void (*func) (char *source, char *chan, char *user, char *buf)); +E void pmodule_cmd_notice_ops(void (*func) (char *source, char *dest, char *buf)); +E void pmodule_cmd_notice(void (*func) (char *source, char *dest, char *buf)); +E void pmodule_cmd_notice2(void (*func) (char *source, char *dest, char *msg)); +E void pmodule_cmd_privmsg(void (*func) (char *source, char *dest, char *buf)); +E void pmodule_cmd_privmsg2(void (*func) (char *source, char *dest, char *msg)); +E void pmodule_cmd_serv_notice(void (*func) (char *source, char *dest, char *msg)); +E void pmodule_cmd_serv_privmsg(void (*func) (char *source, char *dest, char *msg)); +E void pmodule_cmd_bot_chan_mode(void (*func) (char *nick, char *chan)); +E void pmodule_cmd_351(void (*func) (char *source)); +E void pmodule_cmd_quit(void (*func) (char *source, char *buf)); +E void pmodule_cmd_pong(void (*func) (char *servname, char *who)); +E void pmodule_cmd_join(void (*func) (char *user, char *channel, time_t chantime)); +E void pmodule_cmd_unsqline(void (*func) (char *user)); +E void pmodule_cmd_invite(void (*func) (char *source, char *chan, char *nick)); +E void pmodule_cmd_part(void (*func) (char *nick, char *chan, char *buf)); +E void pmodule_cmd_391(void (*func) (char *source, char *timestr)); +E void pmodule_cmd_250(void (*func) (char *buf)); +E void pmodule_cmd_307(void (*func) (char *buf)); +E void pmodule_cmd_311(void (*func) (char *buf)); +E void pmodule_cmd_312(void (*func) (char *buf)); +E void pmodule_cmd_317(void (*func) (char *buf)); +E void pmodule_cmd_219(void (*func) (char *source, char *letter)); +E void pmodule_cmd_401(void (*func) (char *source, char *who)); +E void pmodule_cmd_318(void (*func) (char *source, char *who)); +E void pmodule_cmd_242(void (*func) (char *buf)); +E void pmodule_cmd_243(void (*func) (char *buf)); +E void pmodule_cmd_211(void (*func) (char *buf)); +E void pmodule_cmd_global(void (*func) (char *source, char *buf)); +E void pmodule_cmd_global_legacy(void (*func) (char *source, char *fmt)); +E void pmodule_cmd_sqline(void (*func) (char *mask, char *reason)); +E void pmodule_cmd_squit(void (*func) (char *servname, char *message)); +E void pmodule_cmd_svso(void (*func) (char *source, char *nick, char *flag)); +E void pmodule_cmd_chg_nick(void (*func) (char *oldnick, char *newnick)); +E void pmodule_cmd_svsnick(void (*func) (char *source, char *guest, time_t when)); +E void pmodule_cmd_vhost_on(void (*func) (char *nick, char *vIdent, char *vhost)); +E void pmodule_cmd_connect(void (*func) (int servernum)); +E void pmodule_cmd_svshold(void (*func) (char *nick)); +E void pmodule_cmd_release_svshold(void (*func) (char *nick)); +E void pmodule_cmd_unsgline(void (*func) (char *mask)); +E void pmodule_cmd_unszline(void (*func) (char *mask)); +E void pmodule_cmd_szline(void (*func) (char *mask, char *reason, char *whom)); +E void pmodule_cmd_sgline(void (*func) (char *mask, char *reason)); +E void pmodule_cmd_unban(void (*func) (char *name, char *nick)); +E void pmodule_cmd_svsmode_chan(void (*func) (char *name, char *mode, char *nick)); +E void pmodule_cmd_svid_umode(void (*func) (char *nick, time_t ts)); +E void pmodule_cmd_nc_change(void (*func) (User * u)); +E void pmodule_cmd_svid_umode2(void (*func) (User * u, char *ts)); +E void pmodule_cmd_svid_umode3(void (*func) (User * u, char *ts)); +E void pmodule_cmd_ctcp(void (*func) (char *source, char *dest, char *buf)); +E void pmodule_cmd_eob(void (*func) ()); +E void pmodule_cmd_jupe(void (*func) (char *jserver, char *who, char *reason)); +E void pmodule_set_umode(void (*func) (User * user, int ac, char **av)); +E void pmodule_valid_nick(int (*func) (char *nick)); +E void pmodule_flood_mode_check(int (*func) (char *value)); +E void pmodule_ircd_var(IRCDVar * ircdvar); +E void pmodule_ircd_cap(IRCDCAPAB * cap); +E void pmodule_ircd_version(char *version); +E void pmodule_ircd_cbmodeinfos(CBModeInfo * modeinfos); +E void pmodule_ircd_cumodes(CUMode modes[128]); +E void pmodule_ircd_flood_mode_char_set(char *mode); +E void pmodule_ircd_flood_mode_char_remove(char *mode); +E void pmodule_ircd_cbmodes(CBMode modes[128]); +E void pmodule_ircd_cmmodes(CMMode modes[128]); +E void pmodule_ircd_csmodes(char mode[128]); +E void pmodule_ircd_useTSMode(int use); +E void pmodule_invis_umode(int mode); +E void pmodule_oper_umode(int mode); +E void pmodule_invite_cmode(int mode); +E void pmodule_secret_cmode(int mode); +E void pmodule_private_cmode(int mode); +E void pmodule_key_mode(int mode); +E void pmodule_limit_mode(int mode); + +E int anope_get_secret_mode(); +E int anope_get_invite_mode(); +E int anope_get_limit_mode(); +E int anope_get_private_mode(); +E int anope_get_invis_mode(); +E int anope_get_oper_mode(); + /**** language.c ****/ E char **langtexts[NUM_LANGS]; @@ -580,7 +724,7 @@ E int MailValidate(const char *email); E const char version_number[]; E const char version_number_dotted[]; E const char version_build[]; -E const char version_protocol[]; +E char *version_protocol; E const char version_flags[]; E char *services_dir; @@ -611,6 +755,7 @@ E void save_databases(void); E void expire_all(void); E void do_backtrace(int show_segheader); E void sighandler(int signum); +E void do_restart_services(void); /**** memory.c ****/ @@ -625,6 +770,8 @@ E char *sstrdup(const char *s); E void ms_init(void); E void memoserv(User * u, char *buf); E void check_memos(User * u); +E MemoInfo *getmemoinfo(const char *name, int *ischan, int *isforbid); +E int delmemo(MemoInfo * mi, int num); /**** messages.c ****/ @@ -704,6 +851,8 @@ E int do_randomnews(User * u); E NickAlias *nalists[1024]; E NickCore *nclists[1024]; E NickRequest *nrlists[1024]; +E NickRequest *findrequestnick(const char *nick); +E int delnickrequest(NickRequest * nr); E unsigned int guestnum; E void insert_requestnick(NickRequest * nr); E void alpha_insert_alias(NickAlias * na); @@ -711,6 +860,11 @@ E void insert_core(NickCore * nc); E void listnicks(int count_only, const char *nick); E void get_aliases_stats(long *nrec, long *memuse); E void get_core_stats(long *nrec, long *memuse); +E void collide(NickAlias * na, int from_timeout); +E void del_ns_timeout(NickAlias * na, int type); +E void change_core_display(NickCore * nc, char *newdisplay); +E void release(NickAlias * na, int from_timeout); +E int do_setmodes(User * u); E void ns_init(void); E void nickserv(User * u, char *buf); @@ -726,7 +880,7 @@ E int nick_identified(User * u); E int nick_recognized(User * u); E void expire_nicks(void); E void expire_requests(void); -E int ns_do_register(User * u); +I int ns_do_register(User * u); E int delnick(NickAlias * na); E NickAlias *findnick(const char *nick); E NickCore *findcore(const char *nick); @@ -778,10 +932,16 @@ E void expire_szlines(void); E int check_szline(char *nick, char *ip); E void check_clones(User * user); -E void delete_ignore(const char *nick); E Server *server_global(Server * s, char *msg); +E int OSOpersOnly; +E time_t DefContimer; +E void runDefCon(void); + +E struct clone clonelist[CLONE_DETECT_SIZE]; +E struct clone warnings[CLONE_DETECT_SIZE]; + /**** process.c ****/ E int allow_ignore; @@ -863,6 +1023,19 @@ E int exception_add(User * u, const char *mask, const int limit, const char *reason, const char *who, const time_t expires); +/**** slist.c ****/ +E int slist_add(SList *slist, void *item); +E void slist_clear(SList *slist, int free); +E int slist_delete(SList *slist, int index); +E int slist_delete_range(SList *slist, char *range, slist_delcheckcb_t cb, ...); +E int slist_enum(SList *slist, char *range, slist_enumcb_t cb, ...); +E int slist_full(SList *slist); +E int slist_indexof(SList *slist, void *item); +E void slist_init(SList *slist); +E void slist_pack(SList *slist); +E int slist_remove(SList *slist, void *item); +E int slist_setcapacity(SList *slist, int16 capacity); + /**** sockutil.c ****/ E int32 total_read, total_written; @@ -1051,74 +1224,74 @@ E void anope_cmd_burst(); /* BURST - use eob to send burst 0 */ E void anope_cmd_svswatch(char *sender, char *nick, char *parm); E void anope_cmd_ctcp(char *source, char *dest, const char *fmt, ...); /* CTCP */ -E int anope_event_482(char *source, int ac, char **av); -E int anope_event_436(char *source, int ac, char **av); -E int anope_event_away(char *source, int ac, char **av); -E int anope_event_ping(char *source, int ac, char **av); -E int anope_event_motd(char *source, int ac, char **av); -E int anope_event_join(char *source, int ac, char **av); -E int anope_event_kick(char *source, int ac, char **av); -E int anope_event_kill(char *source, int ac, char **av); -E int anope_event_mode(char *source, int ac, char **av); -E int anope_event_tmode(char *source, int ac, char **av); -E int anope_event_quit(char *source, int ac, char **av); -E int anope_event_squit(char *source, int ac, char **av); -E int anope_event_topic(char *source, int ac, char **av); -E int anope_event_whois(char *source, int ac, char **av); -E int anope_event_part(char *source, int ac, char **av); -E int anope_event_server(char *source, int ac, char **av); -E int anope_event_sid(char *source, int ac, char **av); -E int anope_event_nick(char *source, int ac, char **av); -E int anope_event_bmask(char *source, int ac, char **av); -E int anope_event_gnotice(char *source, int ac, char **av); -E int anope_event_privmsg(char *source, int ac, char **av); -E int anope_event_capab(char *source, int ac, char **av); -E int anope_event_sjoin(char *source, int ac, char **av); -E int anope_event_cs(char *source, int ac, char **av); -E int anope_event_hs(char *source, int ac, char **av); -E int anope_event_ms(char *source, int ac, char **av); -E int anope_event_ns(char *source, int ac, char **av); -E int anope_event_os(char *source, int ac, char **av); -E int anope_event_vs(char *source, int ac, char **av); -E int anope_event_svinfo(char *source, int ac, char **av); -E int anope_event_chghost(char *source, int ac, char **av); -E int anope_event_sethost(char *source, int ac, char **av); -E int anope_event_chgident(char *source, int ac, char **av); -E int anope_event_setident(char *source, int ac, char **av); -E int anope_event_chgname(char *source, int ac, char **av); -E int anope_event_setname(char *source, int ac, char **av); -E int anope_event_svsinfo(char *source, int ac, char **av); -E int anope_event_snick(char *source, int ac, char **av); -E int anope_event_vhost(char *source, int ac, char **av); -E int anope_event_tkl(char *source, int ac, char **av); -E int anope_event_eos(char *source, int ac, char **av); -E int anope_event_eob(char *source, int ac, char **av); -E int anope_event_pass(char *source, int ac, char **av); -E int anope_event_netinfo(char *source, int ac, char **av); -E int anope_event_error(char *source, int ac, char **av); -E int anope_event_eb(char *source, int ac, char **av); -E int anope_event_netctrl(char *source, int ac, char **av); -E int anope_event_notice(char *source, int ac, char **av); -E int anope_event_snotice(char *source, int ac, char **av); -E int anope_event_sqline(char *source, int ac, char **av); -E int anope_event_error(char *source, int ac, char **av); -E int anope_event_smo(char *source, int ac, char **av); -E int anope_event_myid(char *source, int ac, char **av); -E int anope_event_vctrl(char *source, int ac, char **av); -E int anope_event_tctrl(char *source, int ac, char **av); -E int anope_event_netinfo(char *source, int ac, char **av); -E int anope_event_snetinfo(char *source, int ac, char **av); -E int anope_event_umode2(char *source, int ac, char **av); -E int anope_event_globops(char *source, int ac, char **av); -E int anope_event_swhois(char *source, int ac, char **av); -E int anope_event_burst(char *source, int ac, char **av); -E int anope_event_luserslock(char *source, int ac, char **av); -E int anope_event_admin(char *source, int ac, char **av); -E int anope_event_credits(char *source, int ac, char **av); -E int anope_event_rehash(char *source, int ac, char **av); -E int anope_event_sdesc(char *source, int ac, char **av); -E int anope_event_netglobal(char *source, int ac, char **av); -E int anope_event_invite(char *source, int ac, char **av); +I int anope_event_482(char *source, int ac, char **av); +I int anope_event_436(char *source, int ac, char **av); +I int anope_event_away(char *source, int ac, char **av); +I int anope_event_ping(char *source, int ac, char **av); +I int anope_event_motd(char *source, int ac, char **av); +I int anope_event_join(char *source, int ac, char **av); +I int anope_event_kick(char *source, int ac, char **av); +I int anope_event_kill(char *source, int ac, char **av); +I int anope_event_mode(char *source, int ac, char **av); +I int anope_event_tmode(char *source, int ac, char **av); +I int anope_event_quit(char *source, int ac, char **av); +I int anope_event_squit(char *source, int ac, char **av); +I int anope_event_topic(char *source, int ac, char **av); +I int anope_event_whois(char *source, int ac, char **av); +I int anope_event_part(char *source, int ac, char **av); +I int anope_event_server(char *source, int ac, char **av); +I int anope_event_sid(char *source, int ac, char **av); +I int anope_event_nick(char *source, int ac, char **av); +I int anope_event_bmask(char *source, int ac, char **av); +I int anope_event_gnotice(char *source, int ac, char **av); +I int anope_event_privmsg(char *source, int ac, char **av); +I int anope_event_capab(char *source, int ac, char **av); +I int anope_event_sjoin(char *source, int ac, char **av); +I int anope_event_cs(char *source, int ac, char **av); +I int anope_event_hs(char *source, int ac, char **av); +I int anope_event_ms(char *source, int ac, char **av); +I int anope_event_ns(char *source, int ac, char **av); +I int anope_event_os(char *source, int ac, char **av); +I int anope_event_vs(char *source, int ac, char **av); +I int anope_event_svinfo(char *source, int ac, char **av); +I int anope_event_chghost(char *source, int ac, char **av); +I int anope_event_sethost(char *source, int ac, char **av); +I int anope_event_chgident(char *source, int ac, char **av); +I int anope_event_setident(char *source, int ac, char **av); +I int anope_event_chgname(char *source, int ac, char **av); +I int anope_event_setname(char *source, int ac, char **av); +I int anope_event_svsinfo(char *source, int ac, char **av); +I int anope_event_snick(char *source, int ac, char **av); +I int anope_event_vhost(char *source, int ac, char **av); +I int anope_event_tkl(char *source, int ac, char **av); +I int anope_event_eos(char *source, int ac, char **av); +I int anope_event_eob(char *source, int ac, char **av); +I int anope_event_pass(char *source, int ac, char **av); +I int anope_event_netinfo(char *source, int ac, char **av); +I int anope_event_error(char *source, int ac, char **av); +I int anope_event_eb(char *source, int ac, char **av); +I int anope_event_netctrl(char *source, int ac, char **av); +I int anope_event_notice(char *source, int ac, char **av); +I int anope_event_snotice(char *source, int ac, char **av); +I int anope_event_sqline(char *source, int ac, char **av); +I int anope_event_error(char *source, int ac, char **av); +I int anope_event_smo(char *source, int ac, char **av); +I int anope_event_myid(char *source, int ac, char **av); +I int anope_event_vctrl(char *source, int ac, char **av); +I int anope_event_tctrl(char *source, int ac, char **av); +I int anope_event_netinfo(char *source, int ac, char **av); +I int anope_event_snetinfo(char *source, int ac, char **av); +I int anope_event_umode2(char *source, int ac, char **av); +I int anope_event_globops(char *source, int ac, char **av); +I int anope_event_swhois(char *source, int ac, char **av); +I int anope_event_burst(char *source, int ac, char **av); +I int anope_event_luserslock(char *source, int ac, char **av); +I int anope_event_admin(char *source, int ac, char **av); +I int anope_event_credits(char *source, int ac, char **av); +I int anope_event_rehash(char *source, int ac, char **av); +I int anope_event_sdesc(char *source, int ac, char **av); +I int anope_event_netglobal(char *source, int ac, char **av); +I int anope_event_invite(char *source, int ac, char **av); E int anope_event_null(char *source, int ac, char **av); E void anope_set_umode(User * user, int ac, char **av); @@ -1150,9 +1323,9 @@ E int decode_ip(char *buf); E char *host_resolve(char *host); -extern void event_message_process(char *eventbuf); -extern void eventprintf(char *fmt, ...); -extern void event_process_hook(char *name, char *eventbuf); -extern void send_event(char *name, const char *fmt, ...); +E void event_message_process(char *eventbuf); +E void eventprintf(char *fmt, ...); +E void event_process_hook(char *name, int argc, char **argv); +E void send_event(char *name, int argc, ...); #endif /* EXTERN_H */ diff --git a/include/hybrid.h b/include/hybrid.h deleted file mode 100644 index 05dfbe4ca..000000000 --- a/include/hybrid.h +++ /dev/null @@ -1,51 +0,0 @@ -/* Hybrid IRCD functions - * - * (C) 2003-2005 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_HYBRID - - -#define UMODE_a 0x00000001 /* Admin status */ -#define UMODE_b 0x00000080 /* See bot and drone flooding notices */ -#define UMODE_c 0x00000100 /* Client connection/quit notices */ -#define UMODE_d 0x00000200 /* See debugging notices */ -#define UMODE_f 0x00000400 /* See I: line full notices */ -#define UMODE_g 0x00000800 /* Server Side Ignore */ -#define UMODE_i 0x00000004 /* Not shown in NAMES or WHO unless you share a channel */ -#define UMODE_k 0x00001000 /* See server generated KILL messages */ -#define UMODE_l 0x00002000 /* See LOCOPS messages */ -#define UMODE_n 0x00004000 /* See client nick changes */ -#define UMODE_o 0x00000008 /* Operator status */ -#define UMODE_r 0x00000010 /* See rejected client notices */ -#define UMODE_s 0x00008000 /* See general server notices */ -#define UMODE_u 0x00010000 /* See unauthorized client notices */ -#define UMODE_w 0x00000020 /* See server generated WALLOPS */ -#define UMODE_x 0x00020000 /* See remote server connection and split notices */ -#define UMODE_y 0x00040000 /* See LINKS, STATS (if configured), TRACE notices */ -#define UMODE_z 0x00080000 /* See oper generated WALLOPS */ - -#define CMODE_i 0x00000001 /* Invite only */ -#define CMODE_m 0x00000002 /* Users without +v/h/o cannot send text to the channel */ -#define CMODE_n 0x00000004 /* Users must be in the channel to send text to it */ -#define CMODE_p 0x00000008 /* Private is obsolete, this now restricts KNOCK */ -#define CMODE_s 0x00000010 /* The channel does not show up on NAMES or LIST */ -#define CMODE_t 0x00000020 /* Only chanops can change the topic */ -#define CMODE_k 0x00000040 /* Key/password for the channel. */ -#define CMODE_l 0x00000080 /* Limit the number of users in a channel */ -#define CMODE_a 0x00000400 /* Anonymous ops, chanops are hidden */ - - -#define DEFAULT_MLOCK CMODE_n | CMODE_t - -#endif - - diff --git a/include/module.h b/include/module.h new file mode 100644 index 000000000..fa09f545c --- /dev/null +++ b/include/module.h @@ -0,0 +1,9 @@ +#include "services.h" +#include "commands.h" +#include "language.h" +#include "modules.h" +#include "depricated.h" + +#define MOD_UNIQUE 0 +#define MOD_HEAD 1 +#define MOD_TAIL 2 diff --git a/include/modules.h b/include/modules.h index 0a00b4e2f..c2abd3279 100644 --- a/include/modules.h +++ b/include/modules.h @@ -96,11 +96,15 @@ typedef void * ano_module_t; #endif /*************************************************************************/ +typedef enum { CORE,PROTOCOL,THIRD,SUPPORTED,QATESTED } MODType; + +/*************************************************************************/ /* Structure for information about a *Serv command. */ typedef struct Command_ Command; typedef struct CommandHash_ CommandHash; typedef struct Module_ Module; +typedef struct ModuleLang_ ModuleLang; typedef struct ModuleHash_ ModuleHash; typedef struct Message_ Message; typedef struct MessageHash_ MessageHash; @@ -118,8 +122,14 @@ extern MDE CommandHash *CHANSERV[MAX_CMD_HASH]; extern MDE CommandHash *HELPSERV[MAX_CMD_HASH]; extern MDE CommandHash *OPERSERV[MAX_CMD_HASH]; extern MDE MessageHash *IRCD[MAX_CMD_HASH]; -extern EvtMessageHash *EVENT[MAX_CMD_HASH]; -extern EvtHookHash *EVENTHOOKS[MAX_CMD_HASH]; +extern MDE ModuleHash *MODULE_HASH[MAX_CMD_HASH]; +extern MDE EvtMessageHash *EVENT[MAX_CMD_HASH]; +extern MDE EvtHookHash *EVENTHOOKS[MAX_CMD_HASH]; + +struct ModuleLang_ { + int argc; + char **argv; +}; struct Module_ { char *name; @@ -129,6 +139,8 @@ struct Module_ { char *version; char *author; + MODType type; + void (*nickHelp)(User *u); /* service 1 */ void (*chanHelp)(User *u); /* 2 */ void (*memoHelp)(User *u); /* 3 */ @@ -139,6 +151,7 @@ struct Module_ { /* CommandHash *cmdList[MAX_CMD_HASH]; */ MessageHash *msgList[MAX_CMD_HASH]; + ModuleLang lang[NUM_LANGS]; }; struct ModuleHash_ { @@ -225,7 +238,7 @@ struct EvtMessageHash_ { struct EvtHook_ { - int (*func)(char *source); + int (*func)(int argc, char **argv); int core; char *name; char *mod_name; @@ -241,12 +254,13 @@ struct EvtHookHash_ { /*************************************************************************/ /* Module Managment Functions */ -Module *createModule(char *filename); /* Create a new module, using the given name */ +MDE Module *createModule(char *filename); /* Create a new module, using the given name */ int destroyModule(Module *m); /* Delete the module */ int addModule(Module *m); /* Add a module to the module hash */ int delModule(Module *m); /* Remove a module from the module hash */ -Module *findModule(char *name); /* Find a module */ +MDE Module *findModule(char *name); /* Find a module */ int loadModule(Module *m,User *u); /* Load the given module into the program */ +int protocol_module_init(void); /* Load the IRCD Protocol Module up*/ int unloadModule(Module *m, User *u); /* Unload the given module from the pro */ int prepForUnload(Module *m); /* Prepare the module for unload */ MDE void moduleAddVersion(char *version); @@ -269,6 +283,14 @@ MDE int moduleAddRegHelp(Command * c, int (*func) (User * u)); MDE int moduleAddOperHelp(Command * c, int (*func) (User * u)); MDE int moduleAddAdminHelp(Command * c, int (*func) (User * u)); MDE int moduleAddRootHelp(Command * c, int (*func) (User * u)); +MDE void moduleSetType(MODType type); +MDE Module *mod_current_module; +MDE char *mod_current_module_name; +MDE char *mod_current_buffer; +MDE int mod_current_op; +MDE User *mod_current_user; + +MDE int moduleGetConfigDirective(Directive *h); /*************************************************************************/ /*************************************************************************/ /* Command Managment Functions */ @@ -287,7 +309,7 @@ Command *findCommand(CommandHash *cmdTable[], const char *name); /* Find a comma MDE Message *createMessage(char *name,int (*func)(char *source, int ac, char **av)); Message *findMessage(MessageHash *msgTable[], const char *name); /* Find a Message */ MDE int addMessage(MessageHash *msgTable[], Message *m, int pos); /* Add a Message to a Message table */ -int addCoreMessage(MessageHash *msgTable[], Message *m); /* Add a Message to a Message table */ +MDE int addCoreMessage(MessageHash *msgTable[], Message *m); /* Add a Message to a Message table */ MDE int moduleAddMessage(Message *m, int pos); int delMessage(MessageHash *msgTable[], Message *m, char *mod_name); /* Del a Message from a msg table */ MDE int moduleDelMessage(char *name); @@ -305,7 +327,7 @@ int delEventHandler(EvtMessageHash * msgEvtTable[], EvtMessage * evm, char *mod_ int destroyEventHandler(EvtMessage * evm); int addEventHandler(EvtMessageHash * msgEvtTable[], EvtMessage * evm); -MDE EvtHook *createEventHook(char *name, int (*func) (char *source)); +MDE EvtHook *createEventHook(char *name, int (*func) (int argc, char **argv)); EvtHook *findEventHook(EvtHookHash * HookEvtTable[], const char *name); int addCoreEventHook(EvtHookHash * HookEvtTable[], EvtHook * evh); MDE int moduleAddEventHook(EvtHook * evh); @@ -314,6 +336,10 @@ int delEventHook(EvtHookHash * HookEvtTable[], EvtHook * evh, char *mod_name); int destroyEventHook(EvtHook * evh); extern char *mod_current_evtbuffer; +MDE void moduleInsertLanguage(int langNumber, int ac, char **av); +MDE void moduleNoticeLang(char *source, User *u, int number, ...); +MDE void moduleDeleteLanguage(int langNumber); + /*************************************************************************/ MDE int moduleAddCallback(char *name,time_t when,int (*func)(int argc, char *argv[]),int argc, char **argv); diff --git a/include/plexus.h b/include/plexus.h deleted file mode 100644 index 5c90bcbfd..000000000 --- a/include/plexus.h +++ /dev/null @@ -1,60 +0,0 @@ -/* PlexusIRCD IRCD functions - * - * (C) 2003-2005 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_PLEXUS - - -#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_s 0x00000040 -#define UMODE_c 0x00000080 -#define UMODE_r 0x00000100 -#define UMODE_k 0x00000200 -#define UMODE_f 0x00000400 -#define UMODE_y 0x00000800 -#define UMODE_d 0x00001000 -#define UMODE_n 0x00002000 -#define UMODE_x 0x00004000 -#define UMODE_u 0x00008000 -#define UMODE_b 0x00010000 -#define UMODE_l 0x00020000 -#define UMODE_g 0x00040000 -#define UMODE_S 0x00080000 - - -#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_a 0x00000400 -#define CMODE_Z 0x00000800 -#define CMODE_M 0x00001000 -#define CMODE_c 0x00002000 -#define CMODE_O 0x00004000 -#define CMODE_R 0x00008000 -#define CMODE_N 0x00010000 - - -#define DEFAULT_MLOCK CMODE_n | CMODE_t - -#endif - - diff --git a/include/ptlink.h b/include/ptlink.h deleted file mode 100644 index 877d48423..000000000 --- a/include/ptlink.h +++ /dev/null @@ -1,84 +0,0 @@ -/* PTLink IRCD functions - * - * (C) 2003-2005 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_PTLINK - - -#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_B 0x00000080 -#define UMODE_H 0x00000100 -#define UMODE_N 0x00000200 -#define UMODE_O 0x00000400 -#define UMODE_p 0x00000800 -#define UMODE_R 0x00001000 -#define UMODE_s 0x00002000 -#define UMODE_S 0x00004000 -#define UMODE_T 0x00008000 -#define UMODE_v 0x00001000 -#define UMODE_y 0x00002000 -#define UMODE_z 0x00004000 - - - -#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_A 0x00000400 -#define CMODE_B 0x00000800 -#define CMODE_c 0x00001000 -#define CMODE_d 0x00002000 -#define CMODE_f 0x00004000 -#define CMODE_K 0x00008000 -#define CMODE_O 0x00010000 -#define CMODE_q 0x00020000 -#define CMODE_S 0x00040000 -#define CMODE_N 0x00080000 -#define CMODE_R 0x00000100 /* Only identified users can join */ -#define CMODE_r 0x00000200 /* Set for all registered channels */ -#define CMODE_C 0x00100000 - -#define DEFAULT_MLOCK CMODE_n | CMODE_t | CMODE_r - -/* - The following variables are set to define the TS protocol version - that we support. - - PTLink 6.14 to 6.17 TS CURRENT is 6 and MIN is 3 - PTlink 6.18 TS CURRENT is 9 and MIN is 3 - PTLink 6.19 TS CURRENT is 10 and MIN is 9 - - If you are running 6.18 or 6.19 do not touch these values as they will - allow you to connect - - If you are running an older version of PTLink, first think about updating - your ircd, or changing the TS_CURRENT to 6 to allow services to connect -*/ - -#define PTLINK_TS_CURRENT 9 -#define PTLINK_TS_MIN 3 - - -#endif - - diff --git a/include/rageircd.h b/include/rageircd.h deleted file mode 100644 index ea78f69ba..000000000 --- a/include/rageircd.h +++ /dev/null @@ -1,48 +0,0 @@ -/* Rage IRCD functions - * - * (C) 2003-2005 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_RAGE2 - - -#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 UMODE_x 0x40000000 - -#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 CMODE_c 0x00000400 /* Colors can't be used */ -#define CMODE_M 0x00000800 /* Non-regged nicks can't send messages */ -#define CMODE_N 0x00001000 -#define CMODE_S 0x00002000 -#define CMODE_C 0x00004000 -#define CMODE_A 0x00008000 -#define CMODE_O 0x00010000 /* Only opers can join */ - -#define DEFAULT_MLOCK CMODE_n | CMODE_t | CMODE_r - -#endif - diff --git a/include/ratbox.h b/include/ratbox.h deleted file mode 100644 index c3b44a737..000000000 --- a/include/ratbox.h +++ /dev/null @@ -1,52 +0,0 @@ -/* Ratbox IRCD functions - * - * (C) 2003-2005 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_RATBOX - - -#define UMODE_a 0x00000001 -#define UMODE_C 0x00000002 -#define UMODE_i 0x00000004 -#define UMODE_o 0x00000008 -#define UMODE_z 0x00000010 -#define UMODE_w 0x00000020 -#define UMODE_s 0x00000040 -#define UMODE_c 0x00000080 -#define UMODE_r 0x00000100 -#define UMODE_k 0x00000200 -#define UMODE_f 0x00000400 -#define UMODE_y 0x00000800 -#define UMODE_d 0x00001000 -#define UMODE_n 0x00002000 -#define UMODE_x 0x00004000 -#define UMODE_u 0x00008000 -#define UMODE_b 0x00010000 -#define UMODE_l 0x00020000 -#define UMODE_g 0x00040000 -#define UMODE_Z 0x00080000 - -#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 -#define CMODE_l 0x00000080 - - -#define DEFAULT_MLOCK CMODE_n | CMODE_t - -#endif - - diff --git a/include/services.h b/include/services.h index 1590637bf..c6e171908 100644 --- a/include/services.h +++ b/include/services.h @@ -229,24 +229,6 @@ typedef enum { false, true } boolean; /* Protocol tweaks */ - -#include "hybrid.h" -#include "viagra.h" -#include "bahamut.h" -#include "rageircd.h" -#include "ptlink.h" -#include "ultimate2.h" -#include "unreal31.h" -#include "ultimate3.h" -#include "dreamforge.h" -#include "unreal32.h" -#include "solidircd.h" -#include "plexus.h" -#include "ratbox.h" -#include "shadowircd.h" - - - typedef struct ircdvars_ IRCDVar; typedef struct ircdcapab_ IRCDCAPAB; @@ -311,7 +293,6 @@ struct ircdvars_ { int umode; /* change user modes */ int nickvhost; /* Users vhost sent during NICK */ int chgreal; /* Change RealName */ - int extrahelp; /* Lang file entry for extra */ uint32 noknock; /* Channel Mode for no knock */ uint32 adminmode; /* Admin Only Channel Mode */ uint32 defmlock; /* Default mlock modes */ @@ -384,6 +365,40 @@ struct uid_ { }; /*************************************************************************/ +/* Config Details */ +/*************************************************************************/ + +#define MAXPARAMS 8 + +/* Configuration directives */ + +typedef struct { + char *name; + struct { + int type; /* PARAM_* below */ + int flags; /* Same */ + void *ptr; /* Pointer to where to store the value */ + } params[MAXPARAMS]; +} Directive; + +#define PARAM_NONE 0 +#define PARAM_INT 1 +#define PARAM_POSINT 2 /* Positive integer only */ +#define PARAM_PORT 3 /* 1..65535 only */ +#define PARAM_STRING 4 +#define PARAM_TIME 5 +#define PARAM_STRING_ARRAY 6 /* Array of string */ +#define PARAM_SET -1 /* Not a real parameter; just set the + * given integer variable to 1 */ +#define PARAM_DEPRECATED -2 /* Set for deprecated directives; `ptr' + * is a function pointer to call */ + +/* Flags: */ +#define PARAM_OPTIONAL 0x01 +#define PARAM_FULLONLY 0x02 /* Directive only allowed if !STREAMLINED */ +#define PARAM_RELOAD 0x04 /* Directive is reloadable */ + +/*************************************************************************/ /* File version for each database. Was one version for all before but was changed so they are now easier to maintain. =) */ @@ -992,6 +1007,17 @@ struct sxline_ { /*************************************************************************/ +/*************************************************************************/ + +/* clone stuff structure */ + +struct clone { + char *host; + long time; +}; + +/************************************************************************/ + /* Host serv structures */ struct hostcore_ { @@ -1039,7 +1065,97 @@ struct session_ { }; /*************************************************************************/ +/** + * IRCD Protocol module support struct. + * protocol modules register the command they want touse for function X with our set + * functions, we then call the correct function for the anope_ commands. + **/ +typedef struct ircd_proto_ { + void (*ircd_cmd_svsnoop)(char *server, int set); + void (*ircd_cmd_remove_akill)(char *user, char *host); + void (*ircd_cmd_topic)(char *whosets, char *chan, char *whosetit, char *topic, time_t when); + void (*ircd_cmd_vhost_off)(User * u); + void (*ircd_cmd_akill)(char *user, char *host, char *who, time_t when,time_t expires, char *reason); + void (*ircd_cmd_svskill)(char *source, char *user, char *buf); + void (*ircd_cmd_svsmode)(User * u, int ac, char **av); + void (*ircd_cmd_372)(char *source, char *msg); + void (*ircd_cmd_372_error)(char *source); + void (*ircd_cmd_375)(char *source); + void (*ircd_cmd_376)(char *source); + void (*ircd_cmd_nick)(char *nick, char *name, char *modes); + void (*ircd_cmd_guest_nick)(char *nick, char *user, char *host, char *real, char *modes); + void (*ircd_cmd_mode)(char *source, char *dest, char *buf); + void (*ircd_cmd_bot_nick)(char *nick, char *user, char *host, char *real, char *modes); + void (*ircd_cmd_kick)(char *source, char *chan, char *user, char *buf); + void (*ircd_cmd_notice_ops)(char *source, char *dest, char *buf); + void (*ircd_cmd_notice)(char *source, char *dest, char *buf); + void (*ircd_cmd_notice2)(char *source, char *dest, char *msg); + void (*ircd_cmd_privmsg)(char *source, char *dest, char *buf); + void (*ircd_cmd_privmsg2)(char *source, char *dest, char *msg); + void (*ircd_cmd_serv_notice)(char *source, char *dest, char *msg); + void (*ircd_cmd_serv_privmsg)(char *source, char *dest, char *msg); + void (*ircd_cmd_bot_chan_mode)(char *nick, char *chan); + void (*ircd_cmd_351)(char *source); + void (*ircd_cmd_quit)(char *source, char *buf); + void (*ircd_cmd_pong)(char *servname, char *who); + void (*ircd_cmd_join)(char *user, char *channel, time_t chantime); + void (*ircd_cmd_unsqline)(char *user); + void (*ircd_cmd_invite)(char *source, char *chan, char *nick); + void (*ircd_cmd_part)(char *nick, char *chan, char *buf); + void (*ircd_cmd_391)(char *source, char *timestr); + void (*ircd_cmd_250)(char *buf); + void (*ircd_cmd_307)(char *buf); + void (*ircd_cmd_311)(char *buf); + void (*ircd_cmd_312)(char *buf); + void (*ircd_cmd_317)(char *buf); + void (*ircd_cmd_219)(char *source, char *letter); + void (*ircd_cmd_401)(char *source, char *who); + void (*ircd_cmd_318)(char *source, char *who); + void (*ircd_cmd_242)(char *buf); + void (*ircd_cmd_243)(char *buf); + void (*ircd_cmd_211)(char *buf); + void (*ircd_cmd_global)(char *source, char *buf); + void (*ircd_cmd_global_legacy)(char *source, char *fmt); + void (*ircd_cmd_sqline)(char *mask, char *reason); + void (*ircd_cmd_squit)(char *servname, char *message); + void (*ircd_cmd_svso)(char *source, char *nick, char *flag); + void (*ircd_cmd_chg_nick)(char *oldnick, char *newnick); + void (*ircd_cmd_svsnick)(char *source, char *guest, time_t when); + void (*ircd_cmd_vhost_on)(char *nick, char *vIdent, char *vhost); + void (*ircd_cmd_connect)(int servernum); + void (*ircd_cmd_svshold)(char *nick); + void (*ircd_cmd_release_svshold)(char *nick); + void (*ircd_cmd_unsgline)(char *mask); + void (*ircd_cmd_unszline)(char *mask); + void (*ircd_cmd_szline)(char *mask, char *reason, char *whom); + void (*ircd_cmd_sgline)(char *mask, char *reason); + void (*ircd_cmd_unban)(char *name, char *nick); + void (*ircd_cmd_svsmode_chan)(char *name, char *mode, char *nick); + void (*ircd_cmd_svid_umode)(char *nick, time_t ts); + void (*ircd_cmd_nc_change)(User * u); + void (*ircd_cmd_svid_umode2)(User * u, char *ts); + void (*ircd_cmd_svid_umode3)(User * u, char *ts); + void (*ircd_cmd_ctcp)(char *source, char *dest, char *buf); + void (*ircd_cmd_eob)(); + void (*ircd_cmd_jupe)(char *jserver, char *who, char *reason); + void (*ircd_set_umode)(User *user, int ac, char **av); + int (*ircd_valid_nick)(char *nick); + int (*ircd_flood_mode_check)(char *value); +} IRCDProto; + +typedef struct ircd_modes_ { + int user_invis; + int user_oper; + int chan_invite; + int chan_secret; + int chan_private; + int chan_key; + int chan_limit; +} IRCDModes; + + +/*************************************************************************/ /** * DEFCON Defines **/ diff --git a/include/shadowircd.h b/include/shadowircd.h deleted file mode 100644 index 1dc2e5e52..000000000 --- a/include/shadowircd.h +++ /dev/null @@ -1,77 +0,0 @@ -/* ShadowIRCD functions - * - * (C) 2003-2005 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_SHADOWIRCD - -/* The protocol revision. */ -#define PROTOCOL_REVISION 3402 - - -#define UMODE_a 0x00000001 -#define UMODE_C 0x00000002 -#define UMODE_i 0x00000004 -#define UMODE_o 0x00000008 -#define UMODE_z 0x00000010 -#define UMODE_w 0x00000020 -#define UMODE_s 0x00000040 -#define UMODE_c 0x00000080 -#define UMODE_r 0x00000100 -#define UMODE_k 0x00000200 -#define UMODE_f 0x00000400 -#define UMODE_y 0x00000800 -#define UMODE_d 0x00001000 -#define UMODE_n 0x00002000 -#define UMODE_x 0x00004000 -#define UMODE_u 0x00008000 -#define UMODE_b 0x00010000 -#define UMODE_l 0x00020000 -#define UMODE_g 0x00040000 -#define UMODE_v 0x00080000 -#define UMODE_A 0x00100000 -#define UMODE_E 0x00200000 -#define UMODE_G 0x00400000 -#define UMODE_R 0x00800000 -#define UMODE_e 0x01000000 -#define UMODE_O 0x02000000 -#define UMODE_H 0x04000000 - -#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 -#define CMODE_l 0x00000080 -#define CMODE_K 0x00000100 -#define CMODE_A 0x00000200 -#define CMODE_r 0x00000400 -#define CMODE_z 0x00000800 -#define CMODE_S 0x00001000 -#define CMODE_c 0x00002000 -#define CMODE_E 0x00004000 -#define CMODE_F 0x00008000 -#define CMODE_G 0x00010000 -#define CMODE_L 0x00020000 -#define CMODE_N 0x00040000 -#define CMODE_O 0x00080000 -#define CMODE_P 0x00100000 -#define CMODE_R 0x00200000 -#define CMODE_T 0x00400000 -#define CMODE_V 0x00800000 - -#define DEFAULT_MLOCK CMODE_n | CMODE_t | CMODE_r - -#endif - - diff --git a/include/slist.h b/include/slist.h index a3e05650f..1ff56aaf1 100644 --- a/include/slist.h +++ b/include/slist.h @@ -46,18 +46,5 @@ typedef int (*slist_enumcb_t) (SList *slist, int number, void *item, va_list arg /* Callback to know whether we can delete the entry. */ typedef int (*slist_delcheckcb_t) (SList *slist, void *item, va_list args); -/* Functions for global use */ -extern int slist_add(SList *slist, void *item); -extern void slist_clear(SList *slist, int free); -extern int slist_delete(SList *slist, int index); -extern int slist_delete_range(SList *slist, char *range, slist_delcheckcb_t cb, ...); -extern int slist_enum(SList *slist, char *range, slist_enumcb_t cb, ...); -extern int slist_full(SList *slist); -extern int slist_indexof(SList *slist, void *item); -extern void slist_init(SList *slist); -extern void slist_pack(SList *slist); -extern int slist_remove(SList *slist, void *item); -extern int slist_setcapacity(SList *slist, int16 capacity); - #endif /* SLIST_H */ diff --git a/include/solidircd.h b/include/solidircd.h deleted file mode 100644 index 972ec73da..000000000 --- a/include/solidircd.h +++ /dev/null @@ -1,71 +0,0 @@ -/* SolidIRCD functions - * - * (C) 2003-2005 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_SOLID - -#define UMODE_a 0x00000001 /* umode +a - Services Admin */ -#define UMODE_h 0x00000002 /* umode +h - Helper */ -#define UMODE_i 0x00000004 /* umode +i - Invisible */ -#define UMODE_o 0x00000008 /* umode +o - Oper */ -#define UMODE_r 0x00000010 /* umode +r - registered nick */ -#define UMODE_w 0x00000020 /* umode +w - Get wallops */ -#define UMODE_A 0x00000040 /* umode +A - Server Admin */ -#define UMODE_x 0x00000080 /* umode +x - Squelch with notice */ -#define UMODE_X 0x00000100 /* umode +X - Squelch without notice */ -#define UMODE_F 0x00000200 /* umode +F - no cptr->since message rate throttle */ -#define UMODE_j 0x00000400 /* umode +j - client rejection notices */ -#define UMODE_K 0x00000800 /* umode +K - U: lined server kill messages */ -#define UMODE_O 0x00001000 /* umode +O - Local Oper */ -#define UMODE_s 0x00002000 /* umode +s - Server notices */ -#define UMODE_c 0x00004000 /* umode +c - Client connections/exits */ -#define UMODE_k 0x00008000 /* umode +k - Server kill messages */ -#define UMODE_f 0x00010000 /* umode +f - Server flood messages */ -#define UMODE_y 0x00020000 /* umode +y - Stats/links */ -#define UMODE_d 0x00040000 /* umode +d - Debug info */ -#define UMODE_g 0x00080000 /* umode +g - Globops */ -#define UMODE_b 0x00100000 /* umode +b - Chatops */ -#define UMODE_n 0x00200000 /* umode +n - Routing Notices */ -#define UMODE_m 0x00400000 /* umode +m - spambot notices */ -#define UMODE_e 0x00800000 /* umode +e - oper notices for the above +D */ -#define UMODE_D 0x01000000 /* umode +D - Hidden dccallow umode */ -#define UMODE_I 0x02000000 /* umode +I - invisible oper (masked) */ -#define UMODE_C 0x04000000 /* umode +C - conops */ -#define UMODE_v 0x10000000 /* umode +v - hostmasking */ -#define UMODE_H 0x20000000 /* umode +H - Oper Hiding */ -#define UMODE_z 0x40000000 /* umode +z - SSL */ -#define UMODE_R 0x80000000 /* umode +R - No non registered msgs */ - -#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 CMODE_c 0x00000400 /* Colors can't be used */ -#define CMODE_M 0x00000800 /* Non-regged nicks can't send messages */ -#define CMODE_j 0x00001000 /* join throttle */ -#define CMODE_S 0x00002000 /* SSL only */ -#define CMODE_N 0x00004000 /* No Nickname change */ -#define CMODE_O 0x00008000 /* Only opers can join */ - - -#define DEFAULT_MLOCK CMODE_n | CMODE_t | CMODE_r - -#endif - diff --git a/include/ultimate2.h b/include/ultimate2.h deleted file mode 100644 index 34cbcdc54..000000000 --- a/include/ultimate2.h +++ /dev/null @@ -1,54 +0,0 @@ -/* Ultimate IRCD 2 functions - * - * (C) 2003-2005 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_ULTIMATE2 - - -#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_p 0x04000000 -#define UMODE_R 0x08000000 -#define UMODE_P 0x20000000 -#define UMODE_g 0x80000000 -#define UMODE_x 0x40000000 - - -#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_f 0x00000400 -#define CMODE_x 0x00000800 -#define CMODE_A 0x00001000 -#define CMODE_I 0x00002000 -#define CMODE_K 0x00004000 -#define CMODE_L 0x00008000 -#define CMODE_O 0x00010000 -#define CMODE_S 0x00020000 -#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/ultimate3.h b/include/ultimate3.h deleted file mode 100644 index 75252cbf3..000000000 --- a/include/ultimate3.h +++ /dev/null @@ -1,58 +0,0 @@ -/* Ultimate IRCD 3.0 functions - * - * (C) 2003-2005 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_ULTIMATE3 - - -#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_0 0x00000080 -#define UMODE_Z 0x00000100 /* umode +Z - Services Root Admin */ -#define UMODE_S 0x00000200 /* umode +S - Services Client */ -#define UMODE_D 0x00000400 /* umode +D - has seen dcc warning message */ -#define UMODE_d 0x00000800 /* umode +d - user is deaf to channel messages */ -#define UMODE_W 0x00001000 /* umode +d - user is deaf to channel messages */ -#define UMODE_p 0x04000000 -#define UMODE_P 0x20000000 /* umode +P - Services Admin */ -#define UMODE_x 0x40000000 -#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_R 0x00000100 /* Only identified users can join */ -#define CMODE_r 0x00000200 /* Set for all registered channels */ -#define CMODE_c 0x00000400 /* Colors can't be used */ -#define CMODE_A 0x00000800 -#define CMODE_N 0x00001000 -#define CMODE_S 0x00002000 -#define CMODE_K 0x00004000 -#define CMODE_O 0x00008000 /* Only opers can join */ -#define CMODE_q 0x00010000 /* No Quit Reason */ -#define CMODE_M 0x00020000 /* Non-regged nicks can't send messages */ - -#define DEFAULT_MLOCK CMODE_n | CMODE_t | CMODE_r - -#endif - diff --git a/include/unreal31.h b/include/unreal31.h deleted file mode 100644 index bbf049a6d..000000000 --- a/include/unreal31.h +++ /dev/null @@ -1,57 +0,0 @@ -/* Unreal IRCD 3.1.x functions - * - * (C) 2003-2005 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_UNREAL31 - - -#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 UMODE_x 0x40000000 - -#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 -#define CMODE_A 0x00000800 -#define CMODE_H 0x00001000 -#define CMODE_K 0x00002000 -#define CMODE_L 0x00004000 -#define CMODE_O 0x00008000 -#define CMODE_Q 0x00010000 -#define CMODE_S 0x00020000 -#define CMODE_V 0x00040000 -#define CMODE_f 0x00080000 -#define CMODE_G 0x00100000 -#define CMODE_C 0x00200000 -#define CMODE_u 0x00400000 -#define CMODE_z 0x00800000 -#define CMODE_N 0x01000000 -#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/unreal32.h b/include/unreal32.h deleted file mode 100644 index 9f7b10ebc..000000000 --- a/include/unreal32.h +++ /dev/null @@ -1,85 +0,0 @@ -/* Unreal IRCD 3.2.x functions - * - * (C) 2003-2005 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_UNREAL32 - -/*************************************************************************/ - -/* User Modes */ -#define UMODE_a 0x00000001 /* a Services Admin */ -#define UMODE_h 0x00000002 /* h Available for help (HelpOp) */ -#define UMODE_i 0x00000004 /* i Invisible (not shown in /who) */ -#define UMODE_o 0x00000008 /* o Global IRC Operator */ -#define UMODE_r 0x00000010 /* r Identifies the nick as being registered */ -#define UMODE_w 0x00000020 /* w Can listen to wallop messages */ -#define UMODE_A 0x00000040 /* A Server Admin */ -#define UMODE_N 0x00000080 /* N Network Administrator */ -#define UMODE_O 0x00000100 /* O Local IRC Operator */ -#define UMODE_C 0x00000200 /* C Co-Admin */ -#define UMODE_d 0x00000400 /* d Makes it so you can not receive channel PRIVMSGs */ -#define UMODE_p 0x00000800 /* Hides the channels you are in in a /whois reply */ -#define UMODE_q 0x00001000 /* q Only U:Lines can kick you (Services Admins Only) */ -#define UMODE_s 0x00002000 /* s Can listen to server notices */ -#define UMODE_t 0x00004000 /* t Says you are using a /vhost */ -#define UMODE_v 0x00008000 /* v Receives infected DCC Send Rejection notices */ -#define UMODE_z 0x00010000 /* z Indicates that you are an SSL client */ -#define UMODE_B 0x00020000 /* B Marks you as being a Bot */ -#define UMODE_G 0x00040000 /* G Filters out all the bad words per configuration */ -#define UMODE_H 0x00080000 /* H Hide IRCop Status (IRCop Only) */ -#define UMODE_S 0x00100000 /* S services client */ -#define UMODE_V 0x00200000 /* V Marks you as a WebTV user */ -#define UMODE_W 0x00400000 /* W Lets you see when people do a /whois on you */ -#define UMODE_T 0x00800000 /* T Prevents you from receiving CTCPs */ -#define UMODE_g 0x20000000 /* g Can send & read globops and locops */ -#define UMODE_x 0x40000000 /* x Gives user a hidden hostname */ -#define UMODE_R 0x80000000 /* Allows you to only receive PRIVMSGs/NOTICEs from registered (+r) users */ - - -/*************************************************************************/ - -/* Channel Modes */ - -#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 CMODE_c 0x00000400 -#define CMODE_A 0x00000800 -/* #define CMODE_H 0x00001000 Was now +I may not join, but Unreal Removed it and it will not set in 3.2 */ -#define CMODE_K 0x00002000 -#define CMODE_L 0x00004000 -#define CMODE_O 0x00008000 -#define CMODE_Q 0x00010000 -#define CMODE_S 0x00020000 -#define CMODE_V 0x00040000 -#define CMODE_f 0x00080000 -#define CMODE_G 0x00100000 -#define CMODE_C 0x00200000 -#define CMODE_u 0x00400000 -#define CMODE_z 0x00800000 -#define CMODE_N 0x01000000 -#define CMODE_T 0x02000000 -#define CMODE_M 0x04000000 - - -/* Default Modes with MLOCK */ - -#define DEFAULT_MLOCK CMODE_n | CMODE_t | CMODE_r - -#endif diff --git a/include/viagra.h b/include/viagra.h deleted file mode 100644 index d725f41d9..000000000 --- a/include/viagra.h +++ /dev/null @@ -1,67 +0,0 @@ -/* Viagra IRCD functions - * - * (C) 2003-2005 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_VIAGRA - - -/* User Modes */ -#define UMODE_A 0x00000040 /* Is a Server Administrator. */ -#define UMODE_C 0x00002000 /* Is a Server Co Administrator. */ -#define UMODE_I 0x00008000 /* Stealth mode, makes you beeing hidden at channel. invisible joins/parts. */ -#define UMODE_N 0x00000400 /* Is a Network Administrator. */ -#define UMODE_O 0x00004000 /* Local IRC Operator. */ -#define UMODE_Q 0x00001000 /* Is an Abuse Administrator. */ -#define UMODE_R 0x08000000 /* Cant receive messages from non registered user. */ -#define UMODE_S 0x00000080 /* Is a Network Service. For Services only. */ -#define UMODE_T 0x00000800 /* Is a Technical Administrator. */ -#define UMODE_a 0x00000001 /* Is a Services Administrator. */ -#define UMODE_b 0x00040000 /* Can listen to generic bot warnings. */ -#define UMODE_c 0x00010000 /* See's all connects/disconnects on local server. */ -#define UMODE_d 0x00000100 /* Can listen to debug and channel cration notices. */ -#define UMODE_e 0x00080000 /* Can see client connections/exits on remote servers. */ -#define UMODE_f 0x00100000 /* Listen to flood/spam alerts from server. */ -#define UMODE_g 0x00000200 /* Can read & send to globops, and locops. */ -#define UMODE_h 0x00000002 /* Is a Help Operator. */ -#define UMODE_i 0x00000004 /* Invisible (Not shown in /who and /names searches). */ -#define UMODE_n 0x00020000 /* Can see client nick change notices. */ -#define UMODE_o 0x00000008 /* Global IRC Operator. */ -#define UMODE_r 0x00000010 /* Identifies the nick as being registered. */ -#define UMODE_s 0x00200000 /* Can listen to generic server messages. */ -#define UMODE_w 0x00000020 /* Can listen to wallop messages. */ -#define UMODE_x 0x40000000 /* Gives the user hidden hostname. */ - - -/* Channel Modes */ -#define CMODE_i 0x00000001 /* Invite-only allowed. */ -#define CMODE_m 0x00000002 /* Moderated channel, noone can speak and changing nick except users with mode +vho */ -#define CMODE_n 0x00000004 /* No messages from outside channel */ -#define CMODE_p 0x00000008 /* Private channel. */ -#define CMODE_s 0x00000010 /* Secret channel. */ -#define CMODE_t 0x00000020 /* Only channel operators may set the topic */ -#define CMODE_k 0x00000040 /* Needs the channel key to join the channel */ -#define CMODE_l 0x00000080 /* Channel may hold at most <number> of users */ -#define CMODE_R 0x00000100 /* Requires a registered nickname to join the channel. */ -#define CMODE_r 0x00000200 /* Channel is registered. */ -#define CMODE_c 0x00000400 /* No ANSI color can be sent to the channel */ -#define CMODE_M 0x00000800 /* Requires a registered nickname to speak at the channel. */ -#define CMODE_H 0x00001000 /* HelpOps only channel. */ -#define CMODE_O 0x00008000 /* IRCOps only channel. */ -#define CMODE_S 0x00020000 /* Strips all mesages out of colors. */ -#define CMODE_N 0x01000000 /* No nickchanges allowed. */ -#define CMODE_P 0x02000000 /* "Peace mode" No kicks allowed unless by u:lines */ -#define CMODE_x 0x04000000 /* No bold/underlined or reversed text can be sent to the channel */ - -#define DEFAULT_MLOCK CMODE_n | CMODE_t | CMODE_r - -#endif - |