gnutls_x509_trust_list_verify_crt2: ignore duplicate certificates
The commit ebb19db9 caused a regression, where duplicate certificates in a certificate chain are no longer ignored but treated as a non-contiguous segment and that results in calling the issuer callback, or a verification failure.
This adds a mechanism to record certificates already seen in the chain, and skip them while still allow the caller to inject missing certificates.
Fixes: #1131 (closed)
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)
- 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
- This feature/change has adequate documentation added
- No obvious mistakes in the code