]> jfr.im git - irc/rqf/shadowircd.git/blame - doc/technical/euid.txt
Remove additional wrong declaration for rb_kill().
[irc/rqf/shadowircd.git] / doc / technical / euid.txt
CommitLineData
212380e3 1$Id: euid.txt 1863 2006-08-27 13:40:37Z jilles $
2
3Extended UID command proposal
4Jilles Tjoelker <jilles@stack.nl>
5
6Introduction
7------------
8
9The current protocol to deal with real and visible hosts, with UID, ENCAP
10REALHOST and ENCAP CHGHOST commands has several problems.
11
12In some cases (MONITOR) real hosts are used inappropriately because the UID
13command contains the real host for new users. In other cases (atheme
14akills), the visible host is used inappropriately because the UID command
15contains the visible host for burst users. In both cases nothing is sent
16after the UID command if real and visible hosts are equal. In the latter
17case this problem can be worked around with end-of-burst detection but in
18the former case that is not possible.
19
20This can be fixed by sending both real and visible host in the same command.
21
22This command can also include the data that is currently sent with ENCAP
23LOGIN.
24
25Another problem is that CHGHOST is an ENCAP command although it is important
26for synchronization. One of the problems is that the target often remains
27a UID even if sent to a TS5 server (various old services packages).
28
29This can be fixed by making it a regular command.
30
31Current commands
32----------------
33
34(TS6 form only)
35
36:<SID> UID <NICK> <HOPS> <TS> +<UMODE> <USERNAME> <HOSTNAME> <IP> <UID> :<GECOS>
37
38Introduces a user, see Lee Hardy's ts6.txt.
39
40:<UID> ENCAP * REALHOST <REALHOST>
41
42Sets the real host of a user (the hostname in UID is the visible host).
43
44:<SID> ENCAP * CHGHOST <UID> <VHOST>
45
46Sets/changes the visible host of a user (the hostname in UID is the real host).
47
48:<UID> ENCAP * LOGIN <ACCOUNT>
49
50Sets the login name of a user.
51
52New commands
53------------
54
55:<SID> EUID <NICK> <HOPS> <TS> +<UMODE> <USERNAME> <VHOST> <IP> <UID> <REALHOST> <ACCOUNT> :<GECOS>
56
57Introduces a user. The hostname field is now always the visible host.
58The realhost field is * if the real host is equal to the visible host.
59The account field is * if the login is not set.
60Note that even if both new fields are *, an EUID command still carries more
61information than a UID command (namely that real host is visible host and the
62user is not logged in with services). Hence a NICK or UID command received
63from a remote server should not be sent in EUID form to other servers.
64
65:<SID> CHGHOST <UID> <VHOST>
66
67Changes the visible host of a user.
68
69A new server capab named EUID will be sent if these commands are supported.
70If the capab is not present, the old commands must be used.
71EUID can (in principle) also be used with TS5.