Annotation of embedaddon/rsync/stunnel-rsync.in, revision 1.1.1.1

1.1       misho       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>