From: Alan T. DeKok Date: Thu, 15 Dec 2022 19:55:53 +0000 (-0500) Subject: remove FR_TYPE_NON_BLOCKING X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5340eef7f5c3c2fa43590789beb16cd0dc0d4fd0;p=thirdparty%2Ffreeradius-server.git remove FR_TYPE_NON_BLOCKING as it's not really used or needed, now that the synchronous xlat code can call unlang_interpret_synchronous() --- diff --git a/src/lib/server/cf_parse.c b/src/lib/server/cf_parse.c index bd660e76b91..32f5d206403 100644 --- a/src/lib/server/cf_parse.c +++ b/src/lib/server/cf_parse.c @@ -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; diff --git a/src/lib/server/cf_parse.h b/src/lib/server/cf_parse.h index 7d13341ea6b..a949cd412a5 100644 --- a/src/lib/server/cf_parse.h +++ b/src/lib/server/cf_parse.h @@ -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) diff --git a/src/modules/rlm_detail/rlm_detail.c b/src/modules/rlm_detail/rlm_detail.c index c28580bd0bd..a70189ac803 100644 --- a/src/modules/rlm_detail/rlm_detail.c +++ b/src/modules/rlm_detail/rlm_detail.c @@ -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) },