]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Add %sql.safe() xlat
authorNick Porter <nick@portercomputing.co.uk>
Wed, 17 Jul 2024 16:07:37 +0000 (17:07 +0100)
committerNick Porter <nick@portercomputing.co.uk>
Wed, 17 Jul 2024 16:09:40 +0000 (17:09 +0100)
src/modules/rlm_sql/rlm_sql.c

index cdec3f1151ab48ef001a0ea5c2b3d4f53dd7ebe2..b1846521e71de4cd205ccbf4ecbbc0900ff14554 100644 (file)
@@ -2293,6 +2293,18 @@ static int mod_bootstrap(module_inst_ctx_t const *mctx)
        xlat_func_flags_set(xlat, XLAT_FUNC_FLAG_PURE);
        xlat_func_safe_for_set(xlat, SQL_SAFE_FOR);
 
+       if (unlikely(!(xlat = module_rlm_xlat_register(boot, mctx, "safe", xlat_transparent, FR_TYPE_STRING)))) return -1;
+       sql_xlat_arg = talloc_zero_array(xlat, xlat_arg_parser_t, 2);
+       sql_xlat_arg[0] = (xlat_arg_parser_t){
+               .type = FR_TYPE_STRING,
+               .variadic = true,
+               .concat = true
+       };
+       sql_xlat_arg[1] = (xlat_arg_parser_t)XLAT_ARG_PARSER_TERMINATOR;
+       xlat_func_args_set(xlat, sql_xlat_arg);
+       xlat_func_flags_set(xlat, XLAT_FUNC_FLAG_PURE);
+       xlat_func_safe_for_set(xlat, SQL_SAFE_FOR);
+
        /*
         *      Register the SQL map processor function
         */