]> git.ipfire.org Git - thirdparty/freeradius-server.git/log
thirdparty/freeradius-server.git
6 days agoRemove spurious policy from sample default virtual server developer/ndptech
Nick Porter [Tue, 14 Jul 2026 16:34:03 +0000 (17:34 +0100)] 
Remove spurious policy from sample default virtual server

6 days agoci: bump FreeBSD pip package to py312-pip
Arran Cudbard-Bell [Tue, 14 Jul 2026 14:47:25 +0000 (10:47 -0400)] 
ci: bump FreeBSD pip package to py312-pip

FreeBSD's package repos dropped the python 3.11 flavour, py312 is the current default.

6 days agojson: skip json_object_put leak assert on json-c >= 0.19
Arran Cudbard-Bell [Tue, 14 Jul 2026 14:43:10 +0000 (10:43 -0400)] 
json: skip json_object_put leak assert on json-c >= 0.19

json-c 0.19 returns 0 from json_object_put() for freed scalars and empty containers, so the return value can't identify leaked references. Fix proposed upstream in json-c/json-c#945.

6 days agoadd %module.call()
Alan T. DeKok [Tue, 14 Jul 2026 11:58:29 +0000 (07:58 -0400)] 
add %module.call()

and update the home server / proxy documentation to match

6 days agoadd %module.call()
Alan T. DeKok [Tue, 14 Jul 2026 11:58:29 +0000 (07:58 -0400)] 
add %module.call()

with some rather severe limitations, but that's OK

6 days agochange variable name
Alan T. DeKok [Tue, 14 Jul 2026 11:55:12 +0000 (07:55 -0400)] 
change variable name

to make it clearer that the function is generic

6 days agodelay check for virtual server until we need to dereference it
Alan T. DeKok [Tue, 14 Jul 2026 02:26:25 +0000 (22:26 -0400)] 
delay check for virtual server until we need to dereference it

6 days agomake error message more descriptive
Alan T. DeKok [Tue, 14 Jul 2026 01:50:03 +0000 (21:50 -0400)] 
make error message more descriptive

6 days agoaccount for packet header when calling memmove() in radclient
Alan T. DeKok [Tue, 14 Jul 2026 01:37:45 +0000 (21:37 -0400)] 
account for packet header when calling memmove() in radclient

6 days agoloop over virtual modules, compiling them
Alan T. DeKok [Mon, 13 Jul 2026 22:24:08 +0000 (18:24 -0400)] 
loop over virtual modules, compiling them

6 days agoadd unlang_compile_virtual_module()
Alan T. DeKok [Mon, 13 Jul 2026 22:23:29 +0000 (18:23 -0400)] 
add unlang_compile_virtual_module()

as a minimal wrapper around unlang_compile_section()

7 days agoexport API to iterate over virtual modules
Alan T. DeKok [Mon, 13 Jul 2026 18:47:18 +0000 (14:47 -0400)] 
export API to iterate over virtual modules

7 days agocheck dictionaries in a virtual module.
Alan T. DeKok [Mon, 13 Jul 2026 18:00:23 +0000 (14:00 -0400)] 
check dictionaries in a virtual module.

this doesn't catch all of the situations, but it catches many of
them.

7 days agoRevert "disable json assert on OSX, it always fails"
Alan T. DeKok [Mon, 13 Jul 2026 17:52:37 +0000 (13:52 -0400)] 
Revert "disable json assert on OSX, it always fails"

This reverts commit b4789234503dd6d5f16ec5c08d2728dca7dfb630.

it randomly fails on other platforms, too

7 days agoadd check for "all same" modules and xlat_redundant
Alan T. DeKok [Mon, 13 Jul 2026 15:54:51 +0000 (11:54 -0400)] 
add check for "all same" modules and xlat_redundant

the previous commit was step 1, this is step 2.

7 days agodo not immediately resolve modules in a virtual module
Alan T. DeKok [Mon, 13 Jul 2026 15:43:23 +0000 (11:43 -0400)] 
do not immediately resolve modules in a virtual module

due to ordering issues, they may not have been loaded yet.

