home *** CD-ROM | disk | FTP | other *** search
- 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).
-