Author: Kev <klmitch@mit.edu>
[ircu2.10.12-pk.git] / doc / readme.gline
1 GLINE documentation, last updated on 18 Mar 2000
2
3 For an ordinary user, the syntax is:
4
5   GLINE [<mask>]
6
7 If <mask> is given, and if a G-line for that server exists, all the
8 information about that G-line is displayed.  If <mask> is not given,
9 an error is returned.
10
11 For an operator, the syntax is:
12
13   GLINE [[+|-]<mask> [[<target>] <expiration> :<reason>]]
14
15 If <mask> is not given, or if it is not prefixed by "+" or "-", the
16 operation is exactly the same as if it were issued by an ordinary
17 user, except that a list of all G-lines may be returned.  If the "+"
18 or "-" prefixes are used, the arguments <target>, <expiration>, and
19 <reason> must be given, even if the G-line already exists.  If
20 <target> is "*" and the currently existing G-line is a local G-line,
21 the local G-line will be erased and recreated with the parameters
22 given, as described below.  Otherwise, if the G-line currently exists,
23 a prefix of "+" will cause an inactive G-line to be activated, whereas
24 a prefix of "-" will cause an active G-line to be deactivated.  If an
25 attempt is made to modify a G-line set by a U-lined service such as
26 Uworld, the change will be forced to be local.
27
28 If the G-line does not already exist, it is created. The <target>
29 parameter is used to select whether the G-line is only to apply to a
30 single server (which need not be the local server) or to the whole
31 network; if <target> is not given, it is assumed to be the local
32 server.  This could be useful if a single particular link is having
33 problems, for instance.  The <expiration> parameter is a number of
34 seconds, not to exceed 7 days, for the G-line to exist.  The <reason>
35 argument is mandatory and should describe why this particular G-line
36 was placed.
37
38 For a server, the syntax is:
39
40   <prefix> GL <target> (+|-)<mask> <expiration> <lastmod> :<reason>
41
42 The <target> may be a server numeric or the character "*", for a
43 globally scoped G-line.  The <mask> argument is a server name, and
44 must be prefixed by one of "+" (to indicate an active G-line) or "-"
45 (to indicate an inactive G-line).  The parameter <expiration> is a
46 total number of seconds the G-line is to live for, and <lastmod> is
47 used for versioning.  Since GLINEs are propagated during netbursts,
48 there must be some way of resolving conflicting states, which is the
49 reason for this argument, and is also the reason G-lines cannot be
50 deleted, only deactivated.  The <reason> parameter indicates the
51 reason the G-line was placed.
52
53 If a GLINE is received with a <target> of "*", any G-lines with local
54 scope are deleted, in preference for the globally scoped version.  If
55 the G-line already exists, the values of <lastmod> are compared; if
56 the received <lastmod> is less than the stored <lastmod>, the existing
57 G-line is resent to the server from which the GLINE message was
58 received; otherwise, the G-line is activated or deactivated, depending
59 on the <mask> prefix.  If the G-line does not currently exist, it is
60 created with the parameters given.
61
62 For a U-lined server, this syntax should be used:
63
64   <prefix> GL <target> +<mask> <expiration> :<reason>
65   <prefix> GL <target> -<mask>
66
67 The <lastmod> parameter will be assumed to be 0.