Fix psk_ke_modes_recv_params() wrongly setting HSK_PSK_KE_MODE_INVALID
If the preferred side (as per session->internals.priorities->server_precedence) only supports one algorithm and if it is not the first in the other side's list of algorithms, then psk_ke_modes_recv_params did wrongly set session->internals.hsk_flags to HSK_PSK_KE_MODE_INVALID.
Fixes #1303 (closed)
This issue was originally discovered while analyzing https://forum.filezilla-project.org/viewtopic.php?t=54333
Checklist
-
Commits have Signed-off-by:
with name/author being identical to the commit author -
Code modified for feature -
Test suite updated with functionality tests -
Test suite updated with negative tests -
Documentation updated / NEWS entry present (for non-trivial changes) -
CI timeout is 2h or higher (see Settings/CICD/General pipelines/Timeout)
Reviewer's checklist:
-
Any issues marked for closing are addressed -
There is a test suite reasonably covering new functionality or modifications -
Function naming, parameters, return values, types, etc., are consistent and according to CONTRIBUTION.md
-
This feature/change has adequate documentation added -
No obvious mistakes in the code