odhcpd: remove mac_len argument to ubus_bcast_dhcp_event()
authorDavid Härdeman <[email protected]>
Tue, 7 Oct 2025 11:44:08 +0000 (13:44 +0200)
committerÁlvaro Fernández Rojas <[email protected]>
Thu, 9 Oct 2025 06:48:51 +0000 (08:48 +0200)
All the places that call ubus_bcast_dhcp_event() have already checked that the
hardware adress is a MAC address, and it's not like we support anything else,
so remove the length argument.

The function is actually DHCPv4 specific, but that's a topic for another time.

Signed-off-by: David Härdeman <[email protected]>
Link: https://github.com/openwrt/odhcpd/pull/270
Signed-off-by: Álvaro Fernández Rojas <[email protected]>
src/dhcpv4.c
src/odhcpd.h
src/ubus.c

index 8b6a0ce639157f2d796f4468e95d3cabcd6b6382..d63e76a536c92fa0cc9f2c55219074371d3d7fd4 100644 (file)
@@ -705,7 +705,7 @@ void dhcpv4_handle_msg(void *addr, void *data, size_t len,
 
        if (reqmsg == DHCPV4_MSG_RELEASE) {
                struct in_addr ciaddr = req->ciaddr; // ensure pointer alignment
-               ubus_bcast_dhcp_event("dhcp.release", req->chaddr, req->hlen,
+               ubus_bcast_dhcp_event("dhcp.release", req->chaddr,
                                      &ciaddr, a ? a->hostname : NULL, iface->ifname);
        }
 
@@ -933,7 +933,7 @@ void dhcpv4_handle_msg(void *addr, void *data, size_t len,
 
        if (msg == DHCPV4_MSG_ACK) {
                struct in_addr yiaddr = reply.yiaddr; // ensure pointer alignment
-               ubus_bcast_dhcp_event("dhcp.ack", req->chaddr, req->hlen, &yiaddr,
+               ubus_bcast_dhcp_event("dhcp.ack", req->chaddr, &yiaddr,
                                      a ? a->hostname : NULL, iface->ifname);
        }
 }
index 72442742c4d787aa26da36d89c8d345a56cdacf2..0903487d5dc43a2e89ead37cfbf03da317aee10e 100644 (file)
@@ -520,8 +520,8 @@ const char* ubus_get_ifname(const char *name);
 void ubus_apply_network(void);
 bool ubus_has_prefix(const char *name, const char *ifname);
 void ubus_bcast_dhcp_event(const char *type, const uint8_t *mac,
-                          const size_t mac_len, const struct in_addr *addr,
-                          const char *name, const char *interface);
+                          const struct in_addr *addr, const char *name,
+                          const char *interface);
 #else
 static inline int ubus_init(void)
 {
@@ -535,8 +535,8 @@ static inline void ubus_apply_network(void)
 
 static inline
 void ubus_bcast_dhcp_event(const char *type, const uint8_t *mac,
-                          const size_t mac_len, const struct in_addr *addr,
-                          const char *name, const char *interface)
+                          const struct in_addr *addr, const char *name,
+                          const char *interface)
 {
        return;
 }
index 5c4a99f4811ae9176148641f42a38c64738b44b4..987e0b406ac0c4c4f744d3201dc924536e4cf241 100644 (file)
@@ -401,15 +401,15 @@ static const struct blobmsg_policy obj_attrs[OBJ_ATTR_MAX] = {
 };
 
 void ubus_bcast_dhcp_event(const char *type, const uint8_t *mac,
-               const size_t mlen, const struct in_addr *addr, const char *name,
-               const char *interface)
+                          const struct in_addr *addr, const char *name,
+                          const char *interface)
 {
        if (!ubus || !main_object.has_subscribers)
                return;
 
        blob_buf_init(&b, 0);
        if (mac)
-               blobmsg_add_string(&b, "mac", odhcpd_print_mac(mac, mlen));
+               blobmsg_add_string(&b, "mac", odhcpd_print_mac(mac, ETH_ALEN));
        if (addr)
                blobmsg_add_string(&b, "ip", inet_ntoa(*addr));
        if (name)