New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

dns-caa

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

dns-caa - npm Package Compare versions

Comparing version 1.0.0 to 1.1.0

LICENSE

70

index.js
const dns = require('dns-socket');
const socket = dns();
DNSCAA = { };
DNSCAA.getDnsCaa = function (domain, dnsServer = '8.8.8.8') {
DNSCAA.getDnsCaa = async function (domain, dnsServer = '8.8.8.8') {
if (domain) {
return _checkDomain(domain.replace('*.', ''), dnsServer);
const result = await _checkDomain(domain.replace('*.', ''), dnsServer);
return result;
}

@@ -15,28 +15,30 @@ else {

DNSCAA.validate = function (domain, expectedCAAs, dnsServer = '8.8.8.8') {
DNSCAA.validate = async function (domain, expectedCAAs, dnsServer = '8.8.8.8') {
if (domain) {
const dnsCaa = DNSCAA.getDnsCaa(domain, dnsServer);
let result = { };
const dnsCaa = await DNSCAA.getDnsCaa(domain, dnsServer);
if (!dnsCaa) {
result.isDnsCaaSet = false;
}
else if (expectedCAAs) {
result.isDnsCaaSet = true;
let result = {
hasDnsCaa: !!(dnsCaa && (dnsCaa.issue.length || dnsCaa.issuewild.length)),
issue: [],
issuewild: [],
};
expectedCAAs.forEach(function (expectedCAA) {
expectedCAA.issue.forEach(function (expectedIssue) {
result.push({
if (expectedCAAs) {
if (expectedCAAs.issue) {
expectedCAAs.issue.forEach(function (expectedIssue) {
result.issue.push({
caa: expectedIssue,
exists: (dnsCaa.issue.indexOf(expectedIssue) === -1)
exists: (dnsCaa.issue.indexOf(expectedIssue) != -1)
});
});
}
expectedCAA.issuewild.forEach(function (expectedIssuewild) {
result.push({
if (expectedCAAs.issuewild) {
expectedCAAs.issuewild.forEach(function (expectedIssuewild) {
result.issuewild.push({
caa: expectedIssuewild,
exists: (dnsCaa.issuewild.indexOf(expectedIssuewild) === -1)
exists: (dnsCaa.issuewild.indexOf(expectedIssuewild) != -1)
});
});
});
}
}

@@ -51,4 +53,4 @@

let _checkDomain = function (domain, dnsServer) {
let checkResult = _checkDomainAsync(domain, dnsServer);
let _checkDomain = async function (domain, dnsServer) {
let checkResult = await _query(domain, dnsServer);

@@ -73,15 +75,31 @@ if (checkResult && checkResult.answers) {

let _checkDomainAsync = async function (domain, dnsServer) {
let queryParams = {
const _query = async function (domain, dnsServer) {
const queryParams = {
questions: [{
type: 'CAA',
name: 'google.com'
name: domain
}]
};
let response = await socket.query(queryParams, 53, dnsServer).promise();
const promise = new Promise(resolve => {
_queryAsync(queryParams, dnsServer, (result) => {
resolve(result);
});
});
return response;
const result = await promise;
return result;
};
const _queryAsync = function (queryParams, dnsServer, callback) {
let socket = dns();
socket.query(queryParams, 53, dnsServer, (error, result) => {
if (!error && result) {
callback(result);
socket.destroy();
}
});
};
module.exports = DNSCAA;
{
"name": "dns-caa",
"version": "1.0.0",
"version": "1.1.0",
"description": "Check the DNS CAA for a given domain",

@@ -17,3 +17,3 @@ "main": "index.js",

"author": "Florian Schaeffler <git@schf.de>",
"license": "ISC",
"license": "MIT",
"bugs": {

@@ -24,4 +24,5 @@ "url": "https://github.com/fschaeffler/dns-caa/issues"

"dependencies": {
"bluebird": "^3.5.1",
"dns-socket": "^3.0.0"
}
}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc