]>
git.ipfire.org Git - thirdparty/freeradius-server.git/log
Arran Cudbard-Bell [Fri, 7 Nov 2025 01:35:09 +0000 (17:35 -0800)]
Don't use strlen in talloced buffers
Arran Cudbard-Bell [Fri, 10 Oct 2025 20:59:48 +0000 (14:59 -0600)]
Whitespace
Nick Porter [Thu, 6 Nov 2025 11:42:47 +0000 (11:42 +0000)]
Document %uuid.v4() and %uuid.v7()
Nick Porter [Thu, 6 Nov 2025 11:28:55 +0000 (11:28 +0000)]
Add test of %uuid.v4() and %uuid.v7()
Nick Porter [Thu, 6 Nov 2025 10:41:13 +0000 (10:41 +0000)]
Add %uuid.v4() and %uuid.v7() for generating UUIDs
Alan T. DeKok [Tue, 4 Nov 2025 21:23:13 +0000 (16:23 -0500)]
use the correct link
Alan T. DeKok [Sun, 2 Nov 2025 19:01:14 +0000 (14:01 -0500)]
handle corner cases of Protocol-Error
if there's no response configured, and the client supports
Protocol-Error, then synthesize a Protocol-Error with an
appropriate Error-Cause.
If there is a Protocol-Error response configured and the client
does not support it, then synthesize an appropriate response.
Nick Porter [Mon, 3 Nov 2025 12:52:47 +0000 (12:52 +0000)]
Add read / write hexdump option to TACACS listener
Nick Porter [Mon, 3 Nov 2025 11:55:47 +0000 (11:55 +0000)]
Add read / write hexdump options to RADIUS app_io
Nick Porter [Mon, 3 Nov 2025 11:52:58 +0000 (11:52 +0000)]
Add an app IO callback to set the read / write hexdump option
Nick Porter [Mon, 3 Nov 2025 11:51:25 +0000 (11:51 +0000)]
Add optional hexdump of packet read and write
For when really low level debugging is needed
Alan T. DeKok [Sat, 1 Nov 2025 19:26:12 +0000 (15:26 -0400)]
warn if Original-Packet-Code is missing
and delete it if we see it
Alan T. DeKok [Sat, 1 Nov 2025 19:20:26 +0000 (15:20 -0400)]
if there's no Error-Cause, add one in
Alan T. DeKok [Sat, 1 Nov 2025 18:56:40 +0000 (14:56 -0400)]
warn if Original-Packet-Code is missing, and delete it from the reply
it's a link-layer signaling issue. So we can nuke it as soon as
we receive it.
Alan T. DeKok [Fri, 31 Oct 2025 21:33:46 +0000 (17:33 -0400)]
let's do error messages, too
Alan T. DeKok [Fri, 31 Oct 2025 21:27:45 +0000 (17:27 -0400)]
return error on fatal socket, not 0
Nick Porter [Fri, 31 Oct 2025 17:44:19 +0000 (17:44 +0000)]
This should really be DEBUG2 to reduce noise
Which matches the packet expiry timeout debugs
Nick Porter [Fri, 31 Oct 2025 17:03:58 +0000 (17:03 +0000)]
Update docs on DHCP options from SQL
The DHCP specific schema from v3 doesn't ship with v4, and now that
`%sql()` can return multiple values this provides a more flexible
approach than the call to the `sql` module.
Nick Porter [Fri, 31 Oct 2025 13:39:37 +0000 (13:39 +0000)]
Add test of %map() with multiple input boxes
Nick Porter [Fri, 31 Oct 2025 13:38:50 +0000 (13:38 +0000)]
Allow %map() to work on a list of input boxes
This allows syntax like `%map(%sql("SELECT attrmap FROM ..."))` or
`%map(foo[*])` to perform multiple attribute manipulations.
Alan T. DeKok [Fri, 31 Oct 2025 13:30:03 +0000 (09:30 -0400)]
hoist assertion around print_args. Fixes #5672
Alan T. DeKok [Fri, 31 Oct 2025 11:30:43 +0000 (07:30 -0400)]
the clone code supports leaf attributes, so allow it here, too
iTrooz [Thu, 30 Oct 2025 20:59:19 +0000 (21:59 +0100)]
add official Docker Hub link to documentation
Alan T. DeKok [Thu, 30 Oct 2025 16:52:02 +0000 (12:52 -0400)]
update recommendations for PAP
Nick Porter [Thu, 30 Oct 2025 11:24:37 +0000 (11:24 +0000)]
Typo
Alan T. DeKok [Wed, 29 Oct 2025 11:20:56 +0000 (07:20 -0400)]
be explicit about which data types we accept in the dictionaries
Nick Porter [Wed, 29 Oct 2025 11:44:19 +0000 (11:44 +0000)]
Report correct config option name. Fixes #5669
Nick Porter [Wed, 29 Oct 2025 11:31:08 +0000 (11:31 +0000)]
Record the current request in the reponse ctx
Gerald Vogt [Wed, 29 Oct 2025 03:40:51 +0000 (04:40 +0100)]
allow 389ds legacy PBKDF2_SHA256 to use arbitrary iteration count (#5653)
Alan T. DeKok [Tue, 28 Oct 2025 13:29:08 +0000 (09:29 -0400)]
allow return of negative number. Fixes #5666
Alan T. DeKok [Tue, 28 Oct 2025 13:06:35 +0000 (09:06 -0400)]
omit printing a union if it has only one child.
this simplifies the output and makes it easier to understand.
it's also the counterpart to adding the ALIAS which points from
the parent of the union, to the union member.
Other parts of the server will need to be updated to omit unions,
too. But for now, this is good enough for tests.
Alan T. DeKok [Tue, 28 Oct 2025 12:32:53 +0000 (08:32 -0400)]
simplify this code by using the updated API
Alan T. DeKok [Tue, 28 Oct 2025 12:31:26 +0000 (08:31 -0400)]
add short-circuit checks to fr_pair_afrom_da_depth_nested
Alan T. DeKok [Mon, 27 Oct 2025 21:35:57 +0000 (17:35 -0400)]
add alias for children of UNION
so if we have:
foo struct
bar union
baz struct
blag uint32
We do need to store that internally as the full hierarchy.
However, as a special case, we add an alias for each child:
foo struct
bar union
baz struct
blag uint32
baz ALIAS bar.baz
blag ALIAS bar.blag
this lets the user type in something reasonable, i.e. without the
intermediate UNION.
Alan T. DeKok [Mon, 27 Oct 2025 21:32:47 +0000 (17:32 -0400)]
handle ALIAS attributes when parsing
so that we create the full tree, and not a partial one
Alan T. DeKok [Mon, 27 Oct 2025 20:33:39 +0000 (16:33 -0400)]
fix length passed to talloc_bstr_realloc()
the meaning of the length parameter should not change depending
on the first parameter being NULL or not.
Nick Porter [Tue, 28 Oct 2025 08:19:22 +0000 (08:19 +0000)]
More DHCPv4 docs updates
Nick Porter [Mon, 27 Oct 2025 17:30:20 +0000 (17:30 +0000)]
This is really an error
And marking it as such will create Module-Failure-Message which is
helpful for logging.
Joshua Rogers [Mon, 27 Oct 2025 17:10:34 +0000 (01:10 +0800)]
bio/haproxy: fix CRLF check in PROXY v1 parser
memcmp compared 3 bytes against "\r\n", which required a trailing NUL on the wire.
Compare 2 bytes and consume 2 so valid headers are accepted and connections are not dropped.
This bug was found by ZeroPath
Signed-off-by: Joshua Rogers <MegaManSec@users.noreply.github.com>
Alan T. DeKok [Mon, 27 Oct 2025 14:59:49 +0000 (10:59 -0400)]
add test for encoding / decoding leaf child of union
Alan T. DeKok [Mon, 27 Oct 2025 13:17:33 +0000 (09:17 -0400)]
allow children of UNION to be TLV or leaf.
because the struct encoder can be updated to allow that.
Note that the struct encode / decode has not yet been updated
Alan T. DeKok [Mon, 27 Oct 2025 13:17:21 +0000 (09:17 -0400)]
alignment issues
Joshua Rogers [Sun, 26 Oct 2025 13:26:26 +0000 (21:26 +0800)]
rlm_ocsp: correct timeout comparison in OCSP_sendreq_nbio retry loop
Previously broke out while elapsed < timeout, causing early exit and
treating OCSP as timed out. Break only when elapsed >= timeout so we
retry until the deadline. Prevents unintended skips and softfail
acceptance of revoked certs.
This bug was found with ZeroPath.
Signed-off-by: Joshua Rogers <MegaManSec@users.noreply.github.com>
Nick Porter [Mon, 27 Oct 2025 09:42:26 +0000 (09:42 +0000)]
Use a consistent name
Nick Porter [Mon, 27 Oct 2025 09:32:32 +0000 (09:32 +0000)]
Rework DHCP docs with v4 attribute names and improved rlm_files capabilities
Alan T. DeKok [Sun, 26 Oct 2025 12:08:23 +0000 (08:08 -0400)]
new URL as per hostap list
Alan T. DeKok [Sat, 25 Oct 2025 15:37:37 +0000 (11:37 -0400)]
remove -Wno-cast-align
Some configure output had both -Wcast-align and -Wno-cast-align,
which doesn't make any sense.
The -Wno-cast-align is there to quiet issues with sbuff.h and
dbuff.h. Those header files define macros which use two _Generic
statements, one for each function argument. However, such use of
_Generic isn't limited to treating each case independently.
Instead, all possible combinations of _Generics must be valid,
even ones which don't make sense (and aren't chosen). This results
in the compiler complaining.
Since we don't understand what's going on there, we just disable
-Wcast-align for those two header files, and leave it globally
enabled for everything else.
Alan T. DeKok [Sat, 25 Oct 2025 15:23:52 +0000 (11:23 -0400)]
remove unused macros and functions
Alan T. DeKok [Sat, 25 Oct 2025 14:33:16 +0000 (10:33 -0400)]
remove unused functions
Alan T. DeKok [Sat, 25 Oct 2025 10:37:52 +0000 (06:37 -0400)]
we no longer need to disable this warning
Alan T. DeKok [Sat, 25 Oct 2025 10:51:54 +0000 (06:51 -0400)]
initialize properly
Alan T. DeKok [Sat, 25 Oct 2025 10:12:38 +0000 (06:12 -0400)]
define and use TEST_TERMINATOR
Alan T. DeKok [Sat, 25 Oct 2025 10:12:20 +0000 (06:12 -0400)]
field initializers
Alan T. DeKok [Fri, 24 Oct 2025 19:28:15 +0000 (15:28 -0400)]
define and use DICT_AUTOLOAD_TERMINATOR
C23 complains about { NULL } being used to initialize something.
we should either use { }, or { .field = NULL }
Alan T. DeKok [Fri, 24 Oct 2025 19:31:48 +0000 (15:31 -0400)]
explicitly initialize same field used by the code
Alan T. DeKok [Fri, 24 Oct 2025 19:12:30 +0000 (15:12 -0400)]
initialize using the correct data type
Alan T. DeKok [Fri, 24 Oct 2025 10:13:40 +0000 (12:13 +0200)]
suppress Protocol-Error responses when the client doesn't support it
and print out a descriptive message as to why the Protocol-Error
packet was suppressed
but for Access-Request, swap the answer to Access-Reject.
RFC8559 already says that failed CoA can send a NAK with Error-Cause
Alan T. DeKok [Fri, 24 Oct 2025 10:09:56 +0000 (12:09 +0200)]
add protocol_error flag to the client structure
this really belongs in a protocol-specific field. Oh well. We'll
fix that later
Alan T. DeKok [Fri, 24 Oct 2025 10:05:50 +0000 (12:05 +0200)]
Add Protocol-Error support to radclient
Alan T. DeKok [Fri, 24 Oct 2025 10:03:14 +0000 (12:03 +0200)]
add Protocol-Error in more cases
and clean up the code for consistency
Alan T. DeKok [Fri, 24 Oct 2025 10:03:01 +0000 (12:03 +0200)]
whitespace
Alan T. DeKok [Thu, 23 Oct 2025 09:52:01 +0000 (11:52 +0200)]
fix more errors found by using -std=c23
Alan T. DeKok [Thu, 23 Oct 2025 09:51:31 +0000 (11:51 +0200)]
use -std=c23 if it's available, otherwise use -std=c11
the "configure" script was not yet updated
Nick Porter [Thu, 23 Oct 2025 13:13:30 +0000 (14:13 +0100)]
Correct return code
If there's no "begin" query, then no child is pushed.
The expansion of the first query to run is handled by the resume
function.
Nick Porter [Thu, 23 Oct 2025 09:31:02 +0000 (10:31 +0100)]
Test decoding repeated options at the end of a DHCPv4 packet
Nick Porter [Thu, 23 Oct 2025 09:20:16 +0000 (10:20 +0100)]
Correctly handle 2 instances of a DHCP option at the end of a packet
In the case a packet ends
<op n><len><data>
<op n><len><data>
<op 255>
there will only be 1 byte (the <op 255>) after going round the loop
twice. Previously this would have failed the test (end - next) < 2
without having detected that the option code has changed.
Alan T. DeKok [Thu, 23 Oct 2025 08:07:52 +0000 (10:07 +0200)]
fix errors found by using -std=c23
Alan T. DeKok [Wed, 22 Oct 2025 12:41:58 +0000 (14:41 +0200)]
copy enum from Packet-Type
Alan T. DeKok [Wed, 22 Oct 2025 09:09:22 +0000 (11:09 +0200)]
fix initializer for new compiler
tmpl_escape_t has multiple fields, so you can't initialize just one
via foo.bar.baz = {}. Instead, you have to explicitly initialize the
entire struct, via foo.bar = { .bar = {} }
Nick Porter [Tue, 21 Oct 2025 15:49:16 +0000 (16:49 +0100)]
Use current xlats and syntax
Nick Porter [Tue, 21 Oct 2025 15:43:19 +0000 (16:43 +0100)]
Subrequest types use enum format
Nick Porter [Tue, 21 Oct 2025 15:39:29 +0000 (16:39 +0100)]
Better option name
Nick Porter [Mon, 20 Oct 2025 15:34:29 +0000 (16:34 +0100)]
fr_bio_fd_unix_shutdown is called after fr_bio_fd_close
Which means the bio state is expected to be FR_BIO_FD_STATE_CLOSED
Nick Porter [Mon, 20 Oct 2025 09:39:36 +0000 (10:39 +0100)]
Add test of using htrie in rlm_files for string prefix match
Nick Porter [Mon, 20 Oct 2025 09:36:02 +0000 (10:36 +0100)]
Set option name in correct module
Nick Porter [Mon, 20 Oct 2025 09:00:39 +0000 (10:00 +0100)]
Add DHCPv4 Genexis V-I-Vendor-Specific options
Nick Porter [Thu, 16 Oct 2025 13:28:13 +0000 (14:28 +0100)]
Add htrie_type option to rlm_files
Nick Porter [Thu, 16 Oct 2025 13:09:55 +0000 (14:09 +0100)]
Pass instance data to getrecv_filename to reduce argument count
github-actions[bot] [Sun, 19 Oct 2025 04:31:25 +0000 (04:31 +0000)]
Scheduled fuzzing: Update src/tests/fuzzer-corpus/der.tar
github-actions[bot] [Sun, 19 Oct 2025 04:30:16 +0000 (04:30 +0000)]
Scheduled fuzzing: Update src/tests/fuzzer-corpus/cbor.tar
Nick Porter [Fri, 17 Oct 2025 09:09:39 +0000 (10:09 +0100)]
Just return -1 for errors (it's all the callers check) (CID #
1667131 )
Nick Porter [Thu, 16 Oct 2025 12:53:04 +0000 (13:53 +0100)]
Add test of %dhcpv4.decode / %dhcpv4.encode using root ctx
Nick Porter [Thu, 16 Oct 2025 11:05:40 +0000 (12:05 +0100)]
Add attributes to support Option 43 handling of TR069 options
Nick Porter [Thu, 16 Oct 2025 11:36:23 +0000 (12:36 +0100)]
These are defined as strings
In https://www.broadband-forum.org/pdfs/tr-069-1-6-1.pdf
Nick Porter [Thu, 16 Oct 2025 11:04:37 +0000 (12:04 +0100)]
Add optional argument to %<proto>.decode to specify decoding root
Nick Porter [Thu, 16 Oct 2025 09:47:54 +0000 (10:47 +0100)]
Use root in decode ctx as decode root for DHCPv4
Defaulting to the DHCPv4 dictionary root
Nick Porter [Thu, 16 Oct 2025 07:54:34 +0000 (08:54 +0100)]
Use the dict_attr from the encoding context as the root for DHCPv4
Nick Porter [Wed, 15 Oct 2025 19:28:23 +0000 (20:28 +0100)]
Add a TLV to use as a root for decoded Option 43 data
Nick Porter [Wed, 15 Oct 2025 19:23:27 +0000 (20:23 +0100)]
%<proto>.encode(Foo, Foo) means encode the children of Foo with Foo as the ctx
Nick Porter [Wed, 15 Oct 2025 18:51:31 +0000 (19:51 +0100)]
Verify the relationship between the pair to encode and the root ctx
Nick Porter [Wed, 15 Oct 2025 18:47:20 +0000 (19:47 +0100)]
Add optional argument to %<proto>.encode() to specify encoding root
And pass it to the encode context allocation routine.
Nick Porter [Wed, 15 Oct 2025 16:36:43 +0000 (17:36 +0100)]
Add optional dict_attr to encode / decode ctx alloc signature
To allow a root DA to be specified for the encoding / decoding context
Nick Porter [Tue, 14 Oct 2025 17:31:49 +0000 (18:31 +0100)]
Correct path manipulation when reading all files in a directory
Alan T. DeKok [Tue, 14 Oct 2025 13:17:12 +0000 (15:17 +0200)]
update transaction functionality so it's useful
edits don't fail. So we update the documentation to match.
grouped edits are atomic only if they're in a transaction. So we
update the documentation to match.
But since edit statements never fail, the transaction keyword will
never detect that. So we allow if/else/elsif statements inside of
a transaction. And update the documentation to match.
The example documentation is also update to note that you have to
explicitly check that the assignment failed
Alan T. DeKok [Mon, 13 Oct 2025 13:34:33 +0000 (15:34 +0200)]
allow checking result of unlang_tmpl_push()
we don't actually do it right now, for long reasons outlined in
the comments
Alan T. DeKok [Tue, 14 Oct 2025 12:16:56 +0000 (14:16 +0200)]
add UNLANG_ACTION_FAIL
Alan T. DeKok [Tue, 14 Oct 2025 06:20:28 +0000 (08:20 +0200)]
typo
Nick Porter [Tue, 14 Oct 2025 11:00:10 +0000 (12:00 +0100)]
Add Cisco VSA 49
Alan T. DeKok [Mon, 13 Oct 2025 14:18:42 +0000 (16:18 +0200)]
use UNLANG_ACTION_FAIL
instead of manually setting *p_result and returning CALCULATE_RESULT.
it's the same thing, and unifies the code path
Alan T. DeKok [Mon, 13 Oct 2025 13:08:07 +0000 (15:08 +0200)]
don't print catch (null) for catch { ... }