*
* 'fmt' is from our source code, so we don't care about format literals.
*/
-void proto_radius_log(fr_listen_t *li, char const *name, fr_radius_decode_fail_t reason,
+void proto_radius_log(fr_listen_t const *li, fr_radius_decode_fail_t reason,
fr_socket_t const *sock, char const *fmt, ...)
{
va_list ap;
va_end(ap);
if (sock) {
- EDEBUG2("proto_%s - discarding packet on socket %s from client %pV port %u - %s (%s)",
- li->app_io->common.name, name,
+ EDEBUG2("proto_radius - discarding packet on socket %s from client %pV port %u - %s (%s)",
+ li->name,
fr_box_ipaddr(sock->inet.src_ipaddr), sock->inet.src_port,
msg,
fr_radius_decode_fail_reason[reason]);
} else {
- EDEBUG2("proto_%s - discarding packet on socket %s - %s (%s)",
- li->app_io->common.name, name, msg, fr_radius_decode_fail_reason[reason]);
+ EDEBUG2("proto_radius - discarding packet on socket %s - %s (%s)",
+ li->name, msg, fr_radius_decode_fail_reason[reason]);
}
EDEBUG2("For more information, please see " DOC_ROOT_URL "/troubleshooting/network/%s.html", url[reason]);
data, data_len, &decode_ctx) < 0) {
talloc_free(decode_ctx.tmp_ctx);
- /*
- * @todo - print out socket name, too.
- */
- EDEBUG2("proto_%s - discarding packet - failed decode (%s)",
- inst->io.app_io->common.name, fr_radius_decode_fail_reason[decode_ctx.reason]);
- EDEBUG2("For more information, please see " DOC_ROOT_URL "/troubleshooting/network/%s.html",
- url[decode_ctx.reason]);
-
+ proto_radius_log(track->li, decode_ctx.reason, &address->socket,
+ "decoding failed");
return -1;
}
talloc_free(decode_ctx.tmp_ctx);
};
-void proto_radius_log(fr_listen_t *li, char const *name, fr_radius_decode_fail_t reason, fr_socket_t const *sock, char const *fmt, ...);
+void proto_radius_log(fr_listen_t const *li, fr_radius_decode_fail_t reason, fr_socket_t const *sock, char const *fmt, ...);
break;
}
- proto_radius_log(li, thread->name, FR_RADIUS_FAIL_IO_ERROR, NULL,
+ proto_radius_log(li, FR_RADIUS_FAIL_IO_ERROR, NULL,
"%s", fr_strerror());
return data_size;
}
* TCP read of zero means the socket is dead.
*/
if (!data_size) {
- proto_radius_log(li, thread->name, FR_RADIUS_FAIL_IO_ERROR, NULL,
+ proto_radius_log(li, FR_RADIUS_FAIL_IO_ERROR, NULL,
"Client closed the connection");
return -1;
}
* We MUST always start with a known RADIUS packet.
*/
if ((buffer[0] == 0) || (buffer[0] >= FR_RADIUS_CODE_MAX)) {
- proto_radius_log(li, thread->name, FR_RADIUS_FAIL_UNKNOWN_PACKET_CODE, NULL,
+ proto_radius_log(li, FR_RADIUS_FAIL_UNKNOWN_PACKET_CODE, NULL,
"Received packet code %u", buffer[0]);
thread->stats.total_unknown_types++;
return -1;
* 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, "Received invalid packet");
+ proto_radius_log(li, reason, NULL, "Received invalid packet");
thread->stats.total_malformed_requests++;
return -1;
}
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,
+ proto_radius_log(li, FR_RADIUS_FAIL_IO_ERROR, NULL,
"%s", fr_strerror());
return data_size;
}
if (!data_size) {
- proto_radius_log(li, thread->name, FR_RADIUS_FAIL_IO_ERROR, NULL,
+ proto_radius_log(li, FR_RADIUS_FAIL_IO_ERROR, NULL,
"Received no data");
return 0;
}
packet_len = data_size;
if (data_size < 20) {
- proto_radius_log(li, thread->name, FR_RADIUS_FAIL_MIN_LENGTH_PACKET, &address->socket,
+ proto_radius_log(li, FR_RADIUS_FAIL_MIN_LENGTH_PACKET, &address->socket,
"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,
+ proto_radius_log(li, FR_RADIUS_FAIL_MIN_LENGTH_PACKET, &address->socket,
"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,
+ proto_radius_log(li, FR_RADIUS_FAIL_UNKNOWN_PACKET_CODE, &address->socket,
"Received packet code %u", buffer[0]);
thread->stats.total_unknown_types++;
return 0;
* If it's not well-formed, discard it.
*/
if (!fr_radius_ok(buffer, &packet_len, inst->max_attributes, false, &reason)) {
- proto_radius_log(li, thread->name, reason, &address->socket,
+ proto_radius_log(li, reason, &address->socket,
"Received invalid packet");
thread->stats.total_malformed_requests++;
return 0;