7 days agocheck for duplicate virtual modules, too
Alan T. DeKok [Mon, 13 Jul 2026 14:49:59 +0000 (10:49 -0400)] 
check for duplicate virtual modules, too

7 days agoupdate the example configuration for radius module
Alan T. DeKok [Mon, 13 Jul 2026 14:59:56 +0000 (10:59 -0400)] 
update the example configuration for radius module

so that it works

10 days agotweak "cron" documentation
Alan T. DeKok [Fri, 10 Jul 2026 18:57:47 +0000 (14:57 -0400)] 
tweak "cron" documentation

and show that it can be used as a watchdog timer.

10 days agoregenerate raddb configuration files from source
Alan T. DeKok [Fri, 10 Jul 2026 14:18:09 +0000 (10:18 -0400)] 
regenerate raddb configuration files from source

and word wrap them.

10 days agoword wrap config files after conf2adoc
Alan T. DeKok [Fri, 10 Jul 2026 14:17:52 +0000 (10:17 -0400)] 
word wrap config files after conf2adoc

10 days agomore cleanups for wrap program
Alan T. DeKok [Fri, 10 Jul 2026 14:17:01 +0000 (10:17 -0400)] 
more cleanups for wrap program

10 days agotweak whitespace for ```, etc.
Alan T. DeKok [Fri, 10 Jul 2026 13:47:45 +0000 (09:47 -0400)] 
tweak whitespace for ```, etc.

some of the files had quoted text which had extra indents, which
isn't needed and causes problems.

10 days agotweak doc.raddb rules
Alan T. DeKok [Fri, 10 Jul 2026 13:19:14 +0000 (09:19 -0400)] 
tweak doc.raddb rules

add "clean" rule, add rule for radrelay.conf

change rules so that for modules, their example configuration
is placed at the bottom of the converted file.  So that the
documentation is a bit clearer.

For everything else, the example configuration is inline with the
documentation.  For virtual servers, the docs say things like
"this next policy", which is confusing when the policy is at the
bottom of the file instead of in-line

11 days agoeap_aka_sim: allow externally-derived CK'/IK' for EAP-AKA' (#5894)
Pau Nadeu [Thu, 9 Jul 2026 21:52:39 +0000 (00:52 +0300)] 
eap_aka_sim: allow externally-derived CK'/IK' for EAP-AKA' (#5894)

* eap_aka_sim: allow externally-derived CK'/IK' for EAP-AKA'

In a 3GPP SWx deployment the HSS performs the EAP-AKA' key transform
itself (TS 33.402 Annex A) and returns CK'/IK' already bound to the
Access Network Identity. The server must then not derive CK'/IK' a
second time from CK/IK, or the MSK will not match the peer.

Add a per-instance config item derive_ck_ik_prime (default yes,
unchanged behavior) to the eap-aka-prime process module. When set to
no, the module reads CK'/IK' from the new control.CK-Prime /
control.IK-Prime attributes and fr_aka_sim_crypto_umts_kdf_1() skips
its local derivation.

- dictionary: add CK-Prime (284) and IK-Prime (285)
- keys: add ck_ik_prime_provided flag
- vector: add fr_aka_sim_vector_umts_ck_ik_prime_from_attrs()
- crypto: guard ck_ik_prime_derive() on the flag; add unit test
- process/eap_aka_prime: add derive_ck_ik_prime config item

The default leaves existing EAP-AKA' (local Milenage / AuC) behavior
byte-identical.

* eap_aka_sim: gate external CK'/IK' on attribute presence

Per arr2036 review on #5894: drop the derive_ck_ik_prime config knob
and route the external CK'/IK' path purely on the presence of
control.CK-Prime / control.IK-Prime in the request control list.

If the operator's quintuplet source (e.g. a 3GPP HSS over SWx that
performs the RFC 5448 / TS 33.402 Annex A transform itself) populates
control.CK-Prime, the AKA' KDF reads it from there. If the attributes
are absent the module falls back to the local derivation against
control.CK / control.IK as before.

