[SCM] The rsync repository. - branch master updated

Rsync CVS commit messages rsync-cvs at lists.samba.org
Mon Jun 8 02:36:16 UTC 2020


The branch, master has been updated
       via  7dbbde8c Use ZSTD_CLEVEL_DEFAULT define.
       via  888f4f95 Put the rsync-ssl-rsh helper script into a lib dir.
       via  2c6f0581 A couple minor fixes.
      from  916faecb Only sender can output non-final stats on error

https://git.samba.org/?p=rsync.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 7dbbde8c5e68f0c78176077bd4ef93620c00864f
Author: Wayne Davison <wayne at opencoder.net>
Date:   Sun Jun 7 18:58:30 2020 -0700

    Use ZSTD_CLEVEL_DEFAULT define.

commit 888f4f9503676339be03b2ec53277478c9e3a318
Author: Wayne Davison <wayne at opencoder.net>
Date:   Sun Jun 7 17:20:58 2020 -0700

    Put the rsync-ssl-rsh helper script into a lib dir.

commit 2c6f0581ac927a35a411ac1fe9068d6df947054d
Author: Wayne Davison <wayne at opencoder.net>
Date:   Thu Jun 4 22:54:38 2020 -0700

    A couple minor fixes.

-----------------------------------------------------------------------

Summary of changes:
 Makefile.in              | 11 ++++++-----
 NEWS.md                  |  6 +++---
 clientserver.c           |  4 ++--
 main.c                   |  1 -
 packaging/lsb/rsync.spec |  2 +-
 rsync-ssl                |  3 ++-
 rsync-ssl.yo             |  7 +++----
 rsync-ssl-rsh => ssl-rsh |  8 ++++----
 token.c                  |  6 ++++--
 tweak_manpage            | 16 ++++++++++++++++
 10 files changed, 41 insertions(+), 23 deletions(-)
 rename rsync-ssl-rsh => ssl-rsh (93%)


Changeset truncated at 500 lines:

diff --git a/Makefile.in b/Makefile.in
index 13cba5d9..b45f3f47 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -4,8 +4,8 @@
 prefix=@prefix@
 datarootdir=@datarootdir@
 exec_prefix=@exec_prefix@
-stunnel4=@STUNNEL4@
 bindir=@bindir@
+libdir=@libdir@/rsync
 mandir=@mandir@
 
 LIBS=@LIBS@
@@ -71,9 +71,10 @@ all: Makefile rsync$(EXEEXT) stunnel-rsyncd.conf @MAKE_MAN@
 
 install: all
 	-${MKDIR_P} ${DESTDIR}${bindir}
+	-${MKDIR_P} ${DESTDIR}${libdir}
 	${INSTALLCMD} ${INSTALL_STRIP} -m 755 rsync$(EXEEXT) ${DESTDIR}${bindir}
 	${INSTALLCMD} -m 755 rsync-ssl ${DESTDIR}${bindir}
-	${INSTALLCMD} -m 755 rsync-ssl-rsh ${DESTDIR}${bindir}
+	${INSTALLCMD} -m 755 ssl-rsh ${DESTDIR}${libdir}
 	-${MKDIR_P} ${DESTDIR}${mandir}/man1
 	-${MKDIR_P} ${DESTDIR}${mandir}/man5
 	if test -f rsync.1; then ${INSTALLMAN} -m 644 rsync.1 ${DESTDIR}${mandir}/man1; fi
@@ -227,15 +228,15 @@ man-copy:
 	    fi ; \
 	done
 
-rsync.1: rsync.yo
+rsync.1: rsync.yo $(srcdir)/tweak_manpage
 	yodl2man -o rsync.1 $(srcdir)/rsync.yo
 	-$(srcdir)/tweak_manpage rsync.1
 
-rsync-ssl.1: rsync-ssl.yo
+rsync-ssl.1: rsync-ssl.yo $(srcdir)/tweak_manpage
 	yodl2man -o rsync-ssl.1 $(srcdir)/rsync-ssl.yo
 	-$(srcdir)/tweak_manpage rsync-ssl.1
 
-rsyncd.conf.5: rsyncd.conf.yo
+rsyncd.conf.5: rsyncd.conf.yo $(srcdir)/tweak_manpage
 	yodl2man -o rsyncd.conf.5 $(srcdir)/rsyncd.conf.yo
 	-$(srcdir)/tweak_manpage rsyncd.conf.5
 
