]>
git.ipfire.org Git - thirdparty/freeradius-server.git/log
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 { ... }
Alan T. DeKok [Mon, 13 Oct 2025 09:27:09 +0000 (11:27 +0200)]
notes on RFC 5580
We do not (yet) support a UNION which references a KEY attribute
which is in a different attribute. Since the code now supports
attribute references for a UNION, it shouldn't be too hard to add.
Alan T. DeKok [Mon, 13 Oct 2025 08:33:43 +0000 (10:33 +0200)]
note that a stable release can include new modules
github-actions[bot] [Sat, 11 Oct 2025 04:32:31 +0000 (04:32 +0000)]
Scheduled fuzzing: Update src/tests/fuzzer-corpus/vmps.tar
github-actions[bot] [Sat, 11 Oct 2025 04:32:04 +0000 (04:32 +0000)]
Scheduled fuzzing: Update src/tests/fuzzer-corpus/util.tar
github-actions[bot] [Sat, 11 Oct 2025 04:31:28 +0000 (04:31 +0000)]
Scheduled fuzzing: Update src/tests/fuzzer-corpus/tftp.tar
github-actions[bot] [Sat, 11 Oct 2025 04:29:01 +0000 (04:29 +0000)]
Scheduled fuzzing: Update src/tests/fuzzer-corpus/dhcpv4.tar
github-actions[bot] [Sat, 11 Oct 2025 04:28:32 +0000 (04:28 +0000)]
Scheduled fuzzing: Update src/tests/fuzzer-corpus/dhcpv6.tar
github-actions[bot] [Sat, 11 Oct 2025 04:28:01 +0000 (04:28 +0000)]
Scheduled fuzzing: Update src/tests/fuzzer-corpus/dns.tar
github-actions[bot] [Sat, 11 Oct 2025 04:27:52 +0000 (04:27 +0000)]
Scheduled fuzzing: Update src/tests/fuzzer-corpus/radius.tar
github-actions[bot] [Sat, 11 Oct 2025 04:27:43 +0000 (04:27 +0000)]
Scheduled fuzzing: Update src/tests/fuzzer-corpus/bfd.tar
github-actions[bot] [Sat, 11 Oct 2025 04:25:53 +0000 (04:25 +0000)]
Scheduled fuzzing: Update src/tests/fuzzer-corpus/tacacs.tar
Arran Cudbard-Bell [Fri, 10 Oct 2025 16:48:22 +0000 (10:48 -0600)]
Same for rlm_sql_postgresql
Arran Cudbard-Bell [Fri, 10 Oct 2025 16:41:41 +0000 (10:41 -0600)]
Don't delete, and immediately insert Fd events in rlm_sql_mysql.c
Nick Porter [Thu, 9 Oct 2025 14:17:48 +0000 (15:17 +0100)]
Handle cancelling SQL requests that are already reapable
These are really complete, and don't need to go round the query
cancellation path.
Alan T. DeKok [Thu, 9 Oct 2025 12:42:40 +0000 (08:42 -0400)]
add dictionary validation for TACACS+
Alan T. DeKok [Wed, 8 Oct 2025 18:42:07 +0000 (14:42 -0400)]
move function to bottom of file
to be compatible with others, so there are consistent locations
Nick Porter [Wed, 8 Oct 2025 19:09:14 +0000 (20:09 +0100)]
FreeBSD doesn't appear to package luajit-devel any more
Nick Porter [Wed, 8 Oct 2025 18:55:52 +0000 (19:55 +0100)]
Ensure FreeBSD is up to date before running pkg install
Nick Porter [Wed, 8 Oct 2025 18:42:11 +0000 (19:42 +0100)]
Wrap Juniper TACACS dictionary in BEGIN-VENDOR ... END-VENDOR
Nick Porter [Tue, 7 Oct 2025 10:51:17 +0000 (11:51 +0100)]
Remove incorrect comment
Nick Porter [Fri, 3 Oct 2025 12:53:33 +0000 (13:53 +0100)]
Remove assert blocking error message
Arran Cudbard-Bell [Tue, 7 Oct 2025 17:14:36 +0000 (11:14 -0600)]
Add release notes for developers
Alan T. DeKok [Tue, 7 Oct 2025 15:27:17 +0000 (11:27 -0400)]
breaking chnages should be noted in each experimental release
Arran Cudbard-Bell [Mon, 6 Oct 2025 22:57:13 +0000 (16:57 -0600)]
File descriptors start at zero
Arran Cudbard-Bell [Mon, 6 Oct 2025 22:55:48 +0000 (16:55 -0600)]
Revert "add and use automatic re-init on connection failure"
This reverts commit
c141294c8e13171f99a8b8c510f2df68d0b03b8c .
It's not clear why this commit was necessary, and it caused the MySQL code to leak file descriptors when a connection could not be established to the MySQL server.
Alan T. DeKok [Fri, 3 Oct 2025 16:23:03 +0000 (12:23 -0400)]
word smithing and updates
Arran Cudbard-Bell [Thu, 2 Oct 2025 23:37:36 +0000 (17:37 -0600)]
Remove UNLANG_ACTION_STOP_PROCESSING
It's not needed anymore. Fatal errors should use `RETURN_UNLANG_ACTION_FATAL` to signal the request to stop.
Fix issue where finally-timeout test wasn't actually running because the dummy request got cancalled during the virtual server call (oops).
Add regression tests for module calls being immediately cancelled in finally sections.
Arran Cudbard-Bell [Wed, 1 Oct 2025 04:25:05 +0000 (00:25 -0400)]
Print better errors in control socket test
Alan T. DeKok [Thu, 2 Oct 2025 21:04:23 +0000 (17:04 -0400)]
add release management doc
Alan T. DeKok [Thu, 2 Oct 2025 16:34:52 +0000 (12:34 -0400)]
reformat and word wrap
Alan T. DeKok [Sun, 28 Sep 2025 16:00:48 +0000 (12:00 -0400)]
allow UTF-8 characters while reading directories
Alan T. DeKok [Sun, 28 Sep 2025 13:42:44 +0000 (09:42 -0400)]
handle zero terminated strings better in UTF8 checks.
the final zero is not valid UTF8.
Control characters are not valid UTF8.
Limit the allowed UTF8 length to where the trailing zero is located
Nick Porter [Wed, 1 Oct 2025 15:57:56 +0000 (16:57 +0100)]
If the the LDAP query failed to enqueue, then query will be NULL
Nick Porter [Wed, 1 Oct 2025 15:56:49 +0000 (16:56 +0100)]
Use autofreeing of autz_ctx
It is parented off a higher stack frame, and if `unlang_module_yield`
has been used to set a repeat function, which needs to be done before
attempting to submit a query, then `autz_ctx` needs to remain until that
repeat has happened.
Nick Porter [Wed, 1 Oct 2025 15:52:39 +0000 (16:52 +0100)]
Return UNLANG_ACTION_FAIL if the module call fails
Nick Porter [Wed, 1 Oct 2025 13:43:34 +0000 (14:43 +0100)]
Remove over restrictive checks on array index contents
This reported incorrect errors - such as when an attribute is used as an
array index.
Invalid array indexes (e.g. undefined attributes or invalid data types)
are caught during policy compilation.