odhcpd: update to Git HEAD (2025-11-14)
authorÁlvaro Fernández Rojas <[email protected]>
Sat, 15 Nov 2025 07:25:32 +0000 (08:25 +0100)
committerÁlvaro Fernández Rojas <[email protected]>
Mon, 17 Nov 2025 07:14:26 +0000 (08:14 +0100)
d3dc577d7e84 dhcpv6-ia: add missing limits header
be7ca7c0792b config: fix memleak during odhcpd reload
366bd81804a6 dhcpv4: update ubus DHCPv4 events/methods
942df078b670 odhcpd: rename dhcpv6_lease->clid[_data|_len]
f872ae543e6d odhcpd: rename [lease_cfg|dhcpv4_lease]->ipaddr to ipv4
aa6870be6be4 dhcpv4: use an AVL to store leases
f2d3f907e9e0 github: ci: add powerpc arch
62b94b9abac3 github: ci: add cmake build and source directories
e523232ba223 github: ci: disable json-c tests
764fda0d05a8 scripts: devel-build: disable json-c tests
f13d2cecaebf netlink: fix typo in debug msg
fa6e63bb8200 src: fix whitespace issues
2c6a9d6e12d4 vscode: enable indentation detection
b6ade2ebc514 odhcpd: add support for "ignore"
77f9a0dad517 statefiles: support per-interface hosts files
9ba4e3e0f5c5 statefiles: don't make hostsfile dependent on statefile
be9c9f895ab4 statefiles: don't write expired leases
f6f2ef2de045 statefiles: simplify statefiles_write_state6()
940ecbb39161 statefiles: write straight to file in statefiles_write_state4()
ebe0b83db6a9 statefiles: correct some comments/variable names
67a6626dd2f5 statefiles: unify host4 writing
bf9889dfcd47 statefiles: unify host6 writing
593b6b72927c statefiles: group functions
8b2a62250485 statefiles: add function to write IPv4 hosts
06904ee1d4fb statefiles: simplify state/host file writing
bb39f088f3ef statefiles: move dhcpv6_ia_enum_addrs() to odhcpd.c
cc614a451f9b statefiles: add dhcpv6_lease to dhcpv6_log_ia_addr() args
8500654e39d5 statefiles: create helper functions to write leases
98276afcff82 statefiles: introduce statefiles_write()
310846535d06 statefiles: use dirfd in dhcpv6_ia_write_statefile()
50c35c3195f2 statefiles: bail early in dhcpv6_ia_write_statefile()
134ec453dd58 statefiles: simplify dhcpv6_ia_write_hostsfile()
7136fbe390a5 dhcpv6-ia: split statefile handling to separate file
2b26df1293c1 src: replace #pragma once with defines
43baf47948c6 src: remove whitespaces at EOL
df1824aec66c vscode: add tab settings
a89b57fa1786 odhcpd: Implement RFC9762 DHCPv6 PD Preferred flag for PIOs
e63ec4001f83 dhcpv4: add support for RFC4361-style clientid
29357349b33a odhcpd: remove the "legacy" option
f6ba8004d699 odhcpd: document the "upstream" option
56c06a162a4f odhcpd: document the "ra_advrouter" option
e3aaf3312cd5 odhcpd: remove the "ra_management" option
5238defd2c1d odhcpd: remove the "pd_manager" and "pd_cer" options
4f20351c3713 odhcpd: remove the "filter_class" option
869e2231bbc9 config: drop iface_attr_info
af446679d112 README.md: add missing options
7d1b081dcb1b dhcpv4: lazy store statefiles

https://github.com/openwrt/odhcpd/compare/d44af6dd8f4e...d3dc577d7e84

Signed-off-by: Álvaro Fernández Rojas <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20789
package/network/services/odhcpd/Makefile
package/network/services/odhcpd/files/odhcpd.defaults

index 8d2ba36bbc2654b739931bcca53774356dfc1a1f..defd6c85f5862790b6141d6b843cd58b70d8e3f8 100644 (file)
@@ -8,13 +8,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=odhcpd
-PKG_RELEASE:=5
+PKG_RELEASE:=1
 
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL=$(PROJECT_GIT)/project/odhcpd.git
-PKG_MIRROR_HASH:=7e7b331972ca1e9847c49dd65e37fbb16c9c3b04dec479a1fa6f2b216a5f53f1
-PKG_SOURCE_DATE:=2025-11-04
-PKG_SOURCE_VERSION:=d44af6dd8f4e1dd0d858ae19419057ab4f319310
+PKG_MIRROR_HASH:=2b5f21240010d1374f92800c1aa586edf646566fc1b853f35cda93032779aca4
+PKG_SOURCE_DATE:=2025-11-14
+PKG_SOURCE_VERSION:=d3dc577d7e843b21ecae0b17de4a6cce36b075db
 
 PKG_MAINTAINER:=Hans Dedecker <[email protected]>
 PKG_LICENSE:=GPL-2.0
index ac73780a94f5cc4fc4af398406b3cbc76b7a05e2..76c75b060acc2d9d7827a0d37f75319a177ebb6c 100644 (file)
@@ -2,6 +2,8 @@
 
 if [ -n "$(uci -q get dhcp.odhcpd)" ]; then
        local commit
+       local hostsfile
+
        commit=0
 
        if [ -z "$(uci -q get dhcp.odhcpd.piofolder)" ]; then
@@ -14,7 +16,23 @@ if [ -n "$(uci -q get dhcp.odhcpd)" ]; then
                commit=1
        fi
 
+       hostsfile=$(uci -q get dhcp.odhcpd.hostsfile)
+       if [ -n "$hostsfile" ]; then
+               uci delete dhcp.odhcpd.hostsfile
+               uci set dhcp.odhcpd.hostsdir="$(dirname $hostsfile)"
+               commit=1
+       elif [ -z "$(uci -q get dhcp.odhcpd.hostsdir)" ]; then
+               uci set dhcp.odhcpd.hostsdir=/tmp/hosts
+               commit=1
+       fi
+
+       if [ "$(uci -q get dhcp.odhcpd.leasefile)" == "/tmp/hosts/odhcpd" ]; then
+               uci set dhcp.odhcpd.leasefile=/tmp/odhcpd.leases
+               commit=1
+       fi
+
        [ "$commit" -eq 1 ] && uci commit dhcp
+
        exit 0
 fi
 
@@ -57,10 +75,11 @@ EOF
 uci batch <<EOF
 set dhcp.odhcpd=odhcpd
 set dhcp.odhcpd.maindhcp=$ODHCPDONLY
-set dhcp.odhcpd.leasefile=/tmp/hosts/odhcpd
+set dhcp.odhcpd.leasefile=/tmp/odhcpd.leases
 set dhcp.odhcpd.leasetrigger=/usr/sbin/odhcpd-update
 set dhcp.odhcpd.loglevel=4
 set dhcp.odhcpd.piofolder=/tmp/odhcpd-piofolder
+set dhcp.odhcpd.hostsdir=/tmp/hosts
 set dhcp.lan.dhcpv4=$V4MODE
 set dhcp.lan.dhcpv6=$V6MODE
 set dhcp.lan.ra=$V6MODE