diff --git a/NEWS.md b/NEWS.md
index 1807fe4e..783064ab 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -85,9 +85,9 @@ Protocol: 31 (unchanged)
 
  - Added the `--write-devices` option based on the long-standing patch.
 
- - Added openssl support to the rsync-ssl script via its renamed helper script,
-   rsync-ssl-rsh.  Both bash scripts are now installed by default (removing the
-   install-ssl-client make target).  Rsync was also enhanced to set the
+ - Added openssl support to the rsync-ssl script via a (lib installed) helper
+   script, ssl-rsh.  Both bash scripts are now installed by default, removing
+   the install-ssl-client make target.  Rsync was also enhanced to set the
    `RSYNC_PORT` environment variable when running a daemon-over-rsh script. Its
    value is the user-specified port number (set via `--port` or an rsync://
    URL) or 0 if the user didn't override the port.
diff --git a/clientserver.c b/clientserver.c
index 8df14947..91f78b7b 100644
--- a/clientserver.c
+++ b/clientserver.c
@@ -1173,7 +1173,7 @@ static void create_pid_file(void)
 		fail = "lock";
 	else if (do_fstat(pid_file_fd, &st1) < 0)
 		fail = "fstat opened";
-	else if (st1.st_size >= (int)sizeof pidbuf)
+	else if (st1.st_size > (int)sizeof pidbuf)
 		fail = "find small";
 	else if (do_lstat(pid_file, &st2) < 0)
 		fail = "lstat";
@@ -1190,7 +1190,7 @@ static void create_pid_file(void)
 		int len = snprintf(pidbuf, sizeof pidbuf, "%d\n", (int)pid);
 #ifndef HAVE_FTRUNCATE
 		/* What can we do with a too-long file and no truncate? I guess we'll add extra newlines. */
-		while (len < st1.st_size) /* We already verified that st_size+1 chars fits in the buffer. */
+		while (len < st1.st_size) /* We already verified that st_size chars fits in the buffer. */
 			pidbuf[len++] = '\n';
 		/* We don't need the buffer to end in a '\0' (and we may not have room to add it). */
 #endif
diff --git a/main.c b/main.c
index ed1a210f..98bbaa68 100644
--- a/main.c
+++ b/main.c
@@ -88,7 +88,6 @@ extern char *partial_dir;
 extern char *dest_option;
 extern char *rsync_path;
 extern char *shell_cmd;
-extern char *batch_name;
 extern char *password_file;
 extern char *backup_dir;
 extern char *copy_as;
diff --git a/packaging/lsb/rsync.spec b/packaging/lsb/rsync.spec
index 3767cd9c..ea02c7e6 100644
--- a/packaging/lsb/rsync.spec
+++ b/packaging/lsb/rsync.spec
@@ -70,7 +70,7 @@ rm -rf $RPM_BUILD_ROOT
 %config(noreplace) /etc/xinetd.d/rsync
 %{_prefix}/bin/rsync
 %{_prefix}/bin/rsync-ssl
-%{_prefix}/bin/rsync-ssl-rsh
+%{_prefix}/lib/rsync/ssl-rsh
 %{_mandir}/man1/rsync.1*
 %{_mandir}/man1/rsync-ssl.1*
 %{_mandir}/man5/rsyncd.conf.5*
diff --git a/rsync-ssl b/rsync-ssl
index f3e365d7..c9a8db90 100755
--- a/rsync-ssl
+++ b/rsync-ssl
@@ -18,5 +18,6 @@ case "$@" in
 esac
 
 mydir="${0%/*}"
+libdir="$mydir/../lib/rsync"
 
-exec "$mydir/rsync" --rsh="$mydir/rsync-ssl-rsh" "${@}"
+exec "$mydir/rsync" --rsh="$libdir/ssl-rsh" "${@}"
diff --git a/rsync-ssl.yo b/rsync-ssl.yo
index 29d311df..51497420 100644
--- a/rsync-ssl.yo
+++ b/rsync-ssl.yo
@@ -23,9 +23,8 @@ bf(rsync) manpage for more information on how it works.
 Note that the stunnel connection type requires at least version 4 of stunnel,
 which should be the case on modern systems.
 
