diff --git a/src/storage.cr b/src/storage.cr index 2d3c898..ed254d1 100644 --- a/src/storage.cr +++ b/src/storage.cr @@ -338,6 +338,9 @@ class DNSManager::Storage zone = zone_must_exist! token.domain rr = zone.rr_must_exist! token.rrid + # Same address, no need to change anything. + return Response::Success.new if rr.target == address + # TODO: validate target? case rr @@ -349,7 +352,7 @@ class DNSManager::Storage when Zone::AAAA rr.target = address zone.update_rr rr - zones_by_domain.update_or_create zone.domain, zone + update_zone zone Response::Success.new else Response::Error.new "use token on invalid entry (not A or AAAA)"