void log_request_perror(fr_log_type_t type, fr_log_lvl_t lvl, REQUEST *request, char const *msg, ...)
CC_HINT(format (printf, 4, 5)) CC_HINT(nonnull (3));
+void log_request_pair_list(fr_log_lvl_t lvl, REQUEST *request, VALUE_PAIR *vp, char const *prefix);
+
+void log_request_proto_pair_list(fr_log_lvl_t lvl, REQUEST *request, VALUE_PAIR *vp, char const *prefix);
+
void log_request_marker(fr_log_type_t type, fr_log_lvl_t lvl, REQUEST *request,
char const *fmt, size_t indent, char const *error)
CC_HINT(nonnull);
/* radiusd.c */
-void rdebug_pair_list(fr_log_lvl_t level, REQUEST *request, VALUE_PAIR *vp, char const *prefix);
-void rdebug_proto_pair_list(fr_log_lvl_t level, REQUEST *request, VALUE_PAIR *vp, char const *prefix);
+void log_request_pair_list(fr_log_lvl_t level, REQUEST *request, VALUE_PAIR *vp, char const *prefix);
+void log_request_proto_pair_list(fr_log_lvl_t level, REQUEST *request, VALUE_PAIR *vp, char const *prefix);
int log_err (char *);
/* util.c */
/*
* Print out all the pairs we have so far
*/
- rdebug_pair_list(L_DBG_LVL_2, request, cert_vps, "&session-state:");
+ log_request_pair_list(L_DBG_LVL_2, request, cert_vps, "&session-state:");
/*
* cert_vps have a different talloc parent, so we
VALUE_PAIR *vp;
RDEBUG("Virtual server %s received request", cf_section_name2(request->server_cs));
- rdebug_pair_list(L_DBG_LVL_1, request, request->packet->vps, NULL);
+ log_request_pair_list(L_DBG_LVL_1, request, request->packet->vps, NULL);
if (!request->username) {
request->username = fr_pair_find_by_num(request->packet->vps, 0, FR_USER_NAME, TAG_ANY);
RDEBUG("} # server %s", cf_section_name2(request->server_cs));
RDEBUG("Virtual server sending reply");
- rdebug_pair_list(L_DBG_LVL_1, request, request->reply->vps, NULL);
+ log_request_pair_list(L_DBG_LVL_1, request, request->reply->vps, NULL);
return rcode;
}
packet->data_len);
if (received) {
- rdebug_pair_list(L_DBG_LVL_1, request, packet->vps, NULL);
+ log_request_pair_list(L_DBG_LVL_1, request, packet->vps, NULL);
} else {
- rdebug_proto_pair_list(L_DBG_LVL_1, request, packet->vps, NULL);
+ log_request_proto_pair_list(L_DBG_LVL_1, request, packet->vps, NULL);
}
}
p = talloc_vasprintf(request, msg, aq);
va_end(aq);
- MEM(vp = pair_make_request("Module-Failure-Message", NULL, T_OP_ADD));
+ MEM(pair_add_request(&vp, attr_module_failure_message) >= 0);
if (request->module && (request->module[0] != '\0')) {
fr_pair_value_snprintf(vp, "%s: %s", request->module, p);
} else {
}
}
+/** Print a list of VALUE_PAIRs.
+ *
+ * @param[in] lvl Debug lvl (1-4).
+ * @param[in] request to read logging params from.
+ * @param[in] vp to print.
+ * @param[in] prefix (optional).
+ */
+void log_request_pair_list(fr_log_lvl_t lvl, REQUEST *request, VALUE_PAIR *vp, char const *prefix)
+{
+ fr_cursor_t cursor;
+
+ if (!vp || !request || !request->log.dst) return;
+
+ if (!log_debug_enabled(L_DBG, lvl, request)) return;
+
+ RINDENT();
+ for (vp = fr_cursor_init(&cursor, &vp);
+ vp;
+ vp = fr_cursor_next(&cursor)) {
+ VP_VERIFY(vp);
+
+ RDEBUGX(lvl, "%s%pP", prefix ? prefix : "&", vp);
+ }
+ REXDENT();
+}
+
+/** Print a list of protocol VALUE_PAIRs.
+ *
+ * @param[in] lvl Debug lvl (1-4).
+ * @param[in] request to read logging params from.
+ * @param[in] vp to print.
+ * @param[in] prefix (optional).
+ */
+void log_request_proto_pair_list(fr_log_lvl_t lvl, REQUEST *request, VALUE_PAIR *vp, char const *prefix)
+{
+ fr_cursor_t cursor;
+
+ if (!vp || !request || !request->log.dst) return;
+
+ if (!log_debug_enabled(L_DBG, lvl, request)) return;
+
+ RINDENT();
+ for (vp = fr_cursor_init(&cursor, &vp);
+ vp;
+ vp = fr_cursor_next(&cursor)) {
+ VP_VERIFY(vp);
+ if (vp->da->flags.internal) continue;
+
+ RDEBUGX(lvl, "%s%pP", prefix ? prefix : "&", vp);
+ }
+ REXDENT();
+}
+
/** Write the string being parsed, and a marker showing where the parse error occurred
*
* @param[in] type the log category.
* @param[in] error What the parse error was.
*/
void log_request_marker(fr_log_type_t type, fr_log_lvl_t lvl, REQUEST *request,
- char const *msg, size_t idx, char const *error)
+ char const *msg, size_t idx, char const *error)
{
char const *prefix = "";
uint8_t unlang_indent;
return 0;
}
-
-/** Print a list of VALUE_PAIRs.
- *
- * @param[in] level Debug level (1-4).
- * @param[in] request to read logging params from.
- * @param[in] vp to print.
- * @param[in] prefix (optional).
- */
-void rdebug_pair_list(fr_log_lvl_t level, REQUEST *request, VALUE_PAIR *vp, char const *prefix)
-{
- fr_cursor_t cursor;
-
- if (!vp || !request || !request->log.dst) return;
-
- if (!log_debug_enabled(L_DBG, level, request)) return;
-
- RINDENT();
- for (vp = fr_cursor_init(&cursor, &vp);
- vp;
- vp = fr_cursor_next(&cursor)) {
- VP_VERIFY(vp);
-
- RDEBUGX(level, "%s%pP", prefix ? prefix : "&", vp);
- }
- REXDENT();
-}
-
-/** Print a list of protocol VALUE_PAIRs.
- *
- * @param[in] level Debug level (1-4).
- * @param[in] request to read logging params from.
- * @param[in] vp to print.
- * @param[in] prefix (optional).
- */
-void rdebug_proto_pair_list(fr_log_lvl_t level, REQUEST *request, VALUE_PAIR *vp, char const *prefix)
-{
- fr_cursor_t cursor;
-
- if (!vp || !request || !request->log.dst) return;
-
- if (!log_debug_enabled(L_DBG, level, request)) return;
-
- RINDENT();
- for (vp = fr_cursor_init(&cursor, &vp);
- vp;
- vp = fr_cursor_next(&cursor)) {
- VP_VERIFY(vp);
- if (vp->da->flags.internal) continue;
-
- RDEBUGX(level, "%s%pP", prefix ? prefix : "&", vp);
- }
- REXDENT();
-}
if (request->state) {
RDEBUG2("Restored &session-state");
- rdebug_pair_list(L_DBG_LVL_2, request, request->state, "&session-state:");
+ log_request_pair_list(L_DBG_LVL_2, request, request->state, "&session-state:");
}
/*
if (request->state) {
RDEBUG2("Saving &session-state");
- rdebug_pair_list(L_DBG_LVL_2, request, request->state, "&session-state:");
+ log_request_pair_list(L_DBG_LVL_2, request, request->state, "&session-state:");
}
PTHREAD_MUTEX_LOCK(&state->mutex);
RDEBUG("Received %s ID %i",
fr_dict_enum_alias_by_value(attr_packet_type, fr_box_uint32(request->reply->code)),
request->packet->id);
- rdebug_pair_list(L_DBG_LVL_1, request, request->packet->vps, "");
+ log_request_pair_list(L_DBG_LVL_1, request, request->packet->vps, "");
request->component = "radius";
request->reply->id);
}
- rdebug_proto_pair_list(L_DBG_LVL_1, request, request->reply->vps, "");
+ log_request_proto_pair_list(L_DBG_LVL_1, request, request->reply->vps, "");
break;
default:
}
if (received) {
- rdebug_pair_list(L_DBG_LVL_2, request, packet->vps, NULL);
+ log_request_pair_list(L_DBG_LVL_2, request, packet->vps, NULL);
} else {
- rdebug_proto_pair_list(L_DBG_LVL_2, request, packet->vps, NULL);
+ log_request_proto_pair_list(L_DBG_LVL_2, request, packet->vps, NULL);
}
}
case REQUEST_INIT:
log_request(L_DBG, L_DBG_LVL_1, request, "Received %s ID %08x",
dhcp_message_types[request->packet->code], request->packet->id);
- rdebug_proto_pair_list(L_DBG_LVL_1, request, request->packet->vps, "");
+ log_request_proto_pair_list(L_DBG_LVL_1, request, request->packet->vps, "");
request->component = "dhcpv4";
switch (request->request_state) {
case REQUEST_INIT:
if (RDEBUG_ENABLED) proto_ldap_packet_debug(request, request->packet, true);
- rdebug_proto_pair_list(L_DBG_LVL_1, request, request->packet->vps, "");
+ log_request_proto_pair_list(L_DBG_LVL_1, request, request->packet->vps, "");
request->server_cs = request->listener->server_cs;
request->component = "ldap";
switch (request->request_state) {
case REQUEST_INIT:
RDEBUG("Received %s ID %i", fr_packet_codes[request->packet->code], request->packet->id);
- rdebug_pair_list(L_DBG_LVL_1, request, request->packet->vps, "");
+ log_request_pair_list(L_DBG_LVL_1, request, request->packet->vps, "");
request->component = "radius";
*/
if (request->parent) {
RDEBUG("Sent %s ID %i", fr_packet_codes[request->reply->code], request->reply->id);
- rdebug_pair_list(L_DBG_LVL_1, request, request->reply->vps, "");
+ log_request_pair_list(L_DBG_LVL_1, request, request->reply->vps, "");
return FR_IO_DONE;
}
switch (request->request_state) {
case REQUEST_INIT:
RDEBUG("Received %s ID %i", fr_packet_codes[request->packet->code], request->packet->id);
- rdebug_pair_list(L_DBG_LVL_1, request, request->packet->vps, "");
+ log_request_pair_list(L_DBG_LVL_1, request, request->packet->vps, "");
request->component = "radius";
*/
if (request->parent) {
RDEBUG("Sent %s ID %i", fr_packet_codes[request->reply->code], request->reply->id);
- rdebug_pair_list(L_DBG_LVL_1, request, request->reply->vps, "");
+ log_request_pair_list(L_DBG_LVL_1, request, request->reply->vps, "");
return FR_IO_REPLY;
}
switch (request->request_state) {
case REQUEST_INIT:
RDEBUG("Received %s ID %i", fr_packet_codes[request->packet->code], request->packet->id);
- rdebug_pair_list(L_DBG_LVL_1, request, request->packet->vps, "");
+ log_request_pair_list(L_DBG_LVL_1, request, request->packet->vps, "");
request->component = "radius";
*/
if (request->parent) {
RDEBUG("Sent %s ID %i", fr_packet_codes[request->reply->code], request->reply->id);
- rdebug_pair_list(L_DBG_LVL_1, request, request->reply->vps, "");
+ log_request_pair_list(L_DBG_LVL_1, request, request->reply->vps, "");
return FR_IO_DONE;
}
switch (request->request_state) {
case REQUEST_INIT:
RDEBUG("Received %s ID %i", fr_packet_codes[request->packet->code], request->packet->id);
- rdebug_proto_pair_list(L_DBG_LVL_1, request, request->packet->vps, "");
+ log_request_proto_pair_list(L_DBG_LVL_1, request, request->packet->vps, "");
request->component = "radius";
} else {
RDEBUG("Denying client");
}
- if (RDEBUG_ENABLED) rdebug_pair_list(L_DBG_LVL_1, request, request->reply->vps, NULL);
+ if (RDEBUG_ENABLED) log_request_pair_list(L_DBG_LVL_1, request, request->reply->vps, NULL);
break;
default:
switch (request->request_state) {
case REQUEST_INIT:
RDEBUG("Received %s ID %i", fr_packet_codes[request->packet->code], request->packet->id);
- rdebug_pair_list(L_DBG_LVL_1, request, request->packet->vps, "");
+ log_request_pair_list(L_DBG_LVL_1, request, request->packet->vps, "");
request->component = "radius";
*/
if (request->parent) {
RDEBUG("Sent %s ID %i", fr_packet_codes[request->reply->code], request->reply->id);
- rdebug_pair_list(L_DBG_LVL_1, request, request->reply->vps, "");
+ log_request_pair_list(L_DBG_LVL_1, request, request->reply->vps, "");
return FR_IO_DONE;
}
packet->dst_port,
packet->data_len);
- rdebug_pair_list(L_DBG_LVL_1, request, packet->vps, NULL);
+ log_request_pair_list(L_DBG_LVL_1, request, packet->vps, NULL);
}
static void tacacs_status(REQUEST * const request, rlm_rcode_t rcode)
case REQUEST_INIT:
log_request(L_DBG, L_DBG_LVL_1, request, "Received %s ID %08x",
fr_vmps_codes[request->packet->code], request->packet->id);
- rdebug_proto_pair_list(L_DBG_LVL_1, request, request->packet->vps, "");
+ log_request_proto_pair_list(L_DBG_LVL_1, request, request->packet->vps, "");
request->component = "vmps";
switch (request->request_state) {
case REQUEST_INIT:
RDEBUG("Received %s ID %i", fr_vmps_codes[request->packet->code], request->packet->id);
- rdebug_proto_pair_list(L_DBG_LVL_1, request, request->packet->vps, "");
+ log_request_proto_pair_list(L_DBG_LVL_1, request, request->packet->vps, "");
request->component = "vmps";
} else {
RDEBUG("Denying client");
}
- if (RDEBUG_ENABLED) rdebug_pair_list(L_DBG_LVL_1, request, request->reply->vps, NULL);
+ if (RDEBUG_ENABLED) log_request_pair_list(L_DBG_LVL_1, request, request->reply->vps, NULL);
break;
default:
ptr[3] = CHBIND_NSID_RADIUS;
RDEBUG("Sending chbind response: code %i", (int )(ptr[0]));
- rdebug_pair_list(L_DBG_LVL_1, request, request->reply->vps, NULL);
+ log_request_pair_list(L_DBG_LVL_1, request, request->reply->vps, NULL);
/* Encode the chbind attributes into the response */
ptr += 4;
}
RDEBUG2("Encoding EAP-AKA attributes");
- rdebug_pair_list(L_DBG_LVL_2, request, head, NULL);
+ log_request_pair_list(L_DBG_LVL_2, request, head, NULL);
eap_session->this_round->request->type.num = eap_aka_session->type;
eap_session->this_round->request->id = eap_aka_session->aka_id++ & 0xff;
vp = fr_cursor_current(&cursor);
if (vp && RDEBUG_ENABLED2) {
RDEBUG2("EAP-AKA decoded attributes");
- rdebug_pair_list(L_DBG_LVL_2, request, vp, NULL);
+ log_request_pair_list(L_DBG_LVL_2, request, vp, NULL);
}
subtype_vp = fr_pair_find_by_da(vps, attr_eap_aka_subtype, TAG_ANY);
fr_pair_value_memcpy(fake->packet->vps, tlv_eap_payload->vp_octets, tlv_eap_payload->vp_length);
RDEBUG("Got tunneled request");
- rdebug_pair_list(L_DBG_LVL_1, request, fake->packet->vps, NULL);
+ log_request_pair_list(L_DBG_LVL_1, request, fake->packet->vps, NULL);
/*
* Tell the request that it's a fake one.
data, data_len, NULL) < 0) return FR_CODE_ACCESS_REJECT;
RDEBUG("Got Tunneled FAST TLVs");
- rdebug_pair_list(L_DBG_LVL_1, request, fast_vps, NULL);
+ log_request_pair_list(L_DBG_LVL_1, request, fast_vps, NULL);
code = eap_fast_process_tlvs(request, eap_session, tls_session, fast_vps);
fr_pair_list_free(&fast_vps);
}
RDEBUG2("Built change password packet");
- rdebug_pair_list(L_DBG_LVL_2, request, request->packet->vps, NULL);
+ log_request_pair_list(L_DBG_LVL_2, request, request->packet->vps, NULL);
/*
* jump to "authentication"
} else {
RDEBUG2("Got tunneled reply code %i", reply->code);
}
- rdebug_pair_list(L_DBG_LVL_2, request, reply->vps, NULL);
+ log_request_pair_list(L_DBG_LVL_2, request, reply->vps, NULL);
}
switch (reply->code) {
fprintf(fr_log_fp, "} # server %s\n", cf_section_name2(fake->server_cs));
RDEBUG("Final reply from tunneled session code %d", fake->reply->code);
- rdebug_pair_list(L_DBG_LVL_1, request, fake->reply->vps, NULL);
+ log_request_pair_list(L_DBG_LVL_1, request, fake->reply->vps, NULL);
}
/*
}
RDEBUG2("Got tunneled request");
- rdebug_pair_list(L_DBG_LVL_2, request, fake->packet->vps, NULL);
+ log_request_pair_list(L_DBG_LVL_2, request, fake->packet->vps, NULL);
/*
* Update other items in the REQUEST data structure.
}
RDEBUG2("Encoding EAP-SIM attributes");
- rdebug_pair_list(L_DBG_LVL_2, request, head, NULL);
+ log_request_pair_list(L_DBG_LVL_2, request, head, NULL);
eap_session->this_round->request->type.num = FR_EAP_SIM;
eap_session->this_round->request->id = eap_sim_session->sim_id++ & 0xff;
vp = fr_cursor_current(&cursor);
if (vp && RDEBUG_ENABLED2) {
RDEBUG2("Decoded EAP-SIM attributes");
- rdebug_pair_list(L_DBG_LVL_2, request, vp, NULL);
+ log_request_pair_list(L_DBG_LVL_2, request, vp, NULL);
}
subtype_vp = fr_pair_find_by_da(from_peer, attr_eap_sim_subtype, TAG_ANY);
*/
if (tunnel_vps) {
RDEBUG("Sending tunneled reply attributes");
- rdebug_pair_list(L_DBG_LVL_2, request, tunnel_vps, NULL);
+ log_request_pair_list(L_DBG_LVL_2, request, tunnel_vps, NULL);
vp2diameter(request, tls_session, tunnel_vps);
fr_pair_list_free(&tunnel_vps);
fprintf(fr_log_fp, "} # server %s\n", cf_section_name2(fake->server_cs));
RDEBUG("Final reply from tunneled session code %d", fake->reply->code);
- rdebug_pair_list(L_DBG_LVL_1, request, fake->reply->vps, NULL);
+ log_request_pair_list(L_DBG_LVL_1, request, fake->reply->vps, NULL);
}
/*
fr_pair_value_from_str(vp, "127.0.0.1", sizeof("127.0.0.1"));
RDEBUG("Got tunneled request");
- rdebug_pair_list(L_DBG_LVL_1, request, fake->packet->vps, NULL);
+ log_request_pair_list(L_DBG_LVL_1, request, fake->packet->vps, NULL);
/*
* Update other items in the REQUEST data structure.
RDEBUG("Received %s ID %d length %ld reply packet on connection %s",
fr_packet_codes[code], code, packet_len, c->name);
- rdebug_pair_list(L_DBG_LVL_2, request, vp, NULL);
+ log_request_pair_list(L_DBG_LVL_2, request, vp, NULL);
/*
* @todo - make this programmatic? i.e. run a
RDEBUG("%s %s ID %d length %ld over connection %s",
(c->status_u != u) ? "sending" : "status_check",
fr_packet_codes[u->code], u->rr->id, u->packet_len, c->name);
- rdebug_pair_list(L_DBG_LVL_2, request, request->packet->vps, NULL);
- if (u->extra) rdebug_pair_list(L_DBG_LVL_2, request, u->extra, NULL);
+ log_request_pair_list(L_DBG_LVL_2, request, request->packet->vps, NULL);
+ if (u->extra) log_request_pair_list(L_DBG_LVL_2, request, u->extra, NULL);
if (u->manual_delay_time && u->acct_delay_time) {
uint32_t delay;
RDEBUG("Sending %s ID %d length %ld over connection %s",
fr_packet_codes[u->code], u->rr->id, packet_len, c->name);
- rdebug_pair_list(L_DBG_LVL_2, request, request->packet->vps, NULL);
+ log_request_pair_list(L_DBG_LVL_2, request, request->packet->vps, NULL);
/*
* Might have been sent and then given up on... free the
}
DEBUG3("Status check packet will be %s", fr_packet_codes[u->code]);
- rdebug_pair_list(L_DBG_LVL_3, request, request->packet->vps, NULL);
+ log_request_pair_list(L_DBG_LVL_3, request, request->packet->vps, NULL);
/*
* Initialize the link. Note that we don't set
/*
* Print out all the pairs we have so far
*/
- rdebug_pair_list(L_DBG_LVL_2, request, cert_vps, NULL);
+ log_request_pair_list(L_DBG_LVL_2, request, cert_vps, NULL);
fr_pair_cursor_merge(&list, cert_vps);
cert_vps = NULL;
}
RDEBUG2("Group \"%s\": Merging reply items", entry->name);
if (rcode == RLM_MODULE_NOOP) rcode = RLM_MODULE_UPDATED;
- rdebug_pair_list(L_DBG_LVL_2, request, reply_tmp, NULL);
+ log_request_pair_list(L_DBG_LVL_2, request, reply_tmp, NULL);
radius_pairmove(request, &request->reply->vps, reply_tmp, true);
reply_tmp = NULL;
RDEBUG2("User found in radreply table, merging reply items");
user_found = true;
- rdebug_pair_list(L_DBG_LVL_2, request, reply_tmp, NULL);
+ log_request_pair_list(L_DBG_LVL_2, request, reply_tmp, NULL);
radius_pairmove(request, &request->reply->vps, reply_tmp, true);