diff --git a/0001-socket-only-issue-IPPROTO_IPV6-setsockopt-calls-on-A.patch b/0001-socket-only-issue-IPPROTO_IPV6-setsockopt-calls-on-A.patch new file mode 100644 index 0000000..4b92586 --- /dev/null +++ b/0001-socket-only-issue-IPPROTO_IPV6-setsockopt-calls-on-A.patch @@ -0,0 +1,39 @@ +From b46885bba7ce6a41aba7f4b2d4482cf4d6efe792 Mon Sep 17 00:00:00 2001 +From: Jan Engelhardt +Date: Thu, 4 May 2023 15:35:03 +0200 +Subject: [PATCH] socket: only issue IPPROTO_IPV6 setsockopt calls on AF_INET6 + sockets + +Related-to: #2648 +--- + rpc/rpc-transport/socket/src/socket.c | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +diff --git a/rpc/rpc-transport/socket/src/socket.c b/rpc/rpc-transport/socket/src/socket.c +index 97c9544d34..5b6870e6c4 100644 +--- a/rpc/rpc-transport/socket/src/socket.c ++++ b/rpc/rpc-transport/socket/src/socket.c +@@ -3281,15 +3281,17 @@ socket_connect(rpc_transport_t *this, int port) + * net.ipv6.bindv6only to 1 so that gluster services are + * available over IPv4 & IPv6. + */ +-#ifdef IPV6_DEFAULT + int disable_v6only = 0; +- if (setsockopt(priv->sock, IPPROTO_IPV6, IPV6_V6ONLY, ++ int fdsock_family = 0; ++ socklen_t fdsock_size = sizeof(fdsock_family); ++ if (getsockopt(priv->sock, SOL_SOCKET, SO_DOMAIN, &fdsock_family, &fdsock_size) == 0 && ++ fdsock_family == AF_INET6 && ++ setsockopt(priv->sock, IPPROTO_IPV6, IPV6_V6ONLY, + (void *)&disable_v6only, sizeof(disable_v6only)) < 0) { + gf_log(this->name, GF_LOG_WARNING, + "Error disabling sockopt IPV6_V6ONLY: \"%s\"", + strerror(errno)); + } +-#endif + + if (sa_family != AF_UNIX) { + if (priv->nodelay) { +-- +2.40.1 + diff --git a/glusterfs.changes b/glusterfs.changes index ce77482..7bb258a 100644 --- a/glusterfs.changes +++ b/glusterfs.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue May 23 23:25:48 UTC 2023 - Jan Engelhardt + +- Add 0001-socket-only-issue-IPPROTO_IPV6-setsockopt-calls-on-A.patch + [boo#1210894] + ------------------------------------------------------------------- Tue Feb 21 10:20:10 UTC 2023 - Jan Engelhardt diff --git a/glusterfs.spec b/glusterfs.spec index 23e5cc5..6851e44 100644 --- a/glusterfs.spec +++ b/glusterfs.spec @@ -27,6 +27,7 @@ URL: https://www.gluster.org/ #Git-Clone: https://github.com/gluster/glusterfs #Git-Clone: https://github.com/fvzwieten/lsgvt Source: https://download.gluster.org/pub/gluster/glusterfs/11/%version/glusterfs-%version.tar.gz +Patch1: 0001-socket-only-issue-IPPROTO_IPV6-setsockopt-calls-on-A.patch BuildRequires: acl-devel BuildRequires: autoconf BuildRequires: automake