doc/technical/elemental-deviation: new doc file

Document protocol changes between vanilla TS6 and Elemental-ircd TS6.
The changes are very minimal and will not likely affect day to day
performance of the IRC daemon, but are still worth mentioning.
This commit is contained in:
Sam Dodrill 2013-11-09 21:19:03 -05:00
parent 6f979b5e43
commit 6da1d031e8
1 changed files with 35 additions and 0 deletions

View File

@ -0,0 +1,35 @@
## Elemental-ircd specific deviations from the normal TS6 protocol
As a general rule of thumb and for compatibility reasons, protocol changes are
made as infrequently and minimally as possible. However there are some things
that have been changed in how elemental handles the server to server protocol
that are worth mentioning.
For readability's sake, any lines that a server sends are prefixed by `>>>` and
any lines it expects to recieve are prefixed by `<<<`.
### Changes
#### Channel owner mode
If enabled, a new mode will be added to the channel prefix list. This mode (+y)
has a prefix of "~" and in most IRC services packages is used to signify the
owner of a specific channel. If enabled, it will show up in SJOIN lines as such:
>>> :[sid] SJOIN [channel-ts] #opers + :~[ts6-uid]
A more practical example would be:
>>> :420 SJOIN 13840003504 #opers + :~@42000000A
As the mode for this channel is `+y`, all `TMODE` changes adding or removing `+y`
from a client in a channel should set and unset this mode accordingly. An example
of adding the mode follows:
>>> :47GAAAAAB TMODE 13840003504 #opers +y 42000000A
Handling removal is similar.
Currently, the only way to detect if a remote server supports these extended
modes is to remotely query a server's `VERSION` and read out the `005` reply.