Fix a bug introduced by delegation (upon domain deletion).
This commit is contained in:
parent
e94bed139b
commit
9388663688
1 changed files with 8 additions and 2 deletions
|
|
@ -91,7 +91,7 @@ class DNSManager::Storage
|
|||
# Instead of generating the file for each change (synchronously),
|
||||
# it will be regenerated periodically by a script outside the application.
|
||||
def delegation_token_file
|
||||
"#{@delegationdir}/regen-token-file"
|
||||
"#{@delegationdir}/.regen-token-file"
|
||||
end
|
||||
|
||||
# Updates the token file.
|
||||
|
|
@ -394,12 +394,16 @@ class DNSManager::Storage
|
|||
def remove_delegation_file(domain : String) : Nil
|
||||
Baguette::Log.info "(domain #{domain}) removing a delegation file."
|
||||
File.delete "#{@delegationdir}/#{domain}"
|
||||
rescue e : File::NotFoundError
|
||||
Baguette::Log.info "(domain #{domain}) delegation file not found - ignoring."
|
||||
end
|
||||
|
||||
# Removes a Bind9 zonefile.
|
||||
def remove_bind9_zonefile(domain : String) : Nil
|
||||
Baguette::Log.info "(domain #{domain}) removing a Bind9 zone file."
|
||||
File.delete "#{@zonefiledir}/#{domain}"
|
||||
rescue e : File::NotFoundError
|
||||
Baguette::Log.info "(domain #{domain}) zone file not found - ignoring."
|
||||
end
|
||||
|
||||
# Deletes a domain.
|
||||
|
|
@ -545,12 +549,14 @@ class DNSManager::Storage
|
|||
|
||||
# WARNING: this function removes a zone with all its related data (zone file, delegation file, indexes, etc.).
|
||||
#
|
||||
# WARNING: this function doesn't check for ownership authorizations (could cause a chicken-egg problem when
|
||||
# deleting a domain).
|
||||
#
|
||||
# RATIONALE: wipe_zone can be used to renew to remove zone-related content (the entry in the zone db, tokens
|
||||
# and generated zone file) while preserving the entry in the domain db.
|
||||
# wipe_zone is called when the domain is deleted or when it is delegated.
|
||||
def wipe_zone(user_id : UserDataID, domain_name : String)
|
||||
zone = zone_must_exist! domain_name
|
||||
user_should_own! user_id, domain_name
|
||||
|
||||
Baguette::Log.info "Wiping zone content for #{domain_name}"
|
||||
# Remove the related zone and their registered tokens.
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue