]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Fix pair debug output when printing groups which have TLVlike attributes in their...
authorArran Cudbard-Bell <a.cudbardb@freeradius.org>
Fri, 27 Nov 2020 03:31:37 +0000 (20:31 -0700)
committerArran Cudbard-Bell <a.cudbardb@freeradius.org>
Fri, 27 Nov 2020 03:31:37 +0000 (20:31 -0700)
30 files changed:
src/lib/curl/base.c
src/lib/eap/chbind.c
src/lib/eap_aka_sim/state_machine.c
src/lib/server/auth.c
src/lib/server/log.c
src/lib/server/log.h
src/lib/server/protocol.c
src/lib/server/state.c
src/lib/tls/validate.c
src/lib/unlang/subrequest.c
src/modules/proto_arp/proto_arp.c
src/modules/proto_arp/proto_arp_process.c
src/modules/proto_detail/proto_detail_process.c
src/modules/proto_dhcpv4/proto_dhcpv4_process.c
src/modules/proto_dhcpv6/proto_dhcpv6_process.c
src/modules/proto_ldap_sync/proto_ldap_sync.c
src/modules/proto_radius/proto_radius.c
src/modules/proto_radius/proto_radius_acct.c
src/modules/proto_radius/proto_radius_auth.c
src/modules/proto_radius/proto_radius_coa.c
src/modules/proto_radius/proto_radius_status.c
src/modules/proto_tacacs/proto_tacacs.c
src/modules/proto_vmps/proto_vmps_dynamic_client.c
src/modules/proto_vmps/proto_vmps_process.c
src/modules/rlm_eap/types/rlm_eap_fast/eap_fast.c
src/modules/rlm_eap/types/rlm_eap_mschapv2/rlm_eap_mschapv2.c
src/modules/rlm_eap/types/rlm_eap_peap/peap.c
src/modules/rlm_eap/types/rlm_eap_ttls/ttls.c
src/modules/rlm_radius/rlm_radius_udp.c
src/modules/rlm_sql/rlm_sql.c

index e2796a654b312d3b6f31a9a8f698c821f37e5416..5b3e4574d25b68369a4f5f916c2deee9c0d7e481 100644 (file)
@@ -236,7 +236,7 @@ int fr_curl_response_certinfo(request_t *request, fr_curl_io_request_t *randle)
                        /*
                         *      Print out all the pairs we have so far
                         */
-                       log_request_pair_list(L_DBG_LVL_2, request, cert_vps, NULL);
+                       log_request_pair_list(L_DBG_LVL_2, request, NULL, cert_vps, NULL);
                        fr_cursor_merge(&list, &cursor);
                        fr_pair_list_init(&cert_vps);
                }
index 6bdde077d6a23607b8baff5f7291f0279d84caae..bf9354ed059a55077dc7a642a1f45a144b005598 100644 (file)
@@ -83,7 +83,7 @@ static bool chbind_build_response(request_t *request, CHBIND_REQ *chbind)
        ptr[3] = CHBIND_NSID_RADIUS;
 
        RDEBUG2("Sending chbind response: code %i", (int )(ptr[0]));
-       log_request_pair_list(L_DBG_LVL_1, request, request->reply_pairs, NULL);
+       log_request_pair_list(L_DBG_LVL_1, request, NULL, request->reply_pairs, NULL);
 
        /* Encode the chbind attributes into the response */
        ptr += 4;
