sd-dhcp: rely on FIONREAD working
This fallback will anyway never get tested, so rip it out.
This commit is contained in:
parent
04b28be1a3
commit
23289745d7
|
@ -60,7 +60,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 308
|
||||
#define DHCP_MIN_OPTIONS_SIZE 308 /* spec says 312, but that includes the magic cookie */
|
||||
#define DHCP_MAGIC_COOKIE (uint32_t)(0x63825363)
|
||||
|
||||
enum {
|
||||
|
|
|
@ -1186,8 +1186,12 @@ static int client_receive_message_udp(sd_event_source *s, int fd,
|
|||
assert(client);
|
||||
|
||||
r = ioctl(fd, FIONREAD, &buflen);
|
||||
if (r < 0 || buflen <= 0)
|
||||
buflen = sizeof(DHCPMessage) + DHCP_MIN_OPTIONS_SIZE;
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
if (buflen < 0)
|
||||
/* this can't be right */
|
||||
return -EIO;
|
||||
|
||||
message = malloc0(buflen);
|
||||
if (!message)
|
||||
|
@ -1224,8 +1228,12 @@ static int client_receive_message_raw(sd_event_source *s, int fd,
|
|||
assert(client);
|
||||
|
||||
r = ioctl(fd, FIONREAD, &buflen);
|
||||
if (r < 0 || buflen <= 0)
|
||||
buflen = sizeof(DHCPPacket) + DHCP_MIN_OPTIONS_SIZE;
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
if (buflen < 0)
|
||||
/* this can't be right */
|
||||
return -EIO;
|
||||
|
||||
packet = malloc0(buflen);
|
||||
if (!packet)
|
||||
|
|
Loading…
Reference in New Issue