From eef62fc56ba6df5690830206d5341cbd5be91612 Mon Sep 17 00:00:00 2001 From: michael Date: Mon, 29 Oct 2012 18:20:49 +0000 Subject: - 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 --- NEWS | 4 ++++ modules/m_tburst.c | 21 +++++++++------------ 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/NEWS b/NEWS index 20daaa5..7dfea4d 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,7 @@ +-- 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 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 = { -- cgit