]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
check for dict compatibility, not equality
authorAlan T. DeKok <aland@freeradius.org>
Tue, 10 Sep 2024 12:11:10 +0000 (08:11 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Tue, 10 Sep 2024 12:14:30 +0000 (08:14 -0400)
src/lib/unlang/compile.c

index 47567678dc9525aca905d4e5b9d19ec8cc782a8e..48949f6279de5bb24417115e3df5e56655f4eeac 100644 (file)
@@ -4267,7 +4267,7 @@ static unlang_t *compile_call(unlang_t *parent, unlang_compile_t *unlang_ctx, CO
                return NULL;
        }
        if ((dict != fr_dict_internal()) && fr_dict_internal() &&
-           unlang_ctx->rules->attr.dict_def && (unlang_ctx->rules->attr.dict_def != dict)) {
+           unlang_ctx->rules->attr.dict_def && !fr_dict_compatible(unlang_ctx->rules->attr.dict_def, dict)) {
                cf_log_err(cs, "Cannot call server %s with namespace '%s' from namespaces '%s' - they have incompatible protocols",
                           server, fr_dict_root(dict)->name, fr_dict_root(unlang_ctx->rules->attr.dict_def)->name);
                return NULL;