summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Cady <d@jerkface.net>2020-09-15 16:37:12 -0400
committerAndrew Cady <d@jerkface.net>2020-09-15 16:40:59 -0400
commit88efbeb87758a514f7b31bacbc6c2d1dd26bb50f (patch)
tree44bf6f989e10c4769580de346e0f6d2da675c8e7
parent3edccf5f39cbdcd81ec47d282572542bfe89b86d (diff)
fix server
-rwxr-xr-xbin/cryptonomic-dyndns-command22
1 files 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()
9 9
10powerdns_sqlite_add_replace_record() 10powerdns_sqlite_add_replace_record()
11{ 11{
12 local fqdn="$1.$3" 12 local fqdn="$1"
13 local record_type="$(sql_string "$2")"
14 local sql_ip_address="$(sql_string "$3")"
15
13 fqdn=${fqdn: -64 : 64} 16 fqdn=${fqdn: -64 : 64}
14 local sql_new_domain="$(sql_string "$fqdn")" 17 local sql_new_domain="$(sql_string "$fqdn")"
15 local sql_ip_address="$(sql_string "$2")" 18 local sql_domain="$(sql_string "${fqdn#*.}")"
16 local sql_domain="$(sql_string "$3")"
17 local record_type="$(sql_string "$4")"
18 19
19 DBDIR=/etc/powerdns 20 DBDIR=/etc/powerdns
20 DBNAME=powerdns.sqlite3 21 DBNAME=powerdns.sqlite3
@@ -51,24 +52,24 @@ END
51 r=$? 52 r=$?
52 [ $r = 0 ] || return $r 53 [ $r = 0 ] || return $r
53 54
54 printf '%s %s\n' "$fqdn" "$2" 55 printf '%s %s\n' "$fqdn" "$3"
55} 56}
56 57
57add() 58add()
58{ 59{
59 local record_type 60 local record_type ip="$2"
60 case "$2" in 61 case "$ip" in
61 *.*.*.*) record_type=A ;; 62 *.*.*.*) record_type=A ;;
62 *:*) record_type=AAAA ;; 63 *:*) record_type=AAAA ;;
63 *) exit 1 ;; 64 *) exit 1 ;;
64 esac 65 esac
65 66
66 powerdns_sqlite_add_replace_record "$1" "$2" "$domain" "$record_type" 67 powerdns_sqlite_add_replace_record "$domain" "$record_type" "$ip"
67} 68}
68 69
69main() 70main()
70{ 71{
71 add "$subdomain" "$ip_address" 72 add "$domain" "$ip_address"
72 73
73 set -- $SSH_ORIGINAL_COMMAND 74 set -- $SSH_ORIGINAL_COMMAND
74 while [ $# -ge 1 ]; do 75 while [ $# -ge 1 ]; do
@@ -79,7 +80,7 @@ main()
79 *.*) continue;; 80 *.*) continue;;
80 esac 81 esac
81 82
82 add "$d.$subdomain" "$ip_address" 83 add "$d.$domain" "$ip_address"
83 done 84 done
84} 85}
85 86
@@ -88,7 +89,6 @@ PEM_DEST=$HOME/public_rsync
88eval "$(samizdat-ssh-uid --copy-pem "$PEM_DEST")" 89eval "$(samizdat-ssh-uid --copy-pem "$PEM_DEST")"
89 90
90domain=${SSH_CLIENT_DOMAIN} 91domain=${SSH_CLIENT_DOMAIN}
91subdomain=${SSH_CLIENT_FINGERPRINT}
92ip_address=${SSH_CLIENT%% *} 92ip_address=${SSH_CLIENT%% *}
93 93
94main "$@" 94main "$@"