]> git.ipfire.org Git - thirdparty/freeradius-server.git/log
thirdparty/freeradius-server.git
9 months agoCorrect return code
Nick Porter [Thu, 23 Oct 2025 13:13:30 +0000 (14:13 +0100)] 
Correct return code

If there's no "begin" query, then no child is pushed.
The expansion of the first query to run is handled by the resume
function.

9 months agoTest decoding repeated options at the end of a DHCPv4 packet
Nick Porter [Thu, 23 Oct 2025 09:31:02 +0000 (10:31 +0100)] 
Test decoding repeated options at the end of a DHCPv4 packet

9 months agoCorrectly handle 2 instances of a DHCP option at the end of a packet
Nick Porter [Thu, 23 Oct 2025 09:20:16 +0000 (10:20 +0100)] 
Correctly handle 2 instances of a DHCP option at the end of a packet

In the case a packet ends

<op n><len><data>
<op n><len><data>
<op 255>

there will only be 1 byte (the <op 255>) after going round the loop
twice.  Previously this would have failed the test (end - next) < 2
without having detected that the option code has changed.

9 months agofix errors found by using -std=c23
Alan T. DeKok [Thu, 23 Oct 2025 08:07:52 +0000 (10:07 +0200)] 
fix errors found by using -std=c23

9 months agocopy enum from Packet-Type
Alan T. DeKok [Wed, 22 Oct 2025 12:41:58 +0000 (14:41 +0200)] 
copy enum from Packet-Type

9 months agofix initializer for new compiler
Alan T. DeKok [Wed, 22 Oct 2025 09:09:22 +0000 (11:09 +0200)] 
fix initializer for new compiler

tmpl_escape_t has multiple fields, so you can't initialize just one
via foo.bar.baz = {}.  Instead, you have to explicitly initialize the
entire struct, via foo.bar = { .bar = {} }

9 months agoUse current xlats and syntax
Nick Porter [Tue, 21 Oct 2025 15:49:16 +0000 (16:49 +0100)] 
Use current xlats and syntax

9 months agoSubrequest types use enum format
Nick Porter [Tue, 21 Oct 2025 15:43:19 +0000 (16:43 +0100)] 
Subrequest types use enum format

9 months agoBetter option name
Nick Porter [Tue, 21 Oct 2025 15:39:29 +0000 (16:39 +0100)] 
Better option name

9 months agofr_bio_fd_unix_shutdown is called after fr_bio_fd_close
Nick Porter [Mon, 20 Oct 2025 15:34:29 +0000 (16:34 +0100)] 
fr_bio_fd_unix_shutdown is called after fr_bio_fd_close

Which means the bio state is expected to be FR_BIO_FD_STATE_CLOSED

9 months agoAdd test of using htrie in rlm_files for string prefix match
Nick Porter [Mon, 20 Oct 2025 09:39:36 +0000 (10:39 +0100)] 
Add test of using htrie in rlm_files for string prefix match

9 months agoSet option name in correct module
Nick Porter [Mon, 20 Oct 2025 09:36:02 +0000 (10:36 +0100)] 
Set option name in correct module

9 months agoAdd DHCPv4 Genexis V-I-Vendor-Specific options
Nick Porter [Mon, 20 Oct 2025 09:00:39 +0000 (10:00 +0100)] 
Add DHCPv4 Genexis V-I-Vendor-Specific options

9 months agoAdd htrie_type option to rlm_files
Nick Porter [Thu, 16 Oct 2025 13:28:13 +0000 (14:28 +0100)] 
Add htrie_type option to rlm_files

9 months agoPass instance data to getrecv_filename to reduce argument count
Nick Porter [Thu, 16 Oct 2025 13:09:55 +0000 (14:09 +0100)] 
Pass instance data to getrecv_filename to reduce argument count

