]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Rate limit complaints from DHCPv4 and DHCPv6
authorArran Cudbard-Bell <a.cudbardb@freeradius.org>
Thu, 1 Oct 2020 18:38:37 +0000 (13:38 -0500)
committerArran Cudbard-Bell <a.cudbardb@freeradius.org>
Thu, 1 Oct 2020 20:06:00 +0000 (15:06 -0500)
src/modules/proto_dhcpv4/proto_dhcpv4_udp.c
src/modules/proto_dhcpv6/proto_dhcpv6_udp.c

index f58dc23d8e0fa5f5c7edfa9c4f3857bea6758c4d..c3d31579c1c04224821093185b5c4dc770cdb1f3 100644 (file)
@@ -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;
        }
 
index 777a23ec18dbb4bcd04a64105d14637ee3c324b7..9ea5cf2528480f90b664a2c724e143d42581108a 100644 (file)
@@ -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 */