chiark / gitweb /
sd-dhcp: minimum options size is part of the protocol
authorTom Gundersen <teg@jklm.no>
Fri, 14 Feb 2014 10:58:41 +0000 (11:58 +0100)
committerTom Gundersen <teg@jklm.no>
Sat, 15 Feb 2014 11:14:45 +0000 (12:14 +0100)
src/libsystemd-dhcp/dhcp-protocol.h
src/libsystemd-dhcp/sd-dhcp-client.c

index abdfe8d54b8965308a6261b07c79b88464741c71..81d36cef2793dda1b968f3fc53df893188a47323 100644 (file)
@@ -58,6 +58,7 @@ typedef struct DHCPPacket DHCPPacket;
 #define DHCP_IP_SIZE            (int32_t)(sizeof(struct iphdr))
 #define DHCP_IP_UDP_SIZE        (int32_t)(sizeof(struct udphdr) + DHCP_IP_SIZE)
 #define DHCP_MESSAGE_SIZE       (int32_t)(sizeof(DHCPMessage))
+#define DHCP_MIN_OPTIONS_SIZE   312
 
 enum {
         DHCP_PORT_SERVER                        = 67,
index 39c2eebffcdb320104f3026a514fb48f641b51c1..bff35885f6683597f7d61b0f8ff4a8bd61d9e658 100644 (file)
@@ -32,8 +32,6 @@
 #include "dhcp-internal.h"
 #include "sd-dhcp-client.h"
 
-#define DHCP_CLIENT_MIN_OPTIONS_SIZE            312
-
 struct sd_dhcp_client {
         DHCPState state;
         sd_event *event;
@@ -237,7 +235,7 @@ static int client_message_init(sd_dhcp_client *client, DHCPMessage *message,
                    defined default size unless the Maximum Messge Size option
                    is explicitely set */
                 max_size = htobe16(DHCP_IP_UDP_SIZE + DHCP_MESSAGE_SIZE +
-                                   DHCP_CLIENT_MIN_OPTIONS_SIZE);
+                                   DHCP_MIN_OPTIONS_SIZE);
                 r = dhcp_option_append(opt, optlen,
                                        DHCP_OPTION_MAXIMUM_MESSAGE_SIZE,
                                        2, &max_size);
@@ -254,7 +252,7 @@ static int client_send_discover(sd_dhcp_client *client, uint16_t secs) {
         size_t optlen, len;
         uint8_t *opt;
 
-        optlen = DHCP_CLIENT_MIN_OPTIONS_SIZE;
+        optlen = DHCP_MIN_OPTIONS_SIZE;
         len = sizeof(DHCPPacket) + optlen;
 
         discover = malloc0(len);
@@ -293,7 +291,7 @@ static int client_send_request(sd_dhcp_client *client, uint16_t secs) {
         int err;
         uint8_t *opt;
 
-        optlen = DHCP_CLIENT_MIN_OPTIONS_SIZE;
+        optlen = DHCP_MIN_OPTIONS_SIZE;
         len = DHCP_MESSAGE_SIZE + optlen;
 
         request = malloc0(len);
@@ -801,7 +799,7 @@ error:
 static int client_receive_message_raw(sd_event_source *s, int fd,
                                       uint32_t revents, void *userdata) {
         sd_dhcp_client *client = userdata;
-        uint8_t buf[sizeof(DHCPMessage) + DHCP_CLIENT_MIN_OPTIONS_SIZE];
+        uint8_t buf[sizeof(DHCPMessage) + DHCP_MIN_OPTIONS_SIZE];
         int buflen = sizeof(buf);
         int len, r = 0;
         usec_t time_now;
@@ -825,7 +823,7 @@ static int client_receive_message_raw(sd_event_source *s, int fd,
 static int client_receive_message_udp(sd_event_source *s, int fd,
                                       uint32_t revents, void *userdata) {
         sd_dhcp_client *client = userdata;
-        uint8_t buf[sizeof(DHCPPacket) + DHCP_CLIENT_MIN_OPTIONS_SIZE];
+        uint8_t buf[sizeof(DHCPPacket) + DHCP_MIN_OPTIONS_SIZE];
         int buflen = sizeof(buf);
         int len, r = 0;
         DHCPPacket *packet;