mirror of
https://github.com/anope/anope.git
synced 2026-06-30 14:46:39 +02:00
BUILD : 1.7.5 (340) BUGS : none NOTES : Applied patch 830 provided by Trystan to resolve several issues.
git-svn-id: svn://svn.anope.org/anope/trunk@340 31f1291d-b8d6-0310-a050-a5561fc1590b git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@216 5417fbe8-f217-4b02-8779-1006273d7864
This commit is contained in:
parent
eb0d83719b
commit
b0c19c6702
@@ -6,8 +6,14 @@ Provided by Anope Dev. <dev@anope.org> - 2004
|
||||
08/24 F Compile error with gcc2. [ #00]
|
||||
|
||||
Provided by Trystan <trystan@nomadirc.net> - 2004
|
||||
09/07 A Unreal32 channel mode +T support. [ #00]
|
||||
09/07 A Ircd CHANMODE now trapped and stored. [ #00]
|
||||
08/23 A New protocol independent design (aka anope-capab). [ #00]
|
||||
08/28 A New IRCD document for adding new ircd support to new design. [ #00]
|
||||
09/07 F Handling of most Unknown Message from Server commands. [ #00]
|
||||
09/07 F Several Hybrid support fixes and improvements. [ #00]
|
||||
09/07 F Several Unreal support fixes and improvements. [ #00]
|
||||
09/07 F Several Ultimate support fixes and improvements. [ #00]
|
||||
08/28 F Channel registration handling for non chanops. [#142]
|
||||
08/28 F Protection from accessing unavailable struct data. [#152]
|
||||
08/28 F Rage2 mode +M/+A channel support. [#154]
|
||||
|
||||
@@ -248,7 +248,7 @@ while [ $ok -eq 0 ] ; do
|
||||
ok=1;
|
||||
;;
|
||||
4)
|
||||
IRCTYPE_DEF="IRC_ULTIMATE"
|
||||
IRCTYPE_DEF="IRC_ULTIMATE2"
|
||||
ok=1;
|
||||
;;
|
||||
5)
|
||||
|
||||
@@ -8371,10 +8371,10 @@ cat >>confdefs.h <<\_ACEOF
|
||||
#define IRC_UNREAL31 1
|
||||
_ACEOF
|
||||
|
||||
elif test "$withval" = "IRC_ULTIMATE"; then
|
||||
elif test "$withval" = "IRC_ULTIMATE2"; then
|
||||
|
||||
cat >>confdefs.h <<\_ACEOF
|
||||
#define IRC_ULTIMATE 1
|
||||
#define IRC_ULTIMATE2 1
|
||||
_ACEOF
|
||||
|
||||
elif test "$withval" = "IRC_ULTIMATE3"; then
|
||||
|
||||
+2
-2
@@ -192,8 +192,8 @@ AC_ARG_WITH(ircd, [ --with-ircd=ircd Specify the first ircd type], [
|
||||
AC_DEFINE(IRC_BAHAMUT,1,"First IRCD type")
|
||||
elif test "$withval" = "IRC_UNREAL31"; then
|
||||
AC_DEFINE(IRC_UNREAL31,1,"First IRCD type")
|
||||
elif test "$withval" = "IRC_ULTIMATE"; then
|
||||
AC_DEFINE(IRC_ULTIMATE,1,"First IRCD type")
|
||||
elif test "$withval" = "IRC_ULTIMATE2"; then
|
||||
AC_DEFINE(IRC_ULTIMATE2,1,"First IRCD type")
|
||||
elif test "$withval" = "IRC_ULTIMATE3"; then
|
||||
AC_DEFINE(IRC_ULTIMATE3,1,"First IRCD type")
|
||||
elif test "$withval" = "IRC_HYBRID"; then
|
||||
|
||||
+11
-9
@@ -493,8 +493,6 @@ E char *DefconMessage;
|
||||
E char *DefConAkillReason;
|
||||
E char *DefConOffMessage;
|
||||
|
||||
E int Numeric;
|
||||
|
||||
/**** converter.c ****/
|
||||
|
||||
E int convert_ircservices_44(void);
|
||||
@@ -644,11 +642,6 @@ E void doCleanBuffer(char *str);
|
||||
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[]);
|
||||
@@ -851,7 +844,6 @@ E void get_user_stats(long *nusers, long *memuse);
|
||||
E User *finduser(const char *nick);
|
||||
E User *firstuser(void);
|
||||
E User *nextuser(void);
|
||||
E User *finduser_uid(const char *uid);
|
||||
|
||||
E void update_host(User * user);
|
||||
E void change_user_host(User * user, const char *host);
|
||||
@@ -1003,6 +995,7 @@ extern int anope_event_whois(char *source, int ac, char **av);
|
||||
extern int anope_event_part(char *source, int ac, char **av);
|
||||
extern int anope_event_server(char *source, int ac, char **av);
|
||||
extern int anope_event_nick(char *source, int ac, char **av);
|
||||
extern int anope_event_gnotice(char *source, int ac, char **av);
|
||||
extern int anope_event_privmsg(char *source, int ac, char **av);
|
||||
extern int anope_event_capab(char *source, int ac, char **av);
|
||||
extern int anope_event_sjoin(char *source, int ac, char **av);
|
||||
@@ -1021,13 +1014,22 @@ extern int anope_event_chgname(char *source, int ac, char **av);
|
||||
extern int anope_event_setname(char *source, int ac, char **av);
|
||||
extern int anope_event_svsinfo(char *source, int ac, char **av);
|
||||
extern int anope_event_snick(char *source, int ac, char **av);
|
||||
extern int anope_event_vhost(char *source, int ac, char **av); /* Rage IRCD Only */
|
||||
extern int anope_event_vhost(char *source, int ac, char **av);
|
||||
extern int anope_event_tkl(char *source, int ac, char **av);
|
||||
extern int anope_event_eos(char *source, int ac, char **av);
|
||||
extern int anope_event_pass(char *source, int ac, char **av);
|
||||
extern int anope_event_netinfo(char *source, int ac, char **av);
|
||||
extern int anope_event_error(char *source, int ac, char **av);
|
||||
extern int anope_event_eb(char *source, int ac, char **av);
|
||||
extern int anope_event_netctrl(char *source, int ac, char **av);
|
||||
extern int anope_event_notice(char *source, int ac, char **av);
|
||||
extern int anope_event_sqline(char *source, int ac, char **av);
|
||||
extern int anope_event_error(char *source, int ac, char **av);
|
||||
extern int anope_event_smo(char *source, int ac, char **av);
|
||||
extern int anope_event_myid(char *source, int ac, char **av);
|
||||
extern int anope_event_vctrl(char *source, int ac, char **av);
|
||||
extern int anope_event_netinfo(char *source, int ac, char **av);
|
||||
extern int anope_event_snetinfo(char *source, int ac, char **av);
|
||||
|
||||
extern void anope_set_umode(User * user, int ac, char **av);
|
||||
extern void anope_cmd_svid_umode(char *nick, time_t ts);
|
||||
|
||||
+6
-2
@@ -240,11 +240,13 @@ struct ircdvars_ {
|
||||
uint32 adminmode; /* Admin Only Channel Mode */
|
||||
uint32 defmlock; /* Default mlock modes */
|
||||
uint32 vhostmode; /* Vhost mode */
|
||||
int fmode; /* +f */
|
||||
int Lmode; /* +L */
|
||||
int fmode; /* +f */
|
||||
int Lmode; /* +L */
|
||||
uint32 chan_fmode; /* Mode */
|
||||
uint32 chan_lmode; /* Mode */
|
||||
int check_nick_id; /* On nick change check if they could be identified */
|
||||
int knock_needs_i; /* Check if we needed +i when setting NOKNOCK */
|
||||
char *chanmodes; /* If the ircd sends CHANMODE in CAPAB this is where we store it */
|
||||
};
|
||||
|
||||
struct ircdcapab_ {
|
||||
@@ -276,6 +278,7 @@ struct ircdcapab_ {
|
||||
uint32 tlkext;
|
||||
uint32 dodkey;
|
||||
uint32 dozip;
|
||||
uint32 chanmodes;
|
||||
};
|
||||
|
||||
/*************************************************************************/
|
||||
@@ -1074,6 +1077,7 @@ struct hostcache_ {
|
||||
#define CAPAB_UMODE2 0x02000000
|
||||
#define CAPAB_VL 0x04000000
|
||||
#define CAPAB_TLKEXT 0x08000000
|
||||
#define CAPAB_CHANMODE 0x10000000
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
+3
-2
@@ -39,6 +39,8 @@
|
||||
#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
|
||||
@@ -54,8 +56,7 @@
|
||||
#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 CMODE_T 0x02000000
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
|
||||
+30
-6
@@ -89,7 +89,8 @@ IRCDVar ircd[] = {
|
||||
0, /* Mode */
|
||||
0, /* Mode */
|
||||
1,
|
||||
|
||||
1, /* No Knock requires +i */
|
||||
NULL, /* CAPAB Chan Modes */
|
||||
}
|
||||
,
|
||||
{NULL}
|
||||
@@ -124,8 +125,8 @@ IRCDCAPAB ircdcap[] = {
|
||||
0, /* VL */
|
||||
0, /* TLKEXT */
|
||||
0, /* DODKEY */
|
||||
CAPAB_DOZIP /* DOZIP */
|
||||
}
|
||||
CAPAB_DOZIP, /* DOZIP */
|
||||
0}
|
||||
};
|
||||
|
||||
|
||||
@@ -404,7 +405,7 @@ void anope_cmd_mode(char *source, char *dest, const char *fmt, ...)
|
||||
char buf[BUFSIZE];
|
||||
*buf = '\0';
|
||||
|
||||
if (!fmt) {
|
||||
if (fmt) {
|
||||
va_start(args, fmt);
|
||||
vsnprintf(buf, BUFSIZE - 1, fmt, args);
|
||||
va_end(args);
|
||||
@@ -567,7 +568,7 @@ void moduleAddIRCDMsgs(void) {
|
||||
m = createMessage("MODE", anope_event_mode); addCoreMessage(IRCD,m);
|
||||
m = createMessage("MOTD", anope_event_motd); addCoreMessage(IRCD,m);
|
||||
m = createMessage("NICK", anope_event_nick); addCoreMessage(IRCD,m);
|
||||
m = createMessage("NOTICE", NULL); addCoreMessage(IRCD,m);
|
||||
m = createMessage("NOTICE", anope_event_notice); addCoreMessage(IRCD,m);
|
||||
m = createMessage("PART", anope_event_part); addCoreMessage(IRCD,m);
|
||||
m = createMessage("PASS", NULL); addCoreMessage(IRCD,m);
|
||||
m = createMessage("PING", anope_event_ping); addCoreMessage(IRCD,m);
|
||||
@@ -605,6 +606,8 @@ void moduleAddIRCDMsgs(void) {
|
||||
m = createMessage("SZLINE", NULL); addCoreMessage(IRCD,m);
|
||||
m = createMessage("UNSGLINE", NULL); addCoreMessage(IRCD,m);
|
||||
m = createMessage("UNSZLINE", NULL); addCoreMessage(IRCD,m);
|
||||
m = createMessage("ERROR", anope_event_error); addCoreMessage(IRCD,m);
|
||||
|
||||
}
|
||||
|
||||
/* *INDENT-ON* */
|
||||
@@ -662,7 +665,7 @@ void anope_cmd_part(char *nick, char *chan, const char *fmt, ...)
|
||||
char buf[BUFSIZE];
|
||||
*buf = '\0';
|
||||
|
||||
if (!fmt) {
|
||||
if (fmt) {
|
||||
va_start(args, fmt);
|
||||
vsnprintf(buf, BUFSIZE - 1, fmt, args);
|
||||
va_end(args);
|
||||
@@ -1419,4 +1422,25 @@ void anope_cmd_chg_nick(char *oldnick, char *newnick)
|
||||
send_cmd(oldnick, "NICK %s", newnick);
|
||||
}
|
||||
|
||||
int anope_event_error(char *source, int ac, char **av)
|
||||
{
|
||||
if (ac >= 1) {
|
||||
if (debug) {
|
||||
alog("ERROR: %s", av[0]);
|
||||
}
|
||||
}
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
int anope_event_notice(char *source, int ac, char **av)
|
||||
{
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
int anope_event_sqline(char *source, int ac, char **av)
|
||||
{
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
+3
-2
@@ -143,8 +143,7 @@ int chan_has_user_status(Channel * chan, User * user, int16 status)
|
||||
for (uc = user->chans; uc; uc = uc->next) {
|
||||
if (uc->chan == chan) {
|
||||
if (debug) {
|
||||
alog("chan_has_user_status wanted %d the user is %d",
|
||||
status, uc->status);
|
||||
alog("debug: chan_has_user_status wanted %d the user is %d", status, uc->status);
|
||||
}
|
||||
return (uc->status & status);
|
||||
}
|
||||
@@ -874,6 +873,8 @@ void chan_adduser2(User * user, Channel * c)
|
||||
chan_set_user_status(c, user, CUS_OWNER | CUS_OP);
|
||||
} else if (ircd->protect && check_should_protect(user, chan)) {
|
||||
chan_set_user_status(c, user, CUS_PROTECT | CUS_OP);
|
||||
} else if (ircd->admin && check_should_protect(user, chan)) {
|
||||
chan_set_user_status(c, user, CUS_PROTECT | CUS_OP);
|
||||
} else if (check_should_op(user, chan)) {
|
||||
chan_set_user_status(c, user, CUS_OP);
|
||||
} else if (ircd->halfop && check_should_halfop(user, chan)) {
|
||||
|
||||
+8
-2
@@ -2605,9 +2605,14 @@ static int do_register(User * u)
|
||||
uc->chan = ci;
|
||||
/* Implement new mode lock */
|
||||
check_modes(c);
|
||||
/* On most ircds you do not receive the admin/owner mode till its registered */
|
||||
if (ircd->admin) {
|
||||
anope_cmd_mode(s_ChanServ, chan, "+a %s", u->nick);
|
||||
}
|
||||
if (ircd->owner && ircd->ownerset) {
|
||||
anope_cmd_mode(s_ChanServ, chan, "%s %s", ircd->ownerset,
|
||||
u->nick);
|
||||
}
|
||||
}
|
||||
return MOD_CONT;
|
||||
}
|
||||
@@ -3149,8 +3154,9 @@ static int do_set_mlock(User * u, ChannelInfo * ci, char *param)
|
||||
}
|
||||
}
|
||||
|
||||
/* We can't mlock +K if +i is not mlocked as well. */
|
||||
if (ircd->noknock) {
|
||||
/* Some ircd we can't set NOKNOCK without INVITE */
|
||||
/* So check if we need there is a NOKNOCK MODE and that we need INVITEONLY */
|
||||
if (ircd->noknock && ircd->knock_needs_i) {
|
||||
if ((ci->mlock_on & ircd->noknock) && !(ci->mlock_on & CMODE_i)) {
|
||||
ci->mlock_on &= ~ircd->noknock;
|
||||
notice_lang(s_ChanServ, u, CHAN_SET_MLOCK_K_REQUIRED);
|
||||
|
||||
+5
-5
@@ -398,7 +398,7 @@ Directive directives[] = {
|
||||
{"CSAutokickMax", {{PARAM_POSINT, PARAM_RELOAD, &CSAutokickMax}}},
|
||||
{"CSAutokickReason",
|
||||
{{PARAM_STRING, PARAM_RELOAD, &CSAutokickReason}}},
|
||||
{"CSDefBantype", {{PARAM_POSINT, PARAM_RELOAD, &CSDefBantype}}},
|
||||
{"CSDefBantype", {{PARAM_INT, PARAM_RELOAD, &CSDefBantype}}},
|
||||
{"CSDefNone", {{PARAM_SET, PARAM_RELOAD, &CSDefNone}}},
|
||||
{"CSDefKeepTopic", {{PARAM_SET, PARAM_RELOAD, &CSDefKeepTopic}}},
|
||||
{"CSDefOpNotice", {{PARAM_SET, PARAM_RELOAD, &CSDefOpNotice}}},
|
||||
@@ -462,8 +462,8 @@ Directive directives[] = {
|
||||
{PARAM_STRING, 0, &desc_HelpServ}}},
|
||||
{"HelpServAlias", {{PARAM_STRING, 0, &s_HelpServAlias},
|
||||
{PARAM_STRING, 0, &desc_HelpServAlias}}},
|
||||
{"KeepBackups", {{PARAM_POSINT, PARAM_RELOAD, &KeepBackups}}},
|
||||
{"KeepLogs", {{PARAM_POSINT, PARAM_RELOAD, &KeepLogs}}},
|
||||
{"KeepBackups", {{PARAM_INT, PARAM_RELOAD, &KeepBackups}}},
|
||||
{"KeepLogs", {{PARAM_INT, PARAM_RELOAD, &KeepLogs}}},
|
||||
{"KillClones", {{PARAM_SET, PARAM_FULLONLY, &KillClones}}},
|
||||
{"AddAkiller", {{PARAM_SET, PARAM_RELOAD, &AddAkiller}}},
|
||||
{"KillClonesAkillExpire",
|
||||
@@ -477,7 +477,7 @@ Directive directives[] = {
|
||||
{"SuperAdmin", {{PARAM_SET, PARAM_RELOAD, &SuperAdmin}}},
|
||||
{"LogMaxUsers", {{PARAM_SET, PARAM_RELOAD, &LogMaxUsers}}},
|
||||
{"MailDelay", {{PARAM_TIME, PARAM_RELOAD, &MailDelay}}},
|
||||
{"MaxSessionKill", {{PARAM_POSINT, PARAM_RELOAD, &MaxSessionKill}}},
|
||||
{"MaxSessionKill", {{PARAM_INT, PARAM_RELOAD, &MaxSessionKill}}},
|
||||
{"MaxSessionLimit", {{PARAM_POSINT, PARAM_RELOAD, &MaxSessionLimit}}},
|
||||
{"MemoServName", {{PARAM_STRING, 0, &s_MemoServ},
|
||||
{PARAM_STRING, 0, &desc_MemoServ}}},
|
||||
@@ -536,7 +536,7 @@ Directive directives[] = {
|
||||
{{PARAM_STRING, PARAM_RELOAD, &NSGuestNickPrefix}}},
|
||||
{"NSListMax", {{PARAM_POSINT, PARAM_RELOAD, &NSListMax}}},
|
||||
{"NSListOpersOnly", {{PARAM_SET, PARAM_RELOAD, &NSListOpersOnly}}},
|
||||
{"NSMaxAliases", {{PARAM_POSINT, PARAM_RELOAD, &NSMaxAliases}}},
|
||||
{"NSMaxAliases", {{PARAM_INT, PARAM_RELOAD, &NSMaxAliases}}},
|
||||
{"NSNoGroupChange", {{PARAM_SET, PARAM_RELOAD, &NSNoGroupChange}}},
|
||||
{"NSRegDelay", {{PARAM_TIME, PARAM_RELOAD, &NSRegDelay}}},
|
||||
{"NSReleaseTimeout", {{PARAM_TIME, PARAM_RELOAD, &NSReleaseTimeout}}},
|
||||
|
||||
+4
-3
@@ -87,7 +87,8 @@ IRCDVar ircd[] = {
|
||||
0, /* Mode */
|
||||
0, /* Mode */
|
||||
0,
|
||||
|
||||
1, /* No Knock requires +i */
|
||||
NULL, /* CAPAB Chan Modes */
|
||||
}
|
||||
,
|
||||
{NULL}
|
||||
@@ -122,8 +123,8 @@ IRCDCAPAB ircdcap[] = {
|
||||
0, /* VL */
|
||||
0, /* TLKEXT */
|
||||
0, /* DODKEY */
|
||||
0 /* DOZIP */
|
||||
}
|
||||
0, /* DOZIP */
|
||||
0}
|
||||
};
|
||||
|
||||
void anope_set_umode(User * user, int ac, char **av)
|
||||
|
||||
+61
-18
@@ -40,7 +40,7 @@ IRCDVar ircd[] = {
|
||||
"+io", /* Global alias mode */
|
||||
"+", /* Used by BotServ Bots */
|
||||
3, /* Chan Max Symbols */
|
||||
"-iklmnpstR", /* Modes to Remove */
|
||||
"aiklmnpst", /* Modes to Remove */
|
||||
"+o", /* Channel Umode used by Botserv bots */
|
||||
0, /* SVSNICK */
|
||||
0, /* Vhost */
|
||||
@@ -77,16 +77,18 @@ IRCDVar ircd[] = {
|
||||
0, /* O:LINE */
|
||||
0, /* VHOST ON NICK */
|
||||
0, /* Change RealName */
|
||||
0, /* ChanServ extra */
|
||||
0, /* No Knock */
|
||||
0, /* Admin Only */
|
||||
DEFAULT_MLOCK, /* Default MLOCK */
|
||||
0, /* Vhost Mode */
|
||||
0, /* +f */
|
||||
0, /* +L */
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0, /* ChanServ extra */
|
||||
CMODE_p, /* No Knock */
|
||||
0, /* Admin Only */
|
||||
DEFAULT_MLOCK, /* Default MLOCK */
|
||||
0, /* Vhost Mode */
|
||||
0, /* +f */
|
||||
0, /* +L */
|
||||
0, /* +f Mode */
|
||||
0, /* +L Mode */
|
||||
0, /* On nick change check if they could be identified */
|
||||
0, /* No Knock requires +i */
|
||||
NULL, /* CAPAB Chan Modes */
|
||||
}
|
||||
,
|
||||
{NULL}
|
||||
@@ -121,8 +123,8 @@ IRCDCAPAB ircdcap[] = {
|
||||
0, /* VL */
|
||||
0, /* TLKEXT */
|
||||
0, /* DODKEY */
|
||||
0 /* DOZIP */
|
||||
}
|
||||
0, /* DOZIP */
|
||||
0}
|
||||
};
|
||||
|
||||
|
||||
@@ -545,7 +547,7 @@ void moduleAddIRCDMsgs(void) {
|
||||
m = createMessage("NICK", anope_event_nick); addCoreMessage(IRCD,m);
|
||||
m = createMessage("NOTICE", NULL); addCoreMessage(IRCD,m);
|
||||
m = createMessage("PART", anope_event_part); addCoreMessage(IRCD,m);
|
||||
m = createMessage("PASS", NULL); addCoreMessage(IRCD,m);
|
||||
m = createMessage("PASS", anope_event_pass); addCoreMessage(IRCD,m);
|
||||
m = createMessage("PING", anope_event_ping); addCoreMessage(IRCD,m);
|
||||
m = createMessage("PRIVMSG", anope_event_privmsg); addCoreMessage(IRCD,m);
|
||||
m = createMessage("QUIT", anope_event_quit); addCoreMessage(IRCD,m);
|
||||
@@ -572,7 +574,7 @@ void moduleAddIRCDMsgs(void) {
|
||||
|
||||
m = createMessage("CAPAB", anope_event_capab); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SJOIN", anope_event_sjoin); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SVINFO", NULL); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SVINFO", anope_event_svinfo); addCoreMessage(IRCD,m);
|
||||
|
||||
|
||||
}
|
||||
@@ -639,6 +641,15 @@ void anope_cmd_join(char *user, char *channel, time_t chantime)
|
||||
send_cmd(NULL, "SJOIN %ld %s + :%s", time(NULL), channel, user);
|
||||
}
|
||||
|
||||
/*
|
||||
oper: the nick of the oper performing the kline
|
||||
target.server: the server(s) this kline is destined for
|
||||
duration: the duration if a tkline, 0 if permanent.
|
||||
user: the 'user' portion of the kline
|
||||
host: the 'host' portion of the kline
|
||||
reason: the reason for the kline.
|
||||
*/
|
||||
|
||||
void anope_cmd_akill(char *user, char *host, char *who, time_t when,
|
||||
time_t expires, char *reason)
|
||||
{
|
||||
@@ -685,13 +696,25 @@ void anope_cmd_connect(int servernum)
|
||||
|
||||
anope_cmd_capab();
|
||||
anope_cmd_server(ServerName, 1, ServerDesc);
|
||||
anope_cmd_svsinfo();
|
||||
anope_cmd_svinfo();
|
||||
}
|
||||
|
||||
/* SVSINFO */
|
||||
void anope_cmd_svsinfo()
|
||||
{
|
||||
send_cmd(NULL, "SVSINFO 5 5 0 :%ld", time(NULL));
|
||||
/* not used */
|
||||
}
|
||||
|
||||
/*
|
||||
* SVINFO
|
||||
* parv[0] = sender prefix
|
||||
* parv[1] = TS_CURRENT for the server
|
||||
* parv[2] = TS_MIN for the server
|
||||
* parv[3] = server is standalone or connected to non-TS only
|
||||
* parv[4] = server's idea of UTC time
|
||||
*/
|
||||
void anope_cmd_svinfo()
|
||||
{
|
||||
send_cmd(NULL, "SVINFO 5 5 0 :%ld", time(NULL));
|
||||
}
|
||||
|
||||
/* CAPAB */
|
||||
@@ -1274,4 +1297,24 @@ void anope_cmd_chg_nick(char *oldnick, char *newnick)
|
||||
send_cmd(oldnick, "NICK %s", newnick);
|
||||
}
|
||||
|
||||
/*
|
||||
* SVINFO
|
||||
* parv[0] = sender prefix
|
||||
* parv[1] = TS_CURRENT for the server
|
||||
* parv[2] = TS_MIN for the server
|
||||
* parv[3] = server is standalone or connected to non-TS only
|
||||
* parv[4] = server's idea of UTC time
|
||||
*/
|
||||
int anope_event_svinfo(char *source, int ac, char **av)
|
||||
{
|
||||
/* currently not used but removes the message : unknown message from server */
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
int anope_event_pass(char *source, int ac, char **av)
|
||||
{
|
||||
/* currently not used but removes the message : unknown message from server */
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
+4
-2
@@ -1326,10 +1326,12 @@ static int is_on_access(User * u, NickCore * nc)
|
||||
|
||||
for (i = 0; i < nc->accesscount; i++) {
|
||||
if (match_wild_nocase(nc->access[i], buf)
|
||||
|| (u->vhost ? match_wild_nocase(nc->access[i], buf2) : 0)) {
|
||||
|| (ircd->vhost ? match_wild_nocase(nc->access[i], buf2) : 0)) {
|
||||
free(buf);
|
||||
if (ircd->vhost) {
|
||||
free(buf2);
|
||||
if (u->vhost) {
|
||||
free(buf2);
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
+4
-3
@@ -87,7 +87,8 @@ IRCDVar ircd[] = {
|
||||
CMODE_f,
|
||||
0,
|
||||
1,
|
||||
|
||||
1, /* No Knock requires +i */
|
||||
NULL, /* CAPAB Chan Modes */
|
||||
}
|
||||
,
|
||||
{NULL}
|
||||
@@ -122,8 +123,8 @@ IRCDCAPAB ircdcap[] = {
|
||||
0, /* VL */
|
||||
0, /* TLKEXT */
|
||||
0, /* DODKEY */
|
||||
0 /* DOZIP */
|
||||
}
|
||||
0, /* DOZIP */
|
||||
0}
|
||||
};
|
||||
|
||||
|
||||
|
||||
+62
-13
@@ -87,7 +87,8 @@ IRCDVar ircd[] = {
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
|
||||
0, /* No Knock requires +i */
|
||||
NULL, /* CAPAB Chan Modes */
|
||||
},
|
||||
{NULL}
|
||||
};
|
||||
@@ -121,8 +122,8 @@ IRCDCAPAB ircdcap[] = {
|
||||
0, /* VL */
|
||||
0, /* TLKEXT */
|
||||
0, /* DODKEY */
|
||||
0 /* DOZIP */
|
||||
}
|
||||
0, /* DOZIP */
|
||||
0}
|
||||
};
|
||||
|
||||
|
||||
@@ -441,9 +442,9 @@ void moduleAddIRCDMsgs(void) {
|
||||
m = createMessage("MODE", anope_event_mode); addCoreMessage(IRCD,m);
|
||||
m = createMessage("MOTD", anope_event_motd); addCoreMessage(IRCD,m);
|
||||
m = createMessage("NICK", anope_event_nick); addCoreMessage(IRCD,m);
|
||||
m = createMessage("NOTICE", NULL); addCoreMessage(IRCD,m);
|
||||
m = createMessage("NOTICE", anope_event_notice); addCoreMessage(IRCD,m);
|
||||
m = createMessage("PART", anope_event_part); addCoreMessage(IRCD,m);
|
||||
m = createMessage("PASS", NULL); addCoreMessage(IRCD,m);
|
||||
m = createMessage("PASS", anope_event_pass); addCoreMessage(IRCD,m);
|
||||
m = createMessage("PING", anope_event_ping); addCoreMessage(IRCD,m);
|
||||
m = createMessage("PRIVMSG", anope_event_privmsg); addCoreMessage(IRCD,m);
|
||||
m = createMessage("QUIT", anope_event_quit); addCoreMessage(IRCD,m);
|
||||
@@ -453,11 +454,8 @@ void moduleAddIRCDMsgs(void) {
|
||||
m = createMessage("USER", NULL); addCoreMessage(IRCD,m);
|
||||
m = createMessage("WALLOPS", NULL); addCoreMessage(IRCD,m);
|
||||
m = createMessage("WHOIS", anope_event_whois); addCoreMessage(IRCD,m);
|
||||
|
||||
/* DALnet specific messages */
|
||||
m = createMessage("AKILL", NULL); addCoreMessage(IRCD,m);
|
||||
m = createMessage("GLOBOPS", NULL); addCoreMessage(IRCD,m);
|
||||
m = createMessage("GNOTICE", NULL); addCoreMessage(IRCD,m);
|
||||
m = createMessage("GOPER", NULL); addCoreMessage(IRCD,m);
|
||||
m = createMessage("RAKILL", NULL); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SILENCE", NULL); addCoreMessage(IRCD,m);
|
||||
@@ -465,9 +463,8 @@ void moduleAddIRCDMsgs(void) {
|
||||
m = createMessage("SVSMODE", NULL); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SVSNICK", NULL); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SVSNOOP", NULL); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SQLINE", NULL); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SQLINE", anope_event_sqline); addCoreMessage(IRCD,m);
|
||||
m = createMessage("UNSQLINE", NULL); addCoreMessage(IRCD,m);
|
||||
|
||||
m = createMessage("CAPAB", anope_event_capab); addCoreMessage(IRCD,m);
|
||||
m = createMessage("CS", anope_event_cs); addCoreMessage(IRCD,m);
|
||||
m = createMessage("HS", anope_event_hs); addCoreMessage(IRCD,m);
|
||||
@@ -478,12 +475,14 @@ void moduleAddIRCDMsgs(void) {
|
||||
m = createMessage("SGLINE", NULL); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SJOIN", anope_event_sjoin); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SS", NULL); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SVINFO", NULL); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SVINFO", anope_event_svinfo); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SZLINE", NULL); addCoreMessage(IRCD,m);
|
||||
m = createMessage("UNSGLINE", NULL); addCoreMessage(IRCD,m);
|
||||
m = createMessage("UNSZLINE", NULL); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SNICK", anope_event_snick); addCoreMessage(IRCD,m);
|
||||
m = createMessage("VHOST", anope_event_vhost); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SNICK", anope_event_snick); addCoreMessage(IRCD,m);
|
||||
m = createMessage("VHOST", anope_event_vhost); addCoreMessage(IRCD,m);
|
||||
m = createMessage("MYID", anope_event_myid); addCoreMessage(IRCD,m);
|
||||
m = createMessage("GNOTICE", anope_event_notice); addCoreMessage(IRCD,m);
|
||||
}
|
||||
|
||||
/* *INDENT-ON* */
|
||||
@@ -1392,5 +1391,55 @@ void anope_cmd_chg_nick(char *oldnick, char *newnick)
|
||||
send_cmd(oldnick, "NICK %s", newnick);
|
||||
}
|
||||
|
||||
int anope_event_myid(char *source, int ac, char **av)
|
||||
{
|
||||
/* currently not used but removes the message : unknown message from server */
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
int anope_event_pass(char *source, int ac, char **av)
|
||||
{
|
||||
/* currently not used but removes the message : unknown message from server */
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
/*
|
||||
* SVINFO
|
||||
* parv[0] = sender prefix
|
||||
*
|
||||
* if (parc == 2)
|
||||
* parv[1] = ZIP (compression initialisation)
|
||||
*
|
||||
* if (parc > 2)
|
||||
* parv[1] = TS_CURRENT
|
||||
* parv[2] = TS_MIN
|
||||
* parv[3] = standalone or connected to non-TS (unused)
|
||||
* parv[4] = UTC time
|
||||
* parv[5] = ircd codename
|
||||
* parv[6] = masking keys
|
||||
*/
|
||||
int anope_event_svinfo(char *source, int ac, char **av)
|
||||
{
|
||||
/* currently not used but removes the message : unknown message from server */
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
int anope_event_gnotice(char *source, int ac, char **av)
|
||||
{
|
||||
/* currently not used but removes the message : unknown message from server */
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
int anope_event_notice(char *source, int ac, char **av)
|
||||
{
|
||||
/* currently not used but removes the message : unknown message from server */
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
int anope_event_sqline(char *source, int ac, char **av)
|
||||
{
|
||||
/* currently not used but removes the message : unknown message from server */
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
+55
-24
@@ -204,8 +204,13 @@ void do_server(const char *source, int ac, char **av)
|
||||
{
|
||||
Server *s;
|
||||
|
||||
if (debug)
|
||||
alog("debug: Server introduced (%s) from %s", av[0], source);
|
||||
if (debug) {
|
||||
if (!*source) {
|
||||
alog("debug: Server introduced (%s)", av[0]);
|
||||
} else {
|
||||
alog("debug: Server introduced (%s) from %s", av[0], source);
|
||||
}
|
||||
}
|
||||
|
||||
if (source[0] == '\0')
|
||||
s = me_server;
|
||||
@@ -263,77 +268,103 @@ void do_squit(const char *source, int ac, char **av)
|
||||
void capab_parse(int ac, char **av)
|
||||
{
|
||||
int i;
|
||||
char *s, *tmp;
|
||||
|
||||
char *temp;
|
||||
|
||||
for (i = 0; i < ac; i++) {
|
||||
if (!stricmp(av[i], "NOQUIT")) {
|
||||
temp = av[i];
|
||||
|
||||
s = myStrGetToken(temp, '=', 0);
|
||||
tmp = myStrGetTokenRemainder(temp, '=', 1);
|
||||
|
||||
if (!s) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!stricmp(s, "NOQUIT")) {
|
||||
uplink_capab |= CAPAB_NOQUIT;
|
||||
}
|
||||
if (!stricmp(av[i], "TSMODE")) {
|
||||
if (!stricmp(s, "TSMODE")) {
|
||||
uplink_capab |= CAPAB_TSMODE;
|
||||
}
|
||||
if (!stricmp(av[i], "UNCONNECT")) {
|
||||
uplink_capab |= CAPAB_UNCONNECT;
|
||||
}
|
||||
if (!stricmp(av[i], "NICKIP")) {
|
||||
if (!stricmp(s, "NICKIP")) {
|
||||
uplink_capab |= CAPAB_NICKIP;
|
||||
}
|
||||
if (!stricmp(av[i], "SSJOIN")) {
|
||||
if (!stricmp(s, "SSJOIN")) {
|
||||
uplink_capab |= CAPAB_NSJOIN;
|
||||
}
|
||||
if (!stricmp(av[i], "ZIP")) {
|
||||
if (!stricmp(s, "ZIP")) {
|
||||
uplink_capab |= CAPAB_ZIP;
|
||||
}
|
||||
if (!stricmp(av[i], "BURST")) {
|
||||
if (!stricmp(s, "BURST")) {
|
||||
uplink_capab |= CAPAB_BURST;
|
||||
}
|
||||
if (!stricmp(av[i], "TS5")) {
|
||||
if (!stricmp(s, "TS5")) {
|
||||
uplink_capab |= CAPAB_TS5;
|
||||
}
|
||||
if (!stricmp(av[i], "TS3")) {
|
||||
if (!stricmp(s, "TS3")) {
|
||||
uplink_capab |= CAPAB_TS3;
|
||||
}
|
||||
if (!stricmp(av[i], "DKEY")) {
|
||||
if (!stricmp(s, "DKEY")) {
|
||||
uplink_capab |= CAPAB_DKEY;
|
||||
}
|
||||
if (!stricmp(av[i], "PT4")) {
|
||||
if (!stricmp(s, "PT4")) {
|
||||
uplink_capab |= CAPAB_PT4;
|
||||
}
|
||||
if (!stricmp(av[i], "SCS")) {
|
||||
if (!stricmp(s, "SCS")) {
|
||||
uplink_capab |= CAPAB_SCS;
|
||||
}
|
||||
if (!stricmp(av[i], "QS")) {
|
||||
if (!stricmp(s, "QS")) {
|
||||
uplink_capab |= CAPAB_QS;
|
||||
}
|
||||
if (!stricmp(av[i], "UID")) {
|
||||
if (!stricmp(s, "UID")) {
|
||||
uplink_capab |= CAPAB_UID;
|
||||
}
|
||||
if (!stricmp(av[i], "KNOCK")) {
|
||||
if (!stricmp(s, "KNOCK")) {
|
||||
uplink_capab |= CAPAB_KNOCK;
|
||||
}
|
||||
if (!stricmp(av[i], "CLIENT")) {
|
||||
if (!stricmp(s, "CLIENT")) {
|
||||
uplink_capab |= CAPAB_CLIENT;
|
||||
}
|
||||
if (!stricmp(av[i], "IPV6")) {
|
||||
if (!stricmp(s, "IPV6")) {
|
||||
uplink_capab |= CAPAB_IPV6;
|
||||
}
|
||||
if (!stricmp(av[i], "SSJ5")) {
|
||||
if (!stricmp(s, "SSJ5")) {
|
||||
uplink_capab |= CAPAB_SSJ5;
|
||||
}
|
||||
if (!stricmp(av[i], "SN2")) {
|
||||
if (!stricmp(s, "SN2")) {
|
||||
uplink_capab |= CAPAB_SN2;
|
||||
}
|
||||
if (!stricmp(av[i], "TOK1")) {
|
||||
if (!stricmp(s, "TOK1")) {
|
||||
uplink_capab |= CAPAB_TOKEN;
|
||||
}
|
||||
if (!stricmp(av[i], "TOKEN")) {
|
||||
if (!stricmp(s, "TOKEN")) {
|
||||
uplink_capab |= CAPAB_TOKEN;
|
||||
}
|
||||
if (!stricmp(av[i], "VHOST")) {
|
||||
if (!stricmp(s, "VHOST")) {
|
||||
uplink_capab |= CAPAB_VHOST;
|
||||
}
|
||||
if (!stricmp(av[i], "SSJ3")) {
|
||||
if (!stricmp(s, "SSJ3")) {
|
||||
uplink_capab |= CAPAB_SSJ3;
|
||||
}
|
||||
|
||||
if (!stricmp(s, "CHANMODES")) {
|
||||
uplink_capab |= CAPAB_CHANMODE;
|
||||
if (tmp) {
|
||||
ircd->chanmodes = tmp;
|
||||
}
|
||||
}
|
||||
if (s) {
|
||||
free(s);
|
||||
}
|
||||
if (tmp) {
|
||||
free(tmp);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+33
-10
@@ -87,7 +87,8 @@ IRCDVar ircd[] = {
|
||||
CMODE_f,
|
||||
CMODE_L,
|
||||
0,
|
||||
|
||||
1, /* No Knock requires +i */
|
||||
NULL, /* CAPAB Chan Modes */
|
||||
}
|
||||
,
|
||||
{NULL}
|
||||
@@ -110,7 +111,7 @@ IRCDCAPAB ircdcap[] = {
|
||||
0, /* SCS */
|
||||
0, /* QS */
|
||||
0, /* UID */
|
||||
0, /* KNOCK */
|
||||
CAPAB_KNOCK, /* KNOCK */
|
||||
0, /* CLIENT */
|
||||
0, /* IPV6 */
|
||||
0, /* SSJ5 */
|
||||
@@ -123,7 +124,8 @@ IRCDCAPAB ircdcap[] = {
|
||||
0, /* VL */
|
||||
0, /* TLKEXT */
|
||||
0, /* DODKEY */
|
||||
0 /* DOZIP */
|
||||
0, /* DOZIP */
|
||||
CAPAB_CHANMODE /* CHANMODE */
|
||||
}
|
||||
};
|
||||
|
||||
@@ -569,9 +571,9 @@ void moduleAddIRCDMsgs(void) {
|
||||
m = createMessage("MODE", anope_event_mode); addCoreMessage(IRCD,m);
|
||||
m = createMessage("MOTD", anope_event_motd); addCoreMessage(IRCD,m);
|
||||
m = createMessage("NICK", anope_event_nick); addCoreMessage(IRCD,m);
|
||||
m = createMessage("NOTICE", NULL); addCoreMessage(IRCD,m);
|
||||
m = createMessage("NOTICE", anope_event_notice); addCoreMessage(IRCD,m);
|
||||
m = createMessage("PART", anope_event_part); addCoreMessage(IRCD,m);
|
||||
m = createMessage("PASS", NULL); addCoreMessage(IRCD,m);
|
||||
m = createMessage("PASS", anope_event_pass); addCoreMessage(IRCD,m);
|
||||
m = createMessage("PING", anope_event_ping); addCoreMessage(IRCD,m);
|
||||
m = createMessage("PRIVMSG", anope_event_privmsg); addCoreMessage(IRCD,m);
|
||||
m = createMessage("QUIT", anope_event_quit); addCoreMessage(IRCD,m);
|
||||
@@ -581,8 +583,6 @@ void moduleAddIRCDMsgs(void) {
|
||||
m = createMessage("USER", NULL); addCoreMessage(IRCD,m);
|
||||
m = createMessage("WALLOPS", NULL); addCoreMessage(IRCD,m);
|
||||
m = createMessage("WHOIS", anope_event_whois); addCoreMessage(IRCD,m);
|
||||
|
||||
/* DALnet specific messages */
|
||||
m = createMessage("AKILL", NULL); addCoreMessage(IRCD,m);
|
||||
m = createMessage("GLOBOPS", NULL); addCoreMessage(IRCD,m);
|
||||
m = createMessage("GNOTICE", NULL); addCoreMessage(IRCD,m);
|
||||
@@ -595,16 +595,16 @@ void moduleAddIRCDMsgs(void) {
|
||||
m = createMessage("SVSNOOP", NULL); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SQLINE", NULL); addCoreMessage(IRCD,m);
|
||||
m = createMessage("UNSQLINE", NULL); addCoreMessage(IRCD,m);
|
||||
|
||||
m = createMessage("PROTOCTL", anope_event_capab); addCoreMessage(IRCD,m);
|
||||
m = createMessage("CHGHOST", anope_event_chghost); addCoreMessage(IRCD,m);
|
||||
m = createMessage("CHGIDENT", anope_event_chgident); addCoreMessage(IRCD,m);
|
||||
m = createMessage("CHGNAME", anope_event_chgname); addCoreMessage(IRCD,m);
|
||||
m = createMessage("NETINFO", NULL); addCoreMessage(IRCD,m);
|
||||
m = createMessage("NETINFO", anope_event_netinfo); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SNETINFO", anope_event_snetinfo); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SETHOST", anope_event_sethost); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SETIDENT", anope_event_setident); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SETNAME", anope_event_setname); addCoreMessage(IRCD,m);
|
||||
m = createMessage("VCTRL", NULL); addCoreMessage(IRCD,m);
|
||||
m = createMessage("VCTRL", anope_event_vctrl); addCoreMessage(IRCD,m);
|
||||
}
|
||||
|
||||
/* *INDENT-ON* */
|
||||
@@ -1427,6 +1427,29 @@ void anope_cmd_svid_umode3(User * u, char *ts)
|
||||
// not used
|
||||
}
|
||||
|
||||
int anope_event_notice(char *source, int ac, char **av)
|
||||
{
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
int anope_event_pass(char *source, int ac, char **av)
|
||||
{
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
int anope_event_vctrl(char *source, int ac, char **av)
|
||||
{
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
int anope_event_netinfo(char *source, int ac, char **av)
|
||||
{
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
int anope_event_snetinfo(char *source, int ac, char **av)
|
||||
{
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
+49
-11
@@ -84,9 +84,13 @@ IRCDVar ircd[] = {
|
||||
UMODE_x, /* Vhost Mode */
|
||||
0, /* +f */
|
||||
0, /* +L */
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0, /* +f Mode */
|
||||
0, /* +L Mode */
|
||||
1, /* On nick change check if they could be identified */
|
||||
1, /* No Knock requires +i */
|
||||
NULL, /* CAPAB Chan Modes */
|
||||
1, /* No Knock requires +i */
|
||||
NULL, /* CAPAB Chan Modes */
|
||||
},
|
||||
{NULL}
|
||||
};
|
||||
@@ -120,8 +124,8 @@ IRCDCAPAB ircdcap[] = {
|
||||
0, /* VL */
|
||||
0, /* TLKEXT */
|
||||
CAPAB_DODKEY, /* DODKEY */
|
||||
CAPAB_DOZIP /* DOZIP */
|
||||
}
|
||||
CAPAB_DOZIP, /* DOZIP */
|
||||
0}
|
||||
};
|
||||
|
||||
void anope_set_umode(User * user, int ac, char **av)
|
||||
@@ -538,9 +542,9 @@ void moduleAddIRCDMsgs(void) {
|
||||
m = createMessage("MODE", anope_event_mode); addCoreMessage(IRCD,m);
|
||||
m = createMessage("MOTD", anope_event_motd); addCoreMessage(IRCD,m);
|
||||
m = createMessage("NICK", anope_event_nick); addCoreMessage(IRCD,m);
|
||||
m = createMessage("NOTICE", NULL); addCoreMessage(IRCD,m);
|
||||
m = createMessage("NOTICE", anope_event_notice); addCoreMessage(IRCD,m);
|
||||
m = createMessage("PART", anope_event_part); addCoreMessage(IRCD,m);
|
||||
m = createMessage("PASS", NULL); addCoreMessage(IRCD,m);
|
||||
m = createMessage("PASS", anope_event_pass); addCoreMessage(IRCD,m);
|
||||
m = createMessage("PING", anope_event_ping); addCoreMessage(IRCD,m);
|
||||
m = createMessage("PRIVMSG", anope_event_privmsg); addCoreMessage(IRCD,m);
|
||||
m = createMessage("QUIT", anope_event_quit); addCoreMessage(IRCD,m);
|
||||
@@ -552,7 +556,7 @@ void moduleAddIRCDMsgs(void) {
|
||||
m = createMessage("WHOIS", anope_event_whois); addCoreMessage(IRCD,m);
|
||||
m = createMessage("AKILL", NULL); addCoreMessage(IRCD,m);
|
||||
m = createMessage("GLOBOPS", NULL); addCoreMessage(IRCD,m);
|
||||
m = createMessage("GNOTICE", NULL); addCoreMessage(IRCD,m);
|
||||
m = createMessage("GNOTICE", anope_event_gnotice); addCoreMessage(IRCD,m);
|
||||
m = createMessage("GOPER", NULL); addCoreMessage(IRCD,m);
|
||||
m = createMessage("RAKILL", NULL); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SILENCE", NULL); addCoreMessage(IRCD,m);
|
||||
@@ -560,7 +564,7 @@ void moduleAddIRCDMsgs(void) {
|
||||
m = createMessage("SVSMODE", NULL); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SVSNICK", NULL); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SVSNOOP", NULL); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SQLINE", NULL); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SQLINE", anope_event_sqline); addCoreMessage(IRCD,m);
|
||||
m = createMessage("UNSQLINE", NULL); addCoreMessage(IRCD,m);
|
||||
m = createMessage("CAPAB", anope_event_capab); addCoreMessage(IRCD,m);
|
||||
m = createMessage("CS", anope_event_cs); addCoreMessage(IRCD,m);
|
||||
@@ -572,7 +576,7 @@ void moduleAddIRCDMsgs(void) {
|
||||
m = createMessage("SGLINE", NULL); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SJOIN", anope_event_sjoin); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SS", NULL); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SVINFO", NULL); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SVINFO", anope_event_svinfo); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SZLINE", NULL); addCoreMessage(IRCD,m);
|
||||
m = createMessage("UNSGLINE", NULL); addCoreMessage(IRCD,m);
|
||||
m = createMessage("UNSZLINE", NULL); addCoreMessage(IRCD,m);
|
||||
@@ -581,7 +585,7 @@ void moduleAddIRCDMsgs(void) {
|
||||
m = createMessage("GCONNECT", NULL); addCoreMessage(IRCD,m);
|
||||
m = createMessage("NETGLOBAL", NULL); addCoreMessage(IRCD,m);
|
||||
m = createMessage("CHATOPS", NULL); addCoreMessage(IRCD,m);
|
||||
m = createMessage("NETCTRL", NULL); addCoreMessage(IRCD,m);
|
||||
m = createMessage("NETCTRL", anope_event_netctrl); addCoreMessage(IRCD,m);
|
||||
m = createMessage("CLIENT", anope_event_client); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SMODE", NULL); addCoreMessage(IRCD,m);
|
||||
}
|
||||
@@ -1539,6 +1543,40 @@ void anope_cmd_svid_umode3(User * u, char *ts)
|
||||
|
||||
}
|
||||
|
||||
int anope_event_svinfo(char *source, int ac, char **av)
|
||||
{
|
||||
/* currently not used but removes the message : unknown message from server */
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
int anope_event_pass(char *source, int ac, char **av)
|
||||
{
|
||||
/* currently not used but removes the message : unknown message from server */
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
int anope_event_gnotice(char *source, int ac, char **av)
|
||||
{
|
||||
/* currently not used but removes the message : unknown message from server */
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
int anope_event_netctrl(char *source, int ac, char **av)
|
||||
{
|
||||
/* currently not used but removes the message : unknown message from server */
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
int anope_event_notice(char *source, int ac, char **av)
|
||||
{
|
||||
/* currently not used but removes the message : unknown message from server */
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
int anope_event_sqline(char *source, int ac, char **av)
|
||||
{
|
||||
/* currently not used but removes the message : unknown message from server */
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
+6
-5
@@ -63,7 +63,7 @@ IRCDVar ircd[] = {
|
||||
1, /* TS Topic Forward */
|
||||
0, /* TS Topci Backward */
|
||||
0, /* Protected Umode */
|
||||
1, /* Has Admin */
|
||||
0, /* Has Admin */
|
||||
0, /* Chan SQlines */
|
||||
0, /* Quit on Kill */
|
||||
0, /* SVSMODE unban */
|
||||
@@ -89,7 +89,8 @@ IRCDVar ircd[] = {
|
||||
CMODE_f,
|
||||
CMODE_L,
|
||||
0,
|
||||
|
||||
1, /* No Knock requires +i */
|
||||
NULL, /* CAPAB Chan Modes */
|
||||
},
|
||||
{NULL}
|
||||
};
|
||||
@@ -124,8 +125,8 @@ IRCDCAPAB ircdcap[] = {
|
||||
CAPAB_VL, /* VL */
|
||||
CAPAB_TLKEXT, /* TLKEXT */
|
||||
0, /* DODKEY */
|
||||
0 /* DOZIP */
|
||||
}
|
||||
0, /* DOZIP */
|
||||
0}
|
||||
};
|
||||
|
||||
unsigned long umodes[128] = {
|
||||
@@ -512,7 +513,7 @@ void anope_cmd_svskill(char *source, char *user, const char *fmt, ...)
|
||||
vsnprintf(buf, sizeof(buf), fmt, args);
|
||||
va_end(args);
|
||||
|
||||
send_cmd(source, "KILL %s :%s", user, buf);
|
||||
send_cmd(source, "SVSKILL %s :%s", user, buf);
|
||||
}
|
||||
|
||||
void anope_cmd_svsmode(User * u, int ac, char **av)
|
||||
|
||||
+34
-10
@@ -63,7 +63,7 @@ IRCDVar ircd[] = {
|
||||
1, /* TS Topic Forward */
|
||||
0, /* TS Topci Backward */
|
||||
0, /* Protected Umode */
|
||||
1, /* Has Admin */
|
||||
0, /* Has Admin */
|
||||
0, /* Chan SQlines */
|
||||
0, /* Quit on Kill */
|
||||
0, /* SVSMODE unban */
|
||||
@@ -86,10 +86,11 @@ IRCDVar ircd[] = {
|
||||
UMODE_x, /* Vhost Mode */
|
||||
1, /* +f */
|
||||
1, /* +L */
|
||||
CMODE_f,
|
||||
CMODE_L,
|
||||
0,
|
||||
|
||||
CMODE_f, /* +f Mode */
|
||||
CMODE_L, /* +L Mode */
|
||||
0, /* On nick change check if they could be identified */
|
||||
1, /* No Knock requires +i */
|
||||
NULL, /* CAPAB Chan Modes */
|
||||
},
|
||||
{NULL}
|
||||
};
|
||||
@@ -123,7 +124,8 @@ IRCDCAPAB ircdcap[] = {
|
||||
CAPAB_VL, /* VL */
|
||||
CAPAB_TLKEXT, /* TLKEXT */
|
||||
0, /* DODKEY */
|
||||
0 /* DOZIP */
|
||||
0, /* DOZIP */
|
||||
CAPAB_CHANMODE, /* CHANMODE */
|
||||
}
|
||||
};
|
||||
|
||||
@@ -229,7 +231,7 @@ CBMode cbmodes[128] = {
|
||||
{CMODE_Q, 0, NULL, NULL},
|
||||
{CMODE_R, 0, NULL, NULL}, /* R */
|
||||
{CMODE_S, 0, NULL, NULL},
|
||||
{0}, /* T */
|
||||
{CMODE_T, 0, NULL, NULL}, /* T */
|
||||
{0}, /* U */
|
||||
{CMODE_V, 0, NULL, NULL},
|
||||
{0}, /* W */
|
||||
@@ -291,6 +293,7 @@ CBModeInfo cbmodeinfos[] = {
|
||||
{'Q', CMODE_Q, 0, NULL, NULL},
|
||||
{'R', CMODE_R, 0, NULL, NULL},
|
||||
{'S', CMODE_S, 0, NULL, NULL},
|
||||
{'T', CMODE_T, 0, NULL, NULL},
|
||||
{'V', CMODE_V, 0, NULL, NULL},
|
||||
{0}
|
||||
};
|
||||
@@ -415,9 +418,8 @@ void moduleAddIRCDMsgs(void) {
|
||||
m = createMessage("MODE", anope_event_mode); addCoreMessage(IRCD,m);
|
||||
m = createMessage("MOTD", anope_event_motd); addCoreMessage(IRCD,m);
|
||||
m = createMessage("NICK", anope_event_nick); addCoreMessage(IRCD,m);
|
||||
m = createMessage("NOTICE", NULL); addCoreMessage(IRCD,m);
|
||||
m = createMessage("NOTICE", anope_event_notice); addCoreMessage(IRCD,m);
|
||||
m = createMessage("PART", anope_event_part); addCoreMessage(IRCD,m);
|
||||
m = createMessage("PASS", NULL); addCoreMessage(IRCD,m);
|
||||
m = createMessage("PING", anope_event_ping); addCoreMessage(IRCD,m);
|
||||
m = createMessage("PRIVMSG", anope_event_privmsg); addCoreMessage(IRCD,m);
|
||||
m = createMessage("QUIT", anope_event_quit); addCoreMessage(IRCD,m);
|
||||
@@ -450,6 +452,8 @@ void moduleAddIRCDMsgs(void) {
|
||||
m = createMessage("TKL", anope_event_tkl); addCoreMessage(IRCD,m);
|
||||
m = createMessage("EOS", anope_event_eos); addCoreMessage(IRCD,m);
|
||||
m = createMessage("PASS", anope_event_pass); addCoreMessage(IRCD,m);
|
||||
m = createMessage("ERROR", anope_event_error); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SMO", anope_event_smo); addCoreMessage(IRCD,m);
|
||||
}
|
||||
|
||||
/* *INDENT-ON* */
|
||||
@@ -509,7 +513,7 @@ void anope_cmd_svskill(char *source, char *user, const char *fmt, ...)
|
||||
return;
|
||||
}
|
||||
|
||||
send_cmd(source, "KILL %s :%s", user, buf);
|
||||
send_cmd(source, "SVSKILL %s :%s", user, buf);
|
||||
}
|
||||
|
||||
void anope_cmd_svsmode(User * u, int ac, char **av)
|
||||
@@ -1544,4 +1548,24 @@ void anope_cmd_svid_umode3(User * u, char *ts)
|
||||
// not used
|
||||
}
|
||||
|
||||
int anope_event_error(char *source, int ac, char **av)
|
||||
{
|
||||
if (av[0]) {
|
||||
if (debug) {
|
||||
alog("ERROR: %s", av[0]);
|
||||
}
|
||||
}
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
int anope_event_notice(char *source, int ac, char **av)
|
||||
{
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
int anope_event_smo(char *source, int ac, char **av)
|
||||
{
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
+4
-3
@@ -87,7 +87,8 @@ IRCDVar ircd[] = {
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
|
||||
1, /* No Knock requires +i */
|
||||
NULL, /* CAPAB Chan Modes */
|
||||
}
|
||||
,
|
||||
{NULL}
|
||||
@@ -123,8 +124,8 @@ IRCDCAPAB ircdcap[] = {
|
||||
0, /* VL */
|
||||
0, /* TLKEXT */
|
||||
CAPAB_DODKEY, /* DODKEY */
|
||||
CAPAB_DOZIP /* DOZIP */
|
||||
}
|
||||
CAPAB_DOZIP, /* DOZIP */
|
||||
0}
|
||||
};
|
||||
|
||||
|
||||
|
||||
+5
-1
@@ -8,10 +8,14 @@
|
||||
VERSION_MAJOR="1"
|
||||
VERSION_MINOR="7"
|
||||
VERSION_PATCH="5"
|
||||
VERSION_BUILD="338"
|
||||
VERSION_BUILD="340"
|
||||
|
||||
# $Log$
|
||||
#
|
||||
# BUILD : 1.7.5 (340)
|
||||
# BUGS : none
|
||||
# NOTES : Applied patch 830 provided by Trystan to resolve several issues.
|
||||
#
|
||||
# BUILD : 1.7.5 (338)
|
||||
# BUGS : N/A
|
||||
# NOTES : Ran autoconf, as configure.in was changed in a previous commit
|
||||
|
||||
Reference in New Issue
Block a user