Add enums to hacking too.
[citadel.git] / citadel / techdoc / netconfigs.txt
1  
2            Description of the files in the "netconfigs" directory
3
4  These files contain a set of network configurations for a room.  They are
5 stored in the directory $CTDLDIR/netconfigs and are named according to each
6 room's internal ID number.  When a room is deleted, its network configuration
7 file is deleted as well.
8   
9  The configuration file contains one or more lines of text, each line
10 containing a configuration option.  These lines may specify message pointers,
11 room sharing instructions, mailing list recipients, etc.  Fields are separated
12 by the vertical bar character ("|") and there will always be at least one
13 field on each line.
14   
15  
16  INSTRUCTION:  lastsent
17  SYNTAX:       lastsent|0000000
18  DESCRIPTION:
19     Defines the *local* message number of the last message in this room which
20 we have performed outbound network processing on.  Any batch job which sends
21 out messages should do stuff.
22  
23  
24  INSTRUCTION:  listrecp
25  SYNTAX:       listrecp|friko@mumjiboolean.com
26  DESCRIPTION:
27     Defines a recipient to whom all messages in this room should be sent.  This
28 is used for "list serve" applications.
29  
30  
31  INSTRUCTION:  digestrecp
32  SYNTAX:       digestrecp|friko@mumjiboolean.com
33  DESCRIPTION:
34     Defines a recipient to whom all messages in this room should be sent.  This
35 is used for "list serve" applications.  The difference between listrecps and
36 digestrecps is that the latter will have messages embedded inside a message
37 sent by the listserver.  The message will appear to be sent by the room's
38 e-mail address instead of the sender's e-mail address.
39  
40  
41  INSTRUCTION:  ignet_push_share
42  SYNTAX:       ignet_push_share|uncnsrd
43           (or) ignet_push_share|uncnsrd|Foo Bar Baz
44  DESCRIPTION:
45     Specifies that the second argument is the name of a neighboring node on an
46 IGnet (Citadel networking) network, to which this room should be pushed
47 (spooled).  Conceptually, this node will have a corresponding record pushing
48 data in the other direction.
49  
50     If the third argument is present, it is the name of the corresponding
51 room on the remote node.  This allows a room to be shared even when the room
52 name is different on each node.  Such a configuration *must* be configured
53 mutually: each node must know the name of the room on the other.
54  
55   
56  INSTRUCTION:  subpending
57  SYNTAX:       subpending|friko@mumjiboolean.com|listrecp|A234Z|1234567890|http://foo.com/lists
58     "Subscription pending" for the specified address.  This means that
59 someone has requested to subscribe an e-mail address (in this case,
60 friko@mumjiboolean.com) to the list.  The third parameter is either "list"
61 or "digest" to specify a normal subscription or a digest subscription.
62 The fourth parameter is an authentication token which is generated by the server
63 and e-mailed to the specified address.  When the user comes back and supplies
64 this token, the subscription is complete.  The fifth parameter is a simple
65 timestamp, so that we may purge old records which were never confirmed.
66  
67  The sixth field is the URL of the web page used to enter the subscription
68 request, minus any parameters.
69
70  
71  INSTRUCTION:  unsubpending
72  SYNTAX:       unsubpending|friko@mumjiboolean.com|A234Z|1234567890|http://foo.com/lists
73     Similar to the 'subpending' command, except this one is for unsubscribe
74 requests.  The same rules apply with regard to the token and the web page.
75
76
77  INSTRUCTION:  participate
78  SYNTAX:       participate|list-addr@example.com
79    This allows a room to be a  *subscriber* to an external mailing list
80 somewhere.  The room's email address should be subscribed to the list, and the
81 external listserv should be told "do not send me my own messages."  Any
82 messages which originated on Citadel (as opposed to messages which arrived via
83 email, such as those from the list) will be sent to the list, with the display
84 name of the author kept intact, but the email address changed to the address of
85 the room.
86  
87    This is somewhat finicky, which is why it is not officially supported, and
88 why there are no facilities in the user interface to configure it.  If you want
89 to use this option you are on your own.
90  
91  
92  INSTRUCTION:  pop3client
93  SYNTAX:       pop3client|hostname|username|password|keep|interval
94    Periodically fetch messages from a remote POP3 account and store them in this
95 room.  Messages will be deleted from the remote account once successfully stored.
96 if Keep is set, messages won't be erased on the remote host.
97 Interval can specify a bigger value than the system configs value.