diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/bahamut.c | 63 | ||||
-rw-r--r-- | src/dreamforge.c | 3 | ||||
-rw-r--r-- | src/hybrid.c | 3 | ||||
-rw-r--r-- | src/misc.c | 8 | ||||
-rw-r--r-- | src/nickserv.c | 3 | ||||
-rw-r--r-- | src/plexus.c | 3 | ||||
-rw-r--r-- | src/ptlink.c | 3 | ||||
-rw-r--r-- | src/rageircd.c | 3 | ||||
-rw-r--r-- | src/ratbox.c | 13 | ||||
-rw-r--r-- | src/servers.c | 8 | ||||
-rw-r--r-- | src/solidircd.c | 3 | ||||
-rw-r--r-- | src/ultimate2.c | 4 | ||||
-rw-r--r-- | src/ultimate3.c | 3 | ||||
-rw-r--r-- | src/unreal31.c | 4 | ||||
-rw-r--r-- | src/unreal32.c | 63 | ||||
-rw-r--r-- | src/viagra.c | 3 |
16 files changed, 124 insertions, 66 deletions
diff --git a/src/bahamut.c b/src/bahamut.c index 36bd28f6d..c28170d11 100644 --- a/src/bahamut.c +++ b/src/bahamut.c @@ -109,6 +109,7 @@ IRCDVar ircd[] = { 0, /* ts6 */ 1, /* support helper umode */ 0, /* p10 */ + NULL, /* character set */ } , {NULL} @@ -144,7 +145,7 @@ IRCDCAPAB ircdcap[] = { 0, /* TLKEXT */ 0, /* DODKEY */ CAPAB_DOZIP, /* DOZIP */ - 0, 0} + 0, 0, 0} }; @@ -290,32 +291,52 @@ char csmodes[128] = { 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}, {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}, - {add_ban, del_ban}, - {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}, {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}, {NULL}, {NULL} }; - CBMode cbmodes[128] = { {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, diff --git a/src/dreamforge.c b/src/dreamforge.c index 8d90704ec..bceb88156 100644 --- a/src/dreamforge.c +++ b/src/dreamforge.c @@ -107,6 +107,7 @@ IRCDVar ircd[] = { 0, /* ts6 */ 1, /* support helper umode */ 0, /* p10 */ + NULL, /* character set */ } , {NULL} @@ -142,7 +143,7 @@ IRCDCAPAB ircdcap[] = { 0, /* TLKEXT */ 0, /* DODKEY */ 0, /* DOZIP */ - 0, 0} + 0, 0, 0} }; void anope_set_umode(User * user, int ac, char **av) diff --git a/src/hybrid.c b/src/hybrid.c index 8ab40ce4a..6a9e89921 100644 --- a/src/hybrid.c +++ b/src/hybrid.c @@ -107,6 +107,7 @@ IRCDVar ircd[] = { 0, /* ts6 */ 0, /* support helper umode */ 0, /* p10 */ + NULL, /* character set */ } , {NULL} @@ -142,7 +143,7 @@ IRCDCAPAB ircdcap[] = { 0, /* TLKEXT */ 0, /* DODKEY */ 0, /* DOZIP */ - 0, 0} + 0, 0, 0} }; diff --git a/src/misc.c b/src/misc.c index 97b1af506..5e5038252 100644 --- a/src/misc.c +++ b/src/misc.c @@ -811,15 +811,17 @@ void EnforceQlinedNick(char *nick, char *killer) * @param int Check if botserv bots * @return int */ -int nickIsServices(char *nick, int bot) +int nickIsServices(char *tempnick, int bot) { int found = 0; - char *s; + char *s, *nick; - if (!nick) { + if (!tempnick) { return found; } + nick = sstrdup(tempnick); + s = strchr(nick, '@'); if (s) { *s++ = 0; diff --git a/src/nickserv.c b/src/nickserv.c index f43ed30bf..7ee63469e 100644 --- a/src/nickserv.c +++ b/src/nickserv.c @@ -2472,6 +2472,7 @@ static int do_group(User * u) rdb_close(); } #endif + send_event(EVENT_GROUP, u->nick); alog("%s: %s!%s@%s makes %s join group of %s (%s) (e-mail: %s)", s_NickServ, u->nick, u->username, common_get_vhost(u), u->nick, target->nick, target->nc->display, (target->nc->email ? target->nc->email : "none")); notice_lang(s_NickServ, u, NICK_GROUP_JOINED, target->nick); @@ -2576,7 +2577,7 @@ static int do_identify(User * u) common_svsmode(u, ircd->modeonreg, ""); } } - + send_event(EVENT_NICK_IDENTIFY, u->nick); alog("%s: %s!%s@%s identified for nick %s", s_NickServ, u->nick, u->username, common_get_vhost(u), u->nick); notice_lang(s_NickServ, u, NICK_IDENTIFY_SUCCEEDED); diff --git a/src/plexus.c b/src/plexus.c index 21e89b502..e3217316c 100644 --- a/src/plexus.c +++ b/src/plexus.c @@ -107,6 +107,7 @@ IRCDVar ircd[] = { 0, /* ts6 */ 0, /* support helper umode */ 0, /* p10 */ + NULL, /* character set */ } , {NULL} @@ -142,7 +143,7 @@ IRCDCAPAB ircdcap[] = { 0, /* TLKEXT */ 0, /* DODKEY */ 0, /* DOZIP */ - 0, 0} + 0, 0, 0} }; diff --git a/src/ptlink.c b/src/ptlink.c index 56704ffd7..228f48c0d 100644 --- a/src/ptlink.c +++ b/src/ptlink.c @@ -107,6 +107,7 @@ IRCDVar ircd[] = { 0, /* ts6 */ 1, /* support helper umode */ 0, /* p10 */ + NULL, /* character set */ } , {NULL} @@ -142,7 +143,7 @@ IRCDCAPAB ircdcap[] = { 0, /* TLKEXT */ 0, /* DODKEY */ 0, /* DOZIP */ - 0, 0} + 0, 0, 0} }; diff --git a/src/rageircd.c b/src/rageircd.c index 6521e5934..050ff4e76 100644 --- a/src/rageircd.c +++ b/src/rageircd.c @@ -108,6 +108,7 @@ IRCDVar ircd[] = { 0, /* ts6 */ 1, /* support helper umode */ 0, /* p10 */ + NULL, /* character set */ }, {NULL} }; @@ -142,7 +143,7 @@ IRCDCAPAB ircdcap[] = { 0, /* TLKEXT */ 0, /* DODKEY */ 0, /* DOZIP */ - 0, 0} + 0, 0, 0} }; diff --git a/src/ratbox.c b/src/ratbox.c index 45046d654..bb1ce1e60 100644 --- a/src/ratbox.c +++ b/src/ratbox.c @@ -109,6 +109,7 @@ IRCDVar ircd[] = { 1, /* ts6 */ 0, /* support helper umode */ 0, /* p10 */ + NULL, /* character set */ } , {NULL} @@ -144,12 +145,9 @@ IRCDCAPAB ircdcap[] = { 0, /* TLKEXT */ 0, /* DODKEY */ 0, /* DOZIP */ - 0, 0} + 0, 0, 0} }; -static User *current; -static int next_index; - void anope_set_umode(User * user, int ac, char **av) { int add = 1; /* 1 if adding modes, 0 if deleting */ @@ -628,8 +626,8 @@ int anope_event_nick(char *source, int ac, char **av) do_nick(source, av[0], NULL, NULL, NULL, NULL, strtoul(av[1], NULL, 10), 0, 0, NULL, NULL); } - return MOD_CONT; } + return MOD_CONT; } int anope_event_topic(char *source, int ac, char **av) @@ -1046,7 +1044,7 @@ int anope_event_ping(char *source, int ac, char **av) int anope_event_away(char *source, int ac, char **av) { - User *u; + User *u = NULL; if (ac) { return MOD_CONT; @@ -1056,7 +1054,7 @@ int anope_event_away(char *source, int ac, char **av) u = find_byuid(source); } - m_away((UseTS6 ? u->nick : source), av[0]); + m_away((UseTS6 ? (u ? u->nick : source) : source), av[0]); return MOD_CONT; } @@ -1444,7 +1442,6 @@ void anope_cmd_tmode(char *source, char *dest, const char *fmt, ...) { va_list args; char buf[BUFSIZE]; - Uid *ud; *buf = '\0'; if (fmt) { diff --git a/src/servers.c b/src/servers.c index 49e230fc3..bc2836d5b 100644 --- a/src/servers.c +++ b/src/servers.c @@ -330,6 +330,7 @@ void do_server(const char *source, char *servername, char *hops, s = findserver(servlist, source); new_server(s, servername, descript, 0, numeric); + send_event(EVENT_SERVER_CONNECT, servername); } /*************************************************************************/ @@ -358,6 +359,7 @@ void do_squit(const char *source, int ac, char **av) alog("SQUIT for nonexistent server (%s)!!", av[0]); return; } + send_event(EVENT_SERVER_SQUIT, s->name); snprintf(buf, sizeof(buf), "%s %s", s->name, (s->uplink ? s->uplink->name : "")); @@ -483,6 +485,12 @@ void capab_parse(int ac, char **av) ircd->chanmodes = sstrdup(tmp); } } + if (!stricmp(s, "NICKCHARS")) { + uplink_capab |= CAPAB_NICKCHARS; + if (tmp) { + ircd->nickchars = sstrdup(tmp); + } + } if (s) { free(s); } diff --git a/src/solidircd.c b/src/solidircd.c index ea577a0fa..e8489abe4 100644 --- a/src/solidircd.c +++ b/src/solidircd.c @@ -109,6 +109,7 @@ IRCDVar ircd[] = { 0, /* ts6 */ 1, /* support helper umode */ 0, /* p10 */ + NULL, /* character set */ } , {NULL} @@ -144,7 +145,7 @@ IRCDCAPAB ircdcap[] = { 0, /* TLKEXT */ 0, /* DODKEY */ CAPAB_DOZIP, /* DOZIP */ - 0, 0} + 0, 0, 0} }; diff --git a/src/ultimate2.c b/src/ultimate2.c index d52ead4ef..03b81eeed 100644 --- a/src/ultimate2.c +++ b/src/ultimate2.c @@ -107,6 +107,7 @@ IRCDVar ircd[] = { 0, /* ts6 */ 1, /* support helper umode */ 0, /* p10 */ + NULL, /* character set */ } , {NULL} @@ -144,8 +145,7 @@ IRCDCAPAB ircdcap[] = { 0, /* DODKEY */ 0, /* DOZIP */ CAPAB_CHANMODE, /* CHANMODE */ - 0, - } + 0, 0} }; void anope_set_umode(User * user, int ac, char **av) diff --git a/src/ultimate3.c b/src/ultimate3.c index 34d9861c2..ad965bbd8 100644 --- a/src/ultimate3.c +++ b/src/ultimate3.c @@ -109,6 +109,7 @@ IRCDVar ircd[] = { 0, /* ts6 */ 1, /* support helper umode */ 0, /* p10 */ + NULL, /* character set */ }, {NULL} }; @@ -143,7 +144,7 @@ IRCDCAPAB ircdcap[] = { 0, /* TLKEXT */ CAPAB_DODKEY, /* DODKEY */ CAPAB_DOZIP, /* DOZIP */ - 0, 0} + 0, 0, 0} }; void anope_set_umode(User * user, int ac, char **av) diff --git a/src/unreal31.c b/src/unreal31.c index 4be075fd2..6326b274b 100644 --- a/src/unreal31.c +++ b/src/unreal31.c @@ -110,6 +110,7 @@ IRCDVar ircd[] = { 0, /* ts6 */ 1, /* support helper umode */ 0, /* p10 */ + NULL, /* character set */ }, {NULL} }; @@ -146,8 +147,7 @@ IRCDCAPAB ircdcap[] = { 0, /* DODKEY */ 0, /* DOZIP */ 0, - 0, - } + 0, 0} }; unsigned long umodes[128] = { diff --git a/src/unreal32.c b/src/unreal32.c index 2e8123f9a..c612673e3 100644 --- a/src/unreal32.c +++ b/src/unreal32.c @@ -109,6 +109,7 @@ IRCDVar ircd[] = { 0, /* ts6 */ 1, /* support helper umode */ 0, /* p10 */ + NULL, /* character set */ }, {NULL} }; @@ -145,6 +146,7 @@ IRCDCAPAB ircdcap[] = { 0, /* DOZIP */ CAPAB_CHANMODE, /* CHANMODE */ CAPAB_SJB64, + CAPAB_NICKCHARS, } }; @@ -223,33 +225,52 @@ char csmodes[128] = { }; 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}, {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}, - {add_ban, del_ban}, - {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}, {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}, {NULL}, {NULL} }; - - CBMode cbmodes[128] = { {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, diff --git a/src/viagra.c b/src/viagra.c index 1cb883789..b94ad6aee 100644 --- a/src/viagra.c +++ b/src/viagra.c @@ -108,6 +108,7 @@ IRCDVar ircd[] = { 0, /* ts6 */ 1, /* support helper umode */ 0, /* p10 */ + NULL, /* character set */ } , {NULL} @@ -144,7 +145,7 @@ IRCDCAPAB ircdcap[] = { 0, /* TLKEXT */ CAPAB_DODKEY, /* DODKEY */ CAPAB_DOZIP, /* DOZIP */ - 0, 0} + 0, 0, 0} }; |