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