diff options
Diffstat (limited to 'tools/make-linknet-hosts.pl')
| -rwxr-xr-x | tools/make-linknet-hosts.pl | 36 | 
1 files changed, 25 insertions, 11 deletions
diff --git a/tools/make-linknet-hosts.pl b/tools/make-linknet-hosts.pl index 1db630a..c00e81b 100755 --- a/tools/make-linknet-hosts.pl +++ b/tools/make-linknet-hosts.pl @@ -24,21 +24,35 @@ while (<STDIN>) {  	my ($ipv4_raw, $ipv6_raw, $from, $to) = split; -	# v4  -	my $ipv4_first = NetAddr::IP->new($ipv4_raw); -	my $ipv4_second = $ipv4_first + 1; -	 -	# v6 -	my $ipv6_first = NetAddr::IP->new($ipv6_raw); -	my $ipv6_second = $ipv6_first + 1; +	my ($ipv4_first, $ipv4_second, $ipv6_first, $ipv6_second); +	if($ipv6_raw =~ m/nope/){ +		$ipv6_first = "nope"; +		$ipv6_second = "nope"; +	} else { +		my $ipv6 = NetAddr::IP->new($ipv6_raw); +		$ipv6_first = $ipv6->addr(); +		$ipv6++; +		$ipv6_second = $ipv6->addr(); +	} + +	if($ipv4_raw =~ m/nope/){ +		$ipv4_first = ""; +                $ipv4_second = ""; +	} else { +		my $ipv4 = NetAddr::IP->new($ipv4_raw); +		$ipv4_first = $ipv4->addr(); +		$ipv4++; +		$ipv4_second = $ipv4->addr; +	} +  	# generate-dnsrr.pl format:  	# hostname ipv4 ipv6  	if($first){ -		printf("%s %s %s\n", $from, $ipv4_first->addr, $ipv6_first->addr); -		printf("%s %s %s\n", $to, $ipv4_second->addr, $ipv6_second->addr); +		printf("%s %s %s\n", $from, $ipv4_first, $ipv6_first); +		printf("%s %s %s\n", $to, $ipv4_second, $ipv6_second);  	} else { -		printf("%s-%s %s %s\n", $from, $to, $ipv4_first->addr, $ipv6_first->addr); -		printf("%s-%s %s %s\n", $to, $from, $ipv4_second->addr, $ipv6_second->addr); +		printf("%s-%s %s %s\n", $from, $to, $ipv4_first, $ipv6_first); +		printf("%s-%s %s %s\n", $to, $from, $ipv4_second, $ipv6_second);  	}  }  | 
