]> git.ipfire.org Git - thirdparty/freeradius-server.git/log
thirdparty/freeradius-server.git
3 hours agouse unlang_interpret_virtual_server() developer/alandekok master
Alan T. DeKok [Tue, 4 Aug 2026 15:15:22 +0000 (11:15 -0400)] 
use unlang_interpret_virtual_server()

4 hours agoset packet->socket->af to AF_FR_VIRTUAL_SERVER on subrequest alloc
Alan T. DeKok [Tue, 4 Aug 2026 15:00:26 +0000 (11:00 -0400)] 
set packet->socket->af to AF_FR_VIRTUAL_SERVER on subrequest alloc

and use that in unlang_interpret_virtual_server().

When used with frame->prev.frame_call, it should significantly
shorten process to find the virtual server.  Instead of walking
back up all parent requests, and then walking back up the stack
for each request, it becomes largely an O(1) process most of
the time.

4 hours agoadd and use unlang_interpret_virtual_server()
Alan T. DeKok [Tue, 4 Aug 2026 14:50:16 +0000 (10:50 -0400)] 
add and use unlang_interpret_virtual_server()

so that we abstract this all in one place

4 hours agocache the call frame number, too.
Alan T. DeKok [Tue, 4 Aug 2026 14:03:49 +0000 (10:03 -0400)] 
cache the call frame number, too.

so that we don't need to walk back up the stack to find the
call stack with the virtual server.

4 hours agotypo
Alan T. DeKok [Tue, 4 Aug 2026 14:03:31 +0000 (10:03 -0400)] 
typo

17 hours agoadd (unused) function to print #fr_socket_t to a string
Alan T. DeKok [Tue, 4 Aug 2026 01:33:00 +0000 (21:33 -0400)] 
add (unused) function to print #fr_socket_t to a string

so that we can unify IPs, unix sockets, filenames, and virtual
servers.

this is mainly useful for "inner-tunnel" virtual servers, which
don't print much of anything useful right now.

17 hours agoset fr_socket_t AF field, too
Alan T. DeKok [Tue, 4 Aug 2026 01:20:45 +0000 (21:20 -0400)] 
set fr_socket_t AF field, too

17 hours agoglue EAP-PSK virtual server into antora
Alan T. DeKok [Tue, 4 Aug 2026 01:19:55 +0000 (21:19 -0400)] 
glue EAP-PSK virtual server into antora

17 hours agorun through the auto-formatter
Alan T. DeKok [Tue, 4 Aug 2026 01:18:31 +0000 (21:18 -0400)] 
run through the auto-formatter

17 hours agoformat for v4
Alan T. DeKok [Tue, 4 Aug 2026 01:17:54 +0000 (21:17 -0400)] 
format for v4

17 hours agouse consistent comments for v4 auto-format
Alan T. DeKok [Tue, 4 Aug 2026 01:08:18 +0000 (21:08 -0400)] 
use consistent comments for v4 auto-format

18 hours agoadd file and virtual server to fr_socket_t
Alan T. DeKok [Mon, 3 Aug 2026 16:48:32 +0000 (12:48 -0400)] 
add file and virtual server to fr_socket_t

in preparation for other cleanups

18 hours agorename AF_FILE_BIO to AF_FR_FILENAME
Alan T. DeKok [Mon, 3 Aug 2026 16:05:37 +0000 (12:05 -0400)] 
rename AF_FILE_BIO to AF_FR_FILENAME

in preparation for adding AF_FR_VIRTUAL_SERVER

19 hours agoprocess/eap_psk: find Password.PSK with the nested pair search developer/arr2036
Arran Cudbard-Bell [Mon, 3 Aug 2026 23:49:30 +0000 (17:49 -0600)] 
process/eap_psk: find Password.PSK with the nested pair search

Password.PSK is a child of the Password container pair, so the
top-level fr_pair_find_by_da() never saw the pair policy had just
added, and every authentication was discarded with "No
control.Password.PSK".  The old module used password_find(), which
walks the tree.

19 hours agoeapol_test: print more of the server log when a test fails
Arran Cudbard-Bell [Mon, 3 Aug 2026 23:26:56 +0000 (17:26 -0600)] 
eapol_test: print more of the server log when a test fails

40 lines rarely reaches back to the failing exchange.  Also print the
server log heading before the log contents rather than after.

20 hours agoprocess/eap_psk: initialise the analyzer-flagged test outputs
Arran Cudbard-Bell [Mon, 3 Aug 2026 22:47:43 +0000 (16:47 -0600)] 
process/eap_psk: initialise the analyzer-flagged test outputs

The static analyzer does not model acutest_check_()'s return value
(variadic, so never inlined), so TEST_ASSERT on the producing calls
did not remove the garbage-value path.  Initialise the two outputs;
if a producing call ever fails to write, the comparison against the
known-answer value still fails.

20 hours agoraddb: ship EAP-PSK disabled by default
Arran Cudbard-Bell [Mon, 3 Aug 2026 22:47:43 +0000 (16:47 -0600)] 
raddb: ship EAP-PSK disabled by default

EAP-PSK now requires the eap-psk virtual server, which is not enabled
by default, so an installed system failed config validation.  Comment
out the type entries and psk sections in the eap and eap_inner
modules; the enable instructions point at sites-available/eap-psk.

The eap_inner psk section also still set the removed 'identity'
config item; the commented-out replacement uses virtual_server.

21 hours agoeapol_test: add an EAP-PSK failure test
Arran Cudbard-Bell [Mon, 3 Aug 2026 21:32:52 +0000 (15:32 -0600)] 
eapol_test: add an EAP-PSK failure test

The supplicant authenticates with the wrong pre-shared key, so MAC_P
verification fails and eapol_test must not succeed, while the server
must survive the exchange.

21 hours agoprocess/eap_psk: use TEST_ASSERT for the calls which produce compared values
Arran Cudbard-Bell [Mon, 3 Aug 2026 21:32:51 +0000 (15:32 -0600)] 
process/eap_psk: use TEST_ASSERT for the calls which produce compared values

The static analyzer follows the error return of the crypto functions,
where the out-parameters are never written, into the comparisons, and
reports garbage-value reads.  Aborting the test when a producing call
fails removes the path, and comparing an output whose producing call
failed was never informative.

21 hours agoprocess/eap_psk: keep the module target out of the all.mk that lists SUBMAKEFILES
Arran Cudbard-Bell [Mon, 3 Aug 2026 21:32:51 +0000 (15:32 -0600)] 
process/eap_psk: keep the module target out of the all.mk that lists SUBMAKEFILES

boiler.mk generates the install rule for a fragment's target after
recursing into its SUBMAKEFILES, so the TGT_INSTALLDIR := set by
eap_psk_tests.mk leaked into the install rule for process_eap_psk,
and the module was built but never installed.  Same mechanism CI
diagnosed on d5e3f21e3b for rlm_eap_psk before the module moved.

Follow the existing convention: the all.mk lists only SUBMAKEFILES,
and the module target lives in its own fragment.

21 hours agorlm_eap_psk: select the PSK by peer identity via an eap-psk virtual server
Arran Cudbard-Bell [Mon, 3 Aug 2026 21:29:53 +0000 (15:29 -0600)] 
rlm_eap_psk: select the PSK by peer identity via an eap-psk virtual server

Implement full RFC 4764 credential-selection semantics: the peer's
asserted identity (ID_P) drives the PSK lookup, in a virtual server
with per-message policy sections, mirroring the EAP-AKA architecture.

The protocol state machine, message parsing, and cryptography move to
a new eap_psk process module.  The rlm_eap_psk submodule shrinks to
deriving the next Packet-Type from the session state, pushing the
request into the virtual server, and translating the reply Packet-Type
back into an EAP result.  Nothing happens in the outer server.

Sections: send Identity-Request (may override Server-Identity, same
pattern as EAP-AKA' network_name), recv Identity-Response (supplies
control.Password.PSK for the asserted Identity, capped at the RFC's
966 bytes), send Result-Indication, recv Result-Acknowledgement, and
send Success / send Failure.

Invalid messages are not processed (RFC 4764 Section 4.1); as a true
silent discard cannot be expressed through the EAP module, the session
ends with an EAP-Failure like every other EAP method.

