sergot / openssl

OpenSSL bindings for Perl 6
MIT License
14 stars 31 forks source link

implement subs from jnthn/p6-io-socket-async-ssl #49

Closed sergot closed 2 years ago

sergot commented 7 years ago

also move SSL struct to its own module to avaoid circular dependency unfortunalety this breaks backward compability, so I had to change version to 1.0.0

on my road of getting back to my projects and p6 in general I decided to look through some repos using OpenSSL, I found this https://github.com/jnthn/p6-io-socket-async-ssl/blob/master/lib/IO/Socket/Async/SSL.pm6#L9 and I decided to start with something small :) so here we are...

ugexe commented 6 years ago

I would say if it tests ok against HTTP::UserAgent, Cro, Bailador and their dependencies (with NETWORK_TESTING=1) you are probably safe. You could also check (skipping Task:: modules):

$ zef rdepends OpenSSL
IO::Socket::Async::SSL:ver<0.5>
BSON:ver<0.11.5>
MongoDB:ver<0.40.4>
XML::Signature:ver<1.0.0>:auth<github:retupmoca>
JSON::JWT:ver<1.0>:auth<github:retupmoca>
IO::Socket::SSL:ver<0.0.1>:auth<github:sergot>
PDF:ver<0.2.5>:auth<github:p6-pdf>:api<PDF-1.7>
HTTP::Signature:ver<0.1.1>:auth<github:pierre-vigier>
Task::Galaxy:ver<0.1>
PKCS5:ver<0.1.6.2>
Auth::SCRAM:ver<0.4.6.3>
Task::Popular:ver<1.0>

but I'm not sure if all of them have sufficient tests like the 3 previously mentioned modules.

While it is true a version bump should allow breaking changes we must realize the ecosystem as a whole is not there yet (not enough version pinning of dependencies). The good thing is people are usually willing to send PRs if you discover what it breaks 👍

ufobat commented 6 years ago
sergot, is there a specific reason why the PR https://github.com/sergot/openssl/pull/49 is not yet merged, can i help? i am looking for some missing parts in the openssl bindings e.g. https://github.com/sergot/openssl/issues/39 and the ability to set the verify_callback
sergot commented 6 years ago

@ufobat tbh, I don't really remember what was the problem, when I created this PR, everything worked just fine, but later, it stopped and I don't really remember what happened.

I'd really appreciate some help since I don't have that much time this week.

sergot commented 6 years ago

It passes the tests, but... https://github.com/jnthn/p6-io-socket-async-ssl/pull/24 this doesn't.

At the first glance, there is something wrong with importing the OpenSSL::Base, I'll try to dig into that tomorrow.

sergot commented 6 years ago

Oh and about #39 -- jnthn binded some more subs, so I guess this PR is very outdated.

ufobat commented 6 years ago

@sergot with the changes in this branch https://github.com/ufobat/p6-io-socket-async-ssl/tree/move-out-binds2 + your updated openssl from lib https://github.com/sergot/openssl/tree/add-new-subs everything works on my box.

what tests failed with IO::Socket::Async::SLL on your box?

sergot commented 2 years ago

@ufobat any idea if this PR is still needed?