From: Colin Foster Date: Wed, 11 Jun 2025 10:50:20 +0000 (-0500) Subject: dhcp: relocate type field X-Git-Tag: v258-rc1~328^2~7 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=be40a31f5c7adbd27afcb55867494d8f691e7899;p=thirdparty%2Fsystemd.git dhcp: relocate type field The type field is a DHCP-specific parameter. Relocate the parameter so there is a clearer separation between DHCP and BOOTP parameters. --- diff --git a/src/libsystemd-network/dhcp-packet.c b/src/libsystemd-network/dhcp-packet.c index 46317c997ce..f08eef01c96 100644 --- a/src/libsystemd-network/dhcp-packet.c +++ b/src/libsystemd-network/dhcp-packet.c @@ -17,10 +17,10 @@ int dhcp_message_init( DHCPMessage *message, uint8_t op, uint32_t xid, - uint8_t type, uint16_t arp_type, uint8_t hlen, const uint8_t *chaddr, + uint8_t type, size_t optlen, size_t *optoffset) { diff --git a/src/libsystemd-network/dhcp-packet.h b/src/libsystemd-network/dhcp-packet.h index a7f2e12b4f1..c289daa038e 100644 --- a/src/libsystemd-network/dhcp-packet.h +++ b/src/libsystemd-network/dhcp-packet.h @@ -8,10 +8,10 @@ int dhcp_message_init( DHCPMessage *message, uint8_t op, uint32_t xid, - uint8_t type, uint16_t arp_type, uint8_t hlen, const uint8_t *chaddr, + uint8_t type, size_t optlen, size_t *optoffset); diff --git a/src/libsystemd-network/sd-dhcp-client.c b/src/libsystemd-network/sd-dhcp-client.c index 2cb60b92ce9..7e2ce91a314 100644 --- a/src/libsystemd-network/sd-dhcp-client.c +++ b/src/libsystemd-network/sd-dhcp-client.c @@ -789,9 +789,9 @@ static int client_message_init( if (!packet) return -ENOMEM; - r = dhcp_message_init(&packet->dhcp, BOOTREQUEST, client->xid, type, + r = dhcp_message_init(&packet->dhcp, BOOTREQUEST, client->xid, client->arp_type, client->hw_addr.length, client->hw_addr.bytes, - optlen, &optoffset); + type, optlen, &optoffset); if (r < 0) return r; diff --git a/src/libsystemd-network/sd-dhcp-server.c b/src/libsystemd-network/sd-dhcp-server.c index af87b152386..099362d1ae3 100644 --- a/src/libsystemd-network/sd-dhcp-server.c +++ b/src/libsystemd-network/sd-dhcp-server.c @@ -518,9 +518,9 @@ static int server_message_init( return -ENOMEM; r = dhcp_message_init(&packet->dhcp, BOOTREPLY, - be32toh(req->message->xid), type, + be32toh(req->message->xid), req->message->htype, req->message->hlen, req->message->chaddr, - req->max_optlen, &optoffset); + type, req->max_optlen, &optoffset); if (r < 0) return r; @@ -713,7 +713,7 @@ static int server_send_forcerenew( return -ENOMEM; r = dhcp_message_init(&packet->dhcp, BOOTREPLY, 0, - DHCP_FORCERENEW, htype, hlen, chaddr, + htype, hlen, chaddr, DHCP_FORCERENEW, DHCP_MIN_OPTIONS_SIZE, &optoffset); if (r < 0) return r; diff --git a/src/libsystemd-network/test-dhcp-option.c b/src/libsystemd-network/test-dhcp-option.c index 9e36e038599..05572e0b21a 100644 --- a/src/libsystemd-network/test-dhcp-option.c +++ b/src/libsystemd-network/test-dhcp-option.c @@ -87,7 +87,7 @@ static void test_message_init(void) { message = malloc0(len); assert_se(dhcp_message_init(message, BOOTREQUEST, 0x12345678, - DHCP_DISCOVER, ARPHRD_ETHER, ETH_ALEN, (uint8_t[16]){}, + ARPHRD_ETHER, ETH_ALEN, (uint8_t[16]){}, DHCP_DISCOVER, optlen, &optoffset) >= 0); assert_se(message->xid == htobe32(0x12345678));