[net.unix-wizards] Help needed with uux and uucp through two machines

esa@kvvax4.UUCP (Esa K Viitala) (01/02/70)

One has at least about five (5) possible ways of
sending files over several sites via uucp links:

1) use mail
2) use uusend
3) use uux (i.e. uux macha!uucp /usr/person/file machb!/usr/person/file)
4) hack your uucp a'la rmail or uusend or (3).
5) make direct uucp links between all your machines.

Anyone done (4)?  Any other ways?
-- 

   Esa K Viitala  ({decvax,philabs}!mcvax!kvport!kvvax4!esa)
   A/S Kongsberg Vaapenfabrikk, CTG4, P.O.Box 25, N-3601 Kongsberg
   Norway

jeff@heurikon.UUCP (02/27/84)

You can send mail from via one OR MORE machines, as in:
	mail macha!machb!person

However, you cannot, it seems, do similar things with uucp and uux, as in:
	uucp file macha!machb!/dir/file
	uux "macha!machb!uux command"

	.----.    .---------.     .--------.    .--------.
	| Me |----| my host |-----| mach a |----| mach b |
	`----'    `---------'     `--------'    `--------'
						Target machine

I've tried many forms of the commands, with " ' and \ characters
all over the place.  In all cases, uucp and uux always strip off
the name of the second machine, leaving just garbage.

Is this a limitation, or am I missing the obvious?
-- 
/"""\	Jeffrey Mattox, Heurikon Corp, Madison, WI
|O.O|	{harpo, hao, philabs}!seismo!uwvax!heurikon!jeff  (news & mail)
\_=_/				     ihnp4!heurikon!jeff  (mail - fast)

dmmartindale@watcgl.UUCP (Dave Martindale) (02/29/84)

Uux and uucp are designed to execute commands and copy files, respectively,
only with machines which talk directly to the current machine via uucp.
Mail works because "mail a!b!c!d" generates a "uux a!rmail b!c!d" which
trusts that there is an "rmail" program on the remote machine to
send it another step along its path.  In fact, there is an "rmail" on
all versions of UNIX that have uucp (that I know of, anyway).
The same arrangements do not exist for file transfer.
Berkeley 4BSD systems have something called "uusend" which sends files
through multiple machines via, you guessed it, "ruusend" on each
intermediate machine.  But all of these machines must have ruusend, and
their uuxqt must allow it to be executed remotely.

hoffman@pitt.UUCP (Bob Hoffman) (03/01/84)

The reason you can send mail to a site by specifying a path with
more than one machine in it is because the mail program itself takes
care of parsing the multi-machine address.  For instance, the command
used on your machine to send mail to "macha!machb!foo" would be

	uux - macha!rmail machb!foo

In a more general example, only the first machine name is split off
by each machine's mail program in succession and the resultant command
is queued up for uux, e.g.

your machine:   uux - macha!rmail machb!machc!machd!mache!foo
on macha:       uux - machb!rmail machc!machd!mache!foo
on machb:       uux - machc!rmail machd!mache!foo

...etc, where the same thing happens on every machine in the path, until
you finally get to the destination machine where uuxqt is given the
command:

on mache:	rmail foo

In summary, the uucp and uux programs will only accept a single hop
per command.  Maybe a front end (ruux?) could be built to do roughly
the same thing as rmail, only in a more general sense.

	---Bob Hoffman, Pitt CS

hoffman@pitt.UUCP (Bob Hoffman) (03/01/84)

As a postscript to my previous note about uucp and uux, a colleague just
reminded me about the uusend program, which lets you send a file across
multiple systems.  It is invoked in exactly the same way as rmail.

	---Bob Hoffman, Pitt CS

sherm@pegasus.UUCP (03/04/84)

The capability of uucp'ing through multiple machines is in
System V.  The syntax is exactly as the author of the original
question suggested, (uucp macha!machb!machc!~/user will put a
file in the user's subdirectory of the public directory).  Only
forwarding to the public directory is permitted.  Uucp spools a
temporary file on the intermediate machine, then sends it to the
next with (possibly) another forwarding path.

In order for this to work, the uucp on all intermediate machines
must understand the forwarding syntax.  Therefore, you can only
forward (now) through other machines also running System V.

As the manual page says, you must be sure that all intermediate
machines are willing to forward uucp traffic.  According to
some documentation (not the man page), forwarding is on by
default to everywhere.  However, on my system, a recent release
of the uucp code implements it such that forwarding is denied
by default unless a machine is specifically listed in a forwarding
file.  This isn't documented as a security feature, so it might
just be a mistake.  However it does allow forwarding to any
machines listed in the forwarding file.

Paul Sherman 	ATT-ISL 	...!ihnp4!pegasus!phoenix!sherm