Skip to content

Commit

Permalink
Move pair list logging functions into log.c
Browse files Browse the repository at this point in the history
  • Loading branch information
arr2036 committed May 16, 2018
1 parent a6d3dcf commit 7f26675
Show file tree
Hide file tree
Showing 29 changed files with 110 additions and 106 deletions.
4 changes: 4 additions & 0 deletions src/include/log.h
Expand Up @@ -84,6 +84,10 @@ void log_request_error(fr_log_type_t type, fr_log_lvl_t lvl, REQUEST *request, c
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);
Expand Down
4 changes: 2 additions & 2 deletions src/include/radiusd.h
Expand Up @@ -362,8 +362,8 @@ typedef enum {


/* 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 */
Expand Down
2 changes: 1 addition & 1 deletion src/lib/tls/validate.c
Expand Up @@ -150,7 +150,7 @@ int tls_validate_cert_cb(int ok, X509_STORE_CTX *x509_ctx)
/*
* 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
Expand Down
8 changes: 4 additions & 4 deletions src/main/auth.c
Expand Up @@ -535,7 +535,7 @@ rlm_rcode_t rad_virtual_server(REQUEST *request)
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);
Expand Down Expand Up @@ -662,7 +662,7 @@ rlm_rcode_t rad_virtual_server(REQUEST *request)
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;
}
Expand Down Expand Up @@ -708,8 +708,8 @@ void common_packet_debug(REQUEST *request, RADIUS_PACKET *packet, bool received)
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);
}
}
57 changes: 55 additions & 2 deletions src/main/log.c
Expand Up @@ -495,7 +495,7 @@ void vlog_module_failure_msg(REQUEST *request, char const *msg, va_list ap)
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 {
Expand Down Expand Up @@ -637,6 +637,59 @@ void log_request_perror(fr_log_type_t type, fr_log_lvl_t lvl, REQUEST *request,
}
}

/** 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.
Expand All @@ -647,7 +700,7 @@ void log_request_perror(fr_log_type_t type, fr_log_lvl_t lvl, REQUEST *request,
* @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;
Expand Down
53 changes: 0 additions & 53 deletions src/main/pair.c
Expand Up @@ -692,56 +692,3 @@ int xlat_eval_do(REQUEST *request, VALUE_PAIR *vp)

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();
}
4 changes: 2 additions & 2 deletions src/main/state.c
Expand Up @@ -612,7 +612,7 @@ void fr_state_to_request(fr_state_tree_t *state, REQUEST *request, RADIUS_PACKET

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:");
}

/*
Expand Down Expand Up @@ -645,7 +645,7 @@ int fr_request_to_state(fr_state_tree_t *state, REQUEST *request, RADIUS_PACKET

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);
Expand Down
4 changes: 2 additions & 2 deletions src/modules/proto_detail/proto_detail_process.c
Expand Up @@ -70,7 +70,7 @@ static fr_io_final_t mod_process(REQUEST *request, fr_io_action_t action)
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";

Expand Down Expand Up @@ -192,7 +192,7 @@ static fr_io_final_t mod_process(REQUEST *request, fr_io_action_t action)
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:
Expand Down
4 changes: 2 additions & 2 deletions src/modules/proto_dhcpv4/old.c
Expand Up @@ -1035,9 +1035,9 @@ static void dhcp_packet_debug(REQUEST *request, RADIUS_PACKET *packet, bool rece
}

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);
}
}

Expand Down
2 changes: 1 addition & 1 deletion src/modules/proto_dhcpv4/proto_dhcpv4_all.c
Expand Up @@ -44,7 +44,7 @@ static fr_io_final_t mod_process(REQUEST *request, UNUSED fr_io_action_t action)
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";

Expand Down
2 changes: 1 addition & 1 deletion src/modules/proto_ldap_sync/proto_ldap_sync.c
Expand Up @@ -322,7 +322,7 @@ static void request_running(REQUEST *request, fr_state_signal_t action)
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";
Expand Down
4 changes: 2 additions & 2 deletions src/modules/proto_radius/proto_radius_acct.c
Expand Up @@ -52,7 +52,7 @@ static fr_io_final_t mod_process(REQUEST *request, fr_io_action_t action)
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";

Expand Down Expand Up @@ -158,7 +158,7 @@ static fr_io_final_t mod_process(REQUEST *request, fr_io_action_t action)
*/
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;
}

Expand Down
4 changes: 2 additions & 2 deletions src/modules/proto_radius/proto_radius_auth.c
Expand Up @@ -139,7 +139,7 @@ static fr_io_final_t mod_process(REQUEST *request, fr_io_action_t action)
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";

Expand Down Expand Up @@ -522,7 +522,7 @@ static fr_io_final_t mod_process(REQUEST *request, fr_io_action_t action)
*/
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;
}

Expand Down
4 changes: 2 additions & 2 deletions src/modules/proto_radius/proto_radius_coa.c
Expand Up @@ -51,7 +51,7 @@ static fr_io_final_t mod_process(REQUEST *request, fr_io_action_t action)
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";

Expand Down Expand Up @@ -208,7 +208,7 @@ static fr_io_final_t mod_process(REQUEST *request, fr_io_action_t action)
*/
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;
}

Expand Down
4 changes: 2 additions & 2 deletions src/modules/proto_radius/proto_radius_dynamic_client.c
Expand Up @@ -48,7 +48,7 @@ static fr_io_final_t mod_process(REQUEST *request, fr_io_action_t action)
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";

Expand Down Expand Up @@ -169,7 +169,7 @@ static fr_io_final_t mod_process(REQUEST *request, fr_io_action_t action)
} 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:
Expand Down
4 changes: 2 additions & 2 deletions src/modules/proto_radius/proto_radius_status.c
Expand Up @@ -51,7 +51,7 @@ static fr_io_final_t mod_process(REQUEST *request, fr_io_action_t action)
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";

Expand Down Expand Up @@ -173,7 +173,7 @@ static fr_io_final_t mod_process(REQUEST *request, fr_io_action_t action)
*/
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;
}

Expand Down
2 changes: 1 addition & 1 deletion src/modules/proto_tacacs/proto_tacacs.c
Expand Up @@ -56,7 +56,7 @@ static void tacacs_packet_debug(REQUEST *request, RADIUS_PACKET *packet, bool re
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)
Expand Down
2 changes: 1 addition & 1 deletion src/modules/proto_vmps/proto_vmps_all.c
Expand Up @@ -43,7 +43,7 @@ static fr_io_final_t mod_process(REQUEST *request, UNUSED fr_io_action_t action)
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";

Expand Down
4 changes: 2 additions & 2 deletions src/modules/proto_vmps/proto_vmps_dynamic_client.c
Expand Up @@ -52,7 +52,7 @@ static fr_io_final_t mod_process(REQUEST *request, fr_io_action_t action)
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";

Expand Down Expand Up @@ -163,7 +163,7 @@ static fr_io_final_t mod_process(REQUEST *request, fr_io_action_t action)
} 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:
Expand Down
2 changes: 1 addition & 1 deletion src/modules/rlm_eap/lib/base/eap_chbind.c
Expand Up @@ -78,7 +78,7 @@ static bool chbind_build_response(REQUEST *request, CHBIND_REQ *chbind)
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;
Expand Down

0 comments on commit 7f26675

Please sign in to comment.