]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
set ifindex, allow -i to work, print filename
authorAlan T. DeKok <aland@freeradius.org>
Tue, 2 Apr 2024 21:01:48 +0000 (17:01 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Tue, 2 Apr 2024 21:01:48 +0000 (17:01 -0400)
src/bin/radclient-ng.c

index 130891d47bd0f93850ca1eeb945677a3f807dc5b..5d8ecede3622c0107f50c3aae0267142e790cea1 100644 (file)
@@ -692,6 +692,7 @@ static int radclient_sane(rc_request_t *request)
 {
        request->packet->socket.inet.src_ipaddr = fd_info->socket.inet.src_ipaddr;
        request->packet->socket.inet.src_port = fd_info->socket.inet.src_port;
+       request->packet->socket.inet.ifindex = fd_info->socket.inet.ifindex;
 
        if (request->packet->socket.inet.dst_port == 0) {
                request->packet->socket.inet.dst_port = fd_config.dst_port;
@@ -859,6 +860,10 @@ static void client_read(fr_event_list_t *el, int fd, UNUSED int flags, void *uct
 
        fr_radius_packet_log(&default_log, reply, &reply_pairs, true);
 
+       if (print_filename) {
+               RDEBUG("%s response code %d", request->files->packets, reply->code);
+       }
+
        /*
         *      Increment counters...
         */
@@ -1444,6 +1449,13 @@ int main(int argc, char **argv)
        fd_info = fr_bio_fd_info(bio);
        fr_assert(fd_info != NULL);
 
+       if (forced_id >= 0) {
+               if (fr_radius_client_bio_force_id(client_bio, packet_code, forced_id) < 0) {
+                       fr_perror("radclient");
+                       fr_exit_now(1);
+               }
+       }
+
        /*
         *      Walk over the list of packets, updating to use the correct addresses, and sanity checking them.
         */
@@ -1491,6 +1503,8 @@ int main(int argc, char **argv)
 
        talloc_free(autofree);
 
+       fr_strerror_clear();
+
        if (do_summary) {
                fr_perror("Packet summary:\n"
                      "\tAccepted      : %" PRIu64 "\n"