23 hours agorlm_eap_psk: add known-answer tests for the EAP-PSK crypto primitives
Arran Cudbard-Bell [Mon, 3 Aug 2026 19:57:06 +0000 (13:57 -0600)] 
rlm_eap_psk: add known-answer tests for the EAP-PSK crypto primitives

RFC 4764 publishes no test vectors, so the CMAC core is checked
against the RFC 4493 Section 4 vectors, and the EAP-PSK derivations
and EAX protected channel are checked against values computed with
hostap's independent implementation (commit f541de4).  Negative tests
cover tag, ciphertext, nonce, and header tampering.

23 hours agoClean up EAP-PSK using v4 conventions
Arran Cudbard-Bell [Mon, 3 Aug 2026 19:30:30 +0000 (13:30 -0600)] 
Clean up EAP-PSK using v4 conventions

23 hours agoCompare pointers to NULL...
Arran Cudbard-Bell [Mon, 3 Aug 2026 19:19:48 +0000 (13:19 -0600)] 
Compare pointers to NULL...

23 hours agoAdd static assert in case someone renumbers the rcodes
Arran Cudbard-Bell [Mon, 3 Aug 2026 19:17:57 +0000 (13:17 -0600)] 
Add static assert in case someone renumbers the rcodes

23 hours agoAdd the intended behaviour for unlang_io_subrequest_alloc namespaces
Arran Cudbard-Bell [Mon, 3 Aug 2026 19:00:58 +0000 (13:00 -0600)] 
Add the intended behaviour for unlang_io_subrequest_alloc namespaces

23 hours agoCompare to NULL
Arran Cudbard-Bell [Mon, 3 Aug 2026 17:56:22 +0000 (11:56 -0600)] 
Compare to NULL

23 hours agoUse a single error label
Arran Cudbard-Bell [Mon, 3 Aug 2026 17:55:13 +0000 (11:55 -0600)] 
Use a single error label

23 hours agotls/bio: detach both dbuffs from the shared buffer in one helper
Arran Cudbard-Bell [Mon, 3 Aug 2026 17:47:19 +0000 (11:47 -0600)] 
tls/bio: detach both dbuffs from the shared buffer in one helper

The in/out dbuffs are bound to the same talloc buffer.  finalise,
finalise_bstr, and thread_local_clear each hand-rolled clearing the
buff pointers; a single helper now enforces the invariant that both
dbuffs forget the buffer together.

23 hours agoRemove REQUEST_MASTER_NUM_STATES, the "fix" in db7dbce375 was incorrect, but nothing...
Arran Cudbard-Bell [Mon, 3 Aug 2026 16:58:23 +0000 (10:58 -0600)] 
Remove REQUEST_MASTER_NUM_STATES, the "fix" in db7dbce375 was incorrect, but nothing uses the macro

23 hours agoSimpler fix for 40b0a25cfe
Arran Cudbard-Bell [Mon, 3 Aug 2026 16:56:40 +0000 (10:56 -0600)] 
Simpler fix for 40b0a25cfe

27 hours agoreformat radiusd.conf.in and regenerate antora docs
Alan T. DeKok [Mon, 3 Aug 2026 14:40:37 +0000 (10:40 -0400)] 
reformat radiusd.conf.in and regenerate antora docs

27 hours agopass value-box to file_allowed() function
Alan T. DeKok [Mon, 3 Aug 2026 14:39:52 +0000 (10:39 -0400)] 
pass value-box to file_allowed() function

27 hours agopreserve SAFE_FOR_ANY inputs when parsing xlat arguments
Alan T. DeKok [Mon, 3 Aug 2026 14:23:25 +0000 (10:23 -0400)] 
preserve SAFE_FOR_ANY inputs when parsing xlat arguments

so that data which is taken from the configuration files does not
get mashed to any particular SAFE_FOR value

27 hours agolib/util/dbuff: fix fr_dbuff_reset_talloc clobbering old base before fr_dbuff_update()
Alexander Bainbridge-Sedivy [Mon, 27 Jul 2026 20:25:57 +0000 (16:25 -0400)] 
lib/util/dbuff: fix fr_dbuff_reset_talloc clobbering old base before fr_dbuff_update()

27 hours agolib/util/dbuff: fix fr_dbuff_advance_extend referencing nonexistent _fr_dbuff_advance
Alexander Bainbridge-Sedivy [Mon, 27 Jul 2026 20:39:06 +0000 (16:39 -0400)] 
lib/util/dbuff: fix fr_dbuff_advance_extend referencing nonexistent _fr_dbuff_advance

27 hours agoupdate inner-tunnel for notes on `eap` vs `eap_inner`
Alan T. DeKok [Mon, 3 Aug 2026 14:06:52 +0000 (10:06 -0400)] 
update inner-tunnel for notes on `eap` vs `eap_inner`

27 hours agoword smith inner EAP
Alan T. DeKok [Mon, 3 Aug 2026 14:02:00 +0000 (10:02 -0400)] 
word smith inner EAP

also add PSK and PWD to it

27 hours agotweak EAP comments and documentation
Alan T. DeKok [Mon, 3 Aug 2026 13:56:50 +0000 (09:56 -0400)] 
tweak EAP comments and documentation

27 hours agobypass walk up the stack in NDEBUG mode
Alan T. DeKok [Mon, 3 Aug 2026 13:37:27 +0000 (09:37 -0400)] 
bypass walk up the stack in NDEBUG mode

when finding a frame by op flag.

29 hours agoadd stack short-cuts for break, continue, return, and load-balance
Alan T. DeKok [Mon, 3 Aug 2026 00:00:52 +0000 (20:00 -0400)] 
add stack short-cuts for break, continue, return, and load-balance

so that we don't have to walk back up the stack to find them.
Instead, we can just examine the current stack frame to see where
those frames are.

For now. we just set the return frames and assert that their values
are correct.  We do not (as yet) skip the loop over the frames,
to just find the correct frame.

29 hours agoregenerate antora files after reformatting the input raddb files
Alan T. DeKok [Thu, 30 Jul 2026 18:10:24 +0000 (14:10 -0400)] 
regenerate antora files after reformatting the input raddb files

29 hours agofix indentation for raddb
Alan T. DeKok [Thu, 30 Jul 2026 15:27:40 +0000 (11:27 -0400)] 
fix indentation for raddb

* audit example configurations in comments, so that they are
  marked as in-line code

* re-indent commented out modules

* re-indent and fix hashes for multi-line commented-out code

29 hours agoadd rlm_eap_psk
Alan T. DeKok [Thu, 30 Jul 2026 15:29:31 +0000 (11:29 -0400)] 
add rlm_eap_psk

4 days agoRemove un-used mysql option developer/ndptech
Nick Porter [Fri, 31 Jul 2026 16:29:17 +0000 (17:29 +0100)] 
Remove un-used mysql option

This option only applies to synchronous connections and defaults to
false anyway, which is the value which was being set.

4 days agoAdd support for Mariadb Connector/C socket notification callbacks
Nick Porter [Fri, 31 Jul 2026 15:56:30 +0000 (16:56 +0100)] 
Add support for Mariadb Connector/C socket notification callbacks

In anticipation of them being added to the library.

4 days agoHandle MariaDB Connector/C socket closing behaviour
Nick Porter [Fri, 31 Jul 2026 15:55:03 +0000 (16:55 +0100)] 
Handle MariaDB Connector/C socket closing behaviour

During connection establishement, MariaDB Connector/C can close the fd
and potentially open a new one without any callbacks to notify of that
happening.

If we have events registered for the fd that has now been closed,
potentially events fire for that fd when it has been re-used for a
different purpose.

Using dup() to create our own fd for the socket, we remain in control of
the fd which has registered events.

4 days agoReplace deprecated mysql_options with mysql_optionsv
Nick Porter [Fri, 31 Jul 2026 13:59:56 +0000 (14:59 +0100)] 
Replace deprecated mysql_options with mysql_optionsv

4 days agoFreeRADIUS is only built against mariadb-connector, not libmysql
Nick Porter [Fri, 31 Jul 2026 13:50:43 +0000 (14:50 +0100)] 
FreeRADIUS is only built against mariadb-connector, not libmysql

Due to the difference in async behaviour.

5 days agoprint out the correct location of the log
Alan T. DeKok [Thu, 30 Jul 2026 15:50:09 +0000 (11:50 -0400)] 
print out the correct location of the log

