On Thu, Apr 09, 2026 at 03:58:32PM +0000, Pierre Cheynier wrote:
> Subject: [PATCH] FEATURE: add sample conv for frontend existence check
> Introduced a new sample fetch keyword "fe_exist" that checks if a
> frontend with a given name exists.
> ---
> src/frontend.c | 18 ++++++++++++++++++
> 1 file changed, 18 insertions(+)
>
> diff --git a/src/frontend.c b/src/frontend.c
> index 1df11fcb7..2ca788cbf 100644
> --- a/src/frontend.c
> +++ b/src/frontend.c
> @@ -323,6 +323,16 @@ smp_fetch_fe_tarpit_timeout(const struct arg *args,
> struct sample *smp, const ch
> return 1;
> }
>
> +static int
> +sample_conv_fe_exist(const struct arg *args, struct sample *smp, void
> *private)
> +{
> + if (!smp_make_safe(smp))
> + return 0;
> +
> + smp->data.type = SMP_T_BOOL;
> + smp->data.u.sint = proxy_fe_by_name(smp->data.u.str.area) != NULL;
> + return 1;
> +}
>
> /* Note: must not be declared <const> as its list will be overwritten.
> * Please take care of keeping this list alphabetically sorted.
> @@ -341,6 +351,14 @@ static struct sample_fetch_kw_list smp_kws = {ILH, {
>
> INITCALL1(STG_REGISTER, sample_register_fetches, &smp_kws);
>
> +/* Note: must not be declared <const> as its list will be overwritten */
> +static struct sample_conv_kw_list sample_conv_kws = {ILH, {
> + { "fe_exist", sample_conv_fe_exist, 0, NULL, SMP_T_STR, SMP_T_BOOL },
> + { /* END */ },
> +}};
> +
> +INITCALL1(STG_REGISTER, sample_register_convs, &sample_conv_kws);
> +
> /* Note: must not be declared <const> as its list will be overwritten.
> * Please take care of keeping this list alphabetically sorted.
> */
> --
> 2.43.0
>
Hello Pierre,
The code seems good to me, could you add the documentation in configuration.txt
for this keyword in the patch?
Thanks!
--
William Lallemand