mirror of
https://github.com/anope/anope.git
synced 2026-07-03 11:13:13 +02:00
BUILD : 1.7.5 (426) BUGS : 133, 196, 200 NOTES : Add method to deal with hardcored sqline in the ircd (133), fixes timestamp errors with TOPIC (196), modes structs externed so mod coders can get to them easier (N/A), MS CHECK now checks the right value (200)
git-svn-id: svn://svn.anope.org/anope/trunk@426 31f1291d-b8d6-0310-a050-a5561fc1590b git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@283 5417fbe8-f217-4b02-8779-1006273d7864
This commit is contained in:
parent
5c5e36be3b
commit
e769d30b90
@@ -33,6 +33,8 @@ Provided by Trystan <trystan@nomadirc.net> - 2004
|
||||
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]
|
||||
10/27 F Fixed hardcored ircd sqlines from taking out services [#133]
|
||||
10/27 F Fixed TOPIC timestamp not being read correctly [#196]
|
||||
10/24 F Fixed OPNOTICE when doing /CS OP [#198]
|
||||
10/20 F Updated Base64 Lib to fix Unreal NICKIP. [ #00]
|
||||
10/16 F Fixed BS TTB. [#185]
|
||||
@@ -66,6 +68,7 @@ Provided by Trystan <trystan@nomadirc.net> - 2004
|
||||
Provided by DrStein <gacevedo@anope.org> - 2004
|
||||
10/05 A CS/NS INFO shows the expire time. [ #00]
|
||||
10/05 A NS GLIST shows the expire time. [ #00]
|
||||
10/27 F MS CHECK to look for the correct sender value. [#200]
|
||||
10/21 F Updated Spanish language file. [ #00]
|
||||
10/15 F More Check and trap for forbidden nicks on HS. [#183]
|
||||
10/07 F NEWS reordering issue [ #00]
|
||||
|
||||
@@ -27,6 +27,12 @@ E IRCDCAPAB ircdcap[];
|
||||
E const char flood_mode_char_set[];
|
||||
E const char flood_mode_char_remove[];
|
||||
E int UseTSMODE; /* hack to get around bahamut clones that don't send TSMODE */
|
||||
extern unsigned long umodes[128];
|
||||
extern char csmodes[128];
|
||||
extern CMMode cmmodes[128];
|
||||
extern CBMode cbmodes[128];
|
||||
extern CBModeInfo cbmodeinfos[];
|
||||
extern CUMode cumodes[128];
|
||||
|
||||
/**** actions.c ****/
|
||||
|
||||
@@ -1094,6 +1100,8 @@ extern void anope_cmd_jupe(char *jserver, char *who, char *reason);
|
||||
extern void anope_cmd_global_legacy(char *source, char *fmt);
|
||||
extern void wallops(char *source, const char *fmt, ...);
|
||||
|
||||
extern int anope_valid_nick(char *nick);
|
||||
|
||||
extern char *common_get_vident(User *u);
|
||||
extern char *common_get_vhost(User *u);
|
||||
extern char *send_token(char *token1, char *token2);
|
||||
|
||||
@@ -1613,5 +1613,14 @@ void anope_cmd_global_legacy(char *source, char *fmt)
|
||||
send_cmd(source ? source : ServerName, "GLOBOPS :%s", fmt);
|
||||
}
|
||||
|
||||
/*
|
||||
1 = valid nick
|
||||
0 = nick is in valid
|
||||
*/
|
||||
int anope_valid_nick(char *nick)
|
||||
{
|
||||
/* no hard coded invalid nicks */
|
||||
return 1;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1227,6 +1227,13 @@ static int do_bot(User * u)
|
||||
return MOD_CONT;
|
||||
}
|
||||
}
|
||||
|
||||
/* check for hardcored ircd forbidden nicks */
|
||||
if (!anope_valid_nick(nick)) {
|
||||
notice_lang(s_BotServ, u, BOT_BAD_NICK);
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
if (!isValidHost(host, 3)) {
|
||||
notice_lang(s_BotServ, u, BOT_BAD_HOST);
|
||||
return MOD_CONT;
|
||||
@@ -1331,6 +1338,13 @@ static int do_bot(User * u)
|
||||
return MOD_CONT;
|
||||
}
|
||||
}
|
||||
|
||||
/* check for hardcored ircd forbidden nicks */
|
||||
if (!anope_valid_nick(nick)) {
|
||||
notice_lang(s_BotServ, u, BOT_BAD_NICK);
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
if (!isValidHost(host, 3)) {
|
||||
notice_lang(s_BotServ, u, BOT_BAD_HOST);
|
||||
return MOD_CONT;
|
||||
|
||||
+5
-2
@@ -929,9 +929,12 @@ void do_topic(const char *source, int ac, char **av)
|
||||
time_t topic_time;
|
||||
|
||||
if (ircd->sjb64) {
|
||||
ts = base64dects(av[0]);
|
||||
ts = base64dects(av[2]);
|
||||
if (debug) {
|
||||
alog("debug: encoded TOPIC TS %s converted to %d", av[2], ts);
|
||||
}
|
||||
} else {
|
||||
ts = strtoul(av[0], NULL, 10);
|
||||
ts = strtoul(av[2], NULL, 10);
|
||||
}
|
||||
|
||||
topic_time = ts;
|
||||
|
||||
+6
-1
@@ -1801,7 +1801,12 @@ int check_topiclock(Channel * c, time_t topic_time)
|
||||
strscpy(c->topic_setter, ci->last_topic_setter, NICKMAX);
|
||||
if (ircd->topictsforward) {
|
||||
/* Because older timestamps are rejected */
|
||||
c->topic_time = topic_time + 1;
|
||||
/* Some how the topic_time from do_topic is 0 set it to current + 1 */
|
||||
if (!topic_time) {
|
||||
c->topic_time = time(NULL) + 1;
|
||||
} else {
|
||||
c->topic_time = topic_time + 1;
|
||||
}
|
||||
} else {
|
||||
c->topic_time = ci->last_topic_time;
|
||||
}
|
||||
|
||||
@@ -1362,4 +1362,14 @@ void anope_cmd_global_legacy(char *source, char *fmt)
|
||||
send_cmd(source ? source : ServerName, "GLOBOPS :%s", fmt);
|
||||
}
|
||||
|
||||
/*
|
||||
1 = valid nick
|
||||
0 = nick is in valid
|
||||
*/
|
||||
int anope_valid_nick(char *nick)
|
||||
{
|
||||
/* no hard coded invalid nicks */
|
||||
return 1;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1485,5 +1485,14 @@ void anope_cmd_jupe(char *jserver, char *who, char *reason)
|
||||
new_server(me_server, jserver, rbuf, SERVER_JUPED, NULL);
|
||||
}
|
||||
|
||||
/*
|
||||
1 = valid nick
|
||||
0 = nick is in valid
|
||||
*/
|
||||
int anope_valid_nick(char *nick)
|
||||
{
|
||||
/* no hard coded invalid nicks */
|
||||
return 1;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
+1
-1
@@ -1393,7 +1393,7 @@ static int do_memocheck(User * u)
|
||||
have to loop backwards */
|
||||
|
||||
for (i = (mi->memocount - 1); i >= 0; i--) {
|
||||
if (!stricmp(mi->memos[i].sender, u->nick)) {
|
||||
if (!stricmp(mi->memos[i].sender, u->na->nc->display)) {
|
||||
found = 1; /* Yes, we've found the memo */
|
||||
|
||||
tm = localtime(&mi->memos[i].time);
|
||||
|
||||
@@ -1669,4 +1669,14 @@ void anope_cmd_global_legacy(char *source, char *fmt)
|
||||
send_cmd(source ? source : ServerName, "GLOBOPS :%s", fmt);
|
||||
}
|
||||
|
||||
/*
|
||||
1 = valid nick
|
||||
0 = nick is in valid
|
||||
*/
|
||||
int anope_valid_nick(char *nick)
|
||||
{
|
||||
/* no hard coded invalid nicks */
|
||||
return 1;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1605,4 +1605,14 @@ void anope_cmd_global_legacy(char *source, char *fmt)
|
||||
send_cmd(source ? source : ServerName, "GLOBOPS :%s", fmt);
|
||||
}
|
||||
|
||||
/*
|
||||
1 = valid nick
|
||||
0 = nick is in valid
|
||||
*/
|
||||
int anope_valid_nick(char *nick)
|
||||
{
|
||||
/* no hard coded invalid nicks */
|
||||
return 1;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1708,4 +1708,14 @@ void anope_cmd_global_legacy(char *source, char *fmt)
|
||||
send_cmd(source ? source : ServerName, "GLOBOPS :%s", fmt);
|
||||
}
|
||||
|
||||
/*
|
||||
1 = valid nick
|
||||
0 = nick is in valid
|
||||
*/
|
||||
int anope_valid_nick(char *nick)
|
||||
{
|
||||
/* no hard coded invalid nicks */
|
||||
return 1;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1772,4 +1772,14 @@ void anope_cmd_global_legacy(char *source, char *fmt)
|
||||
send_cmd(source ? source : ServerName, "GLOBOPS :%s", fmt);
|
||||
}
|
||||
|
||||
/*
|
||||
1 = valid nick
|
||||
0 = nick is in valid
|
||||
*/
|
||||
int anope_valid_nick(char *nick)
|
||||
{
|
||||
/* no hard coded invalid nicks */
|
||||
return 1;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1561,4 +1561,19 @@ void anope_cmd_global_legacy(char *source, char *fmt)
|
||||
send_token("GLOBOPS", "]"), fmt);
|
||||
}
|
||||
|
||||
/*
|
||||
1 = valid nick
|
||||
0 = nick is in valid
|
||||
*/
|
||||
int anope_valid_nick(char *nick)
|
||||
{
|
||||
if (!stricmp("ircd", nick)) {
|
||||
return 0;
|
||||
}
|
||||
if (!stricmp("irc", nick)) {
|
||||
return 0;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -2136,4 +2136,19 @@ void anope_cmd_jupe(char *jserver, char *who, char *reason)
|
||||
new_server(me_server, jserver, rbuf, SERVER_JUPED, NULL);
|
||||
}
|
||||
|
||||
/*
|
||||
1 = valid nick
|
||||
0 = nick is in valid
|
||||
*/
|
||||
int anope_valid_nick(char *nick)
|
||||
{
|
||||
if (!stricmp("ircd", nick)) {
|
||||
return 0;
|
||||
}
|
||||
if (!stricmp("irc", nick)) {
|
||||
return 0;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1681,4 +1681,14 @@ void anope_cmd_global_legacy(char *source, char *fmt)
|
||||
send_cmd(source ? source : ServerName, "GLOBOPS :%s", fmt);
|
||||
}
|
||||
|
||||
/*
|
||||
1 = valid nick
|
||||
0 = nick is in valid
|
||||
*/
|
||||
int anope_valid_nick(char *nick)
|
||||
{
|
||||
/* no hard coded invalid nicks */
|
||||
return 1;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
+6
-1
@@ -8,10 +8,15 @@
|
||||
VERSION_MAJOR="1"
|
||||
VERSION_MINOR="7"
|
||||
VERSION_PATCH="5"
|
||||
VERSION_BUILD="424"
|
||||
VERSION_BUILD="426"
|
||||
|
||||
# $Log$
|
||||
#
|
||||
# BUILD : 1.7.5 (426)
|
||||
# BUGS : 133, 196, 200
|
||||
# NOTES : Add method to deal with hardcored sqline in the ircd (133), fixes timestamp errors with TOPIC (196), modes
|
||||
# structs externed so mod coders can get to them easier (N/A), MS CHECK now checks the right value (200)
|
||||
#
|
||||
# BUILD : 1.7.5 (424)
|
||||
# BUGS : N/A
|
||||
# NOTES : Updated de.l per crazytoon
|
||||
|
||||
Reference in New Issue
Block a user