You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Slight tweaks and integration CI to support Bind9 (#1423)
1. This adds an integration CI dimension for Bind9
2. Resolved "cmocka unit tests" for Bind9
* Additional <openssl/asn1.h> import in <openssl/objects.h>: Bind
depends on some ASN1 functions, but does not directly import the
corresponding header. OpenSSL imports the asn1 header file in
objects.h (which Bind is pulling these symbols from), so I've
added the header file reference to objects.h.
* SSL_get_error error anticipation fixing: There were several
failures discovered to be related this, thanks to research done
in Implement SSL_MODE_AUTO_RETRY #1333. The issue was pinned down
the check implemented in google/boringssl@9a38e92. This check used
to exist before the final return of SSL_get_error in OpenSSL.
Upstream moved this earlier in the function with
google/boringssl@fcf2583. However, much of the functions guards for
i < 0 checks have been removed since OpenSSL 1.1.1, so the early
logic no longer applies.
This check has evolved into SSL_ERROR_ZERO_RETURN in our code.
Moving the check further down helps us gain better parity with
OpenSSL 1.1.1. Doing so passes the bind test failures for
proxystream_test, tls_test, and doh_test. This also happens to help
our integration with CPython, so I've reconfigured that patch.
We actually already use SSL_AUTO_RETRY by default in AWS-LC. The
recent change mentioned in the point above surrounding the flag
(208327e) was just to make some of the errors consistent in CPython
when the flag was used. I've reverted the special behavior
surrounding it since it should no longer be needed.
* Assertion for SSL_set_shutdown: The assertion was added in
63006a9, where it’s stated that we didn’t want SSL_set_shutdown
messing up the state machine. This assertion is causing failures
in tlsdns_test for Bind9, so it appears that we'll have to remove
this to gain better OpenSSL parity.
3. Patch file needed for Bind seems to be slight bug in their build
configuration. This was from a fairly recent commit. We can look to
contribute this sometime soon.
0 commit comments