]> git.ipfire.org Git - thirdparty/freeradius-server.git/log
thirdparty/freeradius-server.git
7 weeks agoadd support for "limit files" in the "security" section
Alan T. DeKok [Mon, 15 Jun 2026 17:06:37 +0000 (13:06 -0400)] 
add support for "limit files" in the "security" section

to limit the access of %file.mkdir(), etc.

7 weeks agodon't reparse things which were already parsed
Alan T. DeKok [Mon, 15 Jun 2026 17:59:43 +0000 (13:59 -0400)] 
don't reparse things which were already parsed

7 weeks agothis buffer has to be thread-local, and not static
Alan T. DeKok [Mon, 15 Jun 2026 16:24:52 +0000 (12:24 -0400)] 
this buffer has to be thread-local, and not static

7 weeks agoremove unused headers
Alan T. DeKok [Mon, 15 Jun 2026 16:44:24 +0000 (12:44 -0400)] 
remove unused headers

7 weeks agoprint output directory too, for process tests
Alan T. DeKok [Sat, 13 Jun 2026 18:21:11 +0000 (21:21 +0300)] 
print output directory too, for process tests

7 weeks agodefine macro for common arguments
Alan T. DeKok [Sat, 13 Jun 2026 18:20:27 +0000 (21:20 +0300)] 
define macro for common arguments

7 weeks agotweak TFTP decoder for clearer error messages
Alan T. DeKok [Sat, 13 Jun 2026 10:48:32 +0000 (13:48 +0300)] 
tweak TFTP decoder for clearer error messages

7 weeks agoallow word wrapping for lists outside of nav.adoc
Alan T. DeKok [Fri, 12 Jun 2026 09:24:45 +0000 (12:24 +0300)] 
allow word wrapping for lists outside of nav.adoc

7 weeks agodon't word wrap lists in nav.adoc files
Alan T. DeKok [Fri, 12 Jun 2026 09:19:57 +0000 (12:19 +0300)] 
don't word wrap lists in nav.adoc files

7 weeks agodocs-v4: add kafka.adoc file to Antora index.
nolade [Thu, 11 Jun 2026 21:07:34 +0000 (17:07 -0400)] 
docs-v4: add kafka.adoc file to Antora index.

Added corresponding list entry on nav.adoc.
Reordered Logging modules alphabetically in Logging Modules table
and nav.adoc.

All files wrapped - no changed in logging.adoc except the wrap.

7 weeks agodocs: update wrap.py to handle any depth of nav list entries (4+).
nolade [Thu, 11 Jun 2026 21:19:31 +0000 (17:19 -0400)] 
docs: update wrap.py to handle any depth of nav list entries (4+).

7 weeks agoadd fr_filename_box_make_safe()
Alan T. DeKok [Thu, 11 Jun 2026 11:57:59 +0000 (14:57 +0300)] 
add fr_filename_box_make_safe()

which can be called as-is, as it calls the sbuff escape functions

7 weeks agoadd fr_sbuff_in_needs_escaping()
Alan T. DeKok [Thu, 11 Jun 2026 12:11:42 +0000 (15:11 +0300)] 
add fr_sbuff_in_needs_escaping()

which is often cheaper than brute-force escaping everything

7 weeks agomake rad_filename_box_make_safe() idempotent
Alan T. DeKok [Thu, 11 Jun 2026 11:46:20 +0000 (14:46 +0300)] 
make rad_filename_box_make_safe() idempotent

