From: Arran Cudbard-Bell Date: Thu, 1 Oct 2020 18:38:37 +0000 (-0500) Subject: Rate limit complaints from DHCPv4 and DHCPv6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fc29ccdcc0ee1e703b051dadd0386622914fc2dd;p=thirdparty%2Ffreeradius-server.git Rate limit complaints from DHCPv4 and DHCPv6 --- diff --git a/src/modules/proto_dhcpv4/proto_dhcpv4_udp.c b/src/modules/proto_dhcpv4/proto_dhcpv4_udp.c index f58dc23d8e0..c3d31579c1c 100644 --- a/src/modules/proto_dhcpv4/proto_dhcpv4_udp.c +++ b/src/modules/proto_dhcpv4/proto_dhcpv4_udp.c @@ -161,12 +161,12 @@ static ssize_t mod_read(fr_listen_t *li, void **packet_ctx, fr_time_t *recv_time &address->dst_ipaddr, &address->dst_port, &address->if_index, recv_time_p); if (data_size < 0) { - PERROR("Read error (%zd)", data_size); + RATE_LIMIT_GLOBAL(PERROR, "Read error (%zd)", data_size); return data_size; } if (!data_size) { - WARN("Got no data - ignoring"); + RATE_LIMIT_GLOBAL(WARN, "Got no data - ignoring"); return 0; } @@ -175,7 +175,7 @@ static ssize_t mod_read(fr_listen_t *li, void **packet_ctx, fr_time_t *recv_time * packet may be smaller than the parent UDP packet. */ if (!fr_dhcpv4_ok(buffer, data_size, &message_type, &xid)) { - PWARN("Invalid packet - ignoring"); + RATE_LIMIT_GLOBAL(PWARN, "Invalid packet - ignoring"); return 0; } @@ -189,7 +189,7 @@ static ssize_t mod_read(fr_listen_t *li, void **packet_ctx, fr_time_t *recv_time memcpy(&ipaddr, &packet->giaddr, 4); if ((packet->opcode == 2) && (ipaddr != address->dst_ipaddr.addr.v4.s_addr)) { DEBUG2("Ignoring server reply which was not meant for us (was for 0x%x).", - ntohl(address->dst_ipaddr.addr.v4.s_addr)); + ntohl(address->dst_ipaddr.addr.v4.s_addr)); return 0; } diff --git a/src/modules/proto_dhcpv6/proto_dhcpv6_udp.c b/src/modules/proto_dhcpv6/proto_dhcpv6_udp.c index 777a23ec18d..9ea5cf25284 100644 --- a/src/modules/proto_dhcpv6/proto_dhcpv6_udp.c +++ b/src/modules/proto_dhcpv6/proto_dhcpv6_udp.c @@ -160,12 +160,12 @@ static ssize_t mod_read(fr_listen_t *li, void **packet_ctx, fr_time_t *recv_time &address->dst_ipaddr, &address->dst_port, &address->if_index, recv_time_p); if (data_size < 0) { - PERROR("Read error (%zd)", data_size); + RATE_LIMIT_GLOBAL(PERROR, "Read error (%zd)", data_size); return data_size; } if ((size_t) data_size < sizeof(fr_dhcpv6_packet_t)) { - WARN("Insufficient data - ignoring"); + RATE_LIMIT_GLOBAL(WARN, "Insufficient data - ignoring"); return 0; } @@ -177,7 +177,7 @@ static ssize_t mod_read(fr_listen_t *li, void **packet_ctx, fr_time_t *recv_time */ packet = (fr_dhcpv6_packet_t *) buffer; if (!packet->code || (packet->code >= FR_DHCPV6_MAX_CODE)) { - WARN("Unsupported packet code %d - ignoring", packet->code); + RATE_LIMIT_GLOBAL(WARN, "Unsupported packet code %d - ignoring", packet->code); return 0; } @@ -189,7 +189,7 @@ static ssize_t mod_read(fr_listen_t *li, void **packet_ctx, fr_time_t *recv_time if ((packet->code == FR_DHCPV6_SOLICIT) || (packet->code == FR_DHCPV6_REBIND) || (packet->code == FR_DHCPV6_CONFIRM)) { - WARN("Unicast packet %s - ignoring", fr_dhcpv6_packet_types[packet->code]); + RATE_LIMIT_GLOBAL(WARN, "Unicast packet %s - ignoring", fr_dhcpv6_packet_types[packet->code]); return 0; } } /* else it was multicast... remember that */