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

Async SSL/TLS server #24

Closed
clue opened this issue Sep 18, 2015 · 7 comments · Fixed by #55
Closed

Async SSL/TLS server #24

clue opened this issue Sep 18, 2015 · 7 comments · Fixed by #55
Assignees
Milestone

Comments

@clue
Copy link
Member

clue commented Sep 18, 2015

Migrated from reactphp/reactphp#2, originally reported 2012-05-11

This ticket aims to serve as a basis for discussion whether (and how) we should provide an async SSL/TLS server.

@clue
Copy link
Member Author

clue commented Sep 18, 2015

A possible alternative is to launch a SSL/TLS proxy server (such as stunnel, haproxy or nginx) in front of your unencrypted socket server.

@CriseX
Copy link

CriseX commented Feb 27, 2016

I'm curious why there is no 1st party support for this yet? That old pull request basically had the gist of it all right. As for the alternative, once #25 is resolved, this issue will be a little more than a matter of parity between the server and client side capabilities of react and their completeness since we can actually set up a proper IPC socket between the two at that point, rather than using the loop back interface.

Ironically, php's openssl extension, and subsequently anything TLS related, seems to suffer a bit from the same problem as openssl itself when it comes to how they are documented (or lack thereof in some cases). The PHP 5.6 migration guide is the only official documentation that mentions most of the "recent" and relevant changes to PHP as far as I know.

Personally, I prefer this https://wiki.php.net/rfc/improved-tls-defaults to the migration guide, at the time of writing this though, because it seems to still be at least as accurate and more verbose than the former.

@clue
Copy link
Member Author

clue commented Mar 12, 2016

Just a heads up: I've started looking into this while trying to add test cases for our socket-client component: reactphp-legacy/socket-client#62

The resulting SSL/TLS socket server works reasonably well and I'll look into filing a PR for this in the upcoming weeks :shipit:

However, we currently have to share some classes with the socket-client component, so I'll look into moving these elsewhere first. I'll keep this ticket updated.

@vanderlee
Copy link

Any E.T.A. on this? Need to know if I should continue using my own hack for now or wait for this in order to meet my own deadlines.

@clue
Copy link
Member Author

clue commented Oct 8, 2016

Any E.T.A. on this?

Unfortunately not. If your "own hack" works fine, I recommend you stick with it for the time being 👍

That being said, this task is high on my todo list and I plan on picking this up in the next week. However, this currently depends on reactphp/stream#42 first if we want to avoid some rather nasty hacks here.

@clue
Copy link
Member Author

clue commented Nov 15, 2016

Progress update: All referenced issues have been resolved in the meantime. The next (last!) batch of dependencies is #49, #50 and #51.

I'm ready to file a PR for my SSL/TLS server implementation once these are finally in :shipit:

@clue
Copy link
Member Author

clue commented Dec 31, 2016

See #55 :shipit:

@clue clue closed this as completed in #55 Jan 8, 2017
clue pushed a commit to clue-labs/socket that referenced this issue Mar 29, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants