smeserver-tinydns/root/etc/e-smith/db/hosts/migrate/20tinydns

31 lines
961 B
Plaintext

{
use esmith::ConfigDB;
my $confdb = esmith::ConfigDB->open_ro;
return unless $confdb;
my $systemname = $confdb->get_value('SystemName');
my $domainname = $confdb->get_value('DomainName');
return unless $systemname && $domainname; # nothing to do
my $fqdn = "$systemname.$domainname";
# Make sure that the ReverseDNS property of the proper name of the server
# is set to "yes", unless the $LocalIP has a configured PTR record already.
my $self_host = undef;
foreach my $host ( $DB->get_all() )
{
next unless $host->prop('HostType') eq 'Self';
if ( $host->{key} eq $fqdn )
{
$self_host = $host;
}
if ( $host->prop('ReverseDNS')
&& ( $host->prop('ReverseDNS') eq 'yes' ) )
{
# It already has one configured. Nothing to do.
return;
}
}
$self_host->set_prop( 'ReverseDNS', 'yes' ) if $self_host;
}