]> git.ipfire.org Git - thirdparty/freeradius-server.git/log
thirdparty/freeradius-server.git
11 months agoit turns out that we care if the xlat fails
Alan T. DeKok [Sun, 6 Jul 2025 16:07:01 +0000 (12:07 -0400)] 
it turns out that we care if the xlat fails

so we return an error when that happens

11 months agoquery must exist
Alan T. DeKok [Sun, 6 Jul 2025 13:38:01 +0000 (09:38 -0400)] 
query must exist

otherwise it means that one of the expansions failed, and the
interpreter did not pop the stack.  Instead, it just kept going

11 months agofailed cast is fail, not OK
Alan T. DeKok [Sun, 6 Jul 2025 13:26:23 +0000 (09:26 -0400)] 
failed cast is fail, not OK

11 months agodocs: Add guidelines for documentation for contributors, coders, and me. Update Termi...
nolade [Tue, 6 May 2025 16:03:00 +0000 (12:03 -0400)] 
docs: Add guidelines for documentation for contributors, coders, and me. Update Terminolgy.adoc standardizing on UK/British spelling. Update accessibility section & included more details in other sections.

11 months agoAdded documentation for trigger_exec
ewelsh-inkbridge [Tue, 1 Jul 2025 19:35:04 +0000 (15:35 -0400)] 
Added documentation for trigger_exec

11 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

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

11 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

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

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

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

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

11 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

11 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

11 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

11 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

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

11 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

11 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

11 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

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

11 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

11 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

11 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

11 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

11 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

11 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

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

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

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

11 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

11 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

11 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

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

11 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

11 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

11 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

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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

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

11 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

11 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

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

11 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

11 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

11 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

11 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

11 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

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

11 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

11 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

11 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

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

11 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

11 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

11 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

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

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

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

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

11 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

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

11 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

11 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

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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

12 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

12 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

12 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

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

12 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

12 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

12 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

12 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

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

12 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

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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

12 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

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