summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormichael <michael@82007160-df01-0410-b94d-b575c5fd34c7>2012-10-29 18:20:49 +0000
committermichael <michael@82007160-df01-0410-b94d-b575c5fd34c7>2012-10-29 18:20:49 +0000
commiteef62fc56ba6df5690830206d5341cbd5be91612 (patch)
tree401ba87fa59f905cd2bd77b4ca0efd870a73b368
parent70f1558a2eca8295e30bb1e381d948056333634d (diff)
- Fixed possible TBURST desynchronization with services
- Fixed TBURST sending server's name to clients if it's a hidden server git-svn-id: svn://svn.ircd-hybrid.org/svnroot/ircd-hybrid/trunk@1615 82007160-df01-0410-b94d-b575c5fd34c7
-rw-r--r--NEWS4
-rw-r--r--modules/m_tburst.c21
2 files changed, 13 insertions, 12 deletions
diff --git a/NEWS b/NEWS
index 20daaa5..7dfea4d 100644
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,8 @@
-- ircd-hybrid-8.0.0 Release Notes
+o) Fixed possible TBURST desynchronization with services
+o) Fixed TBURST sending server's name to clients if it's a hidden server
+
+-- ircd-hybrid-8.0.0 Release Notes
o) Fixed an off-by-one with spoofs. Spoofs are now also checked for
invalid characters
o) Removed general::use_whois_actually configuration directive. This is
diff --git a/modules/m_tburst.c b/modules/m_tburst.c
index f927c35..43caef3 100644
--- a/modules/m_tburst.c
+++ b/modules/m_tburst.c
@@ -92,25 +92,22 @@ ms_tburst(struct Client *client_p, struct Client *source_p,
if (accept_remote)
{
int topic_differs = strncmp(chptr->topic, topic, sizeof(chptr->topic) - 1);
+ int hidden_server = (ConfigServerHide.hide_servers || IsHidden(source_p));
set_channel_topic(chptr, topic, setby, remote_topic_ts);
+ sendto_server(source_p, CAP_TBURST|CAP_TS6, NOCAPS,
+ ":%s TBURST %s %s %s %s :%s",
+ ID(source_p), parv[1], parv[2], parv[3], setby, topic);
+ sendto_server(source_p, CAP_TBURST, CAP_TS6,
+ ":%s TBURST %s %s %s %s :%s",
+ source_p->name, parv[1], parv[2], parv[3], setby, topic);
+
if (topic_differs)
sendto_channel_local(ALL_MEMBERS, 0, chptr, ":%s TOPIC %s :%s",
- ConfigServerHide.hide_servers ? me.name : source_p->name,
+ hidden_server ? me.name : source_p->name,
chptr->chname, chptr->topic);
}
-
- /*
- * Always propagate what we have received, not only if we accept the topic.
- * This will keep other servers in sync.
- */
- sendto_server(source_p, CAP_TBURST|CAP_TS6, NOCAPS,
- ":%s TBURST %s %s %s %s :%s",
- ID(source_p), parv[1], parv[2], parv[3], setby, topic);
- sendto_server(source_p, CAP_TBURST, CAP_TS6,
- ":%s TBURST %s %s %s %s :%s",
- source_p->name, parv[1], parv[2], parv[3], setby, topic);
}
static struct Message tburst_msgtab = {