1
0
mirror of https://github.com/anope/anope.git synced 2026-06-28 15:36:38 +02:00

BUILD : 1.7.6 (439) BUGS : 68, 170, 209 NOTES : 1. DrSteins XOP patch (bug# 170), 2. Cleaned up the English language file for grammar (bug# 209), 3. Patch that fixes segfaults under NetBSD, 4. Cleaned up some places that could lead to segfaults, 5. DrSteins patch for NS ACCESS LIST, 6. Chanserv taking modes more than once (bug #68), 7. Fixed errors when doing "make" under some BSD systems, 8. Fixed syntax error when NSForceEmail is disabled

git-svn-id: svn://svn.anope.org/anope/trunk@439 31f1291d-b8d6-0310-a050-a5561fc1590b


git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@294 5417fbe8-f217-4b02-8779-1006273d7864
This commit is contained in:
trystan trystan@31f1291d-b8d6-0310-a050-a5561fc1590b
2004-11-07 03:36:30 +00:00
parent b4489cffed
commit c58d37f49d
24 changed files with 173 additions and 58 deletions
+19 -10
View File
@@ -28,21 +28,24 @@ Provided by Trystan <trystan@nomadirc.net> - 2004
10/05 A Globalized CS/NS STATUS messages [ #00]
10/02 A Added NewsCount as new feature in services.conf [ #00]
08/28 A CSupport for +I channel mode. [ #00]
08/28 A Complete support for Unreal3.2 [ #00]
08/28 A Complete support for Unreal3.2. [ #00]
08/28 A New BASE64 general library. [ #00]
09/07 A Unreal32 channel mode +T support. [ #00]
09/07 A Ircd CHANMODE now trapped and stored. [ #00]
08/23 A New protocol independent design (aka anope-capab). [ #00]
08/28 A New IRCD document for adding new ircd support to new design. [ #00]
10/31 F Fixes configure warning on BSD systems [#160]
10/30 F Fixed OS CLEARMODE, so the correct messages are sent [#207]
10/30 F Fixed MS INFO using the correct message [#205]
10/29 F Fixed CS CLEAR MODES not resetting the modes [#182]
10/29 F Fixed LogUser message, now normalizes the "realname" for display [#199]
10/29 F Fixed BS ACT, if the string contained control character 1 [#193]
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]
11/06 F Fixed syntax error when NSForceEmail is disabled [ #00]
11/06 F Fixed using "make" under some BSD systems [ #00]
11/06 F Chanserv taking modes more than once. [ #68]
10/31 F Fixes configure warning on BSD systems. [#160]
10/30 F Fixed OS CLEARMODE, so the correct messages are sent. [#207]
10/30 F Fixed MS INFO using the correct message. [#205]
10/29 F Fixed CS CLEAR MODES not resetting the modes. [#182]
10/29 F Fixed LogUser message, now normalizes the "realname" for display. [#199]
10/29 F Fixed BS ACT, if the string contained control character 1. [#193]
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]
10/16 F RestrictOperNicks is no longer case sensitive. [#190]
@@ -73,8 +76,10 @@ Provided by Trystan <trystan@nomadirc.net> - 2004
08/28 F Buffer preparation for vsnprintf() call. [#158]
Provided by DrStein <gacevedo@anope.org> - 2004
11/06 A NS ACCESS LIST reports correctly that the list is empty [ #00]
10/05 A CS/NS INFO shows the expire time. [ #00]
10/05 A NS GLIST shows the expire time. [ #00]
11/06 F Service Admins can now modify the XOP list [#170]
10/29 F ChanServ XOP reordering fix [#187]
10/29 F ChanServ AKICK reordering fix [#201]
10/29 F ChanServ now requires a more obscure password [#202]
@@ -89,6 +94,10 @@ Provided by DrStein <gacevedo@anope.org> - 2004
Provided by crazytoon <da.crew@gmx.net> - 2004
10/24 A Updated German language file [ #00]
Provided by Miles Nordin <carton@Ivy.NET> - 2004
11/06 F Fixes segfault under NetBSD with channel names using i18n symbols [ #00]
Anope Version 1.7.5
-------------------
Provided by Anope Dev. <dev@anope.org> - 2004
+2
View File
@@ -23,6 +23,8 @@ Anope Version 1.7.6
NICK_GLIST_REPLY
NICK_GLIST_REPLY_ADMIN
CHAN_INFO_EXPIRE
NICK_ACCESS_LIST_EMPTY
NICK_ACCESS_LIST_X_EMPTY
*** Mod Strings:
+18 -16
View File
@@ -18,22 +18,24 @@ all: $(LANGOBJS)
distclean: clean spotless
install: all
mkdir -p $(DATDEST)/languages
ifdef RUNGROUP
chgrp $(RUNGROUP) $(DATDEST)/languages
chmod 770 $(DATDEST)/languages
else
chmod 700 $(DATDEST)/languages
endif
cp $(LANGOBJS) $(DATDEST)/languages
ifdef RUNGROUP
chgrp $(RUNGROUP) $(DATDEST)/languages/*
chmod 660 $(DATDEST)/languages/*
else
chmod 600 $(DATDEST)/languages/*
endif
test -d $(DATDEST)/languages || mkdir $(DATDEST)/languages
@if [ "$(RUNGROUP)" ] ; then \
echo chgrp -R $(RUNGROUP) $(DATDEST)/languages ; \
chgrp -R $(RUNGROUP) $(DATDEST)/languages ; \
echo chmod -R g+rw $(DATDEST)/languages ; \
chmod -R g+rw $(DATDEST)/languages ; \
$(CP) $(LANGOBJS) $(DATDEST)/languages ; \
echo chgrp -R $(RUNGROUP) $(DATDEST)/languages ; \
chgrp -R $(RUNGROUP) $(DATDEST)/languages/* ; \
echo chmod -R g+rw $(DATDEST)/languages/* ; \
chmod -R g+rw $(DATDEST)/languages/* ; \
fi
@if [ ! "$(RUNGROUP)" ] ; then \
chmod 700 $(DATDEST)/languages/ ; \
$(CP) $(LANGOBJS) $(DATDEST)/languages ; \
chmod 600 $(DATDEST)/languages/* ; \
fi
clean:
rm -f $(LANGOBJS) langcomp
+4
View File
@@ -550,6 +550,10 @@ NICK_ACCESS_LIST
Lllista d'accés:
NICK_ACCESS_LIST_X
Lllista d'accés per %s:
NICK_ACCESS_LIST_EMPTY
Your access list is empty.
NICK_ACCESS_LIST_X_EMPTY
Access list for %s is empty.
# Status messages
NICK_STATUS_0
+4
View File
@@ -570,6 +570,10 @@ NICK_ACCESS_LIST
Access-Liste:
NICK_ACCESS_LIST_X
Access-List von %s:
NICK_ACCESS_LIST_EMPTY
Your access list is empty.
NICK_ACCESS_LIST_X_EMPTY
Access list for %s is empty.
# Status messages
NICK_STATUS_0
+15 -11
View File
@@ -540,6 +540,10 @@ NICK_ACCESS_LIST
Access list:
NICK_ACCESS_LIST_X
Access list for %s:
NICK_ACCESS_LIST_EMPTY
Your access list is empty.
NICK_ACCESS_LIST_X_EMPTY
Access list for %s is empty.
# Status messages
NICK_STATUS_0
@@ -589,7 +593,7 @@ NICK_INFO_GREET
NICK_INFO_OPTIONS
Options: %s
NICK_INFO_EXPIRE
Expires in: %s
Expires on: %s
# These strings MUST NOT be empty
NICK_INFO_OPT_KILL
Protection
@@ -1394,7 +1398,7 @@ CHAN_INFO_OPT_NONE
CHAN_INFO_MODE_LOCK
Mode lock: %s
CHAN_INFO_EXPIRE
Expires in: %s
Expires on: %s
CHAN_INFO_NO_EXPIRE
This channel will not expire.
@@ -2573,29 +2577,29 @@ OPER_SET_IGNORE_OFF
OPER_SET_IGNORE_ERROR
Setting for IGNORE must be ON or OFF.
OPER_SET_READONLY_ON
Services is now in read-only mode.
Services are now in read-only mode.
OPER_SET_READONLY_OFF
Services is now in read-write mode.
Services are now in read-write mode.
OPER_SET_READONLY_ERROR
Setting for READONLY must be ON or OFF.
OPER_SET_LOGCHAN_ON
Services is now reporting log messages to %s.
Services are now reporting log messages to %s.
OPER_SET_LOGCHAN_OFF
Services is no longer reporting log messages to a channel.
Services are no longer reporting log messages to a channel.
OPER_SET_LOGCHAN_ERROR
Setting for LOGCHAN must be ON or OFF and LogChannel must be defined.
OPER_SET_DEBUG_ON
Services is now in debug mode.
Services are now in debug mode.
OPER_SET_DEBUG_OFF
Services is now in non-debug mode.
Services are now in non-debug mode.
OPER_SET_DEBUG_LEVEL
Services is now in debug mode (level %d).
Services are now in debug mode (level %d).
OPER_SET_DEBUG_ERROR
Setting for DEBUG must be ON, OFF, or a positive number.
OPER_SET_NOEXPIRE_ON
Services is now in no expire mode.
Services are now in no expire mode.
OPER_SET_NOEXPIRE_OFF
Services is now in expire mode.
Services are now in expire mode.
OPER_SET_NOEXPIRE_ERROR
Setting for NOEXPIRE must be ON or OFF.
OPER_SET_UNKNOWN_OPTION
+4
View File
@@ -554,6 +554,10 @@ NICK_ACCESS_LIST
Lista de acceso:
NICK_ACCESS_LIST_X
Lista de acceso para %s:
NICK_ACCESS_LIST_EMPTY
Tu lista de acceso esta vacia.
NICK_ACCESS_LIST_X_EMPTY
La lista de acceso para %s esta vacia.
# Status messages
NICK_STATUS_0
+4
View File
@@ -552,6 +552,10 @@ NICK_ACCESS_LIST
Liste d'accès:
NICK_ACCESS_LIST_X
Liste d'accès de %s:
NICK_ACCESS_LIST_EMPTY
Your access list is empty.
NICK_ACCESS_LIST_X_EMPTY
Access list for %s is empty.
# Status messages
NICK_STATUS_0
+4
View File
@@ -548,6 +548,10 @@ NICK_ACCESS_LIST
Ëßóôá ðñüóâáóçò:
NICK_ACCESS_LIST_X
Ëßóôá ðñüóâáóçò ãéá %s:
NICK_ACCESS_LIST_EMPTY
Your access list is empty.
NICK_ACCESS_LIST_X_EMPTY
Access list for %s is empty.
# Status messages
NICK_STATUS_0
+4
View File
@@ -547,6 +547,10 @@ NICK_ACCESS_LIST
Hozzáférési lista:
NICK_ACCESS_LIST_X
%s hozzáférési listája:
NICK_ACCESS_LIST_EMPTY
Your access list is empty.
NICK_ACCESS_LIST_X_EMPTY
Access list for %s is empty.
# Status messages
NICK_STATUS_0
+4
View File
@@ -549,6 +549,10 @@ NICK_ACCESS_LIST
Lista di accesso:
NICK_ACCESS_LIST_X
Lista di accesso di %s:
NICK_ACCESS_LIST_EMPTY
Your access list is empty.
NICK_ACCESS_LIST_X_EMPTY
Access list for %s is empty.
# Status messages
NICK_STATUS_0
+4
View File
@@ -551,6 +551,10 @@ NICK_ACCESS_LIST
Toegangslijst:
NICK_ACCESS_LIST_X
Toegangslijst voor %s:
NICK_ACCESS_LIST_EMPTY
Your access list is empty.
NICK_ACCESS_LIST_X_EMPTY
Access list for %s is empty.
# Status messages
NICK_STATUS_0
+4
View File
@@ -601,6 +601,10 @@ NICK_ACCESS_LIST
Lista dostêpu:
NICK_ACCESS_LIST_X
Lista dostêpu dla %s:
NICK_ACCESS_LIST_EMPTY
Your access list is empty.
NICK_ACCESS_LIST_X_EMPTY
Access list for %s is empty.
# Status messages
NICK_STATUS_0
+4
View File
@@ -548,6 +548,10 @@ NICK_ACCESS_LIST
Lista de acesso:
NICK_ACCESS_LIST_X
Lista de acesso para %s:
NICK_ACCESS_LIST_EMPTY
Your access list is empty.
NICK_ACCESS_LIST_X_EMPTY
Access list for %s is empty.
# Status messages
NICK_STATUS_0
+4
View File
@@ -548,6 +548,10 @@ NICK_ACCESS_LIST
Ñïèñîê äîñòóïà:
NICK_ACCESS_LIST_X
Ñïèñîê äîñòóïà äëÿ %s:
NICK_ACCESS_LIST_EMPTY
Your access list is empty.
NICK_ACCESS_LIST_X_EMPTY
Access list for %s is empty.
# Status messages
NICK_STATUS_0
+4
View File
@@ -554,6 +554,10 @@ NICK_ACCESS_LIST
Access listesi:
NICK_ACCESS_LIST_X
%s nickinin access listesi:
NICK_ACCESS_LIST_EMPTY
Your access list is empty.
NICK_ACCESS_LIST_X_EMPTY
Access list for %s is empty.
# Status messages
NICK_STATUS_0
+26 -4
View File
@@ -235,10 +235,32 @@ void chan_set_modes(const char *source, Channel * chan, int ac, char **av,
mode, chan->name, user->nick);
if (add) {
if (check && cum->is_valid
&& !cum->is_valid(user, chan, servermode))
continue;
chan_set_user_status(chan, user, cum->status);
/* Fixes bug #68
- might be a bit ugly but it works, the idea is that since the
is_valid function strips out all of the modes there is no point
in sending it over and over again
*/
if (check) {
if (check == 2 && cum->is_valid) {
if (debug) {
alog("debug: Modes already removed, calling remove_user_status() to clean up");
}
chan_remove_user_status(chan, user, cum->status);
continue;
} else if (cum->is_valid
&& !cum->is_valid(user, chan, servermode)) {
if (debug) {
alog("debug: Modes already sent calling remove_user_status() to clean up");
}
chan_remove_user_status(chan, user, cum->status);
check = 2;
continue;
} else {
chan_set_user_status(chan, user, cum->status);
}
} else {
chan_set_user_status(chan, user, cum->status);
}
} else {
chan_remove_user_status(chan, user, cum->status);
}
+7 -6
View File
@@ -1971,7 +1971,8 @@ ChannelInfo *cs_findchan(const char *chan)
return NULL;
}
for (ci = chanlists[tolower(chan[1])]; ci; ci = ci->next) {
for (ci = chanlists[(unsigned char) tolower(chan[1])]; ci;
ci = ci->next) {
if (stricmp(ci->name, chan) == 0)
return ci;
}
@@ -2035,13 +2036,13 @@ void alpha_insert_chan(ChannelInfo * ci)
chan = ci->name;
for (prev = NULL, ptr = chanlists[tolower(chan[1])];
for (prev = NULL, ptr = chanlists[(unsigned char) tolower(chan[1])];
ptr != NULL && stricmp(ptr->name, chan) < 0;
prev = ptr, ptr = ptr->next);
ci->prev = prev;
ci->next = ptr;
if (!prev)
chanlists[tolower(chan[1])] = ci;
chanlists[(unsigned char) tolower(chan[1])] = ci;
else
prev->next = ci;
if (ptr)
@@ -2126,7 +2127,7 @@ int delchan(ChannelInfo * ci)
if (ci->prev)
ci->prev->next = ci->next;
else
chanlists[tolower(ci->name[1])] = ci->next;
chanlists[(unsigned char) tolower(ci->name[1])] = ci->next;
if (ci->desc)
free(ci->desc);
if (ci->mlock_key)
@@ -3700,7 +3701,7 @@ static int do_xop(User * u, char *xname, int xlev, int *xmsgs)
ulev = get_access(u, ci);
if (xlev >= ulev || ulev < ACCESS_AOP) {
if ((xlev >= ulev || ulev < ACCESS_AOP) && !is_servadmin) {
notice_lang(s_ChanServ, u, PERMISSION_DENIED);
return MOD_CONT;
}
@@ -3721,7 +3722,7 @@ static int do_xop(User * u, char *xname, int xlev, int *xmsgs)
/**
* Patch provided by PopCorn to prevert AOP's reducing SOP's levels
**/
if ((access->level >= ulev) && (!u->isSuperAdmin)) {
if ((access->level >= ulev) && (!is_servadmin)) {
notice_lang(s_ChanServ, u, PERMISSION_DENIED);
return MOD_CONT;
}
+17 -3
View File
@@ -2044,9 +2044,13 @@ static int do_register(User * u)
}
}
if (!pass || (NSForceEmail && !email)) {
syntax_error(s_NickServ, u, "REGISTER",
NICK_REGISTER_SYNTAX_EMAIL);
if (!pass) {
if (NSForceEmail && !email) {
syntax_error(s_NickServ, u, "REGISTER",
NICK_REGISTER_SYNTAX_EMAIL);
} else {
syntax_error(s_NickServ, u, "REGISTER", NICK_REGISTER_SYNTAX);
}
} else if (time(NULL) < u->lastnickreg + NSRegDelay) {
notice_lang(s_NickServ, u, NICK_REG_PLEASE_WAIT, NSRegDelay);
} else if (u->na) { /* i.e. there's already such a nick regged */
@@ -3247,6 +3251,11 @@ static int do_access(User * u)
if (cmd && stricmp(cmd, "LIST") == 0 && mask && is_services_admin(u)
&& (na = findnick(mask))) {
if (na->nc->accesscount == 0) {
notice_lang(s_NickServ, u, NICK_ACCESS_LIST_X_EMPTY, na->nick);
return MOD_CONT;
}
if (na->status & NS_VERBOTEN) {
notice_lang(s_NickServ, u, NICK_X_FORBIDDEN, na->nick);
return MOD_CONT;
@@ -3326,6 +3335,11 @@ static int do_access(User * u)
na->nc->access = NULL;
}
} else if (stricmp(cmd, "LIST") == 0) {
if (na->nc->accesscount == 0) {
notice_lang(s_NickServ, u, NICK_ACCESS_LIST_EMPTY, u->nick);
return MOD_CONT;
}
notice_lang(s_NickServ, u, NICK_ACCESS_LIST);
for (access = na->nc->access, i = 0; i < na->nc->accesscount;
access++, i++) {
+1 -1
View File
@@ -234,7 +234,7 @@ int proxy_check(char *nick, char *host, uint32 ip)
for (message = ProxyMessage, i = 0; i < 8 && *message && **message;
message++, i++)
notice(s_GlobalNoticer, nick, *message);
notice(s_GlobalNoticer, nick, "%s", *message);
hc = proxy_cache_add(host);
if (ircd->nickip) {
+4
View File
@@ -183,6 +183,10 @@ Server *findserver(Server * s, const char *name)
{
Server *sl;
if (!name || !*name) {
return NULL;
}
if (debug >= 3)
alog("debug: findserver(%p)", name);
while (s && (stricmp(s->name, name) != 0)) {
+1 -1
View File
@@ -240,7 +240,7 @@ int add_session(char *nick, char *host)
if (SessionLimitExceeded)
notice(s_OperServ, nick, SessionLimitExceeded, host);
if (SessionLimitDetailsLoc)
notice(s_OperServ, nick, SessionLimitDetailsLoc);
notice(s_OperServ, nick, "%s", SessionLimitDetailsLoc);
/* We don't use kill_user() because a user stucture has not yet
* been created. Simply kill the user. -TheShadow
+6 -5
View File
@@ -27,14 +27,15 @@ int send_timeout_list(User * u)
{
Timeout *to, *last;
notice(s_OperServ, u->nick, "Now: %ld", time(NULL));
notice(s_OperServ, u->nick, "Now: %ld", (long int) time(NULL));
for (to = timeouts, last = NULL; to; last = to, to = to->next) {
notice(s_OperServ, u->nick, "%p: %ld: %p (%p)",
to, to->timeout, to->code, to->data);
notice(s_OperServ, u->nick, "0x%p: %ld: 0x%p (0x%p)",
(void *) to, (long int) to->timeout, (void *) to->code,
(void *) to->data);
if (to->prev != last)
notice(s_OperServ, u->nick,
" to->prev incorrect! expected=%p seen=%p",
last, to->prev);
" to->prev incorrect! expected=0x%p seen=0x%p",
(void *) last, (void *) to->prev);
}
return MOD_CONT;
}
+9 -1
View File
@@ -8,10 +8,18 @@
VERSION_MAJOR="1"
VERSION_MINOR="7"
VERSION_PATCH="6"
VERSION_BUILD="438"
VERSION_BUILD="439"
# $Log$
#
# BUILD : 1.7.6 (439)
# BUGS : 68, 170, 209
# NOTES : 1. DrSteins XOP patch (bug# 170), 2. Cleaned up the English language file for grammar (bug# 209),
# 3. Patch that fixes segfaults under NetBSD, 4. Cleaned up some places that could lead to segfaults,
# 5. DrSteins patch for NS ACCESS LIST, 6. Chanserv taking modes more than once (bug #68),
# 7. Fixed errors when doing "make" under some BSD systems, 8. Fixed syntax error when NSForceEmail is disabled
#
#
# BUILD : 1.7.6 (438)
# BUGS : 160
# NOTES : configure warning about sysproto.h resolved