Removes:
  - submodule_config entry for derive_ck_ik_prime in eap_aka_prime/base.c
  - derive_ck_ik_prime field on eap_aka_sim_process_conf_t
  - branch in state_machine.c that read inst->derive_ck_ik_prime

Functionally equivalent for the existing use case (eap-aka-prime site
with control.CK-Prime / control.IK-Prime populated by the quintuplet
fetch); plain EAP-AKA and EAP-AKA' without external keys are
unaffected.

* eap_aka_sim: distinguish absent vs invalid CK-Prime/IK-Prime

fr_aka_sim_vector_umts_ck_ik_prime_from_attrs() now returns three
states so the caller can tell a normal "fall back to local Annex A
derivation" path apart from a real configuration error:

  0  control.CK-Prime / control.IK-Prime both present and valid;
     keys->ck_ik_prime_provided is set and kdf_1 skips the local
     transform.

  1  Neither attribute is supplied.  Logged at RDEBUG3 only (the
     default AKA' path that derives CK'/IK' locally is the normal
     case for most callers); the caller falls through to kdf_1 which
     performs the Annex A derivation.

  -1 One of the two attributes is present but the other is missing,
     or either attribute has the wrong octet length.  Logged at
     REDEBUG (real configuration error); the state machine routes to
     common_failure_notification.

Updates the eap-aka-prime state-machine branch added in the previous
commit to use the new contract (goto failure only on -1).  Default
EAP-AKA' deployments that do not set CK-Prime/IK-Prime see no log
noise on a production debug level, matching pre-arr2036 behaviour
where the helper was never invoked unless derive_ck_ik_prime=no.

* eap_aka_sim: avoid duplicate control_pairs lookup for CK-Prime/IK-Prime

Per arr2036 review on #5894: pair lookups walk the request control
list, so doing them twice (once in the eap-aka-prime state machine, once
inside fr_aka_sim_vector_umts_ck_ik_prime_from_attrs) is wasteful.

The state machine now looks up control.CK-Prime and control.IK-Prime
once and passes the resulting fr_pair_t * values into the derivation
function.  The helper no longer touches the control list directly; it
just classifies the two pointers (neither / one / both) and validates
the octet length when both are supplied.

Signature change in base.h matches the new contract.  No behavioural
change for callers that previously got 0 / 1 / -1 returns.

* eap_aka_sim: drop unused inst declaration in send_aka_challenge_request

The only reference to inst in this RESUME was the old check on
inst->derive_ck_ik_prime, which was removed when the config knob was
dropped.  -Werror=unused-variable now flags the declaration.

11 days agorun "make format.raddb"
Alan T. DeKok [Thu, 9 Jul 2026 19:37:38 +0000 (15:37 -0400)] 
run "make format.raddb"

The configuration files have been reformatted, and the debian
"diff" regenerated.

The only changes should be indentation, and wrapping of text
which is inside of comment blocks.

11 days agoadd rule to format configuration files in the raddb directory
Alan T. DeKok [Thu, 9 Jul 2026 19:23:36 +0000 (15:23 -0400)] 
add rule to format configuration files in the raddb directory

11 days agodon't convert ".Title" in configuration files
Alan T. DeKok [Thu, 9 Jul 2026 19:33:21 +0000 (15:33 -0400)] 
don't convert ".Title" in configuration files

they have all been checked

11 days agoformatting of configuration files
Alan T. DeKok [Thu, 9 Jul 2026 19:26:39 +0000 (15:26 -0400)] 
formatting of configuration files

in preparation for auto-format

11 days agodocument, check, and set Server-ID
Alan T. DeKok [Thu, 9 Jul 2026 17:15:38 +0000 (13:15 -0400)] 
document, check, and set Server-ID

11 days agoparse and encode Server-ID in a DHCPv6 "listen" section
Alan T. DeKok [Thu, 9 Jul 2026 16:30:52 +0000 (12:30 -0400)] 
parse and encode Server-ID in a DHCPv6 "listen" section

11 days agotweak verify function to make it more forgiving
Alan T. DeKok [Thu, 9 Jul 2026 16:50:33 +0000 (12:50 -0400)] 
tweak verify function to make it more forgiving

