]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
move xlat_internal into xlat_priv.h
authorAlan T. DeKok <aland@freeradius.org>
Tue, 18 Jan 2022 21:34:34 +0000 (16:34 -0500)
committerAlan T. DeKok <aland@freeradius.org>
Tue, 18 Jan 2022 21:40:17 +0000 (16:40 -0500)
src/lib/unlang/xlat.h
src/lib/unlang/xlat_builtin.c
src/lib/unlang/xlat_priv.h

index de8bf877bd1d67af61c994f53ab037bc84ff3a1d..32424d873d37232497c67bd2e1db197948e5ae08 100644 (file)
@@ -330,8 +330,6 @@ int         xlat_func_args(xlat_t *xlat, xlat_arg_parser_t const args[]) CC_HINT(nonnul
 
 int            xlat_func_mono(xlat_t *xlat, xlat_arg_parser_t const *arg) CC_HINT(nonnull);
 
-void           xlat_internal(xlat_t *xlat);
-
 /** Set a callback for global instantiation of xlat functions
  *
  * @param[in] _xlat            function to set the callback for (as returned by xlat_register).
index b18ddbb9d911f162114a37dc0c7981cfd4d851fc..bf1c37866622680267a3b419ea384293a71361fe 100644 (file)
@@ -409,15 +409,6 @@ int xlat_func_mono(xlat_t *x, xlat_arg_parser_t const *arg)
        return 0;
 }
 
-/** Mark an xlat function as internal
- *
- * @param[in] xlat to mark as internal.
- */
-void xlat_internal(xlat_t *xlat)
-{
-       xlat->internal = true;
-}
-
 /** Set global instantiation/detach callbacks
  *
  * All functions registered must be needs_async.
@@ -3497,6 +3488,7 @@ static int xlat_protocol_register(fr_dict_t const *dict)
                xlat = xlat_register(NULL, buffer, protocol_decode_xlat, NULL);
                xlat_func_args(xlat, protocol_decode_xlat_args);
                xlat_async_instantiate_set(xlat, protocol_xlat_instantiate, fr_test_point_pair_decode_t *, NULL, tp_decode);
+               xlat_internal(xlat);
        }
 
        /*
@@ -3510,6 +3502,7 @@ static int xlat_protocol_register(fr_dict_t const *dict)
                xlat = xlat_register(NULL, buffer, protocol_encode_xlat, NULL);
                xlat_func_args(xlat, protocol_encode_xlat_args);
                xlat_async_instantiate_set(xlat, protocol_xlat_instantiate, fr_test_point_pair_encode_t *, NULL, tp_encode);
+               xlat_internal(xlat);
        }
 
        return 0;
@@ -3580,6 +3573,7 @@ int xlat_init(void)
 do { \
        if (!(xlat = xlat_register(NULL, _xlat, _func, XLAT_FLAG_PURE))) return -1; \
        xlat_func_args(xlat, _args); \
+       xlat_internal(xlat); \
 } while (0)
 
        XLAT_REGISTER_ARGS("concat", xlat_func_concat, xlat_func_concat_args);
@@ -3600,6 +3594,7 @@ do { \
 do { \
        if (!(xlat = xlat_register(NULL, _xlat, _func, NULL))) return -1; \
        xlat_func_args(xlat, _args); \
+       xlat_internal(xlat); \
 } while (0)
 
        XLAT_REGISTER_ARGS("debug", xlat_func_debug, xlat_func_debug_args);
@@ -3609,8 +3604,10 @@ do { \
        XLAT_REGISTER_ARGS("subst", xlat_func_subst, xlat_func_subst_args);
        XLAT_REGISTER_ARGS("trigger", trigger_xlat, trigger_xlat_args);
 
-       xlat_register(NULL, "untaint", xlat_func_untaint, NULL);
-       xlat_register(NULL, "taint", xlat_func_taint, NULL);
+       xlat = xlat_register(NULL, "untaint", xlat_func_untaint, NULL);
+       xlat_internal(xlat);
+       xlat = xlat_register(NULL, "taint", xlat_func_taint, NULL);
+       xlat_internal(xlat);
 
        /*
         *      All of these functions are pure.
@@ -3619,6 +3616,7 @@ do { \
 do { \
        if (!(xlat = xlat_register(NULL, _xlat, _func, XLAT_FLAG_PURE))) return -1; \
        xlat_func_mono(xlat, &_arg); \
+       xlat_internal(xlat); \
 } while (0)
 
        XLAT_REGISTER_MONO("base64", xlat_func_base64_encode, xlat_func_base64_encode_arg);
@@ -3630,7 +3628,8 @@ do { \
        XLAT_REGISTER_MONO("md5", xlat_func_md5, xlat_func_md5_arg);
        XLAT_REGISTER_MONO("pack", xlat_func_pack, xlat_func_pack_arg);
 #if defined(HAVE_REGEX_PCRE) || defined(HAVE_REGEX_PCRE2)
-       xlat_register(NULL, "regex", xlat_func_regex, NULL);
+       xlat = xlat_register(NULL, "regex", xlat_func_regex, NULL);
+       xlat_internal(xlat);
 #endif
        XLAT_REGISTER_MONO("sha1", xlat_func_sha1, xlat_func_sha_arg);
 
@@ -3664,12 +3663,14 @@ do { \
 do { \
        if (!(xlat = xlat_register(NULL, _xlat, _func, NULL))) return -1; \
        xlat_func_mono(xlat, &_arg); \
+       xlat_internal(xlat); \
 } while (0)
 
        XLAT_REGISTER_MONO("rand", xlat_func_rand, xlat_func_rand_arg);
        XLAT_REGISTER_MONO("randstr", xlat_func_randstr, xlat_func_randstr_arg);
 
-       xlat_register(NULL, "module", xlat_func_module, NULL);
+       xlat = xlat_register(NULL, "module", xlat_func_module, NULL);
+       xlat_internal(xlat);
 
        return 0;
 }
index 293ab186ea1aab58e955a173307885bfbd12b167..0a2efabe32ce153828de8b13a337e4ccdc01e076 100644 (file)
@@ -161,6 +161,15 @@ static inline void xlat_flags_merge(xlat_flags_t *parent, xlat_flags_t const *ch
        parent->pure &= !parent->needs_async; /* things needing async cannot be pure */
 }
 
+/** Mark an xlat function as internal
+ *
+ * @param[in] xlat to mark as internal.
+ */
+static inline void xlat_internal(xlat_t *xlat)
+{
+       xlat->internal = true;
+}
+
 /** Walker callback for xlat_walk()
  *
  * @param[in] exp      being evaluated.