]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
tweak error messages to be clearer
authorAlan T. DeKok <aland@freeradius.org>
Fri, 30 Jan 2026 19:24:23 +0000 (14:24 -0500)
committerAlan T. DeKok <aland@freeradius.org>
Fri, 30 Jan 2026 19:24:23 +0000 (14:24 -0500)
src/listen/radius/proto_radius.c
src/listen/radius/proto_radius_tcp.c
src/listen/radius/proto_radius_udp.c

index 4734398ceab0a661b3fe74b66b3dac0abe2713a4..7903b4945cbf5c4337bd7af8d96e530b4343e861 100644 (file)
@@ -208,18 +208,17 @@ void proto_radius_log(fr_listen_t *li, char const *name, fr_radius_decode_fail_t
        if (*fmt) msg = talloc_asprintf(NULL, fmt, ap);
        va_end(ap);
 
-       DEBUG2("proto_%s - failed reading socket %s - %s",
-              li->app_io->common.name, name, fr_radius_decode_fail_reason[reason]);
-
        if (sock) {
-               DEBUG2("proto_%s - from client %pV port %u",
-                      li->app_io->common.name, fr_box_ipaddr(sock->inet.src_ipaddr), sock->inet.src_port);
+               DEBUG2("proto_%s - discarding packet on socket %s from client %pV port %u - %s (%s)",
+                      li->app_io->common.name, name,
+                      fr_box_ipaddr(sock->inet.src_ipaddr), sock->inet.src_port,
+                      msg,
+                      fr_radius_decode_fail_reason[reason]);
+       } else {
+               DEBUG2("proto_%s - discarding packet on socket %s - %s (%s)",
+                      li->app_io->common.name, name, msg, fr_radius_decode_fail_reason[reason]);
        }
 
-       if (!msg) return;
-
-       DEBUG2("proto_%s - %s",
-              li->app_io->common.name, name, msg);
        talloc_free(msg);
 }
 DIAG_ON(format-nonliteral)
index dde4b1bc8442c03d4c2b4deac2b1219ae4bde46b..d230e91dd6f634ad8e7e91ad4ce92f0d74245026 100644 (file)
@@ -153,7 +153,7 @@ static ssize_t mod_read(fr_listen_t *li, UNUSED void **packet_ctx, fr_time_t *re
                }
 
                proto_radius_log(li, thread->name, FR_RADIUS_FAIL_IO_ERROR, NULL,
-                                "error reading socket - %s", fr_strerror());
+                                "%s", fr_strerror());
                return data_size;
        }
 
@@ -178,7 +178,7 @@ have_packet:
         */
        if ((buffer[0] == 0) || (buffer[0] >= FR_RADIUS_CODE_MAX)) {
                proto_radius_log(li, thread->name, FR_RADIUS_FAIL_UNKNOWN_PACKET_CODE, NULL,
-                                "received packet code %u", buffer[0]);
+                                "Received packet code %u", buffer[0]);
                thread->stats.total_unknown_types++;
                return -1;
        }
@@ -217,7 +217,7 @@ have_packet:
         *      If it's not a RADIUS packet, ignore it.
         */
        if (!fr_radius_ok(buffer, &packet_len, inst->max_attributes, false, &reason)) {
-               proto_radius_log(li, thread->name, reason, NULL, "");
+               proto_radius_log(li, thread->name, reason, NULL, "Received invalid packet");
                thread->stats.total_malformed_requests++;
                return -1;
        }
index 6ff60158f371ac4056b02cf4e9237ae52e7b7edd..3434ad944e5f96b036ca81cc79254eb193d624f4 100644 (file)
@@ -145,13 +145,13 @@ static ssize_t mod_read(fr_listen_t *li, void **packet_ctx, fr_time_t *recv_time
        data_size = udp_recv(thread->sockfd, flags, &address->socket, buffer, buffer_len, recv_time_p);
        if (data_size < 0) {
                proto_radius_log(li, thread->name, FR_RADIUS_FAIL_IO_ERROR, NULL,
-                                "error reading socket - %s", fr_strerror());
+                                "%s", fr_strerror());
                return data_size;
        }
 
        if (!data_size) {
                proto_radius_log(li, thread->name, FR_RADIUS_FAIL_IO_ERROR, NULL,
-                                "no data received");
+                                "Received no data");
                return 0;
        }
 
@@ -159,21 +159,21 @@ static ssize_t mod_read(fr_listen_t *li, void **packet_ctx, fr_time_t *recv_time
 
        if (data_size < 20) {
                proto_radius_log(li, thread->name, FR_RADIUS_FAIL_MIN_LENGTH_PACKET, &address->socket,
-                                "received %zu which is smaller than minimum 20", packet_len);
+                                "Received packet length %zu", packet_len);
                thread->stats.total_malformed_requests++;
                return 0;
        }
 
        if (packet_len > inst->max_packet_size) {
                proto_radius_log(li, thread->name, FR_RADIUS_FAIL_MIN_LENGTH_PACKET, &address->socket,
-                                "received %zu which is larger than maximum %zu", packet_len, inst->max_packet_size);
+                                "Received packet length %zu");
                thread->stats.total_malformed_requests++;
                return 0;
        }
 
        if ((buffer[0] == 0) || (buffer[0] >= FR_RADIUS_CODE_MAX)) {
                proto_radius_log(li, thread->name, FR_RADIUS_FAIL_UNKNOWN_PACKET_CODE, &address->socket,
-                                "received packet code %u", buffer[0]);
+                                "Received packet code %u", buffer[0]);
                thread->stats.total_unknown_types++;
                return 0;
        }
@@ -183,7 +183,7 @@ static ssize_t mod_read(fr_listen_t *li, void **packet_ctx, fr_time_t *recv_time
         */
        if (!fr_radius_ok(buffer, &packet_len, inst->max_attributes, false, &reason)) {
                proto_radius_log(li, thread->name, reason, &address->socket,
-                                "");
+                                "Received invalid packet");
                thread->stats.total_malformed_requests++;
                return 0;
        }