From ffc3f2f1f3c53c3eeb6e1649ea1b165b824ab241 Mon Sep 17 00:00:00 2001 From: "paritytech-cmd-bot-polkadot-sdk[bot]" <179002856+paritytech-cmd-bot-polkadot-sdk[bot]@users.noreply.github.com> Date: Wed, 13 Nov 2024 14:08:48 +0100 Subject: [PATCH] [stable2409] Backport #6454 (#6458) Backport #6454 into `stable2409` from niklasad1. See the [documentation](https://github.com/paritytech/polkadot-sdk/blob/master/docs/BACKPORT.md) on how to use this bot. <!-- # To be used by other automation, do not modify: original-pr-number: #${pull_number} --> Co-authored-by: Niklas Adolfsson <niklasadolfsson1@gmail.com> --- prdoc/pr_6454.prdoc | 7 +++++++ substrate/client/rpc-servers/src/utils.rs | 13 +++++-------- 2 files changed, 12 insertions(+), 8 deletions(-) create mode 100644 prdoc/pr_6454.prdoc diff --git a/prdoc/pr_6454.prdoc b/prdoc/pr_6454.prdoc new file mode 100644 index 00000000000..3fd3e39db60 --- /dev/null +++ b/prdoc/pr_6454.prdoc @@ -0,0 +1,7 @@ +title: 'rpc server: fix ipv6 host filter for localhost' +doc: +- audience: Node Operator + description: "This PR fixes that ipv6 connections to localhost was faulty rejected by the host filter because only [::1] was allowed" +crates: +- name: sc-rpc-server + bump: minor diff --git a/substrate/client/rpc-servers/src/utils.rs b/substrate/client/rpc-servers/src/utils.rs index d9b2db7af13..51cce622429 100644 --- a/substrate/client/rpc-servers/src/utils.rs +++ b/substrate/client/rpc-servers/src/utils.rs @@ -193,14 +193,11 @@ pub(crate) fn host_filtering(enabled: bool, addr: SocketAddr) -> Option<HostFilt if enabled { // NOTE: The listening addresses are whitelisted by default. - let mut hosts = Vec::new(); - - if addr.is_ipv4() { - hosts.push(format!("localhost:{}", addr.port())); - hosts.push(format!("127.0.0.1:{}", addr.port())); - } else { - hosts.push(format!("[::1]:{}", addr.port())); - } + let hosts = [ + format!("localhost:{}", addr.port()), + format!("127.0.0.1:{}", addr.port()), + format!("[::1]:{}", addr.port()), + ]; Some(HostFilterLayer::new(hosts).expect("Valid hosts; qed")) } else { -- GitLab