]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
MEDIUM: lua: Don't filter exported fetches and converters
authorChristopher Faulet <cfaulet@haproxy.com>
Thu, 6 Aug 2020 08:32:28 +0000 (10:32 +0200)
committerChristopher Faulet <cfaulet@haproxy.com>
Fri, 7 Aug 2020 12:27:37 +0000 (14:27 +0200)
Thanks to previous commits, it is now safe to use from lua the sample fetches
and sample converters that convert arguments, especially the strings
(ARGT_STR). So now, there are all exported to the lua. They was filtered on the
validation functions. Only fetches without validation functions or with val_hdr
or val_payload_lv functions were exported, and converters without validation
functions.

This patch depends on following commits :

  * aec27ef44 "BUG/MINOR: lua: Duplicate lua strings in sample fetches/converters arg array"
  * fdea1b631 "MINOR: hlua: Don't needlessly copy lua strings in trash during args validation"

It must be backported as far as 2.1 because the date() and http_date()
converters are no longer exported because of the filter on the validation
function, since the commit ae6f125c7 ("MINOR: sample: add us/ms support to
date/http_date)".

src/hlua.c

index 30b7b8a4aaf7009cafe94135a3271f8163cea7fe..7df5ef808053cf835207ab88bf97775aa57c0719 100644 (file)
@@ -8333,15 +8333,6 @@ void hlua_init(void)
         */
        sf = NULL;
        while ((sf = sample_fetch_getnext(sf, &idx)) != NULL) {
-
-               /* Dont register the keywork if the arguments check function are
-                * not safe during the runtime.
-                */
-               if ((sf->val_args != NULL) &&
-                   (sf->val_args != val_payload_lv) &&
-                        (sf->val_args != val_hdr))
-                       continue;
-
                /* gL.Tua doesn't support '.' and '-' in the function names, replace it
                 * by an underscore.
                 */
@@ -8381,12 +8372,6 @@ void hlua_init(void)
         */
        sc = NULL;
        while ((sc = sample_conv_getnext(sc, &idx)) != NULL) {
-               /* Dont register the keywork if the arguments check function are
-                * not safe during the runtime.
-                */
-               if (sc->val_args != NULL)
-                       continue;
-
                /* gL.Tua doesn't support '.' and '-' in the function names, replace it
                 * by an underscore.
                 */