Comparing version 1.1.6 to 1.1.7
109
lib/ip.js
@@ -1,4 +0,4 @@ | ||
const ip = exports; | ||
const { Buffer } = require('buffer'); | ||
const os = require('os'); | ||
var ip = exports; | ||
var { Buffer } = require('buffer'); | ||
var os = require('os'); | ||
@@ -8,3 +8,3 @@ ip.toBuffer = function (ip, buff, offset) { | ||
let result; | ||
var result; | ||
@@ -17,8 +17,8 @@ if (this.isV4Format(ip)) { | ||
} else if (this.isV6Format(ip)) { | ||
const sections = ip.split(':', 8); | ||
var sections = ip.split(':', 8); | ||
let i; | ||
var i; | ||
for (i = 0; i < sections.length; i++) { | ||
const isv4 = this.isV4Format(sections[i]); | ||
let v4Buffer; | ||
var isv4 = this.isV4Format(sections[i]); | ||
var v4Buffer; | ||
@@ -41,7 +41,7 @@ if (isv4) { | ||
for (i = 0; i < sections.length && sections[i] !== ''; i++); | ||
const argv = [i, 1]; | ||
var argv = [i, 1]; | ||
for (i = 9 - sections.length; i > 0; i--) { | ||
argv.push('0'); | ||
} | ||
sections.splice(...argv); | ||
sections.splice.apply(sections, argv); | ||
} | ||
@@ -51,3 +51,3 @@ | ||
for (i = 0; i < sections.length; i++) { | ||
const word = parseInt(sections[i], 16); | ||
var word = parseInt(sections[i], 16); | ||
result[offset++] = (word >> 8) & 0xff; | ||
@@ -69,6 +69,7 @@ result[offset++] = word & 0xff; | ||
let result = []; | ||
var result = []; | ||
var i; | ||
if (length === 4) { | ||
// IPv4 | ||
for (let i = 0; i < length; i++) { | ||
for (i = 0; i < length; i++) { | ||
result.push(buff[offset + i]); | ||
@@ -79,3 +80,3 @@ } | ||
// IPv6 | ||
for (let i = 0; i < length; i += 2) { | ||
for (i = 0; i < length; i += 2) { | ||
result.push(buff.readUInt16BE(offset + i).toString(16)); | ||
@@ -91,4 +92,4 @@ } | ||
const ipv4Regex = /^(\d{1,3}\.){3,3}\d{1,3}$/; | ||
const ipv6Regex = /^(::)?(((\d{1,3}\.){3}(\d{1,3}){1})?([0-9a-f]){0,4}:{0,2}){1,8}(::)?$/i; | ||
var ipv4Regex = /^(\d{1,3}\.){3,3}\d{1,3}$/; | ||
var ipv6Regex = /^(::)?(((\d{1,3}\.){3}(\d{1,3}){1})?([0-9a-f]){0,4}:{0,2}){1,8}(::)?$/i; | ||
@@ -120,10 +121,10 @@ ip.isV4Format = function (ip) { | ||
let len = 4; | ||
var len = 4; | ||
if (family === 'ipv6') { | ||
len = 16; | ||
} | ||
const buff = new Buffer(len); | ||
var buff = new Buffer(len); | ||
for (let i = 0, n = buff.length; i < n; ++i) { | ||
let bits = 8; | ||
for (var i = 0, n = buff.length; i < n; ++i) { | ||
var bits = 8; | ||
if (prefixlen < 8) { | ||
@@ -144,6 +145,6 @@ bits = prefixlen; | ||
const result = new Buffer(Math.max(addr.length, mask.length)); | ||
var result = new Buffer(Math.max(addr.length, mask.length)); | ||
// Same protocol - do bitwise and | ||
let i; | ||
var i; | ||
if (addr.length === mask.length) { | ||
@@ -181,5 +182,5 @@ for (i = 0; i < addr.length; i++) { | ||
ip.cidr = function (cidrString) { | ||
const cidrParts = cidrString.split('/'); | ||
var cidrParts = cidrString.split('/'); | ||
const addr = cidrParts[0]; | ||
var addr = cidrParts[0]; | ||
if (cidrParts.length !== 2) { | ||
@@ -189,3 +190,3 @@ throw new Error(`invalid CIDR subnet: ${addr}`); | ||
const mask = ip.fromPrefixLen(parseInt(cidrParts[1], 10)); | ||
var mask = ip.fromPrefixLen(parseInt(cidrParts[1], 10)); | ||
@@ -196,13 +197,13 @@ return ip.mask(addr, mask); | ||
ip.subnet = function (addr, mask) { | ||
const networkAddress = ip.toLong(ip.mask(addr, mask)); | ||
var networkAddress = ip.toLong(ip.mask(addr, mask)); | ||
// Calculate the mask's length. | ||
const maskBuffer = ip.toBuffer(mask); | ||
let maskLength = 0; | ||
var maskBuffer = ip.toBuffer(mask); | ||
var maskLength = 0; | ||
for (let i = 0; i < maskBuffer.length; i++) { | ||
for (var i = 0; i < maskBuffer.length; i++) { | ||
if (maskBuffer[i] === 0xff) { | ||
maskLength += 8; | ||
} else { | ||
let octet = maskBuffer[i] & 0xff; | ||
var octet = maskBuffer[i] & 0xff; | ||
while (octet) { | ||
@@ -215,3 +216,3 @@ octet = (octet << 1) & 0xff; | ||
const numberOfAddresses = 2 ** (32 - maskLength); | ||
var numberOfAddresses = 2 ** (32 - maskLength); | ||
@@ -239,5 +240,5 @@ return { | ||
ip.cidrSubnet = function (cidrString) { | ||
const cidrParts = cidrString.split('/'); | ||
var cidrParts = cidrString.split('/'); | ||
const addr = cidrParts[0]; | ||
var addr = cidrParts[0]; | ||
if (cidrParts.length !== 2) { | ||
@@ -247,3 +248,3 @@ throw new Error(`invalid CIDR subnet: ${addr}`); | ||
const mask = ip.fromPrefixLen(parseInt(cidrParts[1], 10)); | ||
var mask = ip.fromPrefixLen(parseInt(cidrParts[1], 10)); | ||
@@ -254,4 +255,4 @@ return ip.subnet(addr, mask); | ||
ip.not = function (addr) { | ||
const buff = ip.toBuffer(addr); | ||
for (let i = 0; i < buff.length; i++) { | ||
var buff = ip.toBuffer(addr); | ||
for (var i = 0; i < buff.length; i++) { | ||
buff[i] = 0xff ^ buff[i]; | ||
@@ -263,2 +264,4 @@ } | ||
ip.or = function (a, b) { | ||
var i; | ||
a = ip.toBuffer(a); | ||
@@ -269,3 +272,3 @@ b = ip.toBuffer(b); | ||
if (a.length === b.length) { | ||
for (let i = 0; i < a.length; ++i) { | ||
for (i = 0; i < a.length; ++i) { | ||
a[i] |= b[i]; | ||
@@ -277,4 +280,4 @@ } | ||
} | ||
let buff = a; | ||
let other = b; | ||
var buff = a; | ||
var other = b; | ||
if (b.length > a.length) { | ||
@@ -285,4 +288,4 @@ buff = b; | ||
const offset = buff.length - other.length; | ||
for (let i = offset; i < buff.length; ++i) { | ||
var offset = buff.length - other.length; | ||
for (i = offset; i < buff.length; ++i) { | ||
buff[i] |= other[i - offset]; | ||
@@ -295,2 +298,4 @@ } | ||
ip.isEqual = function (a, b) { | ||
var i; | ||
a = ip.toBuffer(a); | ||
@@ -301,3 +306,3 @@ b = ip.toBuffer(b); | ||
if (a.length === b.length) { | ||
for (let i = 0; i < a.length; i++) { | ||
for (i = 0; i < a.length; i++) { | ||
if (a[i] !== b[i]) return false; | ||
@@ -310,3 +315,3 @@ } | ||
if (b.length === 4) { | ||
const t = b; | ||
var t = b; | ||
b = a; | ||
@@ -317,10 +322,10 @@ a = t; | ||
// a - IPv4, b - IPv6 | ||
for (let i = 0; i < 10; i++) { | ||
for (i = 0; i < 10; i++) { | ||
if (b[i] !== 0) return false; | ||
} | ||
const word = b.readUInt16BE(10); | ||
var word = b.readUInt16BE(10); | ||
if (word !== 0 && word !== 0xffff) return false; | ||
for (let i = 0; i < 4; i++) { | ||
for (i = 0; i < 4; i++) { | ||
if (a[i] !== b[i + 12]) return false; | ||
@@ -387,3 +392,3 @@ } | ||
ip.address = function (name, family) { | ||
const interfaces = os.networkInterfaces(); | ||
var interfaces = os.networkInterfaces(); | ||
@@ -400,4 +405,4 @@ // | ||
if (name && name !== 'private' && name !== 'public') { | ||
const res = interfaces[name].filter((details) => { | ||
const itemFamily = _normalizeFamily(details.family); | ||
var res = interfaces[name].filter((details) => { | ||
var itemFamily = _normalizeFamily(details.family); | ||
return itemFamily === family; | ||
@@ -411,3 +416,3 @@ }); | ||
const all = Object.keys(interfaces).map((nic) => { | ||
var all = Object.keys(interfaces).map((nic) => { | ||
// | ||
@@ -417,3 +422,3 @@ // Note: name will only be `public` or `private` | ||
// | ||
const addresses = interfaces[nic].filter((details) => { | ||
var addresses = interfaces[nic].filter((details) => { | ||
details.family = _normalizeFamily(details.family); | ||
@@ -437,3 +442,3 @@ if (details.family !== family || ip.isLoopback(details.address)) { | ||
ip.toLong = function (ip) { | ||
let ipl = 0; | ||
var ipl = 0; | ||
ip.split('.').forEach((octet) => { | ||
@@ -440,0 +445,0 @@ ipl <<= 8; |
{ | ||
"name": "ip", | ||
"version": "1.1.6", | ||
"version": "1.1.7", | ||
"author": "Fedor Indutny <fedor@indutny.com>", | ||
@@ -5,0 +5,0 @@ "homepage": "https://github.com/indutny/node-ip", |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
357
0
13555