]>
git.ipfire.org Git - thirdparty/freeradius-server.git/log
Nick Porter [Mon, 1 Sep 2025 08:40:09 +0000 (09:40 +0100)]
Use correct value for trigger name
Nick Porter [Fri, 29 Aug 2025 17:03:20 +0000 (18:03 +0100)]
Pass trigger_args to trunk_alloc
Nick Porter [Fri, 29 Aug 2025 17:00:41 +0000 (18:00 +0100)]
Add trigger_args to rlm_tacacs
Nick Porter [Fri, 29 Aug 2025 16:50:06 +0000 (17:50 +0100)]
Add trigger_args to rlm_radius
Nick Porter [Fri, 29 Aug 2025 16:29:42 +0000 (17:29 +0100)]
No need for goto error
Nick Porter [Fri, 29 Aug 2025 16:26:33 +0000 (17:26 +0100)]
Add trigger args to rlm_ldap
Nick Porter [Fri, 29 Aug 2025 16:01:13 +0000 (17:01 +0100)]
Add trigger_args to rlm_sql
Nick Porter [Fri, 29 Aug 2025 15:57:57 +0000 (16:57 +0100)]
Add module_trigger_args_build
As a common helper that can be called by modules which use triggers,
especially intended for modules which use trunks.
Nick Porter [Fri, 29 Aug 2025 15:54:04 +0000 (16:54 +0100)]
Add extra internal attributes for triggers
Nick Porter [Fri, 29 Aug 2025 13:37:16 +0000 (14:37 +0100)]
Correct comment
Nick Porter [Fri, 29 Aug 2025 11:00:45 +0000 (12:00 +0100)]
Add trigger_args to trunk
Nick Porter [Fri, 29 Aug 2025 10:52:02 +0000 (11:52 +0100)]
Remove stray &
Nick Porter [Tue, 26 Aug 2025 16:12:26 +0000 (17:12 +0100)]
Allow control of triggers for rlm_redis_* using a conf option
Alan T. DeKok [Tue, 26 Aug 2025 14:16:57 +0000 (10:16 -0400)]
add a completely bizarre, weird, confusing, and ridiculous dictionary
Alan T. DeKok [Tue, 26 Aug 2025 12:34:26 +0000 (08:34 -0400)]
add more helpful error message
Nick Porter [Tue, 26 Aug 2025 13:58:27 +0000 (14:58 +0100)]
No need for documentation build deps on crossbuild checks
Nick Porter [Tue, 26 Aug 2025 13:18:11 +0000 (14:18 +0100)]
Correct talloc parenting of dynamic radclient
Alan T. DeKok [Tue, 26 Aug 2025 11:41:23 +0000 (07:41 -0400)]
create Event-Timestamp if it doesn't exist
Alan T. DeKok [Tue, 26 Aug 2025 10:47:07 +0000 (06:47 -0400)]
account for Acct-Delay-Time, too
Alan T. DeKok [Mon, 25 Aug 2025 17:25:49 +0000 (13:25 -0400)]
typo
Nick Porter [Mon, 25 Aug 2025 14:44:48 +0000 (15:44 +0100)]
Set box to true if touch succeeds
Nick Porter [Mon, 25 Aug 2025 14:40:24 +0000 (15:40 +0100)]
Add test server environment variables to .vscode launcher
Based on values which match test servers set up by CI server setup
scripts.
Alan T. DeKok [Mon, 25 Aug 2025 14:36:17 +0000 (10:36 -0400)]
update key field based on found struct
Nick Porter [Mon, 25 Aug 2025 14:13:12 +0000 (15:13 +0100)]
Ensure ci is populated
Nick Porter [Mon, 25 Aug 2025 13:55:44 +0000 (14:55 +0100)]
Define %file.touch()
Since it's used by ldap_sync tests
Nick Porter [Mon, 25 Aug 2025 13:19:28 +0000 (14:19 +0100)]
These are freed by freeing request
Nick Porter [Mon, 25 Aug 2025 12:18:03 +0000 (13:18 +0100)]
LDAP and SQL triggers are now driven by trunk code
Which use fixed names of `pool.<trigger name>` rather than
`modules.<module name>.<trigger name>`
Nick Porter [Mon, 25 Aug 2025 12:14:07 +0000 (13:14 +0100)]
WS
Nick Porter [Mon, 25 Aug 2025 12:13:56 +0000 (13:13 +0100)]
Correct comment
Nick Porter [Mon, 25 Aug 2025 12:13:37 +0000 (13:13 +0100)]
Add new MIB for trunk state triggers
Nick Porter [Mon, 25 Aug 2025 10:36:34 +0000 (11:36 +0100)]
Don't attempt to run triggers when there's no event list
Which will happen for any triggers fired late in the shutdown
Nick Porter [Mon, 25 Aug 2025 09:53:52 +0000 (10:53 +0100)]
Set trigger_prefix for rlm_detail
So per-instance triggers can just go in a trigger subsection rather than
in file { trigger { ... } }
Nick Porter [Mon, 25 Aug 2025 09:52:23 +0000 (10:52 +0100)]
If trigger_prefix is defined, use the passed in CONF_SECTION
Allows, for example, rlm_detail, which only outputs to files, to avoid
having to put trigger definitions inside overly nested sections.
Nick Porter [Mon, 25 Aug 2025 09:41:50 +0000 (10:41 +0100)]
Add caching of trigger CONF_PAIRs and trigger undef to exfile
Nick Porter [Mon, 25 Aug 2025 08:11:49 +0000 (09:11 +0100)]
Add optional CONF_PAIR ** argument to trigger()
Allows passing in of known CONF_PAIR and return of found pair, so
triggers which are called often don't have to repeatedly hunt for the
pair.
Nick Porter [Fri, 22 Aug 2025 09:21:38 +0000 (10:21 +0100)]
Make connections triggers optional
Nick Porter [Fri, 22 Aug 2025 09:18:06 +0000 (10:18 +0100)]
Cache when trunk triggers are not found
So we don't hunt for them on every state change.
SQL trunks connections change from ACTIVE to FULL and back on every
query due to the limit of 1 query per connection - so it is unlikely
that triggers would be configured for those states, and caching that
they are not configured saves a lot of conf pair finding.
Nick Porter [Fri, 22 Aug 2025 09:14:15 +0000 (10:14 +0100)]
Make exfile based triggers optional
Otherwise, enabling triggers will cause `rlm_linelog` and `rlm_detail`
to perform a lot of hunting for configured triggers as files are openned
and closed.
Nick Porter [Fri, 22 Aug 2025 09:10:33 +0000 (10:10 +0100)]
Return different values depending on why a trigger was not fired
To allow cacheing of un-defined triggers
Nick Porter [Fri, 22 Aug 2025 07:43:37 +0000 (08:43 +0100)]
Use a conf parser function to find module trunk trigger conf sections
Nick Porter [Thu, 21 Aug 2025 18:17:17 +0000 (19:17 +0100)]
Add CONF_SECTION for trunk connection / request triggers
So modules using trunks can have their own trigger sections.
Nick Porter [Thu, 21 Aug 2025 18:16:16 +0000 (19:16 +0100)]
Move trunk triggers boolean to trunk->conf
Splitting between connection and request and add CONF_PARSER rules to
set the options.
Nick Porter [Thu, 21 Aug 2025 17:24:16 +0000 (18:24 +0100)]
If we find the module "trigger" subsection, use it
Alan T. DeKok [Mon, 25 Aug 2025 12:20:32 +0000 (08:20 -0400)]
minor cleanups and notes
Alan T. DeKok [Mon, 25 Aug 2025 12:19:57 +0000 (08:19 -0400)]
add migration flag for key field transition
there's no configuration for it, but the flag is added automatically
Alan T. DeKok [Mon, 25 Aug 2025 11:34:56 +0000 (07:34 -0400)]
it helps to parse unions here, too
Alan T. DeKok [Sun, 24 Aug 2025 12:12:35 +0000 (08:12 -0400)]
move encode_keyed_struct() to its own function
and remove last vestiges of "flat" encoder
Alan T. DeKok [Sun, 24 Aug 2025 12:04:52 +0000 (08:04 -0400)]
move encode_tlv() to child function
Gerald Vogt [Sun, 24 Aug 2025 12:28:01 +0000 (14:28 +0200)]
run dir is moved to /run (#5636)
Gerald Vogt [Sun, 24 Aug 2025 12:27:38 +0000 (14:27 +0200)]
Use of MemoryLimit is deprecated (#5638)
Alan T. DeKok [Sun, 24 Aug 2025 02:16:43 +0000 (22:16 -0400)]
move generic encode / decode to encode.c and decode.c
Alan T. DeKok [Sun, 24 Aug 2025 02:08:25 +0000 (22:08 -0400)]
tweak loop, so that there are fewer checks inside of the loop
Alan T. DeKok [Sun, 24 Aug 2025 02:05:24 +0000 (22:05 -0400)]
use generic encoder
Alan T. DeKok [Sun, 24 Aug 2025 01:52:33 +0000 (21:52 -0400)]
more use macros instead of hard-coded field checks
which makes it easier to clean up and rearrange the various
fields in fr_dict_attr_flags_t
Alan T. DeKok [Sat, 23 Aug 2025 15:42:52 +0000 (11:42 -0400)]
use macros in more cases
Alan T. DeKok [Sat, 23 Aug 2025 14:45:15 +0000 (10:45 -0400)]
add new macros for length=uint8/16 and use them in dhcpv4/6
and update the checks on the attr_valid() callback to set the
flags in more circumstances
Alan T. DeKok [Sat, 23 Aug 2025 15:41:24 +0000 (11:41 -0400)]
better checks for parent / child lengths
Alan T. DeKok [Sat, 23 Aug 2025 14:43:26 +0000 (10:43 -0400)]
don't assert if we fail to instantiate the dictionaries
continuation of commit
4644f501cf3
Alan T. DeKok [Sat, 23 Aug 2025 11:49:37 +0000 (07:49 -0400)]
create and use generic decode_value() function
which makes the struct decoder a little simpler.
While we're at it, rework the struct decoder to be clearer.
And decode raw values more often, instead of hoisting the raw
pair to the enclosing struct.
Alan T. DeKok [Sat, 23 Aug 2025 12:21:56 +0000 (08:21 -0400)]
make flags.length 16 bits
because fr_dict_attr_flags_t is 8 octets for alignment, so we still
have a few extra bytes to work with
Alan T. DeKok [Thu, 21 Aug 2025 14:52:43 +0000 (10:52 -0400)]
remove unnecessary code which doesn't do anything any more
Alan T. DeKok [Thu, 21 Aug 2025 14:51:48 +0000 (10:51 -0400)]
rearrange in preparation for encoding unions
Nick Porter [Thu, 21 Aug 2025 13:10:15 +0000 (14:10 +0100)]
Module trigger names need to start "modules."
in order to find the correct section in trigger.conf
Nick Porter [Thu, 21 Aug 2025 12:39:50 +0000 (13:39 +0100)]
Report errors from failed SQL queries
Nick Porter [Thu, 21 Aug 2025 10:56:50 +0000 (11:56 +0100)]
If no rows are affected output zero
Rather than no boxes, which just results in warnings when assigning the
xlat output to an attribute
Nick Porter [Thu, 21 Aug 2025 10:47:06 +0000 (11:47 +0100)]
Copy all instances of Module-Failure-Message to outer request
Some failures produce multiple instances and you want all of them when
logging failures
Nick Porter [Thu, 21 Aug 2025 10:45:35 +0000 (11:45 +0100)]
Update docs from raddb
Nick Porter [Thu, 21 Aug 2025 10:41:57 +0000 (11:41 +0100)]
Typo
Nick Porter [Thu, 21 Aug 2025 07:45:44 +0000 (08:45 +0100)]
rlm_ldap doesn't open new connections for each bind
Nick Porter [Thu, 21 Aug 2025 07:44:53 +0000 (08:44 +0100)]
Add triggers to rlm_crl
Nick Porter [Wed, 20 Aug 2025 14:29:04 +0000 (15:29 +0100)]
Timer list is used
Alan T. DeKok [Wed, 20 Aug 2025 15:24:07 +0000 (11:24 -0400)]
add unions to struct decoder
and add test case for it
Alan T. DeKok [Tue, 19 Aug 2025 20:36:34 +0000 (16:36 -0400)]
a union closes its parent struct
for now, unions are all at the end of a struct
Nick Porter [Wed, 20 Aug 2025 14:06:51 +0000 (15:06 +0100)]
Simplify ifdef use
Nick Porter [Wed, 20 Aug 2025 12:04:21 +0000 (13:04 +0100)]
If the rlm_crl mutex is taken due to CRL fetching, reset the timer event
Nick Porter [Wed, 20 Aug 2025 12:05:15 +0000 (13:05 +0100)]
Avoid mutex issues in rlm_crl
If the current thread is fetching a CRL, rather than wait for the mutex, yield the request until the CRL fetching is complete.
Alan T. DeKok [Tue, 19 Aug 2025 19:04:18 +0000 (15:04 -0400)]
add checks for fixed size unions
Alan T. DeKok [Tue, 19 Aug 2025 18:39:40 +0000 (14:39 -0400)]
don't clear is_known_width field, just force it to be set
some types are always known width. Others are only sometimes
known width
Alan T. DeKok [Tue, 19 Aug 2025 17:30:36 +0000 (13:30 -0400)]
move child of union to ATTRIBUTE instead of STRUCT
Nick Porter [Tue, 19 Aug 2025 16:41:18 +0000 (17:41 +0100)]
Capture scope_id populated by fr_socket_bind
scope_id is part of the comparison used to look for conflicting
listners.
If it is left at zero, then multiple interface specific listeners can't
be openned using the address 0.0.0.0 as is needed for handling DHCP
broadcast requests.
Nick Porter [Tue, 19 Aug 2025 16:37:12 +0000 (17:37 +0100)]
Don't throw away discovered IPv4 scope_id
Nick Porter [Tue, 19 Aug 2025 15:32:08 +0000 (16:32 +0100)]
Remove unused code
This was only used by `update`
Alan T. DeKok [Tue, 19 Aug 2025 13:57:44 +0000 (09:57 -0400)]
remove forbid_update and rewrite_update migration flags
the framework is temporarily left in place, so that it can be used
if we need to add more flags. But that should be removed before
a v4 release
Alan T. DeKok [Tue, 19 Aug 2025 13:47:20 +0000 (09:47 -0400)]
remove UPDATE enum
Alan T. DeKok [Tue, 19 Aug 2025 13:42:56 +0000 (09:42 -0400)]
this is no longer a todo
Alan T. DeKok [Tue, 19 Aug 2025 13:37:21 +0000 (09:37 -0400)]
remove "update" handlers
Alan T. DeKok [Tue, 19 Aug 2025 13:44:03 +0000 (09:44 -0400)]
we no longer support update
so we don't need tests for it.
And these tests were not "map" tests, but 'update" tests
Alan T. DeKok [Tue, 19 Aug 2025 12:57:51 +0000 (08:57 -0400)]
remove tests for "update", and tweak docs
Alan T. DeKok [Tue, 19 Aug 2025 12:41:51 +0000 (08:41 -0400)]
do not talloc_free() pre-existing dict on error
Nick Porter [Tue, 19 Aug 2025 11:58:12 +0000 (12:58 +0100)]
safe_characters is irrelevant for MySQL / PostgreSQL
as they use their database specific escaping functions.
Nick Porter [Tue, 19 Aug 2025 11:54:36 +0000 (12:54 +0100)]
SQL-User-Name is nothing to do with escaping now
Nick Porter [Tue, 19 Aug 2025 11:49:39 +0000 (12:49 +0100)]
Add support for "open_query" option to rlm_sql_postgresql
The option is listed (commented out) in the stock queries.conf
Nick Porter [Tue, 19 Aug 2025 10:58:24 +0000 (11:58 +0100)]
Normalize SQLite queries
Nick Porter [Tue, 19 Aug 2025 10:56:43 +0000 (11:56 +0100)]
Normalize PostgreSQL schema and queries
Nick Porter [Tue, 19 Aug 2025 09:05:32 +0000 (10:05 +0100)]
Normalize and correct Oracle schema and queries
Nick Porter [Tue, 19 Aug 2025 08:29:09 +0000 (09:29 +0100)]
Normalize and correct MS SQL schema and queries
Alan T. DeKok [Mon, 18 Aug 2025 18:59:13 +0000 (14:59 -0400)]
fix test
so it actually loads the "good" test dictionary.
add "bad" test dictionaries. Only one for now.
Alan T. DeKok [Mon, 18 Aug 2025 18:47:00 +0000 (14:47 -0400)]
regenerate from source
Alan T. DeKok [Mon, 18 Aug 2025 16:01:33 +0000 (12:01 -0400)]
clarify error message and fix test
Alan T. DeKok [Mon, 18 Aug 2025 15:29:00 +0000 (11:29 -0400)]
reset stack properly on BEGIN/END PROTOCOL
don't push two frames onto the stack for BEGIN PROTOCOL, only
one is needed. And BEGIN-PROTOCOL only pushed one frame.
reset the main dictionary on BEGIN, and again on END.
Add asserts that when we're done a cycle of BEGIN / END PROTOCOL,
the stack is where we expect it to be, and has the contents of
where we expect it to be.