From 88efbeb87758a514f7b31bacbc6c2d1dd26bb50f Mon Sep 17 00:00:00 2001 From: Andrew Cady Date: Tue, 15 Sep 2020 16:37:12 -0400 Subject: fix server --- bin/cryptonomic-dyndns-command | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/bin/cryptonomic-dyndns-command b/bin/cryptonomic-dyndns-command index 8e1cbce..8e97de7 100755 --- a/bin/cryptonomic-dyndns-command +++ b/bin/cryptonomic-dyndns-command @@ -9,12 +9,13 @@ sql_string() powerdns_sqlite_add_replace_record() { - local fqdn="$1.$3" + local fqdn="$1" + local record_type="$(sql_string "$2")" + local sql_ip_address="$(sql_string "$3")" + fqdn=${fqdn: -64 : 64} local sql_new_domain="$(sql_string "$fqdn")" - local sql_ip_address="$(sql_string "$2")" - local sql_domain="$(sql_string "$3")" - local record_type="$(sql_string "$4")" + local sql_domain="$(sql_string "${fqdn#*.}")" DBDIR=/etc/powerdns DBNAME=powerdns.sqlite3 @@ -51,24 +52,24 @@ END r=$? [ $r = 0 ] || return $r - printf '%s %s\n' "$fqdn" "$2" + printf '%s %s\n' "$fqdn" "$3" } add() { - local record_type - case "$2" in + local record_type ip="$2" + case "$ip" in *.*.*.*) record_type=A ;; *:*) record_type=AAAA ;; *) exit 1 ;; esac - powerdns_sqlite_add_replace_record "$1" "$2" "$domain" "$record_type" + powerdns_sqlite_add_replace_record "$domain" "$record_type" "$ip" } main() { - add "$subdomain" "$ip_address" + add "$domain" "$ip_address" set -- $SSH_ORIGINAL_COMMAND while [ $# -ge 1 ]; do @@ -79,7 +80,7 @@ main() *.*) continue;; esac - add "$d.$subdomain" "$ip_address" + add "$d.$domain" "$ip_address" done } @@ -88,7 +89,6 @@ PEM_DEST=$HOME/public_rsync eval "$(samizdat-ssh-uid --copy-pem "$PEM_DEST")" domain=${SSH_CLIENT_DOMAIN} -subdomain=${SSH_CLIENT_FINGERPRINT} ip_address=${SSH_CLIENT%% *} main "$@" -- cgit v1.2.3