From: Alan T. DeKok Date: Wed, 9 Oct 2019 21:21:10 +0000 (-0400) Subject: use "const" and common functions for common work X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=4210e08095d44999b4187bb82a5cd0d7c8191e5f;p=thirdparty%2Ffreeradius-server.git use "const" and common functions for common work --- diff --git a/src/bin/radclient.c b/src/bin/radclient.c index 24c1241223f..57ba92dd331 100644 --- a/src/bin/radclient.c +++ b/src/bin/radclient.c @@ -1003,8 +1003,7 @@ static int send_one_packet(rc_request_t *request) return -1; } - fr_packet_header_log(&default_log, request->packet, false); - if (fr_debug_lvl > L_DBG_LVL_1) fr_pair_list_log(&default_log, request->packet->vps); + fr_packet_log(&default_log, request->packet, false); return 0; } @@ -1107,8 +1106,7 @@ static int recv_one_packet(fr_time_t wait_time) goto packet_done; } - fr_packet_header_log(&default_log, request->reply, true); - if (fr_debug_lvl >= L_DBG_LVL_1) fr_pair_list_log(&default_log, request->reply->vps); + fr_packet_log(&default_log, request->reply, true); /* * Increment counters... diff --git a/src/bin/radsnmp.c b/src/bin/radsnmp.c index 1065330373f..1bc3cfd6734 100644 --- a/src/bin/radsnmp.c +++ b/src/bin/radsnmp.c @@ -792,11 +792,7 @@ static int radsnmp_send_recv(radsnmp_conf_t *conf, int fd) /* * Print the attributes we're about to send */ - fr_packet_header_log(&default_log, request, false); - if (fr_debug_lvl >= L_DBG_LVL_1) fr_pair_list_log(&default_log, request->vps); -#ifndef NDEBUG - if (fr_debug_lvl >= L_DBG_LVL_4) fr_radius_packet_log_hex(&default_log, request); -#endif + fr_packet_log(&default_log, request, false); FD_ZERO(&set); /* clear the set */ FD_SET(fd, &set); @@ -855,11 +851,7 @@ static int radsnmp_send_recv(radsnmp_conf_t *conf, int fd) /* * Print the attributes we received in response */ - fr_packet_header_log(&default_log, reply, true); - if (fr_debug_lvl >= L_DBG_LVL_1) fr_pair_list_log(&default_log, reply->vps); -#ifndef NDEBUG - if (fr_debug_lvl >= L_DBG_LVL_4) fr_radius_packet_log_hex(&default_log, reply); -#endif + fr_packet_log(&default_log, reply, true); switch (command) { case RADSNMP_GET: diff --git a/src/protocols/radius/list.c b/src/protocols/radius/list.c index 370dc720f53..4d8d914be36 100644 --- a/src/protocols/radius/list.c +++ b/src/protocols/radius/list.c @@ -858,3 +858,15 @@ void fr_packet_header_log(fr_log_t const *log, RADIUS_PACKET *packet, bool recei packet->data_len); } } + +/* + * Debug the packet header and all attributes + */ +void fr_packet_log(fr_log_t const *log, RADIUS_PACKET *packet, bool received) +{ + fr_packet_header_log(log, packet, received); + if (fr_debug_lvl >= L_DBG_LVL_1) fr_pair_list_log(log, packet->vps); +#ifndef NDEBUG + if (fr_debug_lvl >= L_DBG_LVL_4) fr_radius_packet_log_hex(log, packet); +#endif +} diff --git a/src/protocols/radius/list.h b/src/protocols/radius/list.h index a5a51c8267d..7cbc44b32bb 100644 --- a/src/protocols/radius/list.h +++ b/src/protocols/radius/list.h @@ -64,6 +64,7 @@ RADIUS_PACKET *fr_packet_list_recv(fr_packet_list_t *pl, fd_set *set, uint32_t m uint32_t fr_packet_list_num_incoming(fr_packet_list_t *pl); uint32_t fr_packet_list_num_outgoing(fr_packet_list_t *pl); void fr_packet_header_log(fr_log_t const *log, RADIUS_PACKET *packet, bool received); +void fr_packet_log(fr_log_t const *log, RADIUS_PACKET *packet, bool received); /* * "find" returns a pointer to the RADIUS_PACKET* member in the diff --git a/src/protocols/radius/packet.c b/src/protocols/radius/packet.c index 3a4b0bef958..63bdb7009bf 100644 --- a/src/protocols/radius/packet.c +++ b/src/protocols/radius/packet.c @@ -517,7 +517,7 @@ int fr_radius_packet_send(RADIUS_PACKET *packet, RADIUS_PACKET const *original, &packet->dst_ipaddr, packet->dst_port); } -void _fr_radius_packet_log_hex(fr_log_t *log, RADIUS_PACKET const *packet, char const *file, int line) +void _fr_radius_packet_log_hex(fr_log_t const *log, RADIUS_PACKET const *packet, char const *file, int line) { uint8_t const *attr, *end; char buffer[256]; diff --git a/src/protocols/radius/radius.h b/src/protocols/radius/radius.h index 25a738a8406..397336e25cd 100644 --- a/src/protocols/radius/radius.h +++ b/src/protocols/radius/radius.h @@ -121,7 +121,7 @@ int fr_radius_packet_send(RADIUS_PACKET *packet, RADIUS_PACKET const *original, char const *secret) CC_HINT(nonnull (1,3)); #define fr_radius_packet_log_hex(_log, _packet) _fr_radius_packet_log_hex(_log, _packet, __FILE__, __LINE__); -void _fr_radius_packet_log_hex(fr_log_t *log, RADIUS_PACKET const *packet, char const *file, int line) CC_HINT(nonnull); +void _fr_radius_packet_log_hex(fr_log_t const *log, RADIUS_PACKET const *packet, char const *file, int line) CC_HINT(nonnull); typedef struct { uint8_t const *vector; //!< vector for encryption / decryption of data