Roy's Blog

A Hacker's musings on Code | Tech | Life

dhcpcd-8.1.1 has been released with the following changes:

  • IPv6: Fix a potential crash when udevs marks an interface ready.
  • Linux: compat shim added for setproctitle(3).
  • arc4random: fixed UB in compat shim.
  • DHCP: Fix fallout from dhcpcd-8.1.0 for checksum calculation.

The last fix involved a lot a people, quite a few different fixes and played havoc with gcc-9.2 but should now be resolved.

ftp://roy.marples.name/pub/dhcpcd/dhcpcd-8.1.1.tar.xz
https://roy.marples.name/downloads/dhcpcd/dhcpcd-8.1.1.tar.xz

Continue reading...

With the following changes:

  • DragonFlyBSD: Improved rc.d handling
  • Fix carrier status after a route socket overflow
  • Allow domain spaced options
  • DHCP: Allow not sending Force Renew Nonce or Reconf Accept
  • IPv4LL: Now passes Apple Bonjour test versions 1.4 and 1.5
  • ARP: Fix a typo and remove pragma (thus working with old gcc)
  • DHCP6: Fix a cosmetic issue with infinite leases
  • DHCP6: SLA 0 and Prefix Len 0 will now add a delegated /64 address
  • Ignore some virtual interfaces such as Tap and Bridge by default
  • BPF: Move validation logic out of BPF and back into dhcpcd

ftp://roy.marples.name/pub/dhcpcd/dhcpcd-8.1.0.tar.xz
https://roy.marples.name/downloads/dhcpcd/dhcpcd-8.1.0.tar.xz

Continue reading...

With the following changes:

  • inet6: Fix default route not being installed
  • DHCP: If root fs is network mounted, enable last lease extend
  • man: Fix lint errors.
  • BSD: avoid RTF_WASCLONED routes
  • DHCP: Give a better message when packet validation fails
  • DHCP: Ensure we have enough data to checksum IP and UDP

The last change fixes a potential DoS attack introduced in dhcpcd-8.0.3 when the checksuming code was changed to accomodate variable length IP headers. The commit says since 7.2.0, but I've now decided that's not the case.

ftp://roy.marples.name/pub/dhcpcd/dhcpcd-8.0.6.tar.xz
https://roy.marples.name/downloads/dhcpcd/dhcpcd-8.0.6.tar.xz

Continue reading...

With the following changes:

  • BSD: Fixed router reachability tests
  • inet6: If router unreachable, just solicit a new one
  • inet6: Fon't install a default route if only lladdresses
  • build: New make target import-src, only imports the bare essentials
  • inet6: Stop listening to NA messages
  • BSD: Listen to RTM_MISS messages
  • DHCP: Fix in_cksum for Big Endian
  • DHCP{,6}: Don't log an error if the lease file is truncated
  • Solaris: Now fully supported!

ftp://roy.marples.name/pub/dhcpcd/dhcpcd-8.0.4.tar.xz
https://roy.marples.name/downloads/dhcpcd/dhcpcd-8.0.4.tar.xz

Continue reading...

With the following changes:

  • DHCP: Work with IP headers with options
  • script: Assert that env string are correctly terminated
  • script: Terminate env strings with no value
  • script: Don't attempt to use an invalid env string
  • route: Fix NULL deference error when using static routes
  • ARP: Respect IFF_NOARP
  • DHCP: Add support for ARPHRD_NONE interfaces
  • DHCP: Allow full DHCP support for PtP interfaces, but not by default
  • DragonFlyBSD: 500704 announces IPv6 address flag changes
  • control: sends correct buffer to listeners

DragonFlyBSD-500704 kernel has the functionality dhcpcd needs to compile without any warnings. There are still improvements to be made to the whole network stack, but none of them are dhcpcd specific.

dhcpcd-ui now correctly reports SSD association and all the addresses obtained (regression from dhcpcd-7)

dhcpcd now supports QMI interfaces in RawIP mode - this is basically PtP interface without any L2 frame header. Because PtP interfaces normally configure their address via a 3rd party tool (dhcpcd waits for this address to appear), DHCP is not enabled by default. You can now enable it like so

interface wwan0
    dhcp

Or just add --dhcp on the command line.

ftp://roy.marples.name/pub/dhcpcd/dhcpcd-8.0.3.tar.xz
https://roy.marples.name/downloads/dhcpcd/dhcpcd-8.0.3.tar.xz

Continue reading...