|
@ -38,8 +38,8 @@ dns_loopia_add() { |
|
|
|
|
|
|
|
|
_info "Adding record" |
|
|
_info "Adding record" |
|
|
|
|
|
|
|
|
_loopia_add_record "$_domain" "$_sub_domain" |
|
|
|
|
|
_loopia_update_record "$_domain" "$_sub_domain" "$txtvalue" |
|
|
|
|
|
|
|
|
_loopia_add_sub_domain "$_domain" "$_sub_domain" |
|
|
|
|
|
_loopia_add_record "$_domain" "$_sub_domain" "$txtvalue" |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -96,6 +96,37 @@ dns_loopia_rm() { |
|
|
|
|
|
|
|
|
#################### Private functions below ################################## |
|
|
#################### Private functions below ################################## |
|
|
|
|
|
|
|
|
|
|
|
_loopia_get_records() { |
|
|
|
|
|
domain=$1 |
|
|
|
|
|
sub_domain=$2 |
|
|
|
|
|
|
|
|
|
|
|
xml_content=$(printf '<?xml version="1.0" encoding="UTF-8"?> |
|
|
|
|
|
<methodCall> |
|
|
|
|
|
<methodName>getZoneRecords</methodName> |
|
|
|
|
|
<params> |
|
|
|
|
|
<param> |
|
|
|
|
|
<value><string>%s</string></value> |
|
|
|
|
|
</param> |
|
|
|
|
|
<param> |
|
|
|
|
|
<value><string>%s</string></value> |
|
|
|
|
|
</param> |
|
|
|
|
|
<param> |
|
|
|
|
|
<value><string>%s</string></value> |
|
|
|
|
|
</param> |
|
|
|
|
|
<param> |
|
|
|
|
|
<value><string>%s</string></value> |
|
|
|
|
|
</param> |
|
|
|
|
|
</params> |
|
|
|
|
|
</methodCall>' $LOOPIA_User $LOOPIA_Password "$domain" "$sub_domain") |
|
|
|
|
|
|
|
|
|
|
|
response="$(_post "$xml_content" "$LOOPIA_Api" "" "POST")" |
|
|
|
|
|
if ! _contains "$response" "<array>"; then |
|
|
|
|
|
_err "Error" |
|
|
|
|
|
return 1 |
|
|
|
|
|
fi |
|
|
|
|
|
return 0 |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
_get_root() { |
|
|
_get_root() { |
|
|
domain=$1 |
|
|
domain=$1 |
|
|
_debug "get root" |
|
|
_debug "get root" |
|
@ -137,14 +168,14 @@ _get_root() { |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
_loopia_update_record() { |
|
|
|
|
|
|
|
|
_loopia_add_record() { |
|
|
domain=$1 |
|
|
domain=$1 |
|
|
sub_domain=$2 |
|
|
sub_domain=$2 |
|
|
txtval=$3 |
|
|
txtval=$3 |
|
|
|
|
|
|
|
|
xml_content=$(printf '<?xml version="1.0" encoding="UTF-8"?> |
|
|
xml_content=$(printf '<?xml version="1.0" encoding="UTF-8"?> |
|
|
<methodCall> |
|
|
<methodCall> |
|
|
<methodName>updateZoneRecord</methodName> |
|
|
|
|
|
|
|
|
<methodName>addZoneRecord</methodName> |
|
|
<params> |
|
|
<params> |
|
|
<param> |
|
|
<param> |
|
|
<value><string>%s</string></value> |
|
|
<value><string>%s</string></value> |
|
@ -176,10 +207,6 @@ _loopia_update_record() { |
|
|
<name>rdata</name> |
|
|
<name>rdata</name> |
|
|
<value><string>%s</string></value> |
|
|
<value><string>%s</string></value> |
|
|
</member> |
|
|
</member> |
|
|
<member> |
|
|
|
|
|
<name>record_id</name> |
|
|
|
|
|
<value><int>0</int></value> |
|
|
|
|
|
</member> |
|
|
|
|
|
</struct> |
|
|
</struct> |
|
|
</param> |
|
|
</param> |
|
|
</params> |
|
|
</params> |
|
@ -194,10 +221,42 @@ _loopia_update_record() { |
|
|
return 0 |
|
|
return 0 |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
_loopia_add_record() { |
|
|
|
|
|
|
|
|
_sub_domain_exists() { |
|
|
|
|
|
domain=$1 |
|
|
|
|
|
sub_domain=$2 |
|
|
|
|
|
|
|
|
|
|
|
xml_content=$(printf '<?xml version="1.0" encoding="UTF-8"?> |
|
|
|
|
|
<methodCall> |
|
|
|
|
|
<methodName>getSubdomains</methodName> |
|
|
|
|
|
<params> |
|
|
|
|
|
<param> |
|
|
|
|
|
<value><string>%s</string></value> |
|
|
|
|
|
</param> |
|
|
|
|
|
<param> |
|
|
|
|
|
<value><string>%s</string></value> |
|
|
|
|
|
</param> |
|
|
|
|
|
<param> |
|
|
|
|
|
<value><string>%s</string></value> |
|
|
|
|
|
</param> |
|
|
|
|
|
</params> |
|
|
|
|
|
</methodCall>' $LOOPIA_User $LOOPIA_Password "$domain") |
|
|
|
|
|
|
|
|
|
|
|
response="$(_post "$xml_content" "$LOOPIA_Api" "" "POST")" |
|
|
|
|
|
|
|
|
|
|
|
if _contains "$response" "$sub_domain"; then |
|
|
|
|
|
return 0 |
|
|
|
|
|
fi |
|
|
|
|
|
return 1 |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
_loopia_add_sub_domain() { |
|
|
domain=$1 |
|
|
domain=$1 |
|
|
sub_domain=$2 |
|
|
sub_domain=$2 |
|
|
|
|
|
|
|
|
|
|
|
if _sub_domain_exists "$domain" "$sub_domain"; then |
|
|
|
|
|
return 0 |
|
|
|
|
|
fi |
|
|
|
|
|
|
|
|
xml_content=$(printf '<?xml version="1.0" encoding="UTF-8"?> |
|
|
xml_content=$(printf '<?xml version="1.0" encoding="UTF-8"?> |
|
|
<methodCall> |
|
|
<methodCall> |
|
|
<methodName>addSubdomain</methodName> |
|
|
<methodName>addSubdomain</methodName> |
|
|