92 |
|
if (accept_remote) |
93 |
|
{ |
94 |
|
int topic_differs = strncmp(chptr->topic, topic, sizeof(chptr->topic) - 1); |
95 |
+ |
int hidden_server = (ConfigServerHide.hide_servers || IsHidden(source_p)); |
96 |
|
|
97 |
|
set_channel_topic(chptr, topic, setby, remote_topic_ts); |
98 |
|
|
99 |
+ |
sendto_server(source_p, CAP_TBURST|CAP_TS6, NOCAPS, |
100 |
+ |
":%s TBURST %s %s %s %s :%s", |
101 |
+ |
ID(source_p), parv[1], parv[2], parv[3], setby, topic); |
102 |
+ |
sendto_server(source_p, CAP_TBURST, CAP_TS6, |
103 |
+ |
":%s TBURST %s %s %s %s :%s", |
104 |
+ |
source_p->name, parv[1], parv[2], parv[3], setby, topic); |
105 |
+ |
|
106 |
|
if (topic_differs) |
107 |
|
sendto_channel_local(ALL_MEMBERS, 0, chptr, ":%s TOPIC %s :%s", |
108 |
< |
ConfigServerHide.hide_servers ? me.name : source_p->name, |
108 |
> |
hidden_server ? me.name : source_p->name, |
109 |
|
chptr->chname, chptr->topic); |
110 |
|
} |
103 |
– |
|
104 |
– |
/* |
105 |
– |
* Always propagate what we have received, not only if we accept the topic. |
106 |
– |
* This will keep other servers in sync. |
107 |
– |
*/ |
108 |
– |
sendto_server(source_p, CAP_TBURST|CAP_TS6, NOCAPS, |
109 |
– |
":%s TBURST %s %s %s %s :%s", |
110 |
– |
ID(source_p), parv[1], parv[2], parv[3], setby, topic); |
111 |
– |
sendto_server(source_p, CAP_TBURST, CAP_TS6, |
112 |
– |
":%s TBURST %s %s %s %s :%s", |
113 |
– |
source_p->name, parv[1], parv[2], parv[3], setby, topic); |
111 |
|
} |
112 |
|
|
113 |
|
static struct Message tburst_msgtab = { |