do not delegate ULA prefixes
authorKevin Darbyshire-Bryant <[email protected]>
Sat, 30 Dec 2023 11:32:55 +0000 (11:32 +0000)
committerKevin Darbyshire-Bryant <[email protected]>
Fri, 5 Dec 2025 20:48:05 +0000 (20:48 +0000)
src/dhcpv6-ia.c

index edd7823cc71cf6e0eb5ab5308f6f7fa3d4a5beee..8011a27232a7758e50502b0987a281221faa7fee 100644 (file)
@@ -674,6 +674,12 @@ static size_t build_ia(uint8_t *buf, size_t buflen, uint16_t status,
                                o_ia_p.addr.s6_addr32[1] |= htonl(a->assigned_subnet_id);
                                o_ia_p.addr.s6_addr32[2] = o_ia_p.addr.s6_addr32[3] = 0;
 
+                               /* Awful hack: Do NOT delegate local ULA prefixes.
+                               They confuse my Sky VOIP box. Should be able to do this
+                               on a per interface or even per client basis. */
+                               if (o_ia_p.addr.s6_addr[0] == 0xFD)
+                                       continue;
+
                                if (!valid_prefix_length(a, addrs[i].prefix_len))
                                        continue;