7 weeks agoci(multi-server): add workflow_dispatch for manual runs (#5886)
Marc-Andre Casavant [Fri, 12 Jun 2026 19:58:45 +0000 (15:58 -0400)] 
ci(multi-server): add workflow_dispatch for manual runs (#5886)

7 weeks agoClarify comments in sample redis module config
Nick Porter [Thu, 11 Jun 2026 15:07:51 +0000 (16:07 +0100)] 
Clarify comments in sample redis module config

7 weeks agoDocument missing parameters
Nick Porter [Thu, 11 Jun 2026 10:30:17 +0000 (11:30 +0100)] 
Document missing parameters

7 weeks agoAddress obsolete settings in Doxyfile
Nick Porter [Thu, 11 Jun 2026 10:17:02 +0000 (11:17 +0100)] 
Address obsolete settings in Doxyfile

7 weeks agoUse ROPTIONAL for TLS session debug - there may not be a request
Nick Porter [Thu, 11 Jun 2026 09:18:06 +0000 (10:18 +0100)] 
Use ROPTIONAL for TLS session debug - there may not be a request

7 weeks agoCorrect filename
Nick Porter [Thu, 11 Jun 2026 09:03:48 +0000 (10:03 +0100)] 
Correct filename

7 weeks agoadd API to discard old entries by state
Alan T. DeKok [Thu, 11 Jun 2026 03:42:24 +0000 (06:42 +0300)] 
add API to discard old entries by state

so that protocols which synthesize State can discard old states

7 weeks agomove fr_filename functions to file.c
Alan T. DeKok [Thu, 11 Jun 2026 07:39:21 +0000 (10:39 +0300)] 
move fr_filename functions to file.c

7 weeks agoadd fr_filename_ok() function
Alan T. DeKok [Thu, 11 Jun 2026 06:56:17 +0000 (09:56 +0300)] 
add fr_filename_ok() function

7 weeks agouse DEFINE instead o ATTRIBUTE for TFTP
Alan T. DeKok [Wed, 10 Jun 2026 13:00:58 +0000 (16:00 +0300)] 
use DEFINE instead o ATTRIBUTE for TFTP

there are no attribute numbers in the packet header

7 weeks agoallow zero-length arguments
Alan T. DeKok [Wed, 10 Jun 2026 11:31:53 +0000 (14:31 +0300)] 
allow zero-length arguments

and produce better error messages

7 weeks agoalwasy set the current time
Alan T. DeKok [Wed, 10 Jun 2026 11:27:41 +0000 (14:27 +0300)] 
alwasy set the current time

7 weeks agogo to next vp if we're ignoring this one
Alan T. DeKok [Wed, 10 Jun 2026 11:19:59 +0000 (14:19 +0300)] 
go to next vp if we're ignoring this one

and don't decode attribute 0 at the root, it's invalid

7 weeks agoallow encoding of raw options for DNS
Alan T. DeKok [Wed, 10 Jun 2026 11:10:26 +0000 (14:10 +0300)] 
allow encoding of raw options for DNS

7 weeks agoallow encoding of raw options
Alan T. DeKok [Wed, 10 Jun 2026 08:45:11 +0000 (11:45 +0300)] 
allow encoding of raw options

7 weeks agocheck dhcpv6_ok() before decoding relayed message
Alan T. DeKok [Wed, 10 Jun 2026 08:43:10 +0000 (11:43 +0300)] 
check dhcpv6_ok() before decoding relayed message

7 weeks agowhen encoding RADIUS in a foreign protocol, don't encode encrypted attributes
Alan T. DeKok [Wed, 10 Jun 2026 08:38:27 +0000 (11:38 +0300)] 
when encoding RADIUS in a foreign protocol, don't encode encrypted attributes

7 weeks agouse proper name for protocol being replaced
Alan T. DeKok [Wed, 10 Jun 2026 08:36:55 +0000 (11:36 +0300)] 
use proper name for protocol being replaced

7 weeks agoreturn underlying error rather than over-writing it
Alan T. DeKok [Wed, 10 Jun 2026 08:25:55 +0000 (11:25 +0300)] 
return underlying error rather than over-writing it

7 weeks agoDHCPv6 message type 0 is invalid
Alan T. DeKok [Wed, 10 Jun 2026 08:22:53 +0000 (11:22 +0300)] 
DHCPv6 message type 0 is invalid

7 weeks agofuzzer_util is now auto-generated
Alan T. DeKok [Wed, 10 Jun 2026 08:12:55 +0000 (11:12 +0300)] 
fuzzer_util is now auto-generated

7 weeks agoreturn invalid packet code for packets RADIUS can't encode
Alan T. DeKok [Wed, 10 Jun 2026 06:25:52 +0000 (09:25 +0300)] 
return invalid packet code for packets RADIUS can't encode

7 weeks agoadd round trip through encoder
Alan T. DeKok [Wed, 10 Jun 2026 05:07:15 +0000 (08:07 +0300)] 
add round trip through encoder

if decode is successful, try to encode it the data.

If encode is successful, try to decode the encoded data.

not enabled yet

7 weeks agoadd style guide
Alan T. DeKok [Tue, 9 Jun 2026 10:32:21 +0000 (13:32 +0300)] 
add style guide

7 weeks agoadd support for $VALUE{...} and $FILE{...}
Alan T. DeKok [Tue, 9 Jun 2026 07:20:13 +0000 (10:20 +0300)] 
add support for $VALUE{...} and $FILE{...}

which loads a single value (one line only) from a file, or loads
an entire file without change.

Add tests and documentation

7 weeks agoset the SECRET flag on secrets
Alan T. DeKok [Tue, 9 Jun 2026 07:18:37 +0000 (10:18 +0300)] 
set the SECRET flag on secrets

7 weeks agorelax tokenizer to allow more than $ENV{}
Alan T. DeKok [Tue, 9 Jun 2026 07:06:11 +0000 (10:06 +0300)] 
relax tokenizer to allow more than $ENV{}

7 weeks agodocs-v4: update sql_user tutorial for v4. Added steps and outputs for debugging.
nolade [Tue, 2 Jun 2026 22:10:08 +0000 (18:10 -0400)] 
docs-v4: update sql_user tutorial for v4. Added steps and outputs for debugging.

7 weeks agoUpdate to support ** and *** lists
Alan T. DeKok [Tue, 9 Jun 2026 06:09:46 +0000 (09:09 +0300)] 
Update to support ** and *** lists

7 weeks agodocs-v4: Update sql tutorial for v4.
nolade [Tue, 2 Jun 2026 21:21:54 +0000 (17:21 -0400)] 
docs-v4: Update sql tutorial for v4.

Includes steps for connecting & testing db connections.

8 weeks agoradict: fix NULL deref in da_print_info when recursively printing group/reference...
Alexander Bainbridge-Sedivy [Fri, 5 Jun 2026 20:02:43 +0000 (16:02 -0400)] 
radict: fix NULL deref in da_print_info when recursively printing group/reference attributes

which only happens if the rest of the dictionary code is broken.
But fixing this will quiet the static analyzer

8 weeks agoradclient.h: fix copy-paste doc comment on coa_reply field
Alexander Bainbridge-Sedivy [Fri, 5 Jun 2026 19:41:58 +0000 (15:41 -0400)] 
radclient.h: fix copy-paste doc comment on coa_reply field

8 weeks agoradclient-ng.h: fix copy-paste doc comment on coa_reply field
Alexander Bainbridge-Sedivy [Fri, 5 Jun 2026 19:41:41 +0000 (15:41 -0400)] 
radclient-ng.h: fix copy-paste doc comment on coa_reply field

8 weeks agodhcpclient: bounds-check packet->code before indexing dhcp_message_types[]
Alexander Bainbridge-Sedivy [Fri, 5 Jun 2026 18:20:57 +0000 (14:20 -0400)] 
dhcpclient: bounds-check packet->code before indexing dhcp_message_types[]

this shouldn't be strictly necessary, as the rest of the code checks
the message types.  But defence in depth is good.

8 weeks agocurl/xlat: unchecked return values of fr_value_box_strdup and fr_value_box_bstrndup...
Alan T. DeKok [Mon, 8 Jun 2026 09:16:20 +0000 (12:16 +0300)] 
curl/xlat: unchecked return values of fr_value_box_strdup and fr_value_box_bstrndup on error path

8 weeks agocurl/io: talloc_get_type_abort called before checking curl_easy_getinfo return code
Alexander Bainbridge-Sedivy [Fri, 5 Jun 2026 16:01:38 +0000 (12:01 -0400)] 
curl/io: talloc_get_type_abort called before checking curl_easy_getinfo return code

8 weeks agoradsnmp: memory leak when fr_radius_decode_simple() fails
Alexander Bainbridge-Sedivy [Fri, 5 Jun 2026 14:51:02 +0000 (10:51 -0400)] 
radsnmp: memory leak when fr_radius_decode_simple() fails

8 weeks agocontrol: ring-buffer leak and ssize_t/size_t mismatch in fr_control_message_pop error...
Alexander Bainbridge-Sedivy [Wed, 3 Jun 2026 20:25:07 +0000 (16:25 -0400)] 
control: ring-buffer leak and ssize_t/size_t mismatch in fr_control_message_pop error path

8 weeks agorlm_rest: rest_decode_post passes strlen(value) instead of strlen(expanded) to fr_pai...
Alexander Bainbridge-Sedivy [Wed, 3 Jun 2026 14:39:13 +0000 (10:39 -0400)] 
rlm_rest: rest_decode_post passes strlen(value) instead of strlen(expanded) to fr_pair_value_from_str

8 weeks agoupdate to match documentation
Alan T. DeKok [Mon, 8 Jun 2026 06:25:00 +0000 (09:25 +0300)] 
update to match documentation

if there is one or more clients defined, then don't fall back to
the default client

8 weeks agodocs-v4: update Howto EAP for v4.
nolade [Thu, 4 Jun 2026 14:54:09 +0000 (10:54 -0400)] 
docs-v4: update Howto EAP for v4.

* reorganised pages into subsections
* added v4 syntax
* added inline refs
* removed v3 chunks of info and no longer supported configs/standard

8 weeks agomore updates to the "word wrap" script for asciidoc files
Alan T. DeKok [Thu, 4 Jun 2026 21:09:12 +0000 (17:09 -0400)] 
more updates to the "word wrap" script for asciidoc files

and add target rules "doc.wrap" which will forcibly word-wrap and
re-format the asciidoc files.  The target ignores the files which
are auto-generated from raddb/

8 weeks agodocs-v4: Updated for v4, Added local dictionary via `DEFINE`, custom dictionary imple...
nolade [Wed, 3 Jun 2026 19:36:30 +0000 (15:36 -0400)] 
docs-v4: Updated for v4, Added local dictionary via `DEFINE`, custom dictionary implementation and test of vendor attributes, creating a local dictionary def witin a virtual server.

8 weeks agodocs-v4: added a page with current development branches in Developemnt>>Contributing...
nolade [Mon, 20 Apr 2026 18:14:50 +0000 (14:14 -0400)] 
docs-v4: added a page with current development branches in Developemnt>>Contributing section

8 weeks agoupdate last commit, more typos
Alan T. DeKok [Thu, 4 Jun 2026 15:35:31 +0000 (11:35 -0400)] 
update last commit, more typos

8 weeks agoadd rules and tool to word-wrap asciidoc files
Alan T. DeKok [Thu, 4 Jun 2026 15:34:24 +0000 (11:34 -0400)] 
add rules and tool to word-wrap asciidoc files

because extremely long lines are good only for "git", but only if
you don't use "--color-words".

Extremely long lines are a horrible pain for mere mortals to read.

8 weeks agocall backtrace_record()
Alan T. DeKok [Thu, 4 Jun 2026 13:27:33 +0000 (09:27 -0400)] 
call backtrace_record()

8 weeks agoadd license and copyright
Alan T. DeKok [Thu, 4 Jun 2026 13:27:21 +0000 (09:27 -0400)] 
add license and copyright

8 weeks agocorrect order checks
Alan T. DeKok [Thu, 4 Jun 2026 12:23:04 +0000 (08:23 -0400)] 
correct order checks

8 weeks agofix typo
Alan T. DeKok [Thu, 4 Jun 2026 12:21:20 +0000 (08:21 -0400)] 
fix typo

8 weeks agofix typo
Alan T. DeKok [Thu, 4 Jun 2026 12:20:00 +0000 (08:20 -0400)] 
fix typo

8 weeks agofix typo
Alan T. DeKok [Thu, 4 Jun 2026 12:19:12 +0000 (08:19 -0400)] 
fix typo

8 weeks agoreturn correct length
Alan T. DeKok [Thu, 4 Jun 2026 12:17:28 +0000 (08:17 -0400)] 
return correct length

8 weeks agovarious bug fixes
Alan T. DeKok [Thu, 4 Jun 2026 12:12:44 +0000 (08:12 -0400)] 
various bug fixes

2 months agofix API usage and data type issues
Alan T. DeKok [Wed, 3 Jun 2026 21:39:25 +0000 (17:39 -0400)] 
fix API usage and data type issues

2 months agorlm_sigtran/event: sigtran_event_submit write loop skips a byte on partial write
Alexander Bainbridge-Sedivy [Mon, 1 Jun 2026 20:24:33 +0000 (16:24 -0400)] 
rlm_sigtran/event: sigtran_event_submit write loop skips a byte on partial write

2 months agorlm_sigtran/ipaccess: heap overflow in ipaccess_read_msg — attacker-controlled length...
Alexander Bainbridge-Sedivy [Mon, 1 Jun 2026 18:56:32 +0000 (14:56 -0400)] 
rlm_sigtran/ipaccess: heap overflow in ipaccess_read_msg — attacker-controlled length used in recv() without bounds check

2 months agorlm_sigtran/link_udp: dead code
Alexander Bainbridge-Sedivy [Mon, 1 Jun 2026 18:17:56 +0000 (14:17 -0400)] 
rlm_sigtran/link_udp: dead code

2 months agorlm_sigtran/msc_conn: abort() triggered by remote NAT_MUX message; NULL deref in...
Alexander Bainbridge-Sedivy [Mon, 1 Jun 2026 17:45:03 +0000 (13:45 -0400)] 
rlm_sigtran/msc_conn: abort() triggered by remote NAT_MUX message; NULL deref in id-response path

2 months agorlm_sigtran/mtp_layer3: NULL pointer dereference in mtp_link_sccp_data when slc[SLS...
Alexander Bainbridge-Sedivy [Mon, 1 Jun 2026 16:16:38 +0000 (12:16 -0400)] 
rlm_sigtran/mtp_layer3: NULL pointer dereference in mtp_link_sccp_data when slc[SLS] is NULL

2 months agoimplement "cipher_suites"
Alan T. DeKok [Tue, 2 Jun 2026 13:54:08 +0000 (09:54 -0400)] 
implement "cipher_suites"

manual port of commit fd11a85c8031

2 months agodisable DER until it passes
Alan T. DeKok [Mon, 1 Jun 2026 20:07:33 +0000 (16:07 -0400)] 
disable DER until it passes

so it's not part of the normal CI runs, but is part of the OSS
fuzzer

2 months agorlm_sql_cassandra: double-free of CassResult in sql_finish_query
Alexander Bainbridge-Sedivy [Mon, 1 Jun 2026 14:47:18 +0000 (10:47 -0400)] 
rlm_sql_cassandra: double-free of CassResult in sql_finish_query

2 months agorlm_sql_cassandra: memory leak in sql_request_cancel — cassandra_query_t not freed...
Alexander Bainbridge-Sedivy [Mon, 1 Jun 2026 14:09:41 +0000 (10:09 -0400)] 
rlm_sql_cassandra: memory leak in sql_request_cancel — cassandra_query_t not freed on cancellation

2 months agoprotocols/dhcpv4/pcap: stack buffer overflow in fr_dhcpv4_pcap_send — no bounds check...
Alexander Bainbridge-Sedivy [Fri, 29 May 2026 19:22:53 +0000 (15:22 -0400)] 
protocols/dhcpv4/pcap: stack buffer overflow in fr_dhcpv4_pcap_send — no bounds check on packet->data_len before memcpy

2 months agolib/ldap/directory: fix strncmp prefix-match false positives in server capability...
Alexander Bainbridge-Sedivy [Fri, 29 May 2026 14:07:57 +0000 (10:07 -0400)] 
lib/ldap/directory: fix strncmp prefix-match false positives in server capability detection

2 months agolib/ldap/edir: handle ldap_parse_extended_result errors; fix missing space in version...
Alexander Bainbridge-Sedivy [Wed, 27 May 2026 20:53:13 +0000 (16:53 -0400)] 
lib/ldap/edir: handle ldap_parse_extended_result errors; fix missing space in version error string

2 months agolib/redis/pipeline: fix missing return after SIGNAL cancel
Alexander Bainbridge-Sedivy [Wed, 27 May 2026 19:02:05 +0000 (15:02 -0400)] 
lib/redis/pipeline: fix missing return after SIGNAL cancel

2 months agoupdate after new fuzzer_der
Alan T. DeKok [Sun, 31 May 2026 16:10:53 +0000 (12:10 -0400)] 
update after new fuzzer_der

2 months agofuzzer: add der targeted fuzzer
David Korczynski [Wed, 27 May 2026 22:12:59 +0000 (15:12 -0700)] 
fuzzer: add der targeted fuzzer

Signed-off-by: David Korczynski <david@adalogics.com>
2 months agoScheduled fuzzing: Update src/tests/fuzzer-corpus/dhcpv6.tar
github-actions[bot] [Sat, 30 May 2026 05:26:49 +0000 (05:26 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/dhcpv6.tar

2 months agoScheduled fuzzing: Update src/tests/fuzzer-corpus/cbor.tar
github-actions[bot] [Sat, 30 May 2026 05:26:13 +0000 (05:26 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/cbor.tar

2 months agoScheduled fuzzing: Update src/tests/fuzzer-corpus/bfd.tar
github-actions[bot] [Sat, 30 May 2026 05:26:10 +0000 (05:26 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/bfd.tar

2 months agoScheduled fuzzing: Update src/tests/fuzzer-corpus/tftp.tar
github-actions[bot] [Sat, 30 May 2026 05:26:07 +0000 (05:26 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/tftp.tar

2 months agoScheduled fuzzing: Update src/tests/fuzzer-corpus/vmps.tar
github-actions[bot] [Sat, 30 May 2026 05:26:04 +0000 (05:26 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/vmps.tar

2 months agoScheduled fuzzing: Update src/tests/fuzzer-corpus/tacacs.tar
github-actions[bot] [Sat, 30 May 2026 05:26:01 +0000 (05:26 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/tacacs.tar

2 months agoScheduled fuzzing: Update src/tests/fuzzer-corpus/dns.tar
github-actions[bot] [Sat, 30 May 2026 05:25:58 +0000 (05:25 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/dns.tar

2 months agoScheduled fuzzing: Update src/tests/fuzzer-corpus/dhcpv4.tar
github-actions[bot] [Sat, 30 May 2026 05:25:52 +0000 (05:25 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/dhcpv4.tar

2 months agoScheduled fuzzing: Update src/tests/fuzzer-corpus/radius.tar
github-actions[bot] [Sat, 30 May 2026 05:25:50 +0000 (05:25 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/radius.tar

2 months agoScheduled fuzzing: Update src/tests/fuzzer-corpus/der.tar
github-actions[bot] [Sat, 30 May 2026 05:25:22 +0000 (05:25 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/der.tar

2 months agokeys should be populated before it is returned
Nick Porter [Fri, 29 May 2026 10:53:51 +0000 (11:53 +0100)] 
keys should be populated before it is returned

If pair->vp doesn't exist, an empty mruby array is returned.

2 months agorlm_sqlippool: If the "find" query fails to expand, that's a failure
Nick Porter [Fri, 29 May 2026 08:54:02 +0000 (09:54 +0100)] 
rlm_sqlippool: If the "find" query fails to expand, that's a failure

2 months agoprocess/bfd: replace assert with runtime validation in resume_recv_bfd
Alexander Bainbridge-Sedivy [Wed, 27 May 2026 15:53:44 +0000 (11:53 -0400)] 
process/bfd: replace assert with runtime validation in resume_recv_bfd

2 months agolog.c: fix signed overflow when negating SSIZE_MIN in log_request_marker
Alexander Bainbridge-Sedivy [Wed, 27 May 2026 13:39:32 +0000 (09:39 -0400)] 
log.c: fix signed overflow when negating SSIZE_MIN in log_request_marker

2 months agomilenage: fix CK/IK swap, and self-comparison test
Alexander Bainbridge-Sedivy [Mon, 25 May 2026 20:52:52 +0000 (16:52 -0400)] 
milenage: fix CK/IK swap, and self-comparison test

2 months agolib/util/fring: guard against size==0 and size>0x80000000 overflow
Alexander Bainbridge-Sedivy [Mon, 25 May 2026 19:13:20 +0000 (15:13 -0400)] 
lib/util/fring: guard against size==0 and size>0x80000000 overflow