From 86cfe0d9546d34fe6cc24d7a15dd4fbf369ddc63 Mon Sep 17 00:00:00 2001 From: Jilles Tjoelker Date: Sat, 22 Feb 2014 17:43:57 +0100 Subject: [PATCH] doc/ts6-protocol: Document ETB message (EOPMOD capab). (cherry picked from commit a5de4edefdcec9b8cbced2c9c54dcfdab06e7aa6) --- doc/technical/ts6-protocol.txt | 37 ++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/doc/technical/ts6-protocol.txt b/doc/technical/ts6-protocol.txt index afc74e60a..84625e40e 100644 --- a/doc/technical/ts6-protocol.txt +++ b/doc/technical/ts6-protocol.txt @@ -267,6 +267,43 @@ Reports a (usually fatal) error with the connection. Error messages may contain IP addresses and have a negative effect on server IP hiding. +ETB +capab: EOPMOD +source: any +propagation: broadcast +parameters: channelTS, channel, topicTS, topic setter, opt. extensions, topic + +Propagates a channel topic change or propagates a channel topic as part of a +burst. + +If the channel had no topic yet, the channelTS in the message is lower (older) +than the current TS of the channel, or the channelTSes are equal and the +topicTS in the message is newer than the topicTS of the current topic on the +channel, set the topic with topicTS and topic setter, and propagate the +message. Otherwise ignore the message and do not propagate it. + +Unlike a TB message, an ETB message can change the topicTS without changing +the topic text. In this case, the message should be propagated to servers but +local users should not be notified. + +Services can send a channelTS of 0 to force restoring an older topic (unless +the channel's TS is 0). Therefore, the channelTS should be propagated as given +and should not be replaced by the current TS of the channel. + +An ETB message with a newer channelTS can still set a topic on a channel +without topic. This corresponds to SJOIN not clearing the topic when lowering +TS on a channel. + +If ETB comes from a user, it can be propagated to non-EOPMOD servers using +TOPIC, TB or a combination of TOPIC to clear the topic and TB to set a new +topic with topicTS. However, this can be somewhat noisy. On the other hand, if +ETB comes from a server, there is no way to force setting a newer topicTS. It +is possible to set the topic text but the incorrect topicTS may lead to desync +later on. + +This document does not document the optional extensions between topic setter +and topic. + ETRACE encap only encap target: single server