use utf8;
use warnings; no warnings "redefine";
use strict;
use utf8;

use Fehler qw(warnung);
use Dbase::Help qw(Do DoFn qquote);
use Dbase::IP;

my $resolv;

sub serve_ipnr_name($) {
	return if $ENV{'TESTING3'};
	my($id) = @_;
	my($adr,$bits) = DoFn("select ip6,bits from ipkunde where id=$id");
	$adr = Dbase::IP->new_db($adr,$bits);

	require noris::DNS::Resolver;
	$resolv ||= noris::DNS::Resolver->new;

	my $q = $resolv->query($adr->revstr,"PTR");
	if($q and $q->header->ancount) {
		my $name;
		$name = ($q->answer)[0]->ptrdname if ($q->answer)[0]->type eq 'PTR';
		if( defined $name && $name ne '' ) {
			warnung "Für ${\ $adr->str } wurde '$name' im DNS gefunden.";
			Do("update ipkunde set name=${\qquote $name} where id=$id");
		}
	}
}

1;
