Changes in lyskomd 2.0.3 (Release date 1999-07-25) -------------------------------------------------- * The 2.0.2 release didn't really fix the bug. This release includes a test case that was triggered by the bug, and at least now that test case succeeds. As usual, there are no guarantees, but the bug should be fixed now. Changes in lyskomd 2.0.2 (Release date 1999-07-23) -------------------------------------------------- * Fixed a bug that caused lyskomd to follow a NULL pointer when an empty name was looked up. Changes in lyskomd 2.0.1 (Release date 1999-07-12) -------------------------------------------------- * Protocol changes (changes that affect clients) ** Regexp matching is never ever case insensitive. The behavior of regexp matching in release 2.0.0 was severely broken. We will not change this again. ** The author of a text is allowed to change the recipient type (to recpt, cc-recpt or bcc-recpt) with the add-recipient call. Previously, only the supervisor of the recipient could do this. * Administration and installation changes ** No asynchronous messages are sent to the clients during shutdown of the server. This speeds up the shutdown slightly. * Bug fixes ** A buffer overrun and several minor bugs were fixed. ** The created_texts field of persons were not always properly updated when texts were deleted. You may have to run dbck to fix your database. ** Changes made to the Conference were sometimes forgotten and not saved to disk. dbck can not yet fix all the errors that may have been introduced. * Performance fixes ** The calls that used regexps were very slow. The cause was not the actual regular expression matching, but that the permission checking was done in a broken way. This has been fixed, and should improve performance on many of the calls, but especially for the regexp lookup functions. ** The calls that create, change or delete names of persons and conferences are now much faster. ** Copying data from lyskomd-backup to lyskomd-data no longer uses dynamically allocated memory. Changes in lyskomd 2.0.0 (Release date 1999-06-27) -------------------------------------------------- * Protocol changes (changes that affect clients) ** It is now possible to see when a membership was added and by whom. Memberships come in several different flavors through the addition of a membership type. Currently defined types are secret, passive and invitation. Since protocol version 9 setting a priority of zero in a conference was supposed to indicate passive membership in a conference. It was largely up to the client to implement this. True passive memberships have been introduced in this protocol version through the Membership-type extension to the Membership type. In order to maintain compatibility with clients that interpret priority 0 as passive membership, the old calls perform magic, translating between priorities and membership types. Clients that use the new calls can now once again use priority 0. These new calls include the Membership-type: 98=query-read-texts 99=get-membership 100=add-member 101=get-members 102=set-membership-type ** Error reporting from the server has been improved. The possible error codes from each call have been checked and documented. In the process some calls now return errors they previously did not. Since the error returns were never defined, this should not present a problem for existing clients. The error-status field is set to something semi-useful in all cases. ** Several situations where the server leaked secret information have been fixed. ** The conference type has been extended so that it is possible to forbid secret members in the conference. All old calls that wanted a conference type now accepts both the old-style type and the new-style. This call returns the new conference type: 91=get-conf-stat ** Regexp matching is now case insensitive by default. Case sensitivity is configurable via a config file for the server. This is an incompatible change. ** It is now possible to attach arbitrary data to conferences and texts. This allows simple extensions to server data structures without requiring protocol changes. These data object are called aux-items, and are configured with the aux-items.conf file. There are several predefined aux-items with special meanings; see doc/Protocol-A.texi. These new calls handle aux-items: 86=create-text 87=create-anonymous-text 88=create-conf 89=create-person 90=get-text-stat 92=modify-text-info 93=modify-conf-info 94=get-info 95=modify-system-info 96=query-predefined-aux-items ** A new recipient type, BCC recipient, has been added. BCC recipients are only shown to potential members of the recipient and to the sender. The server accept bcc-recpt on input everywhere where it previously accepted recpt or cc-recpt. This call can return bcc-recpt: 90=get-text-stat ** The server can send asynchronous messages about texts being deleted; recipients being added and removed; and memberships being added. This should help clients with caches to keep them updated. ** There is a call to get the collate table being used by the server. 85=get-collate-table ** A call to set the flags field in a person structure has been added. The new version of create-person also takes flags as a parameter. 89=create-person 106=set-pers-flags ** There is a new parameter (keep_commented) on conferences for tuning the garbage collection process. This tuning is not implemented in the server, but users and clients are encouraged to start using the tuning parameter anyway since the tuning will be implemented in a future release. 91=get-conf-stat 105=set-keep-commented ** There is a parameter (expire) for configuring automatic removal of inactive conferences. This removal is currently not implemented, but users and clients are encouraged to start using it anyway and the automatic conference deletion procedure will be implemented in the near future. 91=get-conf-stat 97=set-expire ** Mapping of local text numbers to global text numbers is now much more efficient, which should lead to significant performance improvements if clients make use of these facilities. 103=local-to-global 104=map-created-texts * Administration and installation changes ** The database format has changed again. Old installations must convert their old database--see README for instructions. ** The komrunning and updateLysKOM utilities are now a C programs that read the configuration file, instead of shell scripts. komrunning now takes "start" or "stop" as argument instead of "up" and "down". ** The undocumented format of the etc/lyskomd.log file, which stores usage statistics, has been changed. ** The server can now reliably handle a lot more than 250 simultaneous clients even platforms where a FILE* only can refer to file descriptor 0-255. ** You can specify which IP number the server should listen to. The default is still to bind all IP numbers of the host that runs lyskomd. ** Support for the MUX protocol has been removed. ** The database is now locked with a lock symlink, so there is less risk of accidentally running a lyskomd and dbck or two lyskomd at the same time. * Bug fixes ** Sanity checks in database and protocol code increase stability and resilience to client errors and sabotage. ** Portability fixes. This release compiles cleanly on systems such as modern Linux systems that define errno as a macro. * Misc ** Documentation has been moved to two Texinfo files, one that specifies LysKOM Protocol A and one that documents lyskomd. The man pages are no longer maintained. ** The protocol documentation is more detailed, converted to Texinfo and written in English. ** The distribution contains a test suite that is used for regression testing the server in development. The test suite should run with no unexpected failures. ** We now use GNU automake. ** GNU malloc is no longer included in the distribution. ** Updated to use libisc 1.00 (with a few minor modifications; see src/libraries/libisc-new/ChangeLog). Changes in lyskomd 1.9.0 (Release date 1996-08-04) -------------------------------------------------- * The database format has changed. Old installations must convert their old database -- see INSTALL for instructions. The database now stores information about which text that is the message-of-the-day, so that information no longer has to be set in the config file. * dbck now uses GNU getopt, and can take long options. See the man page or "dbck --help". * dbck can now be used to reset the password of a single user to the empty string (using the new --clear-password option) or give a user all available privileges. This is handy if you forget the password of the LysKOM user with all privileges, or if you happen to delete that person by mistake. * Portability fixes. This release of lyskomd has been compiled with 4 different compilers on 8 different CPU:s using 9 different OS:s. 3 different make programs have been used. * The server supports idle-time handling using 3 new calls. Clients are expected to use this new functionality shortly. * Anonymous texts are still allowed per default, but it is now possible to set a bit in the conference type of a conference so that anonymous texts are rejected. * New simplified rules for when adding and subtracting comment and footnote links is allowed. * Clients can now tell the server which asynchronous calls they are interrested in receiving. This change can potentially decrease the network bandwidth used by lyskomd in the future. * Forward compatibility: the server now returns a normal error code when the client attempts to use an unsupported call. The client can now reliably try new calls and see if the server supports them. * Several bug fixes. The most important is probably that lyskomd should now stop cleanly when a HUP is received, even if a second HUP signal is received while it is going down. This didn't work on all platforms. Changes in lyskomd 1.8.0 (Release date 1995-11-08) -------------------------------------------------- * If configured with --with-gnu-malloc lyskomd will use the GNU malloc package instead of the system-supplied malloc. GNU malloc is included in the distribution. * The asynchronous message async_rejected_connection is now sent at most once per minute. * Lyskomd 1.8.0 implements protocol A level 8. See doc/prot-A.txt for information about the new features it contains. The database currently still only stores four bits of the conf_type, however, so it is useless to use the new anarchy bit until the next release. * You can now specify where lyskomd should dump core (if that should ever happen) using the "Core directory" parameter. * Can now handle 1500000 texts and 4765 persons/conferences. * Text garbing can now be turned off completely from the config file. * dbck -t now dumps a list of all existing text numbers to stdout. * Some minor portability fixes. Some bug fixes. See the various ChangeLogs for details. Changes in lyskomd 1.7.1 (Release date 1995-01-08) -------------------------------------------------- * doc/prot-A.txt is improved. * Minor portability changes to make lyskomd compile under Solaris 2.4, Ultrix 4.4 and Dynix 3.0.14. * Fixed bugs that caused "./configure;make;make distclean" to fail to remove all created files. * The default installation prefix is now, once again, /usr/lyskom. By accident it was changed to /usr/local in 1.7.0. Changes in lyskomd 1.7.0 (Release date 1994-12-31) -------------------------------------------------- * New calls "re_z_lookup" and "lookup_z_name" allows client to list conference names *fast*. * New call "get_version_info" returns information about the protocol level implemented by the server, the server name, and the server version number. * The call "send_message" now accepts a conference as recipient, and will direct the message to all members of that conference that are currently logged on. * The file doc/prot-A.txt is updated. The current protocol version is (somewhat arbitrarily) defined as 7. * If the file system holding the LysKOM database was full while somebody tried to create a text strange things could happen. Error checking has been added, and the client will now receive a KOM_TEMPFAIL if there is not enough space left on the device. * The 1.6.6 distribution contained some junk files, and others (such as the global ChangeLog) were missing. This has now been fixed. * Autoconf 2.1 has generated the current configure script. * The obsolete asynchronous message i_am_off is no longer sent. Changes in lyskomd 1.6.6 (Release date 1994-11-15) -------------------------------------------------- * Can now handle 1000000 texts and 4765 persons/conferences. * mark_as_read can (hopefully) no longer cause the server to crash. Changes in lyskomd 1.6.5 (Never released, used since 1994-10-24) ----------------------------------------- * New configuration parameter "Open files" can be used on hosts that support setrlimit to increase the limit on simultaneous connections. * New configuration parameter "Force ISO 8859-1" assists in environments where setlocale() is broken or lacks support for ISO 8859-1. * Slightly improved configure.in script. * Many harmless warnings and some errors from apcc removed. * NEWS entry for 1.6.4 was added. Changes in lyskomd 1.6.4 (Release date 1994-06-30) -------------------------------------------------- The call get-last-text now works. It has been broken since 12 oct 1993. It is now impossible to add a text to a conference unless the sender is able to enter texts into it. Changes in lyskomd 1.6.3 (Release date 1994-06-20) -------------------------------------------------- One bug was fixed: it is now possible to compile src/server/simple-cache.c. Changes in lyskomd 1.6.2 (Release date 1994-06-19) -------------------------------------------------- This is a bug-fix release. * The parameter ``Default change name capability'' was ignored, so any person created with release 1.6.1 of the server cannot change his name. Use "dbck -r -c" to set the bit for everyone. * The -c option to dbck is new. * The parameter ``Ident-authentication'' now works, so it is now possible to turn off ident authentication. * find_previous_text_no is now much more efficient if the client tries to search for a very large number. Version L0.12 of the tty-client will probably use find_previous_text_no(MAX_TEXT_NO), so this fix is important. For older news, see the various ChangeLog files.