]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
allow it to run for tacclient
authorAlan T. DeKok <aland@freeradius.org>
Tue, 17 Jan 2023 19:22:19 +0000 (14:22 -0500)
committerAlan T. DeKok <aland@freeradius.org>
Tue, 17 Jan 2023 21:30:03 +0000 (16:30 -0500)
src/process/tacacs/base.c

index f606cef35b8feb1575c3f0fd38936f4102fea000..f0dcffe557cbff5a18acf652e269c8de146fc7d4 100644 (file)
@@ -192,11 +192,15 @@ RECV(tacacs)
        UPDATE_STATE_CS(packet);
        request->reply->code = state->default_reply; /* TCP, so we always reply */
 
-       if (!request->parent) {
+       /*
+        *      Track state across multiple packets.
+        *
+        *      @todo - for fake packets, too?
+        */
+       if (!request->parent && request->async->listen) {
                fr_pair_t *vp;
                uint8_t buffer[sizeof(request->async->listen) + sizeof(pkt->session_id)];
 
-               fr_assert(request->async->listen);
                memcpy(buffer, &request->async->listen, sizeof(request->async->listen));
                memcpy(buffer + sizeof(request->async->listen), &pkt->session_id, sizeof(pkt->session_id));