]> git.ipfire.org Git - thirdparty/freeradius-server.git/log
thirdparty/freeradius-server.git
3 months agoAdded documentation for trigger_exec
ewelsh-inkbridge [Tue, 1 Jul 2025 19:35:04 +0000 (15:35 -0400)] 
Added documentation for trigger_exec

3 months agoupdate docs for parallel for intended behavior
Alan T. DeKok [Fri, 4 Jul 2025 14:11:06 +0000 (10:11 -0400)] 
update docs for parallel for intended behavior

3 months agohoist "set default actions"
Alan T. DeKok [Thu, 3 Jul 2025 19:22:53 +0000 (15:22 -0400)] 
hoist "set default actions"

so that it's done in only one place

and then since we're cleaning things up, do a bit more work
on unlang_compile_children()

3 months agounlang_register() no longer needs a type argument
Alan T. DeKok [Thu, 3 Jul 2025 19:02:37 +0000 (15:02 -0400)] 
unlang_register() no longer needs a type argument

the type is now in the unlang_op_t.  And even that will be removed.

also reformat for consistency.

and add unlang_t size and name for each instruction

3 months agoremove debugging
Alan T. DeKok [Fri, 4 Jul 2025 15:20:26 +0000 (11:20 -0400)] 
remove debugging

3 months agomove keyword compile_foo() to foo.c
Alan T. DeKok [Thu, 3 Jul 2025 17:24:30 +0000 (13:24 -0400)] 
move keyword compile_foo() to foo.c

mostly. compile_edit(), compile_tmpl(), compile_module(), and
compile_function() are still in compile.c

Many helper functions are exported in interpret_priv.h.  Some of
those should be cleaned up / renamed / un-exported.

The function names could likely be cleaned up.  Much of the code
uses unlang_foo() for private functions.  It should arguably use
private function names.

The unlang_register() function takes a type as both a function
argument, and as a field in unlang_op_t.  Fixing that will require
changing instruction->type to instruction->op in the interpreter,
which should be a next step.

The hash function is just fr_hash().  We should arguably come up
with a perfect hash for the keywords, which will help simplify
the lookups.

3 months agopoint to correct function
Alan T. DeKok [Thu, 3 Jul 2025 17:18:20 +0000 (13:18 -0400)] 
point to correct function

4 months agolink in "next"
Alan T. DeKok [Thu, 3 Jul 2025 15:57:11 +0000 (11:57 -0400)] 
link in "next"

4 months agoUpdate and format. Manual merge of #5618
Alan T. DeKok [Wed, 2 Jul 2025 18:19:13 +0000 (14:19 -0400)] 
Update and format.  Manual merge of #5618

4 months agonotes on multiple return codes
Alan T. DeKok [Wed, 2 Jul 2025 18:15:49 +0000 (14:15 -0400)] 
notes on multiple return codes

4 months agomore trigger fixes.
Alan T. DeKok [Tue, 1 Jul 2025 21:39:46 +0000 (17:39 -0400)] 
more trigger fixes.

allow back-ticks for exec, and run the exec tmpl type

4 months agoallocate a main loop, so that triggers can use it
Alan T. DeKok [Wed, 2 Jul 2025 11:52:01 +0000 (07:52 -0400)] 
allocate a main loop, so that triggers can use it

4 months agoassert when we enter the tokenize function, not later
Alan T. DeKok [Wed, 2 Jul 2025 11:48:35 +0000 (07:48 -0400)] 
assert when we enter the tokenize function, not later

when we call xlat_finalize().  This helps to hoist errors earlier
in the call flow.

4 months ago"frame" is not talloc'd
Alan T. DeKok [Wed, 2 Jul 2025 11:48:22 +0000 (07:48 -0400)] 
"frame" is not talloc'd

4 months agoTMPL_TYPE_EXEC can have xlats, too
Alan T. DeKok [Tue, 1 Jul 2025 21:04:11 +0000 (17:04 -0400)] 
TMPL_TYPE_EXEC can have xlats, too

