From nobody Sat May 4 09:40:32 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1599562556; cv=none; d=zohomail.com; s=zohoarc; b=Wa/RqsBcsyHkkx5/66+fyraP5cm17BcIiZs7W1IRgRTR/fKmCEsQfzgMUS/yl9UyVfVsYsgZPzx5GbBdjpq+54ptYtoYOQgQ//2HkL92oNy8N1C9C2w375mzyPnzkjsTh0eKdOxWnn88o5SE2+coEI/zEaQAwgz4qEh79P2aOyY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1599562556; h=Content-Type:Date:From:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:Sender:Subject:To; bh=pEMBhEfXlixiPge74DtxM/QOy/cZbksaQ/TgWRgnUGo=; b=BEej85/pP8Kcdd1/86+BujNuK72wOfIeFiWKRDiKxZKtwZ9ILhluicQwzna6JYKyxfQFRR7szbBkQxgLddku4iyqOMTaRaRsTX0qZL3k1B3i385X2A/VzgLIfKYAj5huJXHYoSsDuOWXkK4MZ9azo/jeEZrJVFNmouJAqOL7t08= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1599562556813116.41376620100823; Tue, 8 Sep 2020 03:55:56 -0700 (PDT) Received: from localhost ([::1]:59822 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kFbI3-0005MC-E0 for importer@patchew.org; Tue, 08 Sep 2020 06:55:55 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:39310) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kFbH3-0004Q5-IG for qemu-devel@nongnu.org; Tue, 08 Sep 2020 06:54:53 -0400 Received: from us-smtp-delivery-1.mimecast.com ([207.211.31.120]:57027 helo=us-smtp-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kFbH2-00044t-16 for qemu-devel@nongnu.org; Tue, 08 Sep 2020 06:54:53 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-423-Vb_shAecNnCU3PwouJfFNw-1; Tue, 08 Sep 2020 06:54:49 -0400 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 80419801FDC for ; Tue, 8 Sep 2020 10:54:48 +0000 (UTC) Received: from thuth.com (ovpn-112-131.ams2.redhat.com [10.36.112.131]) by smtp.corp.redhat.com (Postfix) with ESMTP id 7B4245D9EF; Tue, 8 Sep 2020 10:54:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1599562491; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:content-type:content-type; bh=pEMBhEfXlixiPge74DtxM/QOy/cZbksaQ/TgWRgnUGo=; b=FQfXkwxKw7LoJLdpx9yLbMhQEC0Sb4qSnbvXXNfd0uy2YODCNlQtlg97NYM+HfBltDXqkh LlmDV0NDwuUM8sm4AtkSvdCxPFJEoEA9q+0CT40Ynzv/UPCBpnnvm733KD41bstFxW6bbO pC2tYPjOdgvns7iceOaKBdJXLJwNXcU= X-MC-Unique: Vb_shAecNnCU3PwouJfFNw-1 From: Thomas Huth To: qemu-devel@nongnu.org, "Daniel P . Berrange" , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= Subject: [PATCH] tests/socket-helpers: Only fail socket protocol check if it is really necessary Date: Tue, 8 Sep 2020 12:54:35 +0200 Message-Id: <20200908105435.218715-1-thuth@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=thuth@redhat.com X-Mimecast-Spam-Score: 0.001 X-Mimecast-Originator: redhat.com Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=207.211.31.120; envelope-from=thuth@redhat.com; helo=us-smtp-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/09/08 00:33:58 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" The tests/test-char test is currently always failing on my system since socket_can_bind_connect("::1", PF_INET6) fails with EINVAL and thus socket_check_protocol_support() is returning -1 for an error. But IPv4 is working fine. The logic in socket_check_protocol_support() seems to be wrong here, if either IPv6 or IPv4 is working, we should not return an error here. Thus rework the function to only return errors if both checks failed. Signed-off-by: Thomas Huth --- tests/socket-helpers.c | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/tests/socket-helpers.c b/tests/socket-helpers.c index 19a51e887e..62a0e0f2d9 100644 --- a/tests/socket-helpers.c +++ b/tests/socket-helpers.c @@ -136,22 +136,17 @@ static int socket_can_bind_connect(const char *hostna= me, int family) =20 int socket_check_protocol_support(bool *has_ipv4, bool *has_ipv6) { - *has_ipv4 =3D *has_ipv6 =3D false; + int errv4, errv6; =20 - if (socket_can_bind_connect("127.0.0.1", PF_INET) < 0) { - if (errno !=3D EADDRNOTAVAIL) { - return -1; - } - } else { - *has_ipv4 =3D true; - } + errv4 =3D socket_can_bind_connect("127.0.0.1", PF_INET); + *has_ipv4 =3D (errv4 =3D=3D 0); =20 - if (socket_can_bind_connect("::1", PF_INET6) < 0) { - if (errno !=3D EADDRNOTAVAIL) { - return -1; - } - } else { - *has_ipv6 =3D true; + errv6 =3D socket_can_bind_connect("::1", PF_INET6); + *has_ipv6 =3D (errv6 =3D=3D 0); + + if (!*has_ipv4 && !*has_ipv6 && + (errv4 !=3D EADDRNOTAVAIL || errv6 !=3D EADDRNOTAVAIL)) { + return -1; } =20 return 0; --=20 2.18.2