]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
s/fr_cursor/fr_dcursor/ in protocols/radius
authorNick Porter <nick@portercomputing.co.uk>
Tue, 22 Dec 2020 18:01:01 +0000 (18:01 +0000)
committerArran Cudbard-Bell <a.cudbardb@freeradius.org>
Thu, 21 Jan 2021 23:05:49 +0000 (23:05 +0000)
src/protocols/radius/base.c
src/protocols/radius/decode.c
src/protocols/radius/encode.c
src/protocols/radius/packet.c
src/protocols/radius/radius.h

index 7f839c912a32b01581c01edcb927379397720147..818315f93383a62f0514ea51c6134a3c9885fbc3 100644 (file)
@@ -909,7 +909,7 @@ ssize_t fr_radius_encode_dbuff(fr_dbuff_t *dbuff, uint8_t const *original,
 {
        ssize_t                 slen;
        fr_pair_t const *vp;
-       fr_cursor_t             cursor;
+       fr_dcursor_t            cursor;
        fr_radius_ctx_t         packet_ctx;
        fr_dbuff_t              work_dbuff, length_dbuff;
 
@@ -978,8 +978,8 @@ ssize_t fr_radius_encode_dbuff(fr_dbuff_t *dbuff, uint8_t const *original,
        /*
         *      Loop over the reply attributes for the packet.
         */
-       fr_cursor_talloc_iter_init(&cursor, vps, fr_radius_next_encodable, dict_radius, fr_pair_t);
-       while ((vp = fr_cursor_current(&cursor))) {
+       fr_dcursor_talloc_iter_init(&cursor, vps, fr_radius_next_encodable, dict_radius, fr_pair_t);
+       while ((vp = fr_dcursor_current(&cursor))) {
                VP_VERIFY(vp);
 
                /*
@@ -1007,7 +1007,7 @@ ssize_t fr_radius_encode_dbuff(fr_dbuff_t *dbuff, uint8_t const *original,
  *
  */
 ssize_t        fr_radius_decode(TALLOC_CTX *ctx, uint8_t const *packet, size_t packet_len, uint8_t const *original,
-                        char const *secret, UNUSED size_t secret_len, fr_cursor_t *cursor)
+                        char const *secret, UNUSED size_t secret_len, fr_dcursor_t *cursor)
 {
        ssize_t                 slen;
        uint8_t const           *attr, *end;
index 12739e7688283d3b79d99f435e4b897612bd0bd3..c2da0b7d07450c1c5eca478f2a194e4501805ae9 100644 (file)
@@ -345,7 +345,7 @@ int fr_radius_decode_tlv_ok(uint8_t const *data, size_t length, size_t dv_type,
 /** Convert a "concatenated" attribute to one long VP
  *
  */
-static ssize_t decode_concat(TALLOC_CTX *ctx, fr_cursor_t *cursor,
+static ssize_t decode_concat(TALLOC_CTX *ctx, fr_dcursor_t *cursor,
                             fr_dict_attr_t const *parent, uint8_t const *data,
                             size_t const packet_len)
 {
@@ -403,7 +403,7 @@ static ssize_t decode_concat(TALLOC_CTX *ctx, fr_cursor_t *cursor,
                p += ptr[1] - 2;
                ptr += ptr[1];
        }
-       fr_cursor_append(cursor, vp);
+       fr_dcursor_append(cursor, vp);
        return ptr - data;
 }
 
@@ -411,14 +411,14 @@ static ssize_t decode_concat(TALLOC_CTX *ctx, fr_cursor_t *cursor,
 /** Convert TLVs to one or more VPs
  *
  */
-ssize_t fr_radius_decode_tlv(TALLOC_CTX *ctx, fr_cursor_t *cursor, fr_dict_t const *dict,
+ssize_t fr_radius_decode_tlv(TALLOC_CTX *ctx, fr_dcursor_t *cursor, fr_dict_t const *dict,
                             fr_dict_attr_t const *parent, uint8_t const *data, size_t data_len,
                             fr_radius_ctx_t *packet_ctx)
 {
        uint8_t const           *p = data, *end = data + data_len;
        fr_dict_attr_t const    *child;
        fr_pair_list_t          head;
-       fr_cursor_t             tlv_cursor;
+       fr_dcursor_t            tlv_cursor;
 
        fr_pair_list_init(&head);
        if (data_len < 3) return -1; /* type, length, value */
@@ -434,7 +434,7 @@ ssize_t fr_radius_decode_tlv(TALLOC_CTX *ctx, fr_cursor_t *cursor, fr_dict_t con
        /*
         *  Record where we were in the list when this function was called
         */
-       fr_cursor_init(&tlv_cursor, &head);
+       fr_dcursor_init(&tlv_cursor, &head);
        while (p < end) {
                ssize_t tlv_len;
 
@@ -460,9 +460,9 @@ ssize_t fr_radius_decode_tlv(TALLOC_CTX *ctx, fr_cursor_t *cursor, fr_dict_t con
                if (tlv_len < 0) goto error;
                p += p[1];
        }
-       fr_cursor_head(&tlv_cursor);
-       fr_cursor_tail(cursor);
-       fr_cursor_merge(cursor, &tlv_cursor);   /* Wind to the end of the new pairs */
+       fr_dcursor_head(&tlv_cursor);
+       fr_dcursor_tail(cursor);
+       fr_dcursor_merge(cursor, &tlv_cursor);  /* Wind to the end of the new pairs */
 
        return data_len;
 }
@@ -471,7 +471,7 @@ ssize_t fr_radius_decode_tlv(TALLOC_CTX *ctx, fr_cursor_t *cursor, fr_dict_t con
  *
  * "length" can be LONGER than just this sub-vsa.
  */
-static ssize_t decode_vsa_internal(TALLOC_CTX *ctx, fr_cursor_t *cursor, fr_dict_t const *dict,
+static ssize_t decode_vsa_internal(TALLOC_CTX *ctx, fr_dcursor_t *cursor, fr_dict_t const *dict,
                                   fr_dict_attr_t const *parent,
                                   uint8_t const *data, size_t data_len,
                                   fr_radius_ctx_t *packet_ctx, fr_dict_vendor_t const *dv)
@@ -572,7 +572,7 @@ static ssize_t decode_vsa_internal(TALLOC_CTX *ctx, fr_cursor_t *cursor, fr_dict
  *
  * But for the first fragment, we get passed a pointer to the "extended-attr"
  */
-static ssize_t decode_extended(TALLOC_CTX *ctx, fr_cursor_t *cursor, fr_dict_t const *dict,
+static ssize_t decode_extended(TALLOC_CTX *ctx, fr_dcursor_t *cursor, fr_dict_t const *dict,
                               fr_dict_attr_t const *parent,
                               uint8_t const *data, size_t attr_len, size_t packet_len,
                               fr_radius_ctx_t *packet_ctx)
@@ -664,7 +664,7 @@ static ssize_t decode_extended(TALLOC_CTX *ctx, fr_cursor_t *cursor, fr_dict_t c
  *
  * @note Called ONLY for Vendor-Specific
  */
-static ssize_t decode_wimax(TALLOC_CTX *ctx, fr_cursor_t *cursor, fr_dict_t const *dict,
+static ssize_t decode_wimax(TALLOC_CTX *ctx, fr_dcursor_t *cursor, fr_dict_t const *dict,
                            fr_dict_attr_t const *parent,
                            uint8_t const *data, size_t attr_len, size_t packet_len,
                            fr_radius_ctx_t *packet_ctx)
@@ -834,7 +834,7 @@ static ssize_t decode_wimax(TALLOC_CTX *ctx, fr_cursor_t *cursor, fr_dict_t cons
 /** Convert a top-level VSA to one or more VPs
  *
  */
-static ssize_t  CC_HINT(nonnull) decode_vsa(TALLOC_CTX *ctx, fr_cursor_t *cursor, fr_dict_t const *dict,
+static ssize_t  CC_HINT(nonnull) decode_vsa(TALLOC_CTX *ctx, fr_dcursor_t *cursor, fr_dict_t const *dict,
                                            fr_dict_attr_t const *parent,
                                            uint8_t const *data, size_t attr_len, size_t packet_len,
                                            fr_radius_ctx_t *packet_ctx)
@@ -846,7 +846,7 @@ static ssize_t  CC_HINT(nonnull) decode_vsa(TALLOC_CTX *ctx, fr_cursor_t *cursor
        fr_pair_list_t          head;
        fr_dict_vendor_t        my_dv;
        fr_dict_attr_t const    *vendor_da;
-       fr_cursor_t             tlv_cursor;
+       fr_dcursor_t            tlv_cursor;
 
        fr_pair_list_init(&head);
 
@@ -939,7 +939,7 @@ create_attrs:
        packet_len -= 4;
        total = 4;
 
-       fr_cursor_init(&tlv_cursor, &head);
+       fr_dcursor_init(&tlv_cursor, &head);
        while (attr_len > 0) {
                ssize_t vsa_len;
 
@@ -959,9 +959,9 @@ create_attrs:
                packet_len -= vsa_len;
                total += vsa_len;
        }
-       fr_cursor_head(&tlv_cursor);
-       fr_cursor_tail(cursor);
-       fr_cursor_merge(cursor, &tlv_cursor);
+       fr_dcursor_head(&tlv_cursor);
+       fr_dcursor_tail(cursor);
+       fr_dcursor_merge(cursor, &tlv_cursor);
 
        /*
         *      When the unknown attributes were created by
@@ -980,7 +980,7 @@ create_attrs:
  *  packet length.  But when we're decoding values inside of a struct,
  *  we're not using extended attributes.
  */
-static ssize_t decode_value(TALLOC_CTX *ctx, fr_cursor_t *cursor, fr_dict_t const *dict,
+static ssize_t decode_value(TALLOC_CTX *ctx, fr_dcursor_t *cursor, fr_dict_t const *dict,
                            fr_dict_attr_t const *parent,
                            uint8_t const *data, size_t data_len, void *decoder_ctx)
 {
@@ -989,7 +989,7 @@ static ssize_t decode_value(TALLOC_CTX *ctx, fr_cursor_t *cursor, fr_dict_t cons
 
 /** Wrapper called by fr_struct_from_network()
  */
-static ssize_t decode_tlv(TALLOC_CTX *ctx, fr_cursor_t *cursor, fr_dict_t const *dict,
+static ssize_t decode_tlv(TALLOC_CTX *ctx, fr_dcursor_t *cursor, fr_dict_t const *dict,
                            fr_dict_attr_t const *parent,
                            uint8_t const *data, size_t data_len, void *decoder_ctx)
 {
@@ -1010,7 +1010,7 @@ static ssize_t decode_tlv(TALLOC_CTX *ctx, fr_cursor_t *cursor, fr_dict_t const
  *     - Length on success.
  *     - -1 on failure.
  */
-ssize_t fr_radius_decode_pair_value(TALLOC_CTX *ctx, fr_cursor_t *cursor, fr_dict_t const *dict,
+ssize_t fr_radius_decode_pair_value(TALLOC_CTX *ctx, fr_dcursor_t *cursor, fr_dict_t const *dict,
                                    fr_dict_attr_t const *parent,
                                    uint8_t const *data, size_t const attr_len, size_t const packet_len,
                                    fr_radius_ctx_t *packet_ctx)
@@ -1126,9 +1126,9 @@ ssize_t fr_radius_decode_pair_value(TALLOC_CTX *ctx, fr_cursor_t *cursor, fr_dic
                                return -1;
                        }
 
-                       fr_cursor_append(cursor, group);
+                       fr_dcursor_append(cursor, group);
                        packet_ctx->tags[tag]->parent = group;
-                       fr_cursor_init(&packet_ctx->tags[tag]->cursor, &group->vp_group);
+                       fr_dcursor_init(&packet_ctx->tags[tag]->cursor, &group->vp_group);
                }
        }
 
@@ -1590,13 +1590,13 @@ done:
        vp->vp_tainted = true;
 
        if (!tag) {
-               fr_cursor_append(cursor, vp);
+               fr_dcursor_append(cursor, vp);
                return attr_len;
        }
 
        fr_assert(packet_ctx->tags != NULL);
        fr_assert(packet_ctx->tags[tag] != NULL);
-       fr_cursor_append(&packet_ctx->tags[tag]->cursor, vp);
+       fr_dcursor_append(&packet_ctx->tags[tag]->cursor, vp);
        return attr_len;
 }
 
@@ -1604,7 +1604,7 @@ done:
 /** Create a "normal" fr_pair_t from the given data
  *
  */
-ssize_t fr_radius_decode_pair(TALLOC_CTX *ctx, fr_cursor_t *cursor, fr_dict_t const *dict,
+ssize_t fr_radius_decode_pair(TALLOC_CTX *ctx, fr_dcursor_t *cursor, fr_dict_t const *dict,
                              uint8_t const *data, size_t data_len, fr_radius_ctx_t *packet_ctx)
 {
        ssize_t                 ret;
@@ -1649,7 +1649,7 @@ ssize_t fr_radius_decode_pair(TALLOC_CTX *ctx, fr_cursor_t *cursor, fr_dict_t co
                vp = fr_pair_afrom_da(ctx, da);
                if (!vp) return -1;
 
-               fr_cursor_append(cursor, vp);
+               fr_dcursor_append(cursor, vp);
                vp->vp_tainted = true;          /* not REALLY necessary, but what the heck */
 
                return 2;
@@ -1712,7 +1712,7 @@ static ssize_t fr_radius_decode_proto(TALLOC_CTX *ctx, fr_pair_list_t *list, uin
        size_t packet_len = data_len;
        fr_radius_ctx_t *test_ctx = talloc_get_type_abort(proto_ctx, fr_radius_ctx_t);
        decode_fail_t reason;
-       fr_cursor_t cursor;
+       fr_dcursor_t cursor;
        fr_pair_t *vp;
        uint8_t original[20];
 
@@ -1721,7 +1721,7 @@ static ssize_t fr_radius_decode_proto(TALLOC_CTX *ctx, fr_pair_list_t *list, uin
        }
 
        fr_pair_list_init(list);
-       fr_cursor_init(&cursor, list);
+       fr_dcursor_init(&cursor, list);
 
        /*
         *      Decode the header
@@ -1732,7 +1732,7 @@ static ssize_t fr_radius_decode_proto(TALLOC_CTX *ctx, fr_pair_list_t *list, uin
                return -1;
        }
        vp->vp_uint32 = data[0];
-       fr_cursor_append(&cursor, vp);
+       fr_dcursor_append(&cursor, vp);
 
        vp = fr_pair_afrom_da(ctx, attr_packet_authentication_vector);
        if (!vp) {
@@ -1740,8 +1740,8 @@ static ssize_t fr_radius_decode_proto(TALLOC_CTX *ctx, fr_pair_list_t *list, uin
                return -1;
        }
        (void) fr_pair_value_memdup(vp, data + 4, 16, true);
-       fr_cursor_append(&cursor, vp);
-       (void) fr_cursor_tail(&cursor);
+       fr_dcursor_append(&cursor, vp);
+       (void) fr_dcursor_tail(&cursor);
 
        memset(original, 0, 4);
        memcpy(original + 4, test_ctx->vector, sizeof(test_ctx->vector));
index b9b5f30a4dcdee2fb98c5a27874af560c51983ec..9a1f8b34f1566962505ea7d06f76321de0fb32c6 100644 (file)
@@ -37,15 +37,15 @@ RCSID("$Id$")
 
 static ssize_t encode_value(fr_dbuff_t *dbuff,
                            fr_da_stack_t *da_stack, unsigned int depth,
-                           fr_cursor_t *cursor, void *encoder_ctx);
+                           fr_dcursor_t *cursor, void *encoder_ctx);
 
 static ssize_t encode_rfc_hdr_internal(fr_dbuff_t *dbuff,
                                       fr_da_stack_t *da_stack, unsigned int depth,
-                                      fr_cursor_t *cursor, void *encoder_ctx);
+                                      fr_dcursor_t *cursor, void *encoder_ctx);
 
 static ssize_t encode_tlv_hdr(fr_dbuff_t *dbuff,
                              fr_da_stack_t *da_stack, unsigned int depth,
-                             fr_cursor_t *cursor, void *encoder_ctx);
+                             fr_dcursor_t *cursor, void *encoder_ctx);
 
 /** Encode a CHAP password
  *
@@ -238,10 +238,10 @@ static ssize_t encode_tunnel_password(fr_dbuff_t *dbuff, uint8_t const *in, size
 
 static ssize_t encode_tlv_hdr_internal(fr_dbuff_t *dbuff,
                                       fr_da_stack_t *da_stack, unsigned int depth,
-                                      fr_cursor_t *cursor, void *encoder_ctx)
+                                      fr_dcursor_t *cursor, void *encoder_ctx)
 {
        ssize_t         slen;
-       fr_pair_t const *vp = fr_cursor_current(cursor);
+       fr_pair_t const *vp = fr_dcursor_current(cursor);
        fr_dict_attr_t const    *da = da_stack->da[depth];
        fr_dbuff_t              work_dbuff = FR_DBUFF_MAX_NO_ADVANCE(dbuff, 253);
 
@@ -267,7 +267,7 @@ static ssize_t encode_tlv_hdr_internal(fr_dbuff_t *dbuff,
                /*
                 *      If nothing updated the attribute, stop
                 */
-               if (!fr_cursor_current(cursor) || (vp == fr_cursor_current(cursor))) break;
+               if (!fr_dcursor_current(cursor) || (vp == fr_dcursor_current(cursor))) break;
 
                /*
                 *      We can encode multiple sub TLVs, if after
@@ -275,7 +275,7 @@ static ssize_t encode_tlv_hdr_internal(fr_dbuff_t *dbuff,
                 *      at this depth is the same.
                 */
                if ((da != da_stack->da[depth]) || (da_stack->depth < da->depth)) break;
-               vp = fr_cursor_current(cursor);
+               vp = fr_dcursor_current(cursor);
        }
 
        return fr_dbuff_set(dbuff, &work_dbuff);
@@ -283,13 +283,13 @@ static ssize_t encode_tlv_hdr_internal(fr_dbuff_t *dbuff,
 
 static ssize_t encode_tlv_hdr(fr_dbuff_t *dbuff,
                              fr_da_stack_t *da_stack, unsigned int depth,
-                             fr_cursor_t *cursor, void *encoder_ctx)
+                             fr_dcursor_t *cursor, void *encoder_ctx)
 {
        ssize_t                 slen;
        fr_dbuff_marker_t       len_m;
        fr_dbuff_t              work_dbuff = FR_DBUFF_NO_ADVANCE(dbuff);
 
-       VP_VERIFY(fr_cursor_current(cursor));
+       VP_VERIFY(fr_dcursor_current(cursor));
        FR_PROTO_STACK_PRINT(da_stack, depth);
 
        if (da_stack->da[depth]->type != FR_TYPE_TLV) {
@@ -322,13 +322,13 @@ static ssize_t encode_tags(fr_dbuff_t *dbuff, fr_pair_list_t const *vps, void *e
 {
        ssize_t                 slen;
        fr_pair_t const *vp;
-       fr_cursor_t             cursor;
+       fr_dcursor_t            cursor;
 
        /*
         *      Note that we skip tags inside of tags!
         */
-       fr_cursor_talloc_iter_init(&cursor, vps, fr_proto_next_encodable, dict_radius, fr_pair_t);
-       while ((vp = fr_cursor_current(&cursor))) {
+       fr_dcursor_talloc_iter_init(&cursor, vps, fr_proto_next_encodable, dict_radius, fr_pair_t);
+       while ((vp = fr_dcursor_current(&cursor))) {
                VP_VERIFY(vp);
 
                /*
@@ -357,11 +357,11 @@ static ssize_t encode_tags(fr_dbuff_t *dbuff, fr_pair_list_t const *vps, void *e
  */
 static ssize_t encode_value(fr_dbuff_t *dbuff,
                            fr_da_stack_t *da_stack, unsigned int depth,
-                           fr_cursor_t *cursor, void *encoder_ctx)
+                           fr_dcursor_t *cursor, void *encoder_ctx)
 {
        ssize_t                 slen;
        size_t                  len;
-       fr_pair_t const *vp = fr_cursor_current(cursor);
+       fr_pair_t const *vp = fr_dcursor_current(cursor);
        fr_dict_attr_t const    *da = da_stack->da[depth];
        fr_radius_ctx_t         *packet_ctx = encoder_ctx;
        fr_dbuff_t              work_dbuff = FR_DBUFF_NO_ADVANCE(dbuff);
@@ -397,7 +397,7 @@ static ssize_t encode_value(fr_dbuff_t *dbuff,
                                            encode_tlv_hdr_internal);
                if (slen <= 0) return slen;
 
-               vp = fr_cursor_current(cursor);
+               vp = fr_dcursor_current(cursor);
                fr_proto_da_stack_build(da_stack, vp ? vp->da : NULL);
                return fr_dbuff_set(dbuff, &work_dbuff);
        }
@@ -525,7 +525,7 @@ static ssize_t encode_value(fr_dbuff_t *dbuff,
         *      be written.
         */
        if (fr_dbuff_used(&value_dbuff) == 0) {
-               vp = fr_cursor_next(cursor);
+               vp = fr_dcursor_next(cursor);
                fr_proto_da_stack_build(da_stack, vp ? vp->da : NULL);
                return 0;
        }
@@ -616,7 +616,7 @@ static ssize_t encode_value(fr_dbuff_t *dbuff,
        /*
         *      Rebuilds the TLV stack for encoding the next attribute
         */
-       vp = fr_cursor_next(cursor);
+       vp = fr_dcursor_next(cursor);
        fr_proto_da_stack_build(da_stack, vp ? vp->da : NULL);
 
        return fr_dbuff_set(dbuff, &work_dbuff);
@@ -731,7 +731,7 @@ static ssize_t attr_shift(fr_dbuff_t *dbuff,
  */
 static ssize_t encode_extended_hdr(fr_dbuff_t *dbuff,
                                   fr_da_stack_t *da_stack, unsigned int depth,
-                                  fr_cursor_t *cursor, void *encoder_ctx)
+                                  fr_dcursor_t *cursor, void *encoder_ctx)
 {
        ssize_t                 slen;
 #ifndef NDEBUG
@@ -740,7 +740,7 @@ static ssize_t encode_extended_hdr(fr_dbuff_t *dbuff,
 #endif
        int                     extra;
        fr_dbuff_marker_t       hdr;
-       fr_pair_t const *vp = fr_cursor_current(cursor);
+       fr_pair_t const *vp = fr_dcursor_current(cursor);
        fr_dbuff_t              work_dbuff = FR_DBUFF_NO_ADVANCE(dbuff);
        fr_dbuff_t              *attr_dbuff;
 
@@ -841,12 +841,12 @@ static ssize_t encode_extended_hdr(fr_dbuff_t *dbuff,
  */
 static ssize_t encode_concat(fr_dbuff_t *dbuff,
                             fr_da_stack_t *da_stack, unsigned int depth,
-                            fr_cursor_t *cursor, UNUSED void *encoder_ctx)
+                            fr_dcursor_t *cursor, UNUSED void *encoder_ctx)
 {
        uint8_t const           *p;
        size_t                  left;
        ssize_t                 slen;
-       fr_pair_t const *vp = fr_cursor_current(cursor);
+       fr_pair_t const *vp = fr_dcursor_current(cursor);
        fr_dbuff_t              work_dbuff = FR_DBUFF_NO_ADVANCE(dbuff);
 
        FR_PROTO_STACK_PRINT(da_stack, depth);
@@ -875,7 +875,7 @@ static ssize_t encode_concat(fr_dbuff_t *dbuff,
                slen -= left;
        }
 
-       vp = fr_cursor_next(cursor);
+       vp = fr_dcursor_next(cursor);
 
        /*
         *      @fixme: attributes with 'concat' MUST of type
@@ -894,7 +894,7 @@ static ssize_t encode_concat(fr_dbuff_t *dbuff,
  */
 static ssize_t encode_rfc_hdr_internal(fr_dbuff_t *dbuff,
                                       fr_da_stack_t *da_stack, unsigned int depth,
-                                      fr_cursor_t *cursor, void *encoder_ctx)
+                                      fr_dcursor_t *cursor, void *encoder_ctx)
 {
        ssize_t                 slen;
        fr_dbuff_marker_t       hdr;
@@ -939,7 +939,7 @@ static ssize_t encode_rfc_hdr_internal(fr_dbuff_t *dbuff,
  */
 static ssize_t encode_vendor_attr_hdr(fr_dbuff_t *dbuff,
                                      fr_da_stack_t *da_stack, unsigned int depth,
-                                     fr_cursor_t *cursor, void *encoder_ctx)
+                                     fr_dcursor_t *cursor, void *encoder_ctx)
 {
        ssize_t                 slen;
        size_t                  hdr_len;
@@ -1028,12 +1028,12 @@ static ssize_t encode_vendor_attr_hdr(fr_dbuff_t *dbuff,
  */
 static ssize_t encode_wimax_hdr(fr_dbuff_t *dbuff,
                                fr_da_stack_t *da_stack, unsigned int depth,
-                               fr_cursor_t *cursor, void *encoder_ctx)
+                               fr_dcursor_t *cursor, void *encoder_ctx)
 {
        ssize_t                 slen;
        fr_dbuff_t              work_dbuff = FR_DBUFF_NO_ADVANCE(dbuff);
        fr_dbuff_marker_t       hdr;
-       fr_pair_t const *vp = fr_cursor_current(cursor);
+       fr_pair_t const *vp = fr_dcursor_current(cursor);
 
        fr_dbuff_marker(&hdr, &work_dbuff);
 
@@ -1102,7 +1102,7 @@ static ssize_t encode_wimax_hdr(fr_dbuff_t *dbuff,
  */
 static ssize_t encode_vsa_hdr(fr_dbuff_t *dbuff,
                              fr_da_stack_t *da_stack, unsigned int depth,
-                             fr_cursor_t *cursor, void *encoder_ctx)
+                             fr_dcursor_t *cursor, void *encoder_ctx)
 {
        fr_dbuff_marker_t       hdr;
        fr_dbuff_t              work_dbuff = FR_DBUFF_NO_ADVANCE(dbuff);
@@ -1159,9 +1159,9 @@ static ssize_t encode_vsa_hdr(fr_dbuff_t *dbuff,
  *
  */
 static ssize_t encode_rfc_hdr(fr_dbuff_t *dbuff, fr_da_stack_t *da_stack, unsigned int depth,
-                             fr_cursor_t *cursor, void *encoder_ctx)
+                             fr_dcursor_t *cursor, void *encoder_ctx)
 {
-       fr_pair_t const *vp = fr_cursor_current(cursor);
+       fr_pair_t const *vp = fr_dcursor_current(cursor);
        fr_dbuff_t              work_dbuff = FR_DBUFF_NO_ADVANCE(dbuff);
        fr_dbuff_marker_t       start;
 
@@ -1204,7 +1204,7 @@ static ssize_t encode_rfc_hdr(fr_dbuff_t *dbuff, fr_da_stack_t *da_stack, unsign
 
                FR_PROTO_HEX_DUMP(fr_dbuff_current(&start), 2, "header rfc");
 
-               vp = fr_cursor_next(cursor);
+               vp = fr_dcursor_next(cursor);
                fr_proto_da_stack_build(da_stack, vp ? vp->da : NULL);
                return fr_dbuff_set(dbuff, &work_dbuff);
        }
@@ -1220,7 +1220,7 @@ static ssize_t encode_rfc_hdr(fr_dbuff_t *dbuff, fr_da_stack_t *da_stack, unsign
                                  "message-authenticator");
                FR_PROTO_HEX_DUMP(fr_dbuff_current(&start), 2, "header rfc");
 
-               vp = fr_cursor_next(cursor);
+               vp = fr_dcursor_next(cursor);
                fr_proto_da_stack_build(da_stack, vp ? vp->da : NULL);
                return fr_dbuff_set(dbuff, &work_dbuff);
        }
@@ -1242,7 +1242,7 @@ static ssize_t encode_rfc_hdr(fr_dbuff_t *dbuff, fr_da_stack_t *da_stack, unsign
  *     - 0 Nothing to encode (or attribute skipped).
  *     - <0 an error occurred.
  */
-ssize_t fr_radius_encode_pair(fr_dbuff_t *dbuff, fr_cursor_t *cursor, void *encoder_ctx)
+ssize_t fr_radius_encode_pair(fr_dbuff_t *dbuff, fr_dcursor_t *cursor, void *encoder_ctx)
 {
        fr_pair_t const         *vp;
        ssize_t                 len;
@@ -1253,7 +1253,7 @@ ssize_t fr_radius_encode_pair(fr_dbuff_t *dbuff, fr_cursor_t *cursor, void *enco
 
        if (!cursor) return PAIR_ENCODE_FATAL_ERROR;
 
-       vp = fr_cursor_current(cursor);
+       vp = fr_dcursor_current(cursor);
        if (!vp) return 0;
 
        VP_VERIFY(vp);
@@ -1272,7 +1272,7 @@ ssize_t fr_radius_encode_pair(fr_dbuff_t *dbuff, fr_cursor_t *cursor, void *enco
 
                if (!vp->da->flags.internal ||
                    !((vp->da->attr > FR_TAG_BASE) && (vp->da->attr < (FR_TAG_BASE + 0x20)))) {
-                       fr_cursor_next(cursor);
+                       fr_dcursor_next(cursor);
                        return PAIR_ENCODE_SKIPPED;
                }
 
@@ -1285,7 +1285,7 @@ ssize_t fr_radius_encode_pair(fr_dbuff_t *dbuff, fr_cursor_t *cursor, void *enco
                packet_ctx->tag = 0;
                if (len < 0) return len;
 
-               fr_cursor_next(cursor); /* skip the tag attribute */
+               fr_dcursor_next(cursor); /* skip the tag attribute */
                return fr_dbuff_set(dbuff, &work_dbuff);
        }
 
@@ -1313,7 +1313,7 @@ ssize_t fr_radius_encode_pair(fr_dbuff_t *dbuff, fr_cursor_t *cursor, void *enco
                if (!fr_dict_attr_is_top_level(vp->da) ||
                    ((vp->da->attr != FR_CHARGEABLE_USER_IDENTITY) &&
                     (vp->da->attr != FR_MESSAGE_AUTHENTICATOR))) {
-                       fr_cursor_next(cursor);
+                       fr_dcursor_next(cursor);
                        fr_strerror_const("Zero length string attributes not allowed");
                        return PAIR_ENCODE_SKIPPED;
                }
@@ -1401,7 +1401,7 @@ ssize_t fr_radius_encode_pair(fr_dbuff_t *dbuff, fr_cursor_t *cursor, void *enco
        /*
         *      We couldn't do it, so we didn't do anything.
         */
-       if (fr_cursor_current(cursor) == vp) {
+       if (fr_dcursor_current(cursor) == vp) {
                fr_strerror_printf("%s: Nested attribute structure too large to encode", __FUNCTION__);
                return PAIR_ENCODE_FATAL_ERROR;
        }
index 212707758bbac1440dec5a6769bdd32c58abc184..d440888a4e6d8259aa950628f652f2e49591447d 100644 (file)
@@ -124,7 +124,7 @@ int fr_radius_packet_decode(fr_radius_packet_t *packet, fr_pair_list_t *list,
        uint8_t                 *ptr;
        radius_packet_t         *hdr;
        fr_pair_list_t          head;
-       fr_cursor_t             cursor, out;
+       fr_dcursor_t            cursor, out;
        fr_radius_ctx_t         packet_ctx = {
                                        .secret = secret,
                                        .tunnel_password_zeros = tunnel_password_zeros
@@ -182,7 +182,7 @@ int fr_radius_packet_decode(fr_radius_packet_t *packet, fr_pair_list_t *list,
        packet_length = packet->data_len - RADIUS_HEADER_LENGTH;
        num_attributes = 0;
 
-       fr_cursor_init(&cursor, &head);
+       fr_dcursor_init(&cursor, &head);
 
        /*
         *      Loop over the attributes, decoding them into VPs.
@@ -210,7 +210,7 @@ int fr_radius_packet_decode(fr_radius_packet_t *packet, fr_pair_list_t *list,
                /*
                 *      Count the ones which were just added
                 */
-               while (fr_cursor_next(&cursor)) num_attributes++;
+               while (fr_dcursor_next(&cursor)) num_attributes++;
 
                /*
                 *      VSA's may not have been counted properly in
@@ -235,10 +235,10 @@ int fr_radius_packet_decode(fr_radius_packet_t *packet, fr_pair_list_t *list,
                talloc_free_children(packet_ctx.tmp_ctx);
        }
 
-       fr_cursor_init(&out, list);
-       fr_cursor_tail(&out);           /* Move insertion point to the end of the list */
-       fr_cursor_head(&cursor);
-       fr_cursor_merge(&out, &cursor);
+       fr_dcursor_init(&out, list);
+       fr_dcursor_tail(&out);          /* Move insertion point to the end of the list */
+       fr_dcursor_head(&cursor);
+       fr_dcursor_merge(&out, &cursor);
 
        /*
         *      Merge information from the outside world into our
index f462f8809d6e5ae37a777ce9b858baf2466a9cc3..81512e5fd66f649abe17ac27aed6e247cdaee2fb 100644 (file)
@@ -130,7 +130,7 @@ ssize_t             fr_radius_encode_dbuff(fr_dbuff_t *dbuff, uint8_t const *original,
                                 char const *secret, UNUSED size_t secret_len, int code, int id, fr_pair_list_t *vps);
 
 ssize_t                fr_radius_decode(TALLOC_CTX *ctx, uint8_t const *packet, size_t packet_len, uint8_t const *original,
-                                char const *secret, UNUSED size_t secret_len, fr_cursor_t *cursor) CC_HINT(nonnull(1,2,5,7));
+                                char const *secret, UNUSED size_t secret_len, fr_dcursor_t *cursor) CC_HINT(nonnull(1,2,5,7));
 
 int            fr_radius_init(void);
 
@@ -164,7 +164,7 @@ void                _fr_radius_packet_log_hex(fr_log_t const *log, fr_radius_packet_t const *p
 
 typedef struct {
        fr_pair_t       *parent;
-       fr_cursor_t     cursor;
+       fr_dcursor_t    cursor;
 } fr_radius_tag_ctx_t;
 
 typedef struct {
@@ -193,7 +193,7 @@ void                fr_radius_encode_chap_password(uint8_t out[static 1 + RADIUS_CHAP_CHALLENG
                                               uint8_t id, uint8_t const vector[static RADIUS_AUTH_VECTOR_LENGTH],
                                               char const *password, size_t password_len) CC_HINT(nonnull(1,3,4));
 
-ssize_t                fr_radius_encode_pair(fr_dbuff_t *dbuff, fr_cursor_t *cursor, void *encoder_ctx);
+ssize_t                fr_radius_encode_pair(fr_dbuff_t *dbuff, fr_dcursor_t *cursor, void *encoder_ctx);
 
 /*
  *     protocols/radius/decode.c
@@ -206,15 +206,15 @@ ssize_t           fr_radius_decode_password(char *encpw, size_t len, char const *secret,
 ssize_t                fr_radius_decode_tunnel_password(uint8_t *encpw, size_t *len, char const *secret,
                                                 uint8_t const *vector, bool tunnel_password_zeros);
 
-ssize_t                fr_radius_decode_pair_value(TALLOC_CTX *ctx, fr_cursor_t *cursor, fr_dict_t const *dict,
+ssize_t                fr_radius_decode_pair_value(TALLOC_CTX *ctx, fr_dcursor_t *cursor, fr_dict_t const *dict,
                                            fr_dict_attr_t const *parent,
                                            uint8_t const *data, size_t const attr_len, size_t const packet_len,
                                            fr_radius_ctx_t *packet_ctx) CC_HINT(nonnull);
 
-ssize_t                fr_radius_decode_tlv(TALLOC_CTX *ctx, fr_cursor_t *cursor, fr_dict_t const *dict,
+ssize_t                fr_radius_decode_tlv(TALLOC_CTX *ctx, fr_dcursor_t *cursor, fr_dict_t const *dict,
                                     fr_dict_attr_t const *parent,
                                     uint8_t const *data, size_t data_len,
                                     fr_radius_ctx_t *packet_ctx) CC_HINT(nonnull);
 
-ssize_t                fr_radius_decode_pair(TALLOC_CTX *ctx, fr_cursor_t *cursor, fr_dict_t const *dict,
+ssize_t                fr_radius_decode_pair(TALLOC_CTX *ctx, fr_dcursor_t *cursor, fr_dict_t const *dict,
                                      uint8_t const *data, size_t data_len, fr_radius_ctx_t *packet_ctx) CC_HINT(nonnull);