index 9cf6c9a3a500f11e7d693d35a95e9be8c06a4971..8121444713d8cbfcd89c9d4b002e067b1eaa2c65 100644 (file)
@@ -880,7 +880,7 @@ static int common_encode(request_t *request, eap_session_t *eap_session, uint16_
 
 
        RDEBUG2("Encoding attributes");
-       log_request_pair_list(L_DBG_LVL_2, request, head, NULL);
+       log_request_pair_list(L_DBG_LVL_2, request, NULL, head, NULL);
 
        eap_session->this_round->request->type.num = eap_aka_sim_session->type;
        eap_session->this_round->request->id = eap_aka_sim_session->id++ & 0xff;
@@ -3383,7 +3383,7 @@ static unlang_action_t common_decode(fr_pair_t **subtype_vp, fr_pair_t **vps,
        aka_vps = fr_cursor_next(&cursor);
        if (aka_vps && RDEBUG_ENABLED2) {
                RDEBUG2("Decoded attributes");
-               log_request_pair_list(L_DBG_LVL_2, request, aka_vps, NULL);
+               log_request_pair_list(L_DBG_LVL_2, request, NULL, aka_vps, NULL);
        }
 
        *subtype_vp = fr_pair_find_by_da(&aka_vps, attr_eap_aka_sim_subtype);
index 427c390063fe482029b78622b13130a7f4203392..d50e90d27cfd97c2e1ba48697353c39245ecaf13 100644 (file)
@@ -51,7 +51,7 @@ unlang_action_t rad_virtual_server(rlm_rcode_t *p_result, request_t *request)
        rlm_rcode_t final;
 
        RDEBUG("Virtual server %s received request", cf_section_name2(request->server_cs));
-       log_request_pair_list(L_DBG_LVL_1, request, request->request_pairs, NULL);
+       log_request_pair_list(L_DBG_LVL_1, request, NULL, request->request_pairs, NULL);
 
        username = fr_pair_find_by_num(&request->request_pairs, 0, FR_STRIPPED_USER_NAME);
        if (!username) username = fr_pair_find_by_num(&request->request_pairs, 0, FR_USER_NAME);
@@ -217,8 +217,8 @@ void common_packet_debug(request_t *request, fr_radius_packet_t *packet, bool re
                       packet->data_len);
 
        if (received) {
-               log_request_pair_list(L_DBG_LVL_1, request, request->request_pairs, NULL);
+               log_request_pair_list(L_DBG_LVL_1, request, NULL, request->request_pairs, NULL);
        } else {
-               log_request_proto_pair_list(L_DBG_LVL_1, request, request->request_pairs, NULL);
+               log_request_proto_pair_list(L_DBG_LVL_1, request, NULL, request->request_pairs, NULL);
        }
 }
index 2e0fc0caaa981b477f155eaf0e39429a78f2cc15..2b10786a1c0f37a83a9fc2d3d1227dc3a8d1979d 100644 (file)
@@ -44,6 +44,7 @@ RCSID("$Id$")
 #include <pthread.h>
 
 static _Thread_local TALLOC_CTX *fr_vlog_request_pool;
+static _Thread_local fr_sbuff_t *fr_log_request_oid_buff;
 
 /** Syslog facility table
  *
@@ -708,23 +709,69 @@ void log_request_perror(fr_log_type_t type, fr_log_lvl_t lvl, request_t *request
        }
 }
 
+/** Cleanup the memory pool used by the OID sbuff
+ *
+ */
+static void _fr_log_request_oid_buff_free(void *arg)
+{
+       talloc_free(arg);
+}
+
+/** Allocate an extensible sbuff for printing OID strings
+ *
+ */
+static inline CC_HINT(always_inline) fr_sbuff_t *log_request_oid_buff(void)
+{
+       fr_sbuff_t              *sbuff;
+       fr_sbuff_uctx_talloc_t  *tctx;
+
+       sbuff = fr_log_request_oid_buff;
+       if (unlikely(!sbuff)) {
+               sbuff = talloc(NULL, fr_sbuff_t);
+               if (!sbuff) {
+                       fr_perror("Failed allocating memory for fr_log_request_oid_buff");
+                       return NULL;
+               }
+               tctx = talloc(sbuff, fr_sbuff_uctx_talloc_t);
+               if (!tctx) {
+                       fr_perror("Failed allocating memory for fr_sbuff_uctx_talloc_t");
+                       talloc_free(sbuff);
+                       return NULL;
+               }
+
+               fr_sbuff_init_talloc(sbuff, sbuff, tctx, 1024, 8192);
+
+               fr_thread_local_set_destructor(fr_log_request_oid_buff, _fr_log_request_oid_buff_free, sbuff);
+       } else {
+               fr_sbuff_set(sbuff, fr_sbuff_start(sbuff));     /* Reset position */
+       }
+
+       return sbuff;
+}
+
 /** Print a list of fr_pair_ts.
  *
  * @param[in] lvl      Debug lvl (1-4).
  * @param[in] request  to read logging params from.
+ * @param[in] parent   of vp to print, may be NULL.
  * @param[in] vp       to print.
  * @param[in] prefix   (optional).
  */
-void log_request_pair_list(fr_log_lvl_t lvl, request_t *request, fr_pair_t *vp, char const *prefix)
+void log_request_pair_list(fr_log_lvl_t lvl, request_t *request,
+                          fr_pair_t const *parent, fr_pair_t const *vp, char const *prefix)
 {
-       fr_cursor_t cursor;
+       fr_cursor_t             cursor;
+       fr_pair_t               *m_vp;
+       fr_dict_attr_t const    *parent_da = NULL;
 
-       if (!vp || !request || !request->log.dst) return;
+       if (!request->log.dst) return;
 
        if (!log_rdebug_enabled(lvl, request)) return;
 
+       memcpy(&m_vp, &vp, sizeof(m_vp));
+
        RINDENT();
-       for (vp = fr_cursor_init(&cursor, &vp);
+       for (vp = fr_cursor_init(&cursor, &m_vp);
             vp;
             vp = fr_cursor_next(&cursor)) {
                VP_VERIFY(vp);
@@ -732,14 +779,24 @@ void log_request_pair_list(fr_log_lvl_t lvl, request_t *request, fr_pair_t *vp,
                /*
                 *      Recursively print grouped attributes.
                 */
-               if (vp->da->type == FR_TYPE_GROUP) {
-                       RDEBUGX(lvl, "%s%s {", prefix ? prefix : "", vp->da->name);
-                       log_request_pair_list(lvl, request, (fr_pair_t *) vp->vp_group, prefix);
+               switch (vp->da->type) {
+               case FR_TYPE_STRUCTURAL:
+               {
+                       fr_sbuff_t *oid_buff = log_request_oid_buff();
+
+                       if (parent && (parent->da->type != FR_TYPE_GROUP)) parent_da = parent->da;
+                       if (fr_dict_attr_oid_print(oid_buff, parent_da, vp->da) <= 0) return;
+
+                       RDEBUGX(lvl, "%s%pV {", prefix ? prefix : "",
+                               fr_box_strvalue_len(fr_sbuff_start(oid_buff), fr_sbuff_used(oid_buff)));
+                       log_request_pair_list(lvl, request, vp, (fr_pair_t *) vp->vp_group, prefix);
                        RDEBUGX(lvl, "%s }", prefix ? prefix : "");
                        continue;
                }
-
-               RDEBUGX(lvl, "%s%pP", prefix ? prefix : "", vp);
+               default:
+                       RDEBUGX(lvl, "%s%pP", prefix ? prefix : "", vp);
+                       break;
+               }
        }
        REXDENT();
 }
@@ -748,19 +805,25 @@ void log_request_pair_list(fr_log_lvl_t lvl, request_t *request, fr_pair_t *vp,
  *
  * @param[in] lvl      Debug lvl (1-4).
  * @param[in] request  to read logging params from.
+ * @param[in] parent   of vp to print, may be NULL.
  * @param[in] vp       to print.
  * @param[in] prefix   (optional).
  */
-void log_request_proto_pair_list(fr_log_lvl_t lvl, request_t *request, fr_pair_t *vp, char const *prefix)
+void log_request_proto_pair_list(fr_log_lvl_t lvl, request_t *request,
+                                fr_pair_t const *parent, fr_pair_t const *vp, char const *prefix)
 {
-       fr_cursor_t cursor;
+       fr_cursor_t             cursor;
+       fr_pair_t               *m_vp;
+       fr_dict_attr_t const    *parent_da = NULL;
 
-       if (!vp || !request || !request->log.dst) return;
+       if (!request->log.dst) return;
 
        if (!log_rdebug_enabled(lvl, request)) return;
 
+       memcpy(&m_vp, &vp, sizeof(m_vp));
+
        RINDENT();
-       for (vp = fr_cursor_init(&cursor, &vp);
+       for (vp = fr_cursor_init(&cursor, &m_vp);
             vp;
             vp = fr_cursor_next(&cursor)) {
                VP_VERIFY(vp);
@@ -770,14 +833,25 @@ void log_request_proto_pair_list(fr_log_lvl_t lvl, request_t *request, fr_pair_t
                /*
                 *      Recursively print grouped attributes.
                 */
-               if (vp->da->type == FR_TYPE_GROUP) {
-                       RDEBUGX(lvl, "%s%s {", prefix ? prefix : "", vp->da->name);
-                       log_request_proto_pair_list(lvl, request, (fr_pair_t *) vp->vp_group, prefix);
+               switch (vp->da->type) {
+               case FR_TYPE_STRUCTURAL:
+               {
+                       fr_sbuff_t *oid_buff = log_request_oid_buff();
+
+                       if (parent && (parent->da->type != FR_TYPE_GROUP)) parent_da = parent->da;
+                       if (fr_dict_attr_oid_print(oid_buff, parent_da, vp->da) <= 0) return;
+
+                       RDEBUGX(lvl, "%s%pV {", prefix ? prefix : "",
+                               fr_box_strvalue_len(fr_sbuff_start(oid_buff), fr_sbuff_used(oid_buff)));
+                       log_request_proto_pair_list(lvl, request, vp, (fr_pair_t *) vp->vp_group, prefix);
                        RDEBUGX(lvl, "%s}", prefix ? prefix : "");
                        continue;
                }
 
-               RDEBUGX(lvl, "%s%pP", prefix ? prefix : "", vp);
+               default:
+                       RDEBUGX(lvl, "%s%pP", prefix ? prefix : "", vp);
+                       break;
+               }
        }
        REXDENT();
 }
index 164125439af0b2c6d24383b5871df707ce2b2df1..dad530ecb6d094e452e307a97a408aab4b166976 100644 (file)
@@ -103,9 +103,13 @@ void       log_request_perror(fr_log_type_t type, fr_log_lvl_t lvl, request_t *request
                           char const *file, int line, char const *fmt, ...)
        CC_HINT(format (printf, 6, 7)) CC_HINT(nonnull (3));
 
-void   log_request_pair_list(fr_log_lvl_t lvl, request_t *request, fr_pair_t *vp, char const *prefix);
+void   log_request_pair_list(fr_log_lvl_t lvl, request_t *request,
+                             fr_pair_t const *parent, fr_pair_t const *vp, char const *prefix)
+                             CC_HINT(nonnull(2,4));
 
-void   log_request_proto_pair_list(fr_log_lvl_t lvl, request_t *request, fr_pair_t *vp, char const *prefix);
+void   log_request_proto_pair_list(fr_log_lvl_t lvl, request_t *request,
+                                   fr_pair_t const *parent, fr_pair_t const *vp, char const *prefix)
+                                   CC_HINT(nonnull(2,4));
 
 void   log_request_marker(fr_log_type_t type, fr_log_lvl_t lvl, request_t *request,
                           char const *file, int line,
index 2be35c1f0f39fb4478c6a8ddbc9d973cf01c6a2c..cc2b5b4279f290cbd002561c090b9cfc45aa6aea 100644 (file)
@@ -71,8 +71,8 @@ void common_packet_debug(request_t *request, fr_radius_packet_t *packet, bool re
                       packet->data_len);
 
        if (received || request->parent) {
-               log_request_pair_list(L_DBG_LVL_1, request, packet->vps, NULL);
+               log_request_pair_list(L_DBG_LVL_1, request, NULL, packet->vps, NULL);
        } else {
-               log_request_proto_pair_list(L_DBG_LVL_1, request, packet->vps, NULL);
+               log_request_proto_pair_list(L_DBG_LVL_1, request, NULL, packet->vps, NULL);
        }
 }
index 47d47aff05f0bdf9fca7967791a34c4e494dd149..403b76854a633ea180108a443b9a935224363d8e 100644 (file)
@@ -647,7 +647,7 @@ void fr_state_to_request(fr_state_tree_t *state, request_t *request)
 
        if (request->state) {
                RDEBUG2("Restored &session-state");
-               log_request_pair_list(L_DBG_LVL_2, request, request->state, "&session-state.");
+               log_request_pair_list(L_DBG_LVL_2, request, NULL, request->state, "&session-state.");
        }
 
        /*
@@ -682,7 +682,7 @@ int fr_request_to_state(fr_state_tree_t *state, request_t *request)
 
        if (request->state) {
                RDEBUG2("Saving &session-state");
-               log_request_pair_list(L_DBG_LVL_2, request, request->state, "&session-state.");
+               log_request_pair_list(L_DBG_LVL_2, request, NULL, request->state, "&session-state.");
        }
 
        vp = fr_pair_find_by_da(&request->request_pairs, state->da);
index 0f69f106cd89a99ef35878246666681bb3005623..ac86c6bcd4c91d728bd723d5ad2d03cdc4ad9607 100644 (file)
@@ -160,7 +160,7 @@ int fr_tls_validate_cert_cb(int ok, X509_STORE_CTX *x509_ctx)
                        /*
                         *      Print out all the pairs we have so far
                         */
-                       log_request_pair_list(L_DBG_LVL_2, request, cert_vps, "&session-state.");
+                       log_request_pair_list(L_DBG_LVL_2, request, NULL, cert_vps, "&session-state.");
 
                        /*
                         *      cert_vps have a different talloc parent, so we
index f4dee7d554f3d26f43185fd22127a023148d85b5..9e854f6c36be786e069051735717fe448d73463b 100644 (file)
@@ -209,7 +209,7 @@ static unlang_action_t unlang_subrequest_start(rlm_rcode_t *p_result, request_t
                                                             state->session.unique_int);
 
        RDEBUG2("Creating subrequest (%s)", child->name);
-       log_request_pair_list(L_DBG_LVL_1, request, child->request_pairs, NULL);
+       log_request_pair_list(L_DBG_LVL_1, request, NULL, child->request_pairs, NULL);
 
        frame->process = unlang_subrequest_process;
        return unlang_subrequest_process(p_result, request);
index e7ad9531df4f5af15f9920bb4419aad16a7972c9..190ab323b7e97745d04284f6c3a33d24aadc9eec 100644 (file)
@@ -95,7 +95,7 @@ static int mod_decode(UNUSED void const *instance, request_t *request, uint8_t *
                       fr_arp_packet_codes[request->packet->code],
                       request->async->listen->name);
 
-               log_request_pair_list(L_DBG_LVL_1, request, request->request_pairs, "");
+               log_request_pair_list(L_DBG_LVL_1, request, NULL, request->request_pairs, NULL);
        }
 
        return 0;
@@ -146,7 +146,7 @@ static ssize_t mod_encode(void const *instance, request_t *request, uint8_t *buf
                       request->reply->code,
                       request->async->listen->name);
 
-               log_request_pair_list(L_DBG_LVL_1, request, request->reply_pairs, "");
+               log_request_pair_list(L_DBG_LVL_1, request, NULL, request->reply_pairs, NULL);
        }
 
        return slen;
index c1bc5cfde7db0bbaea169c38919c45a8fc227239..35a25110d1c1d1cd1f702d79e76e141a10da6970 100644 (file)
@@ -76,7 +76,7 @@ static unlang_action_t mod_process(rlm_rcode_t *p_result, UNUSED module_ctx_t co
        case REQUEST_INIT:
                if (request->parent && RDEBUG_ENABLED) {
                        RDEBUG("Received ARP %s", fr_arp_packet_codes[request->packet->code]);
-                       log_request_pair_list(L_DBG_LVL_1, request, request->request_pairs, "");
+                       log_request_pair_list(L_DBG_LVL_1, request, NULL, request->request_pairs, NULL);
                }
 
                request->component = "arp";
@@ -215,7 +215,7 @@ static unlang_action_t mod_process(rlm_rcode_t *p_result, UNUSED module_ctx_t co
 
                if (request->parent && RDEBUG_ENABLED) {
                        RDEBUG("Sending %s", fr_arp_packet_codes[request->reply->code]);
-                       log_request_pair_list(L_DBG_LVL_1, request, request->reply_pairs, "");
+                       log_request_pair_list(L_DBG_LVL_1, request, NULL, request->reply_pairs, NULL);
                }
                break;
 
index 666e8cec1a0f9f58602eadc37b16e48802e75a18..3833dd53bad5aae2975a9ab187182db631aaf351 100644 (file)
@@ -61,7 +61,7 @@ static unlang_action_t mod_process(rlm_rcode_t *p_result, module_ctx_t const *mc
                RDEBUG("Received %s ID %i",
                       fr_dict_enum_name_by_value(inst->attr_packet_type, fr_box_uint32(request->packet->code)),
                       request->packet->id);
-               log_request_pair_list(L_DBG_LVL_1, request, request->request_pairs, "");
+               log_request_pair_list(L_DBG_LVL_1, request, NULL, request->request_pairs, NULL);
 
                request->component = "radius";
 
@@ -190,7 +190,7 @@ static unlang_action_t mod_process(rlm_rcode_t *p_result, module_ctx_t const *mc
                               request->reply->id);
                }
 
-               log_request_proto_pair_list(L_DBG_LVL_1, request, request->reply_pairs, "");
+               log_request_proto_pair_list(L_DBG_LVL_1, request, NULL, request->reply_pairs, NULL);
                break;
 
        default:
index ec1d57b12ff1db83d3a5ac26ebf840519d03d569..25e9c8cb696aa413a9bfa7527c283c1af4ce229f 100644 (file)
@@ -103,9 +103,9 @@ static void dhcpv4_packet_debug(request_t *request, fr_radius_packet_t *packet,
        REXDENT();
 
        if (received || request->parent) {
-               log_request_pair_list(L_DBG_LVL_1, request, packet->vps, NULL);
+               log_request_pair_list(L_DBG_LVL_1, request, NULL, packet->vps, NULL);
        } else {
-               log_request_proto_pair_list(L_DBG_LVL_1, request, packet->vps, NULL);
+               log_request_proto_pair_list(L_DBG_LVL_1, request, NULL, packet->vps, NULL);
        }
 }
 
index dedf1872f877401e667af8f987db0333ddfc3435..7617c2ac7a2ecbb888ddac05e47e64a66ce478bd 100644 (file)
@@ -96,9 +96,9 @@ static void dhcpv6_packet_debug(request_t *request, fr_radius_packet_t *packet,
                    );
 
        if (received || request->parent) {
-               log_request_pair_list(L_DBG_LVL_1, request, packet->vps, NULL);
+               log_request_pair_list(L_DBG_LVL_1, request, NULL, packet->vps, NULL);
        } else {
-               log_request_proto_pair_list(L_DBG_LVL_1, request, packet->vps, NULL);
+               log_request_proto_pair_list(L_DBG_LVL_1, request, NULL, packet->vps, NULL);
        }
 }
 
index 0e0c44e0a28ab2b58a6ec96964884360aff06562..e8cd863e2fbd7bc12908ae8212d56b65dc788d18 100644 (file)
@@ -360,7 +360,7 @@ static void request_running(request_t *request, fr_state_signal_t action)
        switch (request->request_state) {
        case REQUEST_INIT:
                if (RDEBUG_ENABLED) proto_ldap_packet_debug(request, request->packet, true);
-               log_request_proto_pair_list(L_DBG_LVL_1, request, request->request_pairs, "");
+               log_request_proto_pair_list(L_DBG_LVL_1, request, NULL, request->request_pairs, NULL);
 
                request->server_cs = request->listener->server_cs;
                request->component = "ldap";
index 79bd0d77c19802129bb3877960651fd739b88599..9e4bd52c4fc081c25efe8de1ee77dbc0241d53a4 100644 (file)
@@ -134,7 +134,7 @@ static int type_parse(TALLOC_CTX *ctx, void *out, void *parent, CONF_ITEM *ci, U
        proto_radius_t          *inst = talloc_get_type_abort(parent, proto_radius_t);
 
        return fr_app_process_type_parse(ctx, out, ci, attr_packet_type, "proto_radius",
-                                        type_lib_table, NUM_ELEMENTS(type_lib_table),                                   
+                                        type_lib_table, NUM_ELEMENTS(type_lib_table),
                                         inst->type_submodule_by_code, NUM_ELEMENTS(inst->type_submodule_by_code));
 }
 
@@ -289,7 +289,7 @@ static int mod_decode(void const *instance, request_t *request, uint8_t *const d
                       request->packet->data_len,
                       request->async->listen->name);
 
-               log_request_pair_list(L_DBG_LVL_1, request, request->request_pairs, "");
+               log_request_pair_list(L_DBG_LVL_1, request, NULL, request->request_pairs, NULL);
        }
 
        if (!inst->io.app_io->decode) return 0;
@@ -410,7 +410,7 @@ static ssize_t mod_encode(void const *instance, request_t *request, uint8_t *buf
                       data_len,
                       request->async->listen->name);
 
-               log_request_pair_list(L_DBG_LVL_1, request, request->reply_pairs, "");
+               log_request_pair_list(L_DBG_LVL_1, request, NULL, request->reply_pairs, NULL);
        }
 
        return data_len;
index 86c932cead0878f60784fe547850e257dd2640d6..8b662e5f35e214946a3cffebdd66f8c025e12815 100644 (file)
@@ -62,7 +62,7 @@ static unlang_action_t mod_process(rlm_rcode_t *p_result, UNUSED module_ctx_t co
        case REQUEST_INIT:
                if (request->parent && RDEBUG_ENABLED) {
                        RDEBUG("Received %s ID %i", fr_packet_codes[request->packet->code], request->packet->id);
-                       log_request_pair_list(L_DBG_LVL_1, request, request->request_pairs, "");
+                       log_request_pair_list(L_DBG_LVL_1, request, NULL, request->request_pairs, NULL);
                }
 
                request->component = "radius";
@@ -236,7 +236,7 @@ static unlang_action_t mod_process(rlm_rcode_t *p_result, UNUSED module_ctx_t co
 
                if (request->parent && RDEBUG_ENABLED) {
                        RDEBUG("Sending %s ID %i", fr_packet_codes[request->reply->code], request->reply->id);
-                       log_request_pair_list(L_DBG_LVL_1, request, request->reply_pairs, "");
+                       log_request_pair_list(L_DBG_LVL_1, request, NULL, request->reply_pairs, NULL);
                }
                break;
 
index cda069b4ff02ff4d56fc5d1e040c541ca63a4ef3..651e8630c960608f6a2c6dd77ba44e4352f8ff9e 100644 (file)
@@ -284,7 +284,7 @@ static unlang_action_t mod_process(rlm_rcode_t *p_result, module_ctx_t const *mc
        case REQUEST_INIT:
                if (request->parent && RDEBUG_ENABLED) {
                        RDEBUG("Received %s ID %i", fr_packet_codes[request->packet->code], request->packet->id);
-                       log_request_pair_list(L_DBG_LVL_1, request, request->request_pairs, "");
+                       log_request_pair_list(L_DBG_LVL_1, request, NULL, request->request_pairs, NULL);
                }
 
                request->component = "radius";
@@ -673,7 +673,7 @@ static unlang_action_t mod_process(rlm_rcode_t *p_result, module_ctx_t const *mc
                }
                if (request->parent && RDEBUG_ENABLED) {
                        RDEBUG("Sending %s ID %i", fr_packet_codes[request->reply->code], request->reply->id);
-                       log_request_pair_list(L_DBG_LVL_1, request, request->reply_pairs, "");
+                       log_request_pair_list(L_DBG_LVL_1, request, NULL, request->reply_pairs, NULL);
                }
                break;
 
index 7d305cf2fa6c8a51ad70c97c020756496c6a02e0..5f7435fc232beb7930c1c733b3e41f7e960a2d33 100644 (file)
@@ -63,7 +63,7 @@ static unlang_action_t mod_process(rlm_rcode_t *p_result, UNUSED module_ctx_t co
        case REQUEST_INIT:
                if (request->parent && RDEBUG_ENABLED) {
                        RDEBUG("Received %s ID %i", fr_packet_codes[request->packet->code], request->packet->id);
-                       log_request_pair_list(L_DBG_LVL_1, request, request->request_pairs, "");
+                       log_request_pair_list(L_DBG_LVL_1, request, NULL, request->request_pairs, NULL);
                }
 
                request->component = "radius";
@@ -230,7 +230,7 @@ static unlang_action_t mod_process(rlm_rcode_t *p_result, UNUSED module_ctx_t co
 
                if (request->parent && RDEBUG_ENABLED) {
                        RDEBUG("Sending %s ID %i", fr_packet_codes[request->reply->code], request->reply->id);
-                       log_request_pair_list(L_DBG_LVL_1, request, request->reply_pairs, "");
+                       log_request_pair_list(L_DBG_LVL_1, request, NULL, request->reply_pairs, NULL);
                }
                break;
 
index 80f600c1847a526bec41728f21625854508e25c4..402d8d15cf1091ae4d8ec52c437ebe22a0e546a4 100644 (file)
@@ -59,7 +59,7 @@ static unlang_action_t mod_process(rlm_rcode_t *p_result, UNUSED module_ctx_t co
        case REQUEST_INIT:
                if (request->parent && RDEBUG_ENABLED) {
                        RDEBUG("Received %s ID %i", fr_packet_codes[request->packet->code], request->packet->id);
-                       log_request_pair_list(L_DBG_LVL_1, request, request->request_pairs, "");
+                       log_request_pair_list(L_DBG_LVL_1, request, NULL, request->request_pairs, NULL);
                }
 
                request->component = "radius";
@@ -180,7 +180,7 @@ static unlang_action_t mod_process(rlm_rcode_t *p_result, UNUSED module_ctx_t co
 
                if (request->parent && RDEBUG_ENABLED) {
                        RDEBUG("Sending %s ID %i", fr_packet_codes[request->reply->code], request->reply->id);
-                       log_request_pair_list(L_DBG_LVL_1, request, request->reply_pairs, "");
+                       log_request_pair_list(L_DBG_LVL_1, request, NULL, request->reply_pairs, NULL);
                }
                break;
 
index 5d75a7e225b722b0db5c51f439c400f26b849bef..f9910a294df683bf86181219b389cf494f2629da 100644 (file)
@@ -291,7 +291,7 @@ static int mod_decode(void const *instance, request_t *request, uint8_t *const d
                       request->packet->data_len,
                       request->async->listen->name);
 
-               log_request_pair_list(L_DBG_LVL_1, request, request->request_pairs, "");
+               log_request_pair_list(L_DBG_LVL_1, request, NULL, request->request_pairs, NULL);
 
                /*
                 *      Maybe the shared secret is wrong?
@@ -401,7 +401,7 @@ static ssize_t mod_encode(void const *instance, request_t *request, uint8_t *buf
                       data_len,
                       request->async->listen->name);
 
-               log_request_pair_list(L_DBG_LVL_1, request, request->reply_pairs, "");
+               log_request_pair_list(L_DBG_LVL_1, request, NULL, request->reply_pairs, NULL);
        }
 
        RHEXDUMP3(buffer, data_len, "proto_tacacs encode packet");
index 795cf3b323252e590ed7b36759cc6317f56c6fc0..bc327a25078236004d0414e7f0ed7cd6aafc1bc7 100644 (file)
@@ -67,7 +67,7 @@ static unlang_action_t mod_process(rlm_rcode_t *p_result, UNUSED module_ctx_t co
        switch (request->request_state) {
        case REQUEST_INIT:
                RDEBUG("Received %s ID %i", fr_vmps_codes[request->packet->code], request->packet->id);
-               log_request_proto_pair_list(L_DBG_LVL_1, request, request->request_pairs, "");
+               log_request_proto_pair_list(L_DBG_LVL_1, request, NULL, request->request_pairs, NULL);
 
                request->component = "vmps";
 
@@ -184,7 +184,7 @@ static unlang_action_t mod_process(rlm_rcode_t *p_result, UNUSED module_ctx_t co
                } else {
                        RDEBUG("Denying client");
                }
-               if (RDEBUG_ENABLED) log_request_pair_list(L_DBG_LVL_1, request, request->reply_pairs, NULL);
+               if (RDEBUG_ENABLED) log_request_pair_list(L_DBG_LVL_1, request, NULL, request->reply_pairs, NULL);
                break;
 
        default:
index 86bcead3c2714ee92f36688562305a84bb232bcf..e784e4cfeacf857a5aa9f08f5feefd99d7a0802a 100644 (file)
@@ -59,7 +59,7 @@ static unlang_action_t mod_process(rlm_rcode_t *p_result, UNUSED module_ctx_t co
        switch (request->request_state) {
        case REQUEST_INIT:
                RDEBUG("Received %s ID %08x", fr_vmps_codes[request->packet->code], request->packet->id);
-               log_request_proto_pair_list(L_DBG_LVL_1, request, request->request_pairs, "");
+               log_request_proto_pair_list(L_DBG_LVL_1, request, NULL, request->request_pairs, NULL);
 
                request->component = "vmps";
 
index 4b0121e26409a121145735ac1413d92b002c41ff..b3dfa759dc84fcd6cbf7b2d01364c14eea8c3ab4 100644 (file)
@@ -592,7 +592,7 @@ static FR_CODE eap_fast_eap_payload(request_t *request, eap_session_t *eap_sessi
        fr_pair_value_memdup(fake->request_pairs, tlv_eap_payload->vp_octets, tlv_eap_payload->vp_length, false);
 
        RDEBUG2("Got tunneled request");
-       log_request_pair_list(L_DBG_LVL_1, fake, fake->request_pairs, NULL);
+       log_request_pair_list(L_DBG_LVL_1, fake, NULL, fake->request_pairs, NULL);
 
        /*
         *      Tell the request that it's a fake one.
@@ -955,7 +955,7 @@ FR_CODE eap_fast_process(request_t *request, eap_session_t *eap_session, fr_tls_
                                 data, data_len, NULL) < 0) return FR_CODE_ACCESS_REJECT;
 
        RDEBUG2("Got Tunneled FAST TLVs");
-       log_request_pair_list(L_DBG_LVL_1, request, fast_vps, NULL);
+       log_request_pair_list(L_DBG_LVL_1, request, NULL, fast_vps, NULL);
        code = eap_fast_process_tlvs(request, eap_session, tls_session, fast_vps);
        fr_pair_list_free(&fast_vps);
 
index 38d19b83a7c6f753c980e252a0987975ea28c91b..9489134034eb84ab0538168374079434a9d0cdcb 100644 (file)
@@ -523,7 +523,7 @@ static unlang_action_t CC_HINT(nonnull) mod_process(rlm_rcode_t *p_result, modul
                        }
 
                        RDEBUG2("Built change password packet");
-                       log_request_pair_list(L_DBG_LVL_2, request, request->request_pairs, NULL);
+                       log_request_pair_list(L_DBG_LVL_2, request, NULL, request->request_pairs, NULL);
 
                        /*
                         * jump to "authentication"
@@ -557,7 +557,7 @@ failure:
 
                        if (data->mppe_keys) {
                                RDEBUG2("Adding stored attributes to parent");
-                               log_request_pair_list(L_DBG_LVL_2, request, data->mppe_keys, "&parent.reply.");
+                               log_request_pair_list(L_DBG_LVL_2, request, NULL, data->mppe_keys, "&parent.reply.");
                                MEM(fr_pair_list_copy(parent->reply, &parent->reply->vps, &data->mppe_keys) >= 0);
                        } else {
                                RDEBUG2("No stored attributes to copy to parent");
index 3cc6ceaa0bf5c93f4abbc9701e04497008a70ced..788a2f4326377eeb428b1f6dec94e3077802540d 100644 (file)
@@ -389,7 +389,7 @@ static rlm_rcode_t CC_HINT(nonnull) process_reply(eap_session_t *eap_session, fr
                } else {
                        RDEBUG2("Got tunneled reply code %i", reply->code);
                }
-               log_request_pair_list(L_DBG_LVL_2, request, reply->vps, NULL);
+               log_request_pair_list(L_DBG_LVL_2, request, NULL, reply->vps, NULL);
        }
 
        switch (reply->code) {
@@ -706,7 +706,7 @@ unlang_action_t eap_peap_process(rlm_rcode_t *p_result, request_t *request,
        }
 
        RDEBUG2("Got tunneled request");
-       log_request_pair_list(L_DBG_LVL_2, request, fake->request_pairs, NULL);
+       log_request_pair_list(L_DBG_LVL_2, request, NULL, fake->request_pairs, NULL);
 
        /*
         *      Update other items in the request_t data structure.
index 4d325855cc798fdf3b9ffc6990b4ef400e09bc2b..75c18e1696841078e689b98765204c2ea8371f04 100644 (file)
@@ -573,7 +573,7 @@ static rlm_rcode_t CC_HINT(nonnull) process_reply(NDEBUG_UNUSED eap_session_t *e
         */
        if (tunnel_vps) {
                RDEBUG2("Sending tunneled reply attributes");
-               log_request_pair_list(L_DBG_LVL_2, request, tunnel_vps, NULL);
+               log_request_pair_list(L_DBG_LVL_2, request, NULL, tunnel_vps, NULL);
 
                vp2diameter(request, tls_session, tunnel_vps);
                fr_pair_list_free(&tunnel_vps);
index 47615c426f44c537bbace2d966068aa8bc921b64..4f17bcc871096e709020533aa37a974e91520547 100644 (file)
@@ -426,7 +426,7 @@ static void CC_HINT(nonnull) status_check_alloc(fr_event_list_t *el, udp_handle_
        request->packet->code = u->code;
 
        DEBUG3("%s - Status check packet type will be %s", h->module_name, fr_packet_codes[u->code]);
-       log_request_pair_list(L_DBG_LVL_3, request, request->request_pairs, NULL);
+       log_request_pair_list(L_DBG_LVL_3, request, NULL, request->request_pairs, NULL);
 
        MEM(h->status_r = talloc_zero(request, udp_result_t));
        h->status_u = u;
@@ -1251,7 +1251,7 @@ static decode_fail_t decode(TALLOC_CTX *ctx, fr_pair_t **reply, uint8_t *respons
 
        RDEBUG("Received %s ID %d length %ld reply packet on connection %s",
               fr_packet_codes[code], code, packet_len, h->name);
-       log_request_pair_list(L_DBG_LVL_2, request, *reply, NULL);
+       log_request_pair_list(L_DBG_LVL_2, request, NULL, *reply, NULL);
 
        *response_code = code;
 
@@ -1840,8 +1840,8 @@ static void request_mux(fr_event_list_t *el,
                               fr_packet_codes[u->code], u->id, u->packet_len, h->name);
                }
 
-               log_request_pair_list(L_DBG_LVL_2, request, request->request_pairs, NULL);
-               if (u->extra) log_request_pair_list(L_DBG_LVL_2, request, u->extra, NULL);
+               log_request_pair_list(L_DBG_LVL_2, request, NULL, request->request_pairs, NULL);
+               if (u->extra) log_request_pair_list(L_DBG_LVL_2, request, NULL, u->extra, NULL);
 
                /*
                 *      Record pointers to the buffer we'll be writing
index 7234a2aa3d28c444c7de0cda9b907dc15c958088..d825569d109c7a0b37446acdd1939f154384904b 100644 (file)
@@ -942,7 +942,7 @@ static unlang_action_t rlm_sql_process_groups(rlm_rcode_t *p_result,
                        RDEBUG2("Group \"%s\": Merging reply items", entry->name);
                        if (rcode == RLM_MODULE_NOOP) rcode = RLM_MODULE_UPDATED;
 
-                       log_request_pair_list(L_DBG_LVL_2, request, reply_tmp, NULL);
+                       log_request_pair_list(L_DBG_LVL_2, request, NULL, reply_tmp, NULL);
 
                        radius_pairmove(request, &request->reply_pairs, reply_tmp, true);
                        fr_pair_list_init(&reply_tmp);
@@ -1316,7 +1316,7 @@ static unlang_action_t CC_HINT(nonnull) mod_authorize(rlm_rcode_t *p_result, mod
                RDEBUG2("User found in radreply table, merging reply items");
                user_found = true;
 
-               log_request_pair_list(L_DBG_LVL_2, request, reply_tmp, NULL);
+               log_request_pair_list(L_DBG_LVL_2, request, NULL, reply_tmp, NULL);
 
                radius_pairmove(request, &request->reply_pairs, reply_tmp, true);