-
Notifications
You must be signed in to change notification settings - Fork 0
/
utils.sh
47 lines (41 loc) · 1.13 KB
/
utils.sh
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
#!/bin/bash
# Allow call to fail and return exit code
allow_fail_status=0
function allow_fail {
set +e;
$@; allow_fail_status=$?;
set -e;
}
# Declare all command line flags here
HAS_FORCE=$(echo $@ | allow_fail grep -ow "\-\-force")
# Get CSR for a key or generate a new keypair
function get_csr {
local key_name=$1
allow_fail ndnsec sign-req "${key_name}" 2> /dev/null
if [ $allow_fail_status -ne 0 ]; then
echo -e "Generating new keypair for ${key_name}" >&2
ndnsec key-gen -n "${key_name}"
else
echo -e "Using existing keypair for ${key_name}" >&2
fi
}
# Check if a certificate needs to be renewed
function needs_renewal {
local cert_path=$1
if [[ ! -f "${cert_path}" || -n "${HAS_FORCE}" ]]; then
echo -e "1"
else
echo -e "${cert_path} exists, skipping ..." >&2
fi
}
# Cleanup intermediate files for cert renewal scripts
function renew_cleanup {
rm -f ${WORKING_DIR}/*.csr
}
# Wait for random amount of time
function random_sleep {
local max_wait=$1
wait="$((RANDOM % $max_wait))"
echo "Random sleep for ${wait} seconds ..."
sleep "${wait}"
}