Socket
Socket
Sign inDemoInstall

ip

Package Overview
Dependencies
Maintainers
5
Versions
26
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ip - npm Package Compare versions

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",

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