home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ARM Club 3
/
TheARMClub_PDCD3.iso
/
hensa
/
internet
/
b149_1
/
ReadMe
< prev
next >
Wrap
Text File
|
1993-12-29
|
12KB
|
302 lines
The contents of this archive allow ReadNews to be used to read and write ka9q
mail and news. Note that it requires that !ReadNews, !NewsDir, !Incorp *and*
!Rucp to be seen by the filer, as well as !TCPIP and !MailDir (you no longer
need !BM, but it is sometimes useful to have it around). It works with all
versions of ka9q at the time of writing, including 1.21 (all three variants),
1.22 and 1.23 (and should work with 1.24 when it appears).
These programs were primarily written to provide `proof of concept' so I
could ask Julian Wright to support ka9q directly. Julian has agreed to
do this in a future release of ReadNews (which may be some time coming as
the next release is going to have a lot of yummy new features).
Version 4, 29-Dec-1993. Ka9q->rucp version 0.6, rucp->ka9q version 0.8.
This file and the BASIC programs ka9q->rucp and rucp->ka9q are © copyright
Paul L. Allen, 1993, all rights reserved.
Obtaining
==========
!ReadNews, !NewsDir and !Incorp are the component parts of a package known
as ReadNews. Both the ReadNews package and !Rucp are available for ftp from
ftp.demon.co.uk in /pub/archimedes, or may be obtained from the Newcastle
info-server. You don't need *all* of !Rucp, just certain bits, but I'm not
sure *which* bits are necessary and which aren't...
Installation
============
Copy the basic programs to somewhere handy (the same folder as !TCPIP,
!MailDir, and !Rucp is as good as any).
In the following discussion, we will use the following names as examples -
adjust them as necessary:
1) Your machine name is `bar'.
2) Your preferred user name (the one which receives most email) is `foo'.
3) The address of your service provider is `demon.co.uk'.
4) Your site name is therefore bar.demon.co.uk and the full mail
address for your preferred user name is foo@bar.demon.co.uk.
5) Your mail server (the machine you send mail to) is
post.demon.co.uk (previously gate.demon.co.uk was used for this
purpose, you should now be using post.demon.co.uk).
6) Your news server is news.demon.co.uk.
7) You want news to be kicked every 1800 seconds (30 mins).
8) The news-prefix is `Dem', so that the list of newsgroups you
want to receive is in !TCPIP.DemGroup and news appears in file
!MailDir.DemNews. Note that the news prefix must be no longer than
4 characters, but it may be anything you want (provided the result
is a valid filename).
In your !TCPIP.Autoexec file, make sure you have the following entries:
hostname bar.demon.co.uk
domain suffix demon.co.uk
nntp addserver news.demon.co.uk 1800 Dem
In your !Rucp.SystemRC file, make sure you have the following entries:
NewsDir=<Rucp$Dir>.uucp.news
MailServ=post
Actually, it doesn't really matter what you call the MailServ as long as
it's a valid leafname and it is anything *other than* `news'. You can quite
happily use the default values supplied for all other entries.
In your !Rucp.!Boot file, make sure you have the following entries:
Set Rucp$Nodename bar
Set Rucp$Domain bar.demon.co.uk
Set Rucp$User foo
In your !Rucp.Systems file, make sure you have the following entries:
news Any Dir 2400 g "" AT OK ATDP24846 ogin:--ogin: nvmr sword: HiThere
post Any Dir 2400 g "" AT OK ATDP24846 ogin:--ogin: nvmr sword: HiThere
Actually, only the `news' and `post' part are critical - the rest can be
anything acceptable to Rucp (but this is what you get if you modify the
example given in the Systems file).
In your !Rucp.UserHome folder, set up a folder for user foo containing
the following files (modify the examples which come with !Rucp):
Aliases a list of commonly-used email addresses - these appear in
a menu when you click over an address field in ReadNews.
Signature The signature you want appended to your postings (ReadNews
ignores the alternate AltSig file - pity).
RC User configuration file. Needs at least:
Mailbox=foo
Name=Your Full Name
Home=<Rucp$UserHome>.foo
FileSent=Sent
Signature=Signature
Altsignature=AltSig
Aliases=<Rucp$UserHome>.foo.Aliases
With optional Organisation and Replyto entries. Use the rest
of the defaults as given in the example. Note that you can
setup other users (such as postmaster) in the same way but
sharing your default users alias file and/or signature and/or
whatever - you can do all sorts of fun things.
For each user on your system whom you wish to receive mail (at least the
user referred to by Rucp$User and `postmaster', create an entry in
!Rucp.Passwd of the form
<user>:*:::<descriptive name>
e.g.:
foo:*:::test user
Mail for users not listed in the Passwd file will be sent to `postmaster'
instead.
This should basically be it (unless I've forgotten something). I do recall
that at some stage when I was getting all this working I had to create
a folder manually in the !Rucp.uucp... area - can't quite remember what, and
I'm not sure if it was just teething problems. Please let me know if you
have similar problems, or if there's something I've omitted.
Usage
=====
To transfer incoming news/mail from ka9q to rucp, double-click on ka9q->rucp.
You can run ka9q->rucp whilst connected to Demon, and you can even run it
whilst e-mail and/or news is coming in without losing anything (though you
will get a warning message if ka9q has the relevant files locked - just run
ka9q->rucp again). After ka9q->rucp has completed, run !Incorp by clicking on
the !Incorp icon on the icon bar - this will take the rucp-format mail and
news and distribute them to the appropriate places in !NewsDir so !ReadNews
can find them. Note that the file listing newgroups will be deleted if it
is empty.
To transfer outgoing news/mail from rucp to ka9q, double-click on rucp->ka9q.
If ka9q is already running you will need to use the command `smtp kick' to
tell it there is new mail waiting to be sent.
Notes
=====
Ka9q->rucp now handles mail locking correctly. You can run it whilst mail
or news (or both) are coming in. If run whilst ka9q is accessing mail/news
files it will give a warning, otherwise it will process whatever mail/news has
arrived and ka9q will continue happily downloading the rest.
Ka9q->rucp mail and news processing has been speeded up by a factor of ten
using some assembler routines - it whizzes through at approximately
100KB/second. The assembler routines also implement semi-intelligent double-
buffering which results in greatly reduced disc activity.
Ka9q->rucp news processing works with news files from all versions of ka9q.
Version 1.21 and below separated news with
#! rnews
whilst version 1.22 and above use
#! rnews 1234
where `1234' is the number of bytes in the article. In order to handle both
kinds it simply ignores the byte count and provides its own (it does this fast
enough that there is no point checking for a byte count and doing a simple
file append if present). The old version of ka9q->rucp did some very odd
things when confronted with version 1.22 news separators and should not be
used with ka9q version 1.22 or above.
Ka9q->rucp will not correctly handle news files with certain pathological
errors: #! rnews followed by #! rnews; #! rnews at end of file. However,
since these should never happen (and with ka9q version 1.22 and above they
should never, never happen), this shouldn't be a problem. I had meant to
fix this before releasing the filters, but the appearance of ka9q 1.22 meant I
had to get the new versions out fast.
Ka9q->rucp has been modified to work with old versions of ka9q (news placed
in !MailDir) and new versions (news placed in !MaildDir.folder) without
any user intervention.
Ka9q->rucp does *not* handle `dotted' usernames (introduced in ka9q version
1.22) - mail for username `fred' is handled, but mail for username fred.blogs
is ignored - use the alias file (also introduced in ka9q version 1.22) to
redirect mail for fred.blogs to fred. I may eventually find a way around this
restriction, but it would probably mean modifying !Incorp. Note: BBSs will
probably use the alias file to map fred.blogs to 0.0.3.6 and then use a
dedicated filter to shunt mail for fred.blogs from 0.0.3.6 to BBS user 0036.
Rucp->ka9q does not use NNTP to post news (the abilitiy to post news using
NNTP appeared in ka9q version 1.22), and instead uses a mail gateway called
`mail2news' - this name is currently hardwired into the program. The mail
gateway is more robust than nntp posting in that several DIS machines can
handle mail if post.demon.co.uk is dead, but only news.demon.co.uk handles
NNTP posting.
Rucp->ka9q now correctly handles the config file (introduced in ka9q version
1.23) as well as the autoexec. It now reads both these files all the way
through (config first) to find the values of the hostname, domain suffix and
news gateway - this means that it uses the last given definition rather than
the previous behaviour of stopping when it has found definitions for all of
them.
Rucp->ka9q does not handle BCC: lines. This is mainly because I took the
easy way out when writing it.
Neither program multi-tasks, but you can run them with ka9q active without
losing data (ka9q manages to pick up from any over-runs whilst the filters
are running). Ka9q->rucp expects user input under certain error-conditions
(which will only appear the next time you run it if it crashes in the middle
of processing news - I've never had this happen), so you might have problems
if you try and run it under FrontEnd. They will run quite happily in a
taskwindow.
I uploaded some add-ons for ReadNews which integrate PGP (public-key
encryption/authentication package) to Demon - look on gate for
/pub/archimedes/RNscripts4pgp.
ReadNews Bugs
=============
ReadNews and Incorp have several minor bugs, and a couple of serious bugs.
Here are the serious bugs and the workarounds:
!Incorp dies if it sees a null newsgroup - i.e., a Newsgroups: header which
looks something like:
Newsgroups: comp.sys.acorn,,comp.sys.acorn.tech
The two consecutive commas cause !Incorp to look for a newsgroup with no
name and crash. The fix is as follows:
1) Use Edit on !Rucp.uucp.news.<whatever> to find the offending line. Note
that you may have to look for `,,' or `, ,' or `, ,' or similar.
2) Move back to the preceeding article and use ReadNews to check that it
has appeared. This check is necessary because you might have found
`,,' at line 2360 of the news file but Incorp crashed on `, ,' at line
820. So you check the preceeding article to make sure you've found
the right place.
3) Remove all articles prior to the article with the offending line (Incorp
has already processed them - if you leave them in they will appear twice).
4) Remove the spurious commas in the Newsgroups: header. Note there may be
more than one spurious comma.
5) Adjust the byte count in the #! rnews separator accordingly. For example:
#! rnews 1057
path demon!sktb.demon.co.uk!pla
[...]
Newsgroups: comp.sys.acorn,,comp.sys.acorn.tech
[...]
would become:
#! rnews 1056
path demon!sktb.demon.co.uk!pla
[...]
Newsgroups: comp.sys.acorn,comp.sys.acorn.tech
[...]
I.e., one comma has been removed and the byte count adjusted from 1057 to
1056. You *must* get the byte count correct or the following articles
will not be handled properly (they all end up in one gigantic article).
Because ka9q->rucp ignores byte counts and supplies its own, a safer
alternative to step 5 is to move !Rucp.uucp.<whatever> to
!MailDir.xxxnews and run ka9q->rucp again.
!ReadNews only handles a limited number of groups. If you exceed this number
it will start giving `No room' errors in the middle of reading news. The
fix is to increase the value of WimpSlot given in !ReadNews.!Run (an extra
32K is all that's needed).