WIP some local responses work
This commit is contained in:
parent
d7e208d3f7
commit
d26b671176
|
@ -257,7 +257,7 @@ cli.main(function (args, cli) {
|
|||
id: query.header.id // require('crypto').randomBytes(2).readUInt16BE(0)
|
||||
, qr: 0
|
||||
, opcode: 0
|
||||
, aa: query.header.aa ? 1 : 0 // NA? not sure what this would do
|
||||
, aa: 0 // query.header.aa ? 1 : 0 // NA? not sure what this would do
|
||||
, tc: 0 // NA
|
||||
, rd: 1
|
||||
, ra: 0 // NA
|
||||
|
@ -363,8 +363,11 @@ cli.main(function (args, cli) {
|
|||
}
|
||||
|
||||
// TODO get local answer first, if available
|
||||
require('../lib/dns-store').query(cli.input, query, function (err, resp) {
|
||||
if (err) { console.log('[DEV] answer not found in local db, recursing'); recurse(); return; }
|
||||
var path = require('path');
|
||||
require('../lib/dns-store').query(path.resolve(cli.input), query, function (err, resp) {
|
||||
if (err) { console.log('[DEV] answer not found in local db, recursing'); console.error(err); recurse(); return; }
|
||||
|
||||
if (SERVFAIL === resp.header.rcode) { console.log('[DEV] local cache miss, recursing'); recurse(); return; }
|
||||
|
||||
sendResponse(resp);
|
||||
});
|
||||
|
|
|
@ -6,7 +6,7 @@ module.exports.ask = function (query, cb) {
|
|||
};
|
||||
*/
|
||||
|
||||
var SUCCESS = 0;
|
||||
var NOERROR = 0;
|
||||
var NXDOMAIN = 3;
|
||||
var REFUSED = 5;
|
||||
|
||||
|
@ -182,7 +182,7 @@ module.exports.query = function (input, query, cb) {
|
|||
, tc: 0
|
||||
, rd: query.header.rd // duh
|
||||
, ra: 0 // will be changed by cli.norecurse
|
||||
, rcode: SUCCESS // 0 SUCCESS, 3 NXDOMAIN, 5 REFUSED
|
||||
, rcode: NOERROR // 0 NOERROR, 3 NXDOMAIN, 5 REFUSED
|
||||
}
|
||||
, question: [], answer: [], authority: [], additional: []
|
||||
};
|
||||
|
@ -193,6 +193,8 @@ module.exports.query = function (input, query, cb) {
|
|||
myRecords.forEach(function (r) {
|
||||
results.answer.push(dbToResourceRecord(r));
|
||||
});
|
||||
results.header.rcode = NOERROR;
|
||||
cb(null, results);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,14 +1,17 @@
|
|||
'use strict';
|
||||
|
||||
module.exports = {
|
||||
"domain": [
|
||||
"domains": [
|
||||
{ "id": "daplie.me", "revokedAt": 0 }
|
||||
, { "id": "oneal.daplie.me", "revokedAt": 0 }
|
||||
, { "id": "aj.oneal.daplie.me", "revokedAt": 0 }
|
||||
]
|
||||
, "records": [
|
||||
// zone daplie.me should be able to have some records on its own
|
||||
{ "zone": "daplie.me", "type": "A", "domain": "www.daplie.me"
|
||||
{ "zone": "daplie.me", "type": "A", "domain": "daplie.me"
|
||||
, "tld": "me", "sld": "daplie", "sub": "", "value": "23.228.168.108", "aname": "tardigrade.devices.daplie.me" }
|
||||
|
||||
, { "zone": "daplie.me", "type": "A", "domain": "www.daplie.me"
|
||||
, "tld": "me", "sld": "daplie", "sub": "www", "value": "23.228.168.108", "aname": "tardigrade.devices.daplie.me" }
|
||||
|
||||
, { "zone": "daplie.me", "type": "CNAME", "domain": "email.daplie.me"
|
||||
|
|
Loading…
Reference in New Issue