}, function(rdata, callback) { if (!rdata) { ndns.resolve(domain, rrtype, false, function(err, ret) { //console.log('RESOLVE=================='); //console.log(ret); callback(null, ret); }); } else { callback(null, rdata); } }, function(rdata, callback) {
//dns.resolve('test2.amida-demo.com', 'CERT', function (err, addresses) { //dns.resolve('direct.securehealthemail.com', 'CERT', function (err, addresses) { //dns.resolve('test1.amida-demo.com', 'A', function (err, addresses) { dns.resolve('test2.amida-demo.com', 'CERT', function (err, addresses) { if (err) throw err; console.log('addresses: ' + JSON.stringify(addresses)); var cert=addresses[0].cert; console.log("len: "+addresses[0].cert.length); //if (addresses[0].cert2) { // for (var ch=5; ch<addresses[0].cert2.length; ch++) { // cert=cert+String.fromCharCode(addresses[0].cert2[ch]); // } //} //console.log("cert: "+cert); console.log("cert len: "+cert.length); var fs = require("fs"); fs.writeFile("cert.der", new Buffer(cert, 'binary'), {encoding:"binary"},function(err) {}); //fs.writeFile("cert.der", new Buffer(addresses[0].cert2), {encoding:"binary"},function(err) {}); });
winston.info(err); response.send(); }); } let server = dns.createServer(); server.on('listening', () => winston.info('server listening', server.address())); server.on('close', () => winston.info('server closed', server.address())); server.on('error', (err) => console.error(err.stack)); server.on('socketError', (err) => console.error(err)); // init // Resolve GOOGLE_DNS then Start winston.info(`Resolving Google DNS Service using ${option.fallback}...`); dns.resolve(GOOGLE_DNS, 'A', option.fallback, function (err) { if (err) { winston.info(err); } else { winston.info(`Now start server`); server.on('request', handleRequest); server.serve(53); } }); // catch all exception process.on('uncaughtException', function(err) { winston.info('Caught exception: ' + err); });