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