From: Stuart Henderson Subject: Re: dhcpcd delegation expiration bug To: Courtney Cc: ports@openbsd.org Date: Thu, 5 Dec 2024 12:15:40 +0000 Thanks. I've updated -stable to 10.1.0. On 2024/12/04 14:30, Courtney wrote: > There is a bug in dhcpcd in 7.6-release that makes it so the IPv6 prefix > delegation expires before renewal. > > https://github.com/NetworkConfiguration/dhcpcd/issues/368 > > There was a bug fix that was implemented upstream > > https://github.com/NetworkConfiguration/dhcpcd/commit/6cb9e8b74f033afdf1b4f29cd5b9943268a32a60 > > The diff is small, only 3 lines according to the commit. Currently, as an > Xfinity > user, my prefix delegation expires now since my upgrade to 7.6 and I have to > occasionally > restart dhcpcd to keep it/get it back. The fix made it into dhcpcd 10.1.0, > but 7.6-release > is on 10.0.10. Is it possible to get this fix into 7.6-stable or get dhcpcd > 10.1.0 ported to 7.6-stable? > > I made a patches/patch-src_dhcp6_c file for the port. Built it and running > now to see if that solves the issue. > > Index: src/dhcp6.c > --- src/dhcp6.c.orig > +++ src/dhcp6.c > @@ -2251,8 +2251,8 @@ dhcp6_findpd(struct interface *ifp, const uint8_t *iai >                 memcpy(&pdp_plen, o, sizeof(pdp_plen)); >                 o += sizeof(pdp_plen); > > -               pdp_pltime = (uint16_t)ntohl(pdp_pltime); > -               pdp_vltime = (uint16_t)ntohl(pdp_vltime); > +               pdp_pltime = ntohl(pdp_pltime); > +               pdp_vltime = ntohl(pdp_vltime); >                 /* RFC 3315 22.6 */ >                 if (pdp_pltime > pdp_vltime) { >                         errno = EINVAL; > @@ -2561,7 +2561,7 @@ dhcp6_deprecateaddrs(struct ipv6_addrhead *addrs) >                         continue; >                 } >                 TAILQ_REMOVE(addrs, ia, next); > -               if (ia->flags & IPV6_AF_EXTENDED) > +               if (!(ia->flags & IPV6_AF_EXTENDED)) >                         ipv6_deleteaddr(ia); >                 ipv6_freeaddr(ia); >         } > > > Courtney >