[news.software.b] Can somebody explain the anne.jones file?

robert@woodt.uucp (Robert Sexton) (04/06/90)

The anne.jones file completely mystifies me.  I know it is the netnews censor,
but How do I use it?  I wish to specify which users are allowed ot post
outside the machine, but I havent the foggiest how to do it. Whoever
put together the cnews scripts is a twisted, brilliant person.  They are 
the most complicated things i have seen yet. 

What is the role of the sys file?  I know it determines outgoing feeds,
but it seems to have some control over incoming files, also.
is there much use for the f flag in a sys entry?  I run a small site
attached to a backbone, so I simple want to ship out locally generated
articles.  It would seem that inews looks in the sys file to see who gets
the article, but then what?  Does it write it's id in the togo file?

At what point does the batcher get involved?  I realize it needs to be run
by cron.

I am very pleased with cnews.  It came up and ran with little or no help
from me.  This is my first news admin, and things are going very well
so far.  ( I am scrambling up the learning curve as best i can :-)

-- 
Robert Sexton, Woodtechnique Inc. 
robert@woodt.UUCP ukma!woodt!robert

henry@utzoo.uucp (Henry Spencer) (04/07/90)

In article <1990Apr6.051900.8956@woodt.uucp> robert@woodt.uucp (Robert Sexton) writes:
>... Whoever
>put together the cnews scripts is a twisted, brilliant person...

Yeah, that's a fair description of Geoff. :-)  Inews and its auxiliaries
are his work, so I'll let him respond to the anne.jones question.  The
inews stuff is very flexible but is admittedly a bit hard to figure out.

>What is the role of the sys file?  I know it determines outgoing feeds,
>but it seems to have some control over incoming files, also.

The ME line in the sys file (or alternatively the line with a system name
identical to that of the system news is running on) determines which
groups your site subscribes to.  This is documented (!) (:-)) in the news.5
manpage.

>is there much use for the f flag in a sys entry?  I run a small site
>attached to a backbone, so I simple want to ship out locally generated
>articles...

The f flag is mostly useful for bulk feeds.  It's not going to make a big
difference to you if your site is mostly receive-only with little outgoing
traffic.

>It would seem that inews looks in the sys file to see who gets
>the article, but then what?  Does it write it's id in the togo file?

Well, more properly it's relaynews (called by inews and by newsrun) that
does all this.  Relaynews uses the sys file to decide who gets articles,
and then (in the presence of the f flag) writes the pathname of the article
and its length to the togo file for the batcher.  When the batcher gets
run, usually by cron, it consults the togo file and uses it to prepare
outgoing batches, picking up the actual articles and bundling them up
for transmission.

>I am very pleased with cnews.  It came up and ran with little or no help
>from me.  This is my first news admin, and things are going very well
>so far.  ( I am scrambling up the learning curve as best i can :-)

That's good to hear.  Our documentation definitely isn't set up well for
beginners; I'm glad that at least some are managing well even so.
-- 
Apollo @ 8yrs: one small step.|     Henry Spencer at U of Toronto Zoology
Space station @ 8yrs:        .| uunet!attcan!utzoo!henry henry@zoo.toronto.edu

geoff@utstat.uucp (Geoff Collyer) (04/09/90)

Robert Sexton:
> The anne.jones file completely mystifies me.  I know it is the netnews censor,

More accurately, anne.jones is the header censor for locally-posted
articles; inews does some censoring of the message body (mostly
invisible characters) itself.

> but How do I use it?  I wish to specify which users are allowed ot post
> outside the machine, but I havent the foggiest how to do it.

You could try inserting some test in the middle of anne.jones which
would cause it to exit prematurely for some users, thus generating
headerless articles, which will be rejected by inews.  A cleaner
solution would be to put the test in inews, possibly after invoking
anne.jones, so that inews can produce a meaningful error report.

However, beware that users who are determined to post can bypass inews
by adding the necessary headers by hand (which isn't all that hard,
especially if you read RFC 1036 first) and invoking inews -p, rnews,
relaynews, 'uux - machine!rnews', 'mail ucbvax!rnews', etc. directly.
I doubt that rejecting postings will work for any but the most
technically naive users.

> Whoever put together the cnews scripts is a twisted, brilliant person.

I suppose this is a backhanded compliment of sorts.  Um, thanks.  :-)

> They are the most complicated things i have seen yet.

Hmmm, perhaps you haven't seen much software yet?  :-)

inews and related scripts are gradually being overhauled and the more
twisted, brilliant bits are being replaced by mundane, obvious C code
(e.g. the incredible tangle in anne.jones to pick up the poster's login
name, which currently weighs in at 24 lines of shell script, including
a 6-line comment to explain what's going on, is turning into the
obvious 3 lines of C).  Where possible, policy will not be cast in C.

The complexity is, I think, the product of attempting to write inews
without writing new C code.  Conceptually, inews is just a simple
front-end filter for relaynews, but in practice some of the error
recovery, header molesting, and routing decisions may just be too
complex to reliably write in the shell or old awk (without giving up
yet more speed, anyway).  (On the other hand, the shell does some parts
of the job quite well; for example, turning options into headers.)
-- 
Geoff Collyer		utzoo!utstat!geoff, geoff@utstat.toronto.edu