Commit cc9e3303 authored by Michal 'vorner' Vaner's avatar Michal 'vorner' Vaner
Browse files

[2439] Lettuce test for rejecting a XFR transfer

Provide a zone without NS and see it rejects it.

This actually found a bug, maybe unrelated.
parent dcd93a56
{
"version": 2,
"Logging": {
"loggers": [ {
"debuglevel": 99,
"severity": "DEBUG",
"name": "*"
} ]
},
"Auth": {
"database_file": "data/example.org-nons.sqlite3",
"listen_on": [ {
"address": "::1",
"port": 47807
} ]
},
"data_sources": {
"classes": {
"IN": [{
"type": "sqlite3",
"params": {
"database_file": "data/example.org-nons.sqlite3"
}
}]
}
},
"Xfrout": {
"zone_config": [ {
"origin": "example.org"
} ],
"also_notify": [ {
"address": "::1",
"port": 47806
} ]
},
"Stats": {
"poll-interval": 1
},
"Boss": {
"components": {
"b10-auth": { "kind": "needed", "special": "auth" },
"b10-xfrout": { "address": "Xfrout", "kind": "dispensable" },
"b10-zonemgr": { "address": "Zonemgr", "kind": "dispensable" },
"b10-stats": { "address": "Stats", "kind": "dispensable" },
"b10-cmdctl": { "special": "cmdctl", "kind": "needed" }
}
}
}
......@@ -63,6 +63,8 @@ copylist = [
"configurations/ddns/noddns.config"],
["configurations/xfrin/retransfer_master.conf.orig",
"configurations/xfrin/retransfer_master.conf"],
["configurations/xfrin/retransfer_master_nons.conf.orig",
"configurations/xfrin/retransfer_master_nons.conf"],
["configurations/xfrin/retransfer_slave.conf.orig",
"configurations/xfrin/retransfer_slave.conf"],
["data/inmem-xfrin.sqlite3.orig",
......
......@@ -93,3 +93,45 @@ Feature: Xfrin
# Transwer should succeed now
When I send bind10 the command Xfrin retransfer example.org
Then wait for new bind10 stderr message XFRIN_TRANSFER_SUCCESS not XFRIN_XFR_PROCESS_FAILURE
Scenario: Validation fails
# In this test, the source data of the XFR is invalid (missing NS record
# at the origin). We check it is rejected after the transfer.
#
# We use abuse the fact that we do not check data when we read it from
# the sqlite3 database (unless we load into in-memory, which we don't
# do here).
The file data/test_nonexistent_db.sqlite3 should not exist
Given I have bind10 running with configuration xfrin/retransfer_master_nons.conf with cmdctl port 47804 as master
And wait for master stderr message BIND10_STARTED_CC
And wait for master stderr message CMDCTL_STARTED
And wait for master stderr message AUTH_SERVER_STARTED
And wait for master stderr message XFROUT_STARTED
And wait for master stderr message ZONEMGR_STARTED
And I have bind10 running with configuration xfrin/retransfer_slave.conf
And wait for bind10 stderr message BIND10_STARTED_CC
And wait for bind10 stderr message CMDCTL_STARTED
And wait for bind10 stderr message AUTH_SERVER_STARTED
And wait for bind10 stderr message XFRIN_STARTED
And wait for bind10 stderr message ZONEMGR_STARTED
# Now we use the first step again to see if the file has been created
The file data/test_nonexistent_db.sqlite3 should exist
A query for www.example.org to [::1]:47806 should have rcode REFUSED
When I send bind10 the command Xfrin retransfer example.org IN ::1 47807
# It should complain once about invalid data, then again that the whole
# zone is invalid and then reject it.
And wait for new bind10 stderr message XFRIN_ZONE_INVALID
And wait for new bind10 stderr message XFRIN_INVALID_ZONE_DATA
Then wait for new bind10 stderr message ZONEMGR_RECEIVE_XFRIN_FAILED
# The zone still doesn't exist as it is rejected.
# FIXME: This step fails. Probably an empty zone is created in the data
# source :-|.
A query for www.example.org to [::1]:47806 should have rcode REFUSED
# TODO: Update scenario, load previous zone, upgrade to never one but
# broken. We use the fact that the SOA serial is higher in the nons
# version of DB.
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment