HDTenEightyP/NetNews huggingface dataset:
From: SEB1525@MVS.draper.com (Steve Bacher)
Subject: Re: Help wanted with slow program
Organization: Draper Laboratory
Date: Tue, 15 Sep 1992 01:20:00 GMT

In article <1992Sep14.134713.1@news.duc.auburn.edu>,
swanger@news.duc.auburn.edu writes:

>I am writing an NNTP based newsreader in C for my SUN IPC (SUNOS 4.1.2 with
>NNTP 1.5.11 client software).  What I have works pretty well so far.  My
>complaint is, it runs kind of slowish when I open a group and load all of
>the subjects for the group's articles into an array of character strings.
>At least, it seems slow to me (25-45 seconds for a group with over 300
>articles in it).  I use the XHDR command to load the subjects into the
>array.  Is this slowness caused by:
>
>- xhdr having to search the header of each article file for the info
>- network bandwidth problem
>- the server is slow
>- crummy programming on my part

You haven't said anything about what news server you're talking to.
I tried an XHDR of 300 articles with C News on a local Sparc-based
news server and it took about 15 seconds, so I don't think there's
anything wrong with your code.  (It may do a few more malloc's than
is comfortable, but I can't see a way to get around that easily.
Besides, the network connection is the overwhelmingly significant
factor in the performance of a news reader in most cases.)

Generally, the server will need to read each article in the newsgroup
directory to find the subject, unless it does some kind of header
caching.  Ask your news server administrator.  Meanwhile, you might
consider heuristics to avoid fetching all the article subject headers
at once.  If you don't disply 300 titles in a shot, you probably
should design your reader not to retrieve 300 titles.

(But I should talk. :-)

 - seb
Newsgroups: news.software.nntp,news.software.b
From: jpm@cs.hut.fi (Jussi-Pekka Mantere)
Subject: INN, NNTP & compressed articles
Organization: Helsinki University of Technology, Finland
Date: 10 Sep 92 00:52:20 GMT

While looking forward to installing INN, I've got a question:

	is it possible to make the NNTP feeds to use some method
	of compression?

I understand that this is not a problem with high-bandwidth newtorks,
but using just puny leased 64k lines one would like to cut cut down
the amount of data transmitted whenever possible. Even at the cost of
CPU cycles at both ends.

So, has anyone made any changes to then NNTP protocol itself (an
extended command "XCompressedData" or similar to let the server know
of the compression), to INN, or to NNTPlink?

If so, any diffs available? If not, is it suggestable even to try it?

Best Regards,

Jussi-Pekka Mantere
Newsgroups: news.software.nntp
From: rsalz@osf.org (Rich Salz)
Subject: Re: INN 1.1 art.c bug and a request.
Organization: Open Software Foundation
Date: Tue, 8 Sep 1992 13:54:57 GMT

In <18cmmtINN1j5@fxisms.fxis.fujixerox.co.jp> taka@fxis.fujixerox.co.jp (Takahiro Kanbe) writes:
>And when innd receives several ihave control message, "ihave" shell
>scripts run to try process immediately.  This immediate processing
>increases machine's load too quickly.  In the worst case some sendme
>messages were failed to post.  I want a way to process ihave and
>sendme delayed or batched, like C news.
Matthias has posted one way to do this.

I think that the easiest way to do this is to edit control.ctl so that
ihave messages are just logged.  Note that logs created through
control.ctl get the full article.

So, when you want, you can just process the control.ctl log file pretty
much as one big "ihave" message.

(Your original article had Distribution: inet; I took that off.)
	/r$
From: taka@fxis.fujixerox.co.jp (Takahiro Kanbe)
Newsgroups: news.software.nntp
Subject: Re: INN 1.1: grphistory core dumps.
Date: 8 Sep 92 18:12:30
Organization: Fuji Xerox Information Systems Co., Ltd., Tokyo, Japan.
Distribution: inet
NNTP-Posting-Host: litra.nwt.fxis.fujixerox.co.jp
In-reply-to: taka@fxis.fujixerox.co.jp's message of 7 Sep 92 16:09:31

In article <18ev7cINNe18@fxisms.fxis.fujixerox.co.jp>
	taka@fxis.fujixerox.co.jp (Takahiro Kanbe) writes:
> Sample fix (maybe):
I had a mistake, This may be correct one.

diff -c expire/grephistory.c.ORIG expire/grephistory.c
*** expire/grephistory.c.ORIG	Wed Aug  5 04:12:43 1992
--- expire/grephistory.c	Mon Sep  7 15:50:04 1992
***************
*** 160,165 ****
--- 160,167 ----
  	    continue;
  	}
  
+ 	if (value.dptr == NULL)
+ 	  continue;			/* non-exsiting. */
  	/* Sendme -- print a filename for the message. */
  	HistorySeek(F, value.dptr, key.dptr);
  	while (GetName(F, Name, &More)) {

--
Takahiro Kanbe <taka@fxis.fujixerox.co.jp>	FXIS / Network Team.
Newsgroups: news.software.nntp,news.software.b
From: rsalz@osf.org (Rich Salz)
Subject: Re: INN, NNTP & compressed articles
Organization: INN q&a
Date: Mon, 14 Sep 1992 13:39:09 GMT

In <191epqINNh72@lucy.ee.und.ac.za> barrett@daisy.ee.und.ac.za (Alan P Barrett) writes:
>Yes, the roundtrip time in the IHAVE negotiation can be a killer.  I don't
>buy the theory that INN is no good with slow links; It works fine unless
>the RTT is so large that no NNTP implementation has a hope of keeping up.
Well, the theory actually is not that the slow link itself is bad, but
that if you have a slow link, why do you have more than one nntp feed?
Surely you can find better uses for your limited bandwidth than multiple
TCP streams offering you the latest in comp.foo...

>Are the folk who are designing the successor to NNTP thinking of adding
>asynchronous IHAVE negotiation?
Yes, nntpv2 has some mechanism for this.

Some other people from {name omitted; trust me, these folks are good}
looked at it, said "ick too complicated -- how about this?".  When they
get done with more pressing work, I'll probably have code or an outline
thereof.
	/r$
Xref: sparky news.software.nntp:1127 news.software.b:2897
From: emv@msen.com (Edward Vielmetti)
Newsgroups: news.software.nntp,news.software.b
Subject: Re: INN, NNTP & compressed articles
Date: 10 Sep 1992 00:08:38 -0400
Organization: Msen, Inc. -- Ann Arbor, Michigan
NNTP-Posting-Host: nigel.msen.com
X-Newsreader: Tin 1.1 PL3

jpm@cs.hut.fi (Jussi-Pekka Mantere) writes:
: While looking forward to installing INN, I've got a question:
: 
: 	is it possible to make the NNTP feeds to use some method
: 	of compression?

If you are feeding a single stream of articles to a remote site over a
slow or congested link, my recommendation would be to use UUCP and
compressed batches instead of NNTP.  That way you get to compress the news
beforehand in big hunks and schedule the news transmissions with fairly
fine grained control. 

--
Edward Vielmetti, vice president for research, MSEN Inc. emv@msen.com
      MSEN Inc., 628 Brooks, Ann Arbor MI  48103 +1 313 998 4562
 A distributed system is one in which the failure of a computer you didn't
 even know existed can render your own computer unusable. (Leslie Lamport)
From: SPCook@cen.ex.ac.uk (S.P.Cook)
Newsgroups: news.software.nntp
Subject: nntp GROUP command and Subject threads in rn
Date: 15 Sep 92 08:42:37 GMT
Distribution: news
Organization: Computer Unit. - University of Exeter. UK


We've installed nntp v 1.5.10 and all appears OK except that 
the nntp GROUP command fails to report the number of articles
and the upper and lower article numbers.

eg. The command:-

    GROUP news.software.nntp

gives

    211 0 0 0 news.software.nntp

We suspect this might have something to do with the failure of
the Subject thread following facility of rn.

Has anyone else had this problem, and solved it? (other than by
changing to gnus!! ).

S.P.Cook@exeter.ac.uk
From: neal@neal.ctd.comsat.com (Neal Becker)
Newsgroups: news.software.nntp
Subject: Re: INN: innxmit fails to function under HP-UX 8.0 -- fix provided
Date: 8 Sep 92 19:32:16 GMT
Organization: COMSAT Labs
NNTP-Posting-Host: neal.ctd.comsat.com
In-reply-to: pnr@innopoli.ajk.tele.fi's message of 8 Sep 92 15:59:44 GMT

No!  Don't do it!  setprivgrp is a horrible kludge that will be
unsupported in the future.  Here is a simple fix:

Return-Path: <rsalz@uunet.uu.net>
Date: Wed, 2 Sep 92 09:54:35 -0400
From: rsalz@uunet.uu.net (Rich Salz)
To: neal@ctd.comsat.com
Subject: Re:  inn-1.0 bug on hpux with lockf

Yeah I finally ended up with this.  Lots of pain for a stupid little change.
===================================================================
RCS file: RCS/innxmit.c,v
retrieving revision 1.11
diff -c -r1.11 innxmit.c
*** 1.11	1992/08/19 16:33:26
--- innxmit.c	1992/09/02 13:54:15
***************
*** 11,16 ****
--- 11,19 ----
  #include <sys/types.h>
  #include <sys/socket.h>
  #include <sys/stat.h>
+ #if	defined(LOCK_LOCKF)
+ #include <fcntl.h>
+ #endif	/* defined(LOCK_LOCKF) */
  #if	defined(DO_NEED_TIME)
  #include <time.h>
  #endif	/* defined(DO_NEED_TIME) */
***************
*** 696,702 ****
  	BATCHname = NEW(char, STRLEN(BATCHDIR) + 1 + strlen(av[1]) + 1);
  	(void)sprintf(BATCHname, "%s/%s", BATCHDIR, av[1]);
      }
