default --rsh

jw schultz jw at pegasys.ws
Tue Dec 16 15:37:29 EST 2003


On Mon, Dec 15, 2003 at 08:29:36PM -0800, Wayne Davison wrote:
> On Mon, Dec 15, 2003 at 12:11:41PM -0800, jw schultz wrote:
> > It would be worthwhile to add a note in INSTALL to advise people of
> > the --with-rsh configure option.
> 
> I would not currently recommend that people use --with-rsh to set the
> default to be ssh because that affects the blocking I/O default in a
> weird way (i.e. it makes ssh default to blocking I/O and an override of
> rsh default to non-blocking I/O, which is backwards from what is
> desired).

I intended my suggestion of the INSTALL note to be
conditional on the logic being changed.

Your patch looks like what i was suggesting with the
improvement to cope with "-e /path/to/rsh"  very nice.

> 
> > Any thoughts, particularly with regard to putting this in before
> > 2.6.0?
> 
> I've attached one possible patch that does the following:
> 
>  - Changed configure.in to set RSYNC_RSH to "ssh" by default (be sure to
>    run "autoconf" if you try this patch).
> 
>  - Changed main.c to make blocking_io be the default if the remote shell
>    command is either rsh or remsh (instead of comparing with RSYNC_RSH).
> 
> We should then add a prominent release note that says that any site that
> still desires a default of rsh (or remsh) should add "--with-rsh=rsh"
> (or "--with-rsh=remsh") to their ./configure command.
> 
> I'm feeling a little more comfortable with this change now.  What do
> folks think about having something like this in 2.6.0?
> 
> ..wayne..

> --- configure.in	15 Dec 2003 19:00:20 -0000	1.173
> +++ configure.in	16 Dec 2003 04:24:31 -0000
> @@ -90,14 +90,14 @@
>          [  --with-included-popt    use bundled popt library, not from system])
>  
>  AC_ARG_WITH(rsync-path,
> -	[  --with-rsync-path=PATH  set default --rsync-path to PATH (default: \"rsync\")],
> +	[  --with-rsync-path=PATH  set default --rsync-path to PATH (default: rsync)],
>  	[ RSYNC_PATH="$with_rsync_path" ],
>  	[ RSYNC_PATH="rsync" ])
>  
>  AC_DEFINE_UNQUOTED(RSYNC_PATH, "$RSYNC_PATH", [location of rsync on remote machine])
>  
>  AC_ARG_WITH(rsh,
> -	AC_HELP_STRING([--with-rsh=CMD], [set rsh command to CMD (default: \"remsh\" or \"rsh\")]))
> +	AC_HELP_STRING([--with-rsh=CMD], [set remote shell command to CMD (default: ssh)]))
>  
>  AC_CHECK_PROG(HAVE_REMSH, remsh, 1, 0)
>  AC_DEFINE_UNQUOTED(HAVE_REMSH, $HAVE_REMSH, [remote shell is remsh not rsh])
> @@ -105,11 +105,8 @@
>  if test x"$with_rsh" != x
>  then
>  	RSYNC_RSH="$with_rsh"
> -elif test x"$HAVE_REMSH" = x1
> -then 
> -	RSYNC_RSH="remsh"
>  else
> -	RSYNC_RSH="rsh"
> +	RSYNC_RSH="ssh"
>  fi
>  
>  AC_DEFINE_UNQUOTED(RSYNC_RSH, "$RSYNC_RSH", [default -e command])
> --- main.c	11 Sep 2003 04:53:05 -0000	1.172
> +++ main.c	16 Dec 2003 04:24:31 -0000
> @@ -241,8 +241,15 @@
>  
>  		args[argc++] = rsync_path;
>  
> -		if ((blocking_io == -1) && (strcmp(cmd, RSYNC_RSH) == 0))
> -			blocking_io = 1;
> +		if (blocking_io == -1) {
> +			char *cp = strrchr(cmd, '/');
> +			if (cp)
> +				cp++;
> +			else
> +				cp = cmd;
> +			if (strcmp(cp, "rsh") == 0 || strcmp(cp, "remsh") == 0)
> +				blocking_io = 1;
> +		}
>  
>  		server_options(args,&argc);
>  
> --- rsync.h	15 Dec 2003 08:07:38 -0000	1.157
> +++ rsync.h	16 Dec 2003 04:24:31 -0000
> @@ -107,9 +107,7 @@
>  
>  #include "config.h"
>  
> -/* The default RSYNC_RSH is always set in config.h, either to "remsh",
> - * "rsh", or otherwise something specified by the user.  HAVE_REMSH
> - * controls parameter munging for HP/UX, etc. */
> +/* The default RSYNC_RSH is always set in config.h. */
>  
>  #include <sys/types.h>
>  

> -- 
> To unsubscribe or change options: http://lists.samba.org/mailman/listinfo/rsync
> Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html

-- 
________________________________________________________________
	J.W. Schultz            Pegasystems Technologies
	email address:		jw at pegasys.ws

		Remember Cernan and Schmitt



More information about the rsync mailing list