mirror of
https://github.com/anope/anope.git
synced 2026-07-09 04:03:13 +02:00
Merge commit 'cbx/anopeng-uid' into anopeng-uid
Conflicts: include/extern.h include/services.h src/protocol/bahamut.c src/protocol/inspircd11.c git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@1320 5417fbe8-f217-4b02-8779-1006273d7864
This commit is contained in:
@@ -11,6 +11,7 @@ Anope Version S V N
|
||||
09/30 F Fixed OS IGNORE behaviour. [#941]
|
||||
09/30 F Fixed error in the SASET help. [#950]
|
||||
10/01 F Fixed an error in the OS IGNORE documentation. [#948]
|
||||
10/01 F Fixed DB routines not storing nick passwords properly. [#940]
|
||||
|
||||
Provided by Robin Burchell <w00t@inspircd.org> - 2008
|
||||
09/22 F Enabled UMODE functionality for InspIRCd 1.1 [ #00]
|
||||
|
||||
@@ -41,6 +41,9 @@ Highlighted News in Anope 1.7 (and soon 1.8)
|
||||
* Removed proxy detector (see docs/PROXY).
|
||||
* Fixed various exploits and vulnerabilities.
|
||||
* Fixed various language typos and inconsistencies.
|
||||
* Fixed a bug in the database system causing nickserv passwords
|
||||
to be saved incorrectly. Note that this breaks backwards
|
||||
compatibility on nick.db !!!
|
||||
|
||||
Highlighted News in Anope 1.6
|
||||
=============================
|
||||
|
||||
@@ -1176,74 +1176,6 @@ E void anope_cmd_svswatch(const char *sender, const char *nick, const char *parm
|
||||
E void anope_SendCTCP(const char *source, const char *dest, const char *fmt, ...); /* CTCP */
|
||||
E void anope_SendNumeric(const char *, int, const char *, const char *, ...) FORMAT(printf, 4, 5); /* Numerics */
|
||||
|
||||
EI int anope_event_482(const char *source, int ac, const char **av);
|
||||
EI int anope_event_436(const char *source, int ac, const char **av);
|
||||
EI int anope_event_away(const char *source, int ac, const char **av);
|
||||
EI int anope_event_ping(const char *source, int ac, const char **av);
|
||||
EI int anope_event_motd(const char *source, int ac, const char **av);
|
||||
EI int anope_event_join(const char *source, int ac, const char **av);
|
||||
EI int anope_event_kick(const char *source, int ac, const char **av);
|
||||
EI int anope_event_kill(const char *source, int ac, const char **av);
|
||||
EI int anope_event_mode(const char *source, int ac, const char **av);
|
||||
EI int anope_event_tmode(const char *source, int ac, const char **av);
|
||||
EI int anope_event_quit(const char *source, int ac, const char **av);
|
||||
EI int anope_event_squit(const char *source, int ac, const char **av);
|
||||
EI int anope_event_topic(const char *source, int ac, const char **av);
|
||||
EI int anope_event_whois(const char *source, int ac, const char **av);
|
||||
EI int anope_event_part(const char *source, int ac, const char **av);
|
||||
EI int anope_event_server(const char *source, int ac, const char **av);
|
||||
EI int anope_event_sid(const char *source, int ac, const char **av);
|
||||
EI int anope_event_nick(const char *source, int ac, const char **av);
|
||||
EI int anope_event_bmask(const char *source, int ac, const char **av);
|
||||
EI int anope_event_gnotice(const char *source, int ac, const char **av);
|
||||
EI int anope_event_privmsg(const char *source, int ac, const char **av);
|
||||
EI int anope_event_capab(const char *source, int ac, const char **av);
|
||||
EI int anope_event_sjoin(const char *source, int ac, const char **av);
|
||||
EI int anope_event_cs(const char *source, int ac, const char **av);
|
||||
EI int anope_event_hs(const char *source, int ac, const char **av);
|
||||
EI int anope_event_ms(const char *source, int ac, const char **av);
|
||||
EI int anope_event_ns(const char *source, int ac, const char **av);
|
||||
EI int anope_event_os(const char *source, int ac, const char **av);
|
||||
EI int anope_event_vs(const char *source, int ac, const char **av);
|
||||
EI int anope_event_svinfo(const char *source, int ac, const char **av);
|
||||
EI int anope_event_chghost(const char *source, int ac, const char **av);
|
||||
EI int anope_event_sethost(const char *source, int ac, const char **av);
|
||||
EI int anope_event_chgident(const char *source, int ac, const char **av);
|
||||
EI int anope_event_setident(const char *source, int ac, const char **av);
|
||||
EI int anope_event_chgname(const char *source, int ac, const char **av);
|
||||
EI int anope_event_setname(const char *source, int ac, const char **av);
|
||||
EI int anope_event_svsinfo(const char *source, int ac, const char **av);
|
||||
EI int anope_event_snick(const char *source, int ac, const char **av);
|
||||
EI int anope_event_vhost(const char *source, int ac, const char **av);
|
||||
EI int anope_event_tkl(const char *source, int ac, const char **av);
|
||||
EI int anope_event_eos(const char *source, int ac, const char **av);
|
||||
EI int anope_event_eob(const char *source, int ac, const char **av);
|
||||
EI int anope_event_pass(const char *source, int ac, const char **av);
|
||||
EI int anope_event_netinfo(const char *source, int ac, const char **av);
|
||||
EI int anope_event_error(const char *source, int ac, const char **av);
|
||||
EI int anope_event_eb(const char *source, int ac, const char **av);
|
||||
EI int anope_event_netctrl(const char *source, int ac, const char **av);
|
||||
EI int anope_event_notice(const char *source, int ac, const char **av);
|
||||
EI int anope_event_snotice(const char *source, int ac, const char **av);
|
||||
EI int anope_event_sqline(const char *source, int ac, const char **av);
|
||||
EI int anope_event_smo(const char *source, int ac, const char **av);
|
||||
EI int anope_event_myid(const char *source, int ac, const char **av);
|
||||
EI int anope_event_vctrl(const char *source, int ac, const char **av);
|
||||
EI int anope_event_tctrl(const char *source, int ac, const char **av);
|
||||
EI int anope_event_snetinfo(const char *source, int ac, const char **av);
|
||||
EI int anope_event_umode2(const char *source, int ac, const char **av);
|
||||
EI int anope_event_globops(const char *source, int ac, const char **av);
|
||||
EI int anope_event_swhois(const char *source, int ac, const char **av);
|
||||
EI int anope_event_burst(const char *source, int ac, const char **av);
|
||||
EI int anope_event_luserslock(const char *source, int ac, const char **av);
|
||||
EI int anope_event_admin(const char *source, int ac, const char **av);
|
||||
EI int anope_event_credits(const char *source, int ac, const char **av);
|
||||
EI int anope_event_rehash(const char *source, int ac, const char **av);
|
||||
EI int anope_event_sdesc(const char *source, int ac, const char **av);
|
||||
EI int anope_event_netglobal(const char *source, int ac, const char **av);
|
||||
EI int anope_event_invite(const char *source, int ac, const char **av);
|
||||
E int anope_event_null(const char *source, int ac, const char **av);
|
||||
|
||||
E void anope_ProcessUsermodes(User * user, int ac, const char **av);
|
||||
E void anope_SendSVID(const char *nick, time_t ts);
|
||||
E void anope_SendSVID2(User *u, const char *ts);
|
||||
|
||||
+8
-8
@@ -435,8 +435,8 @@ typedef struct {
|
||||
#define CHAN_VERSION 16
|
||||
#define EXCEPTION_VERSION 9
|
||||
#define NEWS_VERSION 9
|
||||
#define NICK_VERSION 13
|
||||
#define PRE_NICK_VERSION 1
|
||||
#define NICK_VERSION 14
|
||||
#define PRE_NICK_VERSION 2
|
||||
#define OPER_VERSION 13
|
||||
#define HELP_VERSION 1
|
||||
#define HOST_VERSION 3
|
||||
@@ -486,7 +486,7 @@ struct nickrequest_ {
|
||||
NickRequest *next, *prev;
|
||||
char *nick;
|
||||
char *passcode;
|
||||
char *password;
|
||||
char password[PASSMAX];
|
||||
char *email;
|
||||
time_t requested;
|
||||
time_t lastmail; /* Unsaved */
|
||||
@@ -511,7 +511,7 @@ struct nickcore_ {
|
||||
NickCore *next, *prev;
|
||||
|
||||
char *display; /* How the nick is displayed */
|
||||
char *pass; /* Password of the nicks */
|
||||
char pass[PASSMAX]; /* Password of the nicks */
|
||||
char *email; /* E-mail associated to the nick */
|
||||
char *greet; /* Greet associated to the nick */
|
||||
uint32 icq; /* ICQ # associated to the nick */
|
||||
@@ -1246,9 +1246,9 @@ class IRCDProto {
|
||||
virtual void SendMessage(BotInfo *bi, const char *dest, const char *buf)
|
||||
{
|
||||
if (NSDefFlags & NI_MSG)
|
||||
cmd_privmsg(bi, dest, buf);
|
||||
SendPrivmsg(bi, dest, buf);
|
||||
else
|
||||
cmd_notice(bi, dest, buf);
|
||||
SendNotice(bi, dest, buf);
|
||||
}
|
||||
virtual void SendNotice(BotInfo *bi, const char *dest, const char *msg)
|
||||
{
|
||||
@@ -1361,9 +1361,9 @@ class IRCDProto {
|
||||
}
|
||||
};
|
||||
|
||||
class IRCdProtoTS6 : public IRCdProto
|
||||
class IRCDTS6Proto : public IRCDProto
|
||||
{
|
||||
}
|
||||
};
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
|
||||
+1
-1
@@ -188,7 +188,7 @@ void common_unban(ChannelInfo * ci, char *nick)
|
||||
else
|
||||
av[2] = ban->mask;
|
||||
|
||||
do_cmode(whosends(ci), ac, av);
|
||||
do_cmode(whosends(ci)->nick, ac, av);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -738,7 +738,7 @@ void bot_join(ChannelInfo * ci)
|
||||
else
|
||||
av[2] = ban->mask;
|
||||
|
||||
do_cmode(whosends(ci), ac, av);
|
||||
do_cmode(whosends(ci)->nick, ac, av);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -1548,7 +1548,7 @@ void chan_adduser2(User * user, Channel * c)
|
||||
/* Added channelname to entrymsg - 30.03.2004, Certus */
|
||||
/* Also, don't send the entrymsg when bursting -GD */
|
||||
if (c->ci && c->ci->entry_message && is_sync(user->server))
|
||||
notice_user(whosends(c->ci), user, "[%s] %s", c->name,
|
||||
notice_user(whosends(c->ci)->nick, user, "[%s] %s", c->name,
|
||||
c->ci->entry_message);
|
||||
}
|
||||
|
||||
|
||||
+6
-6
@@ -1377,7 +1377,7 @@ int check_kick(User * user, const char *chan, time_t chants)
|
||||
ac = 3;
|
||||
}
|
||||
|
||||
do_cmode(whosends(ci), ac, av);
|
||||
do_cmode(whosends(ci)->nick, ac, av);
|
||||
}
|
||||
|
||||
anope_SendMode(whosends(ci), chan, "+b %s", mask);
|
||||
@@ -1432,7 +1432,7 @@ void restore_topic(const char *chan)
|
||||
* should be updated with a TOPIC from the IRCd soon. -GD
|
||||
*/
|
||||
ci->last_topic = NULL;
|
||||
strscpy(ci->last_topic_setter, whosends(ci), NICKMAX);
|
||||
strscpy(ci->last_topic_setter, whosends(ci)->nick, NICKMAX);
|
||||
ci->last_topic_time = time(NULL);
|
||||
return;
|
||||
}
|
||||
@@ -1444,7 +1444,7 @@ void restore_topic(const char *chan)
|
||||
c->topic_time = ci->last_topic_time;
|
||||
} else {
|
||||
c->topic = NULL;
|
||||
strscpy(c->topic_setter, whosends(ci), NICKMAX);
|
||||
strscpy(c->topic_setter, whosends(ci)->nick, NICKMAX);
|
||||
}
|
||||
if (ircd->join2set) {
|
||||
if (whosends(ci) == s_ChanServ) {
|
||||
@@ -1452,7 +1452,7 @@ void restore_topic(const char *chan)
|
||||
anope_SendMode(NULL, chan, "+o %s", s_ChanServ);
|
||||
}
|
||||
}
|
||||
anope_cmd_topic(whosends(ci), c->name, c->topic_setter,
|
||||
anope_cmd_topic(whosends(ci)->nick, c->name, c->topic_setter,
|
||||
c->topic ? c->topic : "", c->topic_time);
|
||||
if (ircd->join2set) {
|
||||
if (whosends(ci) == s_ChanServ) {
|
||||
@@ -1489,7 +1489,7 @@ int check_topiclock(Channel * c, time_t topic_time)
|
||||
c->topic = NULL;
|
||||
/* Bot assigned & Symbiosis ON?, the bot will set the topic - doc */
|
||||
/* Altough whosends() also checks for BSMinUsers -GD */
|
||||
strscpy(c->topic_setter, whosends(ci), NICKMAX);
|
||||
strscpy(c->topic_setter, whosends(ci)->nick, NICKMAX);
|
||||
}
|
||||
|
||||
if (ircd->topictsforward) {
|
||||
@@ -1515,7 +1515,7 @@ int check_topiclock(Channel * c, time_t topic_time)
|
||||
}
|
||||
}
|
||||
|
||||
anope_cmd_topic(whosends(ci), c->name, c->topic_setter,
|
||||
anope_cmd_topic(whosends(ci)->nick, c->name, c->topic_setter,
|
||||
c->topic ? c->topic : "", c->topic_time);
|
||||
|
||||
if (ircd->join2set) {
|
||||
|
||||
+7
-14
@@ -198,7 +198,11 @@ int do_register(User * u)
|
||||
} passcode[idx] = '\0';
|
||||
nr = makerequest(u->nick);
|
||||
nr->passcode = sstrdup(passcode);
|
||||
nr->password = sstrdup(pass);
|
||||
strscpy(nr->password, pass, PASSMAX);
|
||||
memset(pass, 0, strlen(pass));
|
||||
/* We are paranoid about keeping a plain text pass in memory, yet we would write
|
||||
* it to a database.. - Viper */
|
||||
enc_encrypt_in_place(nr->password, PASSMAX);
|
||||
if (email) {
|
||||
nr->email = sstrdup(email);
|
||||
}
|
||||
@@ -238,7 +242,6 @@ int do_confirm(User * u)
|
||||
NickRequest *nr = NULL;
|
||||
NickAlias *na = NULL;
|
||||
char *passcode = strtok(NULL, " ");
|
||||
char *pass = NULL;
|
||||
char *email = NULL;
|
||||
int forced = 0;
|
||||
User *utmp = NULL;
|
||||
@@ -255,7 +258,7 @@ int do_confirm(User * u)
|
||||
|
||||
if (!nr) {
|
||||
if (is_services_admin(u)) {
|
||||
/* If an admin, thier nick is obviously already regged, so look at the passcode to get the nick
|
||||
/* If an admin, their nick is obviously already regged, so look at the passcode to get the nick
|
||||
of the user they are trying to validate, and push that user through regardless of passcode */
|
||||
nr = findrequestnick(passcode);
|
||||
if (nr) {
|
||||
@@ -295,7 +298,6 @@ int do_confirm(User * u)
|
||||
notice_lang(s_NickServ, u, NICK_REGISTRATION_FAILED);
|
||||
return MOD_CONT;
|
||||
}
|
||||
pass = sstrdup(nr->password);
|
||||
|
||||
if (nr->email) {
|
||||
email = sstrdup(nr->email);
|
||||
@@ -307,16 +309,7 @@ int do_confirm(User * u)
|
||||
char tsbuf[16];
|
||||
char tmp_pass[PASSMAX];
|
||||
|
||||
len = strlen(pass);
|
||||
na->nc->pass = (char *)smalloc(PASSMAX);
|
||||
if (enc_encrypt(pass, len, na->nc->pass, PASSMAX - 1) < 0) {
|
||||
memset(pass, 0, strlen(pass));
|
||||
alog("%s: Failed to encrypt password for %s (register)",
|
||||
s_NickServ, nr->nick);
|
||||
notice_lang(s_NickServ, u, NICK_REGISTRATION_FAILED);
|
||||
return MOD_CONT;
|
||||
}
|
||||
memset(pass, 0, strlen(pass));
|
||||
memcpy(na->nc->pass, nr->password, PASSMAX);
|
||||
na->status = (int16) (NS_IDENTIFIED | NS_RECOGNIZED);
|
||||
/* na->nc->flags |= NI_ENCRYPTEDPW; */
|
||||
|
||||
|
||||
+1
-5
@@ -240,10 +240,6 @@ int do_saset_password(User * u, NickCore * nc, char *param)
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
if (nc->pass)
|
||||
free(nc->pass);
|
||||
|
||||
nc->pass = (char *)smalloc(PASSMAX);
|
||||
if (enc_encrypt(param, len, nc->pass, PASSMAX - 1) < 0) {
|
||||
memset(param, 0, len);
|
||||
alog("%s: Failed to encrypt password for %s (set)", s_NickServ,
|
||||
@@ -253,7 +249,7 @@ int do_saset_password(User * u, NickCore * nc, char *param)
|
||||
return MOD_CONT;
|
||||
}
|
||||
memset(param, 0, len);
|
||||
|
||||
|
||||
if(enc_decrypt(nc->pass,tmp_pass,PASSMAX - 1)==1) {
|
||||
notice_lang(s_NickServ, u, NICK_SASET_PASSWORD_CHANGED_TO, nc->display,
|
||||
tmp_pass);
|
||||
|
||||
@@ -213,10 +213,6 @@ int do_set_password(User * u, NickCore * nc, char *param)
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
if (nc->pass)
|
||||
free(nc->pass);
|
||||
|
||||
nc->pass = (char *)smalloc(PASSMAX);
|
||||
if (enc_encrypt(param, len, nc->pass, PASSMAX - 1) < 0) {
|
||||
memset(param, 0, len);
|
||||
alog("%s: Failed to encrypt password for %s (set)", s_NickServ,
|
||||
|
||||
+10
-5
@@ -55,7 +55,8 @@ void anope_SendAkillDel(const char *user, const char *host)
|
||||
|
||||
void anope_cmd_topic(const char *whosets, const char *chan, const char *whosetit, const char *topic, time_t when)
|
||||
{
|
||||
ircdproto->cmd_topic(whosets, chan, whosetit, topic, when);
|
||||
BotInfo *bi = findbot(whosets);
|
||||
ircdproto->SendTopic(bi, chan, whosetit, topic, when);
|
||||
}
|
||||
|
||||
void anope_SendVhostDel(User *u)
|
||||
@@ -140,12 +141,14 @@ void anope_cmd_message(const char *source, const char *dest, const char *fmt, ..
|
||||
vsnprintf(buf, BUFSIZE - 1, fmt, args);
|
||||
va_end(args);
|
||||
}
|
||||
ircdproto->cmd_message(source, dest, buf);
|
||||
BotInfo *bi = findbot(source);
|
||||
ircdproto->SendMessage(bi, dest, buf);
|
||||
}
|
||||
|
||||
void anope_cmd_notice(const char *source, const char *dest, const char *msg)
|
||||
{
|
||||
ircdproto->cmd_notice(source, dest, msg);
|
||||
BotInfo *bi = findbot(source);
|
||||
ircdproto->SendNotice(bi, dest, msg);
|
||||
}
|
||||
|
||||
void anope_cmd_action(const char *source, const char *dest, const char *fmt, ...)
|
||||
@@ -160,7 +163,8 @@ void anope_cmd_action(const char *source, const char *dest, const char *fmt, ...
|
||||
else return;
|
||||
if (!*buf) return;
|
||||
snprintf(actionbuf, BUFSIZE - 1, "%cACTION %s%c", 1, buf, 1);
|
||||
ircdproto->cmd_privmsg(source, dest, actionbuf);
|
||||
BotInfo *bi = findbot(source);
|
||||
ircdproto->SendPrivmsg(bi, dest, actionbuf);
|
||||
}
|
||||
|
||||
void anope_cmd_privmsg(const char *source, const char *dest, const char *fmt, ...)
|
||||
@@ -172,7 +176,8 @@ void anope_cmd_privmsg(const char *source, const char *dest, const char *fmt, ..
|
||||
vsnprintf(buf, BUFSIZE - 1, fmt, args);
|
||||
va_end(args);
|
||||
}
|
||||
ircdproto->cmd_privmsg(source, dest, buf);
|
||||
BotInfo *bi = findbot(source);
|
||||
ircdproto->SendPrivmsg(bi, dest, buf);
|
||||
}
|
||||
|
||||
void anope_SendGlobalNotice(const char *source, const char *dest, const char *msg)
|
||||
|
||||
@@ -357,12 +357,6 @@ int m_whois(const char *source, const char *who)
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
/* NULL route messages */
|
||||
int anope_event_null(const char *source, int ac, const char **av)
|
||||
{
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
/* *INDENT-OFF* */
|
||||
void moduleAddMsgs(void) {
|
||||
Message *m;
|
||||
|
||||
+2
-2
@@ -1669,7 +1669,7 @@ int db_mysql_load_ns_req_dbase(void)
|
||||
|
||||
nr->nick = sstrdup(mysql_row[0]);
|
||||
nr->passcode = sstrdup(mysql_row[1]);
|
||||
nr->password = sstrdup(mysql_row[2]);
|
||||
snprintf(nr->password, PASSMAX, "%s", mysql_row[2]);
|
||||
nr->email = sstrdup(mysql_row[3]);
|
||||
nr->requested = strtol(mysql_row[4], (char **) NULL, 10);
|
||||
|
||||
@@ -1712,7 +1712,7 @@ int db_mysql_load_ns_dbase(void)
|
||||
|
||||
/* Display, password, email, ICQ, URL, flags */
|
||||
nc->display = sstrdup(mysql_row[0]);
|
||||
nc->pass = sstrdup(mysql_row[1]);
|
||||
snprintf(nc->pass, PASSMAX, "%s", mysql_row[1]);
|
||||
nc->email = sstrdup(mysql_row[2]);
|
||||
nc->icq = strtol(mysql_row[3], (char **) NULL, 10);
|
||||
nc->url = sstrdup(mysql_row[4]);
|
||||
|
||||
+28
-13
@@ -276,9 +276,9 @@ void load_old_ns_dbase(void)
|
||||
|
||||
/* We grabbed info before; fill the appropriate fields now */
|
||||
if (*bufp)
|
||||
nc->pass = sstrdup(bufp);
|
||||
memcpy(nc->pass, bufp, PASSMAX);
|
||||
else
|
||||
nc->pass = NULL; /* Which may be the case for forbidden nicks .. */
|
||||
memset(nc->pass, 0, PASSMAX); /* Which may be the case for forbidden nicks .. */
|
||||
|
||||
nc->email = email;
|
||||
nc->greet = greet;
|
||||
@@ -419,7 +419,8 @@ void load_ns_req_db(void)
|
||||
int i, c, ver;
|
||||
NickRequest *nr;
|
||||
uint32 tmp32;
|
||||
int failed = 0;
|
||||
int failed = 0, len;
|
||||
char *pass;
|
||||
|
||||
if (!(f = open_db(s_NickServ, PreNickDBName, "r", PRE_NICK_VERSION)))
|
||||
return;
|
||||
@@ -431,7 +432,14 @@ void load_ns_req_db(void)
|
||||
nr = (NickRequest *)scalloc(1, sizeof(NickRequest));
|
||||
SAFE(read_string(&nr->nick, f));
|
||||
SAFE(read_string(&nr->passcode, f));
|
||||
SAFE(read_string(&nr->password, f));
|
||||
if (ver < 2) {
|
||||
SAFE(read_string(&pass, f));
|
||||
len = strlen(pass);
|
||||
enc_encrypt(pass, len, nr->password, PASSMAX);
|
||||
memset(pass, 0, len);
|
||||
free(pass);
|
||||
} else
|
||||
SAFE(read_buffer(nr->password, f));
|
||||
SAFE(read_string(&nr->email, f));
|
||||
SAFE(read_int32(&tmp32, f));
|
||||
nr->requested = tmp32;
|
||||
@@ -447,10 +455,10 @@ void load_ns_dbase(void)
|
||||
int ver, i, j, c;
|
||||
NickAlias *na, **nalast, *naprev;
|
||||
NickCore *nc, **nclast, *ncprev;
|
||||
int failed = 0;
|
||||
int failed = 0, len;
|
||||
uint16 tmp16;
|
||||
uint32 tmp32;
|
||||
char *s;
|
||||
char *s, *pass;
|
||||
|
||||
if (!(f = open_db(s_NickServ, NickDBName, "r", NICK_VERSION)))
|
||||
return;
|
||||
@@ -481,7 +489,18 @@ void load_ns_dbase(void)
|
||||
slist_init(&nc->aliases);
|
||||
|
||||
SAFE(read_string(&nc->display, f));
|
||||
SAFE(read_string(&nc->pass, f));
|
||||
if (ver < 14) {
|
||||
SAFE(read_string(&pass, f));
|
||||
if (pass) {
|
||||
len = strlen(pass);
|
||||
enc_encrypt(pass, len, nc->pass, PASSMAX);
|
||||
memset(pass, 0, len);
|
||||
free(pass);
|
||||
} else
|
||||
memset(nc->pass, 0, PASSMAX);
|
||||
} else
|
||||
SAFE(read_buffer(nc->pass, f));
|
||||
|
||||
SAFE(read_string(&nc->email, f));
|
||||
SAFE(read_string(&nc->greet, f));
|
||||
SAFE(read_int32(&nc->icq, f));
|
||||
@@ -649,7 +668,7 @@ void save_ns_dbase(void)
|
||||
SAFE(write_int8(1, f));
|
||||
|
||||
SAFE(write_string(nc->display, f));
|
||||
SAFE(write_string(nc->pass, f));
|
||||
SAFE(write_buffer(nc->pass, f));
|
||||
|
||||
SAFE(write_string(nc->email, f));
|
||||
SAFE(write_string(nc->greet, f));
|
||||
@@ -724,7 +743,7 @@ void save_ns_req_dbase(void)
|
||||
SAFE(write_int8(1, f));
|
||||
SAFE(write_string(nr->nick, f));
|
||||
SAFE(write_string(nr->passcode, f));
|
||||
SAFE(write_string(nr->password, f));
|
||||
SAFE(write_buffer(nr->password, f));
|
||||
SAFE(write_string(nr->email, f));
|
||||
SAFE(write_int32(nr->requested, f));
|
||||
SAFE(write_int8(0, f));
|
||||
@@ -1370,8 +1389,6 @@ static int delcore(NickCore * nc)
|
||||
|
||||
/* Now we can safely free it. */
|
||||
free(nc->display);
|
||||
if (nc->pass)
|
||||
free(nc->pass);
|
||||
|
||||
if (nc->email)
|
||||
free(nc->email);
|
||||
@@ -1414,8 +1431,6 @@ int delnickrequest(NickRequest * nr)
|
||||
free(nr->nick);
|
||||
if (nr->passcode)
|
||||
free(nr->passcode);
|
||||
if (nr->password)
|
||||
free(nr->password);
|
||||
if (nr->email)
|
||||
free(nr->email);
|
||||
free(nr);
|
||||
|
||||
+41
-128
@@ -595,72 +595,6 @@ int anope_event_436(const char *source, int ac, const char **av)
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
/* *INDENT-OFF* */
|
||||
void moduleAddIRCDMsgs(void) {
|
||||
Message *m;
|
||||
|
||||
|
||||
/* first update the cs protect info about this ircd */
|
||||
updateProtectDetails("PROTECT","PROTECTME","protect","deprotect","AUTOPROTECT","+","-");
|
||||
|
||||
/* now add the commands */
|
||||
m = createMessage("401", anope_event_null); addCoreMessage(IRCD,m);
|
||||
m = createMessage("402", anope_event_null); addCoreMessage(IRCD,m);
|
||||
m = createMessage("436", anope_event_436); addCoreMessage(IRCD,m);
|
||||
m = createMessage("AWAY", anope_event_away); addCoreMessage(IRCD,m);
|
||||
m = createMessage("INVITE", anope_event_null); addCoreMessage(IRCD,m);
|
||||
m = createMessage("JOIN", anope_event_join); addCoreMessage(IRCD,m);
|
||||
m = createMessage("KICK", anope_event_kick); addCoreMessage(IRCD,m);
|
||||
m = createMessage("KILL", anope_event_kill); addCoreMessage(IRCD,m);
|
||||
m = createMessage("MODE", anope_event_mode); addCoreMessage(IRCD,m);
|
||||
m = createMessage("MOTD", anope_event_motd); addCoreMessage(IRCD,m);
|
||||
m = createMessage("NICK", anope_event_nick); addCoreMessage(IRCD,m);
|
||||
m = createMessage("NOTICE", anope_event_notice); addCoreMessage(IRCD,m);
|
||||
m = createMessage("PART", anope_event_part); addCoreMessage(IRCD,m);
|
||||
m = createMessage("PASS", anope_event_pass); addCoreMessage(IRCD,m);
|
||||
m = createMessage("PING", anope_event_ping); addCoreMessage(IRCD,m);
|
||||
m = createMessage("PRIVMSG", anope_event_privmsg); addCoreMessage(IRCD,m);
|
||||
m = createMessage("QUIT", anope_event_quit); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SERVER", anope_event_server); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SQUIT", anope_event_squit); addCoreMessage(IRCD,m);
|
||||
m = createMessage("TOPIC", anope_event_topic); addCoreMessage(IRCD,m);
|
||||
m = createMessage("USER", anope_event_null); addCoreMessage(IRCD,m);
|
||||
m = createMessage("WALLOPS", anope_event_null); addCoreMessage(IRCD,m);
|
||||
m = createMessage("WHOIS", anope_event_whois); addCoreMessage(IRCD,m);
|
||||
m = createMessage("AKILL", anope_event_null); addCoreMessage(IRCD,m);
|
||||
m = createMessage("GLOBOPS", anope_event_null); addCoreMessage(IRCD,m);
|
||||
m = createMessage("GNOTICE", anope_event_gnotice); addCoreMessage(IRCD,m);
|
||||
m = createMessage("GOPER", anope_event_null); addCoreMessage(IRCD,m);
|
||||
m = createMessage("RAKILL", anope_event_null); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SILENCE", anope_event_null); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SVSKILL", anope_event_null); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SVSMODE", anope_event_mode); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SVSNICK", anope_event_null); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SVSNOOP", anope_event_null); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SQLINE", anope_event_sqline); addCoreMessage(IRCD,m);
|
||||
m = createMessage("UNSQLINE", anope_event_null); addCoreMessage(IRCD,m);
|
||||
m = createMessage("CAPAB", anope_event_capab); addCoreMessage(IRCD,m);
|
||||
m = createMessage("CS", anope_event_cs); addCoreMessage(IRCD,m);
|
||||
m = createMessage("HS", anope_event_hs); addCoreMessage(IRCD,m);
|
||||
m = createMessage("MS", anope_event_ms); addCoreMessage(IRCD,m);
|
||||
m = createMessage("NS", anope_event_ns); addCoreMessage(IRCD,m);
|
||||
m = createMessage("OS", anope_event_os); addCoreMessage(IRCD,m);
|
||||
m = createMessage("RS", anope_event_null); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SGLINE", anope_event_null); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SJOIN", anope_event_sjoin); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SS", anope_event_null); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SVINFO", anope_event_svinfo); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SZLINE", anope_event_null); addCoreMessage(IRCD,m);
|
||||
m = createMessage("UNSGLINE", anope_event_null); addCoreMessage(IRCD,m);
|
||||
m = createMessage("UNSZLINE", anope_event_null); addCoreMessage(IRCD,m);
|
||||
m = createMessage("ERROR", anope_event_error); addCoreMessage(IRCD,m);
|
||||
m = createMessage("LUSERSLOCK",anope_event_luserslock); addCoreMessage(IRCD,m);
|
||||
m = createMessage("BURST", anope_event_burst); addCoreMessage(IRCD,m);
|
||||
m = createMessage("ADMIN", anope_event_admin); addCoreMessage(IRCD,m);
|
||||
|
||||
}
|
||||
|
||||
/* *INDENT-ON* */
|
||||
|
||||
/* SQLINE */
|
||||
void BahamutIRCdProto::SendSQLine(const char *mask, const char *reason)
|
||||
@@ -699,11 +633,6 @@ void BahamutIRCdProto::SendSVSNOOP(const char *server, int set)
|
||||
send_cmd(NULL, "SVSNOOP %s %s", server, set ? "+" : "-");
|
||||
}
|
||||
|
||||
void bahamut_cmd_svsadmin(const char *server, int set)
|
||||
{
|
||||
ircd_proto.SendSVSNOOP(server, set);
|
||||
}
|
||||
|
||||
/* SGLINE */
|
||||
void BahamutIRCdProto::SendSGLine(const char *mask, const char *reason)
|
||||
{
|
||||
@@ -717,9 +646,9 @@ void BahamutIRCdProto::SendAkillDel(const char *user, const char *host)
|
||||
}
|
||||
|
||||
/* TOPIC */
|
||||
void BahamutIRCdProto::cmd_topic(const char *whosets, const char *chan, const char *whosetit, const char *topic, time_t when)
|
||||
void BahamutIRCdProto::SendTopic(BotInfo *whosets, const char *chan, const char *whosetit, const char *topic, time_t when)
|
||||
{
|
||||
send_cmd(whosets, "TOPIC %s %s %lu :%s", chan, whosetit, static_cast<unsigned long>(when), topic);
|
||||
send_cmd(whosets->nick, "TOPIC %s %s %lu :%s", chan, whosetit, static_cast<unsigned long>(when), topic);
|
||||
}
|
||||
|
||||
/* UNSQLINE */
|
||||
@@ -850,20 +779,6 @@ int anope_event_privmsg(const char *source, int ac, const char **av)
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
/* EVENT : SVINFO */
|
||||
/*
|
||||
* parv[0] = sender prefix
|
||||
* parv[1] = TS_CURRENT for the server
|
||||
* parv[2] = TS_MIN for the server
|
||||
* parv[3] = server is standalone or connected to non-TS only
|
||||
* parv[4] = server's idea of UTC time
|
||||
*/
|
||||
int anope_event_svinfo(const char *source, int ac, const char **av)
|
||||
{
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
|
||||
int anope_event_part(const char *source, int ac, const char **av)
|
||||
{
|
||||
if (ac < 1 || ac > 2)
|
||||
@@ -1029,27 +944,6 @@ int anope_event_error(const char *source, int ac, const char **av)
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
int anope_event_notice(const char *source, int ac, const char **av)
|
||||
{
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
int anope_event_sqline(const char *source, int ac, const char **av)
|
||||
{
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
|
||||
int anope_event_gnotice(const char *source, int ac, const char **av)
|
||||
{
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
int anope_event_pass(const char *source, int ac, const char **av)
|
||||
{
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
void BahamutIRCdProto::SendEOB()
|
||||
{
|
||||
send_cmd(NULL, "BURST 0");
|
||||
@@ -1073,26 +967,6 @@ int anope_event_burst(const char *source, int ac, const char **av)
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
int anope_event_luserslock(const char *source, int ac, const char **av)
|
||||
{
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
int anope_event_rehash(const char *source, int ac, const char **av)
|
||||
{
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
int anope_event_credits(const char *source, int ac, const char **av)
|
||||
{
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
int anope_event_admin(const char *source, int ac, const char **av)
|
||||
{
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
int BahamutIRCdProto::IsFloodModeParamValid(const char *value)
|
||||
{
|
||||
char *dp, *end;
|
||||
@@ -1109,6 +983,45 @@ void bahamut_cmd_chghost(const char *nick, const char *vhost)
|
||||
}
|
||||
}
|
||||
|
||||
/* *INDENT-OFF* */
|
||||
void moduleAddIRCDMsgs(void) {
|
||||
Message *m;
|
||||
|
||||
|
||||
/* first update the cs protect info about this ircd */
|
||||
updateProtectDetails("PROTECT","PROTECTME","protect","deprotect","AUTOPROTECT","+","-");
|
||||
|
||||
/* now add the commands */
|
||||
m = createMessage("436", anope_event_436); addCoreMessage(IRCD,m);
|
||||
m = createMessage("AWAY", anope_event_away); addCoreMessage(IRCD,m);
|
||||
m = createMessage("JOIN", anope_event_join); addCoreMessage(IRCD,m);
|
||||
m = createMessage("KICK", anope_event_kick); addCoreMessage(IRCD,m);
|
||||
m = createMessage("KILL", anope_event_kill); addCoreMessage(IRCD,m);
|
||||
m = createMessage("MODE", anope_event_mode); addCoreMessage(IRCD,m);
|
||||
m = createMessage("MOTD", anope_event_motd); addCoreMessage(IRCD,m);
|
||||
m = createMessage("NICK", anope_event_nick); addCoreMessage(IRCD,m);
|
||||
m = createMessage("PART", anope_event_part); addCoreMessage(IRCD,m);
|
||||
m = createMessage("PING", anope_event_ping); addCoreMessage(IRCD,m);
|
||||
m = createMessage("PRIVMSG", anope_event_privmsg); addCoreMessage(IRCD,m);
|
||||
m = createMessage("QUIT", anope_event_quit); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SERVER", anope_event_server); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SQUIT", anope_event_squit); addCoreMessage(IRCD,m);
|
||||
m = createMessage("TOPIC", anope_event_topic); addCoreMessage(IRCD,m);
|
||||
m = createMessage("WHOIS", anope_event_whois); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SVSMODE", anope_event_mode); addCoreMessage(IRCD,m);
|
||||
m = createMessage("CAPAB", anope_event_capab); addCoreMessage(IRCD,m);
|
||||
m = createMessage("CS", anope_event_cs); addCoreMessage(IRCD,m);
|
||||
m = createMessage("HS", anope_event_hs); addCoreMessage(IRCD,m);
|
||||
m = createMessage("MS", anope_event_ms); addCoreMessage(IRCD,m);
|
||||
m = createMessage("NS", anope_event_ns); addCoreMessage(IRCD,m);
|
||||
m = createMessage("OS", anope_event_os); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SJOIN", anope_event_sjoin); addCoreMessage(IRCD,m);
|
||||
m = createMessage("ERROR", anope_event_error); addCoreMessage(IRCD,m);
|
||||
m = createMessage("BURST", anope_event_burst); addCoreMessage(IRCD,m);
|
||||
}
|
||||
|
||||
/* *INDENT-ON* */
|
||||
|
||||
/**
|
||||
* Now tell anope how to use us.
|
||||
**/
|
||||
|
||||
@@ -62,7 +62,7 @@ class BahamutIRCdProto : public IRCDProto {
|
||||
public:
|
||||
void SendSVSNOOP(const char *, int);
|
||||
void SendAkillDel(const char *, const char *);
|
||||
void cmd_topic(const char *, const char *, const char *, const char *, time_t);
|
||||
void SendTopic(BotInfo *, const char *, const char *, const char *, time_t);
|
||||
void SendAkill(const char *, const char *, const char *, time_t, time_t, const char *);
|
||||
void SendSVSKill(const char *, const char *, const char *);
|
||||
void SendSVSMode(User *, int, const char **);
|
||||
|
||||
+77
-122
@@ -438,9 +438,9 @@ void CharybdisProto::SendGlobops(const char *source, const char *buf)
|
||||
{
|
||||
if (!buf) return;
|
||||
if (source) {
|
||||
Uid *u = find_uid(source);
|
||||
if (u) {
|
||||
send_cmd(UseTS6 ? u->uid : source, "OPERWALL :%s", buf);
|
||||
BotInfo *bi = findbot(source);
|
||||
if (bi) {
|
||||
send_cmd(UseTS6 ? bi->uid.c_str() : source, "OPERWALL :%s", buf);
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -653,86 +653,29 @@ int anope_event_436(const char *source, int ac, const char **av)
|
||||
}
|
||||
|
||||
|
||||
/* *INDENT-OFF* */
|
||||
void moduleAddIRCDMsgs(void)
|
||||
{
|
||||
Message *m;
|
||||
|
||||
updateProtectDetails("PROTECT","PROTECTME","protect","deprotect","AUTOPROTECT","+","-");
|
||||
|
||||
if (UseTS6) {
|
||||
TS6SID = sstrdup(Numeric);
|
||||
}
|
||||
|
||||
m = createMessage("401", anope_event_null); addCoreMessage(IRCD,m);
|
||||
m = createMessage("402", anope_event_null); addCoreMessage(IRCD,m);
|
||||
m = createMessage("436", anope_event_436); addCoreMessage(IRCD,m);
|
||||
m = createMessage("AWAY", anope_event_away); addCoreMessage(IRCD,m);
|
||||
m = createMessage("INVITE", anope_event_invite); addCoreMessage(IRCD,m);
|
||||
m = createMessage("JOIN", anope_event_join); addCoreMessage(IRCD,m);
|
||||
m = createMessage("KICK", anope_event_kick); addCoreMessage(IRCD,m);
|
||||
m = createMessage("KILL", anope_event_kill); addCoreMessage(IRCD,m);
|
||||
m = createMessage("MODE", anope_event_mode); addCoreMessage(IRCD,m);
|
||||
m = createMessage("TMODE", anope_event_tmode); addCoreMessage(IRCD,m);
|
||||
m = createMessage("MOTD", anope_event_motd); addCoreMessage(IRCD,m);
|
||||
m = createMessage("NICK", anope_event_nick); addCoreMessage(IRCD,m);
|
||||
m = createMessage("BMASK", anope_event_bmask); addCoreMessage(IRCD,m);
|
||||
m = createMessage("UID", anope_event_nick); addCoreMessage(IRCD,m);
|
||||
m = createMessage("NOTICE", anope_event_notice); addCoreMessage(IRCD,m);
|
||||
m = createMessage("PART", anope_event_part); addCoreMessage(IRCD,m);
|
||||
m = createMessage("PASS", anope_event_pass); addCoreMessage(IRCD,m);
|
||||
m = createMessage("PING", anope_event_ping); addCoreMessage(IRCD,m);
|
||||
m = createMessage("PRIVMSG", anope_event_privmsg); addCoreMessage(IRCD,m);
|
||||
m = createMessage("QUIT", anope_event_quit); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SERVER", anope_event_server); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SQUIT", anope_event_squit); addCoreMessage(IRCD,m);
|
||||
m = createMessage("TOPIC", anope_event_topic); addCoreMessage(IRCD,m);
|
||||
m = createMessage("TB", anope_event_tburst); addCoreMessage(IRCD,m);
|
||||
m = createMessage("USER", anope_event_null); addCoreMessage(IRCD,m);
|
||||
m = createMessage("WALLOPS", anope_event_null); addCoreMessage(IRCD,m);
|
||||
m = createMessage("WHOIS", anope_event_whois); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SVSMODE", anope_event_null); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SVSNICK", anope_event_null); addCoreMessage(IRCD,m);
|
||||
m = createMessage("CAPAB", anope_event_capab); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SJOIN", anope_event_sjoin); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SVINFO", anope_event_svinfo); addCoreMessage(IRCD,m);
|
||||
m = createMessage("ADMIN", anope_event_admin); addCoreMessage(IRCD,m);
|
||||
m = createMessage("ERROR", anope_event_error); addCoreMessage(IRCD,m);
|
||||
m = createMessage("421", anope_event_null); addCoreMessage(IRCD,m);
|
||||
m = createMessage("ENCAP", anope_event_null); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SID", anope_event_sid); addCoreMessage(IRCD,m);
|
||||
m = createMessage("EUID", anope_event_euid); addCoreMessage(IRCD,m);
|
||||
}
|
||||
|
||||
/* *INDENT-ON* */
|
||||
|
||||
|
||||
void CharybdisProto::SendSQLine(const char *mask, const char *reason)
|
||||
{
|
||||
Uid *ud = find_uid(s_OperServ);
|
||||
send_cmd(UseTS6 ? (ud ? ud->uid : s_OperServ) : s_OperServ, "RESV * %s :%s", mask, reason);
|
||||
BotInfo *bi = findbot(s_OperServ);
|
||||
send_cmd(UseTS6 ? (bi ? bi->uid.c_str() : s_OperServ) : s_OperServ, "RESV * %s :%s", mask, reason);
|
||||
}
|
||||
|
||||
void CharybdisProto::SendSGLineDel(const char *mask)
|
||||
{
|
||||
Uid *ud = find_uid(s_OperServ);
|
||||
send_cmd(UseTS6 ? (ud ? ud->uid : s_OperServ) : s_OperServ, "UNXLINE * %s", mask);
|
||||
}
|
||||
|
||||
void charybdis_cmd_svsadmin(const char *server, int set)
|
||||
{
|
||||
BotInfo *bi = findbot(s_OperServ);
|
||||
send_cmd(UseTS6 ? (bi ? bi->uid.c_str() : s_OperServ) : s_OperServ, "UNXLINE * %s", mask);
|
||||
}
|
||||
|
||||
void CharybdisProto::SendSGLine(const char *mask, const char *reason)
|
||||
{
|
||||
Uid *ud = find_uid(s_OperServ);
|
||||
send_cmd(UseTS6 ? (ud ? ud->uid : s_OperServ) : s_OperServ, "XLINE * %s 0 :%s", mask, reason);
|
||||
BotInfo *bi = findbot(s_OperServ);
|
||||
send_cmd(UseTS6 ? (bi ? bi->uid.c_str() : s_OperServ) : s_OperServ, "XLINE * %s 0 :%s", mask, reason);
|
||||
}
|
||||
|
||||
void CharybdisProto::SendAkillDel(const char *user, const char *host)
|
||||
{
|
||||
Uid *ud = find_uid(s_OperServ);
|
||||
send_cmd(UseTS6 ? (ud ? ud->uid : s_OperServ) : s_OperServ, "UNKLINE * %s %s", user, host);
|
||||
BotInfo *bi = findbot(s_OperServ);
|
||||
send_cmd(UseTS6 ? (bi ? bi->uid.c_str() : s_OperServ) : s_OperServ, "UNKLINE * %s %s", user, host);
|
||||
}
|
||||
|
||||
void CharybdisProto::SendVhostDel(User *u)
|
||||
@@ -747,14 +690,14 @@ void CharybdisProto::SendVhost(const char *nick, const char *vIdent, const char
|
||||
|
||||
void CharybdisProto::SendSQLineDel(const char *user)
|
||||
{
|
||||
Uid *ud = find_uid(s_OperServ);
|
||||
send_cmd(UseTS6 ? (ud ? ud->uid : s_OperServ) : s_OperServ, "UNRESV * %s", user);
|
||||
BotInfo *bi = findbot(s_OperServ);
|
||||
send_cmd(UseTS6 ? (bi ? bi->uid.c_str() : s_OperServ) : s_OperServ, "UNRESV * %s", user);
|
||||
}
|
||||
|
||||
void CharybdisProto::SendJoin(const char *user, const char *channel, time_t chantime)
|
||||
{
|
||||
Uid *ud = find_uid(user);
|
||||
send_cmd(NULL, "SJOIN %ld %s + :%s", static_cast<long>(chantime), channel, UseTS6 ? (ud ? ud->uid : user) : user);
|
||||
User *u = finduser(user);
|
||||
send_cmd(NULL, "SJOIN %ld %s + :%s", static_cast<long>(chantime), channel, UseTS6 ? (u ? u->uid : user) : user);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -768,15 +711,16 @@ reason: the reason for the kline.
|
||||
|
||||
void CharybdisProto::SendAkill(const char *user, const char *host, const char *who, time_t when, time_t expires, const char *reason)
|
||||
{
|
||||
Uid *ud = find_uid(s_OperServ);
|
||||
send_cmd(UseTS6 ? (ud ? ud->uid : s_OperServ) : s_OperServ, "KLINE * %ld %s %s :%s", static_cast<long>(expires - time(NULL)), user, host, reason);
|
||||
BotInfo *bi = findbot(s_OperServ);
|
||||
send_cmd(UseTS6 ? (bi ? bi->uid.c_str() : s_OperServ) : s_OperServ, "KLINE * %ld %s %s :%s", static_cast<long>(expires - time(NULL)), user, host, reason);
|
||||
}
|
||||
|
||||
void CharybdisProto::SendSVSKill(const char *source, const char *user, const char *buf)
|
||||
{
|
||||
if (!source || !user || !buf) return;
|
||||
Uid *ud = find_uid(source), *ud2 = find_uid(user);
|
||||
send_cmd(UseTS6 ? (ud ? ud->uid : source) : source, "KILL %s :%s", UseTS6 ? (ud2 ? ud2->uid : user) : user, buf);
|
||||
BotInfo *bi = findbot(source);
|
||||
User *u = finduser(user);
|
||||
send_cmd(UseTS6 ? (bi ? bi->uid.c_str() : source) : source, "KILL %s :%s", UseTS6 ? (u ? u->uid : user) : user, buf);
|
||||
}
|
||||
|
||||
void CharybdisProto::SendSVSMode(User *u, int ac, const char **av)
|
||||
@@ -864,7 +808,6 @@ void CharybdisProto::SendClientIntroduction(const char *nick, const char *user,
|
||||
if (UseTS6) {
|
||||
char *uidbuf = ts6_uid_retrieve();
|
||||
send_cmd(TS6SID, "UID %s 1 %ld %s %s %s 0 %s :%s", nick, static_cast<long>(time(NULL)), modes, user, host, uidbuf, real);
|
||||
new_uid(nick, uidbuf);
|
||||
}
|
||||
else send_cmd(NULL, "NICK %s 1 %ld %s %s %s %s :%s", nick, static_cast<long>(time(NULL)), modes, user, host, ServerName, real);
|
||||
SendSQLine(nick, "Reserved for services");
|
||||
@@ -872,9 +815,9 @@ void CharybdisProto::SendClientIntroduction(const char *nick, const char *user,
|
||||
|
||||
void CharybdisProto::SendPart(const char *nick, const char *chan, const char *buf)
|
||||
{
|
||||
Uid *ud = find_uid(nick);
|
||||
if (buf) send_cmd(UseTS6 ? ud->uid : nick, "PART %s :%s", chan, buf);
|
||||
else send_cmd(UseTS6 ? ud->uid : nick, "PART %s", chan);
|
||||
User *u = finduser(nick);
|
||||
if (buf) send_cmd(UseTS6 ? u->uid : nick, "PART %s :%s", chan, buf);
|
||||
else send_cmd(UseTS6 ? u->uid : nick, "PART %s", chan);
|
||||
}
|
||||
|
||||
int anope_event_ping(const char *source, int ac, const char **av)
|
||||
@@ -1044,8 +987,8 @@ void CharybdisProto::SendMode(const char *source, const char *dest, const char *
|
||||
{
|
||||
if (!buf) return;
|
||||
if (source) {
|
||||
Uid *ud = find_uid(source);
|
||||
send_cmd(UseTS6 ? (ud ? ud->uid : source) : source, "MODE %s %s", dest, buf);
|
||||
BotInfo *bi = findbot(source);
|
||||
send_cmd(UseTS6 ? (bi ? bi->uid.c_str() : source) : source, "MODE %s %s", dest, buf);
|
||||
}
|
||||
else send_cmd(source, "MODE %s %s", dest, buf);
|
||||
}
|
||||
@@ -1070,23 +1013,23 @@ void charybdis_cmd_tmode(const char *source, const char *dest, const char *fmt,
|
||||
|
||||
void CharybdisProto::SendKick(const char *source, const char *chan, const char *user, const char *buf)
|
||||
{
|
||||
Uid *ud = find_uid(source);
|
||||
BotInfo *bi = findbot(source);
|
||||
User *u = finduser(user);
|
||||
if (buf) send_cmd(UseTS6 ? (ud ? ud->uid : source) : source, "KICK %s %s :%s", chan, UseTS6 ? (u ? u->uid : user) : user, buf);
|
||||
else send_cmd(UseTS6 ? (ud ? ud->uid : source) : source, "KICK %s %s", chan, UseTS6 ? (u ? u->uid : user) : user);
|
||||
if (buf) send_cmd(UseTS6 ? (bi ? bi->uid.c_str() : source) : source, "KICK %s %s :%s", chan, UseTS6 ? (u ? u->uid : user) : user, buf);
|
||||
else send_cmd(UseTS6 ? (bi ? bi->uid.c_str() : source) : source, "KICK %s %s", chan, UseTS6 ? (u ? u->uid : user) : user);
|
||||
}
|
||||
|
||||
void CharybdisProto::SendNoticeChanops(const char *source, const char *dest, const char *buf)
|
||||
{
|
||||
if (!buf) return;
|
||||
Uid *ud = find_uid(source);
|
||||
send_cmd(UseTS6 ? (ud ? ud->uid : source) : source, "NOTICE @%s :%s", dest, buf);
|
||||
BotInfo *bi = findbot(source);
|
||||
send_cmd(UseTS6 ? (bi ? bi->uid.c_str() : source) : source, "NOTICE @%s :%s", dest, buf);
|
||||
}
|
||||
|
||||
void CharybdisProto::SendBotOp(const char *nick, const char *chan)
|
||||
{
|
||||
if (UseTS6) {
|
||||
Uid *u = find_uid(nick);
|
||||
User *u = finduser(nick);
|
||||
charybdis_cmd_tmode(nick, chan, "%s %s", ircd->botchanumode, u ? u->uid : nick);
|
||||
}
|
||||
else anope_SendMode(ServerName, chan, "%s %s", ircd->botchanumode, nick);
|
||||
@@ -1095,9 +1038,9 @@ void CharybdisProto::SendBotOp(const char *nick, const char *chan)
|
||||
/* QUIT */
|
||||
void CharybdisProto::SendQuit(const char *source, const char *buf)
|
||||
{
|
||||
Uid *ud = find_uid(source);
|
||||
if (buf) send_cmd(UseTS6 ? (ud ? ud->uid : source) : source, "QUIT :%s", buf);
|
||||
else send_cmd(UseTS6 ? (ud ? ud->uid : source) : source, "QUIT");
|
||||
BotInfo *bi = findbot(source);
|
||||
if (buf) send_cmd(UseTS6 ? (bi ? bi->uid.c_str() : source) : source, "QUIT :%s", buf);
|
||||
else send_cmd(UseTS6 ? (bi ? bi->uid.c_str() : source) : source, "QUIT");
|
||||
}
|
||||
|
||||
/* PONG */
|
||||
@@ -1112,9 +1055,9 @@ void CharybdisProto::SendPong(const char *servname, const char *who)
|
||||
void CharybdisProto::SendInvite(const char *source, const char *chan, const char *nick)
|
||||
{
|
||||
if (!source || !chan || !nick) return;
|
||||
Uid *ud = find_uid(source);
|
||||
BotInfo *bi = findbot(source);
|
||||
User *u = finduser(nick);
|
||||
send_cmd(UseTS6 ? (ud ? ud->uid : source) : source, "INVITE %s %s", UseTS6 ? (u ? u->uid : nick) : nick, chan);
|
||||
send_cmd(UseTS6 ? (bi ? bi->uid.c_str() : source) : source, "INVITE %s %s", UseTS6 ? (u ? u->uid : nick) : nick, chan);
|
||||
}
|
||||
|
||||
int anope_event_mode(const char *source, int ac, const char **av)
|
||||
@@ -1203,20 +1146,6 @@ void CharybdisProto::SendForceNickChange(const char *oldnick, const char *newnic
|
||||
send_cmd(NULL, "ENCAP %s RSFNC %s %s %ld %ld", u->server->name, u->nick, newnick, static_cast<long>(when), static_cast<long>(u->timestamp));
|
||||
}
|
||||
|
||||
/*
|
||||
* 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(const char *source, int ac, const char **av)
|
||||
{
|
||||
/* currently not used but removes the message : unknown message from server */
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
int anope_event_pass(const char *source, int ac, const char **av)
|
||||
{
|
||||
if (UseTS6) {
|
||||
@@ -1225,21 +1154,6 @@ int anope_event_pass(const char *source, int ac, const char **av)
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
int anope_event_notice(const char *source, int ac, const char **av)
|
||||
{
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
int anope_event_admin(const char *source, int ac, const char **av)
|
||||
{
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
int anope_event_invite(const char *source, int ac, const char **av)
|
||||
{
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
int anope_event_bmask(const char *source, int ac, const char **av)
|
||||
{
|
||||
Channel *c;
|
||||
@@ -1319,6 +1233,47 @@ int charybdis_send_deaccount(int argc, char **argv)
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
/* *INDENT-OFF* */
|
||||
void moduleAddIRCDMsgs(void)
|
||||
{
|
||||
Message *m;
|
||||
|
||||
updateProtectDetails("PROTECT","PROTECTME","protect","deprotect","AUTOPROTECT","+","-");
|
||||
|
||||
if (UseTS6) {
|
||||
TS6SID = sstrdup(Numeric);
|
||||
}
|
||||
|
||||
m = createMessage("436", anope_event_436); addCoreMessage(IRCD,m);
|
||||
m = createMessage("AWAY", anope_event_away); addCoreMessage(IRCD,m);
|
||||
m = createMessage("JOIN", anope_event_join); addCoreMessage(IRCD,m);
|
||||
m = createMessage("KICK", anope_event_kick); addCoreMessage(IRCD,m);
|
||||
m = createMessage("KILL", anope_event_kill); addCoreMessage(IRCD,m);
|
||||
m = createMessage("MODE", anope_event_mode); addCoreMessage(IRCD,m);
|
||||
m = createMessage("TMODE", anope_event_tmode); addCoreMessage(IRCD,m);
|
||||
m = createMessage("MOTD", anope_event_motd); addCoreMessage(IRCD,m);
|
||||
m = createMessage("NICK", anope_event_nick); addCoreMessage(IRCD,m);
|
||||
m = createMessage("BMASK", anope_event_bmask); addCoreMessage(IRCD,m);
|
||||
m = createMessage("UID", anope_event_nick); addCoreMessage(IRCD,m);
|
||||
m = createMessage("PART", anope_event_part); addCoreMessage(IRCD,m);
|
||||
m = createMessage("PASS", anope_event_pass); addCoreMessage(IRCD,m);
|
||||
m = createMessage("PING", anope_event_ping); addCoreMessage(IRCD,m);
|
||||
m = createMessage("PRIVMSG", anope_event_privmsg); addCoreMessage(IRCD,m);
|
||||
m = createMessage("QUIT", anope_event_quit); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SERVER", anope_event_server); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SQUIT", anope_event_squit); addCoreMessage(IRCD,m);
|
||||
m = createMessage("TOPIC", anope_event_topic); addCoreMessage(IRCD,m);
|
||||
m = createMessage("TB", anope_event_tburst); addCoreMessage(IRCD,m);
|
||||
m = createMessage("WHOIS", anope_event_whois); addCoreMessage(IRCD,m);
|
||||
m = createMessage("CAPAB", anope_event_capab); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SJOIN", anope_event_sjoin); addCoreMessage(IRCD,m);
|
||||
m = createMessage("ERROR", anope_event_error); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SID", anope_event_sid); addCoreMessage(IRCD,m);
|
||||
m = createMessage("EUID", anope_event_euid); addCoreMessage(IRCD,m);
|
||||
}
|
||||
|
||||
/* *INDENT-ON* */
|
||||
|
||||
/**
|
||||
* Now tell anope how to use us.
|
||||
**/
|
||||
|
||||
+63
-50
@@ -505,19 +505,14 @@ void moduleAddIRCDMsgs(void) {
|
||||
|
||||
/* *INDENT-ON* */
|
||||
|
||||
void inspircd_cmd_svsadmin(const char *server, int set)
|
||||
{
|
||||
/* Not Supported by this IRCD */
|
||||
}
|
||||
|
||||
void InspIRCdProto::SendAkillDel(const char *user, const char *host)
|
||||
{
|
||||
send_cmd(s_OperServ, "GLINE %s@%s", user, host);
|
||||
}
|
||||
|
||||
void InspIRCdProto::cmd_topic(const char *whosets, const char *chan, const char *whosetit, const char *topic, time_t when)
|
||||
void InspIRCdProto::SendTopic(BotInfo *whosets, const char *chan, const char *whosetit, const char *topic, time_t when)
|
||||
{
|
||||
send_cmd(whosets, "FTOPIC %s %lu %s :%s", chan, static_cast<unsigned long>(when), whosetit, topic);
|
||||
send_cmd(whosets->nick, "FTOPIC %s %lu %s :%s", chan, static_cast<unsigned long>(when), whosetit, topic);
|
||||
}
|
||||
|
||||
/* CHGHOST */
|
||||
@@ -577,11 +572,6 @@ void InspIRCdProto::SendMode(const char *source, const char *dest, const char *b
|
||||
send_cmd(source ? source : s_OperServ, "FMODE %s %u %s", dest, static_cast<unsigned>(c ? c->creation_time : time(NULL)), buf);
|
||||
}
|
||||
|
||||
int anope_event_version(const char *source, int ac, const char **av)
|
||||
{
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
int anope_event_idle(const char *source, int ac, const char **av)
|
||||
{
|
||||
if (ac == 1) {
|
||||
@@ -603,6 +593,27 @@ int anope_event_ftopic(const char *source, int ac, const char **av)
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
int anope_event_mode(const char *source, int ac, const char **av)
|
||||
{
|
||||
if (ac < 2)
|
||||
return MOD_CONT;
|
||||
|
||||
if (*av[0] == '#' || *av[0] == '&') {
|
||||
do_cmode(source, ac, av);
|
||||
} else {
|
||||
/* InspIRCd lets opers change another
|
||||
users modes, we have to kludge this
|
||||
as it slightly breaks RFC1459
|
||||
*/
|
||||
if (!strcasecmp(source, av[0])) {
|
||||
do_umode(source, ac, av);
|
||||
} else {
|
||||
do_umode(av[0], ac, av);
|
||||
}
|
||||
}
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
int anope_event_opertype(const char *source, int ac, const char **av)
|
||||
{
|
||||
/* opertype is equivalent to mode +o because servers
|
||||
@@ -916,28 +927,6 @@ int anope_event_quit(const char *source, int ac, const char **av)
|
||||
}
|
||||
|
||||
|
||||
int anope_event_mode(const char *source, int ac, const char **av)
|
||||
{
|
||||
if (ac < 2)
|
||||
return MOD_CONT;
|
||||
|
||||
if (*av[0] == '#' || *av[0] == '&') {
|
||||
do_cmode(source, ac, av);
|
||||
} else {
|
||||
/* InspIRCd lets opers change another
|
||||
users modes, we have to kludge this
|
||||
as it slightly breaks RFC1459
|
||||
*/
|
||||
if (!strcasecmp(source, av[0])) {
|
||||
do_umode(source, ac, av);
|
||||
} else {
|
||||
do_umode(av[0], ac, av);
|
||||
}
|
||||
}
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
|
||||
int anope_event_kill(const char *source, int ac, const char **av)
|
||||
{
|
||||
if (ac != 2)
|
||||
@@ -1330,22 +1319,6 @@ void InspIRCdProto::SendEOB()
|
||||
send_cmd(NULL, "ENDBURST");
|
||||
}
|
||||
|
||||
|
||||
int anope_event_rehash(const char *source, int ac, const char **av)
|
||||
{
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
int anope_event_credits(const char *source, int ac, const char **av)
|
||||
{
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
int anope_event_admin(const char *source, int ac, const char **av)
|
||||
{
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
int InspIRCdProto::IsFloodModeParamValid(const char *value)
|
||||
{
|
||||
char *dp, *end;
|
||||
@@ -1353,6 +1326,46 @@ int InspIRCdProto::IsFloodModeParamValid(const char *value)
|
||||
else return 0;
|
||||
}
|
||||
|
||||
/* *INDENT-OFF* */
|
||||
void moduleAddIRCDMsgs(void) {
|
||||
Message *m;
|
||||
|
||||
updateProtectDetails("PROTECT","PROTECTME","protect","deprotect","AUTOPROTECT","+a","-a");
|
||||
|
||||
m = createMessage("436", anope_event_436); addCoreMessage(IRCD,m);
|
||||
m = createMessage("AWAY", anope_event_away); addCoreMessage(IRCD,m);
|
||||
m = createMessage("JOIN", anope_event_join); addCoreMessage(IRCD,m);
|
||||
m = createMessage("KICK", anope_event_kick); addCoreMessage(IRCD,m);
|
||||
m = createMessage("KILL", anope_event_kill); addCoreMessage(IRCD,m);
|
||||
m = createMessage("MODE", anope_event_mode); addCoreMessage(IRCD,m);
|
||||
m = createMessage("MOTD", anope_event_motd); addCoreMessage(IRCD,m);
|
||||
m = createMessage("NICK", anope_event_nick); addCoreMessage(IRCD,m);
|
||||
m = createMessage("CAPAB", anope_event_capab); addCoreMessage(IRCD,m);
|
||||
m = createMessage("PART", anope_event_part); addCoreMessage(IRCD,m);
|
||||
m = createMessage("PING", anope_event_ping); addCoreMessage(IRCD,m);
|
||||
m = createMessage("PRIVMSG", anope_event_privmsg); addCoreMessage(IRCD,m);
|
||||
m = createMessage("QUIT", anope_event_quit); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SERVER", anope_event_server); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SQUIT", anope_event_squit); addCoreMessage(IRCD,m);
|
||||
m = createMessage("RSQUIT", anope_event_rsquit); addCoreMessage(IRCD,m);
|
||||
m = createMessage("TOPIC", anope_event_topic); addCoreMessage(IRCD,m);
|
||||
m = createMessage("WHOIS", anope_event_whois); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SVSMODE", anope_event_mode) ;addCoreMessage(IRCD,m);
|
||||
m = createMessage("FHOST", anope_event_chghost); addCoreMessage(IRCD,m);
|
||||
m = createMessage("CHGIDENT", anope_event_chgident); addCoreMessage(IRCD,m);
|
||||
m = createMessage("FNAME", anope_event_chgname); 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("FJOIN", anope_event_fjoin); addCoreMessage(IRCD,m);
|
||||
m = createMessage("FMODE", anope_event_fmode); addCoreMessage(IRCD,m);
|
||||
m = createMessage("FTOPIC", anope_event_ftopic); addCoreMessage(IRCD,m);
|
||||
m = createMessage("OPERTYPE", anope_event_opertype); addCoreMessage(IRCD,m);
|
||||
m = createMessage("IDLE", anope_event_idle); addCoreMessage(IRCD,m);
|
||||
}
|
||||
|
||||
/* *INDENT-ON* */
|
||||
|
||||
/**
|
||||
* Now tell anope how to use us.
|
||||
**/
|
||||
|
||||
@@ -51,22 +51,10 @@
|
||||
|
||||
#define DEFAULT_MLOCK CMODE_n | CMODE_t | CMODE_r
|
||||
|
||||
int anope_event_fjoin(const char *source, int ac, const char **av);
|
||||
int anope_event_fmode(const char *source, int ac, const char **av);
|
||||
int anope_event_ftopic(const char *source, int ac, const char **av);
|
||||
int anope_event_sanick(const char *source, int ac, const char **av);
|
||||
int anope_event_samode(const char *source, int ac, const char **av);
|
||||
int anope_event_sajoin(const char *source, int ac, const char **av);
|
||||
int anope_event_sapart(const char *source, int ac, const char **av);
|
||||
int anope_event_version(const char *source, int ac, const char **av);
|
||||
int anope_event_opertype(const char *source, int ac, const char **av);
|
||||
int anope_event_idle(const char *source, int ac, const char **av);
|
||||
int anope_event_rsquit(const char *source, int ac, const char **av);
|
||||
|
||||
class InspIRCdProto : public IRCDProto {
|
||||
public:
|
||||
void SendAkillDel(const char *, const char *);
|
||||
void cmd_topic(const char *, const char *, const char *, const char *, time_t);
|
||||
void SendTopic(BotInfo *, const char *, const char *, const char *, time_t);
|
||||
void SendVhostDel(User *);
|
||||
void SendAkill(const char *, const char *, const char *, time_t, time_t, const char *);
|
||||
void SendSVSKill(const char *, const char *, const char *);
|
||||
|
||||
+41
-113
@@ -425,27 +425,6 @@ CUMode myCumodes[128] = {
|
||||
|
||||
|
||||
|
||||
void RatboxProto::cmd_message(const char *source, const char *dest, const char *buf)
|
||||
{
|
||||
if (!buf) return;
|
||||
if (NSDefFlags & NI_MSG) cmd_privmsg(source, dest, buf);
|
||||
else cmd_notice(source, dest, buf);
|
||||
}
|
||||
|
||||
void RatboxProto::cmd_notice(const char *source, const char *dest, const char *msg)
|
||||
{
|
||||
Uid *ud = find_uid(source);
|
||||
User *u = finduser(dest);
|
||||
send_cmd(UseTS6 ? (ud ? ud->uid : source) : source, "NOTICE %s :%s", UseTS6 ? (u ? u->uid : dest) : dest, msg);
|
||||
}
|
||||
|
||||
void RatboxProto::cmd_privmsg(const char *source, const char *dest, const char *buf)
|
||||
{
|
||||
if (!buf) return;
|
||||
Uid *ud = find_uid(source), *ud2 = find_uid(dest);
|
||||
send_cmd(UseTS6 ? (ud ? ud->uid : source) : source, "PRIVMSG %s :%s", UseTS6 ? (ud2 ? ud2->uid : dest) : dest, buf);
|
||||
}
|
||||
|
||||
void RatboxProto::SendGlobops(const char *source, const char *buf)
|
||||
{
|
||||
if (!buf) return;
|
||||
@@ -623,59 +602,6 @@ int anope_event_436(const char *source, int ac, const char **av)
|
||||
}
|
||||
|
||||
|
||||
/* *INDENT-OFF* */
|
||||
void moduleAddIRCDMsgs(void)
|
||||
{
|
||||
Message *m;
|
||||
|
||||
updateProtectDetails("PROTECT","PROTECTME","protect","deprotect","AUTOPROTECT","+","-");
|
||||
|
||||
if (UseTS6) {
|
||||
TS6SID = sstrdup(Numeric);
|
||||
UseTSMODE = 1; /* TMODE */
|
||||
}
|
||||
|
||||
m = createMessage("401", anope_event_null); addCoreMessage(IRCD,m);
|
||||
m = createMessage("402", anope_event_null); addCoreMessage(IRCD,m);
|
||||
m = createMessage("436", anope_event_436); addCoreMessage(IRCD,m);
|
||||
m = createMessage("AWAY", anope_event_away); addCoreMessage(IRCD,m);
|
||||
m = createMessage("INVITE", anope_event_invite); addCoreMessage(IRCD,m);
|
||||
m = createMessage("JOIN", anope_event_join); addCoreMessage(IRCD,m);
|
||||
m = createMessage("KICK", anope_event_kick); addCoreMessage(IRCD,m);
|
||||
m = createMessage("KILL", anope_event_kill); addCoreMessage(IRCD,m);
|
||||
m = createMessage("MODE", anope_event_mode); addCoreMessage(IRCD,m);
|
||||
m = createMessage("TMODE", anope_event_tmode); addCoreMessage(IRCD,m);
|
||||
m = createMessage("MOTD", anope_event_motd); addCoreMessage(IRCD,m);
|
||||
m = createMessage("NICK", anope_event_nick); addCoreMessage(IRCD,m);
|
||||
m = createMessage("BMASK", anope_event_bmask); addCoreMessage(IRCD,m);
|
||||
m = createMessage("UID", anope_event_nick); addCoreMessage(IRCD,m);
|
||||
m = createMessage("NOTICE", anope_event_notice); addCoreMessage(IRCD,m);
|
||||
m = createMessage("PART", anope_event_part); addCoreMessage(IRCD,m);
|
||||
m = createMessage("PASS", anope_event_pass); addCoreMessage(IRCD,m);
|
||||
m = createMessage("PING", anope_event_ping); addCoreMessage(IRCD,m);
|
||||
m = createMessage("PRIVMSG", anope_event_privmsg); addCoreMessage(IRCD,m);
|
||||
m = createMessage("QUIT", anope_event_quit); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SERVER", anope_event_server); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SQUIT", anope_event_squit); addCoreMessage(IRCD,m);
|
||||
m = createMessage("TOPIC", anope_event_topic); addCoreMessage(IRCD,m);
|
||||
m = createMessage("TB", anope_event_tburst); addCoreMessage(IRCD,m);
|
||||
m = createMessage("USER", anope_event_null); addCoreMessage(IRCD,m);
|
||||
m = createMessage("WALLOPS", anope_event_null); addCoreMessage(IRCD,m);
|
||||
m = createMessage("WHOIS", anope_event_whois); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SVSMODE", anope_event_null); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SVSNICK", anope_event_null); addCoreMessage(IRCD,m);
|
||||
m = createMessage("CAPAB", anope_event_capab); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SJOIN", anope_event_sjoin); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SVINFO", anope_event_svinfo); addCoreMessage(IRCD,m);
|
||||
m = createMessage("ADMIN", anope_event_admin); addCoreMessage(IRCD,m);
|
||||
m = createMessage("ERROR", anope_event_error); addCoreMessage(IRCD,m);
|
||||
m = createMessage("421", anope_event_null); addCoreMessage(IRCD,m);
|
||||
m = createMessage("ENCAP", anope_event_null); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SID", anope_event_sid); addCoreMessage(IRCD,m);
|
||||
}
|
||||
|
||||
/* *INDENT-ON* */
|
||||
|
||||
|
||||
void RatboxProto::SendSQLine(const char *mask, const char *reason)
|
||||
{
|
||||
@@ -689,10 +615,6 @@ void RatboxProto::SendSGLineDel(const char *mask)
|
||||
send_cmd(UseTS6 ? (ud ? ud->uid : s_OperServ) : s_OperServ, "UNXLINE * %s", mask);
|
||||
}
|
||||
|
||||
void ratbox_cmd_svsadmin(const char *server, int set)
|
||||
{
|
||||
}
|
||||
|
||||
void RatboxProto::SendSGLine(const char *mask, const char *reason)
|
||||
{
|
||||
Uid *ud = find_uid(s_OperServ);
|
||||
@@ -705,12 +627,6 @@ void RatboxProto::SendAkillDel(const char *user, const char *host)
|
||||
send_cmd(UseTS6 ? (ud ? ud->uid : s_OperServ) : s_OperServ, "UNKLINE * %s %s", user, host);
|
||||
}
|
||||
|
||||
void RatboxProto::cmd_topic(const char *whosets, const char *chan, const char *whosetit, const char *topic, time_t when)
|
||||
{
|
||||
Uid *ud = find_uid(whosets);
|
||||
send_cmd(UseTS6 ? (ud ? ud->uid : whosets) : whosets, "TOPIC %s :%s", chan, topic);
|
||||
}
|
||||
|
||||
void RatboxProto::SendSQLineDel(const char *user)
|
||||
{
|
||||
Uid *ud = find_uid(s_OperServ);
|
||||
@@ -1137,20 +1053,6 @@ int anope_event_capab(const char *source, int ac, const char **av)
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
/*
|
||||
* 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(const char *source, int ac, const char **av)
|
||||
{
|
||||
/* currently not used but removes the message : unknown message from server */
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
int anope_event_pass(const char *source, int ac, const char **av)
|
||||
{
|
||||
if (UseTS6) {
|
||||
@@ -1159,21 +1061,6 @@ int anope_event_pass(const char *source, int ac, const char **av)
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
int anope_event_notice(const char *source, int ac, const char **av)
|
||||
{
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
int anope_event_admin(const char *source, int ac, const char **av)
|
||||
{
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
int anope_event_invite(const char *source, int ac, const char **av)
|
||||
{
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
int anope_event_bmask(const char *source, int ac, const char **av)
|
||||
{
|
||||
Channel *c;
|
||||
@@ -1228,6 +1115,47 @@ int RatboxProto::IsNickValid(const char *nick)
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* *INDENT-OFF* */
|
||||
void moduleAddIRCDMsgs(void)
|
||||
{
|
||||
Message *m;
|
||||
|
||||
updateProtectDetails("PROTECT","PROTECTME","protect","deprotect","AUTOPROTECT","+","-");
|
||||
|
||||
if (UseTS6) {
|
||||
TS6SID = sstrdup(Numeric);
|
||||
UseTSMODE = 1; /* TMODE */
|
||||
}
|
||||
|
||||
m = createMessage("436", anope_event_436); addCoreMessage(IRCD,m);
|
||||
m = createMessage("AWAY", anope_event_away); addCoreMessage(IRCD,m);
|
||||
m = createMessage("JOIN", anope_event_join); addCoreMessage(IRCD,m);
|
||||
m = createMessage("KICK", anope_event_kick); addCoreMessage(IRCD,m);
|
||||
m = createMessage("KILL", anope_event_kill); addCoreMessage(IRCD,m);
|
||||
m = createMessage("MODE", anope_event_mode); addCoreMessage(IRCD,m);
|
||||
m = createMessage("TMODE", anope_event_tmode); addCoreMessage(IRCD,m);
|
||||
m = createMessage("MOTD", anope_event_motd); addCoreMessage(IRCD,m);
|
||||
m = createMessage("NICK", anope_event_nick); addCoreMessage(IRCD,m);
|
||||
m = createMessage("BMASK", anope_event_bmask); addCoreMessage(IRCD,m);
|
||||
m = createMessage("UID", anope_event_nick); addCoreMessage(IRCD,m);
|
||||
m = createMessage("PART", anope_event_part); addCoreMessage(IRCD,m);
|
||||
m = createMessage("PASS", anope_event_pass); addCoreMessage(IRCD,m);
|
||||
m = createMessage("PING", anope_event_ping); addCoreMessage(IRCD,m);
|
||||
m = createMessage("PRIVMSG", anope_event_privmsg); addCoreMessage(IRCD,m);
|
||||
m = createMessage("QUIT", anope_event_quit); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SERVER", anope_event_server); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SQUIT", anope_event_squit); addCoreMessage(IRCD,m);
|
||||
m = createMessage("TOPIC", anope_event_topic); addCoreMessage(IRCD,m);
|
||||
m = createMessage("TB", anope_event_tburst); addCoreMessage(IRCD,m);
|
||||
m = createMessage("WHOIS", anope_event_whois); addCoreMessage(IRCD,m);
|
||||
m = createMessage("CAPAB", anope_event_capab); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SJOIN", anope_event_sjoin); addCoreMessage(IRCD,m);
|
||||
m = createMessage("ERROR", anope_event_error); addCoreMessage(IRCD,m);
|
||||
m = createMessage("SID", anope_event_sid); addCoreMessage(IRCD,m);
|
||||
}
|
||||
|
||||
/* *INDENT-ON* */
|
||||
|
||||
/**
|
||||
* Now tell anope how to use us.
|
||||
**/
|
||||
|
||||
@@ -45,10 +45,9 @@
|
||||
#define DEFAULT_MLOCK CMODE_n | CMODE_t
|
||||
|
||||
|
||||
class RatboxProto : public IRCDProto {
|
||||
class RatboxProto : public IRCDTS6Proto {
|
||||
public:
|
||||
void SendAkillDel(const char *, const char *);
|
||||
void cmd_topic(const char *, const char *, const char *, const char *, time_t);
|
||||
void SendAkill(const char *, const char *, const char *, time_t, time_t, const char *);
|
||||
void SendSVSKill(const char *, const char *, const char *);
|
||||
void SendSVSMode(User *, int, const char **);
|
||||
@@ -56,9 +55,6 @@ class RatboxProto : public IRCDProto {
|
||||
void SendClientIntroduction(const char *, const char *, const char *, const char *, const char *);
|
||||
void SendKick(const char *, const char *, const char *, const char *);
|
||||
void SendNoticeChanops(const char *, const char *, const char *);
|
||||
void cmd_message(const char *, const char *, const char *);
|
||||
void cmd_notice(const char *, const char *, const char *);
|
||||
void cmd_privmsg(const char *, const char *, const char *);
|
||||
void SendBotOp(const char *, const char *);
|
||||
void SendQuit(const char *, const char *);
|
||||
void SendPong(const char *, const char *);
|
||||
|
||||
+2
-188
@@ -483,19 +483,14 @@ void UnrealIRCdProto::SendSVSNOOP(const char *server, int set)
|
||||
send_cmd(NULL, "%s %s %s", send_token("SVSNOOP", "f"), server, set ? "+" : "-");
|
||||
}
|
||||
|
||||
void unreal_cmd_svsadmin(const char *server, int set)
|
||||
{
|
||||
ircd_proto.SendSVSNOOP(server, set);
|
||||
}
|
||||
|
||||
void UnrealIRCdProto::SendAkillDel(const char *user, const char *host)
|
||||
{
|
||||
send_cmd(NULL, "%s - G %s %s %s", send_token("TKL", "BD"), user, host, s_OperServ);
|
||||
}
|
||||
|
||||
void UnrealIRCdProto::cmd_topic(const char *whosets, const char *chan, const char *whosetit, const char *topic, time_t when)
|
||||
void UnrealIRCdProto::SendTopic(BotInfo *whosets, const char *chan, const char *whosetit, const char *topic, time_t when)
|
||||
{
|
||||
send_cmd(whosets, "%s %s %s %lu :%s", send_token("TOPIC", ")"), chan, whosetit, static_cast<unsigned long>(when), topic);
|
||||
send_cmd(whosets->nick, "%s %s %s %lu :%s", send_token("TOPIC", ")"), chan, whosetit, static_cast<unsigned long>(when), topic);
|
||||
}
|
||||
|
||||
void UnrealIRCdProto::SendVhostDel(User *u)
|
||||
@@ -753,26 +748,6 @@ int anope_event_netinfo(const char *source, int ac, const char **av)
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
|
||||
/* TKL
|
||||
* add: remove: spamfilter: spamfilter+TKLEXT sqline:
|
||||
* parv[ 1]: + - +/- + +/-
|
||||
* parv[ 2]: type type type type type
|
||||
* parv[ 3]: user user target target hold
|
||||
* parv[ 4]: host host action action host
|
||||
* parv[ 5]: setby removedby (un)setby setby setby
|
||||
* parv[ 6]: expire_at expire_at (0) expire_at (0) expire_at
|
||||
* parv[ 7]: set_at set_at set_at set_at
|
||||
* parv[ 8]: reason regex tkl duration reason
|
||||
* parv[ 9]: tkl reason [A]
|
||||
* parv[10]: regex
|
||||
*
|
||||
*/
|
||||
int anope_event_tkl(const char *source, int ac, const char **av)
|
||||
{
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
int anope_event_eos(const char *source, int ac, const char **av)
|
||||
{
|
||||
Server *s;
|
||||
@@ -846,12 +821,6 @@ int anope_event_quit(const char *source, int ac, const char **av)
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
int anope_event_pass(const char *source, int ac, const char **av)
|
||||
{
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
|
||||
int anope_event_mode(const char *source, int ac, const char **av)
|
||||
{
|
||||
if (ac < 2)
|
||||
@@ -1244,16 +1213,6 @@ int anope_event_error(const char *source, int ac, const char **av)
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
int anope_event_notice(const char *source, int ac, const char **av)
|
||||
{
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
int anope_event_smo(const char *source, int ac, const char **av)
|
||||
{
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
/* svsjoin
|
||||
parv[0] - sender
|
||||
parv[1] - nick to make join
|
||||
@@ -1279,31 +1238,6 @@ void UnrealIRCdProto::SendSVSPart(const char *source, const char *nick, const ch
|
||||
send_cmd(source, "%s %s :%s", send_token("SVSPART", "BT"), nick, chan);
|
||||
}
|
||||
|
||||
int anope_event_globops(const char *source, int ac, const char **av)
|
||||
{
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
int anope_event_swhois(const char *source, int ac, const char **av)
|
||||
{
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
int anope_event_rehash(const char *source, int ac, const char **av)
|
||||
{
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
int anope_event_credits(const char *source, int ac, const char **av)
|
||||
{
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
int anope_event_admin(const char *source, int ac, const char **av)
|
||||
{
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
int anope_event_sdesc(const char *source, int ac, const char **av)
|
||||
{
|
||||
Server *s;
|
||||
@@ -1396,19 +1330,11 @@ void moduleAddIRCDMsgs(void) {
|
||||
|
||||
updateProtectDetails("PROTECT","PROTECTME","protect","deprotect","AUTOPROTECT","+a","-a");
|
||||
|
||||
m = createMessage("401", anope_event_null); addCoreMessage(IRCD,m);
|
||||
m = createMessage("402", anope_event_null); addCoreMessage(IRCD,m);
|
||||
m = createMessage("436", anope_event_436); addCoreMessage(IRCD,m);
|
||||
m = createMessage("451", anope_event_null); addCoreMessage(IRCD,m);
|
||||
m = createMessage("461", anope_event_null); addCoreMessage(IRCD,m);
|
||||
m = createMessage("AWAY", anope_event_away); addCoreMessage(IRCD,m);
|
||||
if (UseTokens) {
|
||||
m = createMessage("6", anope_event_away); addCoreMessage(IRCD,m);
|
||||
}
|
||||
m = createMessage("INVITE", anope_event_null); addCoreMessage(IRCD,m);
|
||||
if (UseTokens) {
|
||||
m = createMessage("*", anope_event_null); addCoreMessage(IRCD,m);
|
||||
}
|
||||
m = createMessage("JOIN", anope_event_join); addCoreMessage(IRCD,m);
|
||||
if (UseTokens) {
|
||||
m = createMessage("C", anope_event_join); addCoreMessage(IRCD,m);
|
||||
@@ -1433,10 +1359,6 @@ void moduleAddIRCDMsgs(void) {
|
||||
if (UseTokens) {
|
||||
m = createMessage("&", anope_event_nick); addCoreMessage(IRCD,m);
|
||||
}
|
||||
m = createMessage("NOTICE", anope_event_notice); addCoreMessage(IRCD,m);
|
||||
if (UseTokens) {
|
||||
m = createMessage("B", anope_event_notice); addCoreMessage(IRCD,m);
|
||||
}
|
||||
m = createMessage("PART", anope_event_part); addCoreMessage(IRCD,m);
|
||||
if (UseTokens) {
|
||||
m = createMessage("D", anope_event_part); addCoreMessage(IRCD,m);
|
||||
@@ -1473,62 +1395,10 @@ void moduleAddIRCDMsgs(void) {
|
||||
if (UseTokens) {
|
||||
m = createMessage("v", anope_event_mode); addCoreMessage(IRCD,m);
|
||||
}
|
||||
m = createMessage("USER", anope_event_null); addCoreMessage(IRCD,m);
|
||||
if (UseTokens) {
|
||||
m = createMessage("%", anope_event_null); addCoreMessage(IRCD,m);
|
||||
}
|
||||
m = createMessage("WALLOPS", anope_event_null); addCoreMessage(IRCD,m);
|
||||
if (UseTokens) {
|
||||
m = createMessage("=", anope_event_null); addCoreMessage(IRCD,m);
|
||||
}
|
||||
m = createMessage("WHOIS", anope_event_whois); addCoreMessage(IRCD,m);
|
||||
if (UseTokens) {
|
||||
m = createMessage("#", anope_event_whois); addCoreMessage(IRCD,m);
|
||||
}
|
||||
m = createMessage("AKILL", anope_event_null); addCoreMessage(IRCD,m);
|
||||
if (UseTokens) {
|
||||
m = createMessage("V", anope_event_null); addCoreMessage(IRCD,m);
|
||||
}
|
||||
m = createMessage("GLOBOPS", anope_event_globops); addCoreMessage(IRCD,m);
|
||||
if (UseTokens) {
|
||||
m = createMessage("]", anope_event_globops); addCoreMessage(IRCD,m);
|
||||
}
|
||||
m = createMessage("GNOTICE", anope_event_null); addCoreMessage(IRCD,m);
|
||||
if (UseTokens) {
|
||||
m = createMessage("Z", anope_event_null); addCoreMessage(IRCD,m);
|
||||
}
|
||||
m = createMessage("GOPER", anope_event_null); addCoreMessage(IRCD,m);
|
||||
if (UseTokens) {
|
||||
m = createMessage("[", anope_event_null); addCoreMessage(IRCD,m);
|
||||
}
|
||||
m = createMessage("RAKILL", anope_event_null); addCoreMessage(IRCD,m);
|
||||
if (UseTokens) {
|
||||
m = createMessage("Y", anope_event_null); addCoreMessage(IRCD,m);
|
||||
}
|
||||
m = createMessage("SILENCE", anope_event_null); addCoreMessage(IRCD,m);
|
||||
if (UseTokens) {
|
||||
m = createMessage("U", anope_event_null); addCoreMessage(IRCD,m);
|
||||
}
|
||||
m = createMessage("SVSKILL", anope_event_null); addCoreMessage(IRCD,m);
|
||||
if (UseTokens) {
|
||||
m = createMessage("h", anope_event_null); addCoreMessage(IRCD,m);
|
||||
}
|
||||
m = createMessage("SVSNICK", anope_event_null); addCoreMessage(IRCD,m);
|
||||
if (UseTokens) {
|
||||
m = createMessage("e", anope_event_null); addCoreMessage(IRCD,m);
|
||||
}
|
||||
m = createMessage("SVSNOOP", anope_event_null); addCoreMessage(IRCD,m);
|
||||
if (UseTokens) {
|
||||
m = createMessage("f", anope_event_null); addCoreMessage(IRCD,m);
|
||||
}
|
||||
m = createMessage("SQLINE", anope_event_null); addCoreMessage(IRCD,m);
|
||||
if (UseTokens) {
|
||||
m = createMessage("c", anope_event_null); addCoreMessage(IRCD,m);
|
||||
}
|
||||
m = createMessage("UNSQLINE", anope_event_null); addCoreMessage(IRCD,m);
|
||||
if (UseTokens) {
|
||||
m = createMessage("d", anope_event_null); addCoreMessage(IRCD,m);
|
||||
}
|
||||
m = createMessage("PROTOCTL", anope_event_capab); addCoreMessage(IRCD,m);
|
||||
if (UseTokens) {
|
||||
m = createMessage("_", anope_event_capab); addCoreMessage(IRCD,m);
|
||||
@@ -1561,82 +1431,26 @@ void moduleAddIRCDMsgs(void) {
|
||||
if (UseTokens) {
|
||||
m = createMessage("AE", anope_event_setname); addCoreMessage(IRCD,m);
|
||||
}
|
||||
m = createMessage("TKL", anope_event_tkl); addCoreMessage(IRCD,m);
|
||||
if (UseTokens) {
|
||||
m = createMessage("BD", anope_event_tkl); addCoreMessage(IRCD,m);
|
||||
}
|
||||
m = createMessage("EOS", anope_event_eos); addCoreMessage(IRCD,m);
|
||||
if (UseTokens) {
|
||||
m = createMessage("ES", anope_event_eos); addCoreMessage(IRCD,m);
|
||||
}
|
||||
m = createMessage("PASS", anope_event_pass); addCoreMessage(IRCD,m);
|
||||
if (UseTokens) {
|
||||
m = createMessage("<", anope_event_pass); addCoreMessage(IRCD,m);
|
||||
}
|
||||
m = createMessage("ERROR", anope_event_error); addCoreMessage(IRCD,m);
|
||||
if (UseTokens) {
|
||||
m = createMessage("5", anope_event_error); addCoreMessage(IRCD,m);
|
||||
}
|
||||
m = createMessage("SMO", anope_event_smo); addCoreMessage(IRCD,m);
|
||||
if (UseTokens) {
|
||||
m = createMessage("AU", anope_event_smo); addCoreMessage(IRCD,m);
|
||||
}
|
||||
m = createMessage("UMODE2", anope_event_umode2); addCoreMessage(IRCD,m);
|
||||
if (UseTokens) {
|
||||
m = createMessage("|", anope_event_umode2); addCoreMessage(IRCD,m);
|
||||
}
|
||||
m = createMessage("SWHOIS", anope_event_swhois); addCoreMessage(IRCD,m);
|
||||
if (UseTokens) {
|
||||
m = createMessage("BA", anope_event_swhois); addCoreMessage(IRCD,m);
|
||||
}
|
||||
m = createMessage("SJOIN", anope_event_sjoin); addCoreMessage(IRCD,m);
|
||||
if (UseTokens) {
|
||||
m = createMessage("~", anope_event_sjoin); addCoreMessage(IRCD,m);
|
||||
}
|
||||
m = createMessage("REHASH", anope_event_rehash); addCoreMessage(IRCD,m);
|
||||
if (UseTokens) {
|
||||
m = createMessage("O", anope_event_rehash); addCoreMessage(IRCD,m);
|
||||
}
|
||||
m = createMessage("ADMIN", anope_event_admin); addCoreMessage(IRCD,m);
|
||||
if (UseTokens) {
|
||||
m = createMessage("@", anope_event_admin); addCoreMessage(IRCD,m);
|
||||
}
|
||||
m = createMessage("CREDITS", anope_event_credits); addCoreMessage(IRCD,m);
|
||||
if (UseTokens) {
|
||||
m = createMessage("AJ", anope_event_credits); addCoreMessage(IRCD,m);
|
||||
}
|
||||
m = createMessage("SDESC", anope_event_sdesc); addCoreMessage(IRCD,m);
|
||||
if (UseTokens) {
|
||||
m = createMessage("AG", anope_event_sdesc); addCoreMessage(IRCD,m);
|
||||
}
|
||||
m = createMessage("HTM", anope_event_null); addCoreMessage(IRCD,m);
|
||||
if (UseTokens) {
|
||||
m = createMessage("BH", anope_event_null); addCoreMessage(IRCD,m);
|
||||
}
|
||||
m = createMessage("HELP", anope_event_null); addCoreMessage(IRCD,m);
|
||||
if (UseTokens) {
|
||||
m = createMessage("4", anope_event_null); addCoreMessage(IRCD,m);
|
||||
}
|
||||
m = createMessage("TRACE", anope_event_null); addCoreMessage(IRCD,m);
|
||||
if (UseTokens) {
|
||||
m = createMessage("b", anope_event_null); addCoreMessage(IRCD,m);
|
||||
}
|
||||
m = createMessage("LAG", anope_event_null); addCoreMessage(IRCD,m);
|
||||
if (UseTokens) {
|
||||
m = createMessage("AF", anope_event_null); addCoreMessage(IRCD,m);
|
||||
}
|
||||
m = createMessage("RPING", anope_event_null); addCoreMessage(IRCD,m);
|
||||
if (UseTokens) {
|
||||
m = createMessage("AM", anope_event_null); addCoreMessage(IRCD,m);
|
||||
}
|
||||
m = createMessage("SENDSNO", anope_event_null); addCoreMessage(IRCD,m);
|
||||
if (UseTokens) {
|
||||
m = createMessage("Ss", anope_event_null); addCoreMessage(IRCD,m);
|
||||
}
|
||||
m = createMessage("SENDUMODE", anope_event_null); addCoreMessage(IRCD,m);
|
||||
if (UseTokens) {
|
||||
m = createMessage("AP", anope_event_null); addCoreMessage(IRCD,m);
|
||||
}
|
||||
|
||||
/* The none token version of these is in messages.c */
|
||||
if (UseTokens) {
|
||||
|
||||
@@ -84,7 +84,7 @@ class UnrealIRCdProto : public IRCDProto {
|
||||
public:
|
||||
void SendSVSNOOP(const char *, int);
|
||||
void SendAkillDel(const char *, const char *);
|
||||
void cmd_topic(const char *, const char *, const char *, const char *, time_t);
|
||||
void SendTopic(BotInfo *, const char *, const char *, const char *, time_t);
|
||||
void SendVhostDel(User *);
|
||||
void SendAkill(const char *, const char *, const char *, time_t, time_t, const char *);
|
||||
void SendSVSKill(const char *, const char *, const char *);
|
||||
|
||||
@@ -198,7 +198,7 @@ struct nickcore_ {
|
||||
NickCore *next, *prev;
|
||||
|
||||
char *display; /* How the nick is displayed */
|
||||
char *pass; /* Password of the nicks */
|
||||
char pass[32]; /* Password of the nicks */
|
||||
char *email; /* E-mail associated to the nick */
|
||||
char *greet; /* Greet associated to the nick */
|
||||
uint32 icq; /* ICQ # associated to the nick */
|
||||
@@ -341,7 +341,7 @@ int main(int argc, char *argv[])
|
||||
|
||||
/* Section I: Nicks */
|
||||
/* Ia: First database */
|
||||
if ((f = open_db_read("NickServ", NICK_DB_1, 13))) {
|
||||
if ((f = open_db_read("NickServ", NICK_DB_1, 14))) {
|
||||
|
||||
NickAlias *na, **nalast, *naprev;
|
||||
NickCore *nc, **nclast, *ncprev;
|
||||
@@ -372,7 +372,7 @@ int main(int argc, char *argv[])
|
||||
ncprev = nc;
|
||||
|
||||
READ(read_string(&nc->display, f));
|
||||
READ(read_string(&nc->pass, f));
|
||||
READ(read_buffer(nc->pass, f));
|
||||
READ(read_string(&nc->email, f));
|
||||
READ(read_string(&nc->greet, f));
|
||||
READ(read_uint32(&nc->icq, f));
|
||||
@@ -451,7 +451,7 @@ int main(int argc, char *argv[])
|
||||
|
||||
/* Ib: Second database */
|
||||
if (!nonick) {
|
||||
if ((f = open_db_read("NickServ", NICK_DB_2, 13))) {
|
||||
if ((f = open_db_read("NickServ", NICK_DB_2, 14))) {
|
||||
|
||||
NickAlias *na, *naptr;
|
||||
NickCore *nc;
|
||||
@@ -470,7 +470,7 @@ int main(int argc, char *argv[])
|
||||
|
||||
nc = (NickCore *)calloc(1, sizeof(NickCore));
|
||||
READ(read_string(&nc->display, f));
|
||||
READ(read_string(&nc->pass, f));
|
||||
READ(read_buffer(nc->pass, f));
|
||||
READ(read_string(&nc->email, f));
|
||||
|
||||
naptr = findnick(nc->display);
|
||||
@@ -640,7 +640,7 @@ int main(int argc, char *argv[])
|
||||
|
||||
/* Ic: Saving */
|
||||
if (!nonick) {
|
||||
if ((f = open_db_write("NickServ", NICK_DB_NEW, 13))) {
|
||||
if ((f = open_db_write("NickServ", NICK_DB_NEW, 14))) {
|
||||
|
||||
NickAlias *na;
|
||||
NickCore *nc;
|
||||
@@ -653,7 +653,7 @@ int main(int argc, char *argv[])
|
||||
for (nc = nclists[i]; nc; nc = nc->next) {
|
||||
SAFE(write_int8(1, f));
|
||||
SAFE(write_string(nc->display, f));
|
||||
SAFE(write_string(nc->pass, f));
|
||||
SAFE(write_buffer(nc->pass, f));
|
||||
SAFE(write_string(nc->email, f));
|
||||
SAFE(write_string(nc->greet, f));
|
||||
SAFE(write_int32(nc->icq, f));
|
||||
|
||||
+5
-1
@@ -9,10 +9,14 @@ VERSION_MAJOR="1"
|
||||
VERSION_MINOR="7"
|
||||
VERSION_PATCH="22"
|
||||
VERSION_EXTRA="-svn"
|
||||
VERSION_BUILD="1461"
|
||||
VERSION_BUILD="1462"
|
||||
|
||||
# $Log$
|
||||
#
|
||||
# BUILD : 1.7.22 (1462)
|
||||
# BUGS : 940
|
||||
# NOTES : Fixed a bug in the database system causing certain nickserv password hashes to be stored incorrectly. Note that THIS BREAKS BACKWARDS COMPATIBILITY !!! As of now nick.db is no longer backwards compatible.
|
||||
#
|
||||
# BUILD : 1.7.22 (1461)
|
||||
# BUGS :
|
||||
# NOTES : Fixed possible compile warning in os_ignore_db.
|
||||
|
||||
Reference in New Issue
Block a user