The branch, master has been updated via 27e88dec Use /usr/bin/env for increased portability. via 929f136b A few more NEWS tweaks. via 6a22f4fe enh(configure) Promote OpenSSL crypto lib support from d90990d6 A few more trivial tweaks.
https://git.samba.org/?p=rsync.git;a=shortlog;h=master - Log ----------------------------------------------------------------- commit 27e88dec0436878c7a9fc47c11c7703874e3acfe Author: Wayne Davison <wa...@opencoder.net> Date: Tue Jun 16 18:02:45 2020 -0700 Use /usr/bin/env for increased portability. commit 929f136b3ba5c554f8ae40761f6561678c26fa19 Author: Wayne Davison <wa...@opencoder.net> Date: Tue Jun 16 15:27:03 2020 -0700 A few more NEWS tweaks. commit 6a22f4fee1b54c83d725830d3b8fb1d8cf94b7f2 Author: benrubson <6764151+benrub...@users.noreply.github.com> Date: Tue Jun 16 23:42:12 2020 +0200 enh(configure) Promote OpenSSL crypto lib support ----------------------------------------------------------------------- Summary of changes: NEWS.md | 21 ++++++++++++++------- configure.ac | 15 ++++++++++++--- md2man | 2 +- packaging/branch-from-patch | 2 +- packaging/cull_options | 2 +- packaging/md2html | 2 +- packaging/nightly-rsync | 2 +- packaging/patch-update | 2 +- packaging/release-rsync | 2 +- packaging/var-checker | 2 +- packaging/year-tweak | 2 +- rsync-ssl | 2 +- support/atomic-rsync | 2 +- support/cvs2includes | 2 +- support/deny-rsync | 2 +- support/file-attr-restore | 2 +- support/files-to-excludes | 2 +- support/git-set-file-times | 2 +- support/instant-rsyncd | 2 +- support/logfilter | 2 +- support/lsh | 2 +- support/mapfrom | 2 +- support/mapto | 2 +- support/mnt-excl | 2 +- support/munge-symlinks | 2 +- support/rrsync | 2 +- support/rsync-no-vanished | 2 +- support/rsync-slash-strip | 2 +- support/rsyncstats | 2 +- testhelp/maketree.py | 2 +- 30 files changed, 54 insertions(+), 38 deletions(-) Changeset truncated at 500 lines: diff --git a/NEWS.md b/NEWS.md index dc3afe39..29fc39b6 100644 --- a/NEWS.md +++ b/NEWS.md @@ -105,7 +105,9 @@ Protocol: 31 (unchanged) - Added negated matching to the daemon's `refuse options` setting by using match strings that start with a `!` (such as `!compress*`). This lets you - refuse all options except for a particular approved list, for example. + refuse all options except for a particular approved list, for example. It + also lets rsync refuse certain options by default (such as `write-devices`) + while allowing the config to override that, as desired. - Added the `early exec` daemon parameter that runs a script before the transfer parameters are known, allowing some early setup based on module @@ -121,7 +123,7 @@ Protocol: 31 (unchanged) copy. This requires both sender & receiver to be at least v3.2.0. - Added support for `RSYNC_SHELL` & `RSYNC_NO_XFER_EXEC` environment variables - that affect the pre-xfer exec and post-xfer exec rsync daemon options. + that affect the early, pre-xfer, and post-xfer exec rsync daemon parameters. - Optimize the `--fuzzy --fuzzy` heuristic to avoid the fuzzy directory scan until all other basis-file options are exhausted (such as `--link-dest`). @@ -130,14 +132,14 @@ Protocol: 31 (unchanged) transfer exited with an error when possible (i.e. if it is the sender). - The daemon now locks its pid file (when configured to use one) so that it - will not fail to start when the file exists and it is unlocked. + will not fail to start when the file exists but no daemon is running. - Various man page improvements, including some html representations (that aren't installed by default). - Made -V the short option for --version and improved its information. - - Forward -4 or -6 to the ssh command, making it easier to type than + - Pass the -4 or -6 option to the ssh command, making it easier to type than `--rsh='ssh -4'` (or -6). - Added example config for rsyncd SSL proxy configs to rsyncd.conf. @@ -168,11 +170,16 @@ Protocol: 31 (unchanged) algorithms, extra checksum algorithms, and allow use of openssl's crypto lib for (potentially) faster MD4/MD5 checksums. - - Add _build_ dependency for g++ to enable the SIMD checksum optimizations. + - Add _build_ dependency for g++ (on x86_64 systems) to enable the SIMD + checksum optimizations. This is auto-disabled on non-x86_64 build_cpu, or + if g++ isn't found on non-Linux systems. Run configure with + `--disable-simd` if you run into a build problem. - Add _build_ dependency for _either_ python3-cmarkcfm or python3-commonmark - to allow for patching of man pages or building a git release. Note that - cmarkcfm is faster than commonmark, but they generate the same data. + to allow for patching of man pages or building a git release. This is not + required for a release-tar build, since it comes with pre-built man pages. + (Note that cmarkcfm is faster than commonmark, but they generate the same + data.) - Remove yodl _build_ dependency (if it was even listed before). diff --git a/configure.ac b/configure.ac index 03fad912..efce10d5 100644 --- a/configure.ac +++ b/configure.ac @@ -423,9 +423,18 @@ AC_ARG_ENABLE([openssl], AS_HELP_STRING([--disable-openssl],[disable openssl crypto library])) AH_TEMPLATE([USE_OPENSSL], [Undefine if you do not want to use openssl crypto library. By default this is defined.]) -if test x"$enable_openssl" != x"no" && test x"$ac_cv_header_openssl_md4_h" = x"yes" && test x"$ac_cv_header_openssl_md5_h" = x"yes"; then - AC_MSG_RESULT(yes) - AC_SEARCH_LIBS(MD5_Init, crypto, [AC_DEFINE(USE_OPENSSL)]) +if test x"$enable_openssl" != x"no"; then + if test x"$ac_cv_header_openssl_md4_h" = x"yes" && test x"$ac_cv_header_openssl_md5_h" = x"yes"; then + AC_MSG_RESULT(yes) + AC_SEARCH_LIBS(MD5_Init, crypto, + [AC_DEFINE(USE_OPENSSL)], + [AC_MSG_ERROR(Failed to find MD5_Init function in openssl crypto lib. +Use --disable-openssl to continue without openssl crypto lib support.)]) + else + AC_MSG_RESULT(no) + AC_MSG_ERROR(Failed to find openssl/md4.h and openssl/md5.h for openssl crypto lib support. +Use --disable-openssl to continue without it.) + fi else AC_MSG_RESULT(no) fi diff --git a/md2man b/md2man index a459e36c..7dbb1f31 100755 --- a/md2man +++ b/md2man @@ -1,4 +1,4 @@ -#!/usr/bin/python3 +#!/usr/bin/env python3 # This script takes a manpage written in markdown and turns it into an html web # page and a nroff man page. The input file must have the name of the program diff --git a/packaging/branch-from-patch b/packaging/branch-from-patch index c4982d03..91b9466b 100755 --- a/packaging/branch-from-patch +++ b/packaging/branch-from-patch @@ -1,4 +1,4 @@ -#!/usr/bin/python3 -B +#!/usr/bin/env python3 -B # This script turns one or more diff files in the patches dir (which is # expected to be a checkout of the rsync-patches git repo) into a branch diff --git a/packaging/cull_options b/packaging/cull_options index c32a84dd..7588002b 100755 --- a/packaging/cull_options +++ b/packaging/cull_options @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl # This script outputs some perl code that parses all possible options # that the code in options.c might send to the server. This perl code # is included in the rrsync script. diff --git a/packaging/md2html b/packaging/md2html index 6475434c..e4ee226a 100755 --- a/packaging/md2html +++ b/packaging/md2html @@ -1,4 +1,4 @@ -#!/usr/bin/python3 +#!/usr/bin/env python3 # Copyright (C) 2020 Wayne Davison # diff --git a/packaging/nightly-rsync b/packaging/nightly-rsync index 587942f5..f971088f 100755 --- a/packaging/nightly-rsync +++ b/packaging/nightly-rsync @@ -1,4 +1,4 @@ -#!/usr/bin/python3 -B +#!/usr/bin/env python3 -B # This script expects the directory ~/samba-rsync-ftp to exist and to be a # copy of the /home/ftp/pub/rsync dir on samba.org. It also requires a diff --git a/packaging/patch-update b/packaging/patch-update index 1b6f1ea9..255a8c25 100755 --- a/packaging/patch-update +++ b/packaging/patch-update @@ -1,4 +1,4 @@ -#!/usr/bin/python3 -B +#!/usr/bin/env python3 -B # This script is used to turn one or more of the "patch/BASE/*" branches # into one or more diffs in the "patches" directory. Pass the option diff --git a/packaging/release-rsync b/packaging/release-rsync index c54862ba..11a4fd54 100755 --- a/packaging/release-rsync +++ b/packaging/release-rsync @@ -1,4 +1,4 @@ -#!/usr/bin/python3 -B +#!/usr/bin/env python3 -B # This script expects the directory ~/samba-rsync-ftp to exist and to be a # copy of the /home/ftp/pub/rsync dir on samba.org. When the script is done, diff --git a/packaging/var-checker b/packaging/var-checker index 6b472f71..6468ac7a 100755 --- a/packaging/var-checker +++ b/packaging/var-checker @@ -1,4 +1,4 @@ -#!/usr/bin/python3 -B +#!/usr/bin/env python3 -B # This script checks the *.c files for extraneous "extern" variables, # for vars that are defined but not used, and for inconsistent array diff --git a/packaging/year-tweak b/packaging/year-tweak index a8792816..69d2f2ff 100755 --- a/packaging/year-tweak +++ b/packaging/year-tweak @@ -1,4 +1,4 @@ -#!/usr/bin/python3 +#!/usr/bin/env python3 # This uses the output from "support/git-set-file-times --list" to discern # the last-modified year of each *.c & *.h file and updates the copyright diff --git a/rsync-ssl b/rsync-ssl index 4e066ade..8101975a 100755 --- a/rsync-ssl +++ b/rsync-ssl @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash # This script uses openssl, gnutls, or stunnel to secure an rsync daemon connection. diff --git a/support/atomic-rsync b/support/atomic-rsync index 79c2edfe..0346fb49 100755 --- a/support/atomic-rsync +++ b/support/atomic-rsync @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl # # This script lets you update a hierarchy of files in an atomic way by # first creating a new hierarchy using rsync's --link-dest option, and diff --git a/support/cvs2includes b/support/cvs2includes index 33981de7..fc7f78fb 100755 --- a/support/cvs2includes +++ b/support/cvs2includes @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl # # This script finds all CVS/Entries files in the current directory and below # and creates a local .cvsinclude file with non-inherited rules including each diff --git a/support/deny-rsync b/support/deny-rsync index 1993e3aa..bd4da9e7 100755 --- a/support/deny-rsync +++ b/support/deny-rsync @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash # Send an error message via the rsync-protocol to a non-daemon client rsync. # # Usage: deny-rsync "message" diff --git a/support/file-attr-restore b/support/file-attr-restore index a053e1d9..2e4a21b7 100755 --- a/support/file-attr-restore +++ b/support/file-attr-restore @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl # This script will parse the output of "find ARG [ARG...] -ls" and # apply (at your discretion) the permissions, owner, and group info # it reads onto any existing files and dirs (it doesn't try to affect diff --git a/support/files-to-excludes b/support/files-to-excludes index 5fb13b08..a28955cb 100755 --- a/support/files-to-excludes +++ b/support/files-to-excludes @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl # This script takes an input of filenames and outputs a set of # include/exclude directives that can be used by rsync to copy # just the indicated files using an --exclude-from=FILE option. diff --git a/support/git-set-file-times b/support/git-set-file-times index 4a20d441..b4c98c5d 100755 --- a/support/git-set-file-times +++ b/support/git-set-file-times @@ -1,4 +1,4 @@ -#!/usr/bin/python3 +#!/usr/bin/env python3 import os, re, argparse, subprocess from datetime import datetime diff --git a/support/instant-rsyncd b/support/instant-rsyncd index e9efb1ab..8bcfd001 100755 --- a/support/instant-rsyncd +++ b/support/instant-rsyncd @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash # instant-rsyncd lets you quickly set up and start a simple, unprivileged rsync # daemon with a single module in the current directory. I've found it diff --git a/support/logfilter b/support/logfilter index 282914aa..29cfe690 100755 --- a/support/logfilter +++ b/support/logfilter @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl # Filter the rsync daemon log messages by module name. The log file can be # in either syslog format or rsync's own log-file format. Note that the # MODULE_NAME parameter is used in a regular-expression match in order to diff --git a/support/lsh b/support/lsh index 81a593b6..40f70c88 100755 --- a/support/lsh +++ b/support/lsh @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl # This script can be used as a "remote shell" command that is only # capable of pretending to connect to "localhost". This is useful # for testing or for running a local copy where the sender and the diff --git a/support/mapfrom b/support/mapfrom index ca3b8173..88946bc0 100755 --- a/support/mapfrom +++ b/support/mapfrom @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl # This helper script makes it easy to use a passwd or group file to map # values in a LOCAL transfer. For instance, if you mount a backup that # does not have the same passwd setup as the local machine, you can do diff --git a/support/mapto b/support/mapto index a1dbe3c1..95887523 100755 --- a/support/mapto +++ b/support/mapto @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl # This helper script makes it easy to use a passwd or group file to map # values in a LOCAL transfer. For instance, if you mount a backup that # does not have the same passwd setup as the local machine, you can do diff --git a/support/mnt-excl b/support/mnt-excl index b2926db4..ed7b49ba 100755 --- a/support/mnt-excl +++ b/support/mnt-excl @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl # This script takes a command-line arg of a source directory # that will be passed to rsync, and generates a set of excludes # that will exclude all mount points from the list. This is diff --git a/support/munge-symlinks b/support/munge-symlinks index 2aa27f36..3e5f3ad2 100755 --- a/support/munge-symlinks +++ b/support/munge-symlinks @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl # This script will either prefix all symlink values with the string # "/rsyncd-munged/" or remove that prefix. diff --git a/support/rrsync b/support/rrsync index a0ba074d..34e62300 100644 --- a/support/rrsync +++ b/support/rrsync @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl # Name: /usr/local/bin/rrsync (should also have a symlink in /usr/bin) # Purpose: Restricts rsync to subdirectory declared in .ssh/authorized_keys # Author: Joe Smith <js-...@inwap.com> 30-Sep-2004 diff --git a/support/rsync-no-vanished b/support/rsync-no-vanished index 1cce75cb..cc3c29ce 100755 --- a/support/rsync-no-vanished +++ b/support/rsync-no-vanished @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash IGNOREEXIT=24 IGNOREOUT='^(file has vanished: |rsync warning: some files vanished before they could be transferred)' diff --git a/support/rsync-slash-strip b/support/rsync-slash-strip index 43b82bf4..2869e45c 100755 --- a/support/rsync-slash-strip +++ b/support/rsync-slash-strip @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash # This script can be used as an rsync command-line filter that strips a single # trailing slash from each arg. That treats "src/" the same as "src", thus # you need to use "src/." or "src//" for just the contents of the "src" dir. diff --git a/support/rsyncstats b/support/rsyncstats index ab7246d3..99fd5457 100755 --- a/support/rsyncstats +++ b/support/rsyncstats @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/env perl # # This script parses the default logfile format produced by rsync when running # as a daemon with transfer logging enabled. It also parses a slightly tweaked diff --git a/testhelp/maketree.py b/testhelp/maketree.py index d71779ac..19ae71d1 100644 --- a/testhelp/maketree.py +++ b/testhelp/maketree.py @@ -1,4 +1,4 @@ -#! /usr/bin/python2.2 +#!/usr/bin/env python2 # Copyright (C) 2002 by Martin Pool <m...@samba.org> -- The rsync repository. _______________________________________________ rsync-cvs mailing list rsync-cvs@lists.samba.org https://lists.samba.org/mailman/listinfo/rsync-cvs