blob: 8c4c1440cd934dd6d651e24811ecfc972038eabd (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
#!/bin/sh
. ./vars
help() {
cat <<EOF
Usage: $0
Generates a client shell script based on the variables set in 'vars'
and prints to stdout
EOF
exit 1;
}
while [ $# -gt 0 ] ; do case $1 in
*) help ;;
esac; done
cat <<EOF
#!/bin/sh
socat="\$(mktemp)"
sed -ne'/^__BEGIN'_'SOCAT__/,\$p' "\$0" | sed 1d | base64 -d \\
| gzip -dc > "\$socat"
chmod +x "\$socat"
_shell="\$(which zsh mksh bash ksh zsh ash sh 2>/dev/null | sed 1q)"
certificate='$(cat ${basename}.crt)'
crt_tmp="\$(mktemp)"
trap 'rm -f \$crt_tmp \$socat; exit 0' EXIT INT
echo "\$certificate" > "\$crt_tmp"
while [ $loop -ne 0 ] ; do
"\$socat" exec:"\$_shell",pty,stderr,setsid,sigint,sane \\
"OPENSSL:$hostname:$port,verify=$verify,cafile=\$crt_tmp"
sleep $timeout
done
exit 0
__BEGIN_SOCAT__
EOF
if [ -e socat/socat ] ; then
gzip -9c < socat/socat | base64
fi
|