4 months agouse the local thread interpreter here, too
Alan T. DeKok [Tue, 1 Jul 2025 18:41:18 +0000 (14:41 -0400)] 
use the local thread interpreter here, too

4 months agoAdd note on SQLite WAL
Nick Porter [Wed, 2 Jul 2025 09:50:34 +0000 (10:50 +0100)] 
Add note on SQLite WAL

4 months agoOnly the top level bio needs to be shut down
Nick Porter [Wed, 2 Jul 2025 09:33:52 +0000 (10:33 +0100)] 
Only the top level bio needs to be shut down

4 months agoEnsure request is runnable after error
Nick Porter [Wed, 2 Jul 2025 08:56:29 +0000 (09:56 +0100)] 
Ensure request is runnable after error

4 months agoAvoid producing stateful cache entries when TLS 1.3 is negotiated
Nick Porter [Tue, 1 Jul 2025 16:58:32 +0000 (17:58 +0100)] 
Avoid producing stateful cache entries when TLS 1.3 is negotiated

4 months agoallow xlats in triggers, and update tests to match
Alan T. DeKok [Tue, 1 Jul 2025 16:55:17 +0000 (12:55 -0400)] 
allow xlats in triggers, and update tests to match

4 months agoSimplify configuration of EPEL / CRB
Nick Porter [Tue, 1 Jul 2025 16:32:00 +0000 (17:32 +0100)] 
Simplify configuration of EPEL / CRB

PowerTools was the pre-RHEL 9 repo name

4 months agoShutdown bios when closing the connection
Nick Porter [Tue, 1 Jul 2025 16:30:38 +0000 (17:30 +0100)] 
Shutdown bios when closing the connection

4 months agoRemove unsed attrs and dict
Nick Porter [Tue, 1 Jul 2025 12:56:51 +0000 (13:56 +0100)] 
Remove unsed attrs and dict

4 months agominor cleanups on trigger code
Alan T. DeKok [Tue, 1 Jul 2025 14:48:49 +0000 (10:48 -0400)] 
minor cleanups on trigger code

don't allow triggers to be specified from the root of the config.
They MUST be within a trigger{...} section.

4 months agoreset destructor on shutdown
Alan T. DeKok [Tue, 1 Jul 2025 15:44:48 +0000 (11:44 -0400)] 
reset destructor on shutdown

4 months agoDon't create Module-Failure-Message instances with passwords when debug < 3
Nick Porter [Tue, 1 Jul 2025 10:44:29 +0000 (11:44 +0100)] 
Don't create Module-Failure-Message instances with passwords when debug < 3

REDEBUGn() creates the pair regardless of the debug level

4 months agoAlign Docker build setup with Crossbuild
Nick Porter [Tue, 1 Jul 2025 10:38:24 +0000 (11:38 +0100)] 
Align Docker build setup with Crossbuild

4 months agoDon't call fr_tls_session_async_handshake_push when sending application data
Nick Porter [Tue, 1 Jul 2025 09:57:52 +0000 (10:57 +0100)] 
Don't call fr_tls_session_async_handshake_push when sending application data

4 months agoAdd dynamic_timeout
Nick Porter [Mon, 30 Jun 2025 12:55:45 +0000 (13:55 +0100)] 
Add dynamic_timeout

To separate timeout of connected clients from dynamic clients.

Dynamic client definitions often want long(ish) lifetimes to avoid
repeated verifications of the same client.

4 months agomove unlang_ext_t fields to unlang_op_t
Alan T. DeKok [Mon, 30 Jun 2025 16:09:25 +0000 (12:09 -0400)] 
move unlang_ext_t fields to unlang_op_t

in preparation for adding function-style arguments to keywords

4 months agojust pass xlat_arg_parser_t*, not xlat_t*
Alan T. DeKok [Mon, 30 Jun 2025 10:11:07 +0000 (06:11 -0400)] 
just pass xlat_arg_parser_t*, not xlat_t*

