From: Nick Porter Date: Tue, 22 Dec 2020 18:01:01 +0000 (+0000) Subject: s/fr_cursor/fr_dcursor/ in protocols/radius X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=4dff6d0b1f71cbc749598a7e63d7b09f2b50e2ff;p=thirdparty%2Ffreeradius-server.git s/fr_cursor/fr_dcursor/ in protocols/radius --- diff --git a/src/protocols/radius/base.c b/src/protocols/radius/base.c index 7f839c912a3..818315f9338 100644 --- a/src/protocols/radius/base.c +++ b/src/protocols/radius/base.c @@ -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; diff --git a/src/protocols/radius/decode.c b/src/protocols/radius/decode.c index 12739e76882..c2da0b7d074 100644 --- a/src/protocols/radius/decode.c +++ b/src/protocols/radius/decode.c @@ -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)); diff --git a/src/protocols/radius/encode.c b/src/protocols/radius/encode.c index b9b5f30a4dc..9a1f8b34f15 100644 --- a/src/protocols/radius/encode.c +++ b/src/protocols/radius/encode.c @@ -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; } diff --git a/src/protocols/radius/packet.c b/src/protocols/radius/packet.c index 212707758bb..d440888a4e6 100644 --- a/src/protocols/radius/packet.c +++ b/src/protocols/radius/packet.c @@ -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 diff --git a/src/protocols/radius/radius.h b/src/protocols/radius/radius.h index f462f8809d6..81512e5fd66 100644 --- a/src/protocols/radius/radius.h +++ b/src/protocols/radius/radius.h @@ -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);