9 months agoScheduled fuzzing: Update src/tests/fuzzer-corpus/der.tar
github-actions[bot] [Sun, 19 Oct 2025 04:31:25 +0000 (04:31 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/der.tar

9 months agoScheduled fuzzing: Update src/tests/fuzzer-corpus/cbor.tar
github-actions[bot] [Sun, 19 Oct 2025 04:30:16 +0000 (04:30 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/cbor.tar

9 months agoJust return -1 for errors (it's all the callers check) (CID #1667131)
Nick Porter [Fri, 17 Oct 2025 09:09:39 +0000 (10:09 +0100)] 
Just return -1 for errors (it's all the callers check) (CID #1667131)

9 months agoAdd test of %dhcpv4.decode / %dhcpv4.encode using root ctx
Nick Porter [Thu, 16 Oct 2025 12:53:04 +0000 (13:53 +0100)] 
Add test of %dhcpv4.decode / %dhcpv4.encode using root ctx

9 months agoAdd attributes to support Option 43 handling of TR069 options
Nick Porter [Thu, 16 Oct 2025 11:05:40 +0000 (12:05 +0100)] 
Add attributes to support Option 43 handling of TR069 options

9 months agoThese are defined as strings
Nick Porter [Thu, 16 Oct 2025 11:36:23 +0000 (12:36 +0100)] 
These are defined as strings

In https://www.broadband-forum.org/pdfs/tr-069-1-6-1.pdf

9 months agoAdd optional argument to %<proto>.decode to specify decoding root
Nick Porter [Thu, 16 Oct 2025 11:04:37 +0000 (12:04 +0100)] 
Add optional argument to %<proto>.decode to specify decoding root

9 months agoUse root in decode ctx as decode root for DHCPv4
Nick Porter [Thu, 16 Oct 2025 09:47:54 +0000 (10:47 +0100)] 
Use root in decode ctx as decode root for DHCPv4

Defaulting to the DHCPv4 dictionary root

9 months agoUse the dict_attr from the encoding context as the root for DHCPv4
Nick Porter [Thu, 16 Oct 2025 07:54:34 +0000 (08:54 +0100)] 
Use the dict_attr from the encoding context as the root for DHCPv4

9 months agoAdd a TLV to use as a root for decoded Option 43 data
Nick Porter [Wed, 15 Oct 2025 19:28:23 +0000 (20:28 +0100)] 
Add a TLV to use as a root for decoded Option 43 data

9 months ago%<proto>.encode(Foo, Foo) means encode the children of Foo with Foo as the ctx
Nick Porter [Wed, 15 Oct 2025 19:23:27 +0000 (20:23 +0100)] 
%<proto>.encode(Foo, Foo) means encode the children of Foo with Foo as the ctx

9 months agoVerify the relationship between the pair to encode and the root ctx
Nick Porter [Wed, 15 Oct 2025 18:51:31 +0000 (19:51 +0100)] 
Verify the relationship between the pair to encode and the root ctx

9 months agoAdd optional argument to %<proto>.encode() to specify encoding root
Nick Porter [Wed, 15 Oct 2025 18:47:20 +0000 (19:47 +0100)] 
Add optional argument to %<proto>.encode() to specify encoding root

And pass it to the encode context allocation routine.

9 months agoAdd optional dict_attr to encode / decode ctx alloc signature
Nick Porter [Wed, 15 Oct 2025 16:36:43 +0000 (17:36 +0100)] 
Add optional dict_attr to encode / decode ctx alloc signature

To allow a root DA to be specified for the encoding / decoding context

9 months agoCorrect path manipulation when reading all files in a directory
Nick Porter [Tue, 14 Oct 2025 17:31:49 +0000 (18:31 +0100)] 
Correct path manipulation when reading all files in a directory

9 months agoupdate transaction functionality so it's useful
Alan T. DeKok [Tue, 14 Oct 2025 13:17:12 +0000 (15:17 +0200)] 
update transaction functionality so it's useful

edits don't fail.  So we update the documentation to match.

grouped edits are atomic only if they're in a transaction.  So we
update the documentation to match.

But since edit statements never fail, the transaction keyword will
never detect that.  So we allow if/else/elsif statements inside of
a transaction.  And update the documentation to match.

The example documentation is also update to note that you have to
explicitly check that the assignment failed

9 months agoallow checking result of unlang_tmpl_push()
Alan T. DeKok [Mon, 13 Oct 2025 13:34:33 +0000 (15:34 +0200)] 
allow checking result of unlang_tmpl_push()

we don't actually do it right now, for long reasons outlined in
the comments

9 months agoadd UNLANG_ACTION_FAIL
Alan T. DeKok [Tue, 14 Oct 2025 12:16:56 +0000 (14:16 +0200)] 
add UNLANG_ACTION_FAIL

9 months agotypo
Alan T. DeKok [Tue, 14 Oct 2025 06:20:28 +0000 (08:20 +0200)] 
typo

9 months agoAdd Cisco VSA 49
Nick Porter [Tue, 14 Oct 2025 11:00:10 +0000 (12:00 +0100)] 
Add Cisco VSA 49

9 months agouse UNLANG_ACTION_FAIL
Alan T. DeKok [Mon, 13 Oct 2025 14:18:42 +0000 (16:18 +0200)] 
use UNLANG_ACTION_FAIL

instead of manually setting *p_result and returning CALCULATE_RESULT.
it's the same thing, and unifies the code path

9 months agodon't print catch (null) for catch { ... }
Alan T. DeKok [Mon, 13 Oct 2025 13:08:07 +0000 (15:08 +0200)] 
don't print catch (null) for catch { ... }

9 months agonotes on RFC 5580
Alan T. DeKok [Mon, 13 Oct 2025 09:27:09 +0000 (11:27 +0200)] 
notes on RFC 5580

We do not (yet) support a UNION which references a KEY attribute
which is in a different attribute.  Since the code now supports
attribute references for a UNION, it shouldn't be too hard to add.

9 months agonote that a stable release can include new modules
Alan T. DeKok [Mon, 13 Oct 2025 08:33:43 +0000 (10:33 +0200)] 
note that a stable release can include new modules

9 months agoScheduled fuzzing: Update src/tests/fuzzer-corpus/vmps.tar
github-actions[bot] [Sat, 11 Oct 2025 04:32:31 +0000 (04:32 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/vmps.tar

9 months agoScheduled fuzzing: Update src/tests/fuzzer-corpus/util.tar
github-actions[bot] [Sat, 11 Oct 2025 04:32:04 +0000 (04:32 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/util.tar

9 months agoScheduled fuzzing: Update src/tests/fuzzer-corpus/tftp.tar
github-actions[bot] [Sat, 11 Oct 2025 04:31:28 +0000 (04:31 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/tftp.tar

9 months agoScheduled fuzzing: Update src/tests/fuzzer-corpus/dhcpv4.tar
github-actions[bot] [Sat, 11 Oct 2025 04:29:01 +0000 (04:29 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/dhcpv4.tar

9 months agoScheduled fuzzing: Update src/tests/fuzzer-corpus/dhcpv6.tar
github-actions[bot] [Sat, 11 Oct 2025 04:28:32 +0000 (04:28 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/dhcpv6.tar

9 months agoScheduled fuzzing: Update src/tests/fuzzer-corpus/dns.tar
github-actions[bot] [Sat, 11 Oct 2025 04:28:01 +0000 (04:28 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/dns.tar

9 months agoScheduled fuzzing: Update src/tests/fuzzer-corpus/radius.tar
github-actions[bot] [Sat, 11 Oct 2025 04:27:52 +0000 (04:27 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/radius.tar

9 months agoScheduled fuzzing: Update src/tests/fuzzer-corpus/bfd.tar
github-actions[bot] [Sat, 11 Oct 2025 04:27:43 +0000 (04:27 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/bfd.tar

9 months agoScheduled fuzzing: Update src/tests/fuzzer-corpus/tacacs.tar
github-actions[bot] [Sat, 11 Oct 2025 04:25:53 +0000 (04:25 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/tacacs.tar

9 months agoSame for rlm_sql_postgresql
Arran Cudbard-Bell [Fri, 10 Oct 2025 16:48:22 +0000 (10:48 -0600)] 
Same for rlm_sql_postgresql

9 months agoDon't delete, and immediately insert Fd events in rlm_sql_mysql.c
Arran Cudbard-Bell [Fri, 10 Oct 2025 16:41:41 +0000 (10:41 -0600)] 
Don't delete, and immediately insert Fd events in rlm_sql_mysql.c

9 months agoHandle cancelling SQL requests that are already reapable
Nick Porter [Thu, 9 Oct 2025 14:17:48 +0000 (15:17 +0100)] 
Handle cancelling SQL requests that are already reapable

These are really complete, and don't need to go round the query
cancellation path.

9 months agoadd dictionary validation for TACACS+
Alan T. DeKok [Thu, 9 Oct 2025 12:42:40 +0000 (08:42 -0400)] 
add dictionary validation for TACACS+

9 months agomove function to bottom of file
Alan T. DeKok [Wed, 8 Oct 2025 18:42:07 +0000 (14:42 -0400)] 
move function to bottom of file

to be compatible with others, so there are consistent locations

9 months agoFreeBSD doesn't appear to package luajit-devel any more
Nick Porter [Wed, 8 Oct 2025 19:09:14 +0000 (20:09 +0100)] 
FreeBSD doesn't appear to package luajit-devel any more

9 months agoEnsure FreeBSD is up to date before running pkg install
Nick Porter [Wed, 8 Oct 2025 18:55:52 +0000 (19:55 +0100)] 
Ensure FreeBSD is up to date before running pkg install

9 months agoWrap Juniper TACACS dictionary in BEGIN-VENDOR ... END-VENDOR
Nick Porter [Wed, 8 Oct 2025 18:42:11 +0000 (19:42 +0100)] 
Wrap Juniper TACACS dictionary in BEGIN-VENDOR ... END-VENDOR

9 months agoRemove incorrect comment
Nick Porter [Tue, 7 Oct 2025 10:51:17 +0000 (11:51 +0100)] 
Remove incorrect comment

9 months agoRemove assert blocking error message
Nick Porter [Fri, 3 Oct 2025 12:53:33 +0000 (13:53 +0100)] 
Remove assert blocking error message

9 months agoAdd release notes for developers
Arran Cudbard-Bell [Tue, 7 Oct 2025 17:14:36 +0000 (11:14 -0600)] 
Add release notes for developers

9 months agobreaking chnages should be noted in each experimental release
Alan T. DeKok [Tue, 7 Oct 2025 15:27:17 +0000 (11:27 -0400)] 
breaking chnages should be noted in each experimental release

10 months agoFile descriptors start at zero
Arran Cudbard-Bell [Mon, 6 Oct 2025 22:57:13 +0000 (16:57 -0600)] 
File descriptors start at zero

10 months agoRevert "add and use automatic re-init on connection failure"
Arran Cudbard-Bell [Mon, 6 Oct 2025 22:55:48 +0000 (16:55 -0600)] 
Revert "add and use automatic re-init on connection failure"

This reverts commit c141294c8e13171f99a8b8c510f2df68d0b03b8c.

It's not clear why this commit was necessary, and it caused the MySQL code to leak file descriptors when a connection could not be established to the MySQL server.

10 months agoword smithing and updates
Alan T. DeKok [Fri, 3 Oct 2025 16:23:03 +0000 (12:23 -0400)] 
word smithing and updates

10 months agoRemove UNLANG_ACTION_STOP_PROCESSING
Arran Cudbard-Bell [Thu, 2 Oct 2025 23:37:36 +0000 (17:37 -0600)] 
Remove UNLANG_ACTION_STOP_PROCESSING

It's not needed anymore.  Fatal errors should use `RETURN_UNLANG_ACTION_FATAL` to signal the request to stop.

Fix issue where finally-timeout test wasn't actually running because the dummy request got cancalled during the virtual server call (oops).

Add regression tests for module calls being immediately cancelled in finally sections.

10 months agoPrint better errors in control socket test
Arran Cudbard-Bell [Wed, 1 Oct 2025 04:25:05 +0000 (00:25 -0400)] 
Print better errors in control socket test

10 months agoadd release management doc
Alan T. DeKok [Thu, 2 Oct 2025 21:04:23 +0000 (17:04 -0400)] 
add release management doc

10 months agoreformat and word wrap
Alan T. DeKok [Thu, 2 Oct 2025 16:34:52 +0000 (12:34 -0400)] 
reformat and word wrap

10 months agoallow UTF-8 characters while reading directories
Alan T. DeKok [Sun, 28 Sep 2025 16:00:48 +0000 (12:00 -0400)] 
allow UTF-8 characters while reading directories

10 months agohandle zero terminated strings better in UTF8 checks.
Alan T. DeKok [Sun, 28 Sep 2025 13:42:44 +0000 (09:42 -0400)] 
handle zero terminated strings better in UTF8 checks.

the final zero is not valid UTF8.
Control characters are not valid UTF8.
Limit the allowed UTF8 length to where the trailing zero is located

10 months agoIf the the LDAP query failed to enqueue, then query will be NULL
Nick Porter [Wed, 1 Oct 2025 15:57:56 +0000 (16:57 +0100)] 
If the the LDAP query failed to enqueue, then query will be NULL

10 months agoUse autofreeing of autz_ctx
Nick Porter [Wed, 1 Oct 2025 15:56:49 +0000 (16:56 +0100)] 
Use autofreeing of autz_ctx

It is parented off a higher stack frame, and if `unlang_module_yield`
has been used to set a repeat function, which needs to be done before
attempting to submit a query, then `autz_ctx` needs to remain until that
repeat has happened.

10 months agoReturn UNLANG_ACTION_FAIL if the module call fails
Nick Porter [Wed, 1 Oct 2025 15:52:39 +0000 (16:52 +0100)] 
Return UNLANG_ACTION_FAIL if the module call fails

10 months agoRemove over restrictive checks on array index contents
Nick Porter [Wed, 1 Oct 2025 13:43:34 +0000 (14:43 +0100)] 
Remove over restrictive checks on array index contents

This reported incorrect errors - such as when an attribute is used as an
array index.

Invalid array indexes (e.g. undefined attributes or invalid data types)
are caught during policy compilation.

10 months agoWrite to logdir, not confdir
Nick Porter [Wed, 1 Oct 2025 12:55:36 +0000 (13:55 +0100)] 
Write to logdir, not confdir

10 months agoAlign upper bound of max_pps with upper bound of start_pps
Nick Porter [Wed, 1 Oct 2025 12:43:17 +0000 (13:43 +0100)] 
Align upper bound of max_pps with upper bound of start_pps

10 months agoAdd support for FR_TYPE_ATTR xlat arguments
Nick Porter [Wed, 1 Oct 2025 11:04:46 +0000 (12:04 +0100)] 
Add support for FR_TYPE_ATTR xlat arguments

10 months agoAdd fr_value_box_set_attr to populate FR_TYPE_ATTR boxes
Nick Porter [Wed, 1 Oct 2025 10:55:43 +0000 (11:55 +0100)] 
Add fr_value_box_set_attr to populate FR_TYPE_ATTR boxes

10 months agoNo need for variadic args to %proto.decode() xlat
Nick Porter [Wed, 1 Oct 2025 08:23:53 +0000 (09:23 +0100)] 
No need for variadic args to %proto.decode() xlat

10 months agoTest %ldap.uri.escape and %ldap.uri.unescape with multiple boxes
Nick Porter [Tue, 30 Sep 2025 11:08:18 +0000 (12:08 +0100)] 
Test %ldap.uri.escape and %ldap.uri.unescape with multiple boxes

10 months agoDon't concat the inputs to %ldap.uri.escape and %ldap.uri.unescape
Nick Porter [Tue, 30 Sep 2025 11:06:17 +0000 (12:06 +0100)] 
Don't concat the inputs to %ldap.uri.escape and %ldap.uri.unescape

If the input to these xlats is mulitple boxes, this produces multiple
boxes on the output allowing escaping / unescaping to be done inline in
cases such as

%concat(%ldap.uri.escape(foo[*]), '<sep>')

10 months agoAdd values for ATT
Nick Porter [Fri, 26 Sep 2025 19:08:34 +0000 (20:08 +0100)] 
Add values for ATT

10 months agoAdd ref to RFC4243
Nick Porter [Fri, 26 Sep 2025 19:08:01 +0000 (20:08 +0100)] 
Add ref to RFC4243

10 months agoAllocate args when copying an xlat function
Nick Porter [Fri, 26 Sep 2025 18:46:38 +0000 (19:46 +0100)] 
Allocate args when copying an xlat function

10 months agosize also needs to be on a separate line
Arran Cudbard-Bell [Sun, 28 Sep 2025 23:02:35 +0000 (19:02 -0400)] 
size also needs to be on a separate line

10 months agoAdd more notes on how the atomic queues work
Arran Cudbard-Bell [Sun, 28 Sep 2025 19:32:15 +0000 (15:32 -0400)] 
Add more notes on how the atomic queues work

Replace modulo with bitwise and.

10 months agoMove atomic things inside atomic_queue.c
Arran Cudbard-Bell [Sun, 28 Sep 2025 19:31:04 +0000 (15:31 -0400)] 
Move atomic things inside atomic_queue.c

...so we can spell acquire correctly

10 months agoAdd functions to round to nearest power of 2
Arran Cudbard-Bell [Sun, 28 Sep 2025 19:30:12 +0000 (15:30 -0400)] 
Add functions to round to nearest power of 2

10 months agoFix trigger docs
Arran Cudbard-Bell [Sat, 27 Sep 2025 19:15:52 +0000 (15:15 -0400)] 
Fix trigger docs

10 months agodict_def should always be local_dict
Arran Cudbard-Bell [Fri, 26 Sep 2025 23:06:22 +0000 (19:06 -0400)] 
dict_def should always be local_dict

10 months agoMake json.encode work with local attributes
Arran Cudbard-Bell [Fri, 26 Sep 2025 22:35:46 +0000 (18:35 -0400)] 
Make json.encode work with local attributes

10 months agoHave json.encode accept refs as discreet arguments
Arran Cudbard-Bell [Fri, 26 Sep 2025 21:22:35 +0000 (17:22 -0400)] 
Have json.encode accept refs as discreet arguments

10 months agolet's exit the loop on success
Alan T. DeKok [Wed, 24 Sep 2025 20:55:14 +0000 (16:55 -0400)] 
let's exit the loop on success

10 months agono longer used
Alan T. DeKok [Wed, 24 Sep 2025 17:58:48 +0000 (13:58 -0400)] 
no longer used

10 months agoallow dictionary to use $INCLUDE directory.d/
Alan T. DeKok [Wed, 24 Sep 2025 14:38:26 +0000 (10:38 -0400)] 
allow dictionary to use $INCLUDE directory.d/

10 months agoadd wrapper API for iterating files, directories, or globs
Alan T. DeKok [Tue, 23 Sep 2025 15:39:29 +0000 (11:39 -0400)] 
add wrapper API for iterating files, directories, or globs

10 months agoadd and use chdir option
Alan T. DeKok [Tue, 23 Sep 2025 11:29:36 +0000 (07:29 -0400)] 
add and use chdir option

so that the server will do a chdir after suid_down_permanent

10 months agorename variables
Alan T. DeKok [Mon, 22 Sep 2025 22:29:22 +0000 (18:29 -0400)] 
rename variables

to be more consistent with _dict_from_file()

10 months agosimplify _dict_from_file()
Alan T. DeKok [Mon, 22 Sep 2025 18:20:40 +0000 (14:20 -0400)] 
simplify _dict_from_file()

in preparation for adding globbing support

_dict_from_file() is called to load the protocol dictionaries,
which have hard-coded path and filename.  Or, from the $INCLUDE
handler, which can do the normalizations itself

10 months agoScheduled fuzzing: Update src/tests/fuzzer-corpus/der.tar
github-actions[bot] [Thu, 18 Sep 2025 04:29:34 +0000 (04:29 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/der.tar

10 months agoScheduled fuzzing: Update src/tests/fuzzer-corpus/cbor.tar
github-actions[bot] [Thu, 18 Sep 2025 04:27:19 +0000 (04:27 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/cbor.tar