]> git.ipfire.org Git - thirdparty/freeradius-server.git/log
thirdparty/freeradius-server.git
10 hours agoDon't parent temporary dir buffer to ef in exfile_open_mkdir (#5823) master
Ethan Thompson [Mon, 13 Apr 2026 18:25:29 +0000 (14:25 -0400)] 
Don't parent temporary dir buffer to ef in exfile_open_mkdir (#5823)

The buffer is always freed before the function returns, so parenting
it to ef implied a lifetime relationship that didn't exist.

Signed-off-by: ethan-thompson <ethan.thompson@networkradius.com>
14 hours agoDisarm rather than delete timers developer/ndptech
Nick Porter [Mon, 13 Apr 2026 14:12:06 +0000 (15:12 +0100)] 
Disarm rather than delete timers

To avoid repeated freeing / allocating

14 hours agoEnsure parent cleanup timer is disarmed following new TCP connection
Nick Porter [Mon, 13 Apr 2026 14:02:29 +0000 (15:02 +0100)] 
Ensure parent cleanup timer is disarmed following new TCP connection

4 days agoOnly standard modules register xlats with their own name
Nick Porter [Thu, 9 Apr 2026 13:05:43 +0000 (14:05 +0100)] 
Only standard modules register xlats with their own name

Without this, if a virtual server, for example, has the same name as a
module which registers an xlat in its name, then, during server
shutdown, removing the process module for the virtual server attempts to
unregister the xlat which it doesn't own and leads to a seg fault.

4 days agoAdd name to coord_pair
Nick Porter [Thu, 9 Apr 2026 13:27:28 +0000 (14:27 +0100)] 
Add name to coord_pair

So request names can indicate which coordinator they belong to.

4 days agoParent coord_pair_reg off the list of registrations
Nick Porter [Thu, 9 Apr 2026 13:55:16 +0000 (14:55 +0100)] 
Parent coord_pair_reg off the list of registrations

As with coord_reg, the entry component of the registration will change
as additional modules register coord_pair, which conflicts with module
instance data protection.

4 days agoParent coordinator registrations off the list of registrations
Nick Porter [Wed, 8 Apr 2026 10:55:46 +0000 (11:55 +0100)] 
Parent coordinator registrations off the list of registrations

When more than one module registers a coordinator, the "previous"
registration changes when the new one is added to the list.  If the
registration is parented off the module instance data then that gets
protected - so a seg fault happens when the second registration is
added.  Parenting the registration off the list removes this issue.

4 days agoUse fr_dlist_talloc_init to type check entries
Nick Porter [Wed, 8 Apr 2026 10:14:49 +0000 (11:14 +0100)] 
Use fr_dlist_talloc_init to type check entries

4 days agoProtect CONF_SECTION with const
Nick Porter [Mon, 6 Apr 2026 16:13:15 +0000 (17:13 +0100)] 
Protect CONF_SECTION with const

4 days agoCONF_SECTION is not changed by map_afrom_cs, so use const
Nick Porter [Mon, 6 Apr 2026 16:09:05 +0000 (17:09 +0100)] 
CONF_SECTION is not changed by map_afrom_cs, so use const

6 days agomove "run asciidoctor" code developer/alandekok
Alan T. DeKok [Tue, 7 Apr 2026 23:36:33 +0000 (19:36 -0400)] 
move "run asciidoctor" code

into block where we have asciidoctor

6 days agodocs-v4: Intergrity check on condition.adoc - fix syntax, added truth table, wordsmithing
nolade [Tue, 7 Apr 2026 21:35:49 +0000 (17:35 -0400)] 
docs-v4: Intergrity check on condition.adoc - fix syntax, added truth table, wordsmithing

6 days agodocs-v4: Updated copyright message to current year using Alan's perl magic
nolade [Tue, 7 Apr 2026 20:35:21 +0000 (16:35 -0400)] 
docs-v4: Updated copyright message to current year using Alan's perl magic
`perl -p -i -e 's/Copyright \(C\) 2.../Copyright (C) 2026/'  $(git grep -l 'Copyright' $(find doc/antora/ -name "*.adoc" -print))`