the argument parser only needs the arguments, and not the rest
of the function definition

4 months agoprint out size of unlang structs, too
Alan T. DeKok [Sun, 29 Jun 2025 17:47:52 +0000 (13:47 -0400)] 
print out size of unlang structs, too

4 months agorearrange for syntax change
Alan T. DeKok [Sun, 29 Jun 2025 10:38:55 +0000 (06:38 -0400)] 
rearrange for syntax change

4 months agoEnsure we only fetch one URL
Nick Porter [Mon, 30 Jun 2025 11:17:39 +0000 (12:17 +0100)] 
Ensure we only fetch one URL

4 months agoAdd Cisco VSA 90
Nick Porter [Mon, 30 Jun 2025 09:58:02 +0000 (10:58 +0100)] 
Add Cisco VSA 90

Found in
https://www.cisco.com/c/en/us/td/docs/routers/asr9000/software/710x/bng/configuration/guide/b-bng-cg-asr9000-710x/radius-attributes.pdf

4 months agorearrange in preparation for function arguments
Alan T. DeKok [Sat, 28 Jun 2025 15:11:41 +0000 (11:11 -0400)] 
rearrange in preparation for function arguments

4 months agoFix test now emailAddress is in the dictionary
Nick Porter [Fri, 27 Jun 2025 18:59:23 +0000 (19:59 +0100)] 
Fix test now emailAddress is in the dictionary

4 months agoAdd dictionary entry for emailAddress in certificate subject
Nick Porter [Fri, 27 Jun 2025 16:34:04 +0000 (17:34 +0100)] 
Add dictionary entry for emailAddress in certificate subject

4 months agoMake fr_der_decode_pair_dbuff a public function
Nick Porter [Fri, 27 Jun 2025 16:33:29 +0000 (17:33 +0100)] 
Make fr_der_decode_pair_dbuff a public function

So the DER decoder can be used from other modules

4 months agoclean up parent/current/frame brace checking
Alan T. DeKok [Fri, 27 Jun 2025 18:01:44 +0000 (14:01 -0400)] 
clean up parent/current/frame brace checking

so that it works by looking at what it's supposed to be looking at,
and not sort of by accident

4 months agofix case where the section already exists
Alan T. DeKok [Fri, 27 Jun 2025 15:49:04 +0000 (11:49 -0400)] 
fix case where the section already exists

and check for dups

4 months agoadd SHUTDOWN error, too
Alan T. DeKok [Thu, 26 Jun 2025 20:42:14 +0000 (16:42 -0400)] 
add SHUTDOWN error, too

4 months agoon fatal error, shutdown the socket.
Alan T. DeKok [Thu, 26 Jun 2025 20:37:53 +0000 (16:37 -0400)] 
on fatal error, shutdown the socket.

don't silently change r/w to functions which don't do anything

4 months agoon shutdown, set r/w to return new SHUTDOWN error
Alan T. DeKok [Thu, 26 Jun 2025 20:37:29 +0000 (16:37 -0400)] 
on shutdown, set r/w to return new SHUTDOWN error

4 months agofix: Resolved issue where CSR's where not having the full subject field decoded since...
Ethan Thompson [Fri, 27 Jun 2025 15:30:12 +0000 (11:30 -0400)] 
fix: Resolved issue where CSR's where not having the full subject field decoded since the dictionary did not denote that it is a sequence of sets. (#5614)

Signed-off-by: ethan-thompson <ethan.thompson@networkradius.com>
4 months agomove UDP check so that it's always run
Alan T. DeKok [Thu, 26 Jun 2025 15:36:38 +0000 (11:36 -0400)] 
move UDP check so that it's always run

4 months agoadd @policy example with pre/post proxy
Alan T. DeKok [Thu, 26 Jun 2025 14:41:43 +0000 (10:41 -0400)] 
add @policy example with pre/post proxy

Hmm... the "conf2adoc" functionality doesn't put the configuration
in-line for @policy statements.  We'll have to edit that, and then
regenerate the examples

