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-01-04 16:21:15 +0000
committergeniusdex geniusdex@31f1291d-b8d6-0310-a050-a5561fc1590b <geniusdex geniusdex@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864>2005-01-04 16:21:15 +0000
commitbb9c7b1c7b9dfafef7637f5dc299a45496d09ac2 (patch)
treecb970715456b51086418aab83a3ab5e0b44f19eb
parent8114b5be040dfdd07a53abc96e9fddc04c564687 (diff)
BUILD : 1.7.6 (520) BUGS : 265 NOTES : Fixed a few issues with chanserv, botserv, symbiosis, and topics
git-svn-id: svn://svn.anope.org/anope/trunk@520 31f1291d-b8d6-0310-a050-a5561fc1590b git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@374 5417fbe8-f217-4b02-8779-1006273d7864
-rw-r--r--Changes4
-rw-r--r--src/chanserv.c20
-rw-r--r--version.log6
3 files changed, 23 insertions, 7 deletions
diff --git a/Changes b/Changes
index 189e0057d..2116effe1 100644
--- a/Changes
+++ b/Changes
@@ -76,6 +76,10 @@ Provided by Anope Dev. <dev@anope.org> - 2004
11/19 F Wrong string and missing registered nick check in bot change. [#221]
11/16 F NickTracking could allow usage of forbidden nick in some cases. [ #00]
+Provided by DrStein <gacevedo@anope.org> - 2005
+01/03 F Duplicated TOPIC sent, when TOPICLOCK is ON. [#265]
+01/03 F If SYMBIOSIS ON, BotServ's bot should be the topic setter. [#265]
+
Provided by DrStein <gacevedo@anope.org> - 2004
12/23 A NS STATUS will return your status if no nickname is given. [ #00]
12/26 F Error message during SQL init even if UseRDB was disabled. [ #00]
diff --git a/src/chanserv.c b/src/chanserv.c
index 1247463e1..4368fb610 100644
--- a/src/chanserv.c
+++ b/src/chanserv.c
@@ -1751,13 +1751,13 @@ void restore_topic(char *chan)
return;
if (c->topic)
free(c->topic);
- if (ci->last_topic) {
+ if ((ci->last_topic) && !(ci->flags & CI_TOPICLOCK)) {
c->topic = sstrdup(ci->last_topic);
strscpy(c->topic_setter, ci->last_topic_setter, NICKMAX);
c->topic_time = ci->last_topic_time;
} else {
c->topic = NULL;
- strscpy(c->topic_setter, s_ChanServ, NICKMAX);
+ strscpy(c->topic_setter, whosends(ci), NICKMAX);
}
if (ircd->join2set) {
if (whosends(ci) == s_ChanServ) {
@@ -1795,12 +1795,16 @@ int check_topiclock(Channel * c, time_t topic_time)
if (c->topic)
free(c->topic);
- if (ci->last_topic)
+ if (ci->last_topic) {
c->topic = sstrdup(ci->last_topic);
- else
+ strscpy(c->topic_setter, ci->last_topic_setter, NICKMAX);
+ } else {
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, ci->last_topic_setter, NICKMAX);
if (ircd->topictsforward) {
/* Because older timestamps are rejected */
/* Some how the topic_time from do_topic is 0 set it to current + 1 */
@@ -1810,7 +1814,11 @@ int check_topiclock(Channel * c, time_t topic_time)
c->topic_time = topic_time + 1;
}
} else {
- c->topic_time = ci->last_topic_time;
+ /* If no last topic, we can't use last topic time! - doc */
+ if (ci->last_topic)
+ c->topic_time = ci->last_topic_time;
+ else
+ c->topic_time = time(NULL) + 1;
}
if (ircd->join2set) {
diff --git a/version.log b/version.log
index 398cc89d2..1d6833927 100644
--- a/version.log
+++ b/version.log
@@ -8,10 +8,14 @@
VERSION_MAJOR="1"
VERSION_MINOR="7"
VERSION_PATCH="6"
-VERSION_BUILD="519"
+VERSION_BUILD="520"
# $Log$
#
+# BUILD : 1.7.6 (520)
+# BUGS : 265
+# NOTES : Fixed a few issues with chanserv, botserv, symbiosis, and topics
+#
# BUILD : 1.7.6 (519)
# BUGS : N/A
# NOTES : Ultimate3 bug fixes, they have NICKIP, and some channel modes were defined the same causing problems