2 # Delete multiple hosts
4 require './dhcp-dns-lib.pl';
6 &error_setup($text{'delete_err'});
7 @d = split(/\0/, $in{'d'});
8 @d || &error($text{'delete_enone'});
11 @hosts = &list_dhcp_hosts();
13 ($host) = grep { $_->{'values'}->[0] eq $d } @hosts;
15 $fixed = &dhcpd::find("fixed-address", $host->{'members'});
16 &dhcpd::save_directive($host->{'parent'}, [ $host ], [ ], $indent);
21 ($fn, $recs) = &get_dns_zone();
22 ($old) = grep { lc($_->{'name'}) eq lc($d).'.' } @$recs;
24 # Search by hostname only
25 ($old) = grep { lc($_->{'name'}) eq
26 lc($d).'.'.lc($config{'domain'}).'.' } @$recs;
29 &bind8::delete_record($fn, $old);
30 &bind8::bump_soa_record($fn, $recs);
33 ($rfn, $rrecs, $arpa, $rzone) = &get_reverse_dns_zone(
34 $fixed->{'values'}->[0]);
36 ($old) = grep { $_->{'name'} eq $arpa."." } @$rrecs;
38 &bind8::delete_record($rfn, $old);
39 &bind8::bump_soa_record($rfn, $rrecs);