6 days agoUpdated the link to the InkBridge Networks website
Marc-Andre Casavant [Tue, 7 Apr 2026 18:09:33 +0000 (14:09 -0400)] 
Updated the link to the InkBridge Networks website

6 days agoCorrect comment
Nick Porter [Tue, 7 Apr 2026 11:39:38 +0000 (12:39 +0100)] 
Correct comment

6 days agoPacify Coverity (CID #1691057)
Nick Porter [Tue, 7 Apr 2026 07:31:59 +0000 (08:31 +0100)] 
Pacify Coverity (CID #1691057)

Xlat args will prevent in_head being NULL, but Coverity doesn't follow
that path.

6 days agoPacify Coverity (CID #1691058)
Nick Porter [Tue, 7 Apr 2026 07:25:20 +0000 (08:25 +0100)] 
Pacify Coverity (CID #1691058)

Module configuration requires that we there will be a "find" query.

6 days agoPacify Coverity (#CID 1691059)
Nick Porter [Tue, 7 Apr 2026 07:15:14 +0000 (08:15 +0100)] 
Pacify Coverity (#CID 1691059)

The xlat args will ensure that func is populated, but Coverity doesn't
follow that path.

7 days agoAllow Message-Authenticator !* 0x00 for "don't send it"
Alan T. DeKok [Tue, 7 Apr 2026 00:47:08 +0000 (20:47 -0400)] 
Allow Message-Authenticator !* 0x00 for "don't send it"

7 days agofr_packet_foo -> fr_radius_packet_foo
Alan T. DeKok [Mon, 6 Apr 2026 22:39:47 +0000 (18:39 -0400)] 
fr_packet_foo -> fr_radius_packet_foo

7 days agotweak encoder for static analyzer
Alan T. DeKok [Mon, 6 Apr 2026 20:14:08 +0000 (16:14 -0400)] 
tweak encoder for static analyzer

which changes the use of the random numbers, and therefore the
tests have to be updated

7 days agoqualify funtion name with "fr_radius"
Alan T. DeKok [Mon, 6 Apr 2026 20:01:43 +0000 (16:01 -0400)] 
qualify funtion name with "fr_radius"

7 days agowe don't need this macro, it's only used once
Alan T. DeKok [Mon, 6 Apr 2026 20:00:53 +0000 (16:00 -0400)] 
we don't need this macro, it's only used once

7 days agotweak fr_radius_verify() to keep static analyzer happy
Alan T. DeKok [Mon, 6 Apr 2026 19:28:06 +0000 (15:28 -0400)] 
tweak fr_radius_verify() to keep static analyzer happy

7 days agoUpdate action for node.js 24
Nick Porter [Mon, 6 Apr 2026 13:30:51 +0000 (14:30 +0100)] 
Update action for node.js 24

7 days agoAdd sample config for CRL delta building
Nick Porter [Mon, 6 Apr 2026 12:58:35 +0000 (13:58 +0100)] 
Add sample config for CRL delta building

Currently `openssl crl` won't take a key on the command line, so `make
rsa/delta.crl` will prompt for the password.

7 days agoSend CRL-Expire to worker if refresh of expired CRL fails
Nick Porter [Mon, 6 Apr 2026 10:38:38 +0000 (11:38 +0100)] 
Send CRL-Expire to worker if refresh of expired CRL fails

and expired CRLs are not allowed.

7 days agoAdd time validity options to CRL virtual server
Nick Porter [Tue, 31 Mar 2026 13:36:38 +0000 (14:36 +0100)] 
Add time validity options to CRL virtual server

7 days agoAdd process_crl.so to RHEL packaging
Nick Porter [Fri, 27 Mar 2026 17:51:02 +0000 (17:51 +0000)] 
Add process_crl.so to RHEL packaging

7 days agoUpdate docs from raddb
Nick Porter [Fri, 27 Mar 2026 17:39:53 +0000 (17:39 +0000)] 
Update docs from raddb

7 days agoAdd url option to rlm_crl
Nick Porter [Fri, 27 Mar 2026 17:29:11 +0000 (17:29 +0000)] 
Add url option to rlm_crl

To allow pre-fetching of CRLs before they are needed for certificate
verification.

7 days agoRework CRL test to handle limitations of unit_test_module
Nick Porter [Fri, 27 Mar 2026 16:17:50 +0000 (16:17 +0000)] 
Rework CRL test to handle limitations of unit_test_module

7 days agoAdd %crl.refresh() to forcibly trigger refresh
Nick Porter [Fri, 27 Mar 2026 16:17:03 +0000 (16:17 +0000)] 
Add %crl.refresh() to forcibly trigger refresh

7 days agoPlumb coordinator framework into unit_test_module
Nick Porter [Fri, 27 Mar 2026 15:58:43 +0000 (15:58 +0000)] 
Plumb coordinator framework into unit_test_module

7 days agoAdd fr_schedule_worker_id_set
Nick Porter [Fri, 27 Mar 2026 15:55:44 +0000 (15:55 +0000)] 
Add fr_schedule_worker_id_set

Only to be used from test frameworks such as unit_test_module.

7 days agoUpdate rlm_crl tests with updated config
Nick Porter [Fri, 27 Mar 2026 11:43:16 +0000 (11:43 +0000)] 
Update rlm_crl tests with updated config

7 days agoUpdate sample rlm_crl configuration
Nick Porter [Fri, 27 Mar 2026 11:34:27 +0000 (11:34 +0000)] 
Update sample rlm_crl configuration

7 days agoConvert rlm_crl to use coordinator thread
Nick Porter [Thu, 26 Mar 2026 16:41:39 +0000 (16:41 +0000)] 
Convert rlm_crl to use coordinator thread

7 days agoAdd a sample CRL virtual server
Nick Porter [Fri, 27 Mar 2026 11:25:49 +0000 (11:25 +0000)] 
Add a sample CRL virtual server

7 days agoAdd CRL process module
Nick Porter [Thu, 26 Mar 2026 12:17:53 +0000 (12:17 +0000)] 
Add CRL process module

For a coordinator thread to run requests to fetch CRLs

8 days agoquiet static analyzer
Alan T. DeKok [Sun, 5 Apr 2026 23:51:09 +0000 (19:51 -0400)] 
quiet static analyzer

via using static[256] for fixed-size buffers, among other tweaks

8 days agoinputfp may be NULL
Alan T. DeKok [Sun, 5 Apr 2026 23:41:28 +0000 (19:41 -0400)] 
inputfp may be NULL

8 days agoallocation may fail
Alan T. DeKok [Sun, 5 Apr 2026 23:41:17 +0000 (19:41 -0400)] 
allocation may fail

8 days agotweak checks for digest attributes
Alan T. DeKok [Sun, 5 Apr 2026 18:04:44 +0000 (14:04 -0400)] 
tweak checks for digest attributes

8 days agoclean up radmin
Alan T. DeKok [Sun, 5 Apr 2026 15:04:52 +0000 (11:04 -0400)] 
clean up radmin

double check return paths, exit codes, messages, etc.

8 days agoWrite "Including files" only in debug2
Alan T. DeKok [Sun, 5 Apr 2026 14:51:32 +0000 (10:51 -0400)] 
Write "Including files" only in debug2

8 days agoremove unused code
Alan T. DeKok [Sun, 5 Apr 2026 14:47:43 +0000 (10:47 -0400)] 
remove unused code

we don't use the tmpl rules for anything, so we might as well
remove it.

8 days agoadd tests for the dictionary file parser
Alan T. DeKok [Fri, 3 Apr 2026 22:09:47 +0000 (18:09 -0400)] 
add tests for the dictionary file parser

8 days agoadd fr_dict_afrom_file()
Alan T. DeKok [Fri, 3 Apr 2026 22:03:49 +0000 (18:03 -0400)] 
add fr_dict_afrom_file()

only for testing.  And add wrapper to unit_test_attribute

9 days agouse different UTF-8 text for test data
Alan T. DeKok [Sat, 4 Apr 2026 16:36:24 +0000 (12:36 -0400)] 
use different UTF-8 text for test data

9 days agoremove debug / testing output
Alan T. DeKok [Sat, 4 Apr 2026 16:10:36 +0000 (12:10 -0400)] 
remove debug / testing output

9 days agoadd assume() macro
Alan T. DeKok [Sat, 4 Apr 2026 15:57:19 +0000 (11:57 -0400)] 
add assume() macro

which is a hint to the compiler that a variable can have a
particular value.  It's not an assertion, but it lets the compiler
know that it can make more optimizations based on the given
assumption.

9 days agoadd notes for run-time DNS resolution of client sockets
Alan T. DeKok [Sat, 4 Apr 2026 14:51:06 +0000 (10:51 -0400)] 
add notes for run-time DNS resolution of client sockets

9 days agoallow for END PROTOCOL, and END VENDOR too
Alan T. DeKok [Fri, 3 Apr 2026 21:46:34 +0000 (17:46 -0400)] 
allow for END PROTOCOL, and END VENDOR too

which is obvious to use.  Because using "BEGIN PROTOCOL" followed
by "END-PROTOCOL" is just weird.

Previously it would complain with an entirely opaque error.

9 days agotweak dict_from_file to be a bit more forgiving
Alan T. DeKok [Fri, 3 Apr 2026 21:35:43 +0000 (17:35 -0400)] 
tweak dict_from_file to be a bit more forgiving

9 days agolook up duplicate number if it's _not_ name-only
Alan T. DeKok [Fri, 3 Apr 2026 21:11:19 +0000 (17:11 -0400)] 
look up duplicate number if it's _not_ name-only

9 days agodefault to 0 buffer count
Alan T. DeKok [Fri, 3 Apr 2026 22:04:42 +0000 (18:04 -0400)] 
default to 0 buffer count

which is the least surprising.  Otherwise it is not at all obvious
why there is a delay.

and enforce min/max limits on the buffer count/delay, so that they
aren't zero

10 days agoUpdate linelog examples and documentation
Alan T. DeKok [Fri, 3 Apr 2026 20:46:18 +0000 (16:46 -0400)] 
Update linelog examples and documentation

10 days agoallow radmin to read custom dictionaries, too.
Alan T. DeKok [Fri, 3 Apr 2026 16:59:40 +0000 (12:59 -0400)] 
allow radmin to read custom dictionaries, too.

the server and radclient assume that the RADIUS protocol is loaded
before reading raddb/dictionary.  So radmin should do that, too

10 days agoremove conflicting Altiga attributes
Alan T. DeKok [Fri, 3 Apr 2026 16:59:20 +0000 (12:59 -0400)] 
remove conflicting Altiga attributes

10 days agoport attributes from v3.2.x
Alan T. DeKok [Fri, 3 Apr 2026 16:58:54 +0000 (12:58 -0400)] 
port attributes from v3.2.x

10 days agochange '-r file' to '-o file'
Alan T. DeKok [Fri, 3 Apr 2026 16:53:36 +0000 (12:53 -0400)] 
change '-r file' to '-o file'

the default is to assume that '-r file' means "read file".
Instead, it means "destroy that file", which is unfriendly.

10 days agothese don't need to be exported
Alan T. DeKok [Fri, 3 Apr 2026 16:38:53 +0000 (12:38 -0400)] 
these don't need to be exported

10 days agoclean up RADIUS TCP handler.
Alan T. DeKok [Fri, 3 Apr 2026 12:23:07 +0000 (08:23 -0400)] 
clean up RADIUS TCP handler.

* check length in header and close if the header length is invalid
* use the master IO allow / deny trie API, instead of rolling
  our own

10 days agoasserts and checks when printing log messages
Alan T. DeKok [Fri, 3 Apr 2026 12:22:38 +0000 (08:22 -0400)] 
asserts and checks when printing log messages

10 days agoCancelling is really an error
Nick Porter [Fri, 3 Apr 2026 14:06:56 +0000 (15:06 +0100)] 
Cancelling is really an error

And this populates Module-Failure-Message so logs can report what
happened.

10 days agoImprove comment
Nick Porter [Fri, 3 Apr 2026 14:04:47 +0000 (15:04 +0100)] 
Improve comment

10 days agoAdd %tacacs.verify.secret for verification in new client section
Nick Porter [Fri, 3 Apr 2026 14:04:10 +0000 (15:04 +0100)] 
Add %tacacs.verify.secret for verification in new client section

10 days agocatch more corner cases
Alan T. DeKok [Fri, 3 Apr 2026 11:28:53 +0000 (07:28 -0400)] 
catch more corner cases

10 days agocancel includes the current depth
Alan T. DeKok [Fri, 3 Apr 2026 11:23:29 +0000 (07:23 -0400)] 
cancel includes the current depth

11 days agovarious minor tweaks to unlang compiler
Alan T. DeKok [Thu, 2 Apr 2026 19:54:21 +0000 (15:54 -0400)] 
various minor tweaks to unlang compiler

11 days agomake certificates more quietly
Alan T. DeKok [Thu, 2 Apr 2026 19:35:48 +0000 (15:35 -0400)] 
make certificates more quietly

11 days agofree secret before over-writing it
Alan T. DeKok [Thu, 2 Apr 2026 13:14:22 +0000 (09:14 -0400)] 
free secret before over-writing it

11 days agocheck return code of openss3_init()
Alan T. DeKok [Thu, 2 Apr 2026 13:13:35 +0000 (09:13 -0400)] 
check return code of openss3_init()

11 days agoupdate macro to allow things checking it
Alan T. DeKok [Thu, 2 Apr 2026 13:13:09 +0000 (09:13 -0400)] 
update macro to allow things checking it

11 days agocorrect comparison
Alan T. DeKok [Thu, 2 Apr 2026 13:12:35 +0000 (09:12 -0400)] 
correct comparison

in practice, this won't happen, but it's good to fix

11 days agofree packets on error
Alan T. DeKok [Thu, 2 Apr 2026 13:11:44 +0000 (09:11 -0400)] 
free packets on error

11 days agofix typo
Alan T. DeKok [Thu, 2 Apr 2026 13:11:06 +0000 (09:11 -0400)] 
fix typo

11 days agouse correct request for removal from the CoA tree
Alan T. DeKok [Thu, 2 Apr 2026 13:09:53 +0000 (09:09 -0400)] 
use correct request for removal from the CoA tree

11 days agoset timers to remaining.
Alan T. DeKok [Thu, 2 Apr 2026 13:09:16 +0000 (09:09 -0400)] 
set timers to remaining.

@todo - just use fr_retry_t

11 days agodocs-v4: added more syntax examples for <type> field.
nolade [Wed, 1 Apr 2026 21:27:40 +0000 (17:27 -0400)] 
docs-v4: added more syntax examples for <type> field.

11 days agotweak / rename "force module return code"
Alan T. DeKok [Thu, 2 Apr 2026 09:30:24 +0000 (05:30 -0400)] 
tweak / rename "force module return code"

11 days agodocs-v4: added 5 more instances (disallow, handled, invalid, notfound, updated) used...
nolade [Wed, 1 Apr 2026 21:06:37 +0000 (17:06 -0400)] 
docs-v4: added 5 more instances (disallow, handled, invalid, notfound, updated) used by `always` module

11 days agofix typo
Alan T. DeKok [Thu, 2 Apr 2026 09:29:28 +0000 (05:29 -0400)] 
fix typo

11 days agomash <1us (and negative) to zero for timeout
Alan T. DeKok [Thu, 2 Apr 2026 09:26:09 +0000 (05:26 -0400)] 
mash <1us (and negative) to zero for timeout

11 days agodocs-v4: wordsmiting 1st paragraph to clearly explain `return` versus `break`
nolade [Wed, 1 Apr 2026 20:24:08 +0000 (16:24 -0400)] 
docs-v4: wordsmiting 1st paragraph to clearly explain `return` versus `break`

11 days agodocs-v4: added info re: `default` keyword, added `parallel` info, updated nav file
nolade [Wed, 1 Apr 2026 19:21:26 +0000 (15:21 -0400)] 
docs-v4: added info re: `default` keyword, added `parallel` info, updated nav file

12 days agolocal variables are now alloed.
Alan T. DeKok [Wed, 1 Apr 2026 17:41:24 +0000 (13:41 -0400)] 
local variables are now alloed.

12 days agodocs-v4: added subrequest & policy to list of where local vars can be used, fixed...
nolade [Wed, 1 Apr 2026 14:45:37 +0000 (10:45 -0400)] 
docs-v4: added subrequest & policy to list of where local vars can be used, fixed typo

12 days agoallow certs to be made quietly
Alan T. DeKok [Wed, 1 Apr 2026 15:40:00 +0000 (11:40 -0400)] 
allow certs to be made quietly

because the CI output is polluted with tons of OpenSSL output,
and we don't need to see that.

12 days agoLook up in client tree, even if we have a cached entry. Fixes #5676
Shang Chieh Tseng [Wed, 1 Apr 2026 15:25:32 +0000 (11:25 -0400)] 
Look up in client tree, even if we have a cached entry.  Fixes #5676

When the per-thread client trie has a cached entry from a broad
subnet (e.g. /8), it shadows more specific client definitions
(e.g. /24) for subsequent connections.  This causes the wrong
shared secret to be used, breaking packet authentication (RADIUS)
or decryption (TACACS+).

After the trie lookup returns a cached client, verify it against
the global client list.  If a more specific match exists, discard
the cached result so the existing code path does a fresh lookup
and caches the correct client.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
12 days agoclarify outer vs parent issues
Alan T. DeKok [Wed, 1 Apr 2026 15:19:11 +0000 (11:19 -0400)] 
clarify outer vs parent issues

12 days agotypo
Alan T. DeKok [Wed, 1 Apr 2026 14:48:00 +0000 (10:48 -0400)] 
typo

12 days agodocs-v4: continue integrity check - added more details about breaking out of a `forea...
nolade [Tue, 31 Mar 2026 17:52:45 +0000 (13:52 -0400)] 
docs-v4: continue integrity check - added more details about breaking out of a `foreach` loop

12 days agodoc-v4: fix broken xref to list editing operators, replace update statement with...
nolade [Tue, 31 Mar 2026 18:44:43 +0000 (14:44 -0400)] 
doc-v4: fix broken xref to list editing operators, replace update statement with subrequest.

12 days agodocs-v4: Update integrity check - fixed typos.syntax`
nolade [Tue, 31 Mar 2026 19:54:49 +0000 (15:54 -0400)] 
docs-v4: Update integrity check - fixed typos.syntax`

12 days agodocs-v4: Integrity check and updated case, default, and switch pages with v4 syntax...
nolade [Tue, 24 Mar 2026 15:03:17 +0000 (11:03 -0400)] 
docs-v4: Integrity check and updated case, default, and switch pages with v4 syntax and behaviour

12 days agodocs-v4: intergrity check of edit page - update no longer used.
nolade [Tue, 24 Mar 2026 14:01:48 +0000 (10:01 -0400)] 
docs-v4: intergrity check of edit page - update no longer used.

12 days agotweak formatting and add "finally" keyword
Alan T. DeKok [Tue, 31 Mar 2026 11:40:40 +0000 (07:40 -0400)] 
tweak formatting and add "finally" keyword

12 days agodocs-v4: if-else-elsif integrity check - fixed typos, syntax, and added failed condit...
nolade [Mon, 30 Mar 2026 20:13:03 +0000 (16:13 -0400)] 
docs-v4: if-else-elsif integrity check - fixed typos, syntax, and added failed condition triggers