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.  If the mask would not
27 be permitted due to it being too wide or affecting too many users
28 (governed by the GLINEMAXUSERCOUNT feature), the "!" prefix may be
29 used to force the G-line to be set anyway.
30
31 If the G-line does not already exist, it is created. The <target>
32 parameter is used to select whether the G-line is only to apply to a
33 single server (which need not be the local server) or to the whole
34 network; if <target> is not given, it is assumed to be the local
35 server.  This could be useful if a single particular link is having
36 problems, for instance.  The <expiration> parameter is a number of
37 seconds, not to exceed 7 days, for the G-line to exist.  The <reason>
38 argument is mandatory and should describe why this particular G-line
39 was placed.  The <mask> parameter must be a user@host mask; the host
40 component must contain at least 2 non-wildcarded subdomains or, if it
41 is an IP address, at least 16 bits.  Normally, the host component may
42 not contain *any* wildcards, but that can be overridden with the "!"
43 prefix, as indicated above, if the operator has the WIDE_GLINE
44 privilege.
45
46 For a server, the syntax is:
47
48   <prefix> GL <target> (+|-)<mask> <expiration> <lastmod> :<reason>
49
50 The <target> may be a server numeric or the character "*", for a
51 globally scoped G-line.  The <mask> argument is a server name, and
52 must be prefixed by one of "+" (to indicate an active G-line) or "-"
53 (to indicate an inactive G-line).  The parameter <expiration> is a
54 total number of seconds the G-line is to live for, and <lastmod> is
55 used for versioning.  Since GLINEs are propagated during netbursts,
56 there must be some way of resolving conflicting states, which is the
57 reason for this argument, and is also the reason G-lines cannot be
58 deleted, only deactivated.  The <reason> parameter indicates the
59 reason the G-line was placed.
60
61 If a GLINE is received with a <target> of "*", any G-lines with local
62 scope are deleted, in preference for the globally scoped version.  If
63 the G-line already exists, the values of <lastmod> are compared; if
64 the received <lastmod> is less than the stored <lastmod>, the existing
65 G-line is resent to the server from which the GLINE message was
66 received; otherwise, the G-line is activated or deactivated, depending
67 on the <mask> prefix.  If the G-line does not currently exist, it is
68 created with the parameters given.
69
70 For a U-lined server, this syntax should be used:
71
72   <prefix> GL <target> +<mask> <expiration> :<reason>
73   <prefix> GL <target> -<mask>
74
75 The <lastmod> parameter will be assumed to be 0.