-This script requires that a helper script named bf(rsync-ssl-rsh) be installed
-in the same directory as this bf(rsync-ssl) script so that rsync can use it as
-its remote-shell command.
+This script requires that a helper script named bf(ssl-rsh) be installed the
+ at libdir@ dir so that rsync can use it as its remote-shell command.
 
 manpagesection(ENVIRONMENT VARIABLES)
 
@@ -67,7 +66,7 @@ verb(    rsync-ssl --type=openssl -aiv example.com::src/ dest)
 
 manpagefiles()
 
-rsync-ssl-rsh
+ at libdir@/ssl-rsh
 
 manpageseealso()
 
diff --git a/rsync-ssl-rsh b/ssl-rsh
similarity index 93%
rename from rsync-ssl-rsh
rename to ssl-rsh
index f99aa901..ea7b76c1 100755
--- a/rsync-ssl-rsh
+++ b/ssl-rsh
@@ -1,16 +1,16 @@
 #!/bin/bash
 # This must be called as (note the trailing dot):
 #
-#    rsync-ssl-rsh HOSTNAME rsync --server --daemon .
+#    ssl-rsh HOSTNAME rsync --server --daemon .
 #
 # ... which is typically done via the rsync-ssl script, which results in something like this:
 #
-#    rsync --rsh=rsync-ssl-rsh -aiv HOSTNAME::module [ARGS]
+#    rsync --rsh=/usr/lib/rsync/ssl-rsh -aiv HOSTNAME::module [ARGS]
 #
 # This SSL setup based on the files by:  http://dozzie.jarowit.net/trac/wiki/RsyncSSL
 # Note that an stunnel connection requires at least version 4.x of stunnel.
 
-# The environment can override our defaults using RSYNC_SSL_* variables
+# The environment can override our defaults using RSYNC_SSL_* variables. See `man rsync-ssl`.
 
 function path_search {
     IFS_SAVE="$IFS"
@@ -106,7 +106,7 @@ hostname="$1"
 shift
 
 if [[ -z "$hostname" || "$1" != rsync || "$2" != --server || "$3" != --daemon ]]; then
-    echo "Usage: rsync-ssl-helper HOSTNAME rsync --server --daemon ." 1>&2
+    echo "Usage: ssl-rsh HOSTNAME rsync --server --daemon ." 1>&2
     exit 1
 fi
 
diff --git a/token.c b/token.c
index cfcfdcc6..ebecd8ab 100644
--- a/token.c
+++ b/token.c
@@ -58,7 +58,7 @@ void init_compression_level(void)
 
 	switch (do_compression) {
 	case CPRES_NONE:
-		break;
+		return;
 	case CPRES_ZLIB:
 	case CPRES_ZLIBX:
 		min_level = 1;
@@ -72,8 +72,10 @@ void init_compression_level(void)
 	case CPRES_ZSTD:
 		min_level = skip_compression_level = ZSTD_minCLevel();
 		max_level = ZSTD_maxCLevel();
-		def_level = 3;
+		def_level = ZSTD_CLEVEL_DEFAULT;
 		off_level = CLVL_NOT_SPECIFIED;
+		if (do_compression_level == 0)
+			do_compression_level = def_level;
 		break;
 #endif
 #ifdef SUPPORT_LZ4
diff --git a/tweak_manpage b/tweak_manpage
index 4c55c514..76b76040 100755
--- a/tweak_manpage
+++ b/tweak_manpage
@@ -3,6 +3,20 @@
 use strict;
 use warnings;
 
+our %subs;
+
+BEGIN {
+    open IN, '<', 'Makefile' or die $!;
+    while (<IN>) {
+	my ($var, $val) = /^(\w+)=(.+)/;
+	next unless defined $val;
+	$val =~ s/\$\{(\w+)\}/$subs{$1}/ while $val =~ /\$\{/;
+	$subs{$var} = $val;
+	last if $var eq 'libdir';
+    }
+    close IN;
+}
+
 # We only need to use "\&'" or "\&." at the start of a line.
 s/(?<=.)\\\&(['.])/$1/g;
 
@@ -19,6 +33,8 @@ s/(\\f(B|\(CW).*?\\fP)/ realquotes($1) /egs;
 
 s/^\\\&(\\\(oq)/$1/gm;
 
+s/\@libdir\@/$subs{libdir}/g;
+
 sub realquotes
 {
     my($txt) = @_;


-- 
The rsync repository.



More information about the rsync-cvs mailing list