#!/bin/bash

exit_status=0

vaadminpasswordInputignore=1

. exec/system/config/allg.sh
. exec/system/shell/allg/file.sh
. $(dirname $BASH_SOURCE)/functions

find_script domain/dns read.sh
read_domain

if [ "$typ" = "primary" ] || [ "$typ" = "second" ]; then

  acttime=$(date +%s)
  check_passwd

  prog='/^  Name=/     { name=""; split($1,n,"="); sub(/,/,"",n[2]); name=n[2]; next}
        /^    A:/      { if ( name != "" ) printf("A %s %s\n", name,  $2) }
        /^    AAAA:/   { if ( name != "" ) printf("AAAA %s %s\n", name,  $2) }
        /^    CNAME:/  { if ( name != "" ) printf("CNAME %s %s\n", name,  substr($2,1,length($2)-1)) }
        /^    MX:/     { if ( name != "" ) printf("MX %s %s %s\n", name, substr($2,1,length($2) - 1),  num=substr($3,2,length($3) - 2)) }'

  if [ "$vanameInput" != "" ]; then
    queryname="$vanameInput"
  else
    queryname="@"
  fi

  insert=$(samba-tool dns query $(hostname) $domain "$queryname" ALL -k yes | awk "$prog" | \
  while read line
  do
    a=($line)
    typ=${a[0]}
    name=${a[1]}
    addr=${a[2]}

    if [[ "$addr" =~ .*:.* ]]; then
      addr=$(ipv6calc --addr2compaddr $addr)
    fi

    if [ "$typ" = "MX" ]; then
      addr="$addr ${a[3]}"
    fi

    echo "SELECT mne_system.dnsaddress_ok ( '$name', '$addr', '$typ' );"
  done )
  result=$(get_data "$insert");

  if [ "$vanameInput" = "" ]; then
    result=$(get_data "$cleardnsaddress" $acttime)
  fi
fi
