]>
git.ipfire.org Git - thirdparty/freeradius-server.git/log
Alan T. DeKok [Wed, 11 Mar 2026 20:06:06 +0000 (16:06 -0400)]
initialize "other" to quiet the static analyzer
Alan T. DeKok [Wed, 11 Mar 2026 19:18:28 +0000 (15:18 -0400)]
catch corner cases in parsing files
Alan T. DeKok [Wed, 11 Mar 2026 19:13:46 +0000 (15:13 -0400)]
use intermediate variables while talking the tree
instead of using the input variables, which then get
over-written
Alan T. DeKok [Wed, 11 Mar 2026 19:08:07 +0000 (15:08 -0400)]
bad shared secrets are warnings, not errors
Alan T. DeKok [Wed, 11 Mar 2026 19:07:19 +0000 (15:07 -0400)]
free entry on error reading file
Catalina Pineros [Tue, 10 Mar 2026 18:15:44 +0000 (14:15 -0400)]
fix error message missing parameter
(found by claude code)
Catalina Pineros [Tue, 10 Mar 2026 17:57:31 +0000 (13:57 -0400)]
error in DEBUG message
(found by claude code)
Catalina Pineros [Tue, 10 Mar 2026 17:22:41 +0000 (13:22 -0400)]
max_attr not incremented after partial failure
(found by claude code)
Catalina Pineros [Tue, 10 Mar 2026 17:09:49 +0000 (13:09 -0400)]
error in DEBUG message formatting
(found by claude code)
Catalina Pineros [Tue, 10 Mar 2026 16:12:36 +0000 (12:12 -0400)]
compare pointer to NULL instead of int 0
comparing a pointer to the integer literal 0 is technically valid C (implicit conversion to null pointer) but is non-idiomatic and can confuse static analyzers. should be != NULL.
(found by claude code)
Catalina Pineros [Tue, 10 Mar 2026 13:56:24 +0000 (09:56 -0400)]
overflow check correction, typo in error message
when parsing string ( static int read_string(rlm_isc_dhcp_tokenizer_t *state) )
if string is of size 255,
then '/0' is added at position 256, which is an overflow error
so ((size_t) (q - state->string) >= sizeof(state->string) -1 ) necessary to preserve space for the null terminator,
copy-paste mistake.
(found by claude code)
Alan T. DeKok [Tue, 10 Mar 2026 17:36:43 +0000 (13:36 -0400)]
print secrets at debug3, even if the configs say to suppress
Alan T. DeKok [Tue, 10 Mar 2026 17:30:46 +0000 (13:30 -0400)]
remove SecurID module.
the modern way to check SecurID tokens is via their REST API.
nolade [Thu, 5 Mar 2026 21:53:21 +0000 (16:53 -0500)]
docs-v4: Update/rewrite content for v4 prepaid tutorial (replaces PR 5472)
nolade [Thu, 5 Mar 2026 20:27:03 +0000 (15:27 -0500)]
docs-v4: update/rewrite content for proxy tutorials (v4) . Replaces PR 5739.
Alan T. DeKok [Tue, 10 Mar 2026 15:07:40 +0000 (11:07 -0400)]
fix typo
Alan T. DeKok [Tue, 10 Mar 2026 15:05:52 +0000 (11:05 -0400)]
return failure on error
Alan T. DeKok [Tue, 10 Mar 2026 15:00:14 +0000 (11:00 -0400)]
ensure that prefix length is limited to 0..7
Nick Porter [Tue, 10 Mar 2026 15:49:56 +0000 (15:49 +0000)]
Add Marconi TACACS+ dictionary
Nick Porter [Tue, 10 Mar 2026 14:23:57 +0000 (14:23 +0000)]
Add more Nokia attributes
From
https://infocenter.nokia.com/public/7750SR150R5A/index.jsp?topic=%2Fcom.sr.radius%2Fhtml%2Fsros_radius_attrib.html
ethan-thompson [Wed, 25 Feb 2026 21:09:32 +0000 (16:09 -0500)]
update checks for Server-Id
As per RFC 9915 the server MUST discard any Solicit, Confirm,
or Rebind messages that include a Server Identifier option.
Signed-off-by: ethan-thompson <ethan.thompson@networkradius.com>
ethan-thompson [Wed, 25 Feb 2026 21:23:08 +0000 (16:23 -0500)]
Information-Request can contain Server-ID
But if so, it has to match.
RFC 9915 Section 16.12 says that the server MUST discard any
received Information-request messages IF the message includes
a Server Identifier option, AND the DUID in the option does not
match the server's DUID, OR the message includes an IA option.
So Server-ID is optional in this case, and should be validated
only if it's present.
Signed-off-by: ethan-thompson <ethan.thompson@networkradius.com>
ethan-thompson [Wed, 25 Feb 2026 21:45:56 +0000 (16:45 -0500)]
If vp is not appended to tmp, it is not freed with tmp (as expected). Instead, explicitly free vp before going to fail.
Signed-off-by: ethan-thompson <ethan.thompson@networkradius.com>
ethan-thompson [Wed, 4 Mar 2026 16:23:13 +0000 (16:23 +0000)]
We added support for dhcpv6 lease query and lease query reply. We need to not reject them.
Signed-off-by: ethan-thompson <ethan.thompson@networkradius.com>
ethan-thompson [Wed, 4 Mar 2026 16:51:51 +0000 (16:51 +0000)]
Validate DHCPv6 reconfigure message option has a valid message type
Signed-off-by: ethan-thompson <ethan.thompson@networkradius.com>
ethan-thompson [Wed, 4 Mar 2026 17:08:24 +0000 (17:08 +0000)]
Update comment to use the correct number of hex digits for a 32-bit integer.
Signed-off-by: ethan-thompson <ethan.thompson@networkradius.com>
Alan T. DeKok [Tue, 10 Mar 2026 11:51:07 +0000 (07:51 -0400)]
only append to the output list if the inputs are valid
previously it was leaving decoded values in the list, and then
also appending the raw data.
Alan T. DeKok [Mon, 9 Mar 2026 21:57:31 +0000 (17:57 -0400)]
clean up more aggressively on error
Catalina Pineros [Mon, 9 Mar 2026 20:40:27 +0000 (16:40 -0400)]
fix bounds checking, add corresponding unit tests
blksize was missing minimum check,
if statement previously flags the 'end-of-file' packet as malformed,
unit tests added to check empty data block signals end-of-file, as well as invalid block size where minimum is 8
(protocols/tftp: fix empty DATA packet rejection and missing blksize minimum check 470)
Catalina Pineros [Mon, 9 Mar 2026 20:14:20 +0000 (16:14 -0400)]
fix syntax error
(fix(udpfromto.c): fix syntax error 'to = NULL:' -> 'to = NULL;' 177)
Catalina Pineros [Mon, 9 Mar 2026 16:06:37 +0000 (12:06 -0400)]
add 'goto error' after a REDEBUG() call
when trying to encrypt a 3gpp pseudonym without the ID hint byte:
if the request.EAP-Type does not match a SIM based EAP-Type
then return XLAT_ACTION_FAIL
(eap_aka_sim/xlat: missing goto error in encrypt xlat causes silent encryption with tag=0 75)
Catalina Pineros [Mon, 9 Mar 2026 14:57:01 +0000 (10:57 -0400)]
error function call parameter fixed
(rlm_redis_ippool_tool: fix NULL deref in driver_get_stats error path 351)
Catalina Pineros [Mon, 9 Mar 2026 14:50:38 +0000 (10:50 -0400)]
return code (-1) when allocation failure
(dhcpv6/dns: return -1 on OOM in default client allocation 204)
Catalina Pineros [Mon, 9 Mar 2026 14:13:09 +0000 (10:13 -0400)]
add missing #pragma once
(eap_aka_sim/module.h: add missing #pragma once 70)
Alan T. DeKok [Mon, 9 Mar 2026 21:33:34 +0000 (17:33 -0400)]
minor tweaks to edit code
Alan T. DeKok [Mon, 9 Mar 2026 21:14:08 +0000 (17:14 -0400)]
minor tweaks and fixes
ferror() does not return any reasonable error value.
If we're looping over all values in an 8-bit range, don't use an
8-bit index variable.
Alan T. DeKok [Mon, 9 Mar 2026 21:12:35 +0000 (17:12 -0400)]
update end check for strings
the check (a_end + 1) < in->end requires at least two bytes between
the two pointers. Since in->end points to the NUL terminator, this
means a trailing digit at position in->end - 1 (the very last data
byte) is never checked.
For example, parsing "123x" where x is the last character of
"in". a_end points to x, a_end + 1 == in->end, condition is false,
and any trailing data is not detected.
Alan T. DeKok [Mon, 9 Mar 2026 20:59:24 +0000 (16:59 -0400)]
add checks to quiet coverity
Alan T. DeKok [Mon, 9 Mar 2026 20:57:35 +0000 (16:57 -0400)]
set h && watcher if the connection succeeds immediately
Alan T. DeKok [Mon, 9 Mar 2026 20:14:07 +0000 (16:14 -0400)]
fr_dbuff_reset_talloc() can reset to at least minimum size
and doesn't need to always reset from larger (allowed) size, back
to minimum size
Nick Porter [Mon, 9 Mar 2026 18:20:02 +0000 (18:20 +0000)]
Typo
Nick Porter [Mon, 9 Mar 2026 17:30:23 +0000 (17:30 +0000)]
Add Nokia IPv6 packet counters
As found in
https://infocenter.nokia.com/public/7750SR150R5A/index.jsp?topic=%2Fcom.sr.radius%2Fhtml%2Fsros_radius_attrib.html
Alan T. DeKok [Mon, 9 Mar 2026 12:44:34 +0000 (08:44 -0400)]
various minor bug fixes in dl.c
Alan T. DeKok [Mon, 9 Mar 2026 02:08:28 +0000 (22:08 -0400)]
don't calculate "end" until we have checked the inputs
Alan T. DeKok [Mon, 9 Mar 2026 01:18:20 +0000 (21:18 -0400)]
add DNS tests for encoding, decoding, and error paths
Alan T. DeKok [Mon, 9 Mar 2026 01:30:38 +0000 (21:30 -0400)]
tweak corner cases and typos
Alan T. DeKok [Mon, 9 Mar 2026 01:19:34 +0000 (21:19 -0400)]
return failure on error case
Alan T. DeKok [Mon, 9 Mar 2026 00:57:48 +0000 (20:57 -0400)]
fix fr_nbo_to_int64v()
use / return int64_t, not uint64_t
set the high bits to zero starting at 0, not part-way through
Alan T. DeKok [Mon, 9 Mar 2026 00:43:37 +0000 (20:43 -0400)]
initialize variable before doing recursive call, not in recursion
Alan T. DeKok [Mon, 9 Mar 2026 00:40:55 +0000 (20:40 -0400)]
check current pointer, not packet start
Alan T. DeKok [Mon, 9 Mar 2026 00:38:55 +0000 (20:38 -0400)]
use real parent context
Alan T. DeKok [Mon, 9 Mar 2026 00:36:19 +0000 (20:36 -0400)]
use DEBUG for non-error message
Alan T. DeKok [Mon, 9 Mar 2026 00:34:42 +0000 (20:34 -0400)]
increment pointer after \r, \n, etc.
Alan T. DeKok [Mon, 9 Mar 2026 00:32:47 +0000 (20:32 -0400)]
copy va_list instead of re-using it,and other cleanups
Alan T. DeKok [Mon, 9 Mar 2026 00:32:18 +0000 (20:32 -0400)]
check each individual entry, not only the first one
Alan T. DeKok [Mon, 9 Mar 2026 00:26:15 +0000 (20:26 -0400)]
free on error
Alan T. DeKok [Mon, 9 Mar 2026 00:21:46 +0000 (20:21 -0400)]
fix typos
Alan T. DeKok [Mon, 9 Mar 2026 00:11:48 +0000 (20:11 -0400)]
use correct talloc type
Alan T. DeKok [Mon, 9 Mar 2026 00:08:27 +0000 (20:08 -0400)]
fix minor issues in rlm_mschap
Alan T. DeKok [Mon, 9 Mar 2026 00:01:52 +0000 (20:01 -0400)]
use distinct name per test
Alan T. DeKok [Sun, 8 Mar 2026 13:48:00 +0000 (09:48 -0400)]
remove auth_fail tests from Postgres until we determine why they fail
the rows are inserted, but the SELECT returns no data
Alan T. DeKok [Sun, 8 Mar 2026 12:35:05 +0000 (08:35 -0400)]
tweak lhs/rhs handling rules, and require well-formed strings
use different rules for local LHS / RHS, which ensures that
there's no aliasing, and that the local rules updates don't
mangle each other. There were corner cases where the LHS rules
would get over-written in the tmpl_needs_resolving() condition
near the end of the file.
Complain if quoted strings on the RHS aren't well formed.
Add a test for this case, too
Alan T. DeKok [Sun, 8 Mar 2026 12:33:07 +0000 (08:33 -0400)]
use correct talloc hierarchy, and clean up more on error
Alan T. DeKok [Sat, 7 Mar 2026 22:40:38 +0000 (17:40 -0500)]
minor fixes to map.c
remove unused variables, tweak cleanup paths to always clean up
intermediate lists.
Alan T. DeKok [Sat, 7 Mar 2026 18:39:34 +0000 (13:39 -0500)]
minor tweaks to connection handling
conn->shutdown may not exist, and other small changes for
consistency
Alan T. DeKok [Sat, 7 Mar 2026 15:35:28 +0000 (10:35 -0500)]
use vb_foo instead of datum.foo
and update comments to note that '%l' and '%c' are NOT dates,
but instead integers. If they were of type 'date', then they
would be printed as dates, and not as integers.
Alan T. DeKok [Sat, 7 Mar 2026 15:24:31 +0000 (10:24 -0500)]
use MEM in more places, and free buffers on error
Alan T. DeKok [Sat, 7 Mar 2026 14:48:06 +0000 (09:48 -0500)]
various minor bug fixes in compile.c
Alan T. DeKok [Sat, 7 Mar 2026 14:28:22 +0000 (09:28 -0500)]
various bug fixes for corner cases in rlm_isc_dhcp
Alan T. DeKok [Sat, 7 Mar 2026 14:19:03 +0000 (09:19 -0500)]
check for invalid MS-CHAP attributes
Alan T. DeKok [Sat, 7 Mar 2026 14:16:59 +0000 (09:16 -0500)]
zero out binding in destructure, before calling release
which avoids a double free
Alan T. DeKok [Sat, 7 Mar 2026 14:03:28 +0000 (09:03 -0500)]
ensure that frame->retry always has the same talloc parent
Alan T. DeKok [Sat, 7 Mar 2026 13:53:57 +0000 (08:53 -0500)]
various minor bug fixes in interpret.c
Alan T. DeKok [Sat, 7 Mar 2026 13:23:34 +0000 (08:23 -0500)]
more tests for corner cases of TACACS+ encoder
Alan T. DeKok [Sat, 7 Mar 2026 13:00:02 +0000 (08:00 -0500)]
more tests for corner cases of DHCPv4 encoder
Alan T. DeKok [Sat, 7 Mar 2026 12:52:21 +0000 (07:52 -0500)]
more tests for corner cases of DHCPv4 encoder
Catalina Pineros [Fri, 6 Mar 2026 20:59:52 +0000 (15:59 -0500)]
removed redundant free
fclose(f) also frees oc, so talloc_free(oc) is not necessary
(lib/util/fopencookie: fix double-free of cookie in fseek error path 159)
Catalina Pineros [Fri, 6 Mar 2026 20:12:41 +0000 (15:12 -0500)]
return code (-1) when invalid data type
(value.c: fr_value_box_ipaddr_from_network returns 0 instead of -1 for invalid type 302)
Catalina Pineros [Fri, 6 Mar 2026 18:44:41 +0000 (13:44 -0500)]
fixed double-counting, when updating source and destination statistics
code was updating both stat[src_code] and stat[dst_code], once when updating source statistics and once again when updating destination statistics.
(rlm_stats: per-IP stats double-count both src_code and dst_code 229)
Catalina Pineros [Fri, 6 Mar 2026 17:16:23 +0000 (12:16 -0500)]
remove impossible assert
ret == RD_KAFKA_CONF_UNKNOWN already checked in previous if statement that returns value 0. so assert is redundant, always fails, and also prevents cf_log_err() from printing error message
(lib/kafka: remove impossible assertion in kafka_topic_config_dflt 106)
Catalina Pineros [Fri, 6 Mar 2026 14:41:19 +0000 (09:41 -0500)]
return code (-1) when out of memory
(proto_dhcpv4/v6_udp.c: return 0 instead of -1 on talloc_zero failure in mod_instantiate 305)
Alan T. DeKok [Sat, 7 Mar 2026 12:30:09 +0000 (07:30 -0500)]
more tests for corner cases of RADIUS encoder
Alan T. DeKok [Fri, 6 Mar 2026 20:45:10 +0000 (15:45 -0500)]
use correct size for poisoned region
instead of relying on "slen", which is then over-written before
un-poisoning the region.
Alan T. DeKok [Fri, 6 Mar 2026 17:18:18 +0000 (12:18 -0500)]
clean up and tweak substr tests
Alan T. DeKok [Fri, 6 Mar 2026 17:11:41 +0000 (12:11 -0500)]
more corner cases for internal encoder / decoder
Alan T. DeKok [Fri, 6 Mar 2026 16:14:38 +0000 (11:14 -0500)]
more corner cases for DER
Alan T. DeKok [Fri, 6 Mar 2026 15:34:56 +0000 (10:34 -0500)]
more corner cases for TACACS+
Alan T. DeKok [Fri, 6 Mar 2026 15:11:42 +0000 (10:11 -0500)]
add corner cases / error tests for DHCPv6
Alan T. DeKok [Fri, 6 Mar 2026 04:08:49 +0000 (23:08 -0500)]
more tests for dhcpv4
Alan T. DeKok [Fri, 6 Mar 2026 04:00:59 +0000 (23:00 -0500)]
more corner cases for RADIUS
Alan T. DeKok [Fri, 6 Mar 2026 03:54:46 +0000 (22:54 -0500)]
add more tests for error cases and bad packets
Alan T. DeKok [Fri, 6 Mar 2026 03:43:14 +0000 (22:43 -0500)]
add tests for more corner cases
Alan T. DeKok [Fri, 6 Mar 2026 03:27:21 +0000 (22:27 -0500)]
disallow empty input files
while it can be nice to do nothing, it's best to do something.
Alan T. DeKok [Fri, 6 Mar 2026 03:20:44 +0000 (22:20 -0500)]
return on error
Arran Cudbard-Bell [Fri, 6 Mar 2026 04:29:28 +0000 (20:29 -0800)]
rhel: Disable dwz (dwarf compression), so we get debuginfo usable with lldb
Arran Cudbard-Bell [Fri, 6 Mar 2026 01:56:15 +0000 (17:56 -0800)]
docker: Copy GPG key from the build phase to reduce spurious failures
Alan T. DeKok [Fri, 6 Mar 2026 01:25:43 +0000 (20:25 -0500)]
count offers, not replies
Alan T. DeKok [Fri, 6 Mar 2026 01:25:01 +0000 (20:25 -0500)]
check for end pointer, too
Alan T. DeKok [Fri, 6 Mar 2026 01:21:56 +0000 (20:21 -0500)]
return on OOM
Alan T. DeKok [Fri, 6 Mar 2026 01:18:16 +0000 (20:18 -0500)]
update macro