summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgeniusdex geniusdex@31f1291d-b8d6-0310-a050-a5561fc1590b <geniusdex geniusdex@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864>2005-03-22 14:24:40 +0000
committergeniusdex geniusdex@31f1291d-b8d6-0310-a050-a5561fc1590b <geniusdex geniusdex@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864>2005-03-22 14:24:40 +0000
commit2225f58c39d004e3fac4ec38e52daeb9884727be (patch)
tree031432698527695f7a603fe6691da60748738905
parentf005ab7da5ecd27df280057b926033ffb97ac292 (diff)
BUILD : 1.7.8 (640) BUGS : 323 NOTES : Fixed /ns update setting +a if you had rights to get +q but already had it
git-svn-id: svn://svn.anope.org/anope/trunk@640 31f1291d-b8d6-0310-a050-a5561fc1590b git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@488 5417fbe8-f217-4b02-8779-1006273d7864
-rw-r--r--Changes1
-rw-r--r--include/extern.h1
-rw-r--r--src/channels.c1
-rw-r--r--src/nickserv.c28
-rw-r--r--version.log6
5 files changed, 9 insertions, 28 deletions
diff --git a/Changes b/Changes
index 298c1fe91..aabf03b81 100644
--- a/Changes
+++ b/Changes
@@ -8,6 +8,7 @@ Provided by Anope Dev. <dev@anope.org> - 2005
02/13 A Internal Event support, see EVENTS in the doc folder for help [ #00]
02/05 A Support for Unreal 3.2 +I channel mode. [ #00]
02/03 A Merged anope-win32 branch into the main, now Win32 ready. [ #00]
+03/22 F Wrong behaviour of /ns update for channel founders. [#323]
03/21 F Topics being set too often during bursts. [ #00]
03/16 F Send the correct numeric for a missing MOTD file. [#315]
03/16 F Wrong modes being set in certain cases with SJOIN. [#320]
diff --git a/include/extern.h b/include/extern.h
index bb0a278d8..6df37b26a 100644
--- a/include/extern.h
+++ b/include/extern.h
@@ -128,6 +128,7 @@ E void do_sjoin(const char *source, int ac, char **av);
E void do_topic(const char *source, int ac, char **av);
E void do_mass_mode(char *modes);
+E void chan_set_correct_modes(User * user, Channel * c);
E void restore_unsycned_topics(void);
#define whosends(ci) ((!(ci) || !((ci)->botflags & BS_SYMBIOSIS) || !(ci)->bi || !(ci)->c || (ci)->c->usercount < BSMinUsers) ? s_ChanServ : (ci)->bi->nick)
diff --git a/src/channels.c b/src/channels.c
index eca6c25bf..3c4f2683e 100644
--- a/src/channels.c
+++ b/src/channels.c
@@ -22,7 +22,6 @@ Channel *chanlist[1024];
void add_ban(Channel * chan, char *mask);
void add_exception(Channel * chan, char *mask);
void add_invite(Channel * chan, char *mask);
-void chan_set_correct_modes(User * user, Channel * c);
void chan_adduser2(User * user, Channel * c);
Channel *chan_create(char *chan);
void chan_delete(Channel * c);
diff --git a/src/nickserv.c b/src/nickserv.c
index fd5f3b5e0..61a14c3b5 100644
--- a/src/nickserv.c
+++ b/src/nickserv.c
@@ -2659,35 +2659,11 @@ static int do_setmodes(User * u)
{
struct u_chanlist *uc;
Channel *c;
- char *chan;
/* Walk users current channels */
for (uc = u->chans; uc; uc = uc->next) {
- if ((c = uc->chan)) {
- chan = c->name;
- if (ircd->owner && should_mode_change(uc->status, CUS_OWNER)
- && check_should_owner(u, chan)) {
- chan_set_user_status(c, u, CUS_OWNER);
- } else if (ircd->protect
- && should_mode_change(uc->status, CUS_PROTECT)
- && check_should_protect(u, chan)) {
- chan_set_user_status(c, u, CUS_PROTECT);
- } else if (ircd->admin
- && should_mode_change(uc->status, CUS_PROTECT)
- && check_should_protect(u, chan)) {
- chan_set_user_status(c, u, CUS_PROTECT);
- } else if (should_mode_change(uc->status, CUS_OP)
- && check_should_op(u, chan)) {
- chan_set_user_status(c, u, CUS_OP);
- } else if (ircd->halfop
- && should_mode_change(uc->status, CUS_HALFOP)
- && check_should_halfop(u, chan)) {
- chan_set_user_status(c, u, CUS_HALFOP);
- } else if (should_mode_change(uc->status, CUS_VOICE)
- && check_should_voice(u, chan)) {
- chan_set_user_status(c, u, CUS_VOICE);
- }
- }
+ if ((c = uc->chan))
+ chan_set_correct_modes(u, c);
}
return MOD_CONT;
}
diff --git a/version.log b/version.log
index 77c7e442a..b890ee5be 100644
--- a/version.log
+++ b/version.log
@@ -8,10 +8,14 @@
VERSION_MAJOR="1"
VERSION_MINOR="7"
VERSION_PATCH="8"
-VERSION_BUILD="639"
+VERSION_BUILD="640"
# $Log$
#
+# BUILD : 1.7.8 (640)
+# BUGS : 323
+# NOTES : Fixed /ns update setting +a if you had rights to get +q but already had it
+#
# BUILD : 1.7.8 (639)
# BUGS :
# NOTES : Some more fixing of the topic stuff to get it to work better with UnrealIRCd