#!/bin/bash die() { printf 'Error: %s\n' "$*" >&2; exit 1; } warn() { printf 'Warning: %s\n' "$*" >&2; } sql_string() { printf '%s' "'${1//\'/\'\'}'" } powerdns_sqlite_add_replace_record() { local sql_record_type="$(sql_string "$2")" local sql_ip_address="$(sql_string "$3")" zone=${1#*.} new_name=${label:+$label.}${1: -64 : 64} local sql_new_name="$(sql_string "$new_name")" local sql_zone="$(sql_string "$zone")" if false then pdnsutil create-zone "$zone" pdnsutil add-record "$zone" "$new_name" "$2" "$3" return fi DBDIR=/etc/powerdns DBNAME=powerdns.sqlite3 DB=$DBDIR/$DBNAME test -r $DB && test -w $DB || die "Wrong permissions on $DB" test -r $DBDIR && test -w $DBDIR || die "Wrong permissions on $DBDIR" sqlite3 $DB <