GNKSA Evaluation Form 2.05 Product Name : xrn Product Version : 9.02-beta-4 Tested on platform : Linux (2.2.6-15apmac) Available for platforms: Unix/X Evaluation date : 09/07/1999 Evaluated by : Adam Bailey Conclusion ========== xrn 9.02-beta-4 satisfies the basic GNKSA requirements, and therefore from now on may proudly carry the Good Net-Keeping Seal of Approval. Summary ======= Pass Fail Total Pass/Fail% MUSTs 39 0 39 100%/0% SHOULDs 20 7 27 74%/26% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 100%M %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 74%S [GNKSA Score-O-Meter] Details ======= xrn 9.02-beta-4 violates `soft' GNKSA requirements (SHOULDs) in the following way: 7d Does not keep as many references as possible 10d Does not omit (proper) signatures from quoted text 10e Does not let the user indicate which part to followup to 13b Does not enable users to supersede their own articles 14b Fails to warn for excessively long lines 14d Does not support rewrapping quoted text correctly 16d Does not refuse to post quoted text only Additional Comments: 3b/c Limitations on crossposting can be set to any number of newsgroups prior to compilation. By default, client does not prohibit crossposting, will recommend setting a followup with five newsgroups, and will generate a more strongly-worded warning with ten newsgroups. 6a Explains the situation, and presents user with a dialog box offering the choice between posting and mailing, posting, or sending mail -- with the latter highlighted. 6b Client presents the user (after the fact) with a notice that the article they followed up had a Followup-To header, and that their post went to a different group. 7c Client trims headers longer than 512 characters, for compatibility with older NNTP servers. 7d Client's decision to limit the Reference header to 512 characters is not "as many Message-IDs as will fit ... with a maximum length of 998 characters," in compliance with son-of-RFC1036. This issue has been discussed at length with the GNKSA and xrn authors, and the author's choice to design his client to be so strictly backwards-compatible is respectable. While it may not conform to the letter of the GNKSA on this point, it does fit within the spirit of the rule. 12 A Sender header using `username@host' is added to any post in which the From: header is modified. 15b Maximum signature size is configurable at compilation. Defaults to 330 characters, which is meant to be four eighty-column lines, plus some overflow. 16d Client's author is aware of this requirement, but believes that it is unwise to prevent a user from posting quoted text only after having expicitly dismissed the client's warning dialog box (cf. 16c). More information about xrn can be found at: A copy of this review has been sent to the author. 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 [Y] b) Warns about, or prevents, posting to large numbers of groups S [Y] 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 [Y] c) Ensures References will fit in 998 characters M [N] d) Keep as many References from original as fit S [Y] e) Does not propagate broken Message-IDs in original References S [Y] 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 [Y] a) Allows users to change their mind and mail rather than post after having initiated a followup message S [Y] 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 [Y] b) Refuses posting articles without a syntactically valid "From: " header M [Y] c) Uses correct e-mail addresses (valid and belonging to the user) only, as far as it can possibly know S [Y] 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 [Y] c) As far as possible, does not allow cancelling or superseding other peoples' articles M [Y] d) Uses standard terminology S [Y] 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 [N] b) Warns about lines over 80 characters S [Y] c) Does not refuse to post articles containing long lines S [N] 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 [Y] 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 [N] 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