]> git.ipfire.org Git - thirdparty/freeradius-server.git/log
thirdparty/freeradius-server.git
3 months agoTest handling of FR_TYPE_NULL in map list
Nick Porter [Thu, 24 Jul 2025 11:16:08 +0000 (12:16 +0100)] 
Test handling of FR_TYPE_NULL in map list

3 months agoAllow redis xlat to emit FR_TYPE_NULL again
Nick Porter [Thu, 24 Jul 2025 11:15:24 +0000 (12:15 +0100)] 
Allow redis xlat to emit FR_TYPE_NULL again

Now that this can be handled by `map list`

3 months agoAdd basic test of map list
Nick Porter [Thu, 24 Jul 2025 11:32:36 +0000 (12:32 +0100)] 
Add basic test of map list

3 months agoAdd `map list` as a "builtin" map
Nick Porter [Thu, 24 Jul 2025 10:54:00 +0000 (11:54 +0100)] 
Add `map list` as a "builtin" map

3 months agoPacify UBSAN for rlm_tacacs conn_init
Nick Porter [Thu, 24 Jul 2025 10:55:22 +0000 (11:55 +0100)] 
Pacify UBSAN for rlm_tacacs conn_init

3 months agoRemove unused prototype
Nick Porter [Thu, 24 Jul 2025 09:50:17 +0000 (10:50 +0100)] 
Remove unused prototype

3 months agoUpdate radhttpcheck.py to use pyrad or pyrad2
Nick Porter [Tue, 22 Jul 2025 17:14:57 +0000 (18:14 +0100)] 
Update radhttpcheck.py to use pyrad or pyrad2

pyrad2 is required if the checks are going to be called from Windows,
but it requires Python >= 3.12 so is not suitable for all Linux hosts.

3 months agoMap TACACS reply packet code to module rcode
Nick Porter [Tue, 22 Jul 2025 15:01:30 +0000 (16:01 +0100)] 
Map TACACS reply packet code to module rcode

3 months agoCompare received session ID to the one sent
Nick Porter [Tue, 22 Jul 2025 13:30:45 +0000 (14:30 +0100)] 
Compare received session ID to the one sent

h->session_id is only used if the packet did not contain a
Packet->Session-Id attribute.

3 months agoCorrect assert on timer being disarmed
Nick Porter [Tue, 22 Jul 2025 13:29:04 +0000 (14:29 +0100)] 
Correct assert on timer being disarmed

3 months agoTACACS uses TCP not UDP
Nick Porter [Tue, 22 Jul 2025 10:30:48 +0000 (11:30 +0100)] 
TACACS uses TCP not UDP

so name things appropriately

3 months agoPrint correct frame index when reporting frame popping
Arran Cudbard-Bell [Mon, 21 Jul 2025 21:54:59 +0000 (14:54 -0700)] 
Print correct frame index when reporting frame popping

3 months agoAllocate a name for the trigger request
Arran Cudbard-Bell [Mon, 21 Jul 2025 21:38:55 +0000 (14:38 -0700)] 
Allocate a name for the trigger request

3 months agorequest->priority and request->sequence are no longer just used by the IO code, and...
Arran Cudbard-Bell [Mon, 21 Jul 2025 21:38:29 +0000 (14:38 -0700)] 
request->priority and request->sequence are no longer just used by the IO code, and should be a structure that's always allocated i.e. the request_t

3 months agoFix trigger plumbing in connection.c
Arran Cudbard-Bell [Mon, 21 Jul 2025 20:52:51 +0000 (13:52 -0700)] 
Fix trigger plumbing in connection.c

3 months agotmpl_push should take an argument saying whether it's a top frame
Arran Cudbard-Bell [Mon, 21 Jul 2025 15:02:54 +0000 (08:02 -0700)] 
tmpl_push should take an argument saying whether it's a top frame

