Do not put clientHold to zonefile #2023

This commit is contained in:
Martin Lensment 2015-08-06 13:41:13 +03:00
parent 4ef71d4da0
commit 697c435743
2 changed files with 20 additions and 7 deletions

View file

@ -51,7 +51,7 @@ namespace :zonefile do
FROM domains d
JOIN nameservers ns ON ns.domain_id = d.id
WHERE d.name LIKE include_filter AND d.name NOT LIKE exclude_filter
AND NOT ('{serverHold}' && d.statuses)
AND NOT ('{serverHold,clientHold}' && d.statuses)
ORDER BY d.name
),
chr(10)
@ -73,7 +73,7 @@ namespace :zonefile do
AND ns.hostname LIKE '%.' || d.name
AND d.name <> i_origin
AND ns.ipv4 IS NOT NULL AND ns.ipv4 <> ''
AND NOT ('{serverHold}' && d.statuses)
AND NOT ('{serverHold,clientHold}' && d.statuses)
), chr(10)
) INTO tmp_var;
@ -93,7 +93,7 @@ namespace :zonefile do
AND ns.hostname LIKE '%.' || d.name
AND d.name <> i_origin
AND ns.ipv6 IS NOT NULL AND ns.ipv6 <> ''
AND NOT ('{serverHold}' && d.statuses)
AND NOT ('{serverHold,clientHold}' && d.statuses)
), chr(10)
) INTO tmp_var;
@ -109,7 +109,7 @@ namespace :zonefile do
FROM domains d
JOIN dnskeys dk ON dk.domain_id = d.id
WHERE d.name LIKE include_filter AND d.name NOT LIKE exclude_filter AND dk.flags = 257
AND NOT ('{serverHold}' && d.statuses)
AND NOT ('{serverHold,clientHold}' && d.statuses)
),
chr(10)
) INTO tmp_var;

View file

@ -39,9 +39,9 @@ describe ZonefileSetting do
@zonefile.scan(/^#{d.name}/).count.should == 0
end
it 'should not place serverHold domains into zonefile' do
it 'should not place serverHold nor clientHold domains into zonefile' do
Fabricate(:zonefile_setting)
d = Fabricate(:domain_with_dnskeys, name: 'testzone.ee', statuses: ['serverHold', 'serverDeleteProhibited'])
d = Fabricate(:domain_with_dnskeys, name: 'testzone.ee', statuses: ['serverHold', 'serverDeleteProhibited', 'clientHold'])
d.nameservers << Nameserver.new({
hostname: "ns.#{d.name}",
ipv4: '123.123.123.123',
@ -58,7 +58,20 @@ describe ZonefileSetting do
@zonefile.scan('123.123.123.123').count.should == 0
@zonefile.scan('FE80:0000:0000:0000:0202:B3FF:FE1E:8329').count.should == 0
d.statuses = ['ok']
d.statuses = ['clientHold', 'serverDeleteProhibited']
d.save
@zonefile = ActiveRecord::Base.connection.execute(
"select generate_zonefile('ee')"
)[0]['generate_zonefile']
@zonefile.should_not be_blank
@zonefile.scan(/^#{d.name}/).count.should == 0
@zonefile.scan(/ns.#{d.name}/).count.should == 0
@zonefile.scan('123.123.123.123').count.should == 0
@zonefile.scan('FE80:0000:0000:0000:0202:B3FF:FE1E:8329').count.should == 0
d.statuses = ['serverDeleteProhibited']
d.save
@zonefile = ActiveRecord::Base.connection.execute(