Newsgroups: news.software.b
Path: utzoo!utstat!geoff
From: geoff@utstat.uucp (Geoff Collyer)
Subject: Re: C News, 386/ix, assorted questions/experiences
Message-ID: <1989Aug14.040740.3151@utstat.uucp>
Organization: Statistics, U. of Toronto
References: <1989Aug13.161806.15829@jdyx.UUCP>
Distribution: na
Date: Mon, 14 Aug 89 04:07:40 GMT

Just a reminder: "Distribution: usa" only gets to Toronto by a fluke of
our nntp connections.  Canada is not yet part of the USA, so na or
world distribution is appropriate and I have changed the distribution
on this followup to na.

Tom Friedel:
>I am running 386/ix.  The libstdio code fails only in one case,
>and that is when stdiock.fast -i -u is sent to stdout.  I get the
>message that _cnt is not compatible.  Why, and will this be a problem.

We don't know why your vendor has changed the meaning of _cnt, but it
doesn't matter; if you get any stdiock failure, you have to use your
vendor's stdio.  We hope that if they diddled the semantics of _cnt or
_ptr that they have also tuned the guts, but we can't promise.

>I am running nn, which expires based upon 3 field in active file.  
>C News does not update this field with expire, and upact is murder
>on my disk drive.  Expire -c 'checks consistency of active file'. 
>What exactly does expire -c do?  And what is the best way to use NN
>with C News?

I'll let Henry give the definitive answer on upact (which I only run
weekly and I don't think zoo runs it at all).  expire -c doesn't remove
nor archive any files, it just checks that explist and active are okay,
generating error messages (and I assume bad status) if not.  expire(8)
really does say this.

>If i get an article that is posted to two newsgroups, one which i get
>and one which I don't, C News will put it into the first group
>on the newsgroups: line (creating the directory if necessary), regardless 
>of whether or not this group is in my sys file.

If an article is accepted for filing by relaynews (because your
machine's (sys file) subscription list matched at least one newsgroup
in the article's Newsgroups: line), relaynews will then attempt to file
the article in all the groups in the Newsgroups: line.  (We shall
ignore the precise rules for junking here; see relaynews(8) if you are
interested.)  Since the active file (which should really be called
"groups", not "active") defines the set of newsgroups accepted locally,
it is consulted during filing; it is assumed that if you don't want a
group, you either have its flag field set to "x" (meaning don't junk,
just ignore) OR you don't have it in your active file and your
subscription list refuses it.  Leaving a group un-x'ed in your active
file even if refused by your subscription list will cause occasional
cross-posted articles to be filed in that group, and leaving it
permitted by your sys file but not in active may result in the article
being junked.

>When I first tried to build C News with dbz, I got a segmentation fault
>in dbz hash(). I rebuilt with dbm and all was OK.  I am guessing that
>i needed to do a mkhistory before posting to the newly created C News
>with dbz, but have not confirmed this theory.  

Since dbm and dbz use completely different file formats, you have to
pick one and use it consistently everywhere.  The core dump in dbz is
one reason that we have been a bit slow to pick it up and endorse it,
though some time we hope to have an improved dbz which we will endorse.

>Looking through the code, you see things like 'super-kludge for B News
>backward compatability' all over the place.  Wouldn't it be great if
>every one would agree C News is 'the' news software, and all this could
>be ripped out.

The only kludges that come to mind immediately are inews -C,
Supersedes:, foo.bar.ctl, Subject: cmsg, (unbatched) ihave/sendme, and
"internet" and "backbone" in mailpaths.  All but "backbone" are related
to control messages, which provide much of the complication in news
software anyway.

inews -C we plan to deal with in the next patch.  Supersedes:  only
affects comp.mail.maps and can either be handled by expiring
comp.mail.maps faster than normal or by running superkludge from
crontab.  foo.bar.ctl is recommended by RFC 1036 so we chose to support
it rather than say "C news conforms to RFC 1036 except for the
following kludges: ..."; it is truly ugly and utterly unnecessary, but
god only knows how many newsreaders rely upon it.  "Subject: cmsg " is
even worse, but RFC 1036 requires that it be recognised.  Unbatched
ihave/sendme is a bad idea and the description of ihave/sendme in RFC
1036 is so ethereal that I don't think it can be read as requiring
unbatched ihave/sendme.  Batched ihave/sendme isn't a lot better, but
we had to provide some form of ihave/sendme to get the 1036
Goodhousekeeping Seal of Approval, it's only three pages of code, and I
was waiting for Henry anyway.  "internet" doesn't really belong in
mailpaths (which should really be called "modroutes"), it was nailed on
the side, but this brings up the whole ugly subject of Path: vs From:
for replies.  "backbone" means "all"; it's just silly syntactic sugar.
-- 
Geoff Collyer		utzoo!utstat!geoff, geoff@utstat.toronto.edu