]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
use FR_SBUFF_IN_STR() for common cases
authorAlan T. DeKok <aland@freeradius.org>
Sun, 3 Aug 2025 15:18:01 +0000 (11:18 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Sun, 3 Aug 2025 15:18:01 +0000 (11:18 -0400)
23 files changed:
src/bin/radiusd.c
src/bin/radsniff.c
src/lib/kafka/base.c
src/lib/ldap/util.c
src/lib/server/map.c
src/lib/server/tmpl_dcursor_tests.c
src/lib/unlang/compile.c
src/lib/unlang/condition.c
src/lib/unlang/foreach.c
src/lib/unlang/limit.c
src/lib/unlang/load_balance.c
src/lib/unlang/switch.c
src/lib/unlang/timeout.c
src/lib/unlang/xlat_eval.c
src/lib/util/pair_legacy.c
src/lib/util/pair_list_perf_test.c
src/lib/util/size_tests.c
src/listen/ldap_sync/active_directory.c
src/modules/rlm_eap/types/rlm_eap_mschapv2/rlm_eap_mschapv2.c
src/modules/rlm_redis_ippool/rlm_redis_ippool_tool.c
src/modules/rlm_totp/totp.c
src/modules/rlm_winbind/rlm_winbind.c
src/protocols/radius/abinary.c

index 5846d5e5e66cdb77e6d4834c24192afedd3cfb80..bfa5144f407fa0f560d2dc7340a670d7530fe9d6 100644 (file)
@@ -285,7 +285,7 @@ int main(int argc, char *argv[])
                 */
                env = getenv("FR_GLOBAL_POOL");
                if (env) {
-                       if (fr_size_from_str(&pool_size, &FR_SBUFF_IN(env, strlen(env))) < 0) {
+                       if (fr_size_from_str(&pool_size, &FR_SBUFF_IN_STR(env)) < 0) {
                                fr_perror("%s: Invalid pool size string \"%s\"", program, env);
                                EXIT_WITH_FAILURE;
                        }
index fbe73282021bf82c176676afd3cb1af7594003b4..b635c22822433b2e8543aad7980025fcb91440bd 100644 (file)
@@ -2109,7 +2109,7 @@ static int rs_build_filter(fr_pair_list_t *out, char const *filter)
        };
        relative = (fr_pair_parse_t) { };
 
-       if (fr_pair_list_afrom_substr(&root, &relative, &FR_SBUFF_IN(filter, strlen(filter))) <= 0) {
+       if (fr_pair_list_afrom_substr(&root, &relative, &FR_SBUFF_IN_STR(filter)) <= 0) {
                fr_perror("Invalid RADIUS filter \"%s\"", filter);
                return -1;
        }
index 493b74b2873cb44018b917aa64b842c59380b18e..b72898d9969f18c491f7f111539ed06389d09c51 100644 (file)
@@ -165,7 +165,7 @@ static int kafka_config_dflt_single(CONF_PAIR **out, UNUSED void *parent, CONF_S
                fr_sbuff_t      value_elem = FR_SBUFF_IN(tmp, sizeof(tmp));
                size_t          size;
 
-               if (fr_size_from_str(&size, &FR_SBUFF_IN(value, strlen(value))) < 0) {
+               if (fr_size_from_str(&size, &FR_SBUFF_IN_STR(value)) < 0) {
                        cf_log_perr(cs, "Failed parsing default \"%s\"", value);
                        return -1;
                }
index 53068536105f587bd0ca8238ca82e29662ccb238..6f05a057d11971431647e8f0c77a2daa5807ea3b 100644 (file)
@@ -607,7 +607,7 @@ int fr_ldap_filter_to_tmpl(TALLOC_CTX *ctx, tmpl_rules_t const *t_rules, char co
                in = buffer;
        }
 
-       len = tmpl_afrom_substr(ctx, &parsed, &FR_SBUFF_IN(in, strlen(in)), T_DOUBLE_QUOTED_STRING, NULL, t_rules);
+       len = tmpl_afrom_substr(ctx, &parsed, &FR_SBUFF_IN_STR(in), T_DOUBLE_QUOTED_STRING, NULL, t_rules);
 
        talloc_free(buffer);
 
index 99de043e40fc6260ffe3559a3a95191ecbb7c8a6..cd01bd0a778041d0afbf7777d12ff12db97fabdc 100644 (file)
@@ -877,7 +877,7 @@ static int _map_afrom_cs(TALLOC_CTX *ctx, map_list_t *out, map_t *parent, CONF_S
                MEM(tmp_ctx = talloc_init_const("tmp"));
 
                slen = tmpl_request_ref_list_afrom_substr(ctx, NULL, &our_lhs_rules.attr.request_def,
-                                                         &FR_SBUFF_IN(p, strlen(p)));
+                                                         &FR_SBUFF_IN_STR(p));
                if (slen < 0) {
                        cf_log_err(ci, "Invalid reference - %s", fr_strerror());
                        talloc_free(tmp_ctx);
@@ -885,7 +885,7 @@ static int _map_afrom_cs(TALLOC_CTX *ctx, map_list_t *out, map_t *parent, CONF_S
                }
                p += slen;
 
-               slen = tmpl_attr_list_from_substr(&our_lhs_rules.attr.list_def, &FR_SBUFF_IN(p, strlen(p)));
+               slen = tmpl_attr_list_from_substr(&our_lhs_rules.attr.list_def, &FR_SBUFF_IN_STR(p));
                if (slen == 0) {
                        cf_log_err(ci, "Unknown list reference \"%s\"", p);
                        talloc_free(tmp_ctx);
@@ -1386,7 +1386,7 @@ int map_afrom_value_box(TALLOC_CTX *ctx, map_t **out,
        map = map_alloc(ctx, NULL);
 
        slen = tmpl_afrom_substr(map, &map->lhs,
-                                &FR_SBUFF_IN(lhs, strlen(lhs)),
+                                &FR_SBUFF_IN_STR(lhs),
                                 lhs_quote,
                                 NULL,
                                 lhs_rules);
@@ -2623,7 +2623,7 @@ int map_afrom_fields(TALLOC_CTX *ctx, map_t **out, map_t **parent_p, request_t *
                fr_assert(tmpl_is_attr(parent->lhs));
                my_rules.attr.namespace = tmpl_attr_tail_da(parent->lhs);
 
-               slen = tmpl_afrom_attr_substr(map, NULL, &map->lhs, &FR_SBUFF_IN(lhs, strlen(lhs)),
+               slen = tmpl_afrom_attr_substr(map, NULL, &map->lhs, &FR_SBUFF_IN_STR(lhs),
                                              &map_parse_rules_bareword_quoted, lhs_rules);
        } else {
                /*
@@ -2782,7 +2782,7 @@ int map_afrom_fields(TALLOC_CTX *ctx, map_t **out, map_t **parent_p, request_t *
                /*
                 *      Parse it as the given data type.
                 */
-               slen = tmpl_afrom_substr(map, &map->rhs, &FR_SBUFF_IN(rhs, strlen(rhs)),
+               slen = tmpl_afrom_substr(map, &map->rhs, &FR_SBUFF_IN_STR(rhs),
                                         T_BARE_WORD, value_parse_rules_unquoted[T_BARE_WORD], &my_rules);
                if (slen <= 0) {
                        goto parse_as_attr;
index 6571a42102168f5e9829ac2155d43cc0248ff5c8..8e33594e967fde61f7fd11866683713495c01fc2 100644 (file)
@@ -130,7 +130,7 @@ typedef struct {
 static inline CC_HINT(always_inline)
 int _tmpl_setup_and_cursor_init(fr_pair_t **vp_out, tmpl_dcursor_vars_t *vars, request_t *request, char const *ref)
 {
-       tmpl_afrom_attr_substr(autofree, NULL, &vars->vpt, &FR_SBUFF_IN(ref, strlen(ref)), NULL, &(tmpl_rules_t){
+       tmpl_afrom_attr_substr(autofree, NULL, &vars->vpt, &FR_SBUFF_IN_STR(ref), NULL, &(tmpl_rules_t){
                        .attr = {
                                .dict_def = test_dict,
                                .list_def = request_attr_request,
@@ -159,7 +159,7 @@ int _tmpl_setup_and_cursor_init(fr_pair_t **vp_out, tmpl_dcursor_vars_t *vars, r
 static inline CC_HINT(always_inline)
 int _tmpl_setup_and_cursor_build_init(fr_pair_t **vp_out, tmpl_dcursor_vars_t *vars, request_t *request, char const *ref)
 {
-       tmpl_afrom_attr_substr(autofree, NULL, &vars->vpt, &FR_SBUFF_IN(ref, strlen(ref)), NULL, &(tmpl_rules_t){
+       tmpl_afrom_attr_substr(autofree, NULL, &vars->vpt, &FR_SBUFF_IN_STR(ref), NULL, &(tmpl_rules_t){
                        .attr = {
                                .dict_def = test_dict,
                                .list_def = request_attr_request,
index d1b69681861451a544d195cb3f5d171b2c66c704..a81ed2e920a1d312839385cd6f7340c66639bb62 100644 (file)
@@ -1802,7 +1802,7 @@ static unlang_t *compile_module(unlang_t *parent, unlang_compile_ctx_t *unlang_c
        slen = module_rlm_by_name_and_method(m, &m->mmc,
                                             unlang_ctx->vs,
                                             &(section_name_t){ .name1 = unlang_ctx->section_name1, .name2 = unlang_ctx->section_name2 },
-                                            &FR_SBUFF_IN(name, strlen(name)),
+                                            &FR_SBUFF_IN_STR(name),
                                             unlang_ctx->rules);
        if (slen < 0) {
                cf_log_perr(ci, "Failed compiling module call");
index 6219be2e1109969493f0083d6d75200cdb061a0d..bf6b048af39f577da72633ebd61d57c4979f6416 100644 (file)
@@ -173,7 +173,7 @@ static unlang_t *compile_if_subsection(unlang_t *parent, unlang_compile_ctx_t *u
 
                p_rules.terminals = &if_terminals;
 
-               slen = xlat_tokenize_condition(cs, &head, &FR_SBUFF_IN(name2, strlen(name2)), &p_rules, &t_rules);
+               slen = xlat_tokenize_condition(cs, &head, &FR_SBUFF_IN_STR(name2), &p_rules, &t_rules);
                if (slen == 0) {
                        cf_canonicalize_error(cs, slen, "Empty conditions are invalid", name2);
                        return NULL;
index 9deb297450010e9aa673b16cebcfc6c120d62e9c..2910dceed212ddd40b19ea7642c8a010f8880d17 100644 (file)
@@ -615,7 +615,7 @@ static unlang_t *unlang_compile_foreach(unlang_t *parent, unlang_compile_ctx_t *
        }
 
        slen = tmpl_afrom_substr(g, &vpt,
-                                &FR_SBUFF_IN(name2, strlen(name2)),
+                                &FR_SBUFF_IN_STR(name2),
                                 token,
                                 NULL,
                                 &t_rules);
index 3de943b9da767b547bd0506221ef015cb76fb8c8..a5f40495b4d14a76c82d40173a090cb1fb211eb0 100644 (file)
@@ -164,7 +164,7 @@ static unlang_t *unlang_compile_limit(unlang_t *parent, unlang_compile_ctx_t *un
        RULES_VERIFY(&t_rules);
 
        slen = tmpl_afrom_substr(gext, &vpt,
-                                &FR_SBUFF_IN(name2, strlen(name2)),
+                                &FR_SBUFF_IN_STR(name2),
                                 token,
                                 NULL,
                                 &t_rules);
index fa4fd1acfe13e44197eca4bdba3ea9f88c568c53..2b723d3a6efede124c00bf15216c0693e8cc3b6a 100644 (file)
@@ -280,7 +280,7 @@ static unlang_t *compile_load_balance_subsection(unlang_t *parent, unlang_compil
                quote = cf_section_name2_quote(cs);
                gext = unlang_group_to_load_balance(g);
                slen = tmpl_afrom_substr(gext, &gext->vpt,
-                                        &FR_SBUFF_IN(name2, strlen(name2)),
+                                        &FR_SBUFF_IN_STR(name2),
                                         quote,
                                         NULL,
                                         &t_rules);
index ca5f0cb846d8ad582fc3c6e315426ab9778c398c..df8ab6fc5eab1bad272382342149ab64cbf6c8f4 100644 (file)
@@ -191,7 +191,7 @@ static unlang_t *unlang_compile_case(unlang_t *parent, unlang_compile_ctx_t *unl
                quote = cf_section_name2_quote(cs);
 
                slen = tmpl_afrom_substr(cs, &vpt,
-                                        &FR_SBUFF_IN(name2, strlen(name2)),
+                                        &FR_SBUFF_IN_STR(name2),
                                         quote,
                                         NULL,
                                         &t_rules);
@@ -326,12 +326,12 @@ static unlang_t *unlang_compile_switch(unlang_t *parent, unlang_compile_ctx_t *u
 
        if ((token == T_BARE_WORD) && (name2[0] != '%')) {
                slen = tmpl_afrom_attr_substr(gext, NULL, &gext->vpt,
-                                             &FR_SBUFF_IN(name2, strlen(name2)),
+                                             &FR_SBUFF_IN_STR(name2),
                                              NULL,
                                              &t_rules);
        } else {
                slen = tmpl_afrom_substr(gext, &gext->vpt,
-                                        &FR_SBUFF_IN(name2, strlen(name2)),
+                                        &FR_SBUFF_IN_STR(name2),
                                         token,
                                         NULL,
                                         &t_rules);
index 33a2d8c4a994a884a6ab2f5fb36deb183cb0f8f6..4d259bb333fe64f80adf9e24b8fb0690f824c39e 100644 (file)
@@ -218,7 +218,7 @@ static unlang_t *unlang_compile_timeout(unlang_t *parent, unlang_compile_ctx_t *
                RULES_VERIFY(&t_rules);
 
                slen = tmpl_afrom_substr(gext, &vpt,
-                                        &FR_SBUFF_IN(name2, strlen(name2)),
+                                        &FR_SBUFF_IN_STR(name2),
                                         token,
                                         NULL,
                                         &t_rules);
index 963ab28f3935a322a604fcdc27279f0f457fbfcb..de333f4740c3d567739d3b7499ab40e0c4e7e929 100644 (file)
@@ -1758,7 +1758,7 @@ ssize_t _xlat_eval(TALLOC_CTX *ctx, char **out, size_t outlen, request_t *reques
         *      Give better errors than the old code.
         */
        len = xlat_tokenize(ctx, &head,
-                           &FR_SBUFF_IN(fmt, strlen(fmt)),
+                           &FR_SBUFF_IN_STR(fmt),
                            NULL,
                            &(tmpl_rules_t){
                                    .attr = {
index ae84678d72638a634b51324ef84b91fc772dd2b6..91e736d86ee02a9230809507cfb00ae8a8cc0a1f 100644 (file)
@@ -718,7 +718,7 @@ int fr_pair_list_afrom_file(TALLOC_CTX *ctx, fr_dict_t const *dict, fr_pair_list
                 *
                 *              foo = { bar = baz }
                 */
-               if (fr_pair_list_afrom_substr(&root, &relative, &FR_SBUFF_IN(buf, strlen(buf))) < 0) {
+               if (fr_pair_list_afrom_substr(&root, &relative, &FR_SBUFF_IN_STR(buf)) < 0) {
                        *pfiledone = false;
                        fr_pair_list_free(&tmp_list);
                        return -1;
index 69c288c3682f47fb738a33437c156f163246b908..e8a06941cf3ae5ee40d54030fa42b488b1dc9235 100644 (file)
@@ -209,7 +209,7 @@ static void pair_list_init(TALLOC_CTX *ctx, fr_pair_t ***out, fr_dict_t const *d
                while ((p = strchr(p, '#'))) {
                        *p = (char)(i + 48);
                }
-               slen = fr_pair_list_afrom_substr(&root, &relative, &FR_SBUFF_IN(prep_pairs, strlen(prep_pairs)));
+               slen = fr_pair_list_afrom_substr(&root, &relative, &FR_SBUFF_IN_STR(prep_pairs));
                if (slen <= 0) fr_perror("pair_list_perf_tests");
                TEST_ASSERT(slen > 0);
 
index d501185cfe7309f1f08b589153f62847d98d689b..4f99193b734ba5511e3506ef05412ad798142acd 100644 (file)
@@ -35,7 +35,7 @@ fr_slen_t fr_size_to_str(fr_sbuff_t *out, size_t in);
 */
 
 
-#define test_str(_str) &FR_SBUFF_IN(_str, strlen(_str))
+#define test_str(_str) &FR_SBUFF_IN_STR(_str)
 #define test_out(_buff)        &FR_SBUFF_OUT(_buff, sizeof(_buff))
 
 static char buff[sizeof("18446744073709551615") + 3];
index f65755421e63d8829ada66ad043e463f1dafa7c1..eaa94dc524d00c27353e6380a75540ac77e139e1 100644 (file)
@@ -108,7 +108,7 @@ int active_directory_sync_state_init(fr_ldap_connection_t *conn, size_t sync_no,
                DEBUG2("LDAP filter %s does not match Active Directory requirements, parsing for local filtering.",
                        sync->config->filter);
                filter = "(objectClass=*)";
-               ret = fr_ldap_filter_parse(sync, &sync->filter, &FR_SBUFF_IN(config->filter, strlen(config->filter)),
+               ret = fr_ldap_filter_parse(sync, &sync->filter, &FR_SBUFF_IN_STR(config->filter),
                                           active_directory_sync_attr_add, UNCONST(sync_config_t *,config));
                if (ret < 0) {
                        CONF_ITEM       *ci;
index 0704a2db8c2fb8603ca45bd2bc2a05442c0b48c3..6eba0a622b1461e9f5fb5da2a9a1d51ab11609f6 100644 (file)
@@ -338,7 +338,7 @@ static unlang_action_t mschap_resume(unlang_result_t *p_result, module_ctx_t con
                                RDEBUG2("Found new challenge from MS-CHAP-Error: err=%d retry=%d challenge=%s",
                                        err, retry, buf);
                                fr_base16_decode(NULL, &FR_DBUFF_TMP(data->auth_challenge, 16),
-                                          &FR_SBUFF_IN(buf, strlen(buf)), false);
+                                          &FR_SBUFF_IN_STR(buf), false);
                        } else {
                                RDEBUG2("Could not parse new challenge from MS-CHAP-Error: %d", n);
                        }
index fd2a5980fbcbcb7e44ab962933bd0d3632833c1c..ecc4d12e4649e7c9fb6a10bc6f93c979f9f9bc71 100644 (file)
@@ -1610,7 +1610,7 @@ do { \
 
                MEM(fr_sbuff_init_talloc(conf, &out, &tctx, strlen(argv[1]) + 1, SIZE_MAX));
                (void) fr_value_str_unescape(&out,
-                                            &FR_SBUFF_IN(argv[1], strlen(argv[1])), SIZE_MAX, '"');
+                                            &FR_SBUFF_IN_STR(argv[1]), SIZE_MAX, '"');
                talloc_realloc(conf, out.buff, uint8_t, fr_sbuff_used(&out));
                pool_arg = (uint8_t *)out.buff;
        }
@@ -1621,7 +1621,7 @@ do { \
 
                MEM(fr_sbuff_init_talloc(conf, &out, &tctx, strlen(argv[1]) + 1, SIZE_MAX));
                (void) fr_value_str_unescape(&out,
-                                            &FR_SBUFF_IN(argv[2], strlen(argv[2])), SIZE_MAX, '"');
+                                            &FR_SBUFF_IN_STR(argv[2]), SIZE_MAX, '"');
                talloc_realloc(conf, out.buff, uint8_t, fr_sbuff_used(&out));
                range_arg = (uint8_t *)out.buff;
        }
index 681eebdea02c7757b79d4d0d2a3f7f9bdccb412e..ae5bde98857e9d72d6a9217452c9e9658b3359b0 100644 (file)
@@ -195,7 +195,7 @@ int main(int argc, char **argv)
                        return 1;
                }
 
-               len = fr_base32_decode(&FR_DBUFF_TMP(key, sizeof(key)), &FR_SBUFF_IN(argv[2], strlen(argv[2])), true, true);
+               len = fr_base32_decode(&FR_DBUFF_TMP(key, sizeof(key)), &FR_SBUFF_IN_STR(argv[2]), true, true);
                printf("Decoded %ld %s\n", len, key);
 
                for (p = key; p < (key + len); p++) {
index f51f36fb38263d4172b4de12d3689dba87976163..050edc0a3c1c70f272bc9c18c7fbacdf40a2e6a4 100644 (file)
@@ -517,7 +517,7 @@ static int domain_call_env_parse(TALLOC_CTX *ctx, void *out, tmpl_rules_t const
                }
 
                tmpl_afrom_substr(ctx, &parsed_tmpl,
-                                 &FR_SBUFF_IN(wb_info->netbios_domain, strlen(wb_info->netbios_domain)),
+                                 &FR_SBUFF_IN_STR(wb_info->netbios_domain),
                                  T_SINGLE_QUOTED_STRING, NULL, t_rules);
                if (!parsed_tmpl) {
                        cf_log_perr(ci, "Bad domain");
index ac5a0e0ed4ad6522eb6cdd8519bd7fff938b30bc..c741492fb64fb80f2f688841a359814e3e5fcdfc 100644 (file)
@@ -430,7 +430,7 @@ static int ascend_parse_ipx_net(int argc, char **argv,
         */
        token = fr_base16_decode(NULL,
                           &FR_DBUFF_TMP(net->node, IPX_NODE_ADDR_LEN),
-                          &FR_SBUFF_IN(p, strlen(p)), false);
+                          &FR_SBUFF_IN_STR(p), false);
        if (token != IPX_NODE_ADDR_LEN) {
                fr_strerror_printf("IPX network node name '%s' is the wrong size", argv[2]);
                return -1;
@@ -1114,7 +1114,7 @@ static int ascend_parse_generic(int argc, char **argv,
 
        slen = fr_base16_decode(NULL,
                           &FR_DBUFF_TMP(filter->mask, sizeof(filter->mask)),
-                          &FR_SBUFF_IN(argv[1], strlen(argv[1])), false);
+                          &FR_SBUFF_IN_STR(argv[1]), false);
        if (slen != sizeof(filter->mask)) {
                fr_strerror_printf("Invalid filter mask '%s'", argv[1]);
                return -1;
@@ -1122,7 +1122,7 @@ static int ascend_parse_generic(int argc, char **argv,
 
        token = fr_base16_decode(NULL,
                           &FR_DBUFF_TMP(filter->value, sizeof(filter->value)),
-                          &FR_SBUFF_IN(argv[2], strlen(argv[2])), false);
+                          &FR_SBUFF_IN_STR(argv[2]), false);
        if (token != sizeof(filter->value)) {
                fr_strerror_printf("Invalid filter mask '%s'", argv[1]);
                return -1;