The server throws an error and nothing comes back. Instead a SERVFAIL should come back.
Note: we should also validate the date... but we should correct the server's handling of error cases before we correct the case that causes an error.
When an error is thrown (such as malformed json data that cannot be written as binary), the server should respond with SERVFAIL
Here's how to observe this error:
Create a db file with bad data (the required field "exchange" is missing from the MX record):
`fail.json`
```json
{
"primaryNameservers": [ "localhost" ]
, "domains": [ { "id": "example.com" } ]
, "records": [
{ "zone": "example.com", "name": "example.com", "tld": "com", "sld": "example", "sub": ""
, "type": "MX", "priority": 10, "MISSING-exchange": "mxa.example.org" }
]
}
```
Installing and running the digd.js server:
```bash
git clone https://git.coolaj86.com/coolaj86/digd.js.git
pushd digd.js/
npm install
node bin/digd.js --port 5353 --input fail.json +norecurse
```
In another terminal, while the server is running:
```bash
dig @localhost -p 5353 MX example.com
```
The server throws an error and nothing comes back. Instead a SERVFAIL should come back.
Note: we should also validate the date... but we should correct the server's handling of error cases _before_ we correct the case that causes an error.
When an error is thrown (such as malformed json data that cannot be written as binary), the server should respond with SERVFAIL
Here's how to observe this error:
Create a db file with bad data (the required field "exchange" is missing from the MX record):
fail.json
Installing and running the digd.js server:
In another terminal, while the server is running:
The server throws an error and nothing comes back. Instead a SERVFAIL should come back.
Note: we should also validate the date... but we should correct the server's handling of error cases before we correct the case that causes an error.