[news.admin] News Feeds via Node Hop

joe@auspyr.UUCP (05/07/87)

Problem:
	- Sending compressed, batched, network news via a non-news site.
	
Scenario:
	- Two Network News Sites (!newsA and !newsB) are running News2.11
	and wish to send news to each other. !newsA and !newsB aren't
	connected directly, but a common site (!inbetween) links them
	via UUCP. !inbetween does not run the network news.

Solution:
	- Create a fake entry in the /usr/lib/news/sys file for the distant
	systems. For example:

		On !newsA!/usr/lib/news/sys, add:
			newsB:to.newsB,...newsgroups...:F:

		On !newsB!/usr/lib/news/sys, add:
			newsA:to.newsA,...newsgroups...:F:

	- Add cron scripts to execution sendbatch for the fake sites, Eg:

		On !newsA!/usr/lib/crontab:
			1 * * * * /usr/lib/news/sendbatch -c newsB
		and etc...

	- Create an rnews-execution-forwarder on the non-news site. For
	example, on !inbetween create the file /usr/local/bin/rnewsfwd to read:

		uux - $1!rnews

	- Since the /usr/lib/news/sendbatch script will look for a file
	in the form of /usr/spool/batch/$remote.cmd and execute it, then
	create a script for each fake site (on the news sites) that reads:

		uux - -r -z inbetween!rnewsfwd `basename $0 .cmd`

	Or, for folks that don't like to use "ln", the file
	/usr/spool/batch/newsB.cmd would read:

		uux - -r -z inbetween!rnewsfwd newsB


Actions taken, commands executed:

	A user on !newsA posts news to to.newsB.  The article is stored in
	/usr/spool/batch/newsB.

	Cron starts up "/usr/lib/news/sendbatch -c newsB".

	/usr/lib/news/sendbatch sees that /usr/spool/batch/newsB.cmd exists
	and executes it.

	/usr/spool/batch/newsB.cmd generates the command:
		uux inbetween!rnewsfwd newsB

	After UUCICO gets done transfering files, the rnewsfwd script on
	!inbetween then generates the command:
		uux newsB!rnews

	Once again, after UUCICO, rnews on !newsB runs inews and the article
	is posted on !newsB.

	And visa-versa.

	Flow wise, that is...

	!newsA!/usr/lib/news/sendbatch
		-> !newsA!/usr/spool/batch/newsB.cmd
			-> uux inbetween!rnewsfwd newsB

	!inbetween!/usr/lib/uucp/uuxqt
		-> !inbetween!/usr/local/bin/rnewsfwd newsB
			-> uux newsB!rnews

	!newsB!/usr/bin/rnews 
		-> !newsB!inews

Problems:

	- News posted via the rnews-execution-forwarder won't reflex a true
	Path:, so news readers with mail-reply options might not like it.
	[[ This was no problem here since both sites are running smail with
	sendmail. ]] Perhaps the NEXT version of News Software might want to
	consider an rnews-execution-forwarder scheme that attaches the
	node-hoppers-names to the path lines; but if you ask me, it should be
	done with command line args and let the final poster fix the path!
	
	- A better rnews-execution forwarder need be created for multi-node
	hops.

I know the above works on 2.11 news ... should it work on 2.10? 
(Actually, on my implementation, !newsA ran 2.11 and !newsB ran 2.10 ...
worked fine).

-- 
"No matter      Joe Angelo, Sr. Sys. Engineer @ Austec, Inc., San Jose, CA.
where you go,   ARPA: aussjo!joe@lll-tis-b.arpa       PHONE: [408] 279-5533
there you       UUCP: {sdencore,cbosgd,amdahl,ptsfa,dana}!aussjo!joe
are ..."        UUCP: {styx,imagen,dlb,jmr,sci,altnet}!auspyr!joe

fair@ucbarpa.Berkeley.EDU.UUCP (05/08/87)

Actually, you can also mail it through the "inbetween" site, since
mail already does forwarding for you. There are two programs in the
standard news distribution for this: uurec and sendnews.

Even if neither end runs a real mailer (i.e. they don't believe in
mail aliases like delivermail and sendmail do), you can feed the
resultant mailbox to "uurec" periodically.

Of course, mail replies along the path between these two sites will
not work without other hackery.

	Erik E. Fair	ucbvax!fair	fair@ucbarpa.berkeley.edu

joe@auspyr.UUCP (Joe Angelo) (05/11/87)

> Actually, you can also mail it through the "inbetween" site, since
> mail already does forwarding for you. There are two programs in the
> standard news distribution for this: uurec and sendnews.

The idea was *not to use* mail ...
Instead, to send batched, compressed articles. 

Who wants a C/D/X. file for every article??  Not I.

-- 
"No matter      Joe Angelo, Sr. Sys. Engineer @ Austec, Inc., San Jose, CA.
where you go,   ARPA: aussjo!joe@lll-tis-b.arpa       PHONE: [408] 279-5533
there you       UUCP: {sdencore,cbosgd,amdahl,ptsfa,dana}!aussjo!joe
are ..."        UUCP: {styx,imagen,dlb,jmr,sci,altnet}!auspyr!joe

fair@ucbarpa.Berkeley.EDU (Erik E. Fair) (05/12/87)

In article <5327@auspyr.UUCP> joe@auspyr.UUCP (Joe Angelo) writes:
>The idea was *not to use* mail ...
>Instead, to send batched, compressed articles. 
>
>Who wants a C/D/X. file for every article??  Not I.

Joe, RTFM.

You can send batches with sendnews and uurec, it works just fine.
Sendnews is written to generate the appropriate batch format for uurec
to eat and process, which will also transit the mail system untouched.
The only limitation is that you can't send *compressed* batches,
because the mail system does not guarantee 8 bit integrity. The point
of the mechanism is to accomplish exactly what was asked for, i.e.
getting news through a site without forcing them to participate in the
USENET.

	Erik E. Fair	ucbvax!fair	fair@ucbarpa.berkeley.edu

faunt@spar.SPAR.SLB.COM (Doug Faunt) (10/10/87)

In article <18843@ucbvax.BERKELEY.EDU> fair@ucbarpa.Berkeley.EDU (Erik E. Fair) writes:
>You can send batches with sendnews and uurec, it works just fine.
>Sendnews is written to generate the appropriate batch format for uurec
>to eat and process, which will also transit the mail system untouched.
>The only limitation is that you can't send *compressed* batches,
>because the mail system does not guarantee 8 bit integrity. The point
>of the mechanism is to accomplish exactly what was asked for, i.e.
>getting news through a site without forcing them to participate in the
>USENET.

I'm guessing that one uses sendbatch with a .cmd file to generate and
send off these batches.  I'd dearly love to be able to use the
sendbatch -c7 flag to make these files smaller, if possible.  
Does uurec know how to handle this?