]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
remove FR_TYPE_NON_BLOCKING
authorAlan T. DeKok <aland@freeradius.org>
Thu, 15 Dec 2022 19:55:53 +0000 (14:55 -0500)
committerAlan T. DeKok <aland@freeradius.org>
Wed, 21 Dec 2022 17:49:17 +0000 (12:49 -0500)
as it's not really used or needed, now that the synchronous xlat
code can call unlang_interpret_synchronous()

src/lib/server/cf_parse.c
src/lib/server/cf_parse.h
src/modules/rlm_detail/rlm_detail.c

index bd660e76b910cc7b83920eb7b50185c51b267a8f..32f5d20640360dc40bf135b95af48e881ada10c3 100644 (file)
@@ -174,7 +174,7 @@ int cf_pair_to_value_box(TALLOC_CTX *ctx, fr_value_box_t *out, CONF_PAIR *cp, CO
 int cf_pair_parse_value(TALLOC_CTX *ctx, void *out, UNUSED void *base, CONF_ITEM *ci, CONF_PARSER const *rule)
 {
        int             ret = 0;
-       bool            cant_be_empty, tmpl, nonblock;
+       bool            cant_be_empty, tmpl;
 
        ssize_t         slen;
 
@@ -183,7 +183,6 @@ int cf_pair_parse_value(TALLOC_CTX *ctx, void *out, UNUSED void *base, CONF_ITEM
 
        cant_be_empty = fr_rule_not_empty(rule);
        tmpl = fr_rule_is_tmpl(rule);
-       nonblock = fr_rule_non_blocking(rule);
 
        fr_assert(cp);
        fr_assert(!fr_rule_is_attribute(rule) || tmpl);         /* Attribute flag only valid for templates */
@@ -265,22 +264,6 @@ int cf_pair_parse_value(TALLOC_CTX *ctx, void *out, UNUSED void *base, CONF_ITEM
                        return -1;
                }
 
-               /*
-                *      Non-blocking xlat's
-                */
-               if (nonblock) {
-                       if (vpt->type == TMPL_TYPE_EXEC) {
-                               cf_log_err(cp, "The '%s' configuration item MUST NOT be used with a blocking operation.", cp->attr);
-                               return -1;
-                       }
-
-                       if ((vpt->type == TMPL_TYPE_XLAT) &&
-                           xlat_async_required(tmpl_xlat(vpt))) {
-                               cf_log_err(cp, "The '%s' configuration item MUST NOT be used with a blocking expansion.", cp->attr);
-                               return -1;
-                       }
-               }
-
                *(tmpl_t **)out = vpt;
 
                goto finish;
index 7d13341ea6bde3d1216ab4275aeb27d95d24898d..a949cd412a5bf2b533ea14e1ed1ca9a503bbed04 100644 (file)
@@ -330,7 +330,6 @@ _Generic((_ct), \
                                                                        //!< left as the default to is_set_offset
                                                                        //!< or is_set_ptr.
 #define FR_TYPE_OK_MISSING                     (1 << 22)                       //!< OK if it's missing
-#define FR_TYPE_NON_BLOCKING           (1 << 23)                       //!< require a non-blocking xlat expansion
 
 #define FR_BASE_TYPE(_t)               (0xff & (_t))
 /** @} */
@@ -358,8 +357,6 @@ _Generic((_ct), \
 
 #define fr_rule_ok_missing(_rule)      ((_rule)->type & FR_TYPE_OK_MISSING)
 
-#define fr_rule_non_blocking(_rule)    ((_rule)->type & FR_TYPE_NON_BLOCKING)
-
 #define fr_rule_file_exists(_rule)     (((_rule)->type & FR_TYPE_FILE_EXISTS) == FR_TYPE_FILE_EXISTS)
 
 #define fr_rule_dflt(_rule)            ((_rule)->dflt || (_rule)->dflt_func)
index c28580bd0bda541ac3b63554bf2378acad862aa9..a70189ac803e30a51e6e43992339c1f8e0be7653 100644 (file)
@@ -70,7 +70,7 @@ typedef struct {
 
 static const CONF_PARSER module_config[] = {
        { FR_CONF_OFFSET("filename", FR_TYPE_FILE_OUTPUT | FR_TYPE_XLAT, rlm_detail_t, filename), .dflt = "%A/%{Packet-Src-IP-Address}/detail" },
-       { FR_CONF_OFFSET("header", FR_TYPE_TMPL | FR_TYPE_XLAT | FR_TYPE_NON_BLOCKING, rlm_detail_t, header),
+       { FR_CONF_OFFSET("header", FR_TYPE_TMPL | FR_TYPE_XLAT, rlm_detail_t, header),
          .dflt = "%t", .quote = T_DOUBLE_QUOTED_STRING },
        { FR_CONF_OFFSET("permissions", FR_TYPE_UINT32, rlm_detail_t, perm), .dflt = "0600" },
        { FR_CONF_OFFSET("group", FR_TYPE_STRING, rlm_detail_t, group) },