Commit b4b514af authored by David Byers's avatar David Byers

*** empty log message ***

parent 3a326822
1998-12-26 David Byers <davby@ida.liu.se>
* doc/man/lyskomd.8 (value): Documented regexps use collate
table.
* src/server/param.h: Added regex_use_collate_table.
* src/server/server-config.c: Added regexps use collate table.
* src/server/regex-match.c (lookup_regexp): Set translation table
for regex according to regex_use_collate_table option.
* src/server/manipulate.h: New function declaration.
* src/server/membership.c (locate_membership_and_position): New
function.
(locate_membership): Use it.
* src/server/person.c (do_query_read_texts): New function.
(query_read_texts_old): Use it. (query_read_texts): Use it.
* src/server/prot-a-output.h(prot_a_output_extended_membership):
New function declaration.
* src/server/prot-a-output.c (prot_a_output_extended_membership):
New function.
* src/server/prot-a.c (prot_a_reply): Added
rt_extended_membership.
* src/include/kom-types.h: New type Extended_Membership.
* src/server/connections.h: Added extended_membership to
Result_holder. Added rt_extended_membership to Res_type
* src/include/services.h: Declare query_read_texts to take an
Extended_Membership
* doc/Protocol-A.texi (query-read-texts): Documented that this
function returns the position as well as the membership.
1998-12-25 David Byers <davby@ida.liu.se>
* README: Updated clients information.
* src/server/membership.c (set_membership_type): Removed F-word
from comment. Inserted F-abbreviation instead :-)
* src/server/conference.c (get_uconf_stat): Removed FIXME after
fixing fast_access_perm.
* src/server/membership.c (fast_access_perm): Set kom_errno if we
can't find the conference conf_no.
* src/server/membership.c (do_get_members): Don't filter secret
memberships if we have privilege bits set.
* doc/Protocol-A.texi (Error Codes): Fixed error in documentation
of secret-public
1998-12-24 David Byers <davby@ida.liu.se>
* src/server/aux-items.c (system_add_aux_item_list): Call add
triggers
(check_delete_aux_item_list): Return KOM_AUX_PERM if an item to
delete is mission. This is in accordance with the documentation.
* src/server/aux-items.h (INFO_OBJECT_TYPE): New constant.
1998-12-23 David Byers <davby@ida.liu.se>
* src/server/testsuite/lyskomd.0/03.exp: Updated test 1010 for
item 27.
Updated test 1017 for asyncs 16, 17 and 18
Updated test 1020 for asyncs 16, 17 and 18
Updated test 1022 for asyncs 16, 17 and 18
Updated test 1024 for asyncs 16, 17 and 18
In test 1032 updated async messages to show the bcc recpt. This is
because of the change to make bcc recpts visible to the creator
and to all when target is an open conference.
Added sleep 2 before test 1310. Otherwise test 1311 may fail since
one of the clients has not been idle for long enough (lyskomd is
OK.)
Updated test 1333 to not show deleted items
Similar in 1334, 1335 and 1339.
* src/server/testsuite/lyskomd.0/01.exp: Updated
query-predefined-aux-items test for item 27
1998-12-22 David Byers <davby@ida.liu.se>
* src/server/conf-file.c (MAXLINE): Increased line length limit to
1000 characters
1998-12-22 Per Cederqvist <ceder@gratia>
One more test.
......@@ -21,6 +115,22 @@
* doc/Protocol-A.texi (modify-system-info): Remove whitespace to
avoid too long lines in the generated info file.
1998-12-17 David Byers <davby@ida.liu.se>
* src/server/testsuite/config/Makefile.am (lyskomd-config): Use
aux-items.conf in this directory instead of in run-support.
* src/server/text.c (modify_text_info): Call commit_aux_item_list.
* src/server/conference.c (modify_conf_info): Call
commit_auc_item_list.
* src/server/admin.c (modify_server_info): Call
commit_aux_item_list.
* src/server/aux-items.c (commit_aux_item_list): New function to
really delete aux_items.
1998-11-14 Per Cederqvist <ceder@gratia>
Fixed another uninitialized memory problem: the allow_anon,
......@@ -152,6 +262,11 @@
current wording makes more sense, and it was also the implemented
behavior, so update the specification rather than the program.
1998-10-12 David Byers <davby@anton9.ida.liu.se>
* src/libraries/libcommon/Makefile.am (INCLUDES): Added -DSERVER
as in src/server
1998-10-11 Jonas S Karlsson <jsk@lysator.liu.se>
Aux-info defined for import/export of emails.
......@@ -200,6 +315,41 @@
* doc/Protocol-A.texi (login-old): The error-status indicates the
person number when invalid-password is returned.
1998-10-08 David Byers <davby@ida.liu.se>
* src/server/prot-a-output.c (prot_a_output_membership): Output
break_type.
* src/server/ram-output.c (foutput_membership_2): Output
break_type.
* src/server/ram-parse.c (fparse_membership_2): Parse break_type.
1998-10-07 David Byers <davby@ida.liu.se>
* src/server/text.c (recp_sent_by): New function.
(filter_secret_info): Let the sender of a bcc see a bcc and
let bccs to open conferences be visible to all.
1998-10-06 David Byers <davby@ida.liu.se>
* src/server/send-async.c (async_new_membership): New function.
(async_sub_recipient): Ditto.
(async_new_recipient): Ditto.
* src/server/prot-a-send-async.c (prot_a_async_new_membership):
New function.
(prot_a_async_sub_recipient): Ditto.
(prot_a_async_new_recipient): Ditto.
* src/server/text.c (send_async_add_recipient): New function.
(add_recipient): Send async-new-recipient
(send_async_sub_recipient): New function.
(do_sub_recpt): Send async-sub-recipient.
* src/server/membership.c (send_async_new_membership): New function.
(add_member_common): Send async-new-membership
1998-10-06 Per Cederqvist <ceder@gratia>
Document bcc-recpt. A created person is a member of his mailbox.
......@@ -239,6 +389,55 @@
unused. Removed.
* src/include/config.h (kom_errout): Was unused. Removed.
1998-10-04 David Byers <davby@ida.liu.se>
* configure.in: Output to include/config.h
* src/server/aux-items.c (delete_aux_item_list): Call undelete
triggers.
* src/server/dbck.c: Moved BUGDECL to top level.
* src/server/internal-connections.c (init_connection): Cast in
comparisons to get rid of compiler warnings.
* src/server/text-garb.c: Moved BUGDECL to top level.
* src/server/person.c: Moved BUGDECL to top level.
* src/server/conference.c: Moved BUGDECL to top level.
* src/server/membership.c (do_change_priority): Only fake the
passive flag when fake_passive is true.
* src/server/connections.c (dump_statistics): Remove compiler
warnings by casting in comparisons.
* src/include/kom-types.h: Declared fields of
Version_info_internal const to get rid of compiler warnings (plus,
it makes sense.)
* src/server/simple-cache.c (cached_get_text): Remove compiler
warnings by casting in comparisons.
* src/include/server/smalloc.h (SMALLOC_MAGIC_FREE): Declare
constants as unsigned to avoid compiler warnings.
* src/server/ram-parse.c (fparse_string): Remove compiler warnings
by casting in comparisons.
* src/server/local-to-global.c (find_block): Removed const
declarations to get rid of compiler warnings (it was cast away
anyway.)
* src/libraries/libcommon/kom-errno.c: Include kom-config
* src/server/admin.c: Conditionally include config.h
* src/server/dbck.c (check_membership): Check duplicated info
between member and membership records. Redeclared mship param
as non-const.
1998-10-04 Per Cederqvist <ceder@lysator.liu.se>
* TODO: New file.
......@@ -1435,6 +1634,36 @@
* doc/Protocol-A.texi: Minor errata.
* doc/security-levels.txt: Converted from swascii to latin1.
1998-06-14 David Byers <davby@ida.liu.se>
* src/server/membership.c (copy_public_confs): The supervisor of a
conference can now see secret parts of member's memberships.
(get_members): Ditto.
(set_membership_type): Don't allow secret memberships if the
conference forbids it.
(add_member): Ditto.
(add_member): Pretend that addition worked if the person is
already a secret member.
(do_get_membership): Renamed from get_membership_old.
(get_membership_old): New function.
(get_membership): Call do_get_membership
(do_get_members): Renamed from get_members.
(copy_public_confs): New argument want_passive.
* src/server/prot-a-output.c (prot_a_output_extended_conf_type):
Added output of forbid_secret.
* src/server/prot-a-parse.c (prot_a_parse_conf_type): Added parse
of forbid_secret.
* src/server/ram-parse.c (fparse_conf_type): Added parse of
forbid_secret.
* src/server/ram-output.c (foutput_conf_type_1): Added output of
forbid_secret.
* src/include/kom-types.h: Added forbid_secret conf_type.
1998-06-10 David Byers <davby@ida.liu.se>
* src/server/membership.c (sub_member): Return KOM_NOT_MEMBER for
......
......@@ -3,7 +3,7 @@
-- LysKOM server --
Copyright (C) 1991, 1992, 1994 Lysator Academic Computer Association
Copyright (C) 1991-1998 Lysator Academic Computer Association
================================================================
......@@ -26,14 +26,10 @@ like in netnews the articles are saved so that you don't have to be
logged in to receive the news.
As mentioned above, you need a client to be able to do something
useful with LysKOM. As of now, there is only one client that has been
released. It is written in elisp (and thus requires GNU Emacs to run)
and its language is Swedish. It should be easy to translate to
english since all text strings are collected in one source file. The
client is available via anonymous ftp from ftp.lysator.liu.se in the
directory pub/lyskom. Don't forget to fetch the documentation for it
at the same time - it is well worth reading it! (If you know
Swedish... :-)
useful with LysKOM. At this time there are several clients avaliable.
The most popular client is written in elisp and requires Gnu Emacs or
XEmacs to run. There are also web clients and a MS Windows client. See
<URL:http://www.lysator.liu.se/lyskom/> for availability of clients.
A LysKOM server has been running at Lysator since July 25th 1990.
You can connect to it and test it out if you like to get a feel for
......@@ -67,7 +63,7 @@ The testsuite
=============
You should be able to compile, install and run lyskomd in almost any
reasonably modern Unix environment. The test suite, however, require
reasonably modern Unix environment. The test suite, however, requires
that some special software is installed on your system. In the list
below we give the location for the version that was used to run the
test suite prior to release of the LysKOM server. Later versions may
......
......@@ -6,11 +6,14 @@ Before the next release
These are show-stoppers that prevent a new release.
* Should the error message be named conference-zero or
zero-conference? (Protocol-A.texi)
* Missinc test cases in 03.exp
* 89=create-person should probably not do an automatic login. (Wasn't
this discussed in KOM?)
I think the current behavior is so deeply entrenched that we
shouldn't change the it. Leave it alone.
* 52=get-unread-confs should ignore conferences where you are a
passive member.
* Read 45110, 45121, 45284 again and incorporate selected comments in
this document.
......@@ -19,19 +22,9 @@ These are show-stoppers that prevent a new release.
1991 (start at text 170527) and incorporate selected information in
this document.
* The Membership that is returned by 98=query-read-texts should
include the position of the Membership.
* Mention explicitly in the protocol spec that the cient cannot send
"0 *" to the server.
* Ability to have a callback function when an aux-item is created,
removed, changed or resurrected. (This is according to 3053346
critical. Why?)
* Test the code for memory leaks.
* Fix dbck so that it can repair Member<->Membership inconsistencies.
* Improve the file format for local-to-global.c.
* Improve the file format for local-to-global.c. Warning: this will
cause an incompatible change in the database format.
......@@ -45,55 +38,66 @@ These are show-stoppers that prevent a new release.
* Document 104=map_created_texts
* Implement a test suite that tests all calls successfully at least once.
* Use libisc 1.0.
* Update/rewrite README.
* Protocol-A.texi contains both INT32 and INTEGER. (3228850)
* Protocol-A.texi uses mailbox and letterbox interchangeably. Use one
term only, or at least state explicitly that they are the same thing.
* 89=create-person should probably not do an automatic login. (Wasn't
this discussed in KOM?)
* String-Size is used but not defined in Protocol-A.texi. (3228850)
* Session-No is defined twice in Protocol-A.texi. (3228850)
* Fix aux-item 13, 14 and 15 according to 3228006 and 3228045.
* Fix the node structure of Protocol-A.texi (3228867).
* Document aux-items for mail import/export. (3229403)
* Check the unused static function regarding aux-infos.
* Check that Async 13 is sent at the proper times (see 79208).
* Integrate doc/Bugrapporter into this document.
* The protocol revision section of Protocol-A.info is incomplete.
* The redirect aux-info needs more documentation. See FIXME comment
in Protocol-A.texi.
* Check that texinfo.tex is included in a proper place by automake.
* Fix dbck so that it can repair Member<->Membership inconsistencies.
DONE. Needs to be tested though.
* Implement a test suite that tests all calls successfully at least
once.
RESOLVED.
* Should the error message be named conference-zero or
zero-conference? (Protocol-A.texi)
RESOLVED: conference-zero
* 52=get-unread-confs should ignore conferences where you are a
passive member.
DONE.
* ceder thinks that the sender of a BCC recipient group should be
allowed to see it, so that the sender can see when the recipient has
read the text. (3380375, 3381048)
RESOLVED.
* ceder suspects that a BCC recipient group should be visible to anybody
that may become a member of the BCC recipient (as opposed to all
members and all administrators), lest everybody starts to be passive
members of every conference just to be able to see BCC recipients.
(3380375, 3381048)
* The redirect aux-info needs more documentation. See FIXME comment
in Protocol-A.texi.
RESOLVED.
* Check that texinfo.tex is included in a proper place by automake.
As soon as possible
===================
High priority, but they can wait until after the next release.
......@@ -107,8 +111,6 @@ High priority, but they can wait until after the next release.
* Define and implement asynchronous messages for cache inconsitency.
* Validation of aux-items.
* Add a checksum on each object in the database.
* The text-mass file should contain some redundancy. At a minimum, it
......@@ -148,3 +150,74 @@ Lower priority than the above-mentioned things.
* Don't include so much information in the Person and Conference
structures internally in the server. A Conference is (probably)
used much more often than the large internal lists within it.
Fixed
=====
* Mention explicitly in the protocol spec that the cient cannot send
"0 *" to the server.
Already there.
* Fix dbck so that it can repair Member<->Membership inconsistencies.
Done.
* Protocol-A.texi contains both INT32 and INTEGER. (3228850)
Changed all INTEGER to INT32
* Protocol-A.texi uses mailbox and letterbox interchangeably. Use one
term only, or at least state explicitly that they are the same
thing.
Letterbox used in structures, mailbox in text. It's safe to
replace all mailboxes with letterbox.
* String-Size is used but not defined in Protocol-A.texi. (3228850)
Use INT32 instead
* Session-No is defined twice in Protocol-A.texi. (3228850)
Removed second definition.
* Check the unused static function regarding aux-infos.
Done.
* ceder thinks that the sender of a BCC recipient group should be
allowed to see it, so that the sender can see when the recipient has
read the text. (3380375, 3381048)
Done.
* ceder thinks that a BCC recipient group should be visible to anybody
that may become a member of the BCC recipient (as opposed to all
members and all administrators), lest everybody starts to be passive
members of every conference just to be able to see BCC recipients.
(3380375, 3381048)
Done.
* The redirect aux-info needs more documentation. See FIXME comment
in Protocol-A.texi.
Fixed.
* Validation of aux-items.
Regexp validation done.
* Ability to have a callback function when an aux-item is created,
removed, changed or resurrected. (This is according to 3053346
critical. Why?)
Done.
* The Membership that is returned by 98=query-read-texts should
include the position of the Membership.
Whatever. Done.
dnl $Id: configure.in,v 1.50 1998/08/09 11:29:32 ceder Exp $
dnl $Id: configure.in,v 1.51 1998/12/26 22:40:10 byers Exp $
dnl Configuration for LysKOM
dnl Copyright (C) 1993, 1994, 1995, 1996 Lysator Academic Computer Association.
dnl
......@@ -18,8 +18,9 @@ dnl Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
dnl
dnl Please mail bug reports to bug-lyskom@lysator.liu.se.
dnl
AC_REVISION($Revision: 1.50 $)
AC_REVISION($Revision: 1.51 $)
AC_INIT(src/server/lyskomd.h)
AM_CONFIG_HEADER(config.h)
AC_CONFIG_AUX_DIR(scripts)
AM_INIT_AUTOMAKE(lyskom-server, 2.0.0.pcl.2)
......
\input texinfo @c -*-texinfo-*-
@c $Id: Protocol-A.texi,v 1.43 1998/12/20 19:31:57 ceder Exp $
@c $Id: Protocol-A.texi,v 1.44 1998/12/26 22:40:12 byers Exp $
@c %**start of header
@setfilename protocol-a.info
@settitle LysKOM Protocol A
......@@ -461,7 +461,7 @@ Conferences hold articles. They are represented in the protocol as a
data type called @code{Conference}. Each conference has a
@emph{creator}, the person who created the conference, and a
@emph{supervisor}, a conference whose members can modify the conference.
If the supervisor is a person, the members of that person's letterbox
If the supervisor is a person, the members of that person's mailbox
are supervisors, which in most cases is only that person. We have also
introduced a type called @code{UConference} (pronounced micro-conf-stat)
which holds a subset of the information contained in the full
......@@ -484,18 +484,21 @@ restriction is currently not enforced by the server; clients must
implement this functionality.
@item letterbox
Conferences of this type are connected to persons. Letters to a person
are sent to the letterbox and the name of the letterbox is synchronized
are sent to the mailbox and the name of the mailbox is synchronized
with the person name. It is currently not possible to explicitly set or
clear this flag on a conference.
@item secret
Conferences of this type are secret. The server will not divulge any
information of the existence of the conference to persons who are not
members or supervisors of the conference. If a letterbox is made secret,
members or supervisors of the conference. If a mailbox is made secret,
that person cannot log in using the person name, but must specify a
person number instead.
@item allow-anonymous
Conferences of this type accept anonymous articles. Other conferences
will reject anonymous articles.
@item forbid-secret
Conferences of this type do not allow secret members. If a conference is
changed to this type, preexisting secret members remain secret.
@end table
......@@ -687,7 +690,7 @@ server and in protocol A.
Aux-items were introduced in protocol version 10 as a mechanism for
extending the conference, text and server information structures without
changing the protocol. Persons were excluded since nobody could figure
out a case where setting an aux-item on the letterbox wasn't as good as
out a case where setting an aux-item on the mailbox wasn't as good as
setting it on the person (another reason was that I was fed up writing
aux-item code by the time they were working on texts and conferences.)
......@@ -748,17 +751,22 @@ created per creator.
Data is a string that constitutes a brief comment to the text. This
comment should be displayed immediately after the text body.
The inherit bit is automatically cleared.
An item of this type will never be inherited, can always be deleted, is
never anonymous and is never secret.
@item cross-reference [3] (text, conference)
Data is a cross-reference to something else. The contents must match
"\(T\|C\|P\)\([0-9]+\) \(.*\)", where \1 specifies if the cross
reference leads to a text, conference or person, \2 specified the number
of the target (text-no, conf-no or pers-no) and \3 is simply descriptive
text.
Data is a cross-reference to something else. The contents consist of a
letter, a number, a space and a descriptive text. The letter must be one
of T, C or P. T specifies that the cross-reference points to a text; C
that it points to a conference; and P that it points to a person. The
number is the id of the target of the cross reference. The descriptive
text is simly that, a text that describes the cross-reference. For
example, "T15 Check this out!" is a cross reference to text 15 with a
description that reads "Check this out!".
The inherit bit is automatically cleared.
The inherit bit is automatically cleared and the item can always be
deleted.
@item no-comments [4] (text)
......@@ -797,37 +805,42 @@ this item without an explicit confirmation from the user that the text
has indeed been read.
The hide-creator, secret and inherit bits are automatically cleared.
Once created an item of this type cannot be deleted.
@item redirect [8] (conference)
When set, messages sent directly to the conference should really be
sent elsewhere. Data is PROTOCOL:ADDRESS where PROTOCOL is either
"E-mail" or "LysKOM", and ADDRESS is either an e-mail address or a
LysKOM conference. Hopefully we'll be able to replace this with a
forwarding mechanism later.
This item indicates that texts should not be sent to the conference,
but be directed to some other target instead. Clients should notify
users that attempt to send texts to the conference of the redirect and
offer to send the text to the target of the redirect instead. A typical
use of this item would be a user that does not read LysKOM very often
and would like to advise other users to send e-mail instead.
Data is PROTOCOL:ADDRESS where PROTOCOL is either "E-mail" or "LysKOM",
and ADDRESS is either an e-mail address or a LysKOM conference.
Hopefully we'll be able to replace this with a forwarding mechanism
later.
This item can only be set by the conference supervisor or in the case of
a letterbox, the person attached to the letterbox. The hide-creator and
a mailbox, the person attached to the mailbox. The hide-creator and
secret bits are cleared automatically. Only one redirect can be
specified.
@c FIXME: who is responsible for the redirect? The client? The server?
@c A magic redirecting client?
@item x-face [9] (conference)
Data is the face of the person in compface format. Cool, innit?
This item can only be set by the conference supervisor or in the case of
a letterbox, the person attached to the letterbox. The hide-creator and
a mailbox, the person attached to the mailbox. The hide-creator and
secret bits are cleared automatically.
@item alternate-name [10] (text, conference)
Data is a string that the client may use as an alternate to the name of
a conference or the subject of a text.
a conference or the subject of a text. Note that the server does not
match against this name when performing name lookups. Clients should
only display alternate names created by the user currently logged on.
The inherit flag is automatically cleared.
......@@ -835,7 +848,7 @@ The inherit flag is automatically cleared.
@item pgp-signature [11] (text)
Data is a PGP signature of the text. The signature should be the
equivalent of what "pgp -sba" generates.
equivalent of what "pgp -sba" in PGP 2.6.2 generates.
The secret, hide-creator and inherit bits are automatically cleared.
Signatures cannot be deleted once they have been created.
......@@ -846,31 +859,40 @@ Signatures cannot be deleted once they have been created.
Data is the public key of the person. It is desirable that the public
key contains a userid of the format "LysKOM <p\([0-9]\)@@\(.*\)>+", where
\1 is the number of the person in the LysKOM server specified in \2.
This rule is currently not enforced.
This item can only be set by the person himself. The hide-creator,
secret and inherit bits are automatically cleared.
@item e-mail-address [13] (conference, letterbox, server)
Data is an RFC 822-style email address. When set on a letterbox, it
should be the email address of the person. If the person has multiple
Data is an RFC 822-style email address. When set on a mailbox, it
should be the email address of the person. If the person has multiple
email addresses he may set serveral e-mail-address aux-items.
The meaning of this aux-item when set on a conference that isn't a
letterbox is... vague. For a conference that is used as to import a
mailing list this should be the email address of the list (or the
subscription address? FIXME.).
mailbox is vague. For a conference that is used as to import a mailing
list this should be the email address of the list. For other conferences
we haven't really defined a sensible use.
When this aux-item is set on the server it shold contain the email
address of the administrator (or administrators).
This aux-item can only be set by the administrator. The creator cannot
be hidden.
This aux-item can only be set by the supervisor of a conference or the
server administrator. The creator cannot be hidden.
@item faq-text [14] (conference, server)
Data is a decimal text number, which is a FAQ for the conference (or
server). This aux-item can only be set by the administrator.
server). This aux-item can only be set by the administrator. Adding
this item to a conference or to the server automatically marks the text.
Deleting the item unmarks the text.
This item can only be set by the supervisor or server administrator. The
hide-creator, secret, and inherit bits are automatically cleared.
@item creating-software [15] (text)
......@@ -980,9 +1002,20 @@ Data is a string with either an email name on the same format as