the various users of packet_ctx->duid already check it

11 days agoreject invalid Option-Request, rather than accepting it.
Alan T. DeKok [Thu, 9 Jul 2026 15:56:17 +0000 (11:56 -0400)] 
reject invalid Option-Request, rather than accepting it.

11 days agoenforce data type "attr" checks
Alan T. DeKok [Thu, 9 Jul 2026 15:48:24 +0000 (11:48 -0400)] 
enforce data type "attr" checks

11 days agoWe don't support DHCPv6 Reconfigure messages.
Alan T. DeKok [Thu, 9 Jul 2026 15:14:33 +0000 (11:14 -0400)] 
We don't support DHCPv6 Reconfigure messages.

Because (a) most clients don't support it, and (b) we still need
to write the code to handle the Auth option.  Which includes a
bunch of additional requirements about storing keys and replay
counters.

12 days agodisable json assert on OSX, it always fails
Alan T. DeKok [Wed, 8 Jul 2026 15:50:08 +0000 (11:50 -0400)] 
disable json assert on OSX, it always fails

12 days agoremove '.' titles, they're wrong
Alan T. DeKok [Wed, 8 Jul 2026 15:29:56 +0000 (11:29 -0400)] 
remove '.' titles, they're wrong

12 days agodisallow bad filter codes fixes #5879
Alan T. DeKok [Wed, 8 Jul 2026 12:23:10 +0000 (08:23 -0400)] 
disallow bad filter codes  fixes #5879

13 days agoregenerate patch after split of user / group in radiusd.conf
Alan T. DeKok [Tue, 7 Jul 2026 17:52:30 +0000 (13:52 -0400)] 
regenerate patch after split of user / group in radiusd.conf

13 days agoskip markdown, text, and make files
Alan T. DeKok [Tue, 7 Jul 2026 15:23:37 +0000 (11:23 -0400)] 
skip markdown, text, and make files

13 days agoseparate user/group documentation
Alan T. DeKok [Tue, 7 Jul 2026 15:02:34 +0000 (11:02 -0400)] 
separate user/group documentation

