]>
git.ipfire.org Git - thirdparty/freeradius-server.git/log
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.
Alan T. DeKok [Mon, 18 Aug 2025 12:53:26 +0000 (08:53 -0400)]
we don't need a dict in each stack frame
it's never used, and it's one more opportunity for things to
get out of sync
Alan T. DeKok [Mon, 18 Aug 2025 12:19:23 +0000 (08:19 -0400)]
clearer error messages
Alan T. DeKok [Mon, 18 Aug 2025 12:10:09 +0000 (08:10 -0400)]
end TEST
Alan T. DeKok [Mon, 18 Aug 2025 11:55:22 +0000 (07:55 -0400)]
minor cleanups
no need for "goto return"
Alan T. DeKok [Mon, 18 Aug 2025 10:59:47 +0000 (06:59 -0400)]
clarify error messages
and remove references to STRUCT, in preparation for removing that
as a keyword
Alan T. DeKok [Mon, 18 Aug 2025 10:54:31 +0000 (06:54 -0400)]
union types need a key field, so they must be MEMBERs
Nick Porter [Mon, 18 Aug 2025 14:42:13 +0000 (15:42 +0100)]
Modules returning `updated` in authenticate calls should be success
Nick Porter [Mon, 18 Aug 2025 14:41:29 +0000 (15:41 +0100)]
Improve sample rlm_dpsk config
Nick Porter [Mon, 18 Aug 2025 14:24:16 +0000 (15:24 +0100)]
Add sample policy for extracting binary MAC address from Called-Station-Id
As needed by rlm_dpsk
Nick Porter [Mon, 18 Aug 2025 13:40:00 +0000 (14:40 +0100)]
Correct reference
github-actions[bot] [Mon, 18 Aug 2025 04:39:50 +0000 (04:39 +0000)]
Scheduled fuzzing: Update src/tests/fuzzer-corpus/der.tar
github-actions[bot] [Mon, 18 Aug 2025 04:36:28 +0000 (04:36 +0000)]
Scheduled fuzzing: Update src/tests/fuzzer-corpus/cbor.tar
Alan T. DeKok [Sat, 16 Aug 2025 14:59:05 +0000 (10:59 -0400)]
clean up member size checks, and catch more corner cases
Alan T. DeKok [Sat, 16 Aug 2025 14:00:35 +0000 (10:00 -0400)]
rename field to more correctly describe it's function
arguably we should also use dict_ext instead of hard-coded thing,
but that involves a little more work which we will avoid for now.
Alan T. DeKok [Fri, 15 Aug 2025 17:00:16 +0000 (13:00 -0400)]
move struct_finalise to the stack frame
so that it can be called when popped.
This simplifies the logic in the main loop which reads files,
and removes corner cases. It also lets us add finalization for
other data types, like union
Alan T. DeKok [Fri, 15 Aug 2025 14:13:05 +0000 (10:13 -0400)]
better checks for BEGIN / END
when a file has BEGIN without END, or END without BEGIN, it's now
caught in more (i.e. all) situations, and has better error
messages
Alan T. DeKok [Fri, 15 Aug 2025 13:25:13 +0000 (09:25 -0400)]
put current filename / line into dctx
so that we don't mangle the filename in the stack frame.
this makes it easier to track which thing is taken from which file.
Nick Porter [Fri, 15 Aug 2025 13:55:13 +0000 (14:55 +0100)]
Don't cause SQL module to fail if sql_user_name expansion produces no result
This will typically be the case in accounting On and Off processing
where there is no User-Name attribute, but the expansion has been set
for use in other packet processing.
Nick Porter [Fri, 15 Aug 2025 13:50:28 +0000 (14:50 +0100)]
Add test of attr_filter where key attribute is missing
Nick Porter [Fri, 15 Aug 2025 13:46:08 +0000 (14:46 +0100)]
Move rlm_attr_filter to use a call_env
And fallback to DEFAULT if the key expansion produces no output.
Alan T. DeKok [Fri, 15 Aug 2025 11:06:29 +0000 (07:06 -0400)]
audit errors for fr_strrror_printf_push() versus ifr_strerror_printf()
we should only call the push function after we have called another
API function which returns an error.
If we do a check ourselves, we should just call the printf()/const()
function. That resets the error stack so we are the first error.
Otherwise when we call push() incorrectly, an old error will
remain on the error stack, leading to confusion
Alan T. DeKok [Fri, 15 Aug 2025 10:58:35 +0000 (06:58 -0400)]
more cleanups
minor formatting / variable use
BEGIN-PROTOCOL can't be used inside of any BEGIN/END block, and
not just inside of another BEGIN-PROTOCOL
use push function for test, instead of manually changing the stack
Alan T. DeKok [Fri, 15 Aug 2025 10:33:50 +0000 (06:33 -0400)]
use macros more often for common things
Alan T. DeKok [Fri, 15 Aug 2025 10:46:02 +0000 (06:46 -0400)]
check and enforce PROTOCOL location
so that we can just push the new protocol, and we don't need
a push_or_update(). Which was wrong, because it incremented the
stack pointer before checking the stack entry
Alan T. DeKok [Fri, 15 Aug 2025 10:29:37 +0000 (06:29 -0400)]
clarify checks
when we have END-, use the unwind function to find the matching
BEGIN-, instead of doing it manually.
when we're done reaading a file, look for unmatched BEGIN, and
remove the corresponding checks from process_include()
Alan T. DeKok [Fri, 15 Aug 2025 10:07:30 +0000 (06:07 -0400)]
no need to smash stack_depth on every iteration
also cleans up corner cases of multiple ifs
Alan T. DeKok [Fri, 15 Aug 2025 02:09:06 +0000 (22:09 -0400)]
make unwind() explicit
Alan T. DeKok [Fri, 15 Aug 2025 00:53:03 +0000 (20:53 -0400)]
use TOP of stack frame, not ROOT
root is already used for root of dictionary, which this is not.
Alan T. DeKok [Fri, 15 Aug 2025 00:11:44 +0000 (20:11 -0400)]
use name instead of bare 0
Alan T. DeKok [Thu, 14 Aug 2025 18:32:10 +0000 (14:32 -0400)]
run through the formatter
Alan T. DeKok [Thu, 14 Aug 2025 18:28:14 +0000 (14:28 -0400)]
just printf, not printf_push
Alan T. DeKok [Thu, 14 Aug 2025 18:16:54 +0000 (14:16 -0400)]
allow STRUCT inside of a BEGIN union-thing
the BEGIN needs to use the full name, which is annoying.
the BEGIN union-thing refers to a union, where we can then find
the key attribute. Which means that the STRUCT doesn't need a
key-name. And therefore STRUCT devolves to ATTRIBUTE in that
case.
Alan T. DeKok [Thu, 14 Aug 2025 14:39:52 +0000 (10:39 -0400)]
no need to use memcpy
Alan T. DeKok [Thu, 14 Aug 2025 10:50:55 +0000 (06:50 -0400)]
allow 'key=ref' for attributes of type UNION
Alan T. DeKok [Wed, 13 Aug 2025 19:21:19 +0000 (15:21 -0400)]
check union type in multiple places
attribute validation:
it can only be parented by a struct, because only structs can have
a key field. Once we have full support for unions and refs, this
restriction can be relaxed
reading the dictionaries:
it can only used in a struct, along with other restrictions
Alan T. DeKok [Thu, 14 Aug 2025 10:57:35 +0000 (06:57 -0400)]
allow union[...] syntax
for size of the union, ala string[1] or octets[1], or struct[1]
Alan T. DeKok [Thu, 14 Aug 2025 13:23:44 +0000 (09:23 -0400)]
define EXT_KEY, to mirror EXT_REF
a UNION needs both a ref to the key, and also to have children.
However, everything else in the server either has a ref or children.
Plus, we don't want KEY refs to be automatically followed.
As such, we define a new extension type EXT_KEY, and then make it
largely identical to EXT_REF
Alan T. DeKok [Thu, 14 Aug 2025 12:18:59 +0000 (08:18 -0400)]
don't print the attribute twice
and make the outout a bit easier to read
Alan T. DeKok [Wed, 13 Aug 2025 19:10:55 +0000 (15:10 -0400)]
add FR_TYPE_UNION
which is not used for anything
Alan T. DeKok [Wed, 13 Aug 2025 16:10:22 +0000 (12:10 -0400)]
remove many uses of Tmp-*
Alan T. DeKok [Wed, 13 Aug 2025 14:56:12 +0000 (10:56 -0400)]
notes on MEMBER of type 'struct' with 'clone=ref'
it works in some cases, but not others. Document why, so we can
remove other todo's from the list of v4 features
Nick Porter [Thu, 14 Aug 2025 14:15:04 +0000 (15:15 +0100)]
Add v3.2 dpsk xlat for calculating PMK from SSID and PSK
Using v4 naming convention
Nick Porter [Thu, 14 Aug 2025 11:54:42 +0000 (12:54 +0100)]
Correct debian sid release name
Nick Porter [Thu, 14 Aug 2025 11:52:19 +0000 (12:52 +0100)]
Update docs from raddb
Nick Porter [Thu, 14 Aug 2025 11:51:51 +0000 (12:51 +0100)]
Add rlm_dpsk to docs
Nick Porter [Thu, 14 Aug 2025 11:02:48 +0000 (12:02 +0100)]
Add sample rlm_dpsk config
Nick Porter [Thu, 14 Aug 2025 10:15:53 +0000 (11:15 +0100)]
Add rlm_dpsk to RHEL packaging
Nick Porter [Thu, 14 Aug 2025 07:48:45 +0000 (08:48 +0100)]
Add tests of rlm_dpsk auth
Nick Porter [Thu, 14 Aug 2025 07:47:44 +0000 (08:47 +0100)]
Port rlm_dpsk autz and auth from v3.2.x
Nick Porter [Thu, 14 Aug 2025 10:16:45 +0000 (11:16 +0100)]
Add alias to make FR DPSK attributes more friendly
Nick Porter [Thu, 14 Aug 2025 07:41:41 +0000 (08:41 +0100)]
Add internal attributes to support DPSK
Arran Cudbard-Bell [Wed, 13 Aug 2025 02:17:44 +0000 (20:17 -0600)]
Place all md4/md5 functions in a struct and swap the pointer where we're building with OpenSSL !fips
This prevents potential skew during startup
Arran Cudbard-Bell [Wed, 13 Aug 2025 00:23:29 +0000 (18:23 -0600)]
Remove errant exdents
Arran Cudbard-Bell [Wed, 13 Aug 2025 00:18:07 +0000 (18:18 -0600)]
Typo
Arran Cudbard-Bell [Tue, 12 Aug 2025 23:07:23 +0000 (17:07 -0600)]
Fix %internal.encode()
The xlat previously seemed to truncate output and skipped every other attribute
Arran Cudbard-Bell [Tue, 12 Aug 2025 23:05:03 +0000 (17:05 -0600)]
Temporarily disable casting to? from? FR_TYPE_ATTR
Code doesn't really make any sense, and it's apparently not exercised.
Arran Cudbard-Bell [Tue, 12 Aug 2025 23:04:26 +0000 (17:04 -0600)]
Fix tmpl dcursor so that fr_dcursor_head resets the iteration state
Alan T. DeKok [Tue, 12 Aug 2025 16:53:27 +0000 (12:53 -0400)]
redo "fips=no" to "-fips"
as per commit 59e262 in the v3.2.x branch.
and don't document the openssl_fips_mode flag. No one in their
right mind needs to be enabling or disabling FIPS mode for just
one application
Alan T. DeKok [Tue, 12 Aug 2025 16:52:49 +0000 (12:52 -0400)]
Revert "change "fips=no" to "-fips""
This reverts commit
4340edae652b086078e8000a91899c3c73bd4e2b .
Alan T. DeKok [Tue, 12 Aug 2025 15:21:47 +0000 (11:21 -0400)]
just swap out the function pointer the first time we check
so that we don't check an intermediate variable
Alan T. DeKok [Tue, 12 Aug 2025 11:06:31 +0000 (07:06 -0400)]
use macro for common name
Nick Porter [Mon, 11 Aug 2025 15:35:38 +0000 (16:35 +0100)]
Add Debian 13 to Docker / Crossbuild tests