!     if ((BATCHqp = QIOopen(BATCHname, QIO_BUFFER)) == NULL) {
  	(void)fprintf(stderr, "Can't open \"%s\", %s\n",
  		BATCHname, strerror(errno));
  	exit(1);
--- 699,711 ----
  	BATCHname = NEW(char, STRLEN(BATCHDIR) + 1 + strlen(av[1]) + 1);
  	(void)sprintf(BATCHname, "%s/%s", BATCHDIR, av[1]);
      }
! #if	defined(LOCK_LOCKF)
!     i = open(BATCHname, O_RDWR);
!     BATCHqp = i < 0 ? NULL : QIOfdopen(i, QIO_BUFFER);
! #else
!     BATCHqp = QIOopen(BATCHname, QIO_BUFFER);
! #endif	/* defined(LOCK_LOCKF) */
!     if (BATCHqp == NULL) {
  	(void)fprintf(stderr, "Can't open \"%s\", %s\n",
  		BATCHname, strerror(errno));
  	exit(1);
From: rsalz@osf.org (Rich Salz)
Newsgroups: news.software.nntp
Subject: Re: Control messages with a passive news client
Date: 14 Sep 92 13:54:49 GMT
Organization: Open Software Foundation

In <716317592snx@home.demon.co.uk> cms@home.demon.co.uk (Cliff Stanford) writes:
:Our customers are reading by NEWNEWS and ARTICLE.  They do not want to
:waste the bandwidth pulling the whole of control down, just the control
:messages for the groups they read.  This is what they would get with an
:active Cnews feed but I cannot see a way of implementing this using
:nntp.
No, you are not missing anything.  It is hard to do this because of the
special way control messages are handled.  You could file them into the
newsgroup, as you proposed, but I think your customers would then become
annoyed at having to create "Subject: cmsg" killfiles for every group
they read.

Another idea is to set up active feed batchfiles for all your customers,
and then modify the NEWNEWS command to read those batchfiles rather than
the history file.  It would require them to tell you when their subscription
changed -- unless you got clever and shifted to the history file when they
wanted groups not in your batchfile for them.

I am amazed that someone actually supports clients using newnews/article.
Have you looked at the implementation of the NEWNEWS command?  Unless you
have modified your reference implementation, your system is getting killed...
	/r$
Newsgroups: news.software.nntp,news.software.b
From: geoff@world.std.com (Geoff Collyer)
Subject: Re: C-news cant keep up with NNTP - Also how to stop extra postings
Organization: Software Tool & Die Netnews Research Center
Distribution: na
Date: Fri, 4 Sep 1992 23:01:33 GMT

Paul A. Salvini:
>Our in.coming file is constantly growing. It seems that newsrun cant keep up
>with it.

Something is wrong.  The new release has a faster newsrun, and that
should help, but first check doc/trouble and doc/problems to see if there
is another reason you are so far behind (you aren't running on a 386 are
you?).
-- 
Geoff Collyer		world.std.com!geoff, uunet.uu.net!geoff

``Leave the evil grasping to us.'' - A. L. Arms, UNIX licensing, WECo.
Newsgroups: news.software.nntp,news.software.b
From: jh@moon.nbn.com (John Harkin)
Subject: Re: C-news cant keep up with NNTP - Also how to stop extra postings
Organization: North Bay Network, San Rafael, CA USA
Distribution: na
Date: Sat, 5 Sep 1992 04:10:20 GMT

>Paul A. Salvini:
>>Our in.coming file is constantly growing. It seems that newsrun cant keep up
>>with it.

I had this problem with C News Performance Release and nntp after I told nntp
to run 'newsrun' after every article.  A couple of days later I noticed a
huge backlog.  I switched nntp back to batched mode and made batches out of
backlog and had it caught up in an hour.  C News P.R. is truly happier with
batches, the more and bigger the better.
-- 
John Harkin   +1 415 472-2452   moon!jh   uunet!nbn!jh   jh@nbn.com
North Bay Network - News and mail for Marin county and vicinity
From: lothar@tmcsys.UUCP (Lothar Hirschbiegel)
Newsgroups: news.software.nntp
Subject: Re: NNTP for SVR4
Date: 5 Sep 92 13:56:55 GMT
Reply-To: lh@aega84.uucp
Organization: Private Site

In article <1992Sep1.163452.17741@portal.hq.videocart.com> kdenning@portal.hq.videocart.com (Karl Denninger) writes:

>Has anyone ported NNTP to SVR4?  I am getting some interesting compiler
>diagnostics.... we're trying to run the copy that DELL ships with their OS,
>and its leaving all kinds of runt files in the in.coming directory.

I'm running nntp under svr4, but it's obviously an older version (1.5.7 or
so).
It compiled with almost no problems under svr4, just the usual changes
with some include files. Works fine for me.


-- 
------------------------------------------------------------------------
L. Hirschbiegel                                   email: unido!aega84!lh   
Newsgroups: news.software.nntp
From: jmalcolm@sura.net (Joseph Malcolm)
Subject: Re: How to stop mail2news and listserv loops
Organization: SURAnet, College Park, MD, USA, NA, Earth, Milky Way
Date: Tue, 15 Sep 1992 18:12:49 GMT

In article <1992Sep15.161829.11331@osf.org> rsalz@osf.org (Rich Salz) writes:
>	Have the incoming mail-->news build a Path line that has
>	a specific dummy host (e.g., "gateway") in it, and put
>		foo/gateway:....
>	in your sys file.

Just as a note, there does exists a site with the name of "gateway" -
it might be best to choose a different name if the group
is going to be distributed to the world.

-- 
Joseph Malcolm				jmalcolm@sura.net		
SURAnet Operations			+1 301 982 4600
From: urlichs@smurf.sub.org (Matthias Urlichs)
Newsgroups: news.software.nntp
Subject: Re: INN 1.1 art.c bug and a request.
Date: 7 Sep 1992 11:46:38 +0200
Organization: University of Karlsruhe, FRG

In news.software.nntp, article <18cmmtINN1j5@fxisms.fxis.fujixerox.co.jp>,
  taka@fxis.fujixerox.co.jp (Takahiro Kanbe) writes:
> 
> And when innd receives several ihave control message, "ihave" shell
> scripts run to try process immediately.  This immediate processing
> increases machine's load too quickly.  In the worst case some sendme
> messages were failed to post.  I want a way to process ihave and
> sendme delayed or batched, like C news.
> 
You can do that yourself:
- Rename the "ihave" script to "ihave.delay".
- Create a new ihave script which exits without doing anything.
- Create a channel which feeds all articles in "control" to a program which
  checks for "Control: ihave", extracts the From: and Reply-To: addresses,
  and calls (and waits for) the "ihave.delay" script.
  Something like (beware -- completely untested):

#!/usr/local/bin/perl
$NEWSSPOOL="/news/spool";
$NEWSCONTROL="/tools/news/bin/control";
$*=1; $/=""; # multi-line matching, paragraph mode

cd $NEWSSPOOL || die "No spool: $@";

Loop:
while(<STDIN>) {
	chop; $artfile = $_;
	$artfile = "$NEWSSPOOL/$artfile" unless $artfile =~ m#^/#;
	open (ART,$artfile,0444) || next Loop;
	$hdr = <ART>; # Header
	if (/^Control:\s+ihave/) {
		$hdr =~ /^From:\s+(.*)$/i; $from = $1;
		if($hdr =~ /^Reply-To:\s+(.*)$/i) { $reply = $1; }
		 else { $reply = $from; }
		system("$NEWSCONTROL/ihave.delay '$from' '$reply' $artfile ".
			" < $artfile");
	}
	close (ART);
}


-- 
         This might just be that one in ten billion chance that the
molecules of your body align perfectly with those of this door, and
you will be able to walk right through it. Go ahead, try it!
-- 
Matthias Urlichs  --  urlichs@smurf.sub.org -- urlichs@smurf.ira.uka.de   /(o\
Humboldtstrasse 7 -- 7500 Karlsruhe 1 -- Germany  --  +49-721-9612521     \o)/
Newsgroups: news.software.nntp
From: kdenning@portal.hq.videocart.com (Karl Denninger)
Subject: Re: NNTP for SVR4
Summary: Changes for SVR4
Organization: VideOcart Inc.
Date: Sun, 6 Sep 1992 16:38:40 GMT

In article <637@tmcsys.UUCP> lh@aega84.uucp writes:
>In article <1992Sep1.163452.17741@portal.hq.videocart.com> kdenning@portal.hq.videocart.com (Karl Denninger) writes:
>
>>Has anyone ported NNTP to SVR4?  I am getting some interesting compiler
>>diagnostics.... we're trying to run the copy that DELL ships with their OS,
>>and its leaving all kinds of runt files in the in.coming directory.
>
>I'm running nntp under svr4, but it's obviously an older version (1.5.7 or
>so).
>It compiled with almost no problems under svr4, just the usual changes
>with some include files. Works fine for me.

I got 1.5.11 going on SVR4.  Quite nice.  The big problem there is the timer
stuff; the best approach is to compile for the USG environment, do the
diddling you need to do with the directory routines (there are a few things
there) and then use the BSD version of the timers routines.  All this takes
a few #ifdefs and #defines.

Is there somewhere I can put a "ported" version that people would like?  The
changes I made shouldn't break any existing environments.  I could also, I
suppose, produce a patch.

--
Karl Denninger 		Inet:  kdenning@hq.videocart.com
VideOcart Inc.		Voice: (312) 987-5022
Newsgroups: news.software.nntp,news.software.b
From: pasalvin@maytag.uwaterloo.ca (Paul A. Salvini)
Subject: Re: C-news cant keep up with NNTP - Also how to stop extra postings
Organization: University of Waterloo
Distribution: na
Date: Tue, 8 Sep 1992 00:59:01 GMT

In article <Bu2tAL.2s8@world.std.com> geoff@world.std.com (Geoff Collyer) writes:
>Paul A. Salvini:
>>Our in.coming file is constantly growing. It seems that newsrun cant keep up
>>with it.
>
>Something is wrong.  The new release has a faster newsrun, and that
>should help, but first check doc/trouble and doc/problems to see if there
>is another reason you are so far behind (you aren't running on a 386 are
>you?).
>-- 
>Geoff Collyer		world.std.com!geoff, uunet.uu.net!geoff
>
>``Leave the evil grasping to us.'' - A. L. Arms, UNIX licensing, WECo.

Well, the first half of the problem has been solved! I installed the new
release of c-news and it processed 25000+ articles in one day! The previous
nore was around 10000+. So, in less than 2 days we were caught up. I guess
from postings and mailing (thanks), that once we fell behind, the NNTP feed
kept sending duplicates and it  was downhill from there.


Still no answer on the second halpf of the question. How come our
out.nntp file contains all articles to be sent back to the feed? It should
only contain the locally posted articles.Correct? Our sys file has the
'n' flag set.

Any pointers on this?
Newsgroups: news.software.nntp,news.software.b
From: doug@cc.ysu.edu (Doug Sewell)
Subject: Re: INN, NNTP & compressed articles
Organization: Bush in 92 ? NOT!
X-Newsreader: Tin 1.1 PL4
Date: Thu, 10 Sep 1992 14:16:48 GMT

jpm@cs.hut.fi (Jussi-Pekka Mantere) writes:
: While looking forward to installing INN, I've got a question:
: 
: 	is it possible to make the NNTP feeds to use some method
: 	of compression?
: 

If you have C-News around, take a look at the "viarsh" script that the
batcher uses.  A company I've done some work for had an internet-connected
site that couldn't run NNTP, so they get their newsfeed by C-News batching
and passing the batch to rsh to do the "rnews" at the remote site.  It
probably wouldn't be hard to use this with INN, and you can compress the
batches first.

Most "compressed-batch NNTP" implementations I've seen defer all duplicate
processing to C-News, so you'll have the same considerations here.  On
the other hand, it doesn't require configuring UUCP-over-TCP or messing
with the NNTP source at both ends.
--
Doug Sewell, Tech Support, Computer Center, Youngstown State University
doug@cc.ysu.edu	   doug@ysub.bitnet	<internet>!cc.ysu.edu!doug
"Recession: your friend loses his job.  Depression: you lose your job.
Recovery: Bush loses his job" - Bill Davidsen
Newsgroups: news.software.nntp
From: jona@iscp.bellcore.com (Jon Alperin)
Subject: How to stop mail2news and listserv loops
Organization: Bellcore
Distribution: usa
Date: Tue, 15 Sep 92 14:20:16 GMT

I am trying to set up a "gateway" between a listserv mail server and
a netnews server (using mail2news). I have the netnews alias as one of the
subscribers to listserv (with a noack mail setting), and I send postings to the
same mailing list. (I was unable to get the news option on listserv to work 
as advertised).

 However, this causes messages sent to the mail list to post to news, after which
news will send them back to the mail list, and the list will attempt to repost
them to news (which stops when news realizes this is a duplicate post). Can anyone
tell me how to avoid this looping? I do not want to have 2 mailing lists (one with
the news address, and one without, so that postings are sent to the list without
its own name in it...)

 One of the problems is that the mailing list has to have the newsgroup aliase
as a subscriber, but the postings are being sent by "c-news", which is not in 
the subscribers list. If is make C-news a subscriber, there is no way to
force the posting, since mail2news needs an alias for "c-news", and there are
multiple lists (which I caould not use a single aliase for).

 Any ideas how to solve the cyclical posting/mailing problem?

-- 
Jon Alperin
Bell Communications Research

---> Internet: jona@iscp.bellcore.com
---> Voicenet: (908) 699-8674
---> UUNET: uunet!bcr!jona

* All opinions and stupid questions are my own *
Newsgroups: news.software.nntp
From: steveh@orbital.demon.co.uk (Stephen Hebditch)
Subject: Control messages with a passive news client
Organization: TQM Communications, London, UK
Date: Fri, 11 Sep 1992 17:15:46 GMT

Here in the UK, demon.co.uk has recently begun providing public access
to the Internet via dial-up SLIP or PPP. As part of the service, users
take news using a passive news transfer client from demon's nntp server
running the 1.5.11 release, probably soon moving to INN.

This works reasonably well - obviously the server machine gets rather
heavily loaded when several users are doing a NEWNEWS at the same time
but it saves having to sort out the administration of several hundred
odd small feeds. One minor problem, though, is the lack of support for
control messages with such a client.

The NEWNEWS command (in both 1.5.11 and INN) does not report the control
messages in the supplied list of newsgroups. (Incidentally, neither RFC
977 or the 2.05 draft of NNTP Version 2 state what the correct behaviour
should be in regard to this. This could probably do with being cleared
up in Version 2.) It is of course possible to take the parent site's
control newsgroup, but this is impractical for all but major feeds.

Consequently, I'm looking at possible ways of patching the news system
so NEWNEWS does also report the message ids of control messages. The
first that comes to mind would be cross-posting them to their real
group(s). This would probably only require minimal changes to relaynews
and from a first scan of the code wouldn't appear to impact anything
else. It would mean though that the small number of direct newsreaders
would find control messages cluttering the groups. Another alternative
might be to add an extra field to the history file which for control
messages would list the original groups. This would be rather cleaner,
but would need quite a number of changes.

Anyone have any comments on this or better solutions? As the majority of
sites are leaf nodes it might be better to just drop the idea. I do feel
though that passing control messages should be the correct behaviour for
NEWNEWS. The news implementation just doesn't make it very easy to do.

-- 
Stephen Hebditch  TQM Communications  steveh@orbital.demon.co.uk +44 836 825962
Newsgroups: news.software.nntp