]> git.ipfire.org Git - thirdparty/freeradius-server.git/log
thirdparty/freeradius-server.git
5 weeks agolet's take the result back up the stack
Alan T. DeKok [Mon, 7 Jul 2025 16:07:18 +0000 (12:07 -0400)] 
let's take the result back up the stack

5 weeks agobetter debug output and clarifications
Alan T. DeKok [Mon, 7 Jul 2025 16:01:24 +0000 (12:01 -0400)] 
better debug output and clarifications

5 weeks agoUse module name in custom call_env_parse functions
Nick Porter [Mon, 7 Jul 2025 15:12:53 +0000 (16:12 +0100)] 
Use module name in custom call_env_parse functions

So call_env_parse() can be made public

5 weeks agoAdd checks that tmpl expansion created a value
Nick Porter [Mon, 7 Jul 2025 15:03:47 +0000 (16:03 +0100)] 
Add checks that tmpl expansion created a value

5 weeks agoIf the query tmpl did not expand, fail the module call
Nick Porter [Mon, 7 Jul 2025 13:38:43 +0000 (14:38 +0100)] 
If the query tmpl did not expand, fail the module call

5 weeks agoMore consistent handling of dcursors in xlat args
Nick Porter [Mon, 7 Jul 2025 08:24:00 +0000 (09:24 +0100)] 
More consistent handling of dcursors in xlat args

xlat_frame_eval doesn't know if the arg is required, so if no pairs are
matched, allow a cursor to be returned.
Then xlat_process_arg_list can do the right thing depending on whether
the argument is required or not.

5 weeks agoSpelling
Nick Porter [Thu, 3 Jul 2025 07:43:51 +0000 (08:43 +0100)] 
Spelling

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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