3 months agoNo need to call fr_network_listen_delete here
Nick Porter [Mon, 21 Jul 2025 14:23:55 +0000 (15:23 +0100)] 
No need to call fr_network_listen_delete here

It only looks up the socket and calls fr_network_socket_dead, but the
socket likely has already been removed from the tree of sockets by the
socket talloc destructor - which is what is calling mod_close

3 months agostore the result somewhere
Alan T. DeKok [Mon, 21 Jul 2025 10:18:18 +0000 (12:18 +0200)] 
store the result somewhere

3 months agoit helps to check the result of an xlat
Alan T. DeKok [Mon, 21 Jul 2025 08:27:04 +0000 (10:27 +0200)] 
it helps to check the result of an xlat

except that this error check never catches an error, because
something in the interpreter isn't passing the results back to
us.

3 months agopush a function before running the trigger
Alan T. DeKok [Mon, 21 Jul 2025 07:45:30 +0000 (09:45 +0200)] 
push a function before running the trigger

the interpreter needs the stack to be bootstrapped with a function
or module that is something other than a tmpl.  The tmpl expects
to be a sub frame.

Without this, the trigger subrequest never runs anything after the
first instruction

3 months agodon't append output book on failure
Alan T. DeKok [Mon, 21 Jul 2025 07:40:03 +0000 (09:40 +0200)] 
don't append output book on failure

3 months agoallow non-operators for "limit" and "timeout", too
Alan T. DeKok [Sun, 20 Jul 2025 12:45:32 +0000 (14:45 +0200)] 
allow non-operators for "limit" and "timeout", too

3 months agouse macros for consistency with the rest of the code
Alan T. DeKok [Sat, 19 Jul 2025 00:03:19 +0000 (20:03 -0400)] 
use macros for consistency with the rest of the code

3 months agorename fields for consistency with the rest of the code
Alan T. DeKok [Sat, 19 Jul 2025 00:01:18 +0000 (20:01 -0400)] 
rename fields for consistency with the rest of the code

3 months agoset priority, too.
Alan T. DeKok [Fri, 18 Jul 2025 18:35:32 +0000 (14:35 -0400)] 
set priority, too.

instead of having it left over from the previous instruction

3 months agoDon't add FR_TYPE_NULL boxes to xlat output
Nick Porter [Fri, 18 Jul 2025 13:53:04 +0000 (14:53 +0100)] 
Don't add FR_TYPE_NULL boxes to xlat output

They currently can't be cast to anything so cause issues when assigning
to a target attribute

3 months agoRemove meaningless debug
Nick Porter [Fri, 18 Jul 2025 13:45:40 +0000 (14:45 +0100)] 
Remove meaningless debug

3 months agoSimplify trigger handling.
Arran Cudbard-Bell [Fri, 18 Jul 2025 16:20:26 +0000 (10:20 -0600)] 
Simplify trigger handling.

Remove trigger xlat, we just use the request like.

Use tmpl_afrom_substr instead of custom parsing logic.

3 months agoInitialise triggers later, move trigger name into an attribute to make serialisation...
Arran Cudbard-Bell [Fri, 18 Jul 2025 15:40:48 +0000 (09:40 -0600)] 
Initialise triggers later, move trigger name into an attribute to make serialisation easier

3 months agoadd %test.null() which always returns a value box of FR_TYPE_NULL
Alan T. DeKok [Fri, 18 Jul 2025 14:11:14 +0000 (10:11 -0400)] 
add %test.null() which always returns a value box of FR_TYPE_NULL

3 months agoRevert "slight tweaks"
Alan T. DeKok [Fri, 18 Jul 2025 11:00:12 +0000 (07:00 -0400)] 
Revert "slight tweaks"

This reverts commit 8f2845ebe9feeb010c086ac20fc329e44104ea95.

