]> git.proxmox.com Git - mirror_acme.sh.git/blame - dnsapi/dns_maradns.sh
Merge pull request #4658 from Justman10000/master
[mirror_acme.sh.git] / dnsapi / dns_maradns.sh
CommitLineData
81523094
AG
1#!/usr/bin/env sh
2
3#Usage: dns_maradns_add _acme-challenge.www.domain.com "token"
4dns_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"
22dns_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}