]>
git.ipfire.org Git - thirdparty/freeradius-server.git/log
Alan T. DeKok [Mon, 7 Jul 2025 16:07:18 +0000 (12:07 -0400)]
let's take the result back up the stack
Alan T. DeKok [Mon, 7 Jul 2025 16:01:24 +0000 (12:01 -0400)]
better debug output and clarifications
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
Nick Porter [Mon, 7 Jul 2025 15:03:47 +0000 (16:03 +0100)]
Add checks that tmpl expansion created a value
Nick Porter [Mon, 7 Jul 2025 13:38:43 +0000 (14:38 +0100)]
If the query tmpl did not expand, fail the module call
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.
Nick Porter [Thu, 3 Jul 2025 07:43:51 +0000 (08:43 +0100)]
Spelling
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
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
Alan T. DeKok [Sun, 6 Jul 2025 13:26:23 +0000 (09:26 -0400)]
failed cast is fail, not OK
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.
ewelsh-inkbridge [Tue, 1 Jul 2025 19:35:04 +0000 (15:35 -0400)]
Added documentation for trigger_exec
Alan T. DeKok [Fri, 4 Jul 2025 14:11:06 +0000 (10:11 -0400)]
update docs for parallel for intended behavior
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()
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
Alan T. DeKok [Fri, 4 Jul 2025 15:20:26 +0000 (11:20 -0400)]
remove debugging
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.
Alan T. DeKok [Thu, 3 Jul 2025 17:18:20 +0000 (13:18 -0400)]
point to correct function
Alan T. DeKok [Thu, 3 Jul 2025 15:57:11 +0000 (11:57 -0400)]
link in "next"
Alan T. DeKok [Wed, 2 Jul 2025 18:19:13 +0000 (14:19 -0400)]
Update and format. Manual merge of #5618
Alan T. DeKok [Wed, 2 Jul 2025 18:15:49 +0000 (14:15 -0400)]
notes on multiple return codes
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
Alan T. DeKok [Wed, 2 Jul 2025 11:52:01 +0000 (07:52 -0400)]
allocate a main loop, so that triggers can use it
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.
Alan T. DeKok [Wed, 2 Jul 2025 11:48:22 +0000 (07:48 -0400)]
"frame" is not talloc'd
Alan T. DeKok [Tue, 1 Jul 2025 21:04:11 +0000 (17:04 -0400)]
TMPL_TYPE_EXEC can have xlats, too
Alan T. DeKok [Tue, 1 Jul 2025 18:41:18 +0000 (14:41 -0400)]
use the local thread interpreter here, too
Nick Porter [Wed, 2 Jul 2025 09:50:34 +0000 (10:50 +0100)]
Add note on SQLite WAL
Nick Porter [Wed, 2 Jul 2025 09:33:52 +0000 (10:33 +0100)]
Only the top level bio needs to be shut down
Nick Porter [Wed, 2 Jul 2025 08:56:29 +0000 (09:56 +0100)]
Ensure request is runnable after error
Nick Porter [Tue, 1 Jul 2025 16:58:32 +0000 (17:58 +0100)]
Avoid producing stateful cache entries when TLS 1.3 is negotiated
Alan T. DeKok [Tue, 1 Jul 2025 16:55:17 +0000 (12:55 -0400)]
allow xlats in triggers, and update tests to match
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
Nick Porter [Tue, 1 Jul 2025 16:30:38 +0000 (17:30 +0100)]
Shutdown bios when closing the connection
Nick Porter [Tue, 1 Jul 2025 12:56:51 +0000 (13:56 +0100)]
Remove unsed attrs and dict
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.
Alan T. DeKok [Tue, 1 Jul 2025 15:44:48 +0000 (11:44 -0400)]
reset destructor on shutdown
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
Nick Porter [Tue, 1 Jul 2025 10:38:24 +0000 (11:38 +0100)]
Align Docker build setup with Crossbuild
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
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.
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
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
Alan T. DeKok [Sun, 29 Jun 2025 17:47:52 +0000 (13:47 -0400)]
print out size of unlang structs, too
Alan T. DeKok [Sun, 29 Jun 2025 10:38:55 +0000 (06:38 -0400)]
rearrange for syntax change
Nick Porter [Mon, 30 Jun 2025 11:17:39 +0000 (12:17 +0100)]
Ensure we only fetch one URL
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
Alan T. DeKok [Sat, 28 Jun 2025 15:11:41 +0000 (11:11 -0400)]
rearrange in preparation for function arguments
Nick Porter [Fri, 27 Jun 2025 18:59:23 +0000 (19:59 +0100)]
Fix test now emailAddress is in the dictionary
Nick Porter [Fri, 27 Jun 2025 16:34:04 +0000 (17:34 +0100)]
Add dictionary entry for emailAddress in certificate subject
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
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
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
Alan T. DeKok [Thu, 26 Jun 2025 20:42:14 +0000 (16:42 -0400)]
add SHUTDOWN error, too
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
Alan T. DeKok [Thu, 26 Jun 2025 20:37:29 +0000 (16:37 -0400)]
on shutdown, set r/w to return new SHUTDOWN error
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>
Alan T. DeKok [Thu, 26 Jun 2025 15:36:38 +0000 (11:36 -0400)]
move UDP check so that it's always run
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
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
Alan T. DeKok [Thu, 26 Jun 2025 12:02:15 +0000 (08:02 -0400)]
add and document example of using @policy for ldap
Alan T. DeKok [Thu, 26 Jun 2025 11:56:01 +0000 (07:56 -0400)]
add documentation on @policy, and TBD for other policies
Alan T. DeKok [Wed, 25 Jun 2025 22:30:53 +0000 (18:30 -0400)]
only use require_message_authenticator for Access-* packets
Alan T. DeKok [Wed, 25 Jun 2025 22:30:34 +0000 (18:30 -0400)]
check *received_message_authenticator
Alan T. DeKok [Wed, 25 Jun 2025 22:29:05 +0000 (18:29 -0400)]
print out more information about require_message_authenticator
Alan T. DeKok [Wed, 25 Jun 2025 22:16:15 +0000 (18:16 -0400)]
add assert to catch corner case
Alan T. DeKok [Wed, 25 Jun 2025 22:07:54 +0000 (18:07 -0400)]
print out error when we can't sign the packet
Alan T. DeKok [Wed, 25 Jun 2025 20:22:35 +0000 (16:22 -0400)]
typo
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
Alan T. DeKok [Wed, 25 Jun 2025 15:14:17 +0000 (11:14 -0400)]
don't grab the error
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
Alan T. DeKok [Wed, 25 Jun 2025 10:49:23 +0000 (06:49 -0400)]
clarify text
Alan T. DeKok [Wed, 25 Jun 2025 10:44:41 +0000 (06:44 -0400)]
typo
Nick Porter [Wed, 25 Jun 2025 17:50:36 +0000 (18:50 +0100)]
Simplify includes
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.
Nick Porter [Wed, 25 Jun 2025 12:58:06 +0000 (13:58 +0100)]
Set query_ctx->status to ensure clearup happens
Nick Porter [Wed, 25 Jun 2025 12:56:34 +0000 (13:56 +0100)]
Report the error SQLite returned
Nick Porter [Wed, 25 Jun 2025 11:31:06 +0000 (12:31 +0100)]
Clear up prepared query if it fails
Nick Porter [Wed, 25 Jun 2025 10:25:13 +0000 (11:25 +0100)]
sqlite3_busy_timeout takes ms not s
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.
Arran Cudbard-Bell [Wed, 25 Jun 2025 22:47:46 +0000 (18:47 -0400)]
Deal with call env expansion failures correctly
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
Arran Cudbard-Bell [Wed, 25 Jun 2025 21:25:02 +0000 (17:25 -0400)]
Fix arguments to log message in LDAP
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
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
Nick Porter [Mon, 23 Jun 2025 08:02:57 +0000 (09:02 +0100)]
Use OUTPUT_DIR in rlm_crl tests for certs and crls
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
Nick Porter [Sat, 21 Jun 2025 17:15:31 +0000 (18:15 +0100)]
Use %file.cat() to read test crls
Nick Porter [Sat, 21 Jun 2025 17:13:45 +0000 (18:13 +0100)]
Ensure fd is closed on all error paths
Arran Cudbard-Bell [Fri, 20 Jun 2025 21:36:12 +0000 (17:36 -0400)]
Minor fixes for cat xlat
Nick Porter [Fri, 20 Jun 2025 17:23:47 +0000 (18:23 +0100)]
Add %file.cat() xlat
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
Nick Porter [Fri, 20 Jun 2025 14:00:08 +0000 (15:00 +0100)]
Add ftp:// support to rlm_crl
Nick Porter [Fri, 20 Jun 2025 13:45:26 +0000 (14:45 +0100)]
Add rlm_ftp
Only provides `%ftp.get()` at present
Nick Porter [Fri, 20 Jun 2025 13:15:11 +0000 (14:15 +0100)]
Add %ldap and %ldap.profile notes to sample module config
Nick Porter [Thu, 19 Jun 2025 19:23:33 +0000 (20:23 +0100)]
Correct search for default profile
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
Nick Porter [Thu, 19 Jun 2025 17:19:50 +0000 (18:19 +0100)]
Correct return here as well
Nick Porter [Thu, 19 Jun 2025 16:47:03 +0000 (17:47 +0100)]
Return UNLANG_ACTION_PUSHED_CHILD if a new frame is pushed
Nick Porter [Thu, 19 Jun 2025 13:25:29 +0000 (14:25 +0100)]
Correct way to handle result_p for detached subrequests