5 days agoadd Password.PSK, and glue into password function
Alan T. DeKok [Thu, 30 Jul 2026 15:21:08 +0000 (11:21 -0400)] 
add Password.PSK, and glue into password function

5 days agolib/util/cbor: emit tag before array header when encoding IPv6 addr with scope_id
Alexander Bainbridge-Sedivy [Mon, 27 Jul 2026 19:45:47 +0000 (15:45 -0400)] 
lib/util/cbor: emit tag before array header when encoding IPv6 addr with scope_id

5 days agolib/util/cap: fr_cap_disable clears the whole set instead of the single requested...
Alexander Bainbridge-Sedivy [Mon, 27 Jul 2026 19:20:27 +0000 (15:20 -0400)] 
lib/util/cap: fr_cap_disable clears the whole set instead of the single requested capability

5 days agolib/util/calc.h: fix wrong nonnull() arg on fr_value_calc_unary_op (protects ctx...
Alexander Bainbridge-Sedivy [Mon, 27 Jul 2026 18:30:16 +0000 (14:30 -0400)] 
lib/util/calc.h: fix wrong nonnull() arg on fr_value_calc_unary_op (protects ctx, not dst/src)

5 days agolib/util/base32: fix copy-pasted 'Base 64 encode' doc header on fr_base32_encode_nstd
Alexander Bainbridge-Sedivy [Mon, 27 Jul 2026 14:45:59 +0000 (10:45 -0400)] 
lib/util/base32: fix copy-pasted 'Base 64 encode' doc header on fr_base32_encode_nstd

5 days agolib/util/base.h: remove duplicate util/table.h include
Alexander Bainbridge-Sedivy [Mon, 27 Jul 2026 14:03:55 +0000 (10:03 -0400)] 
lib/util/base.h: remove duplicate util/table.h include

5 days agolib/util/atexit.h: fix __Thread_local typo so non-threaded build strips _Thread_local...
Alexander Bainbridge-Sedivy [Fri, 24 Jul 2026 20:25:13 +0000 (16:25 -0400)] 
lib/util/atexit.h: fix __Thread_local typo so non-threaded build strips _Thread_local qualifier

5 days agoatexit.c: guard NULL fr_atexit_global in fr_atexit_global_disarm
Alexander Bainbridge-Sedivy [Fri, 24 Jul 2026 20:10:28 +0000 (16:10 -0400)] 
atexit.c: guard NULL fr_atexit_global in fr_atexit_global_disarm

5 days agolib/unlang/xlat_redundant: free leaked mrx_tree on two error paths in xlat_register_r...
Alexander Bainbridge-Sedivy [Fri, 24 Jul 2026 19:54:58 +0000 (15:54 -0400)] 
lib/unlang/xlat_redundant: free leaked mrx_tree on two error paths in xlat_register_redundant

5 days agolib/unlang/xlat_purify: avoid use-after-free of freed group node when hoisting an...
Alexander Bainbridge-Sedivy [Fri, 24 Jul 2026 19:09:39 +0000 (15:09 -0400)] 
lib/unlang/xlat_purify: avoid use-after-free of freed group node when hoisting an empty group

5 days agolib/unlang/xlat_func: fix typo in xlat_mctx_set doc comment (about -> bound)
Alexander Bainbridge-Sedivy [Fri, 24 Jul 2026 17:47:42 +0000 (13:47 -0400)] 
lib/unlang/xlat_func: fix typo in xlat_mctx_set doc comment (about -> bound)

5 days agolib/unlang/xlat_expr: parent xlat_logical_and result box from rctx->ctx (latent UAF)
Alexander Bainbridge-Sedivy [Fri, 24 Jul 2026 16:01:34 +0000 (12:01 -0400)] 
lib/unlang/xlat_expr: parent xlat_logical_and result box from rctx->ctx (latent UAF)

5 days agolib/unlang/xlat_alloc: check tmpl_copy() failure in _xlat_copy_internal (NULL deref)
Alexander Bainbridge-Sedivy [Wed, 22 Jul 2026 19:41:06 +0000 (15:41 -0400)] 
lib/unlang/xlat_alloc: check tmpl_copy() failure in _xlat_copy_internal (NULL deref)

5 days agolib/unlang/xlat: drop stale UNUSED on unlang_xlat() p_result parameter (it is used)
Alexander Bainbridge-Sedivy [Wed, 22 Jul 2026 18:53:46 +0000 (14:53 -0400)] 
lib/unlang/xlat: drop stale UNUSED on unlang_xlat() p_result parameter (it is used)

5 days agounlang/try: default 'catch' redundancy check never fires (loop starts at RLM_MODULE_N...
Alexander Bainbridge-Sedivy [Wed, 22 Jul 2026 18:36:06 +0000 (14:36 -0400)] 
unlang/try: default 'catch' redundancy check never fires (loop starts at RLM_MODULE_NOT_SET)

5 days agolib/unlang/subrequest: remove dead unlang_subrequest_detach_child declaration
Alexander Bainbridge-Sedivy [Wed, 22 Jul 2026 15:46:20 +0000 (11:46 -0400)] 
lib/unlang/subrequest: remove dead unlang_subrequest_detach_child declaration

5 days agolib/unlang/subrequest: fix OOB read from signed-char index into fr_dict_attr_allowed_...
Alexander Bainbridge-Sedivy [Wed, 22 Jul 2026 15:38:22 +0000 (11:38 -0400)] 
lib/unlang/subrequest: fix OOB read from signed-char index into fr_dict_attr_allowed_chars

5 days agolib/unlang/map: free leaked unlang_group_t on two error paths in unlang_compile_map()
Alexander Bainbridge-Sedivy [Wed, 22 Jul 2026 15:03:50 +0000 (11:03 -0400)] 
lib/unlang/map: free leaked unlang_group_t on two error paths in unlang_compile_map()

5 days agounlang/limit: fix NULL deref in signal handler when cancelling a dynamic limit argument
Alexander Bainbridge-Sedivy [Wed, 22 Jul 2026 14:34:20 +0000 (10:34 -0400)] 
unlang/limit: fix NULL deref in signal handler when cancelling a dynamic limit argument

5 days agolib/unlang/io: fix misleading doc claiming NULL namespace is supported in unlang_io_s...
Alexander Bainbridge-Sedivy [Mon, 20 Jul 2026 20:50:07 +0000 (16:50 -0400)] 
lib/unlang/io: fix misleading doc claiming NULL namespace is supported in unlang_io_subrequest_alloc

5 days agounlang/interpret_synchronous: remove dead num_events == -1 branches in DEBUG4
Alexander Bainbridge-Sedivy [Mon, 20 Jul 2026 20:33:11 +0000 (16:33 -0400)] 
unlang/interpret_synchronous: remove dead num_events == -1 branches in DEBUG4

5 days agounlang/interpret.h: fix copy-pasted doc comment on unlang_request_scheduled_t typedef
Alexander Bainbridge-Sedivy [Mon, 20 Jul 2026 20:04:31 +0000 (16:04 -0400)] 
unlang/interpret.h: fix copy-pasted doc comment on unlang_request_scheduled_t typedef

5 days agounlang/interpret: fix stale comment on unlang_cancel_xlat immediate-cancel path
Alexander Bainbridge-Sedivy [Mon, 20 Jul 2026 19:55:33 +0000 (15:55 -0400)] 
unlang/interpret: fix stale comment on unlang_cancel_xlat immediate-cancel path

5 days agounlang/function: FUNC()/REPEAT() macros ignore their argument and use captured 'state'
Alexander Bainbridge-Sedivy [Mon, 20 Jul 2026 19:47:04 +0000 (15:47 -0400)] 
unlang/function: FUNC()/REPEAT() macros ignore their argument and use captured 'state'

5 days agounlang/finally: fix inverted min_time comparison that cancels finally sections early
Alexander Bainbridge-Sedivy [Mon, 20 Jul 2026 19:00:26 +0000 (15:00 -0400)] 
unlang/finally: fix inverted min_time comparison that cancels finally sections early

5 days agolib/unlang/edit: clear RHS tmpl dcursor on temporary_pair_list error paths (leak)
Alexander Bainbridge-Sedivy [Mon, 20 Jul 2026 18:43:00 +0000 (14:43 -0400)] 
lib/unlang/edit: clear RHS tmpl dcursor on temporary_pair_list error paths (leak)

5 days agolib/unlang/compile: bound module-name split offset to avoid stack OOB write in compil...
Alexander Bainbridge-Sedivy [Mon, 20 Jul 2026 18:25:53 +0000 (14:25 -0400)] 
lib/unlang/compile: bound module-name split offset to avoid stack OOB write in compile_item

5 days agolib/unlang/caller: replace placeholder RDEBUG2("...") with a meaningful skip message
Alexander Bainbridge-Sedivy [Mon, 20 Jul 2026 18:10:21 +0000 (14:10 -0400)] 
lib/unlang/caller: replace placeholder RDEBUG2("...") with a meaningful skip message

5 days agolib/unlang/call_env.h: don't list CALL_ENV_FLAG_PARSE_MISSING as invalid for subsections
Alexander Bainbridge-Sedivy [Mon, 20 Jul 2026 18:06:56 +0000 (14:06 -0400)] 
lib/unlang/call_env.h: don't list CALL_ENV_FLAG_PARSE_MISSING as invalid for subsections

5 days agolib/tls/verify: check X509_STORE_CTX_new()/init() failure in fr_tls_verify_cert_chain...
Alexander Bainbridge-Sedivy [Mon, 20 Jul 2026 15:08:03 +0000 (11:08 -0400)] 
lib/tls/verify: check X509_STORE_CTX_new()/init() failure in fr_tls_verify_cert_chain (NULL deref)

5 days agolib/tls/strerror.h: remove copy-pasted _marker param from fr_tls_strerror_push_chain doc
Alexander Bainbridge-Sedivy [Mon, 20 Jul 2026 14:39:18 +0000 (10:39 -0400)] 
lib/tls/strerror.h: remove copy-pasted _marker param from fr_tls_strerror_push_chain doc

5 days agolib/tls/virtual_server: detach child on all fr_tls_call_push failure paths (double...
Alexander Bainbridge-Sedivy [Mon, 20 Jul 2026 13:39:43 +0000 (09:39 -0400)] 
lib/tls/virtual_server: detach child on all fr_tls_call_push failure paths (double-free)

5 days agolib/unlang/action.h: wrap RETURN_UNLANG_ACTION_FATAL in do{}while(0) like sibling...
Alexander Bainbridge-Sedivy [Fri, 17 Jul 2026 20:53:28 +0000 (16:53 -0400)] 
lib/unlang/action.h: wrap RETURN_UNLANG_ACTION_FATAL in do{}while(0) like sibling macros

5 days agolib/tls/verify.h: fix copy-pasted validate.h name in @file tag and RCSIDH identifier
Alexander Bainbridge-Sedivy [Fri, 17 Jul 2026 20:38:08 +0000 (16:38 -0400)] 
lib/tls/verify.h: fix copy-pasted validate.h name in @file tag and RCSIDH identifier

5 days agotls/utils: fix misleading byte count in asn1time_to_epoch error message
Alexander Bainbridge-Sedivy [Fri, 17 Jul 2026 20:28:43 +0000 (16:28 -0400)] 
tls/utils: fix misleading byte count in asn1time_to_epoch error message

5 days agolib/tls/engine: pass dlist head by pointer in fr_tls_engine_init (missing &)
Alexander Bainbridge-Sedivy [Fri, 17 Jul 2026 18:45:26 +0000 (14:45 -0400)] 
lib/tls/engine: pass dlist head by pointer in fr_tls_engine_init (missing &)

5 days agolib/tls/conf: signed-char comparison truncates non-ASCII private-key passphrase ...
Alexander Bainbridge-Sedivy [Fri, 17 Jul 2026 17:53:00 +0000 (13:53 -0400)] 
lib/tls/conf: signed-char comparison truncates non-ASCII private-key passphrase (certadmin path)

5 days agolib/tls/bio: clear dangling dbuff_out.buff in fr_tls_bio_dbuff_thread_local_clear...
Alexander Bainbridge-Sedivy [Fri, 17 Jul 2026 15:37:26 +0000 (11:37 -0400)] 
lib/tls/bio: clear dangling dbuff_out.buff in fr_tls_bio_dbuff_thread_local_clear (double-free / assert)

5 days agolib/tls/base: fix pthread_attr_getstacksize error check (< 0 never true; use != 0)
Alexander Bainbridge-Sedivy [Fri, 17 Jul 2026 14:55:26 +0000 (10:55 -0400)] 
lib/tls/base: fix pthread_attr_getstacksize error check (< 0 never true; use != 0)

5 days agolib/sim/milenage.h: include <stdint.h> for uint8_t/uint64_t instead of <stddef.h>
Alexander Bainbridge-Sedivy [Fri, 17 Jul 2026 14:38:11 +0000 (10:38 -0400)] 
lib/sim/milenage.h: include <stdint.h> for uint8_t/uint64_t instead of <stddef.h>

5 days agolib/server/virtual_servers.h: remove meaningless CC_HINT(nonnull) from void-argument...
Alexander Bainbridge-Sedivy [Fri, 17 Jul 2026 14:17:57 +0000 (10:17 -0400)] 
lib/server/virtual_servers.h: remove meaningless CC_HINT(nonnull) from void-argument functions

5 days agolib/server/virtual_servers: clear fr_value_box on error paths in define_server_values...
Alexander Bainbridge-Sedivy [Wed, 15 Jul 2026 20:46:36 +0000 (16:46 -0400)] 
lib/server/virtual_servers: clear fr_value_box on error paths in define_server_values (leak)

5 days agotrunk: don't leak connection pause on early return in requests_dequeue SENT loop
Alexander Bainbridge-Sedivy [Wed, 15 Jul 2026 19:54:34 +0000 (15:54 -0400)] 
trunk: don't leak connection pause on early return in requests_dequeue SENT loop

5 days agotrigger: always add Trigger-Name to the request, not only when args are passed
Alexander Bainbridge-Sedivy [Wed, 15 Jul 2026 19:08:38 +0000 (15:08 -0400)] 
trigger: always add Trigger-Name to the request, not only when args are passed

5 days agotmpl.h: fix incorrect doc for TMPL_ATTR_ERROR_UNKNOWN_NOT_ALLOWED (nonexistent 'disal...
Alexander Bainbridge-Sedivy [Wed, 15 Jul 2026 15:48:11 +0000 (11:48 -0400)] 
tmpl.h: fix incorrect doc for TMPL_ATTR_ERROR_UNKNOWN_NOT_ALLOWED (nonexistent 'disallow_internal', 'is trie' typo)

5 days agosnmp.c: add missing NULL check on fr_dcursor_current() in SET path of snmp_process_leaf
Alexander Bainbridge-Sedivy [Wed, 15 Jul 2026 15:07:42 +0000 (11:07 -0400)] 
snmp.c: add missing NULL check on fr_dcursor_current() in SET path of snmp_process_leaf

5 days agolib/server/request.h: REQUEST_MASTER_NUM_STATES references nonexistent REQUEST_COUNTE...
Alexander Bainbridge-Sedivy [Wed, 15 Jul 2026 14:52:11 +0000 (10:52 -0400)] 
lib/server/request.h: REQUEST_MASTER_NUM_STATES references nonexistent REQUEST_COUNTED (fails to compile if used)

5 days agolib/server/request: NULL deref in request_log_init_detachable when parent has no...
Alexander Bainbridge-Sedivy [Wed, 15 Jul 2026 14:27:10 +0000 (10:27 -0400)] 
lib/server/request: NULL deref in request_log_init_detachable when parent has no log destination

5 days agolib/server/packet: don't create malformed Net.Src.IP/Net.Dst.IP when address family...
Alexander Bainbridge-Sedivy [Mon, 13 Jul 2026 19:17:26 +0000 (15:17 -0400)] 
lib/server/packet: don't create malformed Net.Src.IP/Net.Dst.IP when address family is unset (ignored fr_value_box_ipaddr return)

5 days agolib/server/module.h: misplaced semicolon drops warn_unused_result from module_instanc...
Alexander Bainbridge-Sedivy [Mon, 13 Jul 2026 18:01:29 +0000 (14:01 -0400)] 
lib/server/module.h: misplaced semicolon drops warn_unused_result from module_instance_root