Roy's Blog

A Hacker's musings on Code | Tech | Life

A long overdue release, and apologies for the wait Fixed stuff:

  • Added support for setproctitle(3)
  • Kernel RA is no longer disabled when IPv6 is disabled in dhcpcd
  • DHCPv6 PD is no longer stopped if no Routers are found
  • If the DHCP leased address is deleted, enter the reboot state
  • DHCPv6 unicast is no longer performed when not in master mode
  • dhcpcd will now detect netlink/route socket overflows ad re-sync

The last point is the one that took sometime, mainly because I had to patch the NetBSD kernel on my router where this happens a lot when booting. Technically this was achieved just as in Linux - recv(2) now returns ENOBUFS when the internal receive buffer as overflowed. OpenBSD has a different approach where they flush the internal buffer and send a custom route(4) RTM_DESYNC message. This is supported as well.

Once overflowed, dhcpcd will close the socket to throw away now garbage messages and open a new one. Then it will re-learn interfaces (+ their carrier state and flags) and addresses (+ their flags and lifetimes). dhcpcd will then run the hooks for any departed/arrvied/carrier/nocarrier events resulting from this, in other words it should function as if nothing happened.

ftp://roy.marples.name/pub/dhcpcd/dhcpcd-7.0.2.tar.xz
ftp://roy.marples.name/pub/dhcpcd/dhcpcd-7.0.2.tar.xz.distinfo.asc
https://roy.marples.name/downloads/dhcpcd/dhcpcd-7.0.2.tar.xz
https://roy.marples.name/downloads/dhcpcd/dhcpcd-7.0.2.tar.xz.distinfo.asc

Continue reading...

Happy Birthday to me! 45 yours young today! To celebrate, I released a minor update to dhcpcd-7 with the following changes:

  • hooks: remove use of local builtin for better portability
  • Fix build issue when __GNUC__ <= 2 (thanks to Chris Hathhorn)
  • dhcpcd: don't log errors working out carrier for departed interfaces
  • ipv4: allow configuration of static broadcast address
  • if: don't set MTU during interface discovery
  • if: don't activate non matching interfaces to commandline ones
  • configure: make --includedir=/usr/src/foo work
  • eloop-bench: fix hangs when using a large number of cycles
  • dhcp: don't bind when we've just probed an address to inform

ftp://roy.marples.name/pub/dhcpcd/dhcpcd-7.0.1.tar.xz
ftp://roy.marples.name/pub/dhcpcd/dhcpcd-7.0.1.tar.xz
https://roy.marples.name/downloads/dhcpcd/dhcpcd-7.0.1.tar.xz
https://roy.marples.name/downloads/dhcpcd/dhcpcd-7.0.1.tar.xz.distinfo.asc

Continue reading...

Welcome to 2018 :)
dhcpcd-7.0.0 has been released!

Here's the list of changes from rc4:

  • dhcp: when unicasting on L3, unicast on L2 as well
  • dhcp: when rebooting, don't set cidaddr
  • dhcp6: don't listen on IPv6 addresses when not using DHCPv6
  • dhcp: only set probe state when probing (fixes REBOOT reason)
  • linux: use IFA_F_NOPREFIXROUTE for IPv4 addresses
  • ipv6: disable kernel RA if interface is active
  • hooks: set protocol to link for link layer events

ftp://roy.marples.name/pub/dhcpcd/dhcpcd-7.0.0.tar.xz
ftp://roy.marples.name/pub/dhcpcd/dhcpcd-7.0.0.tar.xz.distinfo.asc
https://roy.marples.name/downloads/dhcpcd/dhcpcd-7.0.0.tar.xz
https://roy.marples.name/downloads/dhcpcd/dhcpcd-7.0.0.tar.xz.distinfo.asc

Continue reading...

dhcpcd-7.0.0-rc4 has been released with the following changes:

  • Mark routes as set by RA/DHCP in Linux
  • Don't flush prefix routes/routers if kernel does not support RA
  • Remove OpenBSD route labels
  • dhcp: improve errors around UDP checksum failure
  • dhcp: announce existing addresses before rebooting
  • bpf: rework loop so that we can close/reopen fd inside and abort
  • ipv6nd: don't handle NA/RA for non active interfaces
  • dhcp6: listen on all addresses in non master mode
  • dhcpcd-run-hooks: set protocol in dhcpcd, don't guess
  • Ensure that xid is unique across all interfaces
  • dhcp6: redirect message to interface which uses the xid
  • bsd: strip scope from LL addresses when detecting their addition
  • ipv6nd: fix address lifetime overflow on carrier up
  • dhcp6: fix confirmation of lease on carrier up
  • eloop: fix signal catching before eloop is started on Linux

I was hoping this would be the final 7.0.0 release, but two of the above fixes were quite invasive. Maybe there will be zero issues at Christmas!

ftp://roy.marples.name/pub/dhcpcd/dhcpcd-7.0.0-rc4.tar.xz
ftp://roy.marples.name/pub/dhcpcd/dhcpcd-7.0.0-rc4.tar.xz.distinfo.asc
https://roy.marples.name/downloads/dhcpcd/dhcpcd-7.0.0-rc4.tar.xz
https://roy.marples.name/downloads/dhcpcd/dhcpcd-7.0.0-rc4.tar.xz.distinfo.asc

Continue reading...

Scaring our local Beaver Scout Colony with my good friend Aaron the Zombie.

Continue reading...