From nobody Wed Nov 6 18:03:00 2024 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XkCjc3GPhz1GnJv; Wed, 06 Nov 2024 18:03:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XkCjc27skz4kBX; Wed, 6 Nov 2024 18:03:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730916180; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vKU+SWVV/mn5dKWHREN4yJkJoTpoDfIFIiDDpd4L2Z8=; b=eYB3+71TaVz37adTlFwHJwYEmuHHtPEvyI8hRSqgfQOqVuYGw3Q+7dEcasXezhUvUzzqYc r4I+bkJyac96MmPTbudBbqgOmCDCT874YeigbSXLhTJz0ZI2DBVvi7WR3CErY0is3UYTHh wwBWmBDrO+A5Dj1b55JaLtusLKBdlke4GMaD64/Gw+NvrOLGZ8DfazD4Z9niNJdUhVf6dR Ftv9/r4Q9bE1OGGh76bVONUahNU4w8KSvKVlLMR5TwCOOKyZQEKVQlN3cEQ9rm1T0pyJjh CVavFgqcqdUT4yGk8FTtMOCBo+Zika3yV7hV8il4BGhVJWKMiQ4ZvXnxidcmug== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1730916180; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vKU+SWVV/mn5dKWHREN4yJkJoTpoDfIFIiDDpd4L2Z8=; b=TPpHspy/s32hIxz21XRCaDU7ys2rGfSXXTcG7CJdV0EnmZtnS/YzxfQO+UD+fhqeyy1TkH fwKgMXnjVjs23cx8H16Wt4UsqpFHMlbnDQRG98uD+GeMrd8VhLMBJw6Sr6tAr0CtkfAIs/ 45F+U1L0DArNRZaIeMyVqdUMSvkIk1C6QnmCsVeqImql4qtdKcjrWw2L1KPy2K3rLDKE79 xfCVRMm0mdZYY245CbaXigUmeTWYVEkUIONj1UV7O0Bz+5sKZvE2tInZQM5yuln4CrbebG Vxq67rbGI+ecY+n3I3jMQFp8htG6fhOHjCqPBk/JXwaK3DUKq4dhZatfPFpfmg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1730916180; a=rsa-sha256; cv=none; b=FqOTjGRkbMY6npjKcp5J/Hki22Mdx1bmen9odkFrhIyMhtwDDn3L0xgDKDQAHLaLLhopfs gnLVzDj7urISRMSLgNhvNAEYctfAmX3WRLWWrPM4hgcqAi5KN3Lv5L7z5/nNWrhqUxh9dO R2TJEAuYIMsGXM+TGGwvA+iyOkRY9I9Jmzgt0g6OhuNH6s6U6XxVlijx0iiMvXEMH5WAWT Zq+buEdgEQDl0cSvSj9Su6WsOrkf/6cMSQtqXYqxZ78UTNe136M/BCRvqEsGpy6WJXCtDH 1Oizg4KrDviR5nGuylBSYTKOn/CDSzY/P3AprhVWPGmMtbbgE+wa1nw675Jo2A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XkCjc1l1fz19qQ; Wed, 6 Nov 2024 18:03:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4A6I30ZY059298; Wed, 6 Nov 2024 18:03:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4A6I30uv059295; Wed, 6 Nov 2024 18:03:00 GMT (envelope-from git) Date: Wed, 6 Nov 2024 18:03:00 GMT Message-Id: <202411061803.4A6I30uv059295@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kristof Provost Subject: git: 609fa228bae6 - main - pft_ping: improve IPv6 address comparison List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 609fa228bae6d864558f5167d4a964aab2a5fc88 Auto-Submitted: auto-generated The branch main has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=609fa228bae6d864558f5167d4a964aab2a5fc88 commit 609fa228bae6d864558f5167d4a964aab2a5fc88 Author: Kristof Provost AuthorDate: 2024-10-28 13:54:50 +0000 Commit: Kristof Provost CommitDate: 2024-11-06 18:02:04 +0000 pft_ping: improve IPv6 address comparison Don't use string comparisons, use socket.inet_pton() instead. This avoids confusion when there are different ways to spell the same IP addres. e.g. 64:ff9b::c000:202 and 64:ff9b::192.0.2.2 are two representations of the same address. Sponsored by: Rubicon Communications, LLC ("Netgate") --- tests/sys/netpfil/common/pft_ping.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/tests/sys/netpfil/common/pft_ping.py b/tests/sys/netpfil/common/pft_ping.py index 0d1134a22dda..a2a1d9c7f4ec 100644 --- a/tests/sys/netpfil/common/pft_ping.py +++ b/tests/sys/netpfil/common/pft_ping.py @@ -33,6 +33,7 @@ logging.getLogger("scapy").setLevel(logging.CRITICAL) import math import scapy.all as sp import sys +import socket from copy import copy from sniffer import Sniffer @@ -227,10 +228,12 @@ def check_ipv6(expect_params, packet): if not ip6: LOGGER.debug('Packet is not IPv6!') return False - if src_address and ip6.src != src_address: + if src_address and socket.inet_pton(socket.AF_INET6, ip6.src) != \ + socket.inet_pton(socket.AF_INET6, src_address): LOGGER.debug(f'Wrong IPv6 source {ip6.src}, expected {src_address}') return False - if dst_address and ip6.dst != dst_address: + if dst_address and socket.inet_pton(socket.AF_INET6, ip6.dst) != \ + socket.inet_pton(socket.AF_INET6, dst_address): LOGGER.debug(f'Wrong IPv6 destination {ip6.dst}, expected {dst_address}') return False # IPv6 has no IP-level checksum.