commit
						65058db89f
					
				| 
						 | 
				
			
			@ -0,0 +1,69 @@
 | 
			
		|||
#!/usr/bin/env sh
 | 
			
		||||
 | 
			
		||||
#Usage: dns_maradns_add _acme-challenge.www.domain.com "token"
 | 
			
		||||
dns_maradns_add() {
 | 
			
		||||
  fulldomain="$1"
 | 
			
		||||
  txtvalue="$2"
 | 
			
		||||
 | 
			
		||||
  MARA_ZONE_FILE="${MARA_ZONE_FILE:-$(_readaccountconf_mutable MARA_ZONE_FILE)}"
 | 
			
		||||
  MARA_DUENDE_PID_PATH="${MARA_DUENDE_PID_PATH:-$(_readaccountconf_mutable MARA_DUENDE_PID_PATH)}"
 | 
			
		||||
 | 
			
		||||
  _check_zone_file "$MARA_ZONE_FILE" || return 1
 | 
			
		||||
  _check_duende_pid_path "$MARA_DUENDE_PID_PATH" || return 1
 | 
			
		||||
 | 
			
		||||
  _saveaccountconf_mutable MARA_ZONE_FILE "$MARA_ZONE_FILE"
 | 
			
		||||
  _saveaccountconf_mutable MARA_DUENDE_PID_PATH "$MARA_DUENDE_PID_PATH"
 | 
			
		||||
 | 
			
		||||
  printf "%s. TXT '%s' ~\n" "$fulldomain" "$txtvalue" >>"$MARA_ZONE_FILE"
 | 
			
		||||
  _reload_maradns "$MARA_DUENDE_PID_PATH" || return 1
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#Usage: dns_maradns_rm _acme-challenge.www.domain.com "token"
 | 
			
		||||
dns_maradns_rm() {
 | 
			
		||||
  fulldomain="$1"
 | 
			
		||||
  txtvalue="$2"
 | 
			
		||||
 | 
			
		||||
  MARA_ZONE_FILE="${MARA_ZONE_FILE:-$(_readaccountconf_mutable MARA_ZONE_FILE)}"
 | 
			
		||||
  MARA_DUENDE_PID_PATH="${MARA_DUENDE_PID_PATH:-$(_readaccountconf_mutable MARA_DUENDE_PID_PATH)}"
 | 
			
		||||
 | 
			
		||||
  _check_zone_file "$MARA_ZONE_FILE" || return 1
 | 
			
		||||
  _check_duende_pid_path "$MARA_DUENDE_PID_PATH" || return 1
 | 
			
		||||
 | 
			
		||||
  _saveaccountconf_mutable MARA_ZONE_FILE "$MARA_ZONE_FILE"
 | 
			
		||||
  _saveaccountconf_mutable MARA_DUENDE_PID_PATH "$MARA_DUENDE_PID_PATH"
 | 
			
		||||
 | 
			
		||||
  _sed_i "/^$fulldomain.\+TXT '$txtvalue' ~/d" "$MARA_ZONE_FILE"
 | 
			
		||||
  _reload_maradns "$MARA_DUENDE_PID_PATH" || return 1
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
_check_zone_file() {
 | 
			
		||||
  zonefile="$1"
 | 
			
		||||
  if [ -z "$zonefile" ]; then
 | 
			
		||||
    _err "MARA_ZONE_FILE not passed!"
 | 
			
		||||
    return 1
 | 
			
		||||
  elif [ ! -w "$zonefile" ]; then
 | 
			
		||||
    _err "MARA_ZONE_FILE not writable: $zonefile"
 | 
			
		||||
    return 1
 | 
			
		||||
  fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
_check_duende_pid_path() {
 | 
			
		||||
  pidpath="$1"
 | 
			
		||||
  if [ -z "$pidpath" ]; then
 | 
			
		||||
    _err "MARA_DUENDE_PID_PATH not passed!"
 | 
			
		||||
    return 1
 | 
			
		||||
  fi
 | 
			
		||||
  if [ ! -r "$pidpath" ]; then
 | 
			
		||||
    _err "MARA_DUENDE_PID_PATH not readable: $pidpath"
 | 
			
		||||
    return 1
 | 
			
		||||
  fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
_reload_maradns() {
 | 
			
		||||
  pidpath="$1"
 | 
			
		||||
  kill -s HUP -- "$(cat "$pidpath")"
 | 
			
		||||
  if [ $? -ne 0 ]; then
 | 
			
		||||
    _err "Unable to reload MaraDNS, kill returned $?"
 | 
			
		||||
    return 1
 | 
			
		||||
  fi
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
		Reference in New Issue