Example #1
0
server.on('request', function(req, res) {
	var q = req.question && req.question[0];
	var name = q.name;
	//logger.debug(util.inspect(req));
	logger.debug('[%s] got query %s',req.address.address,Consts.QTYPE_TO_NAME[q.type]);
	if(q.type === Consts.NAME_TO_QTYPE.PTR){
		dnsAnswer(res,[dns.PTR({data:'ns.dnsmm.relay',ttl:ttl})]);
		return;
	}
	
	logger.debug('got query for %s', name);
	var match = false;
	for (var i = 0; i < mappings.length; i++) {
		var c = mappings[i];
		if (c.regx.test(name)) {
			logger.debug('got a match! ');
			getValue(q, c, res);
			match = true;
			break;
		}
	}
	if (!match) {
		logger.debug('no match forward to upstream');
		forward(res, {from:name,to:name},Consts.QTYPE_TO_NAME[q.type]);
	}
});
Example #2
0
File: dnsd.js Project: zenfish/d3ck
 __.each(ips2hosts[mangled], function(n) {
     console.log('\t' + n)
     response.answer.push(dns.PTR({
         name: name,
         data: n,
         ttl: 300,
     }));
 })