#!/bin/sh

### static variables
ddns_root="/var/lib/bind"
ddns_zone_file=/etc/ddns.conf
ddns_zone_dir=ddns
ddns_key="ddns-key"
ddns_ttl=86600

ddns_hostname="$(hostname)"
ddns_name="${ddns_hostname%%.*}"
ddns_zone="${ddns_hostname#*.}"
ddns_ns="${ddns_hostname%%.*}"
ddns_ns_record="ns.$ddns_zone."
ddns_user_record="root.$ddns_zone."

ddns_std_namelist="ns ldap kdc" #hostname should be first


. alterator-net-functions

foreach_ip()
{
    local prog="$1";shift

    list_static_iface|
	while read iface; do
	    local ip="$(cat "/etc/net/ifaces/$iface/ipv4address")"
	    [ -n "$ip" ] || continue
	    "$prog" "${ip%%/*}"
	done
}

foreach_reverse()
{
    local prog="$1";shift

    list_static_iface|
	while read iface; do
	    revdns "$(cat "/etc/net/ifaces/$iface/ipv4address")"
	done|
	sort -u|
	while read net; do
	    "$prog" "$net" "$@"
	done
}

list_ip()
{
    list_static_iface|
	while read iface; do
	    local ip="$(cat "/etc/net/ifaces/$iface/ipv4address")"
	    [ -n "$ip" ] || continue
	    echo "${ip%%/*}"
	done
}


has_ip()
{
    local value="$(list_ip)"
    [ -n "$value" ]
}
