lyskomd.8 12.3 KB
Newer Older
1
.\" $Id: lyskomd.8,v 1.9 1994/02/27 15:41:17 ceder Exp $
2
.\" Copyright (C) 1991, 1994  Lysator Academic Computer Association.
Linus Tolke's avatar
Linus Tolke committed
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
.\"
.\" This file is part of the LysKOM server.
.\" 
.\" LysKOM is free software; you can redistribute it and/or modify it
.\" under the terms of the GNU General Public License as published by 
.\" the Free Software Foundation; either version 1, or (at your option) 
.\" any later version.
.\" 
.\" LysKOM is distributed in the hope that it will be useful, but WITHOUT
.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
.\" FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
.\" for more details.
.\" 
.\" You should have received a copy of the GNU General Public License
.\" along with LysKOM; see the file COPYING.  If not, write to
.\" Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN,
.\" or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, 
.\" MA 02139, USA.
.\"
.\" Please mail bug reports to bug-lyskom@lysator.liu.se. 
.\"
24
25
.\" $Id: lyskomd.8,v 1.9 1994/02/27 15:41:17 ceder Exp $
.\" $Date: 1994/02/27 15:41:17 $
26
.TH lyskomd 8 "January 12, 1994" "Lysator"
Linus Tolke's avatar
Linus Tolke committed
27
.SH NAME
28
lyskomd - LysKOM server
Linus Tolke's avatar
Linus Tolke committed
29
.SH SYNOPSIS
30
.B /usr/lyskom/bin/lyskomd 
Linus Tolke's avatar
Linus Tolke committed
31
[
32
.B -d ...
Linus Tolke's avatar
Linus Tolke committed
33
] [
34
.B config-file
Linus Tolke's avatar
Linus Tolke committed
35
36
37
38
]
.SH DESCRIPTION
This program runs a LysKOM server.
.PP
39
40
The server reads a configuration file (see CONFIGURATION below) and
then listensfor connections on the given ports (defaults are 4894
Linus Tolke's avatar
Linus Tolke committed
41
for the 
Linus Tolke's avatar
Linus Tolke committed
42
.I client_port
43
and 4895 for the
Linus Tolke's avatar
Linus Tolke committed
44
.IR mux_port ).
Linus Tolke's avatar
Linus Tolke committed
45
46
47
48
.SH OPTIONS
.TP
.B \-d
Adds one to the debug-level i.e. increases the amount of output on the
49
stderr from the process.  This option can be given repeatedly.
Linus Tolke's avatar
Linus Tolke committed
50

Linus Tolke's avatar
Linus Tolke committed
51
52
53
54
55
Using one
.B \-d
make the process print a
.I >
for every timeout, a message for every person that is connecting or
Linus Tolke's avatar
Linus Tolke committed
56
disconnecting and a message for every successful or unsuccessful
Linus Tolke's avatar
Linus Tolke committed
57
communication to the process.
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
.SH CONFIGURATION
The configuration file is line oriented.
Each line consists of one 
.B parameter name,
a colon, and the
.B parameter value.
Empty lines, and lines whose first non-blank character is #, are
comment lines and ignored.
The configuration file is normally found in
.B /usr/lyskom/etc/config,
but the exact location can be changed at compile time (by modifying
.B DEFAULT_DBASE_DIR
and/or
.B CONFIG_FILE
in
.B src/server/server-config.c)
or at run time (by specifying a config file as an argument).

