File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / rsync / stunnel-rsync.in
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Mon Oct 14 07:51:14 2013 UTC (10 years, 8 months ago) by misho
Branches: rsync, MAIN
CVS tags: v3_1_2p5, RSYNC3_1_0, HEAD
v 3.1.0

    1: #!/bin/bash
    2: # This must be called as (note the trailing dot):
    3: #
    4: #    stunnel-rsync HOSTNAME rsync --server --daemon .
    5: #
    6: # ... which is typically done via the rsync-ssl script, which results in something like this:
    7: #
    8: #    rsync --rsh=stunnel-rsync -aiv HOSTNAME::module [ARGS]
    9: #
   10: # This SSL setup based on the files by:  http://dozzie.jarowit.net/trac/wiki/RsyncSSL
   11: # Note that this requires at least version 4.x of stunnel.
   12: 
   13: # The current environment can override using the RSYNC_SSL_* values:
   14: if [ x"$RSYNC_SSL_CERT" = x ]; then
   15:     cert=""
   16: else
   17:     cert="cert = $RSYNC_SSL_CERT"
   18: fi
   19: if [ x"$RSYNC_SSL_CA_CERT" ]; then
   20:     cafile=""
   21:     verify=0
   22: else
   23:     cafile="CAfile = $RSYNC_SSL_CA_CERT"
   24:     verify=3
   25: fi
   26: port=${RSYNC_SSL_PORT:-874}
   27: 
   28: # If the user specified USER@HOSTNAME::module, then rsync passes us
   29: # the -l USER option too, so we must be prepared to ignore it.
   30: if [ x"$1" = x"-l" ]; then
   31:     shift 2
   32: fi
   33: 
   34: hostname=$1
   35: shift
   36: 
   37: if [ x"$hostname" = x -o x"$1" != x"rsync" -o x"$2" != x"--server" -o x"$3" != x"--daemon" ]; then
   38:     echo "Usage: stunnel-rsync HOSTNAME rsync --server --daemon ." 1>&2
   39:     exit 1
   40: fi
   41: 
   42: # devzero@web.de came up with this no-tmpfile calling syntax:
   43: @stunnel4@ -fd 10 11<&0 <<EOF 10<&0 0<&11 11<&-
   44: foreground = yes
   45: debug = crit
   46: connect = $hostname:$port
   47: client = yes
   48: TIMEOUTclose = 0
   49: verify = $verify
   50: $cert
   51: $cafile
   52: EOF

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>