rws%mit-bold@sri-unix.UUCP (01/03/84)
From: Robert W. Scheifler <rws@mit-bold> Description: rcp (version 4.8) doesn't work for 3rd party copies. In forking rsh it uses -L instead of -l, and uses the wrong user name at the destination. Even with this fix, I don't think this form of copy has the right semantics in terms of who must be equivalent to whom. I would have thought that if I could do rcp host1.name1:foo /tmp/foo rcp /tmp/foo host2.name2:foo then I should be able to do rcp host1.name1:foo host2.name2:foo but that isn't the case. The current implementation requires that name1@host1 (not me) be in the .rhosts of name2@host2. Repeat-By: Try doing one. Fix: Here is a 'diff old new' 105c105 < (void) sprintf(buf, "rsh %s -L %s -n %s %s '%s:%s'", --- > (void) sprintf(buf, "rsh %s -l %s -n %s %s '%s.%s:%s'", 107c107 < src, argv[argc - 1], targ); --- > src, argv[argc - 1], tuser, targ); 109c109 < (void) sprintf(buf, "rsh %s -n %s %s '%s:%s'", --- > (void) sprintf(buf, "rsh %s -n %s %s '%s.%s:%s'", 111c111 < src, argv[argc - 1], targ); --- > src, argv[argc - 1], tuser, targ);