From 7d9bdbd950110518f7e9fad850ab357690fcf7d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ryan=20O=E2=80=99Hara?= Date: Sat, 6 Jun 2026 19:46:27 -0700 Subject: [PATCH] Clean up distinguished but equivalent path in `vmid_to_ipv4` For all `vmid`s from 1 to 254, `(vmid >> 8, vmid & 0xff) == ((vmid - 1) // 254, (vmid - 1) % 254 + 1) == (0, vmid)`. --- qubes/vm/mix/net.py | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/qubes/vm/mix/net.py b/qubes/vm/mix/net.py index 04a6ef315..252ce8b56 100644 --- a/qubes/vm/mix/net.py +++ b/qubes/vm/mix/net.py @@ -108,13 +108,10 @@ def __str__(self): def vmid_to_ipv4(prefix, vmid): + if vmid not in range(1, 256 * 254 + 1): + raise ValueError("vmid out of range") # avoid .0 and .255 addresses, it may trip some heuristics # if OS assumes /24 netmask - # preserve unchanged IPs for low vmid - if vmid < 255: - return ipaddress.IPv4Address( - "{}.{}.{}".format(prefix, (vmid >> 8) & 0xFF, vmid & 0xFF) - ) # don't reserve first .1 for vmid 0, as it is invalid vmid -= 1 return ipaddress.IPv4Address(