Skip to content

Commit 859bc60

Browse files
authored
Merge pull request #342 from zunda/bind-on-ipv6
Always permit IPv4-mapped IPv6 loopback addresses
2 parents f3d437c + c66460a commit 859bc60

File tree

2 files changed

+3
-2
lines changed

2 files changed

+3
-2
lines changed

Diff for: lib/web_console/permissions.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
module WebConsole
66
class Permissions
77
# IPv4 and IPv6 localhost should be always allowed.
8-
ALWAYS_PERMITTED_NETWORKS = %w( 127.0.0.0/8 ::1 )
8+
ALWAYS_PERMITTED_NETWORKS = %w( 127.0.0.0/8 ::1 ::ffff:127.0.0.0/104 )
99

1010
def initialize(networks = nil)
1111
@networks = normalize_networks(networks).map(&method(:coerce_network_to_ipaddr)).uniq

Diff for: test/web_console/permissions_test.rb

+2-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ class PermissionsTest < ActiveSupport::TestCase
99

1010
assert_includes permissions, "127.0.0.1"
1111
assert_includes permissions, "::1"
12+
assert_includes permissions, "::ffff:127.0.0.1"
1213
end
1314

1415
test "permits single IPs" do
@@ -41,7 +42,7 @@ class PermissionsTest < ActiveSupport::TestCase
4142
end
4243

4344
test "human readable presentation" do
44-
assert_includes permit.to_s, "127.0.0.0/127.255.255.255, ::1"
45+
assert_includes permit.to_s, "127.0.0.0/127.255.255.255, ::1, ::ffff:127.0.0.0/::ffff:127.255.255.255"
4546
end
4647

4748
private

0 commit comments

Comments
 (0)