4 months agoautomatically set DH parameters for ephemeral keying
Alan T. DeKok [Thu, 26 Jun 2025 14:18:01 +0000 (10:18 -0400)] 
automatically set DH parameters for ephemeral keying

and update sample config / docs to match

4 months agoadd and document example of using @policy for ldap
Alan T. DeKok [Thu, 26 Jun 2025 12:02:15 +0000 (08:02 -0400)] 
add and document example of using @policy for ldap

4 months agoadd documentation on @policy, and TBD for other policies
Alan T. DeKok [Thu, 26 Jun 2025 11:56:01 +0000 (07:56 -0400)] 
add documentation on @policy, and TBD for other policies

4 months agoonly use require_message_authenticator for Access-* packets
Alan T. DeKok [Wed, 25 Jun 2025 22:30:53 +0000 (18:30 -0400)] 
only use require_message_authenticator for Access-* packets

4 months agocheck *received_message_authenticator
Alan T. DeKok [Wed, 25 Jun 2025 22:30:34 +0000 (18:30 -0400)] 
check *received_message_authenticator

4 months agoprint out more information about require_message_authenticator
Alan T. DeKok [Wed, 25 Jun 2025 22:29:05 +0000 (18:29 -0400)] 
print out more information about require_message_authenticator

4 months agoadd assert to catch corner case
Alan T. DeKok [Wed, 25 Jun 2025 22:16:15 +0000 (18:16 -0400)] 
add assert to catch corner case

4 months agoprint out error when we can't sign the packet
Alan T. DeKok [Wed, 25 Jun 2025 22:07:54 +0000 (18:07 -0400)] 
print out error when we can't sign the packet

4 months agotypo
Alan T. DeKok [Wed, 25 Jun 2025 20:22:35 +0000 (16:22 -0400)] 
typo

4 months agoallow @policy foo {...} in module configuration and add test
Alan T. DeKok [Wed, 25 Jun 2025 18:53:47 +0000 (14:53 -0400)] 
allow @policy foo {...} in module configuration and add test

TBH we allow it almost anywhere, but this test is just for
module override

4 months agodon't grab the error
Alan T. DeKok [Wed, 25 Jun 2025 15:14:17 +0000 (11:14 -0400)] 
don't grab the error

4 months agoadd bare "tmpl" key word and tests
Alan T. DeKok [Wed, 25 Jun 2025 15:11:15 +0000 (11:11 -0400)] 
add bare "tmpl" key word and tests

because we didn't have them before.

We also need to go through the condition / xlat tests, and remove
duplication

4 months agoclarify text
Alan T. DeKok [Wed, 25 Jun 2025 10:49:23 +0000 (06:49 -0400)] 
clarify text

4 months agotypo
Alan T. DeKok [Wed, 25 Jun 2025 10:44:41 +0000 (06:44 -0400)] 
typo

4 months agoSimplify includes
Nick Porter [Wed, 25 Jun 2025 17:50:36 +0000 (18:50 +0100)] 
Simplify includes

4 months agoMove SQLite busy timeout to be a driver option
Nick Porter [Wed, 25 Jun 2025 13:13:42 +0000 (14:13 +0100)] 
Move SQLite busy timeout to be a driver option

This is a specific kind of timeout - how long to wait for database locks
to be released.

Due to SQLite's very basic locking, it's easy for multiple update
requests to conflict.  This provides a more graceful way to handle the
locks.

4 months agoSet query_ctx->status to ensure clearup happens
Nick Porter [Wed, 25 Jun 2025 12:58:06 +0000 (13:58 +0100)] 
Set query_ctx->status to ensure clearup happens

4 months agoReport the error SQLite returned
Nick Porter [Wed, 25 Jun 2025 12:56:34 +0000 (13:56 +0100)] 
Report the error SQLite returned

4 months agoClear up prepared query if it fails
Nick Porter [Wed, 25 Jun 2025 11:31:06 +0000 (12:31 +0100)] 
Clear up prepared query if it fails