3 months agoScheduled fuzzing: Update src/tests/fuzzer-corpus/cbor.tar
github-actions[bot] [Fri, 18 Jul 2025 04:40:08 +0000 (04:40 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/cbor.tar

3 months agoScheduled fuzzing: Update src/tests/fuzzer-corpus/der.tar
github-actions[bot] [Fri, 18 Jul 2025 04:39:04 +0000 (04:39 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/der.tar

3 months agoslight tweaks
Alan T. DeKok [Thu, 17 Jul 2025 17:15:18 +0000 (13:15 -0400)] 
slight tweaks

3 months agouse macro for common case
Alan T. DeKok [Thu, 17 Jul 2025 16:56:09 +0000 (12:56 -0400)] 
use macro for common case

some instructions didn't return on timeout.  So using a common
initializer is beneficial

3 months agoActually run on our runners
Arran Cudbard-Bell [Thu, 17 Jul 2025 19:11:24 +0000 (13:11 -0600)] 
Actually run on our runners

3 months agoAttempt to move sanitizers to local infrastructure
Arran Cudbard-Bell [Thu, 17 Jul 2025 17:41:53 +0000 (11:41 -0600)] 
Attempt to move sanitizers to local infrastructure

3 months agoFix typos and bad docs
Arran Cudbard-Bell [Thu, 17 Jul 2025 15:55:05 +0000 (09:55 -0600)] 
Fix typos and bad docs

3 months agodon't assert on FR_TYPE_NULL
Alan T. DeKok [Thu, 17 Jul 2025 11:36:46 +0000 (07:36 -0400)] 
don't assert on FR_TYPE_NULL

in preparation for allowing it as a real type

3 months agoAdd additional file check flags
Arran Cudbard-Bell [Thu, 17 Jul 2025 02:19:55 +0000 (20:19 -0600)] 
Add additional file check flags

Add specific flag for unix sockets

3 months agomust always check the return code of fr_value_box_cast
Alan T. DeKok [Wed, 16 Jul 2025 19:31:30 +0000 (15:31 -0400)] 
must always check the return code of fr_value_box_cast

3 months agoadd test of "last loop returns the rcode"
Alan T. DeKok [Wed, 16 Jul 2025 19:21:42 +0000 (15:21 -0400)] 
add test of "last loop returns the rcode"

3 months agouse consistent names
Alan T. DeKok [Wed, 16 Jul 2025 11:22:29 +0000 (07:22 -0400)] 
use consistent names

$ git grep -w result_p  | wc -l
      42
$ git grep -w p_result  | wc -l
     860

3 months agomove MOD_ACTION_NOT_SET --> 0
Alan T. DeKok [Tue, 15 Jul 2025 18:45:03 +0000 (14:45 -0400)] 
move MOD_ACTION_NOT_SET --> 0

add macros for valid values.  sprinkle assertions throughout the
code.  Move the action names to a fixed-size array.  Update the
printing to print out the names in all cases (not the numbers)

3 months agoallow ::enum for 'case' statements
Alan T. DeKok [Wed, 16 Jul 2025 10:40:54 +0000 (06:40 -0400)] 
allow ::enum for 'case' statements

3 months agoCorrect docs on rlm_radius return codes
Nick Porter [Wed, 16 Jul 2025 10:23:02 +0000 (11:23 +0100)] 
Correct docs on rlm_radius return codes

3 months agocorrect behavior of parallel
Alan T. DeKok [Tue, 15 Jul 2025 15:36:31 +0000 (11:36 -0400)] 
correct behavior of parallel

it helps to actually set p_result when pushing the child.

Then, update the tests to match the documented behavior.

3 months agoit helps to track the child result
Alan T. DeKok [Tue, 15 Jul 2025 14:48:14 +0000 (10:48 -0400)] 
it helps to track the child result

3 months agouse macros for priorities, not hard-coded numbers
Alan T. DeKok [Tue, 15 Jul 2025 14:47:12 +0000 (10:47 -0400)] 
use macros for priorities, not hard-coded numbers

this helps with transitioning the actual values

3 months agogive expr.rcode() a better name: interpreter.rcode()
Alan T. DeKok [Tue, 15 Jul 2025 13:05:10 +0000 (09:05 -0400)] 
give expr.rcode() a better name: interpreter.rcode()

the old one is still around for compatibility reasons

3 months agoprint rcode if we don't get passed options
Alan T. DeKok [Tue, 15 Jul 2025 13:04:08 +0000 (09:04 -0400)] 
print rcode if we don't get passed options

3 months agoSimplify call_env expanding
Nick Porter [Tue, 15 Jul 2025 12:39:18 +0000 (13:39 +0100)] 
Simplify call_env expanding

Pointers to source tmpls are always set in call_env_expand_start, so
don't need handling in call_env_expand_repeat.

Parse only envs are never pushed as tmpls, so will never be processed in
call_env_expand_repeat.

3 months agoIf a tmpl is data, no need to push it for evaluation
Nick Porter [Tue, 15 Jul 2025 11:34:25 +0000 (12:34 +0100)] 
If a tmpl is data, no need to push it for evaluation

3 months agouse macro to set p_result
Alan T. DeKok [Tue, 15 Jul 2025 10:23:40 +0000 (06:23 -0400)] 
use macro to set p_result

which lets us initialize the structure with the correct values

3 months agoUse netlink API to insert ARP entries on FreeBSD
Nick Porter [Tue, 15 Jul 2025 09:54:19 +0000 (10:54 +0100)] 
Use netlink API to insert ARP entries on FreeBSD

Comparable to how FreeBSD's arp command adds entries using netlink.

3 months agoSet the request->rcode to the default section rcode when we enter a section
Arran Cudbard-Bell [Tue, 15 Jul 2025 05:13:07 +0000 (23:13 -0600)] 
Set the request->rcode to the default section rcode when we enter a section

3 months agoDefault rcode is now noop
Arran Cudbard-Bell [Tue, 15 Jul 2025 05:12:23 +0000 (23:12 -0600)] 
Default rcode is now noop

3 months agoSync up perl return codes with server return codes
Arran Cudbard-Bell [Tue, 15 Jul 2025 05:12:09 +0000 (23:12 -0600)] 
Sync up perl return codes with server return codes

3 months agoadd signal.raise("break"), this lets us stop the program after an unlang keyword...
Arran Cudbard-Bell [Tue, 15 Jul 2025 04:16:12 +0000 (22:16 -0600)] 
add signal.raise("break"), this lets us stop the program after an unlang keyword executes, which makes it easier to debug certain issues

3 months agoRLM_MODULE_NOT_SET=0 so that zeroed memory is invalid.
Arran Cudbard-Bell [Tue, 15 Jul 2025 05:14:00 +0000 (23:14 -0600)] 
RLM_MODULE_NOT_SET=0 so that zeroed memory is invalid.

3 months agouse macro to initialize struct with UNLANG_RESULT_NOT_SET
Alan T. DeKok [Mon, 14 Jul 2025 20:54:57 +0000 (16:54 -0400)] 
use macro to initialize struct with UNLANG_RESULT_NOT_SET

3 months agoMake the compound literal part of the macro
Arran Cudbard-Bell [Tue, 15 Jul 2025 03:27:38 +0000 (21:27 -0600)] 
Make the compound literal part of the macro

3 months agoThe result of the interpret should be the result_p of the frame not the section_result
Arran Cudbard-Bell [Tue, 15 Jul 2025 02:50:51 +0000 (20:50 -0600)] 
The result of the interpret should be the result_p of the frame not the section_result

This caused synchronous evaluation of xlats to return reject

3 months agomove redundant to its own function
Alan T. DeKok [Fri, 11 Jul 2025 23:05:05 +0000 (19:05 -0400)] 
move redundant to its own function

it's not really a group.  Instead, it should share the redundancy
functionality of redundant-load-balance

3 months agoRemove unused function
Arran Cudbard-Bell [Tue, 15 Jul 2025 01:14:38 +0000 (19:14 -0600)] 
Remove unused function

3 months agorun dsymutil if we have it and libbacktrace
Alan T. DeKok [Mon, 14 Jul 2025 13:29:04 +0000 (09:29 -0400)] 
run dsymutil if we have it and libbacktrace

3 months agoThe pid file may reference a process that doesn't exist
Nick Porter [Mon, 14 Jul 2025 08:14:43 +0000 (09:14 +0100)] 
The pid file may reference a process that doesn't exist

3 months agoadd p_result to unlang_tmpl_push()
Alan T. DeKok [Thu, 10 Jul 2025 19:35:06 +0000 (15:35 -0400)] 
add p_result to unlang_tmpl_push()

3 months agoRegression test for internal encoder
Arran Cudbard-Bell [Mon, 14 Jul 2025 00:22:00 +0000 (18:22 -0600)] 
Regression test for internal encoder

3 months agoAdd support for libbacktrace
Arran Cudbard-Bell [Mon, 14 Jul 2025 00:21:41 +0000 (18:21 -0600)] 
Add support for libbacktrace

3 months agoAdd utility functions to trim paths
Arran Cudbard-Bell [Mon, 14 Jul 2025 00:16:11 +0000 (18:16 -0600)] 
Add utility functions to trim paths

3 months agoDon't pass a pointer to the password value box...
Arran Cudbard-Bell [Mon, 14 Jul 2025 00:14:19 +0000 (18:14 -0600)] 
Don't pass a pointer to the password value box...

3 months agoAdd libbacktrace as a submodule
Arran Cudbard-Bell [Mon, 14 Jul 2025 00:14:03 +0000 (18:14 -0600)] 
Add libbacktrace as a submodule

3 months agoremove radius_packet_t
Alan T. DeKok [Sun, 13 Jul 2025 15:43:05 +0000 (11:43 -0400)] 
remove radius_packet_t

structs require alignment.  But packets can come from anywhere,
and aren't always aligned.

3 months agoregularize pool configuration for tests
Alan T. DeKok [Sun, 13 Jul 2025 12:04:03 +0000 (08:04 -0400)] 
regularize pool configuration for tests

it makes absolutely zero sense to have "uses = 2".  This means
that the connections will get closed in the middle of the unit
tests.

3 months agoshow when we hit boundaries
Alan T. DeKok [Sun, 13 Jul 2025 11:56:42 +0000 (07:56 -0400)] 
show when we hit boundaries

so that the poor admin reading the debug output can find out
why the connection was closed

3 months agoadd and use automatic re-init on connection failure
Alan T. DeKok [Sat, 12 Jul 2025 12:52:49 +0000 (08:52 -0400)] 
add and use automatic re-init on connection failure

Some SQL modules use a thread-specific connection hamdle for
escaping. However, that connection may fail for some reason.
When that happens, the connection should be reopened.

Otherwise, the connection will go down, and will never come back
up again.

3 months agoFix unaligned access in DHCPv4 "get_option" on MacOS
Arran Cudbard-Bell [Sun, 13 Jul 2025 15:15:42 +0000 (09:15 -0600)] 
Fix unaligned access in DHCPv4 "get_option" on MacOS

3 months agorework load balance
Alan T. DeKok [Fri, 11 Jul 2025 15:20:18 +0000 (11:20 -0400)] 
rework load balance

it now supports all data types via fr_value_box_hash()

more sanity checks and simplifications

3 months agoUpdate docs from raddb
Nick Porter [Fri, 11 Jul 2025 16:47:26 +0000 (17:47 +0100)] 
Update docs from raddb

3 months agoWhitespace
Nick Porter [Fri, 11 Jul 2025 16:48:07 +0000 (17:48 +0100)] 
Whitespace

3 months agoUpdate section names referenced in sample modules
Nick Porter [Fri, 11 Jul 2025 16:46:01 +0000 (17:46 +0100)] 
Update section names referenced in sample modules

3 months agoUpdate sample rest module
Nick Porter [Fri, 11 Jul 2025 16:21:35 +0000 (17:21 +0100)] 
Update sample rest module

3 months agoUpdate rlm_rest test config
Nick Porter [Fri, 11 Jul 2025 16:18:13 +0000 (17:18 +0100)] 
Update rlm_rest test config

3 months agoUse call_env to detect which sections rlm_rest is called in
Nick Porter [Thu, 10 Jul 2025 15:03:42 +0000 (16:03 +0100)] 
Use call_env to detect which sections rlm_rest is called in

And find conf sections based on the section name where the module is called.

3 months agoMake call_env_parse a public function
Nick Porter [Fri, 11 Jul 2025 12:46:04 +0000 (13:46 +0100)] 
Make call_env_parse a public function

So we can use a custom parser to point at a specific CONF_SECTION rather
than having them hard coded in to the parser config.

3 months agoadd comments and macros for mod_action
Alan T. DeKok [Fri, 11 Jul 2025 11:48:20 +0000 (07:48 -0400)] 
add comments and macros for mod_action

3 months agoadd error message to xlat_redundant when it fails
Alan T. DeKok [Fri, 11 Jul 2025 11:18:19 +0000 (07:18 -0400)] 
add error message to xlat_redundant when it fails

3 months agoadd tmpl_dump
Alan T. DeKok [Thu, 10 Jul 2025 16:18:30 +0000 (12:18 -0400)] 
add tmpl_dump

3 months agoScheduled fuzzing: Update src/tests/fuzzer-corpus/dhcpv4.tar
github-actions[bot] [Thu, 10 Jul 2025 04:33:55 +0000 (04:33 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/dhcpv4.tar

3 months agoScheduled fuzzing: Update src/tests/fuzzer-corpus/radius.tar
github-actions[bot] [Thu, 10 Jul 2025 04:33:53 +0000 (04:33 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/radius.tar

3 months agoScheduled fuzzing: Update src/tests/fuzzer-corpus/bfd.tar
github-actions[bot] [Thu, 10 Jul 2025 04:33:43 +0000 (04:33 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/bfd.tar

3 months agoScheduled fuzzing: Update src/tests/fuzzer-corpus/util.tar
github-actions[bot] [Thu, 10 Jul 2025 04:33:40 +0000 (04:33 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/util.tar

3 months agoScheduled fuzzing: Update src/tests/fuzzer-corpus/tftp.tar
github-actions[bot] [Thu, 10 Jul 2025 04:33:37 +0000 (04:33 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/tftp.tar

3 months agoScheduled fuzzing: Update src/tests/fuzzer-corpus/tacacs.tar
github-actions[bot] [Thu, 10 Jul 2025 04:33:31 +0000 (04:33 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/tacacs.tar

3 months agoScheduled fuzzing: Update src/tests/fuzzer-corpus/dns.tar
github-actions[bot] [Thu, 10 Jul 2025 04:32:55 +0000 (04:32 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/dns.tar

3 months agoScheduled fuzzing: Update src/tests/fuzzer-corpus/vmps.tar
github-actions[bot] [Thu, 10 Jul 2025 04:31:56 +0000 (04:31 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/vmps.tar

3 months agoScheduled fuzzing: Update src/tests/fuzzer-corpus/dhcpv6.tar
github-actions[bot] [Thu, 10 Jul 2025 04:31:47 +0000 (04:31 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/dhcpv6.tar

3 months agoCorrect #ifdef wrapped logic
Nick Porter [Wed, 9 Jul 2025 11:41:19 +0000 (12:41 +0100)] 
Correct #ifdef wrapped logic

3 months agoIf we send using pcap, use pcap to receive
Nick Porter [Wed, 9 Jul 2025 11:29:20 +0000 (12:29 +0100)] 
If we send using pcap, use pcap to receive

Calling recvfrom() on the pcap fd returns EWOULDBLOCK or EAGAIN