~ubuntu-branches/ubuntu/trusty/rsync/trusty

« back to all changes in this revision

Viewing changes to stunnel-rsync.in

  • Committer: Package Import Robot
  • Author(s): Paul Slootman
  • Date: 2013-10-27 12:01:10 UTC
  • mfrom: (1.3.2)
  • mto: This revision was merged to the branch mainline in revision 34.
  • Revision ID: package-import@ubuntu.com-20131027120110-eyksys8yzm1siekf
Tags: upstream-3.1.0
ImportĀ upstreamĀ versionĀ 3.1.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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