Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Per Cederqvist
lyskom-server-ceder-1616-generations-topgit
Commits
08bfc32d
Commit
08bfc32d
authored
Aug 23, 2003
by
Per Cederqvist
Browse files
Updated for the 2.1.0 release.
parent
57667541
Changes
1
Hide whitespace changes
Inline
Side-by-side
NEWS
View file @
08bfc32d
Changes
in
lyskomd
2.1.0
(
Release
date
2003
-
08
-
XX
)
--------------------------------------------------
*
Protocol
changes
:
(
changes
that
affect
clients
)
**
The
information
about
which
texts
you
have
read
is
now
transmitted
in
a
much
more
efficient
form
:
as
a
list
of
ranges
.
Previously
,
it
was
transmitted
as
a
number
that
you
have
ready
everything
before
,
and
a
list
of
additional
text
that
you
have
read
.
It
is
now
possible
to
mark
a
text
as
not
read
,
and
to
efficiently
tell
the
server
exactly
which
texts
should
be
marked
as
read
.
Affected
requests
:
107
=
query
-
read
-
texts
108
=
get
-
membership
109
=
mark
-
as
-
unread
110
=
set
-
read
-
ranges
The
old
requests
98
=
query
-
read
-
texts
-
10
and
99
=
get
-
membership
-
10
will
continue
to
work
,
but
clients
are
encouraged
to
switch
to
the
new
requests
instead
.
**
The
server
now
keeps
real
-
time
statistics
about
a
lot
of
things
,
such
as
the
number
of
pending
DNS
requests
,
the
number
of
connected
clients
,
the
number
of
processed
requests
,
the
size
of
various
buffers
,
et
c
.
You
can
also
get
the
ascent
and
descent
rates
for
all
measured
variables
.
111
=
get
-
stats
-
description
112
=
get
-
stats
**
The
server
can
tell
when
it
last
started
,
how
many
texts
existed
then
,
and
some
other
information
that
was
current
when
it
started
.
113
=
get
-
boottime
-
info
**
Three
new
requests
makes
it
possible
to
loop
through
all
existing
conferences
without
having
to
guess
what
the
largest
conference
number
is
,
and
without
having
to
try
each
number
in
turn
.
114
=
first
-
unused
-
conf
-
no
116
=
find
-
next
-
conf
-
no
117
=
find
-
previous
-
conf
-
no
**
The
highest
text
number
can
now
be
retrieved
.
115
=
first
-
unused
-
text
-
no
**
The
times
can
now
be
expressed
in
UTC
instead
of
in
the
local
time
zone
of
the
server
.
This
makes
it
possible
to
write
a
client
that
displays
time
in
the
local
time
zone
of
the
client
,
and
makes
it
easier
to
correctly
format
dates
as
"today"
or
"yesterday"
even
when
the
client
and
server
are
in
different
time
zones
.
120
=
set
-
connection
-
time
-
format
**
In
case
you
want
to
traverse
texts
in
a
conference
(
or
written
by
an
author
)
in
the
direction
from
newer
to
older
texts
,
you
can
now
do
so
efficiently
with
these
new
requests
:
121
=
local
-
to
-
global
-
reverse
122
=
map
-
created
-
texts
-
reverse
(
The
field
later
-
texts
-
exists
in
Text
-
Mapping
has
been
renamed
to
more
-
texts
-
exists
,
so
that
it
makes
sens
when
these
new
requests
are
used
.)
**
The
server
is
now
much
more
fair
in
giving
each
client
approximately
the
same
amount
of
resources
while
under
heavy
load
.
Clients
can
use
these
new
requests
to
tell
the
server
that
they
want
more
or
less
than
their
fair
share
,
by
adjusting
their
weight
.
(
Compare
with
the
"nice"
command
of
Unix
.)
118
=
get
-
scheduling
119
=
set
-
scheduling
These
commands
can
also
set
the
priority
.
As
long
as
a
client
of
priority
N
has
a
request
for
the
server
,
clients
with
a
priority
larger
than
N
will
be
blocked
.
However
,
the
current
implementation
only
supports
a
single
priority
.
The
scheduling
requests
are
considered
experimental
.
**
The
text
garb
has
been
modified
,
so
that
a
fresh
comment
or
footnote
to
a
text
prevents
the
text
from
being
removed
.
The
amount
of
extra
time
the
text
lives
depends
on
the
keep
-
commented
field
if
the
conference
status
,
and
defaults
to
77
days
.
The
set
-
keep
-
commented
request
that
was
previously
labeled
"Experimental"
is
now
labeled
"Recommended"
,
as
it
actually
does
something
useful
now
.
**
A
few
new
asynchronous
messages
have
been
added
:
19
=
async
-
new
-
user
-
area
20
=
async
-
new
-
presentation
21
=
async
-
new
-
motd
22
=
async
-
text
-
aux
-
changed
**
You
can
tell
the
server
that
you
don
't want to receive group
messages for a group, via the new passive-message-invert bit of the
Membership-Type.
** The following requests can no longer be used until you have logged
in:
58=get-last-text
60=find-next-text-no
61=find-previous-text-no
** You can now modify the type of a recipient (with the add-recipient
request) if you are the supervisor of either the author, recipient
or sender. The check used to be more restrictive.
** The following asynchronous messages are now sent to recipients of
texts linked to the relevant text: async-deleted-text,
async-new-text, async-new-text-old, async-add-recipient and
async-sub-recipient.
** New aux-item: 35=mx-refuse-import.
** The supplied aux-items.conf file now validates many aux-items more
strictly.
* Protocol specification bugs fixed:
** The descripton of the error code index-out-of-range was wrong for
some requests. See the "Document Edition History" for details.
** async-leave-conf is not sent when a person is deleted.
** add-comment and add-footnote can both return the error codes
already-comment and already-footnote. This ensures that a text
cannot be both footnote and comment to the same text at the same
time.
* Client-visible bugs fixed:
** The session_start field of a Connection was used both to record the
connect time and the login/logout time. As a result, the
connection-time of a Static-Session-Info was not actually static.
Fixed by keeping track of the connect time and the login/logout
time separately.
** It is now impossible to add the same text as FAQ for the same
conference more than once.
** The code that determined who were allowed to remove or add an
aux-item from a conference or person was wrong.
** Idle clients are now disconnected after a very long timeout. The
timeout is different during the differen phases of a connection.
The following parameters (with the default value) affects this:
Parameter Default Meaning
========= ======= =======
Stale timeout 60 minutes Output buffer full and client
not reading
Connect timeout 30 seconds Idle timeout before sending
initial handshake.
Login timeout 30 minutes Idle timeout while not logged
in.
Active timeout 11.5 days Idle timeout while logged in.
The idle timer is reset whenever anything is written to the
client.
** If a client sends a 27=mark-as-read request with a too long array,
it will now receive the error code long-array instead of a
notification of a protocol error.
* Other client-visible changes:
** The server is now more careful never to reuse text, person and
conference numbers, even after a crash.
** 27=mark-as-read no longer leaks information about secret
conferences.
** IPv6 support has been contributed by Thorild Selén. (Changes made
in the last few months may however have broken the code, so it
should be considered experimental.)
* Installation changes:
** A serious bug in the SIGWINCH handling has been found but not
fixed. Please see lyskomd.texi before you send a SIGWINCH signal
to the server!
** The file system layout has changed. The following files and
directories have been moved. As a result, it should now be safe to
install lyskomd with prefix set to /usr/local or even /usr. The
default prefix is still /usr/lyskom, however. See README for
upgrade
instructions
.
upgrade instructions. You should be able to change the file names
via standard "./configure" arguments, such as --localstatedir. See
INSTALL.
Parameter Old default value New default value
========= ================= =================
lyskomd path: bin/lyskomd sbin/lyskomd
savecore path: bin/savecore sbin/savecore-lyskom
...
...
@@ -34,6 +226,100 @@ Backup export directory:
All other binaries have also been moved from "bin" to "sbin".
** lyskomd is now officially shut down via SIGTERM. (SIGHUP still
works, and SIGINT now also shuts it down cleanly). In a future
release, SIGHUP will probably change meaning to "re-read the
configuration files".
** This release was made using autoconf-2.57 and automake-1.7.6 (with
a small patch).
** The following new parameters affect how client scheduling works:
Penalty per call
Penalty per read
Max penalty
Low penalty
Default priority
Max priority
Default weight
Max weight
See lyskomd.texi for documentation on the parameters.
** The following parameters have been removed:
Idle timeout
** Most parameters that specify a time period can now accept a suffix
that specifies the unit. If the unit is not given, it defaults to
the old unit, which are different for different parameters.
Affected parameters:
Garb busy postponement
Garb timeout
Sync timeout
Garb interval
Sync interval
Sync retry interval
Stale timeout
Connect timeout
Login timeout
Active timeout
** Renamed the following parameters:
Max client transmit queue -> Max client transmit queue messages
** When updateLysKOM sends an email, it now uses the "sendmail"
program. The path is found at configure time, and can be
overridden with the parameter "sendmail path". The special value
":" turns off mail delivery.
** The following parameters not mentioned elsewhere have been added:
Garb busy postponement
Max read_ranges per call
Number file
Number temp file
Statistic name length
Max client message size
Max client transmit queue bytes
* Bug fixes
** The "Max texts" and "Max conferences" parameters were off by one.
** The server now works on IRIX64 and FreeBSD 4.7.
** The server now stores almost all times and time spans as "struct
timeval" or "time_t". This eliminates a number of potential
overflows.
* Other noteworthy improvements
** The format of the var/lyskomd.clients file is now documented.
** The server now uses liboop for the event loop. As a result, libisc
has been heavily mutilated. Its main function is now to provide
output buffering and to handle the details of TCP connection
establishment (over both IPv4 and IPv6).
The server comes with its own version of liboop. Some
modifications had to be made. (They have been sent to the
maintainer.)
** The server now uses adns to resolve IP addresses in an asynchronous
way. (Since adns doesn'
t
support
IPv6
addresses
,
this
only
works
for
IPv4
addresses
.
The
old
blocking
method
is
used
for
IPv6
addresses
.)
A
client
that
connects
can
do
the
initial
handshake
,
up
to
the
point
of
receiving
the
string
"LysKOM"
,
but
after
that
point
the
client
will
be
blocked
until
the
DNS
resoultion
completes
.
The
client
will
be
totally
invisible
to
other
clients
until
the
DNS
resolution
completes
(
so
that
the
result
of
get
-
static
-
session
-
info
really
is
static
).
Changes
in
lyskomd
2.0.7
(
Release
date
2002
-
11
-
03
)
--------------------------------------------------
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment