Skip to content

Commit d6a207e

Browse files
author
Marcus Pousette
committed
fix: add ipv6Check regex for private address
1 parent 73f2b6b commit d6a207e

File tree

2 files changed

+3
-1
lines changed

2 files changed

+3
-1
lines changed

packages/utils/src/private-ip.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ function ipv4Check (ipAddr: string): boolean {
4141
function ipv6Check (ipAddr: string): boolean {
4242
return /^::$/.test(ipAddr) ||
4343
/^::1$/.test(ipAddr) ||
44+
/^::ffff:([0-9a-fA-F]{1,4}):([0-9a-fA-F]{1,4})$/.test(ipAddr) ||
4445
/^::f{4}:([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(ipAddr) ||
4546
/^::f{4}:0.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(ipAddr) ||
4647
/^64:ff9b::([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(ipAddr) ||

packages/utils/test/multiaddr/is-private.spec.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,8 @@ describe('multiaddr isPrivate', () => {
3030
it('identifies private ip6 multiaddrs', () => {
3131
[
3232
multiaddr('/ip6/fd52:8342:fc46:6c91:3ac9:86ff:fe31:7095/tcp/1000'),
33-
multiaddr('/ip6/fd52:8342:fc46:6c91:3ac9:86ff:fe31:1/tcp/1000')
33+
multiaddr('/ip6/fd52:8342:fc46:6c91:3ac9:86ff:fe31:1/tcp/1000'),
34+
multiaddr('/ip6/::ffff:7f00:1/tcp/1000')
3435
].forEach(ma => {
3536
expect(isPrivate(ma)).to.eql(true)
3637
})

0 commit comments

Comments
 (0)