]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
might as well allow map, try, and catch in a transaction
authorAlan T. DeKok <aland@freeradius.org>
Tue, 31 Mar 2026 11:31:44 +0000 (07:31 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Wed, 1 Apr 2026 15:33:16 +0000 (11:33 -0400)
Transactions also can't contain break / return, or call another
virtual server.

src/lib/unlang/transaction.c

index b4e33236f396e41bb94183aef94b337e2963c237..558098858a58515da0ecf99edcdad57a6554eb9c 100644 (file)
@@ -136,6 +136,7 @@ fr_edit_list_t *unlang_interpret_edit_list(request_t *request)
 
 static fr_table_num_sorted_t transaction_keywords[] = {
        { L("case"),            1 },
+       { L("catch"),           1 },
        { L("else"),            1 },
        { L("elsif"),           1 },
        { L("foreach"),         1 },
@@ -143,11 +144,13 @@ static fr_table_num_sorted_t transaction_keywords[] = {
        { L("if"),              1 },
        { L("limit"),           1 },
        { L("load-balance"),    1 },
+       { L("map"),             1 },
        { L("redundant"),       1 },
        { L("redundant-load-balance"), 1 },
        { L("switch"),          1 },
        { L("timeout"),         1 },
        { L("transaction"),     1 },
+       { L("try"),             1 },
 };
 static int transaction_keywords_len = NUM_ELEMENTS(transaction_keywords);