Browse Source

escape brackets in regexp and format using shfmt

pull/5110/head
zak905 8 months ago
parent
commit
52d1d421a3
No known key found for this signature in database GPG Key ID: A5683652694BD72B
  1. 16
      dnsapi/dns_ionos.sh

16
dnsapi/dns_ionos.sh

@ -31,7 +31,7 @@ dns_ionos_add() {
return 1 return 1
fi fi
if [ "$_context" = "core" ];then
if [ "$_context" = "core" ]; then
_body="[{\"name\":\"$_sub_domain.$_domain\",\"type\":\"TXT\",\"content\":\"$txtvalue\",\"ttl\":$IONOS_TXT_TTL,\"prio\":$IONOS_TXT_PRIO,\"disabled\":false}]" _body="[{\"name\":\"$_sub_domain.$_domain\",\"type\":\"TXT\",\"content\":\"$txtvalue\",\"ttl\":$IONOS_TXT_TTL,\"prio\":$IONOS_TXT_PRIO,\"disabled\":false}]"
if _ionos_rest POST "$IONOS_ROUTE_ZONES/$_zone_id/records" "$_body" && [ "$_code" = "201" ]; then if _ionos_rest POST "$IONOS_ROUTE_ZONES/$_zone_id/records" "$_body" && [ "$_code" = "201" ]; then
@ -59,7 +59,7 @@ dns_ionos_rm() {
return 1 return 1
fi fi
if [ "$_context" = "core" ];then
if [ "$_context" = "core" ]; then
if ! _ionos_get_record "$fulldomain" "$_zone_id" "$txtvalue"; then if ! _ionos_get_record "$fulldomain" "$_zone_id" "$txtvalue"; then
_err "Could not find _acme-challenge TXT record." _err "Could not find _acme-challenge TXT record."
return 1 return 1
@ -205,21 +205,21 @@ _ionos_get_record() {
_ionos_cloud_get_record() { _ionos_cloud_get_record() {
zone_id=$1 zone_id=$1
txtrecord=$2 txtrecord=$2
# this is to transform the domain to lower case
fulldomain=$(printf "%s" "$3" | tr "[:upper:]" "[:lower:]")
# this is to transform record name to lower case
# this is to transform the domain to lower case
fulldomain=$(printf "%s" "$3" | tr "[:upper:]" "[:lower:]")
# this is to transform record name to lower case
# IONOS Cloud API transforms all record names to lower case # IONOS Cloud API transforms all record names to lower case
_record_name=$(printf "%s" "$fulldomain" | cut -d . -f 1 | tr "[:upper:]" "[:lower:]") _record_name=$(printf "%s" "$fulldomain" | cut -d . -f 1 | tr "[:upper:]" "[:lower:]")
_info "grepping with the following args: zone_id=$zone_id txtrecord=$txtrecord fulldomain=$fulldomain _record_name=$_record_name"
_info "grepping with the following args: zone_id=$zone_id txtrecord=$txtrecord fulldomain=$fulldomain _record_name=$_record_name"
if _ionos_cloud_rest GET "$IONOS_CLOUD_ROUTE_ZONES/$zone_id/records"; then if _ionos_cloud_rest GET "$IONOS_CLOUD_ROUTE_ZONES/$zone_id/records"; then
_response="$(echo "$_response" | tr -d "\n")" _response="$(echo "$_response" | tr -d "\n")"
pattern="{\"id\":\"[a-fA-F0-9\-]*\",\"type\":\"record\",\"href\":\"/zones/$zone_id/records/[a-fA-F0-9\-]*\",\"metadata\":{\"createdDate\":\"[A-Z0-9\:\.\-]*\",\"lastModifiedDate\":\"[A-Z0-9\:\.\-]*\",\"fqdn\":\"$fulldomain\",\"state\":\"AVAILABLE\",\"zoneId\":\"$zone_id\"},\"properties\":{\"content\":\"$txtrecord\",\"enabled\":true,\"name\":\"$_record_name\",\"priority\":[0-9]*,\"ttl\":[0-9]*,\"type\":\"TXT\"}}"
pattern="\{\"id\":\"[a-fA-F0-9\-]*\",\"type\":\"record\",\"href\":\"/zones/$zone_id/records/[a-fA-F0-9\-]*\",\"metadata\":\{\"createdDate\":\"[A-Z0-9\:\.\-]*\",\"lastModifiedDate\":\"[A-Z0-9\:\.\-]*\",\"fqdn\":\"$fulldomain\",\"state\":\"AVAILABLE\",\"zoneId\":\"$zone_id\"\},\"properties\":\{\"content\":\"$txtrecord\",\"enabled\":true,\"name\":\"$_record_name\",\"priority\":[0-9]*,\"ttl\":[0-9]*,\"type\":\"TXT\"\}\}"
_record="$(echo "$_response" | _egrep_o "$pattern")" _record="$(echo "$_response" | _egrep_o "$pattern")"
_info "the found record after grep: $_record"
_info "the found record after grep: $_record"
if [ "$_record" ]; then if [ "$_record" ]; then
_record_id=$(printf "%s\n" "$_record" | _egrep_o "\"id\":\"[a-fA-F0-9\-]*\"" | _head_n 1 | cut -d : -f 2 | tr -d '\"') _record_id=$(printf "%s\n" "$_record" | _egrep_o "\"id\":\"[a-fA-F0-9\-]*\"" | _head_n 1 | cut -d : -f 2 | tr -d '\"')
_info "the record id after the search is: $_record_id" _info "the record id after the search is: $_record_id"

Loading…
Cancel
Save