aboutsummaryrefslogtreecommitdiffstats
path: root/perllib/FixMyStreet/Geocode/Zurich.pm
diff options
context:
space:
mode:
Diffstat (limited to 'perllib/FixMyStreet/Geocode/Zurich.pm')
0 files changed, 0 insertions, 0 deletions
74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108
#!/usr/bin/perl -I /root/tgmanage
use strict;
use Net::IP;
use POSIX qw(strftime);

BEGIN {
        require "include/config.pm";
        eval {
                require "include/config.local.pm";
        };
}

my $base = "/etc";
$base = $ARGV[0] if $#ARGV > -1;
$base .= "/" if not $base =~ m/\/$/ and not $base eq "";

my $serial = strftime("%Y%m%d", localtime(time())) . "01";

my $zonefile;
$zonefile = $base . "bind/" . $nms::config::tgname . ".gathering.org.zone";

if ( not -f $zonefile )
{
	print $zonefile . "\n";
	open MAINZONE, ">" . $zonefile or die $! . " " . $zonefile;

	print MAINZONE <<"EOF";
\$TTL 3600
@	IN	SOA	$nms::config::pri_hostname.$nms::config::tgname.gathering.org.	abuse.gathering.org. (
			$serial; serial
			3600 ; refresh 
			1800 ; retry
			608400 ; expire
			3600 ) ; minimum and default TTL

		IN	NS	$nms::config::pri_hostname.$nms::config::tgname.gathering.org.
		IN	NS	$nms::config::sec_hostname.$nms::config::tgname.gathering.org.

$nms::config::pri_hostname		IN	A	$nms::config::pri_v4
$nms::config::pri_hostname		IN	AAAA	$nms::config::pri_v6
$nms::config::sec_hostname		IN	A	$nms::config::sec_v4
$nms::config::sec_hostname		IN	AAAA	$nms::config::sec_v6
ns1		IN	CNAME	$nms::config::pri_hostname.$nms::config::tgname.gathering.org.
ns2		IN	CNAME	$nms::config::sec_hostname.$nms::config::tgname.gathering.org.

; Generated by make-all-config.sh on the bootstrapping/nms server.
; Will not be overwritten unless it is missing ;)

EOF
	close MAINZONE;
}
else { print "Skipped TG-zone, file exists.\n"; }

$zonefile = $base . "bind/infra." . $nms::config::tgname . ".gathering.org.zone";
if ( not -f  $zonefile )
{
	print $zonefile . "\n";
	open MAINZONE, ">" . $zonefile or die $! . " " . $zonefile;

	print MAINZONE <<"EOF";
\$TTL 3600
@	IN	SOA	$nms::config::pri_hostname.$nms::config::tgname.gathering.org.	abuse.gathering.org. (
			$serial; serial
			3600 ; refresh 
			1800 ; retry
			608400 ; expire
			3600 ) ; minimum and default TTL

		IN	NS	$nms::config::pri_hostname.$nms::config::tgname.gathering.org.
		IN	NS	$nms::config::sec_hostname.$nms::config::tgname.gathering.org.

; Generated by make-all-config.sh on the bootstrapping/nms server.
; Will not be overwritten unless it is missing ;)
EOF
	close MAINZONE;
}
else { print "Skipped infra-zone, file exists.\n"; }

$zonefile = $base . "bind/" . $nms::config::ipv6zone . ".zone";
if ( not -f  $zonefile )
{
	print $zonefile . "\n";
	open IPV6ZONE, ">" . $zonefile or die $! . " " . $zonefile;

	print IPV6ZONE <<"EOF";
; autogenerated, and updated from dhcpd -- DO NOT TOUCH!
\$TTL 3600
@       IN      SOA     $nms::config::pri_hostname.$nms::config::tgname.gathering.org. abuse.gathering.org. (
			$serial; serial
                        3600 ; refresh
                        1800 ; retry
                        608400 ; expire
                        3600 ) ; minimum and default TTL

                IN      NS      $nms::config::pri_hostname.$nms::config::tgname.gathering.org.
                IN      NS      $nms::config::sec_hostname.$nms::config::tgname.gathering.org.

; WARNING! Do not edit this file directly!
; on the bootstrapping/nms server!

EOF
	my $ip_pri = Net::IP->new( $nms::config::pri_v6 ) or die ( "Error, new Net::IP for " . $nms::config::pri_v6 );
	my $ip_sec = Net::IP->new( $nms::config::sec_v6 ) or die ( "Error, new Net::IP for " . $nms::config::sec_v6 );
	print IPV6ZONE $ip_pri->reverse_ip() . " IN PTR $nms::config::pri_hostname.$nms::config::tgname.gathering.org.\n";
	print IPV6ZONE $ip_sec->reverse_ip() . " IN PTR $nms::config::sec_hostname.$nms::config::tgname.gathering.org.\n";
	close IPV6ZONE;
}
else { print "Skipped v6-reverse-zone, file exists.\n"; }