The following parameters can be set in the config file:
.TP
.B Locale: locale_name
Use
.I locale_name
as the locale to run in.  
This parameter is only available on systems which support the
.B setlocale()
call.  If this parameter is not set, no call to
.B setlocale()
will be made.
Linus Tolke's avatar
Linus Tolke committed
87
.TP
88
89
90
91
92
93
94
95
96
97
.B Prefix: prefix
The default value of
.I prefix
is 
.B /usr/lyskom
(unless changed in server-config.c).
All files that the server uses are found in sub-directories of this
directory.  See FILES below.
.TP
.B Send async: bool
Linus Tolke's avatar
Linus Tolke committed
98
Do not send any non-requested messages. This disables the sending of
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
messages about events in the server to all connections.  
Use of this parameter is not recommended.  This option is on by
default.
.TP
.B Client port: portname
Listen for new clients on
.I portname,
which can be a symbolic port name (traditionally looked up in
.B /etc/services)
or a port number.  This defaults to 4894, and all clients currently
expect that number.
.TP
.B Mux port: portname
Listen for mux connections on
.I portname.
Muxes can be used to multiplex several clients on a single file
descriptor.  The mux runs as a separate process.  This was used
historically when LysKOM ran on a machine were only 20 file
descriptors coule be open at once.  The mux code has not been
released.  Send a mail to 
.B bug-lyskom@lysator.liu.se
if you need it.  The default port number is 4895.
.TP
.B Presentation of conferences: conf-no
The number of the conference where presentations should be sent.
Defaults to 1.
.TP
.B Presentation of persons: conf-no
The number of the conference where presentations should be sent.
Defaults to 2.
.TP
.B Motd-conference: conf-no
The number of the conference where "message-of-the-day" messages
should be sent.
Defaults to 3.
.TP
.B News-conference: conf-no
The number of the conference where news of interest to the readers of
this LysKOM server should be written.  This is typically a conference
with very low traffic which everyone shoule be a member of.  Clients
should offer new users to join it.  Defaults to 4.
.TP
.B Message of the day: text-no
Default message-of-the-day of this server.  
The text will be showed automatically by conforming LysKOM clients
when a user logs on.  
There is a question in protocol A which changes this number, but
(currently) a motd set by the protocol will be forgotten the next time
the server is restarted.
This may change in the future.
.TP
.B Never save: bool
Do not use unless you know what you are doing.
(Note: there is currently no-one in the LysKOM development group which
knows exactly what this option does!)
.TP
.B Log accesses: filename
This parameter can only be set if the server has been compiled with
.B LOGACCESSES
defined.  It will save a trace of all activity in the database to a
file, for later use in simulations et c.  
Compiling with
.B LOGECCESSES
slows the server down quite a lot, so it is normally not defined.
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
.TP
.B Data file: data_file
Part of the data base will be held in
.I prefix/data_file.
.TP
.B Backup file: backup_file
The file
.I prefix/backup_file
will always contain a complete data base, but it might be a little
outdated.
.TP
.B Text file: text_file
The file
.I prefix/text_file
holds all actual text which is written.
.TP
.B Text backup file: backup_text
When dbck is run with the
.I -g
option (see dbck(8)) it will store the previous contents of
.I prefix/text_file
in
.I prefix/backup_text.
This file is never used by lyskomd itself.
.TP
.B Log statistics: stat_file
Whenever lyskomd receives a SIGHUP it will append a timestamp and
a count of how many different atomic calls have been made in
.I prefix/stat_file.
.TP
.B Pid file: pid_file
When lyskomd is up-and-running it will write its pid in the file
.I prefix/pid_file.
This file is not currently used as a log file.  It is present here
only so that the updateLysKOM script can easily find out what pid the
LysKOM server has.
.TP
.B Memory usage file: mem_file
When lyskomd exits normally it appends some info on its usage of
memory to
.I prefix/mem_file.
Almost any memory leak bugs should be detectable by looking in this
file.
.TP
.B Idle timeout: idle
Number of milliseconds to sleep when there is nothing for lyskomd
to do.
.TP
.B Garb timeout: garb
Number of milliseconds to sleep when the server is garbaging texts,
but has nothing else important to do.
.TP
.B Sync timeout: sync
Number of milliseconds to sleep when lyskomd is saving its database.
Defaults to 0.
.TP
.B Garb interval: garb_interval
Number of minutes between each garb sweep.  Defaults to 1440, that is,
a garb sweep will be run once per day.
.TP
.B Sync interval: sync_interval
Number of minutes between syncs.  Currently, lyskomd holds part of the 
data base in main memory.  It is dumped to
.I prefix/data_file
periodically.  This parameter determines the period.
.TP
.B Sync retry interval: retry_interval
If anything goes wrong while trying to dump the data base to
.I prefix/data_file
(such as if the disk is full),
lyskomd will wait for this many minutes before trying again.
.TP
.B Max conference name length: int
.TP
.B Max password length: int
Only the first eight characters of the password are currently
significant, even if this number is much larger.
.TP
.B Max what am I doing length: int
.TP
.B Max username length: int
.TP
.B Max text length: int
.TP
.B Max broadcaset length: int
.TP
.B Max regexp length: int
.TP
.B Max marks per person: int
.TP
.B Max marks per text: int
.TP
.B Max recipients per text: int
.TP
.B Max comments per text: int
.TP
.B Max footnotes per text: int
.TP
.B Max links per text: int
.TP
.B Max mark_as_read chunks: int
.TP
.B Max super_conf loop: int
.TP
.B Default garb nice: int
Each conference has a lifetime for texts written in it.  
The lifetime is counted in days, and can be set for each conference by
the administrator of the conference.
This is the default value assigned to new conferences.
.TP
.B Max client transmit queue: int
Mux number of pending data blocks in the reply queue to a client.  If
there is ever more than this many data blocks in the queue the client
will be disconnected.  Each atomic question typically generates two
data blocks.
.TP
.B Max simultaneous client replies: int
This is a performance tuning parameter of little real interest.
.TP
.B Anyone can create new persons: bool
If this is set, anyone can create a new person, even if he lacks
special bits for doing so.
.TP
.B Anyone can create new conferences: bool
If this is set, anyone can create a new conferences, even if he lacks
special bits for doing so.
.TP
.B Allow creation of persons before login: bool
If this is set, persons can connect the the server and create a new
person without logging in.  This is how new users register in open
environments.
.TP
.B Default change name capability: bool
If this is set, new users are created with the ability to change their
own name.
.TP
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
.B Ident-authentcation: policy
Decide how strictly the server should use the IDENT protocol.
.B policy
can take any of three values:
.I off
or
.I never:
Do not use the IDENT protocol.
.I on
or
.I try:
Use it, but allow logins even if the lookup fails.
.I require
or
.I required:
Disallow connections if the server cannot find a IDENT login name.
.TP
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
.B Cache conference limit: int
How many conference statuses the server cache should hold in main
memory.
.TP
.B Cache person limit: assign_int
How many person statuses the server cache should hold in main
memory.
.TP
.B Cache text_stat limit: assign_int
How many text statuses the server cache should hold in main
memory.
.TP
.B Echo: text_string
Write
.I text_string
in the log.
.TP
.B Jubel: pers_no text_no
State that
.I pers_no
is not allowed to create text number
.I text_no
.TP
.B Jubel: pers_no divident remainder
Say that
.I pers_no
is not allowed to create any text number
.I T
which meets the condition
.I T \% divident == remainder
Linus Tolke's avatar
Linus Tolke committed
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
.SH SIGNALS
There are some signals that have a special meaning to the LysKOM
server.
.TP
.B SIGHUP
Logs out all sessions, saves the database and exits normally.
.TP 
.B SIGQUIT
Saves the database and dump core. (This should only be used for
debugging purposes.)
.TP
.B SIGUSR1
Print statistics about how often different commands have been used
since the process started.
.TP
.B SIGUSR2
Forks a child that immediately dumps core. The main process just waits
until the child is done and then continues. (This does not work on
Suns.)
Linus Tolke's avatar
Linus Tolke committed
365
366
367
.SH FILES
.TP 20
.B /usr/lyskom
368
369
Default value of
.I prefix.
Linus Tolke's avatar
Linus Tolke committed
370
.TP
371
372
.IB prefix /db/lyskomd-data
Half of the database: all status information.
Linus Tolke's avatar
Linus Tolke committed
373
.TP
374
375
.IB prefix /db/lyskomd-texts
The other half of the database: the actual texts.
Linus Tolke's avatar
Linus Tolke committed
376
.TP
377
378
379
380
381
382
383
384
.IB prefix /db/lyskomd-backup
A backup copy of 
.I lyskomd-data.
Never, ever delete this file unless you know what you are doing, or
you may lose the entire data base.  Most of the time this is the only
complete database file!
.TP
.IB prefix /etc/pid
Linus Tolke's avatar
Linus Tolke committed
385
386
File with the pid of the lyskom-process.
.TP
387
388
389
390
391
.IB database-directory /etc/memory-usage
On normal exit, 
.I lyskomd
will append some statistics to this file.  It can be used for
detecting memory leaks.
Linus Tolke's avatar
Linus Tolke committed
392
.SH BUGS
393
394
395
396
397
398
.PP
lyskomd should re-read the config file when a SIGHUP is received.
.PP
lyskomd should terminate when a SIGINT or SIGTERM is received.
.PP
A very small memory leak still remains.
Linus Tolke's avatar
Linus Tolke committed
399
400
401
402
403
404
.PP
There is no practical handling of security.
.PP
The choice of asynchronously issued messages is not very good.
.PP
The so called "data base" is a joke.
405
406
407
408
409
410
411
412
413
414
415
416
417
.PP
It uses too much memory.
.SH HISTORY
In 1990, Per Cederqvist <ceder@lysator.liu.se> and Peter Eriksson
<pen@lysator.liu.se> and a few other persons started to write the
server.  It was operational in the summer of 1990, even though the
members of Lysator discovered a thing called MUD.  We started using
RCS on 20 May 1991. The first release was made on 16 Sept 1991. 
Around that time we switched from RCS to CVS, and ceder started to
write pcl-cvs (a GNU Emacs front-end to CVS) instead of LysKOM. After
a while, he started writing Bugtrack, to be able to handle all bug
reports he recieved about pcl-cvs.  He hopes to be able to devote some
more time to LysKOM in the future.
Linus Tolke's avatar
Linus Tolke committed
418
.SH NOTE
419
Contact Per Cederqvist if you want commercial support of LysKOM.