Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Various fixes for Apple SSL backend #4257

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open

Various fixes for Apple SSL backend #4257

wants to merge 3 commits into from

Conversation

sauwming
Copy link
Member

There are several problem found in Apple SSL backend:

  • Occasionally, the connection can fail to be closed, as indicated by the log Warning: Failed to cancel SSL connection. This may cause access to its already destroyed parent SSL socket. Switching from serial to concurrent queue seems to fix the issue and the connection cancellation seems to never fail now.
  • SSL socket may not report disconnection immediately. The patch now adds EOF check in nw_connection_receive().
  • Fix issue that cause on_handshake_complete() to be called even if we are not in a state of handshaking.

Server socket:

  • Fix issue in server's socket to incorrectly discard events.
  • Fix issue that causes client cert to always be required (instead of based on ssock->param.require_client_cert).

SSL test:

  • Fix memory leak for sockets that's scheduled to be closed after PJ_SSL_SOCK_DELAYED_CLOSE_TIMEOUT.

@sauwming
Copy link
Member Author

sauwming commented Jan 22, 2025

This has passed the CI tests. The problem is that so far Apple SSL has not been integrated into CI test because it requires user prompt to access the Keychain.
The last commit is to test whether we can integrate Apple SSL and workaround the prompt. Should it fail, it will be reverted.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants