]> git.ipfire.org Git - thirdparty/freeradius-server.git/log
thirdparty/freeradius-server.git
2 years agomove Interpreter to top
Alan T. DeKok [Mon, 31 Jul 2023 15:17:13 +0000 (11:17 -0400)] 
move Interpreter to top

2 years agoMissed out init in test_bstrncpy() (CID #1504057) (#5127)
James Jones [Mon, 31 Jul 2023 15:19:05 +0000 (10:19 -0500)] 
Missed out init in test_bstrncpy() (CID #1504057) (#5127)

2 years agoredisGetReply doesn't nullify the reply pointer when there's no reply...
Arran Cudbard-Bell [Sat, 29 Jul 2023 15:42:02 +0000 (11:42 -0400)] 
redisGetReply doesn't nullify the reply pointer when there's no reply...

2 years agoredis: Expose read only toggle
Arran Cudbard-Bell [Fri, 28 Jul 2023 19:23:12 +0000 (15:23 -0400)] 
redis: Expose read only toggle

2 years agoredis: Don't prefix function loading with "read only"
Arran Cudbard-Bell [Fri, 28 Jul 2023 19:22:20 +0000 (15:22 -0400)] 
redis: Don't prefix function loading with "read only"

2 years agoHelp coverity recognize the range check (CID #1503921) (#5125)
James Jones [Fri, 28 Jul 2023 19:02:13 +0000 (14:02 -0500)] 
Help coverity recognize the range check (CID #1503921) (#5125)

The code checks that offset is in [12, start - packet), and
coverity recognizes the lower bound check as constraining
offset, but doesn't recognze the upper bound check, hence the
TAINTED_SCALAR defect. We rewrite the check in an equivalent
form with offset by itself on one side of the relational
operator.

2 years agoEnclose explicit loop case of fr_memset_secure() in block (#5126)
James Jones [Fri, 28 Jul 2023 19:01:16 +0000 (14:01 -0500)] 
Enclose explicit loop case of fr_memset_secure() in block (#5126)

Done because of the initial if statement, which makes the
explicit loop declaratons not be at the start of a block.

2 years agoKeep too-long lines from overwriting output_buffer (#5093)
James Jones [Fri, 28 Jul 2023 14:15:29 +0000 (09:15 -0500)] 
Keep too-long lines from overwriting output_buffer (#5093)

This came up because of CID #1533664, but almost certainly won't
placate coverity. It just makes sure that it won't ask for more
than will fit in output_buff, at the extremely rare cost of not
printing all of the remaining part of the line.

2 years agoadd and use fr_memset_secure()
Alan T. DeKok [Thu, 27 Jul 2023 22:53:03 +0000 (15:53 -0700)] 
add and use fr_memset_secure()

we will update the configure scripts later

2 years agoRevert "securely wipe secret information in pairs"
Alan T. DeKok [Thu, 27 Jul 2023 22:42:18 +0000 (15:42 -0700)] 
Revert "securely wipe secret information in pairs"

This reverts commit d8ddfd4a1df33cfa21b942b20ce53af263b93c52.

nope.  Various Linux distributions don't have it.

2 years agosecurely wipe secret information in pairs
Alan T. DeKok [Thu, 27 Jul 2023 22:27:38 +0000 (15:27 -0700)] 
securely wipe secret information in pairs

2 years agoCheck fr_sbuff_in_bstrncpy() in generate_from_header() (CID #1503908) (#5107)
James Jones [Thu, 27 Jul 2023 16:00:13 +0000 (11:00 -0500)] 
Check fr_sbuff_in_bstrncpy() in generate_from_header() (CID #1503908) (#5107)

2 years agoInitialize sbuff_tests output buffers for now (#5098)
James Jones [Thu, 27 Jul 2023 15:59:49 +0000 (10:59 -0500)] 
Initialize sbuff_tests output buffers for now (#5098)

CID #1503912, #1503930, #1503945, #1503930, #1503945

This should quiet coverity while we figure out why the
sbuff function models don't communicate to coverity that
on success, they really do write to the output sbuff.

2 years agoCheck sbuff returns in header_source() (CIDs #150424, #150280) (#5116)
James Jones [Thu, 27 Jul 2023 15:58:36 +0000 (10:58 -0500)] 
Check sbuff returns in header_source() (CIDs #150424, #150280) (#5116)

It's seriously unlikely, since conf_buffer can use all the
memory there is, but in theory the generation of the SMTP header
*could* fail, and that's enough to make coverity kvetch.

2 years agoMake clear to fr_radius_ok() that totallen is validated (CID #1455247) (#5109)
James Jones [Thu, 27 Jul 2023 15:58:12 +0000 (10:58 -0500)] 
Make clear to fr_radius_ok() that totallen is validated (CID #1455247) (#5109)

Coverity thinks that calculating totallen via byte-swapping taints
the buffer holding the packet to be decoded. Modeling fr_radius_ok()
doesn't seem to have worked, so we'll try making it clear to coverity
that we validate totallen.

2 years agoldap: Alloc all resources at the start of the function
Arran Cudbard-Bell [Thu, 27 Jul 2023 15:11:28 +0000 (11:11 -0400)] 
ldap: Alloc all resources at the start of the function

2 years agoAdd _ldap_connection_close_watch only after `queries' have been (#5123)
Max Khon [Thu, 27 Jul 2023 15:09:14 +0000 (23:09 +0800)] 
Add _ldap_connection_close_watch only after `queries' have been (#5123)

initialized and after the connection is known to be correctly
initialized (and not free'd after being added to close watch list).

2 years agominor documentation updates
Matthew Newton [Thu, 27 Jul 2023 11:59:14 +0000 (12:59 +0100)] 
minor documentation updates

2 years agoUpdate FreeRADIUS web site Antora documentation
Matthew Newton [Wed, 26 Jul 2023 15:11:56 +0000 (16:11 +0100)] 
Update FreeRADIUS web site Antora documentation

2 years agobump antora to 3.1 as 2.0 is now EOL
Matthew Newton [Wed, 26 Jul 2023 15:05:43 +0000 (16:05 +0100)] 
bump antora to 3.1 as 2.0 is now EOL

2 years agoAdd copying of secret flag to xlats which create a new value box
Nick Porter [Wed, 26 Jul 2023 12:35:40 +0000 (13:35 +0100)] 
Add copying of secret flag to xlats which create a new value box

and produce output which can reveal the input

2 years agoUse fr_value_box_contains_secret when securely printing lists
Nick Porter [Wed, 26 Jul 2023 12:33:48 +0000 (13:33 +0100)] 
Use fr_value_box_contains_secret when securely printing lists

Lists can contain groups and the secret could be a child of a group

2 years agoSet value box secret on all concat_in_place paths
Nick Porter [Wed, 26 Jul 2023 12:28:53 +0000 (13:28 +0100)] 
Set value box secret on all concat_in_place paths

2 years agoAdd sample "send ...Get..." sections to TACACS virtual server
Nick Porter [Wed, 26 Jul 2023 09:34:04 +0000 (10:34 +0100)] 
Add sample "send ...Get..." sections to TACACS virtual server

2 years agoSet the secret flag of User-Message based on the attribute it really holds
Nick Porter [Wed, 26 Jul 2023 10:03:06 +0000 (11:03 +0100)] 
Set the secret flag of User-Message based on the attribute it really holds

2 years agoAdd API for querying / manipulating value box secret flag
Nick Porter [Wed, 26 Jul 2023 10:02:10 +0000 (11:02 +0100)] 
Add API for querying / manipulating value box secret flag

In anticipation of the flags moving to a structure.

2 years agoTACACS User-Message can contain the password - so mark as secret
Nick Porter [Wed, 26 Jul 2023 09:31:12 +0000 (10:31 +0100)] 
TACACS User-Message can contain the password - so mark as secret

2 years agodoc: man page asciidoc fixes
Matthew Newton [Wed, 26 Jul 2023 12:32:52 +0000 (13:32 +0100)] 
doc: man page asciidoc fixes

2 years agodoc: fix nav for howtos and tutorials
Matthew Newton [Wed, 26 Jul 2023 12:10:49 +0000 (13:10 +0100)] 
doc: fix nav for howtos and tutorials

2 years agodocs: some small antora fixes
Matthew Newton [Tue, 25 Jul 2023 18:23:13 +0000 (19:23 +0100)] 
docs: some small antora fixes

and remove unused list.adoc (replaced by all_modules.adoc)

2 years agodoc: fix a load of broken xrefs
Matthew Newton [Tue, 25 Jul 2023 18:25:09 +0000 (19:25 +0100)] 
doc: fix a load of broken xrefs

2 years agoWe don't need to qualify the enums in the calix dictionary
Arran Cudbard-Bell [Wed, 26 Jul 2023 03:58:20 +0000 (20:58 -0700)] 
We don't need to qualify the enums in the calix dictionary

2 years agoRecord file destination from config into default_log
Nick Porter [Tue, 25 Jul 2023 12:38:48 +0000 (13:38 +0100)] 
Record file destination from config into default_log

Needed so that each destination created from default_log knows what file
to use.

2 years agoTypo
Nick Porter [Tue, 25 Jul 2023 06:48:24 +0000 (07:48 +0100)] 
Typo

2 years agoKeep track of secret flag when concatenating value boxes to string / octets
Nick Porter [Mon, 24 Jul 2023 16:11:43 +0000 (17:11 +0100)] 
Keep track of secret flag when concatenating value boxes to string / octets

2 years agoIf suppress_secrets is set, use hide secret value boxes in %pM printing
Nick Porter [Mon, 24 Jul 2023 14:31:56 +0000 (15:31 +0100)] 
If suppress_secrets is set, use hide secret value boxes in %pM printing

2 years agoAdd fr_value_box_list_aprint_secure()
Nick Porter [Mon, 24 Jul 2023 14:26:06 +0000 (15:26 +0100)] 
Add fr_value_box_list_aprint_secure()

For printing lists of boxes in debug output when hiding secret values

2 years agoAlways parse log section of main config
Nick Porter [Mon, 24 Jul 2023 13:05:37 +0000 (14:05 +0100)] 
Always parse log section of main config

There are other options in there besides the destination.

2 years agoWhilst the fr_box() macros do something different to fr_value_box, it's still not...
Arran Cudbard-Bell [Sat, 22 Jul 2023 22:36:01 +0000 (15:36 -0700)] 
Whilst the fr_box() macros do something different to fr_value_box, it's still not appropriate to use strlen implicitly when boxing values

2 years agoUser-Password is secret here, too
Alan T. DeKok [Sat, 22 Jul 2023 16:00:37 +0000 (12:00 -0400)] 
User-Password is secret here, too

2 years agoin may be NULL
Alan T. DeKok [Sat, 22 Jul 2023 15:48:26 +0000 (11:48 -0400)] 
in may be NULL

2 years agomark secrets as secret
Alan T. DeKok [Sat, 22 Jul 2023 12:49:54 +0000 (08:49 -0400)] 
mark secrets as secret

2 years agoUase __coverity_writeall__() in fr_value_vox_init() model
James Jones [Fri, 21 Jul 2023 12:55:47 +0000 (07:55 -0500)] 
Uase __coverity_writeall__() in fr_value_vox_init() model

2 years agoadd and use fr_pair_print_secure()
Alan T. DeKok [Sat, 22 Jul 2023 12:39:47 +0000 (08:39 -0400)] 
add and use fr_pair_print_secure()

to omit secrets when printing pairs

2 years agoadd and support suppress_secrets
Alan T. DeKok [Fri, 21 Jul 2023 18:40:14 +0000 (14:40 -0400)] 
add and support suppress_secrets

the default is to not suppress secrets.  Printing secrets is
suppressed if it's running as "-X" AND the configuration file
says to suppress them.  Otherwise the secrets are printed.

this behavior means that for most configurations, administrators
can see (and compare) the user passwords.  However, if the admins
want to suppress secrets, they can do so in their local
configuration.

2 years agodefine and use fr_vasprintf_secure()
Alan T. DeKok [Fri, 21 Jul 2023 17:41:54 +0000 (13:41 -0400)] 
define and use fr_vasprintf_secure()

which escapes / omits the contents of any value-box which is
marked "secret".

Note that we _cannot_ do this omission in fr_value_box_print(),
as that function may be used multiple times internally.  For example,
converting a clear-text password to CHAP via an MD5 xlat.  Those
values should be passed through unchanged.

As a result, we can only omit secrets in a new function, which can
then be used in debug / log functions which are known to be sent
to the admin.

There are still some pieces missing.

%pM prints a value-box list, and the fr_value_box_list_aprint()
function does not take a flag for printing secrets (or not).

%pP prints a pair, and the fr_pair_aprint() function also does not
take a flag for printing secrets.

The configuration files store data in CONF_PAIRs, which don't use
value-boxes.  So any shared secret is still printed in debug mode.

2 years agoset secret flag in fr_value_box_init()
Alan T. DeKok [Fri, 21 Jul 2023 17:40:08 +0000 (13:40 -0400)] 
set secret flag in fr_value_box_init()

which unfortunately means rearranging the header file includes
a little bit.

2 years agodefine escaping rules for secrets
Alan T. DeKok [Fri, 21 Jul 2023 17:37:30 +0000 (13:37 -0400)] 
define escaping rules for secrets

Through the simple expedient of mashing all characters to '.'

The length of the secret still leaks, but that's not too bad.

As escaping is only done for data types "string" and "octets",
other secret values will not be escaped.  Perhaps we can fix that
later if we care.

2 years agoadd secret flag to dictionaries and value-boxes
Alan T. DeKok [Fri, 21 Jul 2023 17:36:26 +0000 (13:36 -0400)] 
add secret flag to dictionaries and value-boxes

parse the "secret" flag in dictionaries.  RADIUS sets the "secret"
flag for encrypted attributes

2 years agoswap order of evaluation again
Alan T. DeKok [Thu, 20 Jul 2023 18:04:45 +0000 (14:04 -0400)] 
swap order of evaluation again

2 years agoRevert "start setting migration flags"
Alan T. DeKok [Thu, 20 Jul 2023 17:49:52 +0000 (13:49 -0400)] 
Revert "start setting migration flags"

This reverts commit 437b402b8977df1b125b4cb857a3a169f0091158.

let's see if this makes the imap tests run again...

2 years agoremove all tests we don't want, instead of using elsif
Alan T. DeKok [Thu, 20 Jul 2023 17:48:40 +0000 (13:48 -0400)] 
remove all tests we don't want, instead of using elsif

2 years agoadd and use "safe" fields for LDAP and SQL
Alan T. DeKok [Thu, 20 Jul 2023 13:17:01 +0000 (09:17 -0400)] 
add and use "safe" fields for LDAP and SQL

which means that if we escape data once, it is not escaped again.

For SQL, the escape function is tracked per driver.  So you can't
escape something for MySQL, and then later use it for PostgreSQL
without that _also_ being escaped.

2 years agodefine macro for automatically setting "safe" values
Alan T. DeKok [Thu, 20 Jul 2023 12:50:06 +0000 (08:50 -0400)] 
define macro for automatically setting "safe" values

2 years ago"safe" values can still be tainted.
Alan T. DeKok [Thu, 20 Jul 2023 12:39:50 +0000 (08:39 -0400)] 
"safe" values can still be tainted.

Users of that data who understand this particular value of the "safe"
flagmar can then ignore the "tainted" flag, and use the value as if it
was untainted.  Every other user of the data must still treat it as
tainted.

2 years agofr_value_box_alloc() does not need to take a "tainted" flag
Alan T. DeKok [Thu, 20 Jul 2023 12:13:03 +0000 (08:13 -0400)] 
fr_value_box_alloc() does not need to take a "tainted" flag

a bare box is not tainted.  In the few cases where the data is
tainted, it is copied from a tainted source via fr_value_box_copy(),
which also copies the tainted flag

2 years agoancestors must be structural
Alan T. DeKok [Thu, 20 Jul 2023 11:52:00 +0000 (07:52 -0400)] 
ancestors must be structural

2 years agomember_num starts at 1, not 0
Alan T. DeKok [Thu, 20 Jul 2023 11:51:43 +0000 (07:51 -0400)] 
member_num starts at 1, not 0

2 years agoadd fr_box() generic
Alan T. DeKok [Thu, 20 Jul 2023 11:49:41 +0000 (07:49 -0400)] 
add fr_box() generic

which only works for some leaf types, as there string / octets
types need also to deal with length and talloc issues.  Other types
like ipaddr need to check the contents of the source.

2 years agostart setting migration flags
Alan T. DeKok [Mon, 17 Jul 2023 19:28:12 +0000 (15:28 -0400)] 
start setting migration flags

2 years agomore change vp->da->type to vp->vp_type
Alan T. DeKok [Mon, 17 Jul 2023 18:48:37 +0000 (14:48 -0400)] 
more change vp->da->type to vp->vp_type

2 years agovp_type and da->type are allowed to be different for COMBO_IP
Alan T. DeKok [Mon, 17 Jul 2023 18:47:43 +0000 (14:47 -0400)] 
vp_type and da->type are allowed to be different for COMBO_IP

2 years agoensure that vp->vp_data is initialized correctly
Alan T. DeKok [Mon, 17 Jul 2023 18:47:08 +0000 (14:47 -0400)] 
ensure that vp->vp_data is initialized correctly

2 years agoremove unused function
Alan T. DeKok [Mon, 17 Jul 2023 18:25:04 +0000 (14:25 -0400)] 
remove unused function

2 years agochange vp->da->type to vp->vp_type
Alan T. DeKok [Mon, 17 Jul 2023 18:13:16 +0000 (14:13 -0400)] 
change vp->da->type to vp->vp_type

not only is it friendlier to cache locality, it's more correct
because of things like FR_TYPE_COMBO_IPADDR, where the realized
vp->vp_type is different from the theoretical da->type

2 years agoMake debug_ policies a little simpler
Nick Porter [Mon, 17 Jul 2023 15:37:52 +0000 (16:37 +0100)] 
Make debug_ policies a little simpler

Removes some noise from the debug output

2 years agoThere is no coa list anymore
Nick Porter [Mon, 17 Jul 2023 15:35:31 +0000 (16:35 +0100)] 
There is no coa list anymore

2 years agoclean up
Alan T. DeKok [Mon, 17 Jul 2023 12:50:35 +0000 (08:50 -0400)] 
clean up

delete advice and descriptions which are ancient and out of date

2 years agomake fr_tacacs_packet_log_hex() take and check a length field
Alan T. DeKok [Mon, 17 Jul 2023 12:28:42 +0000 (08:28 -0400)] 
make fr_tacacs_packet_log_hex() take and check a length field

2 years agoClarify "session" section in TACACS virtual server
Nick Porter [Mon, 17 Jul 2023 10:31:18 +0000 (11:31 +0100)] 
Clarify "session" section in TACACS virtual server

2 years agoUpdate password attribute references to use Password.xxx format
Nick Porter [Mon, 17 Jul 2023 10:08:13 +0000 (11:08 +0100)] 
Update password attribute references to use Password.xxx format

2 years agoadd macros fror pair_nested_tests
Alan T. DeKok [Sun, 16 Jul 2023 11:27:10 +0000 (07:27 -0400)] 
add macros fror pair_nested_tests

2 years agomove switch to array lookup
Alan T. DeKok [Sun, 16 Jul 2023 02:00:29 +0000 (22:00 -0400)] 
move switch to array lookup

2 years agomore checks
Alan T. DeKok [Sun, 16 Jul 2023 01:55:35 +0000 (21:55 -0400)] 
more checks

seems like a heisenbug?

2 years agoremove update
Alan T. DeKok [Sun, 16 Jul 2023 01:24:28 +0000 (21:24 -0400)] 
remove update

and re-enable additional check, as the APIs have been updated
as per the comment which disabled the test

2 years agoremove update
Alan T. DeKok [Sun, 16 Jul 2023 01:22:03 +0000 (21:22 -0400)] 
remove update

2 years agosimplify test_fr_pair_list_copy_by_ancestor
Alan T. DeKok [Sun, 16 Jul 2023 01:18:18 +0000 (21:18 -0400)] 
simplify test_fr_pair_list_copy_by_ancestor

2 years agonote migration flags for tests
Alan T. DeKok [Fri, 14 Jul 2023 20:56:24 +0000 (16:56 -0400)] 
note migration flags for tests

2 years agore-enable test which over-writes default list
Alan T. DeKok [Fri, 14 Jul 2023 20:52:38 +0000 (16:52 -0400)] 
re-enable test which over-writes default list

2 years agodon't use "update"
Alan T. DeKok [Fri, 14 Jul 2023 20:50:09 +0000 (16:50 -0400)] 
don't use "update"

2 years agodon't automatically create the key field for nested structs.
Alan T. DeKok [Fri, 14 Jul 2023 20:37:13 +0000 (16:37 -0400)] 
don't automatically create the key field for nested structs.

The old code didn't do it, so we shouldn't do it either.

2 years agoupdate fr_pair_list_copy_by_ancestor()
Alan T. DeKok [Fri, 14 Jul 2023 20:24:35 +0000 (16:24 -0400)] 
update fr_pair_list_copy_by_ancestor()

if we see a TLV, we just copy that.  The function can then work
both with nested and non-nested attributes.

we don't need to pass "count", as the only caller always says
"copy all of them"

2 years agoFix auto-added strerror header
Arran Cudbard-Bell [Fri, 14 Jul 2023 14:18:36 +0000 (08:18 -0600)] 
Fix auto-added strerror header

2 years agoRevert "assert that the channel has no running requests before ACK close"
Arran Cudbard-Bell [Fri, 14 Jul 2023 14:13:06 +0000 (08:13 -0600)] 
Revert "assert that the channel has no running requests before ACK close"

This reverts commit bdec27409cda11b9432c583748bfac69241a118b.

2 years agoassert that the channel has no running requests before ACK close
Alan T. DeKok [Fri, 14 Jul 2023 13:30:12 +0000 (09:30 -0400)] 
assert that the channel has no running requests before ACK close

and cancel all of the related requests when the worker is signalled
to exit.

2 years agoadd parse_new_conditions migration flag
Alan T. DeKok [Fri, 14 Jul 2023 13:27:36 +0000 (09:27 -0400)] 
add parse_new_conditions migration flag

and set it to "true" by default.  So that the condition tests
will all be run through both the old fr_cond_tokenize() function,
and the new xlat_tokenize_condition() function.

2 years agomdd migration flag for nested pairs, and test it
Alan T. DeKok [Fri, 14 Jul 2023 13:01:51 +0000 (09:01 -0400)] 
mdd migration flag for nested pairs, and test it

2 years agoPacify Coverity (CID #1506302)
Nick Porter [Fri, 14 Jul 2023 09:46:26 +0000 (10:46 +0100)] 
Pacify Coverity (CID #1506302)

2 years agoExtract packet code even if body is not encrypted
Nick Porter [Fri, 14 Jul 2023 09:11:29 +0000 (10:11 +0100)] 
Extract packet code even if body is not encrypted

2 years agoRevert "revert DHCPv6 struct_nested patch"
Alan T. DeKok [Thu, 13 Jul 2023 18:35:20 +0000 (14:35 -0400)] 
Revert "revert DHCPv6 struct_nested patch"

This reverts commit 500ee71862765d26694e52b41169958406347334.

2 years agoit helps to initialize fields
Alan T. DeKok [Thu, 13 Jul 2023 18:35:10 +0000 (14:35 -0400)] 
it helps to initialize fields

2 years agoFix hangs/crashes on exit if thread instantiation fails
Arran Cudbard-Bell [Thu, 13 Jul 2023 22:04:47 +0000 (16:04 -0600)] 
Fix hangs/crashes on exit if thread instantiation fails

2 years agonetwork: Use an explicit exiting flag instead of a started flag
Arran Cudbard-Bell [Thu, 13 Jul 2023 21:17:50 +0000 (15:17 -0600)] 
network: Use an explicit exiting flag instead of a started flag

2 years agoatexit: Support checking if the thread is exiting
Arran Cudbard-Bell [Thu, 13 Jul 2023 21:15:15 +0000 (15:15 -0600)] 
atexit: Support checking if the thread is exiting

2 years agoUse filename from PAIR_LIST in debug output
Nick Porter [Thu, 13 Jul 2023 18:24:35 +0000 (19:24 +0100)] 
Use filename from PAIR_LIST in debug output

Gives the correct file that the entry was originally read from

2 years agoMore user name -> key in rlm_files debug output
Nick Porter [Thu, 13 Jul 2023 18:22:07 +0000 (19:22 +0100)] 
More user name -> key in rlm_files debug output

2 years agoAdd tests of < and > comparison in rlm_files
Nick Porter [Thu, 13 Jul 2023 18:21:10 +0000 (19:21 +0100)] 
Add tests of < and > comparison in rlm_files

And exercise use of $INCLUDE

2 years agorevert DHCPv6 struct_nested patch
Alan T. DeKok [Thu, 13 Jul 2023 18:26:41 +0000 (14:26 -0400)] 
revert DHCPv6 struct_nested patch

It seems to randomly set the flag to "true" locally and in CI.
even though ASAN doesn't complain

2 years agoadd decode flags for nested structs
Alan T. DeKok [Thu, 13 Jul 2023 17:26:12 +0000 (13:26 -0400)] 
add decode flags for nested structs

nothing uses them right now, but it's a good way to track what
needs to be changed.

2 years agoadd -S pair_legacy_nested=true
Alan T. DeKok [Thu, 13 Jul 2023 16:12:16 +0000 (12:12 -0400)] 
add -S pair_legacy_nested=true

and set it for keyword tests.

Except for map-xlat-struct, which calls fr_pair_afrom_da_depth_nested()
with a struct that has a "key" field.

update pair.c to correctly create and auto-populate the key field,
and create the child struct correctly.

map-xlat-struct fails because the output now contains a key field,
and is nested.  But that is easy enough to fix when we move over
to fully nested.