13 days agolib/server/cf_parse: fix || vs && in FR_CONF_FLAG_CHECK fr_ipaddr_t* case (disables...
Alexander Bainbridge-Sedivy [Fri, 26 Jun 2026 13:26:18 +0000 (09:26 -0400)] 
lib/server/cf_parse: fix || vs && in FR_CONF_FLAG_CHECK fr_ipaddr_t* case (disables type check)

13 days agoinclude json/base.h instead of local include
Alan T. DeKok [Tue, 7 Jul 2026 14:09:05 +0000 (10:09 -0400)] 
include json/base.h instead of local include

which gets all of the DIAG stuff missing when we have a local
include of json-c/json.h

13 days agolib/server/global_lib: NULL deref in lib_autofree when a library was never instantiat...
Alexander Bainbridge-Sedivy [Fri, 26 Jun 2026 20:46:36 +0000 (16:46 -0400)] 
lib/server/global_lib: NULL deref in lib_autofree when a library was never instantiated (sibling init failure)

13 days agolib/server/exfile: fix fd leak in exfile_open_lock when stat() of cached filename...
Alexander Bainbridge-Sedivy [Fri, 26 Jun 2026 19:59:41 +0000 (15:59 -0400)] 
lib/server/exfile: fix fd leak in exfile_open_lock when stat() of cached filename fails

13 days agolib/server/exec_legacy: fix radius_exec_program_legacy doc — request is non-NULL...
Alexander Bainbridge-Sedivy [Fri, 26 Jun 2026 19:05:17 +0000 (15:05 -0400)] 
lib/server/exec_legacy: fix radius_exec_program_legacy doc â€” request is non-NULL (nonnull(3)), not '(may be NULL)'

13 days agoexec_legacy: fork failure with exec_wait=false registers event waiter on invalid PID
Alexander Bainbridge-Sedivy [Fri, 26 Jun 2026 18:52:35 +0000 (14:52 -0400)] 
exec_legacy: fork failure with exec_wait=false registers event waiter on invalid PID

13 days agoexec.c: NULL deref in fr_exec_value_box_list_to_argv when argument list is empty
Alexander Bainbridge-Sedivy [Fri, 26 Jun 2026 18:28:30 +0000 (14:28 -0400)] 
exec.c: NULL deref in fr_exec_value_box_list_to_argv when argument list is empty

13 days agolib/server/command: fr_command_complete records wrong name when descending into inter...
Alexander Bainbridge-Sedivy [Fri, 26 Jun 2026 15:25:43 +0000 (11:25 -0400)] 
lib/server/command: fr_command_complete records wrong name when descending into intermediate command

13 days agolib/server/cf_util: fix FR_TIMESPEC_TO_MS using tv_usec (nonexistent on struct timesp...
Alexander Bainbridge-Sedivy [Fri, 26 Jun 2026 13:54:31 +0000 (09:54 -0400)] 
lib/server/cf_util: fix FR_TIMESPEC_TO_MS using tv_usec (nonexistent on struct timespec) instead of tv_nsec

13 days agolib/server/cf_parse: OOB read in cf_pair_unescape() on trailing backslash
Alexander Bainbridge-Sedivy [Wed, 24 Jun 2026 20:57:31 +0000 (16:57 -0400)] 
lib/server/cf_parse: OOB read in cf_pair_unescape() on trailing backslash

13 days agolib/server/cf_file: OOB read in process_include() when $INCLUDE target expands to...
Alexander Bainbridge-Sedivy [Wed, 24 Jun 2026 19:53:37 +0000 (15:53 -0400)] 
lib/server/cf_file: OOB read in process_include() when $INCLUDE target expands to empty string

13 days agolib/server/cf_file: off-by-one heap write in ${/path} expansion when st_size under...
Alexander Bainbridge-Sedivy [Wed, 24 Jun 2026 19:37:59 +0000 (15:37 -0400)] 
lib/server/cf_file: off-by-one heap write in ${/path} expansion when st_size under-reports readable bytes (procfs/devices/pipes)

13 days agolib/redis/cluster: fix NULL deref in cluster_map_node_validate error path (non-array...
Alexander Bainbridge-Sedivy [Mon, 22 Jun 2026 18:30:00 +0000 (14:30 -0400)] 
lib/redis/cluster: fix NULL deref in cluster_map_node_validate error path (non-array node reply)

2 weeks agoadd an enforce CONF_SECTION_MAX_DEPTH
Alan T. DeKok [Mon, 6 Jul 2026 16:03:29 +0000 (12:03 -0400)] 
add an enforce CONF_SECTION_MAX_DEPTH

which is 256 for now.  Anyone who needs depths larger than that
is likely doing something very, very, wrong.

2 weeks agoupdate security policy and AI usage.
Alan T. DeKok [Thu, 2 Jul 2026 13:25:21 +0000 (09:25 -0400)] 
update security policy and AI usage.

Also addresses the proposed fix in #5898

2 weeks agodocs-v4: update format_raddb script so the .dotfiles are not included in the search...
nolade [Tue, 30 Jun 2026 20:50:58 +0000 (16:50 -0400)] 
docs-v4: update format_raddb script so the .dotfiles are not included in the search for target files

3 weeks agoRemove legacy crl functionality
Nick Porter [Thu, 25 Jun 2026 16:38:48 +0000 (17:38 +0100)] 
Remove legacy crl functionality

CRL checking should now be performed using `rlm_crl` in the `verify
certificate` section of a virtual server.

3 weeks agoSet last_write_success when a connection becomes connected
Nick Porter [Thu, 25 Jun 2026 15:41:43 +0000 (16:41 +0100)] 
Set last_write_success when a connection becomes connected

To give a base time that idle timeouts can be calculated from.

3 weeks agoDon't set connection shutdown timeout if deferred signals have changed state
Nick Porter [Thu, 25 Jun 2026 11:11:18 +0000 (12:11 +0100)] 
Don't set connection shutdown timeout if deferred signals have changed state

3 weeks agoHonour use_utc for default log destination
Nick Porter [Thu, 25 Jun 2026 09:47:12 +0000 (10:47 +0100)] 
Honour use_utc for default log destination

3 weeks agoCorrect parsing of main log timestamp option
Nick Porter [Thu, 25 Jun 2026 07:23:54 +0000 (08:23 +0100)] 
Correct parsing of main log timestamp option

3 weeks agominor tweaks for corner cases
Alan T. DeKok [Wed, 24 Jun 2026 16:43:23 +0000 (12:43 -0400)] 
minor tweaks for corner cases

3 weeks agoUse correct format specifiers
Nick Porter [Wed, 24 Jun 2026 07:35:07 +0000 (08:35 +0100)] 
Use correct format specifiers

3 weeks agoUse better fr_message_t creation call
Nick Porter [Wed, 24 Jun 2026 07:13:36 +0000 (08:13 +0100)] 
Use better fr_message_t creation call

3 weeks agoAdd -t option to redis-setup.sh to use TLS connections
Nick Porter [Mon, 8 Jun 2026 10:48:10 +0000 (11:48 +0100)] 
Add -t option to redis-setup.sh to use TLS connections

3 weeks agoEnsure that calling fr_ring_buffer_alloc returns reserved memory
Nick Porter [Wed, 24 Jun 2026 06:18:13 +0000 (07:18 +0100)] 
Ensure that calling fr_ring_buffer_alloc returns reserved memory

fr_message_set_t uses two ring buffers, one for the fixed length message
and the other for the variable length data.

If the reservation of ring buffer space for the variable length data
causes garbage collection to run, this can result in all entries in the
fixed length message ring buffer to be freed, which sets all the offsets
to zero.

This would result in the subsequent allocation call returning a
different pointer to the previously reserved one.

Keeping track of the write offset at reservation time allows the
original pointer to be returned.

3 weeks agoCC_HINT(always_inline) needs inline to work as intended
Nick Porter [Tue, 23 Jun 2026 10:37:12 +0000 (11:37 +0100)] 
CC_HINT(always_inline) needs inline to work as intended

4 weeks agoDon't close idle connections if it takes the active count below min
Nick Porter [Mon, 22 Jun 2026 10:57:05 +0000 (11:57 +0100)] 
Don't close idle connections if it takes the active count below min

4 weeks agoHandle a trunk connection signalling it's shut down from draining-to-free
Nick Porter [Mon, 22 Jun 2026 10:43:00 +0000 (11:43 +0100)] 
Handle a trunk connection signalling it's shut down from draining-to-free

We need the connection to now transition to HALT for everything to tidy
up correctly.

4 weeks agoWS
Nick Porter [Fri, 19 Jun 2026 17:13:14 +0000 (18:13 +0100)] 
WS

Fixing alignment after fr_ prefix was removed from various trunk data
types

4 weeks agoadd script to format files in raddb/
Alan T. DeKok [Fri, 19 Jun 2026 19:44:09 +0000 (15:44 -0400)] 
add script to format files in raddb/

4 weeks agomanually reformat in preparation for auto formatter
Alan T. DeKok [Fri, 19 Jun 2026 19:25:15 +0000 (15:25 -0400)] 
manually reformat in preparation for auto formatter

4 weeks agomake unit_test_attribute print out "ERROR: " prefix for errors
Alan T. DeKok [Fri, 19 Jun 2026 16:45:19 +0000 (12:45 -0400)] 
make unit_test_attribute print out "ERROR: " prefix for errors
to more clearly distinguish them from correct output

4 weeks agomanual minor formatting
Alan T. DeKok [Fri, 19 Jun 2026 16:49:48 +0000 (12:49 -0400)] 
manual minor formatting

in preparation for automatic formatting:

* commented-out configuration items have the comments on the
  first line

* commented-out configuration blocks use "##" at the start, to
  distinguish them from textual comments

* add ```...``` around code large code blocks in comments

4 weeks agoCorrect module name
Nick Porter [Thu, 18 Jun 2026 08:09:25 +0000 (09:09 +0100)] 
Correct module name

4 weeks agoTrunk connections use connect_timeout, not connection_timeout
Nick Porter [Fri, 19 Jun 2026 16:38:43 +0000 (17:38 +0100)] 
Trunk connections use connect_timeout, not connection_timeout

4 weeks agodo checks at parse time, not when each socket opens
Alan T. DeKok [Thu, 18 Jun 2026 15:08:57 +0000 (11:08 -0400)] 
do checks at parse time, not when each socket opens

4 weeks agolib/ldap/state.c: fix copy-pasted/incomplete doxygen header (wrong @file, @brief...
Alexander Bainbridge-Sedivy [Wed, 17 Jun 2026 18:07:50 +0000 (14:07 -0400)] 
lib/ldap/state.c: fix copy-pasted/incomplete doxygen header (wrong @file, @brief, truncated comment)

4 weeks agolib/ldap/map: fix use-after-free in fr_ldap_map_getdn (freed vp appended on parse...
Alexander Bainbridge-Sedivy [Wed, 17 Jun 2026 16:12:31 +0000 (12:12 -0400)] 
lib/ldap/map: fix use-after-free in fr_ldap_map_getdn (freed vp appended on parse failure)

4 weeks agolib/ldap/directory: guard naming_contexts allocation with MEM() to avoid NULL deref...
Alexander Bainbridge-Sedivy [Wed, 17 Jun 2026 15:43:50 +0000 (11:43 -0400)] 
lib/ldap/directory: guard naming_contexts allocation with MEM() to avoid NULL deref on OOM

4 weeks agolib/ldap/control: fix off-by-one stack overflow in fr_ldap_control_merge (NULL termin...
Alexander Bainbridge-Sedivy [Wed, 17 Jun 2026 15:16:23 +0000 (11:16 -0400)] 
lib/ldap/control: fix off-by-one stack overflow in fr_ldap_control_merge (NULL terminator written past output array)

4 weeks agolib/ldap/bind: reject empty password in fr_ldap_bind_auth_async (LDAP unauthenticated...
Alexander Bainbridge-Sedivy [Wed, 17 Jun 2026 14:12:51 +0000 (10:12 -0400)] 
lib/ldap/bind: reject empty password in fr_ldap_bind_auth_async (LDAP unauthenticated bind = auth bypass)

4 weeks agolib/ldap/base.h: cast char to uint8_t before tolower() in fr_ldap_berval_strncasecmp...
Alexander Bainbridge-Sedivy [Wed, 17 Jun 2026 13:47:40 +0000 (09:47 -0400)] 
lib/ldap/base.h: cast char to uint8_t before tolower() in fr_ldap_berval_strncasecmp (signed-char UB)

4 weeks agolib/kafka/base.h: fix garbled GPL boilerplate ('kafkatribute') and truncated @brief
Alexander Bainbridge-Sedivy [Mon, 15 Jun 2026 20:01:13 +0000 (16:01 -0400)] 
lib/kafka/base.h: fix garbled GPL boilerplate ('kafkatribute') and truncated @brief

4 weeks agolib/io/load: re-apply pps overflow guard in load_timer as rate ramps up
Alexander Bainbridge-Sedivy [Mon, 15 Jun 2026 15:48:23 +0000 (11:48 -0400)] 
lib/io/load: re-apply pps overflow guard in load_timer as rate ramps up

4 weeks agolib/io/coord_pair: release request when time-tracking start fails in coord_pair_reque...
Alexander Bainbridge-Sedivy [Mon, 15 Jun 2026 15:04:19 +0000 (11:04 -0400)] 
lib/io/coord_pair: release request when time-tracking start fails in coord_pair_request_start (leak)

4 weeks agolib/io/control: fix NULL deref in fr_control_create when allocation fails
Alexander Bainbridge-Sedivy [Mon, 15 Jun 2026 14:19:31 +0000 (10:19 -0400)] 
lib/io/control: fix NULL deref in fr_control_create when allocation fails

4 weeks agolib/io/channel: seed message_interval EMA on first reply in fr_channel_send_reply
Alexander Bainbridge-Sedivy [Mon, 15 Jun 2026 14:06:42 +0000 (10:06 -0400)] 
lib/io/channel: seed message_interval EMA on first reply in fr_channel_send_reply

4 weeks agoeap_aka_sim/vector: NULL OPc dereference in vector_umts_from_ki() Milenage path ...
Alexander Bainbridge-Sedivy [Mon, 15 Jun 2026 13:19:30 +0000 (09:19 -0400)] 
eap_aka_sim/vector: NULL OPc dereference in vector_umts_from_ki() Milenage path (missing OP/OPc check)

4 weeks agoeap_aka_sim/module: use-after-free in mod_encode() checkcode error path (missing...
Alexander Bainbridge-Sedivy [Fri, 12 Jun 2026 20:09:03 +0000 (16:09 -0400)] 
eap_aka_sim/module: use-after-free in mod_encode() checkcode error path (missing else)

4 weeks agoeap_aka_sim/encode: clear eap_packet->type.data on error paths to avoid dangling...
Alexander Bainbridge-Sedivy [Fri, 12 Jun 2026 19:00:34 +0000 (15:00 -0400)] 
eap_aka_sim/encode: clear eap_packet->type.data on error paths to avoid dangling pointer / double-free

4 weeks agoeap/base.h: remove self-include and duplicate types.h includes
Alexander Bainbridge-Sedivy [Fri, 12 Jun 2026 15:35:26 +0000 (11:35 -0400)] 
eap/base.h: remove self-include and duplicate types.h includes

4 weeks agocurl/xlat: fix leak of input box in uri.escape when curl_easy_escape fails
Alexander Bainbridge-Sedivy [Fri, 12 Jun 2026 15:23:53 +0000 (11:23 -0400)] 
curl/xlat: fix leak of input box in uri.escape when curl_easy_escape fails

4 weeks agocurl/io: remove dead/misleading ternary in CURLINFO_TEXT debug logging
Alexander Bainbridge-Sedivy [Fri, 12 Jun 2026 15:07:31 +0000 (11:07 -0400)] 
curl/io: remove dead/misleading ternary in CURLINFO_TEXT debug logging

4 weeks agobio/retry: remove duplicate fr_bio_retry_rewrite_t typedef in retry.h
Alexander Bainbridge-Sedivy [Fri, 12 Jun 2026 14:31:06 +0000 (10:31 -0400)] 
bio/retry: remove duplicate fr_bio_retry_rewrite_t typedef in retry.h

4 weeks agobio/packet: fr_bio_packet_write_resume returns 'still blocked' (0) after a successful...
Alexander Bainbridge-Sedivy [Fri, 12 Jun 2026 13:35:21 +0000 (09:35 -0400)] 
bio/packet: fr_bio_packet_write_resume returns 'still blocked' (0) after a successful resume when no app callback is set

4 weeks agobio/network: fix grammar in deny-overlaps error message ('is overlaps' -> 'overlaps')
Alexander Bainbridge-Sedivy [Fri, 12 Jun 2026 13:29:11 +0000 (09:29 -0400)] 
bio/network: fix grammar in deny-overlaps error message ('is overlaps' -> 'overlaps')

4 weeks agobio/haproxy: fix duplicate RCSIDH identifier (lib_bio_fd_h -> lib_bio_haproxy_h)
Alexander Bainbridge-Sedivy [Fri, 12 Jun 2026 13:25:45 +0000 (09:25 -0400)] 
bio/haproxy: fix duplicate RCSIDH identifier (lib_bio_fd_h -> lib_bio_haproxy_h)

4 weeks agobio/fd: clamp SO_RCVBUF/SO_SNDBUF on unsigned value to avoid negative setsockopt arg
Alexander Bainbridge-Sedivy [Fri, 12 Jun 2026 13:18:57 +0000 (09:18 -0400)] 
bio/fd: clamp SO_RCVBUF/SO_SNDBUF on unsigned value to avoid negative setsockopt arg