GNKSA Evaluation Form 2.02 Product Name : Slrn Product Version : 0.9.4.3 Tested on platform : UNIX (Linux, Solaris, and IRIX) Available for platforms: UNIX, BeOS, VMS, OS/2, Win32 Evaluation date : 15-Mar-1998 Evaluated by : Fluffy Conclusion ========== Slrn 0.9.4.3 fails to satisfy some basic GNKSA requirement(s), hence does NOT qualify for the Good Net-Keeping Seal of Approval. Summary ======= Pass Fail Total Pass/Fail% MUSTs 36 3 39 92%/8% SHOULDs 16 11 27 59%/41% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 92%M %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 59%S [GNKSA Score-O-Meter] Details ======= Regarding the strict GNKSA requirements (MUSTs), Slrn 0.9.4.3 FAILS on the following points: 7c Does not restrict references sensibly 12b Fails to refuse to post messages with syntactically incorrect From: 13c Allows cancelling/superseding other people's articles Slrn 0.9.4.3 violates `soft' GNKSA requirements (SHOULDs) in the following way: 3b Does not warn when posting to a large number of groups 3c Fails to encourage setting a Followup-To on large crossposts 7e Fails to omit `broken' Message-IDs. 9a Does not support mailing instead after following up 9b Does not support posting instead after replying 10d Does not omit (proper) signatures from quoted text 10e Does not let the user indicate which part to followup to 12c Can use a bogus e-mail address 13b Does not enable users to supersede their own articles 14c Refuses to post articles containing long lines 15b Does not warn on, or refuse, excessive signatures Slrn 0.9.4.3 offers the following nice net-keeping features unmentioned by the GNKSA: Among Slrn's most impressive features is its scorefile capability. It uses a syntax that mere humans can decipher, and it can be used with virtually any header or fragment. GroupLens support is also included, which would be much cooler if more people actually *used* it. Slrn can be used as either an on- or off-line NNTP reader. The included slrnpull utility simulates a small server spool on the local machine. Also, support is included for reading from a real news spool and posting via inews. Mail sending is extremely flexible, allowing any program to be substituted for sendmail. Hooks are provided to allow any text editor or script to be used for composing articles, and incoming articles are easily archived or piped to external commands. Good support is included for multiple servers and configurations, but only one server per invocation. Multiple copies of Slrn can be run at once (one instance per .newsrc) without trouble. Especially nice is the ability to reconstruct threads. Parent references are always available, while children and entire threads can also be retrieved from NNTP servers that support XPAT. S-Lang macros allow Slrn to gain new features or emulate the interfaces of other programs. In addition to Followup-To: poster, Slrn also honors [X-]Mail-Copies-To headers. Additional Comments: Though Slrn fails 12c, I consider that a feature. It's not uncommon for posters with multiple accounts to want to use the same posting address from all. More rigorous checks on Supersedes and cancels would only be helpful if Slrn is used in an environment where the user does not have a shell prompt -- there are just too many other ways to inject such articles from a shell with equal or greater ease. Too, such support would not be very useful in the Windows and OS/2 implementations. But yes, the References: handling needs work. It is, at least, available for editing by the poster. Checklist ========= (M)UST / (S)HOULD 1) Displays all essential header information Software clearly displays: [Y] a) Article's author (From) M [Y] b) Article's Subject M [Y] c) List of groups posted to (Newsgroups) M [Y] d) Where (and how) to direct followups (Followup-To) M [Y] e) Where to reply to if not the From-address (Reply-To) M [Y] PASS: Satisfies all MUSTs M 2) Provides clear, separate commands for new posting, followup, and e-mail reply [Y] a) for posting a new article M [Y] b) for posting a followup article M [Y] c) for replying by e-mail M [Y] d) Uses standard terminology S [Y] e) Avoids ambiguous terminology S [Y] PASS: Satisfies all MUSTs M 3) Provides cross-posting functionality [Y] a) Allows specifying multiple groups M [N] b) Warns about, or prevents, posting to large numbers of groups S [N] c) Strongly encourages setting Followup-To: on large crossposts S (`Y' if large crosspostings are disallowed) [Y] PASS: Satisfies all MUSTs M 4) Allows users to change essential headers [Y] a) Allows editing Subject at all times during composition M [Y] b) Allows specifying new Subject of at least 70 characters M [Y] c) Allows setting "Followup-To: poster" M [Y] PASS: Satisfies all MUSTs M 5) Ensures followups and e-mail replies contain a correct Subject [Y] a) Prepends "Re: " if (and only if) not already present M [Y] b) Preserves entire original Subject (modulo minor repairs) M [Y] PASS: Satisfies all MUSTs M 6) Directs followups to the correct newsgroups [Y] a) Initiates e-mail reply rather than a followup posting on "Followup-To: poster", clearly informing the user M [Y] b) Posts to groups in Followup-To if present M [Y] c) Posts to groups in Newsgroups otherwise M [Y] PASS: Satisfies all MUSTs M 7) Make sure followups contain valid References [Y] a) Creates References header with Message-ID of original article as the last element M [Y] b) Includes last three References from original M [N] c) Ensures References will fit in 998 characters M [Y] d) Keep as many References from original as fit S [N] e) Does not propagate broken Message-IDs in original References S [N] PASS: Satisfies all MUSTs M 8) Direct e-mail replies to the correct address [Y] a) Uses Reply-To if present M [Y] b) Uses From address otherwise M [Y] PASS: Satisfies all MUSTs M 9) Allow the user to change her mind about whether to post or mail (or do both) and behave if doing both [N] a) Allows users to change their mind and mail rather than post after having initiated a followup message S [N] b) Allows users to change their mind and post rather than mail after having initiated a reply message S [Y] c) Does not offer both posting and mailing as default behaviour M [Y] d) Inserts a notification that the message was posted as well as mailed in the e-mail copy when both posting and mailing a followup article S [Y] PASS: Satisfies all MUSTs M 10) Provide adequate quotation and attribution facilities [Y] a) Allows including quoted original M [Y] b) Clearly distinguishes quoted material M [Y] c) Prefixes quoted material with `>'/`> ' S [N] d) Omits correctly delimited signatures from quoted material S [N] e) Provides a means of indicating which part(s) to followup to S [Y] f) Attribution line containing original author precedes quotes M [Y] PASS: Satisfies all MUSTs M 11) Provide a user-specified "Subject: " header [Y] a) Requires non-empty, user-specified Subject for new articles M [Y] b) Refuses posting articles without, or with an empty, Subject M [Y] c) Does not provide default Subject if user did not set one M [Y] d) Allows changing the Subject at any time while editing M [Y] PASS: Satisfies all MUSTs M 12) Provide a valid "From: " header [Y] a) Sets "From: " header to syntactically valid e-mail address M [N] b) Refuses posting articles without a syntactically valid "From: " header M [N] c) Uses correct e-mail addresses (valid and belonging to the user) only, as far as it can possibly know S [N] PASS: Satisfies all MUSTs M 13) Allow users to both cancel and supersede their own articles (and _no_ others!) [Y] a) Allows cancelling articles S [N] b) Allows superseding articles S [N] c) As far as possible, does not allow cancelling or superseding other peoples' articles M [Y] d) Uses standard terminology S [N] PASS: Satisfies all MUSTs M 14) Try to respect the 80-character line-length convention [Y] a) Articles are posted as edited, with linebreaking intact S [Y] b) Warns about lines over 80 characters S [N] c) Does not refuse to post articles containing long lines S [Y] d) Allows rewrapping quoted text S [Y] e) Enforces formatting requirements on article after external editing (`Y' if there is no support for external editors) S [Y] PASS: Satisfies all MUSTs M 15) Separate signatures correctly, and don't use excessive ones [Y] a) Uses (and enforces) standard signature delimiter S [N] b) Warns against or refuses to use excessive signatures S [Y] PASS: Satisfies all MUSTs M 16) Try to prevent obvious user errors [Y] a) Warns when attempting to post empty articles M [Y] b) Refuses posting empty articles S [Y] c) Warns when post articles containing quoted material only M [Y] d) Refuses posting quoted-text-only articles S [Y] e) Warns against posting multiple copies (`Y' if impossible) M [Y] f) Prevents multiple posting entirely S [Y] PASS: Satisfies all MUSTs M 17) Post human-readable articles unless ordered otherwise [Y] Does not (and can not) encode or encrypt articles unless on explicit user demand M [Y] PASS: Satisfies all MUSTs M 18) Provide self-protection [Y] Allows filtering out annoying articles (killing) S [Y] PASS: Satisfies all MUSTs M 19) Be kind to servers, leave room for others [Y] a) Does not unnecessarily open multiple connections M [Y] b) Does not generate excessive server load otherwise M [Y] PASS: Satisfies all MUSTs M