diff --git a/contrib/bin/fusiondirectory-setup b/contrib/bin/fusiondirectory-setup index 4a50345cdf25f3bbd5a115b709ac218e4488add7..b04770f6e9b0b88a9437155a694d5bc2dd5a85fb 100644 --- a/contrib/bin/fusiondirectory-setup +++ b/contrib/bin/fusiondirectory-setup @@ -1363,7 +1363,27 @@ sub migrate_dns { $result->code && die "Migration of DNS zone subentry failed, LDAP error: ".$result->error."\n"; } + # Fix reverse zone PTR records DNs + $mesg = $ldap->search( + base => $zoneDn, + filter => "(&(objectClass=dNSZone)(!(relativeDomainName=@))(|(zoneName=*.arpa)(zoneName=*.arpa.)))" + ); + $mesg->code && die $mesg->error; + + @entries = $mesg->entries; + + foreach my $entry (@entries) { + $entry->dn() =~ m/^([^,]+),(relativeDomainName=[^,]+),([^,]+,$zoneDn)$/ or next; + $result = $ldap->moddn ( + $entry->dn(), + newrdn => $1, + deleteoldrdn => '1', + newsuperior => $2 + ); + $result->code && die "Migration of DNS reverse zone subentry ".$entry->dn()." failed, LDAP error: ".$result->error."\n"; + } + # Add DNS tab on server $mesg = $ldap->search( base => $systemdn, scope => 'base',