lib/lib.sh: Sanitize the tag when making a temporary directory.
[distorted-letsencrypt] / lib / lib.sh
CommitLineData
55799f78
MW
1### -*-sh-*-
2
3prog=${0##*/}
4
93005620 5usage () { echo "usage: $prog$usage"; }
55799f78
MW
6fail () { echo >&2 "$prog: $*"; exit 1; }
7fail_usage () { usage >&2; exit 1; }
8
9run_as_user () {
10 case $(id -un) in
11 $user) ;;
12 *) exec sudo -u$user "$0" "$@" ;;
13 esac
14 HOME=$home; export HOME
15 PATH=$home/bin:/usr/local/bin:/bin:/usr/bin; export PATH
16}
17
98f7510d
MW
18sanitize () { echo "$1" | tr -c 'A-Za-z0-9-\n' _; }
19
55799f78
MW
20prepare_tmp () {
21 tag=$1
22
98f7510d 23 tmp=$home/tmp/$(sanitize "$tag").$$
55799f78
MW
24 rm -rf $tmp
25 mkdir $tmp
26 trap 'cd $home; rm -rf $tmp' EXIT INT TERM
27}
28
29make_le_conf () {
30 { cat $home/le.conf.skel
710b5c2b
MW
31 echo "config-dir = $home/etc"
32 echo "logs-dir = $home/log"
55799f78
MW
33 echo "work-dir = $tmp"
34 echo
35 case $# in
36 0) ;;
37 *)
38 map="webroot-map = {" sep=" "
39 for san in "$@"; do
40 map="$map$sep\"$san\": \"$home/webroot\"" sep=", "
41 done
42 map="$map }"
43 echo "$map"
44 ;;
45 esac
46 } >$tmp/le.conf
47}