mirror of
https://git.openwrt.org/openwrt/openwrt.git
synced 2026-01-27 23:47:19 +01:00
netifd: use stable IAID for DHCPv4
Commit9151c7015eintroduced support for the global DHCP DUID to generate a RFC4361-style client identifier. However, the IAID introduced in those changes is based on ifindex, which is subject to changes and causes issues on environments requiring a stable IAID. This commit switches the IAID to a stable one based on MD5. Fixes:9151c7015e("netifd: use the global DHCP DUID for DHCPv4") Link: https://github.com/openwrt/openwrt/pull/21489 Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
This commit is contained in:
parent
e1f2b666ff
commit
e1c125c167
2 changed files with 6 additions and 5 deletions
|
|
@ -1,7 +1,7 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=netifd
|
||||
PKG_RELEASE:=2
|
||||
PKG_RELEASE:=3
|
||||
|
||||
PKG_SOURCE_PROTO:=git
|
||||
PKG_SOURCE_URL=$(PROJECT_GIT)/project/netifd.git
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
[ -x /sbin/udhcpc ] || exit 0
|
||||
|
||||
. /lib/functions.sh
|
||||
. /lib/functions/network.sh
|
||||
. ../netifd-proto.sh
|
||||
. /lib/config/uci.sh
|
||||
init_proto "$@"
|
||||
|
|
@ -37,11 +38,11 @@ proto_dhcp_get_default_clientid() {
|
|||
|
||||
local iface="$1"
|
||||
local duid
|
||||
local iaid="0"
|
||||
local iaid
|
||||
|
||||
[ -e "/sys/class/net/$iface/ifindex" ] && iaid="$(cat "/sys/class/net/$iface/ifindex")"
|
||||
duid="$(uci_get network @globals[0] dhcp_default_duid)"
|
||||
[ -n "$duid" ] && printf "ff%08x%s" "$iaid" "$duid"
|
||||
network_generate_iface_iaid iaid "$iface"
|
||||
duid="$(uci_get network @globals[0] dhcp_default_duid)"
|
||||
[ -n "$duid" ] && printf "ff%s%s" "$iaid" "$duid"
|
||||
}
|
||||
|
||||
proto_dhcp_setup() {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue