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.
* that identity probing is not possible; policy may override
* with reply.Packet-Type := ::Failure.
*/
- known_good = fr_pair_find_by_da(&request->control_pairs, NULL, attr_psk_password);
+ known_good = fr_pair_find_by_da_nested(&request->control_pairs, NULL, attr_psk_password);
if (!known_good) {
RDEBUG2("No control.Password.PSK for Identity \"%pV\"",
fr_box_strvalue_len((char const *) session->id_p, session->id_p_len));