]> git.ipfire.org Git - thirdparty/freeradius-server.git/log
thirdparty/freeradius-server.git
3 years agofr_perror should accept a NULL fmt string
Arran Cudbard-Bell [Wed, 5 Oct 2022 14:15:44 +0000 (10:15 -0400)] 
fr_perror should accept a NULL fmt string

3 years agoScheduled fuzzing: Update src/tests/fuzzer-corpus/dhcpv4.tar
github-actions[bot] [Wed, 5 Oct 2022 09:49:16 +0000 (09:49 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/dhcpv4.tar

3 years agoScheduled fuzzing: Update src/tests/fuzzer-corpus/radius.tar
github-actions[bot] [Wed, 5 Oct 2022 09:49:13 +0000 (09:49 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/radius.tar

3 years agoScheduled fuzzing: Update src/tests/fuzzer-corpus/vmps.tar
github-actions[bot] [Wed, 5 Oct 2022 09:49:03 +0000 (09:49 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/vmps.tar

3 years agoScheduled fuzzing: Update src/tests/fuzzer-corpus/tacacs.tar
github-actions[bot] [Wed, 5 Oct 2022 09:49:01 +0000 (09:49 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/tacacs.tar

3 years agoScheduled fuzzing: Update src/tests/fuzzer-corpus/dns.tar
github-actions[bot] [Wed, 5 Oct 2022 09:48:57 +0000 (09:48 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/dns.tar

3 years agoScheduled fuzzing: Update src/tests/fuzzer-corpus/dhcpv6.tar
github-actions[bot] [Wed, 5 Oct 2022 09:48:55 +0000 (09:48 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/dhcpv6.tar

3 years agoScheduled fuzzing: Update src/tests/fuzzer-corpus/util.tar
github-actions[bot] [Wed, 5 Oct 2022 09:48:46 +0000 (09:48 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/util.tar

3 years agoScheduled fuzzing: Update src/tests/fuzzer-corpus/tftp.tar
github-actions[bot] [Wed, 5 Oct 2022 09:48:43 +0000 (09:48 +0000)] 
Scheduled fuzzing: Update src/tests/fuzzer-corpus/tftp.tar

3 years agoAlways pass in line numbers
Arran Cudbard-Bell [Wed, 5 Oct 2022 03:55:32 +0000 (23:55 -0400)] 
Always pass in line numbers

3 years agoActually commit the strerror functions.
Arran Cudbard-Bell [Wed, 5 Oct 2022 03:44:25 +0000 (23:44 -0400)] 
Actually commit the strerror functions.

3 years agoConvert more TLS functions to strerror style
Arran Cudbard-Bell [Wed, 5 Oct 2022 03:37:16 +0000 (23:37 -0400)] 
Convert more TLS functions to strerror style

3 years agotry to quiet compiler
Alan T. DeKok [Tue, 4 Oct 2022 14:10:20 +0000 (10:10 -0400)] 
try to quiet compiler

3 years agoAdd "strerror" variants of more logging functions
Arran Cudbard-Bell [Tue, 4 Oct 2022 05:12:19 +0000 (01:12 -0400)] 
Add "strerror" variants of more logging functions

This means the TLS library functions can integrate better with the different logging facilities, allowing us to print chain errors in the context of a conf item (for example)

3 years agoNot enabled if we don't have any request
Arran Cudbard-Bell [Tue, 4 Oct 2022 04:47:46 +0000 (00:47 -0400)] 
Not enabled if we don't have any request

3 years agoThe less awful method of getting src information from OpenSSL
Arran Cudbard-Bell [Tue, 4 Oct 2022 03:05:36 +0000 (23:05 -0400)] 
The less awful method of getting src information from OpenSSL

3 years agoRecord the file and line for strerror calls
Arran Cudbard-Bell [Tue, 4 Oct 2022 03:03:18 +0000 (23:03 -0400)] 
Record the file and line for strerror calls

Only accessible via the debugger for now

3 years agoJust use the printf functions to produce tls errors
Arran Cudbard-Bell [Tue, 4 Oct 2022 01:26:22 +0000 (21:26 -0400)] 
Just use the printf functions to produce tls errors

3 years agoAdd 'v' variants to strerror logging functions
Arran Cudbard-Bell [Tue, 4 Oct 2022 00:27:32 +0000 (20:27 -0400)] 
Add 'v' variants to strerror logging functions

3 years agoMore "update {....}" to edit against src/tests/modules/* (#4735)
Jorge Pereira [Mon, 3 Oct 2022 13:04:32 +0000 (15:04 +0200)] 
More "update {....}" to edit against src/tests/modules/* (#4735)

3 years agoremove use of locate(1) from configure scripts
Matthew Newton [Mon, 3 Oct 2022 12:34:49 +0000 (13:34 +0100)] 
remove use of locate(1) from configure scripts

3 years agoRemove extra semicolons at ends of statements and declarations (#4751)
James Jones [Mon, 3 Oct 2022 12:43:50 +0000 (07:43 -0500)] 
Remove extra semicolons at ends of statements and declarations (#4751)

Found one while looking through coverity defects, and decided to
take a few minutes with grep and an editor to get rid of them all.

3 years agorefresh configure scripts
Matthew Newton [Sun, 2 Oct 2022 17:07:59 +0000 (18:07 +0100)] 
refresh configure scripts

3 years agoshow optional module build features in configure report
Matthew Newton [Sat, 1 Oct 2022 16:28:14 +0000 (17:28 +0100)] 
show optional module build features in configure report

3 years agouse m4 macro to set module fail state
Matthew Newton [Sat, 1 Oct 2022 15:29:55 +0000 (16:29 +0100)] 
use m4 macro to set module fail state

3 years agotidy and standardise format of module configure.ac files
Matthew Newton [Sat, 1 Oct 2022 10:43:50 +0000 (11:43 +0100)] 
tidy and standardise format of module configure.ac files

3 years agorework all whitespace in module configure.ac files
Matthew Newton [Sat, 1 Oct 2022 10:41:49 +0000 (11:41 +0100)] 
rework all whitespace in module configure.ac files

3 years agomodule autoconf depends on toplevel m4 macros
Matthew Newton [Sat, 1 Oct 2022 09:31:01 +0000 (10:31 +0100)] 
module autoconf depends on toplevel m4 macros

3 years agoupdate configure.ac and nice report for libraries, too
Matthew Newton [Sat, 1 Oct 2022 13:05:19 +0000 (14:05 +0100)] 
update configure.ac and nice report for libraries, too

3 years agoautoconf macros for tidying module config
Matthew Newton [Fri, 30 Sep 2022 15:53:07 +0000 (16:53 +0100)] 
autoconf macros for tidying module config

Add a nice report at the _end_ of configure, so there's no excuse
of missing a "silently unconfigured" module any more.

3 years agoexpand missing variables
Matthew Newton [Fri, 30 Sep 2022 20:36:28 +0000 (21:36 +0100)] 
expand missing variables

3 years agoinitial attempt at statistics handling
Alan T. DeKok [Thu, 29 Sep 2022 21:29:29 +0000 (17:29 -0400)] 
initial attempt at statistics handling

3 years agorename "is_counter" to "counter"
Alan T. DeKok [Thu, 29 Sep 2022 21:15:41 +0000 (17:15 -0400)] 
rename "is_counter" to "counter"

and add it to the flags being printed

3 years agoadd fr_value_box_memcpy_in()
Alan T. DeKok [Thu, 29 Sep 2022 13:34:38 +0000 (09:34 -0400)] 
add fr_value_box_memcpy_in()

which mirrors fr_value_box_memcpy_out()

3 years agotime_delta can be counter, too
Alan T. DeKok [Mon, 26 Sep 2022 16:24:42 +0000 (12:24 -0400)] 
time_delta can be counter, too

3 years agorefresh configure.ac files suggested by autoupdate
Matthew Newton [Thu, 29 Sep 2022 15:50:11 +0000 (16:50 +0100)] 
refresh configure.ac files suggested by autoupdate

3 years agorefresh configure scripts
Matthew Newton [Thu, 29 Sep 2022 12:18:01 +0000 (13:18 +0100)] 
refresh configure scripts

3 years agomake target to force refresh of all configure scripts
Matthew Newton [Thu, 29 Sep 2022 11:53:50 +0000 (12:53 +0100)] 
make target to force refresh of all configure scripts

3 years agoforce build autoconf files
Matthew Newton [Thu, 29 Sep 2022 11:46:14 +0000 (12:46 +0100)] 
force build autoconf files

so make sees updated timestamps, even if nothing actually changed

3 years agofix make reconfig so it rebuilds all.mk files
Matthew Newton [Thu, 29 Sep 2022 11:46:54 +0000 (12:46 +0100)] 
fix make reconfig so it rebuilds all.mk files

3 years agoaclocal.m4 and acinclude.m4 are now gone
Matthew Newton [Thu, 29 Sep 2022 11:33:27 +0000 (12:33 +0100)] 
aclocal.m4 and acinclude.m4 are now gone

3 years agofix autoconf underquoted warning
Matthew Newton [Thu, 29 Sep 2022 10:38:02 +0000 (11:38 +0100)] 
fix autoconf underquoted warning

3 years agoadjust all AC_PREREQ
Matthew Newton [Thu, 29 Sep 2022 10:36:30 +0000 (11:36 +0100)] 
adjust all AC_PREREQ

nobody should be using anything before 2.69 now, it's 10 years
old, and 2.71 isn't available on all systems yet

3 years agoadd FR_INIT_MODULE autoconf macro
Matthew Newton [Thu, 29 Sep 2022 09:21:39 +0000 (10:21 +0100)] 
add FR_INIT_MODULE autoconf macro

helps with consistency and saves duplication

3 years agomove module m4 macros to top-level m4 directory
Matthew Newton [Thu, 29 Sep 2022 08:45:55 +0000 (09:45 +0100)] 
move module m4 macros to top-level m4 directory

3 years agosplit acinclude.m4 into separate files in m4/
Matthew Newton [Thu, 29 Sep 2022 08:44:44 +0000 (09:44 +0100)] 
split acinclude.m4 into separate files in m4/

3 years agore-add the rule that actually lets make reconfig work for modules
Matthew Newton [Thu, 29 Sep 2022 09:03:01 +0000 (10:03 +0100)] 
re-add the rule that actually lets make reconfig work for modules

3 years agouse aclocal to regenerate aclocal.m4 on the fly
Matthew Newton [Thu, 29 Sep 2022 09:08:57 +0000 (10:08 +0100)] 
use aclocal to regenerate aclocal.m4 on the fly

this means we can also remove m4_include, as aclocal will search
for all required macros

3 years agoshouldn't need this hack any more
Matthew Newton [Thu, 29 Sep 2022 08:35:15 +0000 (09:35 +0100)] 
shouldn't need this hack any more

3 years agoWork around for debian sid not reporting codename with lsb_release
Nick Porter [Wed, 28 Sep 2022 10:27:03 +0000 (11:27 +0100)] 
Work around for debian sid not reporting codename with lsb_release

There is a known debian bug #1020893

3 years agoEnsure consistent llvm version is installed on MacOS
Nick Porter [Wed, 28 Sep 2022 09:51:53 +0000 (10:51 +0100)] 
Ensure consistent llvm version is installed on MacOS

3 years agoRemove unnecessary ;
Nick Porter [Wed, 28 Sep 2022 09:09:53 +0000 (10:09 +0100)] 
Remove unnecessary ;

3 years agodocs
Nick Porter [Tue, 27 Sep 2022 15:55:43 +0000 (16:55 +0100)] 
docs

3 years agoAdd type specific dcursors (#4747)
Nick Porter [Tue, 27 Sep 2022 13:41:25 +0000 (14:41 +0100)] 
Add type specific dcursors (#4747)

* Add macros to generate type-safe wrappers for dcursor functions

* Add tests for type-safe dcursors

3 years agoAdd tests of fr_dcursor_set_current() and fr_dcursor_free_item()
Nick Porter [Tue, 27 Sep 2022 09:45:05 +0000 (10:45 +0100)] 
Add tests of fr_dcursor_set_current() and fr_dcursor_free_item()

3 years agoAnnotated two false positive dereferences (CIDS #1506638, #1506635) (#4741)
James Jones [Mon, 26 Sep 2022 23:33:12 +0000 (18:33 -0500)] 
Annotated two false positive dereferences (CIDS #1506638, #1506635) (#4741)

Two overlooked cases in which the caller knows that the dlist
entries in fact exist.

3 years agoCheck fr_openssl_init() return in fr_aka_sim_init() (CID #1504435) (#4746)
James Jones [Mon, 26 Sep 2022 23:32:52 +0000 (18:32 -0500)] 
Check fr_openssl_init() return in fr_aka_sim_init() (CID #1504435) (#4746)

Curiously, coverity is no longer noticing this defect, but it
seems like a real bug nonetheless.

3 years agotrack currently running / yielded instructions
Alan T. DeKok [Mon, 26 Sep 2022 16:20:49 +0000 (12:20 -0400)] 
track currently running / yielded instructions

3 years agorework perf calls
Alan T. DeKok [Sun, 25 Sep 2022 13:27:41 +0000 (09:27 -0400)] 
rework perf calls

to catch cases of retry / yield / abort / etc.

3 years agodon't shift by 64. Fixes Coverity #1515536 and #1515537
Alan T. DeKok [Sat, 24 Sep 2022 22:48:06 +0000 (18:48 -0400)] 
don't shift by 64.  Fixes Coverity #1515536 and #1515537

3 years agodo time tracking per frame
Alan T. DeKok [Sat, 24 Sep 2022 12:34:30 +0000 (08:34 -0400)] 
do time tracking per frame

and only add it to the instruction totals when the frame is done

3 years agouse fr_time_tracking for the time tracking.
Alan T. DeKok [Fri, 23 Sep 2022 16:30:49 +0000 (12:30 -0400)] 
use fr_time_tracking for the time tracking.

if it's good enough for modules, it's good enough for the interpreter

Which now lets it track yielded time, too.

We still have some @todo, which is to track parent frames, so
that when a child yields, we mark the parent as yielded too

3 years agowe don't need a parent for time tracking.
Alan T. DeKok [Fri, 23 Sep 2022 16:29:42 +0000 (12:29 -0400)] 
we don't need a parent for time tracking.

3 years agofix compiler errors
Alan T. DeKok [Fri, 23 Sep 2022 14:15:05 +0000 (10:15 -0400)] 
fix compiler errors

3 years agoAdd benchmark for fr_time
Arran Cudbard-Bell [Fri, 23 Sep 2022 14:01:10 +0000 (10:01 -0400)] 
Add benchmark for fr_time

3 years agoclean up integer calculations
Alan T. DeKok [Thu, 22 Sep 2022 18:46:00 +0000 (14:46 -0400)] 
clean up integer calculations

simplify the process of hinting, and always upcast intermediate
integers to int64_t or uint64_t.  That way the result is much more
likely to be representable

3 years agoMake sure we don't overrun implib_file (CID #1504299) (#4739)
James Jones [Fri, 23 Sep 2022 11:45:35 +0000 (06:45 -0500)] 
Make sure we don't overrun implib_file (CID #1504299) (#4739)

def_file wasn't the only fixed-size buffer in jlibtool.

3 years agoCheck fr_unlink() return in radsniff (CID #1504435&) (#4740)
James Jones [Fri, 23 Sep 2022 11:45:17 +0000 (06:45 -0500)] 
Check fr_unlink() return in radsniff (CID #1504435&) (#4740)

3 years agoinitialize buff to placate coverity (CIDs #1503942, #1504042) (#4738)
James Jones [Fri, 23 Sep 2022 11:45:02 +0000 (06:45 -0500)] 
initialize buff to placate coverity (CIDs #1503942, #1504042) (#4738)

Coverity doesn't realize that fr_sbuff_out_bstrncpy_allowed()
will put something in buff, if only a NUL terminator. Until
coverity sees annotations in macro definitions, the only way
I know of to avoid the false positive "uninit_use_in_call"
defects in SBUFF_PARSE_FLOAT_DEF()-generated functions is to
actually initialize buff.

3 years agominor rearrangement
Alan T. DeKok [Thu, 22 Sep 2022 12:53:40 +0000 (08:53 -0400)] 
minor rearrangement

3 years agoupdate operator precedence (and tests)
Alan T. DeKok [Thu, 22 Sep 2022 12:42:53 +0000 (08:42 -0400)] 
update operator precedence (and tests)

3 years agoMore convert 'update' to 'edit' (#4724)
Jorge Pereira [Wed, 21 Sep 2022 18:18:37 +0000 (19:18 +0100)] 
More convert 'update' to 'edit' (#4724)

* More convert 'update' to 'edit' against EAPOL tests

* More convert 'update' to 'edit' against bin tests

* More convert 'update' to 'edit' against TACACS tests

* More convert 'update' to 'edit' against AUTH tests

* More convert 'update' to 'edit' against DIGEST tests

* More convert 'update' to 'edit' against PERFORMANCE tests

* More convert 'update' to 'edit' against RADCLIENT tests

* More convert 'update' to 'edit' against VMPS tests

* More convert 'update' to 'edit' against XLAT tests

3 years agoAnnotate calls we know won't fail (CID #1503939) (#4722)
James Jones [Wed, 21 Sep 2022 13:53:39 +0000 (08:53 -0500)] 
Annotate calls we know won't fail (CID #1503939) (#4722)

The individual tests in edit_tests all operate on a three-element
pair list they get from add_pairs(), freeing it after they're done.
fr_pair_afrom_da() only returns NULL if it runs out of memory--
unlikely in this context, so we annotate the calls that add items
to the list.

3 years agoAnnotate false positive tainted data in fr_udp_header_check() (CID #1504068) (#4728)
James Jones [Wed, 21 Sep 2022 13:53:21 +0000 (08:53 -0500)] 
Annotate false positive tainted data in fr_udp_header_check() (CID #1504068) (#4728)

Coverity doesn't recognize the check that diff == 0 as a check of
udp_len.

3 years agoCheck def file name against def_file size (CID #1504299) (#4731)
James Jones [Wed, 21 Sep 2022 13:53:04 +0000 (08:53 -0500)] 
Check def file name against def_file size (CID #1504299) (#4731)

The check needed to be there... if coverity doesn't realize that
we are now checking, it will still need annotation.

3 years agoCheck inst->filename before trying to use it (CID #1503909) (#4732)
James Jones [Wed, 21 Sep 2022 13:52:43 +0000 (08:52 -0500)] 
Check inst->filename before trying to use it (CID #1503909) (#4732)

It appears that all invocations of the open function of an
fr_app_io_t check for error, so this should suffice (apart
from possible error loggign) and should satisfy coverity
without annotation.

3 years agoAnnotate "tainted data" in fr_udp_header_check() call (CID #1504049) (#4727)
James Jones [Wed, 21 Sep 2022 13:51:58 +0000 (08:51 -0500)] 
Annotate "tainted data" in fr_udp_header_check() call (CID #1504049) (#4727)

Coverity claims that the "downcast" of a uint8_t const * to
ip_header_t const * taints "the data that this pointer points to".
"this pointer" must be p, because coverity says not a word about
dereferences of ip. The pointed at data isn't changed, being const
qualified. p and the passed length are checked in fr_udp_header_check().

3 years agoUse dummy LDAP handle to tidy code
Nick Porter [Thu, 8 Sep 2022 13:16:36 +0000 (14:16 +0100)] 
Use dummy LDAP handle to tidy code

3 years agoTypos
Nick Porter [Thu, 8 Sep 2022 13:18:13 +0000 (14:18 +0100)] 
Typos

3 years agowe shouldn't be using a NULL talloc_ctx.
Alan T. DeKok [Tue, 20 Sep 2022 18:10:32 +0000 (14:10 -0400)] 
we shouldn't be using a NULL talloc_ctx.

and always free the result_copy, as the debug level may change
in an xlt function

3 years agoreset request->module only when the module is done
Alan T. DeKok [Tue, 20 Sep 2022 16:51:38 +0000 (12:51 -0400)] 
reset request->module only when the module is done

not when it returns.  Because if the module asks for an xlat to
be expanded, that is done on behalf of the module.  And any xlat
debugging should print the module name

3 years agoadd file / line for indent debugging
Alan T. DeKok [Tue, 20 Sep 2022 16:11:53 +0000 (12:11 -0400)] 
add file / line for indent debugging

and move indent debugging to after the change, so it's clearer
what has been done where.

3 years agotypo
Alan T. DeKok [Mon, 19 Sep 2022 18:58:24 +0000 (14:58 -0400)] 
typo

and reformat to match the use a few lines above, to make future
typos easier to spot

3 years agomanually ported from v3, with fixes
Alan T. DeKok [Mon, 19 Sep 2022 12:46:21 +0000 (08:46 -0400)] 
manually ported from v3, with fixes

3 years agoindent for nested xlat expansion
Alan T. DeKok [Sun, 18 Sep 2022 13:36:38 +0000 (09:36 -0400)] 
indent for nested xlat expansion

which makes the debug output rather a lot easier to read

3 years agosave node->fmt as the name of the attribute we're looking for
Alan T. DeKok [Sat, 17 Sep 2022 13:27:18 +0000 (09:27 -0400)] 
save node->fmt as the name of the attribute we're looking for

we should arguably walk through the xlat after it's been parsed,
and replace node->fmt with the *printed* version of the node.
That way we don't have to resort to run-time walking through the
func+argc, etc. in order to print a name for the xlat we're
resolving.

3 years agouse _s for structures
Alan T. DeKok [Sat, 17 Sep 2022 13:15:55 +0000 (09:15 -0400)] 
use _s for structures

3 years agoadd visual bars for xlat expansion
Alan T. DeKok [Sat, 17 Sep 2022 13:12:32 +0000 (09:12 -0400)] 
add visual bars for xlat expansion

which helps to visually separate them from unlang statements.
And also helps to line up nested xlats

3 years agoNokia SR dict: Cleanup and freshen against July 2022 reference (#4729)
Terry Burton [Mon, 19 Sep 2022 15:43:12 +0000 (16:43 +0100)] 
Nokia SR dict: Cleanup and freshen against July 2022 reference (#4729)

3 years agomove save / restore indent to the correct spots
Alan T. DeKok [Fri, 16 Sep 2022 15:31:54 +0000 (11:31 -0400)] 
move save / restore indent to the correct spots

3 years agomore cleanups for debug printing
Alan T. DeKok [Fri, 16 Sep 2022 15:09:39 +0000 (11:09 -0400)] 
more cleanups for debug printing

3 years agomove luajit definitions to one place
Alan T. DeKok [Fri, 16 Sep 2022 13:44:59 +0000 (09:44 -0400)] 
move luajit definitions to one place

and only use the definitions if libfreeradius-lua is built.

Apparently on an Apple M1, adding the various pagesize options
results in an invalid Mach-O executable

3 years agoadd and set "constant" flag for xlat
Alan T. DeKok [Fri, 16 Sep 2022 01:12:34 +0000 (21:12 -0400)] 
add and set "constant" flag for xlat

so that we can suppress printing xlat expansions for XLAT_BOX
and tmpl_t's which are data.  It's confusing to see

EXPAND 4
  ---> 4

3 years agoassert that there's always a format for the node
Alan T. DeKok [Fri, 16 Sep 2022 00:56:30 +0000 (20:56 -0400)] 
assert that there's always a format for the node

3 years agotweak debug output, and add indentation
Alan T. DeKok [Fri, 16 Sep 2022 00:50:50 +0000 (20:50 -0400)] 
tweak debug output, and add indentation

3 years agoadd RINDENT_SAVE / RESTORE
Alan T. DeKok [Fri, 16 Sep 2022 00:50:11 +0000 (20:50 -0400)] 
add RINDENT_SAVE / RESTORE

so that we can save indention, and then avoid REXDENT on all
of the error paths.

3 years agoalways set node->fmt
Alan T. DeKok [Fri, 16 Sep 2022 00:46:53 +0000 (20:46 -0400)] 
always set node->fmt

3 years agocleanups
Alan T. DeKok [Fri, 16 Sep 2022 00:00:48 +0000 (20:00 -0400)] 
cleanups

3 years agomore cleanups
Alan T. DeKok [Thu, 15 Sep 2022 20:29:59 +0000 (16:29 -0400)] 
more cleanups

we no longer create a tmpl from the RHS result.  Instead, we just
leave it as a value-box list, or as a pair list

3 years agominor cleanups and lots more comments
Alan T. DeKok [Thu, 15 Sep 2022 20:26:23 +0000 (16:26 -0400)] 
minor cleanups and lots more comments