]> git.ipfire.org Git - thirdparty/freeradius-server.git/log
thirdparty/freeradius-server.git
12 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

12 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

12 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

12 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

12 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

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

13 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+

13 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

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

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

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

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

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

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

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

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

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

3 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

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

3 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

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

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

3 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

3 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

3 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

3 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

3 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

3 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>')

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

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

3 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

4 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

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

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

4 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

4 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

4 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()

4 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

5 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

5 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

5 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

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

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

5 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

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

5 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

5 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

5 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

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

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

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

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

5 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

5 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

5 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

5 weeks agoNo need to pass in event list as fr_event_user_t contains the list
Nick Porter [Fri, 5 Sep 2025 12:24:27 +0000 (13:24 +0100)] 
No need to pass in event list as fr_event_user_t contains the list

5 weeks agoDon't drop capabilities too early
Nick Porter [Wed, 17 Sep 2025 13:44:40 +0000 (14:44 +0100)] 
Don't drop capabilities too early

Dropping CAP_SETGID too early can cause setresuid() to fail on some
platforms.

Seen when running `freeradius -XC` on Debian platforms.

5 weeks agoclear CAP_SUID and CAP_GUID as necessary. Fixes #5647
Alan T. DeKok [Mon, 15 Sep 2025 19:29:49 +0000 (15:29 -0400)] 
clear CAP_SUID and CAP_GUID as necessary.  Fixes #5647

5 weeks agoPackage libfreeradius-der in .deb packages
Nick Porter [Mon, 15 Sep 2025 15:56:28 +0000 (16:56 +0100)] 
Package libfreeradius-der in .deb packages

5 weeks agoOptionally decode certificates using the DER decoder
Nick Porter [Mon, 15 Sep 2025 08:28:20 +0000 (09:28 +0100)] 
Optionally decode certificates using the DER decoder

This requires OpenSSL >= 3.4 where the custom stack allocator callback
is available.
The default stack size allocated by previous versions is too small and
the recursive calls involved in certificate decoding require a larger
stack.

5 weeks agoUse mmap to allocate for OpenSSL stack allocation
Nick Porter [Fri, 12 Sep 2025 19:53:37 +0000 (20:53 +0100)] 
Use mmap to allocate for OpenSSL stack allocation

Using the size reported by pthread_attr_getstacksize()

6 weeks agoAdd additional test for nested JSON encoding
Arran Cudbard-Bell [Wed, 10 Sep 2025 18:15:09 +0000 (19:15 +0100)] 
Add additional test for nested JSON encoding

6 weeks agoUpdate wiki link for redhat FAQ
ethan-thompson [Wed, 10 Sep 2025 14:32:39 +0000 (10:32 -0400)] 
Update wiki link for redhat FAQ

6 weeks agoScheduled fuzzing: Update src/tests/fuzzer-corpus/dhcpv4.tar
github-actions[bot] [Wed, 10 Sep 2025 04:29:55 +0000 (04:29 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/dhcpv4.tar

6 weeks agoScheduled fuzzing: Update src/tests/fuzzer-corpus/radius.tar
github-actions[bot] [Wed, 10 Sep 2025 04:28:46 +0000 (04:28 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/radius.tar

6 weeks agoScheduled fuzzing: Update src/tests/fuzzer-corpus/dhcpv6.tar
github-actions[bot] [Wed, 10 Sep 2025 04:28:19 +0000 (04:28 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/dhcpv6.tar

6 weeks agoScheduled fuzzing: Update src/tests/fuzzer-corpus/util.tar
github-actions[bot] [Wed, 10 Sep 2025 04:26:22 +0000 (04:26 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/util.tar

6 weeks agoScheduled fuzzing: Update src/tests/fuzzer-corpus/tacacs.tar
github-actions[bot] [Wed, 10 Sep 2025 04:26:13 +0000 (04:26 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/tacacs.tar

6 weeks agoScheduled fuzzing: Update src/tests/fuzzer-corpus/dns.tar
github-actions[bot] [Wed, 10 Sep 2025 04:25:04 +0000 (04:25 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/dns.tar

6 weeks agoScheduled fuzzing: Update src/tests/fuzzer-corpus/bfd.tar
github-actions[bot] [Wed, 10 Sep 2025 04:24:46 +0000 (04:24 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/bfd.tar

6 weeks agoScheduled fuzzing: Update src/tests/fuzzer-corpus/tftp.tar
github-actions[bot] [Wed, 10 Sep 2025 04:24:40 +0000 (04:24 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/tftp.tar

6 weeks agoScheduled fuzzing: Update src/tests/fuzzer-corpus/vmps.tar
github-actions[bot] [Wed, 10 Sep 2025 04:24:37 +0000 (04:24 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/vmps.tar

6 weeks agoAdd test of %smtp.send() xlat
Nick Porter [Thu, 4 Sep 2025 14:18:08 +0000 (15:18 +0100)] 
Add test of %smtp.send() xlat

6 weeks agoAdd %smtp.send() xlat
Nick Porter [Thu, 4 Sep 2025 12:55:10 +0000 (13:55 +0100)] 
Add %smtp.send() xlat

For sending simple emails, e.g. as triggers or for logging exceptions.

6 weeks agoCorrect debug message types
Nick Porter [Thu, 4 Sep 2025 12:54:04 +0000 (13:54 +0100)] 
Correct debug message types

6 weeks agoUse correct rcode depending on why the call could not run
Nick Porter [Thu, 4 Sep 2025 12:50:05 +0000 (13:50 +0100)] 
Use correct rcode depending on why the call could not run

6 weeks agoCorrect comment
Nick Porter [Thu, 4 Sep 2025 12:45:50 +0000 (13:45 +0100)] 
Correct comment

6 weeks agoMake sure the randle is released if enqueue fails
Nick Porter [Thu, 4 Sep 2025 12:44:39 +0000 (13:44 +0100)] 
Make sure the randle is released if enqueue fails

6 weeks agoAdd aliases for sha2/sha3
Arran Cudbard-Bell [Thu, 4 Sep 2025 11:31:51 +0000 (13:31 +0200)] 
Add aliases for sha2/sha3

6 weeks agoEquality not assignment...
Arran Cudbard-Bell [Thu, 4 Sep 2025 11:01:47 +0000 (13:01 +0200)] 
Equality not assignment...

6 weeks agoAdd ordering match on attributes, to allow server side sort on profiles to return...
Arran Cudbard-Bell [Thu, 4 Sep 2025 11:00:42 +0000 (13:00 +0200)] 
Add ordering match on attributes, to allow server side sort on profiles to return attributes in a consistent order

7 weeks agoPass the correct uctx when resetting the timer
Nick Porter [Wed, 3 Sep 2025 18:23:03 +0000 (19:23 +0100)] 
Pass the correct uctx when resetting the timer

7 weeks agoRetry request will have state TRUNK_REQUEST_STATE_SENT
Nick Porter [Wed, 3 Sep 2025 18:14:14 +0000 (19:14 +0100)] 
Retry request will have state TRUNK_REQUEST_STATE_SENT

7 weeks agoPacify Coverity (CID #1503923)
Nick Porter [Wed, 3 Sep 2025 12:53:13 +0000 (13:53 +0100)] 
Pacify Coverity (CID #1503923)

Coverity is not correctly doing the calculations inside the loop to
realise that block_len is safely limited to protect against out of
bounds access to tpasswd.

7 weeks agoPacify Coverity (CID #1520878)
Nick Porter [Wed, 3 Sep 2025 10:50:17 +0000 (11:50 +0100)] 
Pacify Coverity (CID #1520878)

Coverity doesn't see that fd < 0 means the lock was released