]> git.ipfire.org Git - thirdparty/freeradius-server.git/log
thirdparty/freeradius-server.git
19 hours agoScheduled fuzzing: Update src/tests/fuzzer-corpus/der.tar master
github-actions[bot] [Sun, 19 Oct 2025 04:31:25 +0000 (04:31 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/der.tar

19 hours 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

2 days agoJust return -1 for errors (it's all the callers check) (CID #1667131) developer/ndptech
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)

3 days 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

3 days 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

3 days 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

3 days 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

3 days 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

3 days 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

3 days 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

3 days 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

3 days 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

3 days 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.

3 days 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

5 days 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

5 days agoupdate transaction functionality so it's useful developer/alandekok
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

5 days 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

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

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

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

6 days 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

6 days 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 { ... }

6 days 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.

6 days 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

8 days 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

8 days 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

8 days 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

8 days 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

8 days 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

8 days 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

8 days 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

8 days 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

8 days 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 days 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 days 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

10 days 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.

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

10 days 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

11 days 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

11 days 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

11 days 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

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

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

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

12 days 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

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

13 days 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.

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

2 weeks 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.

2 weeks 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

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

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

2 weeks 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

2 weeks 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

2 weeks 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

2 weeks 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.

2 weeks 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

2 weeks 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.

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

2 weeks 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

2 weeks 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

2 weeks 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

2 weeks 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

2 weeks 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

2 weeks 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>')

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

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

2 weeks 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

3 weeks 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

3 weeks 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.

3 weeks 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

3 weeks 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

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

3 weeks 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

3 weeks 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

3 weeks 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

3 weeks 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

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

3 weeks 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/

3 weeks 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

3 weeks 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

3 weeks 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()

3 weeks 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

4 weeks 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

4 weeks 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

4 weeks agogetopt() returns an int, not char
Nick Porter [Wed, 17 Sep 2025 15:43:08 +0000 (16:43 +0100)] 
getopt() returns an int, not char

4 weeks agoEnsure vb is initialised
Nick Porter [Wed, 17 Sep 2025 15:35:06 +0000 (16:35 +0100)] 
Ensure vb is initialised

4 weeks agoRe-enable control_test
Nick Porter [Mon, 8 Sep 2025 16:00:13 +0000 (17:00 +0100)] 
Re-enable control_test

4 weeks agoBase atomic queue size on the max message count
Nick Porter [Mon, 8 Sep 2025 16:02:28 +0000 (17:02 +0100)] 
Base atomic queue size on the max message count

4 weeks agoBack off message retry
Nick Porter [Mon, 8 Sep 2025 16:01:52 +0000 (17:01 +0100)] 
Back off message retry

4 weeks agoAdd extra debug levels to control_test
Nick Porter [Mon, 8 Sep 2025 16:01:15 +0000 (17:01 +0100)] 
Add extra debug levels to control_test

4 weeks agoUpdate control_test to allow one atomic queue per worker
Nick Porter [Fri, 5 Sep 2025 08:24:58 +0000 (09:24 +0100)] 
Update control_test to allow one atomic queue per worker

4 weeks agoUpdate control_test to use current APIs and use variable number of workers
Nick Porter [Fri, 5 Sep 2025 07:48:55 +0000 (08:48 +0100)] 
Update control_test to use current APIs and use variable number of workers

4 weeks agoRe-enable ring_buffer_test
Nick Porter [Tue, 2 Sep 2025 14:48:25 +0000 (15:48 +0100)] 
Re-enable ring_buffer_test

4 weeks agoCorrect comment
Nick Porter [Mon, 8 Sep 2025 15:48:12 +0000 (16:48 +0100)] 
Correct comment

4 weeks agoPop all pending control messages when the read event fires
Nick Porter [Mon, 8 Sep 2025 15:47:53 +0000 (16:47 +0100)] 
Pop all pending control messages when the read event fires

Under extreme load not all messages get popped, eventually leading to a
full ring buffer and so collapse of the control signalling.

4 weeks agoDon't re-run garbage collection
Nick Porter [Mon, 8 Sep 2025 15:31:38 +0000 (16:31 +0100)] 
Don't re-run garbage collection

`fr_control_message_alloc()` already attempts garbage collection if
allocation from the ring buffer fails, so trying again like this will
potentially result in 3 calls to `fr_control_gc()` when the buffer is
full.

4 weeks agoRetry writing to the pipe if it fails with EAGAIN / EWOULDBLOCK
Nick Porter [Mon, 8 Sep 2025 10:01:39 +0000 (11:01 +0100)] 
Retry writing to the pipe if it fails with EAGAIN / EWOULDBLOCK

4 weeks agoCorrect EV_SET for triggering user event
Nick Porter [Fri, 5 Sep 2025 14:32:59 +0000 (15:32 +0100)] 
Correct EV_SET for triggering user event

4 weeks agoAlign macro argument names with their use
Nick Porter [Fri, 5 Sep 2025 12:31:28 +0000 (13:31 +0100)] 
Align macro argument names with their use