提交 b1e93aab 编写于 作者: X Xin Long 提交者: Yang Yingliang

sctp: move 198 addresses from unusable to private scope

stable inclusion
from linux-4.19.200
commit 53012dd6ca2f3c9420b5cc447279375a90290fb4

--------------------------------

[ Upstream commit 1d11fa23 ]

The doc draft-stewart-tsvwg-sctp-ipv4-00 that restricts 198 addresses
was never published. These addresses as private addresses should be
allowed to use in SCTP.

As Michael Tuexen suggested, this patch is to move 198 addresses from
unusable to private scope.
Reported-by: NSérgio <surkamp@gmail.com>
Signed-off-by: NXin Long <lucien.xin@gmail.com>
Acked-by: NMarcelo Ricardo Leitner <marcelo.leitner@gmail.com>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
Signed-off-by: NSasha Levin <sashal@kernel.org>
Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
上级 13cb3658
...@@ -348,8 +348,7 @@ enum { ...@@ -348,8 +348,7 @@ enum {
#define SCTP_SCOPE_POLICY_MAX SCTP_SCOPE_POLICY_LINK #define SCTP_SCOPE_POLICY_MAX SCTP_SCOPE_POLICY_LINK
/* Based on IPv4 scoping <draft-stewart-tsvwg-sctp-ipv4-00.txt>, /* Based on IPv4 scoping <draft-stewart-tsvwg-sctp-ipv4-00.txt>,
* SCTP IPv4 unusable addresses: 0.0.0.0/8, 224.0.0.0/4, 198.18.0.0/24, * SCTP IPv4 unusable addresses: 0.0.0.0/8, 224.0.0.0/4, 192.88.99.0/24.
* 192.88.99.0/24.
* Also, RFC 8.4, non-unicast addresses are not considered valid SCTP * Also, RFC 8.4, non-unicast addresses are not considered valid SCTP
* addresses. * addresses.
*/ */
...@@ -357,7 +356,6 @@ enum { ...@@ -357,7 +356,6 @@ enum {
((htonl(INADDR_BROADCAST) == a) || \ ((htonl(INADDR_BROADCAST) == a) || \
ipv4_is_multicast(a) || \ ipv4_is_multicast(a) || \
ipv4_is_zeronet(a) || \ ipv4_is_zeronet(a) || \
ipv4_is_test_198(a) || \
ipv4_is_anycast_6to4(a)) ipv4_is_anycast_6to4(a))
/* Flags used for the bind address copy functions. */ /* Flags used for the bind address copy functions. */
......
...@@ -412,7 +412,8 @@ static enum sctp_scope sctp_v4_scope(union sctp_addr *addr) ...@@ -412,7 +412,8 @@ static enum sctp_scope sctp_v4_scope(union sctp_addr *addr)
retval = SCTP_SCOPE_LINK; retval = SCTP_SCOPE_LINK;
} else if (ipv4_is_private_10(addr->v4.sin_addr.s_addr) || } else if (ipv4_is_private_10(addr->v4.sin_addr.s_addr) ||
ipv4_is_private_172(addr->v4.sin_addr.s_addr) || ipv4_is_private_172(addr->v4.sin_addr.s_addr) ||
ipv4_is_private_192(addr->v4.sin_addr.s_addr)) { ipv4_is_private_192(addr->v4.sin_addr.s_addr) ||
ipv4_is_test_198(addr->v4.sin_addr.s_addr)) {
retval = SCTP_SCOPE_PRIVATE; retval = SCTP_SCOPE_PRIVATE;
} else { } else {
retval = SCTP_SCOPE_GLOBAL; retval = SCTP_SCOPE_GLOBAL;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册