From: Alan T. DeKok Date: Sun, 13 Jul 2025 15:43:05 +0000 (-0400) Subject: remove radius_packet_t X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ee0256a2b5e725b2b9a4df6585cc13bcdaffc043;p=thirdparty%2Ffreeradius-server.git remove radius_packet_t structs require alignment. But packets can come from anywhere, and aren't always aligned. --- diff --git a/src/bin/radsniff.c b/src/bin/radsniff.c index 1a5968c79d..fbe7328202 100644 --- a/src/bin/radsniff.c +++ b/src/bin/radsniff.c @@ -1329,7 +1329,7 @@ static void rs_packet_process(uint64_t count, rs_event_t *event, struct pcap_pkt /* * End of variable length bits, do basic check now to see if packet looks long enough */ - len = (p - data) + sizeof(udp_header_t) + sizeof(radius_packet_t); /* length value */ + len = (p - data) + sizeof(udp_header_t) + RADIUS_HEADER_LENGTH; /* length value */ if ((size_t) len > header->caplen) { REDEBUG("Packet too small, we require at least %zu bytes, captured %i bytes", (size_t) len, header->caplen); diff --git a/src/bin/radsniff.h b/src/bin/radsniff.h index 24f5e2b34f..2069fc2f46 100644 --- a/src/bin/radsniff.h +++ b/src/bin/radsniff.h @@ -97,14 +97,6 @@ typedef struct { uint64_t type[FR_RADIUS_CODE_MAX+ 1]; } rs_counters_t; -typedef struct CC_HINT(__packed__) { - uint8_t code; - uint8_t id; - uint8_t length[2]; - uint8_t vector[RADIUS_AUTH_VECTOR_LENGTH]; - uint8_t data[]; -} radius_packet_t; - /** Stats for a single interval * * And interval is defined as the time between a call to the stats output function. diff --git a/src/protocols/radius/packet.c b/src/protocols/radius/packet.c index 74185ad566..ca50d4546c 100644 --- a/src/protocols/radius/packet.c +++ b/src/protocols/radius/packet.c @@ -31,15 +31,6 @@ RCSID("$Id$") #include -typedef struct { - uint8_t code; - uint8_t id; - uint8_t length[2]; - uint8_t vector[RADIUS_AUTH_VECTOR_LENGTH]; - uint8_t data[1]; -} radius_packet_t; - - /* * Some messages get printed out only in debugging mode. */