#! /usr/bin/awk -f
# Generate DNS PTR from the output of sipcalc(1)
# Copyright (C) 2010 Matous Jan Fialka,
# Released under the terms of The MIT License
#
# Usage: sipcalc [/] | sipcalc-ptr.awk [prefix] [remark] [suffix]
# This script is specific for the company I work!
BEGIN {
if(!(prefix = ARGV[1])) {
prefix = "unassigned"
}
suffix = ARGV[3]
if(!(id = ARGV[2])) {
if(suffix) {
id = suffix
} else {
id = "unknown"
}
}
if(!suffix) {
suffix = "casablanca.cz."
}
delete ARGV
}
/^Network address/ {
network = $4
}
/^Network mask \(bits\)/ {
bits = $5
}
/^Addresses in network/ {
count = $5
count--
exit
}
END {
split(network, o, /\./)
printf ";;\t%s/%d\t%s\n", network, bits, id
for(i = 0; i<=count; i++) {
n = o[4] + i;
if(i==0) {
p = prefix "-net"
} else {
if(i==count) {
p = prefix "-bcast"
} else {
p = prefix
}
}
printf "%d\tIN\tPTR\t\t%s-%03d-%03d-%03d-%03d.%s\n",
n, p, o[1], o[2], o[3], n, suffix
}
}