4 months agosqlite3_busy_timeout takes ms not s
Nick Porter [Wed, 25 Jun 2025 10:25:13 +0000 (11:25 +0100)] 
sqlite3_busy_timeout takes ms not s

4 months agoWrap perl_clone() call in a mutex
Nick Porter [Wed, 25 Jun 2025 09:07:23 +0000 (10:07 +0100)] 
Wrap perl_clone() call in a mutex

It appears to not be safe to have multiple threads clone the same
inst->perl at the same time.

4 months agoDeal with call env expansion failures correctly
Arran Cudbard-Bell [Wed, 25 Jun 2025 22:47:46 +0000 (18:47 -0400)] 
Deal with call env expansion failures correctly

4 months agoprintf_push is not the correct function to use in RADIUS network functions, and resul...
Arran Cudbard-Bell [Wed, 25 Jun 2025 21:52:53 +0000 (17:52 -0400)] 
printf_push is not the correct function to use in RADIUS network functions, and results in garbage errors

4 months agoFix arguments to log message in LDAP
Arran Cudbard-Bell [Wed, 25 Jun 2025 21:25:02 +0000 (17:25 -0400)] 
Fix arguments to log message in LDAP

4 months agodocs: Update Concepts section and rearrange directory structure.
nolade [Fri, 13 Jun 2025 22:47:08 +0000 (18:47 -0400)] 
docs: Update Concepts section and rearrange directory structure.
- New intro/landing page, xrefs to link with other sections in docs.
- Added components section to include server, nas, datastore info
- Added radius session/message/processing sections.docs:
- Rename Module >> Protocol>> LDAP section to Authentication with LDAP and added relevant subsections

4 months agodocs: Update Concept section as top-level section, intro/landing page, xrefs. Added...
nolade [Tue, 27 May 2025 19:02:25 +0000 (15:02 -0400)] 
docs: Update Concept section as top-level section, intro/landing page, xrefs. Added components section to include server, nas, datastore infoi and radius session/message/processing sections.docs: update concepts and radius components section

4 months agoUse OUTPUT_DIR in rlm_crl tests for certs and crls
Nick Porter [Mon, 23 Jun 2025 08:02:57 +0000 (09:02 +0100)] 
Use OUTPUT_DIR in rlm_crl tests for certs and crls

4 months agoAdd OUTPUT_DIR env var to module tests
Nick Porter [Mon, 23 Jun 2025 07:59:46 +0000 (08:59 +0100)] 
Add OUTPUT_DIR env var to module tests

So it can easily be referred to in FR policy

4 months agoUse %file.cat() to read test crls
Nick Porter [Sat, 21 Jun 2025 17:15:31 +0000 (18:15 +0100)] 
Use %file.cat() to read test crls

4 months agoEnsure fd is closed on all error paths
Nick Porter [Sat, 21 Jun 2025 17:13:45 +0000 (18:13 +0100)] 
Ensure fd is closed on all error paths

4 months agoMinor fixes for cat xlat
Arran Cudbard-Bell [Fri, 20 Jun 2025 21:36:12 +0000 (17:36 -0400)] 
Minor fixes for cat xlat

4 months agoAdd %file.cat() xlat
Nick Porter [Fri, 20 Jun 2025 17:23:47 +0000 (18:23 +0100)] 
Add %file.cat() xlat

4 months agoReturn noop if the certificate does not contain a CRL dist point
Nick Porter [Fri, 20 Jun 2025 15:43:08 +0000 (16:43 +0100)] 
Return noop if the certificate does not contain a CRL dist point

4 months agoAdd ftp:// support to rlm_crl
Nick Porter [Fri, 20 Jun 2025 14:00:08 +0000 (15:00 +0100)] 
Add ftp:// support to rlm_crl

4 months agoAdd rlm_ftp
Nick Porter [Fri, 20 Jun 2025 13:45:26 +0000 (14:45 +0100)] 
Add rlm_ftp

Only provides `%ftp.get()` at present

