From: Nick Porter Date: Thu, 25 Mar 2021 10:07:16 +0000 (+0000) Subject: ICMP xlat should be defined arguments, not a stream (#4026) X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=72f22b4b91c8f7dd9e43b59d71fa61e93089ed13;p=thirdparty%2Ffreeradius-server.git ICMP xlat should be defined arguments, not a stream (#4026) --- diff --git a/src/modules/rlm_icmp/rlm_icmp.c b/src/modules/rlm_icmp/rlm_icmp.c index 92ec4d70519..d3dab241007 100644 --- a/src/modules/rlm_icmp/rlm_icmp.c +++ b/src/modules/rlm_icmp/rlm_icmp.c @@ -170,6 +170,11 @@ static void _xlat_icmp_timeout(request_t *request, unlang_interpret_mark_runnable(request); } +static xlat_arg_parser_t const xlat_icmp_args[] = { + { .required = true, .single = true, .type = FR_TYPE_STRING }, + XLAT_ARG_PARSER_TERMINATOR +}; + /** Xlat to ping a specified ip address * * Example (ping 192.0.2.1): @@ -280,11 +285,6 @@ static xlat_action_t xlat_icmp(TALLOC_CTX *ctx, UNUSED fr_dcursor_t *out, return unlang_xlat_yield(request, xlat_icmp_resume, xlat_icmp_cancel, echo); } -extern xlat_arg_parser_t xlat_icmp_arg; -xlat_arg_parser_t xlat_icmp_arg = { - .required = false, .concat = true, .variadic = false, .type = FR_TYPE_STRING, .func = NULL, .uctx = NULL -}; - static int echo_cmp(void const *one, void const *two) { rlm_icmp_echo_t const *a = one; @@ -543,7 +543,7 @@ static int mod_bootstrap(void *instance, CONF_SECTION *conf) inst->name = inst->xlat_name; xlat = xlat_register(inst, inst->xlat_name, xlat_icmp, true); - xlat_func_mono(xlat, &xlat_icmp_arg); + xlat_func_args(xlat, xlat_icmp_args); xlat_async_instantiate_set(xlat, mod_xlat_instantiate, rlm_icmp_t *, NULL, inst); xlat_async_thread_instantiate_set(xlat, mod_xlat_thread_instantiate, xlat_icmp_thread_inst_t, NULL, inst);