]>
git.ipfire.org Git - thirdparty/freeradius-server.git/log
Alan T. DeKok [Mon, 28 Apr 2025 15:46:50 +0000 (11:46 -0400)]
packet verification is handled in the BIO callbacks
by the rlm_radius_verify() function.
ideally, we should also move any tracking checks and decode
routines to that function, too
Alan T. DeKok [Mon, 28 Apr 2025 12:05:48 +0000 (08:05 -0400)]
don't convert the input key to a string
we're hashing it for load-balance purposes. So we can just hash
the raw data.
and since tmpl_expand() now produces errors, we don't need to
Alan T. DeKok [Mon, 28 Apr 2025 11:57:15 +0000 (07:57 -0400)]
just use fr_value_box_cast() in tmpl_to_type
as it means there are fewer corner cases in the code.
and add RDEBUG messages, so that the caller gets told when things
go wrong.
note that this function is only called from a few places:
tmpl_dcursor, which needs uint8_t
ldap maps, sql maps, attr_filter, and load-balance, which all
need strings.
Alan T. DeKok [Mon, 28 Apr 2025 19:51:35 +0000 (15:51 -0400)]
resolve tmpls before returning them to LDAP
Alan T. DeKok [Mon, 28 Apr 2025 19:27:47 +0000 (15:27 -0400)]
unconnected replication sockets can only be UDP
Nick Porter [Mon, 28 Apr 2025 14:23:00 +0000 (15:23 +0100)]
Add test to proxy detached subrequest
and missing files from rlm_radius originate test
Nick Porter [Mon, 28 Apr 2025 14:07:53 +0000 (15:07 +0100)]
Subrequests are talloc'd not reserved from the slab
Nick Porter [Mon, 28 Apr 2025 12:12:56 +0000 (13:12 +0100)]
Add redis xlat tests
Checking for:
- basic SET / GET
- return of NULL can fall back to an alternate value
- return of multiple values with HMGET
Nick Porter [Mon, 28 Apr 2025 11:40:13 +0000 (12:40 +0100)]
Add test of rlm_radius as originator using subrequest
Nick Porter [Mon, 28 Apr 2025 11:10:17 +0000 (12:10 +0100)]
Better assert for boxes which can be truthy
Testing fr_type_is_leaf excludes FR_TYPE_NULL, which is a valid "false"
box.
Nick Porter [Mon, 28 Apr 2025 10:39:23 +0000 (11:39 +0100)]
Add call to %delay() to detached subrequest test
Causes the subrequest to yield and resume.
Detached requests don't perform normal time-tracking - this adds a
regression test to ensure time-tracking state changes don't cause issues
with detached requests.
Alan T. DeKok [Mon, 28 Apr 2025 10:52:10 +0000 (06:52 -0400)]
update subrequest with more examples
and point the default virtual server to the subrequest documentation
Alan T. DeKok [Sun, 27 Apr 2025 14:35:49 +0000 (10:35 -0400)]
exit after 5min in the tests
and ignore -e in ndebug builds, rather than complain.
Alan T. DeKok [Sun, 27 Apr 2025 13:45:05 +0000 (09:45 -0400)]
build on systems without lsb_release
Alan T. DeKok [Sun, 27 Apr 2025 12:56:46 +0000 (08:56 -0400)]
rewrite tmpl_to_atype()
There is a weird corner case where it returns an error without
printing any complaints. But only for ubuntu-24-linux-gcc-ndebug.
https://github.com/FreeRADIUS/freeradius-server/actions/runs/
14692203645 /job/
41229053000 #step:10:2949
The input is a tmpl type data, with data type time_delta.
The output is a fr_time_delta_t.
Both clang scan and coverity think that everything is fine.
All runs with ubsan / asan / lsan don't show errors.
Yet it still fails, but only on one platform. And consistently.
Since all attempts at debugging have failed, the solution is to
change the code so that it more clearly separates out the various
paths. Another result is that it does less copying of intermediate
boxes.
Alan T. DeKok [Sun, 27 Apr 2025 11:25:40 +0000 (07:25 -0400)]
remove unused assignment
nolade [Wed, 23 Apr 2025 20:38:01 +0000 (16:38 -0400)]
Added auditing info from customer doc and wiki.
Updated Optimization directory structure to standard format / index file.
Added links to tools man pages included with antora docs.
nolade [Tue, 22 Apr 2025 19:31:04 +0000 (15:31 -0400)]
update and copy/edit Howto Guides >> Vendors section
Alan T. DeKok [Sat, 26 Apr 2025 16:47:33 +0000 (12:47 -0400)]
rename subst -> str.subst
Alan T. DeKok [Sat, 26 Apr 2025 16:37:54 +0000 (12:37 -0400)]
print out the thing we looked up, too
Alan T. DeKok [Sat, 26 Apr 2025 16:37:20 +0000 (12:37 -0400)]
use newer / consistent function names
Alan T. DeKok [Sat, 26 Apr 2025 13:11:38 +0000 (09:11 -0400)]
print out error via RPEDEBUG when calculating a result
Alan T. DeKok [Sat, 26 Apr 2025 12:20:10 +0000 (08:20 -0400)]
re-run tests if the conf files change, too
Alan T. DeKok [Sat, 26 Apr 2025 12:00:16 +0000 (08:00 -0400)]
all tmpls should be resolved before they are expanded
Alan T. DeKok [Fri, 25 Apr 2025 15:44:06 +0000 (11:44 -0400)]
rename xlat functions.
via scripts, with some manual fixes to the unit tests. Changing the length of an xlat
function changes the offset in a string where an error occurs.
perl -p -i -e 's/%concat\(/%str.concat\(/g' $(git grep -l 'concat' doc/antora raddb src/tests)
perl -p -i -e 's/%explode\(/%str.split\(/g' $(git grep -l 'explode' doc/antora raddb src/tests)
perl -p -i -e 's/%hmacmd5\(/%hmac.md5\(/g' $(git grep -l 'hmacmd5' doc/antora raddb src/tests)
perl -p -i -e 's/%hmacmd4\(/%hmac.md4\(/g' $(git grep -l 'hmacmd4' doc/antora raddb src/tests)
perl -p -i -e 's/%hmacsha1\(/%hmac.sha1\(/g' $(git grep -l 'hmacsha1' doc/antora raddb src/tests)
perl -p -i -e 's/%lpad\(/%str.lpad\(/g' $(git grep -l 'lpad' doc/antora raddb src/tests)
perl -p -i -e 's/%rpad\(/%str.rpad\(/g' $(git grep -l 'rpad' doc/antora raddb src/tests)
perl -p -i -e 's/%substr\(/%str.substr\(/g' $(git grep -l 'substr' doc/antora raddb src/tests)
perl -p -i -e 's/%randstr\(/%str.rand\(/g' $(git grep -l 'randstr' doc/antora raddb src/tests)
perl -p -i -e 's/%md4\(/%hash.md4\(/g' $(git grep -l 'md4' doc/antora raddb src/tests)
perl -p -i -e 's/%md5\(/%hash.md5\(/g' $(git grep -l 'md5' doc/antora raddb src/tests)
perl -p -i -e 's/%sha2_224\(/%hash.sha2_224\(/g' $(git grep -l 'sha2_224' doc/antora raddb src/tests)
perl -p -i -e 's/%sha2_256\(/%hash.sha2_256\(/g' $(git grep -l 'sha2_256' doc/antora raddb src/tests)
perl -p -i -e 's/%sha2_384\(/%hash.sha2_384\(/g' $(git grep -l 'sha2_384' doc/antora raddb src/tests)
perl -p -i -e 's/%sha2_512\(/%hash.sha2_512\(/g' $(git grep -l 'sha2_512' doc/antora raddb src/tests)
perl -p -i -e 's/%blake2s_256\(/%hash.blake2s_256\(/g' $(git grep -l 'blake2s_256' doc/antora raddb src/tests)
perl -p -i -e 's/%blake2b_512\(/%hash.blake2b_512\(/g' $(git grep -l 'blake2b_512' doc/antora raddb src/tests)
perl -p -i -e 's/%sha3_224\(/%hash.sha3_224\(/g' $(git grep -l 'sha3_224' doc/antora raddb src/tests)
perl -p -i -e 's/%sha3_256\(/%hash.sha3_256\(/g' $(git grep -l 'sha3_256' doc/antora raddb src/tests)
perl -p -i -e 's/%sha3_384\(/%hash.sha3_384\(/g' $(git grep -l 'sha3_384' doc/antora raddb src/tests)
perl -p -i -e 's/%sha3_512\(/%hash.sha3_512\(/g' $(git grep -l 'sha3_512' doc/antora raddb src/tests)
perl -p -i -e 's/%tolower\(/%str.lower\(/g' $(git grep -l 'tolower' doc/antora raddb src/tests)
perl -p -i -e 's/%toupper\(/%str.upper\(/g' $(git grep -l 'toupper' doc/antora raddb src/tests)
perl -p -i -e 's/%urlquote\(/%url.quote\(/g' $(git grep -l 'urlquote' doc/antora raddb src/tests)
perl -p -i -e 's/%urlunquote\(/%url.unquote\(/g' $(git grep -l 'urlunquote' doc/antora raddb src/tests)
Arran Cudbard-Bell [Fri, 25 Apr 2025 18:36:29 +0000 (14:36 -0400)]
Store and restore log indentation when frames are popped
This helps us get back to sane indentation when we're forcefully cancelling frames.
Arran Cudbard-Bell [Fri, 25 Apr 2025 16:25:59 +0000 (12:25 -0400)]
Ensure insert is always initialised to quiet clang scan
Arran Cudbard-Bell [Fri, 25 Apr 2025 15:48:47 +0000 (11:48 -0400)]
Quiet clang scan complaining about how it's invoked. -c is redundant here.
Arran Cudbard-Bell [Fri, 25 Apr 2025 15:33:49 +0000 (11:33 -0400)]
Nuke chroot, it's likely not used and causes clang scan to complain
Arran Cudbard-Bell [Fri, 25 Apr 2025 13:48:00 +0000 (09:48 -0400)]
Ignore key.dovecot
Arran Cudbard-Bell [Fri, 25 Apr 2025 02:02:08 +0000 (22:02 -0400)]
No longer valid as slab elements are over-allocated
Arran Cudbard-Bell [Fri, 25 Apr 2025 01:56:27 +0000 (21:56 -0400)]
Use the standard slab allocator for requests
Arran Cudbard-Bell [Fri, 25 Apr 2025 00:09:11 +0000 (20:09 -0400)]
Just set fields in the worker config directly
Arran Cudbard-Bell [Fri, 25 Apr 2025 00:03:41 +0000 (20:03 -0400)]
Rename worker_create to worker_alloc so people don't have to search for it
Arran Cudbard-Bell [Fri, 25 Apr 2025 00:02:49 +0000 (20:02 -0400)]
Rename runnable_id to runnable
Arran Cudbard-Bell [Thu, 17 Apr 2025 19:58:34 +0000 (14:58 -0500)]
Use a sub-timer list to track request expiry
Nick Porter [Fri, 25 Apr 2025 08:42:02 +0000 (09:42 +0100)]
Keywords docs are under <version>/reference/unlang/...
Nick Porter [Fri, 25 Apr 2025 08:41:09 +0000 (09:41 +0100)]
Link to correct keyword docs
Nick Porter [Fri, 25 Apr 2025 08:24:10 +0000 (09:24 +0100)]
detached requests don't do time tracking
Nick Porter [Fri, 25 Apr 2025 08:23:28 +0000 (09:23 +0100)]
Check for request->client before checking request->client->cs
Alan T. DeKok [Thu, 24 Apr 2025 15:09:18 +0000 (11:09 -0400)]
don't set timeout if we have a TTY and lldb / gdb
so that the poor user doing "cut and paste" of test commands
doesn't have their debugger session suddenly disappear
Alan T. DeKok [Thu, 24 Apr 2025 13:14:27 +0000 (09:14 -0400)]
print out references to Antora keyword docs on parse errors
and use a reference to the actual version
Alan T. DeKok [Thu, 24 Apr 2025 11:38:56 +0000 (07:38 -0400)]
some modules can _only_ be used in one namespace
so we add the namespace to the module configuration, and then
check for it when we compile the reference to the module.
We also add a reference to the online documentation, so the user
knows what to do in order to fix the issue
Alan T. DeKok [Thu, 24 Apr 2025 11:22:04 +0000 (07:22 -0400)]
define RADIUSD_DOC_VERSION
so that any messages in the code can point to the correct
(and specific) revision of the online Antora documentation
and define macros to point to the online docs
Alan T. DeKok [Thu, 24 Apr 2025 11:19:44 +0000 (07:19 -0400)]
revert code missed in
95d32f66831f1
Alan T. DeKok [Thu, 24 Apr 2025 10:36:48 +0000 (06:36 -0400)]
don't free name twice
Alan T. DeKok [Wed, 23 Apr 2025 20:02:11 +0000 (16:02 -0400)]
add new function names, and notes on when they are deprecated.
for now, nothing complains if these are used. :(
Alan T. DeKok [Wed, 23 Apr 2025 19:32:58 +0000 (15:32 -0400)]
note that deprecated functions are "removed"
we will remove the functions later, once we verify that no one
is using them.
Alan T. DeKok [Thu, 24 Apr 2025 15:43:30 +0000 (11:43 -0400)]
let's print out error messages on error
Alan T. DeKok [Wed, 23 Apr 2025 15:45:42 +0000 (11:45 -0400)]
don't write to "inst" in thread_instantiate
Alan T. DeKok [Wed, 23 Apr 2025 13:43:19 +0000 (09:43 -0400)]
remove "track_connections" configuration.
TCP sockets are always connected. UDP sockets cannot really be
connected. Posix says that UDP packets for that dst IP/port
will always be delivered, no matter what the source port.
Nick Porter [Thu, 24 Apr 2025 11:31:35 +0000 (12:31 +0100)]
Update sample lua module configuration
Nick Porter [Thu, 24 Apr 2025 11:09:39 +0000 (12:09 +0100)]
Update rlm_lua tests to use new function names
Nick Porter [Thu, 24 Apr 2025 11:04:44 +0000 (12:04 +0100)]
Use a call_env to determine function names for rlm_lua
Nick Porter [Thu, 24 Apr 2025 11:03:07 +0000 (12:03 +0100)]
Make fr_lua_check_func a library function
So it can be used in rlm_lua.c
Nick Porter [Thu, 24 Apr 2025 08:23:11 +0000 (09:23 +0100)]
Copy dedup_authenticator when copying clients
Nick Porter [Thu, 24 Apr 2025 08:21:14 +0000 (09:21 +0100)]
Set client dedup_authenticator to "yes" by default
Nick Porter [Wed, 23 Apr 2025 15:22:15 +0000 (16:22 +0100)]
Update example mruby module for new function names
Nick Porter [Wed, 23 Apr 2025 15:21:48 +0000 (16:21 +0100)]
Use a call_env to determine function names for rlm_mruby
nolade [Tue, 22 Apr 2025 20:32:24 +0000 (16:32 -0400)]
docs: update os/security certificates section
Nick Porter [Wed, 23 Apr 2025 12:53:32 +0000 (13:53 +0100)]
Handle missing name2
Nick Porter [Wed, 23 Apr 2025 11:26:19 +0000 (12:26 +0100)]
Update docs from current local dictionary comments
Nick Porter [Wed, 23 Apr 2025 11:25:12 +0000 (12:25 +0100)]
Update docs from updated perl module
Nick Porter [Wed, 23 Apr 2025 11:22:46 +0000 (12:22 +0100)]
Update sample perl module config
Nick Porter [Wed, 23 Apr 2025 11:10:08 +0000 (12:10 +0100)]
Update test Perl module.conf for new function mapping
Nick Porter [Wed, 23 Apr 2025 11:09:11 +0000 (12:09 +0100)]
Use a call_env to determine rlm_perl subroutine names to call
Alan T. DeKok [Tue, 22 Apr 2025 16:48:31 +0000 (12:48 -0400)]
allow "catch" after "timeout"
Alan T. DeKok [Wed, 23 Apr 2025 11:49:51 +0000 (07:49 -0400)]
fix coverity issue by removing code
the xlat_func_string() just copies its inputs to its outputs,
so we can use xlat_transparent() to do this work.
the actual "convert to string" bit is done by the xlat argument
parser
arguably, we should just remove %string(), as it's no longer
needed.
Alan T. DeKok [Wed, 23 Apr 2025 11:31:46 +0000 (07:31 -0400)]
add -e ignore_count=N
Arran Cudbard-Bell [Wed, 23 Apr 2025 04:30:56 +0000 (23:30 -0500)]
Use macros to check return codes of disam/delete functions
Arran Cudbard-Bell [Tue, 22 Apr 2025 20:06:51 +0000 (15:06 -0500)]
Remove incorrect condition in bfd/session.c, rename fields to consistently identify events
Arran Cudbard-Bell [Tue, 22 Apr 2025 18:40:57 +0000 (13:40 -0500)]
Various other timer fixes
Arran Cudbard-Bell [Tue, 22 Apr 2025 18:40:30 +0000 (13:40 -0500)]
Simplifying deleting timers in bio/fd.c and raise errors
Arran Cudbard-Bell [Tue, 22 Apr 2025 18:35:48 +0000 (13:35 -0500)]
Disarm the curl I/O timer instead of deleting it
Arran Cudbard-Bell [Tue, 22 Apr 2025 18:35:32 +0000 (13:35 -0500)]
Slightly more efficient timer armed check
Arran Cudbard-Bell [Tue, 22 Apr 2025 18:32:05 +0000 (13:32 -0500)]
Say which type of servicing failed
Nick Porter [Tue, 22 Apr 2025 16:31:43 +0000 (17:31 +0100)]
We don't recommend lua/perl/python for writing policy
Nick Porter [Tue, 22 Apr 2025 10:27:39 +0000 (11:27 +0100)]
No need to sort the list
Nick Porter [Tue, 22 Apr 2025 10:26:43 +0000 (11:26 +0100)]
Correct index itterator
fr_pair_dcursor_by_da returns the first pair.
Alan T. DeKok [Tue, 22 Apr 2025 16:21:10 +0000 (12:21 -0400)]
more debug messages for tracking state
Alan T. DeKok [Tue, 22 Apr 2025 13:40:58 +0000 (09:40 -0400)]
add unlang_interpret_set_timeout()
in preparation for moving max_request_time functionality to the
interpreter
nolade [Mon, 21 Apr 2025 21:03:50 +0000 (17:03 -0400)]
docs: update/copy-edit dhcpv4 pages under >>Howto >> Protocols >> DHCP
Nick Porter [Tue, 22 Apr 2025 07:11:41 +0000 (08:11 +0100)]
Update docs with latest sample module confs
Alan T. DeKok [Mon, 21 Apr 2025 21:50:42 +0000 (17:50 -0400)]
Don't allow "catch" by itself
and add tests for it
Alan T. DeKok [Mon, 21 Apr 2025 21:50:22 +0000 (17:50 -0400)]
give things good names
Alan T. DeKok [Sat, 19 Apr 2025 16:17:53 +0000 (12:17 -0400)]
clamp values for "retry" section
Alan T. DeKok [Sat, 19 Apr 2025 13:52:17 +0000 (09:52 -0400)]
updates from PR #5557
nolade [Mon, 21 Apr 2025 19:32:04 +0000 (15:32 -0400)]
docs: import customer info CoA-Originate-Relay info into Antora >> Howto >> Protocols >> RADIUS
Nick Porter [Mon, 21 Apr 2025 18:36:51 +0000 (19:36 +0100)]
Re-write rlm_python howto
Nick Porter [Mon, 21 Apr 2025 18:35:48 +0000 (19:35 +0100)]
Add debug level constants to rlm_python
Nick Porter [Mon, 21 Apr 2025 17:19:04 +0000 (18:19 +0100)]
Tidy rlm_python copyright
None of the original code exists anymore
Nick Porter [Mon, 21 Apr 2025 16:32:20 +0000 (17:32 +0100)]
Update sample rlm_python config
Nick Porter [Mon, 21 Apr 2025 15:07:56 +0000 (16:07 +0100)]
Update example.py
Nick Porter [Mon, 21 Apr 2025 09:24:39 +0000 (10:24 +0100)]
Update Python test function names
Nick Porter [Mon, 21 Apr 2025 09:06:24 +0000 (10:06 +0100)]
Use call_env to identify Python function names
Firstly a function `<name1>_<name2>` is looked for. If that is not
found (or there is no `name2`, then `<name1>` is looked for.
The Python module can be set with config option `mod_name1_name2` or
`mod_name1`.
The function can be overridden with config option `func_name1_name2` or
`func_name1`.
`name1` and `name2` are converted to lower case and any
non-alphanumercic characters are converted to underscores.
e.g. a module call in `recv Access-Request` will look for
`recv_accsss_request` and then `recv`.
Nick Porter [Fri, 18 Apr 2025 13:12:38 +0000 (14:12 +0100)]
Add tests of rlm_python attribute setting
Nick Porter [Fri, 18 Apr 2025 08:14:19 +0000 (09:14 +0100)]
Only accept an rcode in the Python function reply
Python functions can now directly amend attribute lists
Nick Porter [Fri, 18 Apr 2025 07:45:26 +0000 (08:45 +0100)]
Pass py_freeradius_request_t to python functions
In place of the tuple representation of the request list
Nick Porter [Fri, 18 Apr 2025 07:17:39 +0000 (08:17 +0100)]
Update Python module init
To add type definitions and add new objects
Nick Porter [Wed, 16 Apr 2025 17:37:10 +0000 (18:37 +0100)]
Create py_freeradius_state_t when instantiating thread instances