]>
Commit | Line | Data |
---|---|---|
81523094 AG |
1 | #!/usr/bin/env sh |
2 | ||
3 | #Usage: dns_maradns_add _acme-challenge.www.domain.com "token" | |
4 | dns_maradns_add() { | |
5 | fulldomain="$1" | |
6 | txtvalue="$2" | |
7 | ||
8 | MARA_ZONE_FILE="${MARA_ZONE_FILE:-$(_readaccountconf_mutable MARA_ZONE_FILE)}" | |
9 | MARA_DUENDE_PID_PATH="${MARA_DUENDE_PID_PATH:-$(_readaccountconf_mutable MARA_DUENDE_PID_PATH)}" | |
10 | ||
11 | _check_zone_file "$MARA_ZONE_FILE" || return 1 | |
12 | _check_duende_pid_path "$MARA_DUENDE_PID_PATH" || return 1 | |
13 | ||
14 | _saveaccountconf_mutable MARA_ZONE_FILE "$MARA_ZONE_FILE" | |
15 | _saveaccountconf_mutable MARA_DUENDE_PID_PATH "$MARA_DUENDE_PID_PATH" | |
16 | ||
17 | printf "%s. TXT '%s' ~\n" "$fulldomain" "$txtvalue" >>"$MARA_ZONE_FILE" | |
18 | _reload_maradns "$MARA_DUENDE_PID_PATH" || return 1 | |
19 | } | |
20 | ||
21 | #Usage: dns_maradns_rm _acme-challenge.www.domain.com "token" | |
22 | dns_maradns_rm() { | |
23 | fulldomain="$1" | |
24 | txtvalue="$2" | |
25 | ||
26 | MARA_ZONE_FILE="${MARA_ZONE_FILE:-$(_readaccountconf_mutable MARA_ZONE_FILE)}" | |
27 | MARA_DUENDE_PID_PATH="${MARA_DUENDE_PID_PATH:-$(_readaccountconf_mutable MARA_DUENDE_PID_PATH)}" | |
28 | ||
29 | _check_zone_file "$MARA_ZONE_FILE" || return 1 | |
30 | _check_duende_pid_path "$MARA_DUENDE_PID_PATH" || return 1 | |
31 | ||
32 | _saveaccountconf_mutable MARA_ZONE_FILE "$MARA_ZONE_FILE" | |
33 | _saveaccountconf_mutable MARA_DUENDE_PID_PATH "$MARA_DUENDE_PID_PATH" | |
34 | ||
35 | _sed_i "/^$fulldomain.\+TXT '$txtvalue' ~/d" "$MARA_ZONE_FILE" | |
36 | _reload_maradns "$MARA_DUENDE_PID_PATH" || return 1 | |
37 | } | |
38 | ||
39 | _check_zone_file() { | |
40 | zonefile="$1" | |
41 | if [ -z "$zonefile" ]; then | |
42 | _err "MARA_ZONE_FILE not passed!" | |
43 | return 1 | |
44 | elif [ ! -w "$zonefile" ]; then | |
45 | _err "MARA_ZONE_FILE not writable: $zonefile" | |
46 | return 1 | |
47 | fi | |
48 | } | |
49 | ||
50 | _check_duende_pid_path() { | |
51 | pidpath="$1" | |
52 | if [ -z "$pidpath" ]; then | |
53 | _err "MARA_DUENDE_PID_PATH not passed!" | |
54 | return 1 | |
55 | fi | |
56 | if [ ! -r "$pidpath" ]; then | |
57 | _err "MARA_DUENDE_PID_PATH not readable: $pidpath" | |
58 | return 1 | |
59 | fi | |
60 | } | |
61 | ||
62 | _reload_maradns() { | |
63 | pidpath="$1" | |
64 | kill -s HUP -- "$(cat "$pidpath")" | |
65 | if [ $? -ne 0 ]; then | |
66 | _err "Unable to reload MaraDNS, kill returned $?" | |
67 | return 1 | |
68 | fi | |
69 | } |