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