4 months agoAdd %ldap and %ldap.profile notes to sample module config
Nick Porter [Fri, 20 Jun 2025 13:15:11 +0000 (14:15 +0100)] 
Add %ldap and %ldap.profile notes to sample module config

4 months agoCorrect search for default profile
Nick Porter [Thu, 19 Jun 2025 19:23:33 +0000 (20:23 +0100)] 
Correct search for default profile

4 months agoTrack whether attribute changes have happended to return the correct rcode
Nick Porter [Thu, 19 Jun 2025 18:42:54 +0000 (19:42 +0100)] 
Track whether attribute changes have happended to return the correct rcode

Since there are lots of async LDAP calls which can occur during
mod_authorize, some of which can legitimately return "notfound", we need
to record whether any of the states which could have updated attributes
actually did, so that:

 - object not found -> notfound
 - object found, no attriubtes updated -> ok
 - attriubtes updated -> updated

4 months agoCorrect return here as well
Nick Porter [Thu, 19 Jun 2025 17:19:50 +0000 (18:19 +0100)] 
Correct return here as well

4 months agoReturn UNLANG_ACTION_PUSHED_CHILD if a new frame is pushed
Nick Porter [Thu, 19 Jun 2025 16:47:03 +0000 (17:47 +0100)] 
Return UNLANG_ACTION_PUSHED_CHILD if a new frame is pushed

4 months agoCorrect way to handle result_p for detached subrequests
Nick Porter [Thu, 19 Jun 2025 13:25:29 +0000 (14:25 +0100)] 
Correct way to handle result_p for detached subrequests

4 months agoTidy rpm Dockerfiles
Nick Porter [Thu, 19 Jun 2025 10:09:10 +0000 (11:09 +0100)] 
Tidy rpm Dockerfiles

Removing conditional components related to non-supported platforms

4 months agoNewer docker is fussy about case
Nick Porter [Thu, 19 Jun 2025 09:53:01 +0000 (10:53 +0100)] 
Newer docker is fussy about case

4 months agoAdd Rocky 10 to Crossbuild tests
Nick Porter [Thu, 19 Jun 2025 09:45:20 +0000 (10:45 +0100)] 
Add Rocky 10 to Crossbuild tests

4 months agoRemove unsupported platforms from Docker data
Nick Porter [Thu, 19 Jun 2025 09:33:58 +0000 (10:33 +0100)] 
Remove unsupported platforms from Docker data

4 months agoAdd Rocky 10 to Docker builds
Nick Porter [Thu, 19 Jun 2025 09:32:19 +0000 (10:32 +0100)] 
Add Rocky 10 to Docker builds

4 months agoAdd Rocky 10 to rpm CI tests
Nick Porter [Thu, 19 Jun 2025 09:25:12 +0000 (10:25 +0100)] 
Add Rocky 10 to rpm CI tests

4 months agoCheck rcode is in the acceptable range (CID #1649513)
Nick Porter [Thu, 19 Jun 2025 08:23:45 +0000 (09:23 +0100)] 
Check rcode is in the acceptable range (CID #1649513)

4 months agoPacify Coverity (CID #1649515, #1649514 and #1649512)
Nick Porter [Thu, 19 Jun 2025 08:14:35 +0000 (09:14 +0100)] 
Pacify Coverity (CID #1649515, #1649514 and #1649512)

4 months agoEnsure detached requests don't try to access results in the parent
Nick Porter [Thu, 19 Jun 2025 08:03:36 +0000 (09:03 +0100)] 
Ensure detached requests don't try to access results in the parent

4 months agoAdd allow_core_dumps = yes to more test server configs for debugging
Nick Porter [Thu, 19 Jun 2025 07:53:38 +0000 (08:53 +0100)] 
Add allow_core_dumps = yes to more test server configs for debugging

4 months agoframe->state is not always populated
Nick Porter [Thu, 19 Jun 2025 07:21:10 +0000 (08:21 +0100)] 
frame->state is not always populated