]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
cleanups and fixes
authorAlan T. DeKok <aland@freeradius.org>
Tue, 7 Sep 2021 18:47:19 +0000 (14:47 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Tue, 7 Sep 2021 18:47:19 +0000 (14:47 -0400)
src/protocols/tacacs/encode.c
src/tests/unit/protocols/tacacs/typed.txt

index 2887b7aea476a1a098be890691519fbf0f5a17f7..0741474164a72853df6f9a96df0c59a98ac989e4 100644 (file)
@@ -99,7 +99,7 @@ static ssize_t tacacs_encode_body_arg_n(fr_dbuff_t *dbuff, uint8_t *arg_cnt_p, f
                        /* Append the <arg_N> field */
                        FR_DBUFF_IN_MEMCPY_RETURN(&work_dbuff, vp->vp_strvalue, vp->vp_length);
 
-                       FR_PROTO_TRACE("arg[%d] = %s", arg_cnt, vp->vp_strvalue);
+                       FR_PROTO_TRACE("arg[%d] --> %s", arg_cnt, vp->vp_strvalue);
                        len = vp->vp_length;
 
                } else if (fr_dict_by_da(vp->da) != dict_tacacs) {
@@ -124,14 +124,16 @@ static ssize_t tacacs_encode_body_arg_n(fr_dbuff_t *dbuff, uint8_t *arg_cnt_p, f
                        slen = fr_pair_print_value_quoted(&sbuff, vp, 0);
                        if (slen <= 0) return -1;
 
-                       FR_DBUFF_IN_MEMCPY_RETURN(&arg_dbuff, buffer, slen);
-
-                       FR_PROTO_TRACE("arg[%d] = %s", arg_cnt, buffer);
+                       FR_DBUFF_IN_MEMCPY_RETURN(&arg_dbuff, buffer, (size_t) slen);
 
                        len = fr_dbuff_used(&arg_dbuff);
+
+                       FR_PROTO_TRACE("arg[%d] --> %.*s", arg_cnt, len, fr_dbuff_start(&arg_dbuff));
+
                        fr_dbuff_set(&work_dbuff, &arg_dbuff);
                }
 
+               FR_PROTO_TRACE("len(arg[%d]) = %d", arg_cnt, len);
                arg_cnt_p[1 + arg_cnt] = len;
                arg_cnt++;
        }
@@ -610,8 +612,6 @@ ssize_t fr_tacacs_encode(fr_dbuff_t *dbuff, uint8_t const *original_packet, char
                        ENCODE_FIELD_STRING8(packet->acct.req.port_len, attr_tacacs_client_port);
                        ENCODE_FIELD_STRING8(packet->acct.req.rem_addr_len, attr_tacacs_remote_address);
 
-                       fprintf(stderr, "ARG CNT %d at %d\n", packet->acct.req.arg_cnt, __LINE__);
-
                        /*
                         *      Append 'args_body' to the end of buffer
                         */
index 00c1772f2884ad9ebe9552e699a9a151fea34f5e..e36bbf658fa9c1b0e74ae1d37c80d9f031c86ab9 100644 (file)
@@ -31,7 +31,7 @@ decode-proto c0 02 02 00 e1 66 78 e6 00 00 00 13 02 59 f9 90 38 81 e1 bb 9d a6 1
 match Packet.Version-Major = Plus, Packet.Version-Minor = 0, Packet.Packet-Type = Authorization, Packet.Sequence-Number = 2, Packet.Flags = None, Packet.Session-Id = 3781589222, Packet.Length = 19, Packet-Body-Type = Response, Authorization-Status = Pass-Add, Server-Message = "", Data = 0x, addr = 1.2.3.4
 
 encode-proto -
-match c0 02 02 00 e1 66 78 e6 00 00 00 13 02 59 f9 90 38 81 e1 bb 9d a6 13 93 fc 86 7e 4a 14 1c 24
+match c0 02 02 00 e1 66 78 e6 00 00 00 13 02 59 f5 90 38 81 ed bb 9d a6 13 93 fc 86 7e 4a 14 1c 24
 
 #
 #  Accounting - Request: (Client -> Server)
@@ -43,4 +43,4 @@ encode-proto -
 match c0 03 01 00 07 9b 35 d9 00 00 00 5a 7c 8a 99 d6 88 f9 32 3c ed 21 75 25 89 18 7f d0 9f 53 64 c6 9a 0c a7 d8 37 59 ff 5b 8a 0f 08 16 bf 67 9d 02 9e 62 6b 0c e1 9e b4 a3 77 0c 23 c4 d5 5b d0 19 f2 3d 07 57 98 e4 2d f1 4d ef 5e b2 2f 84 d4 9e 5d 8f 13 05 f0 09 6a 44 66 ad 3a fb 59 0c 1d 7a d0 d5 0a 4c 3e 11
 
 count
-match 26
+match 15