croservices / cro-http

HTTP (including HTTPS and HTTP/2) support for the Cro library for building distributed systems in Raku.
https://cro.services/
Artistic License 2.0
49 stars 26 forks source link

Specify minimum version of IO::Socket::Async::SSL #150

Closed jonathanstowe closed 3 years ago

jonathanstowe commented 3 years ago

The 0.8.6 fails with the version of IO::Socket::Async::SSL that I had previously installed with:

===> Testing: Cro::HTTP:ver<0.8.6>
[Cro::HTTP] IO::Socket::Async::SSL: Failed to set temporary DH
[Cro::HTTP]   in block  at /home/jonathan/.raku/sources/70DD524CA8827A911588D5FFEB621C3FD9423B96 (IO::Socket::Async::SSL) line 468
[Cro::HTTP] Tried to get the result of a broken Promise
[Cro::HTTP]   in block  at /home/jonathan/.zef/store/cro-http-0.8.6.tar.gz/cro-http-0.8.6/lib/Cro/HTTP/Client.pm6 (Cro::HTTP::Client) line 786
[Cro::HTTP] Original exception:
[Cro::HTTP]     An operation first awaited:
[Cro::HTTP]       in block  at /home/jonathan/.raku/sources/6596BC506DFCC07D69A93CD79CFD85375655D19E (Cro) line 347
[Cro::HTTP]     Died with the exception:
[Cro::HTTP]         No such method 'native-descriptor' for invocant of type
[Cro::HTTP]         'IO::Socket::Async::SSL'
[Cro::HTTP]           in sub nodelay at /home/jonathan/.raku/sources/74CEDE88AF6C5CD81BA78AC16CE18396AFD4486A (Cro::TCP::NoDelay) line 17
[Cro::HTTP]           in block  at /home/jonathan/.raku/sources/8F9CE57B4C9E54F00938F862E837CA40DCD18536 (Cro::TLS) line 111
[Cro::HTTP] IO::Socket::Async::SSL: Failed to set temporary DH
[Cro::HTTP]   in block  at /home/jonathan/.raku/sources/70DD524CA8827A911588D5FFEB621C3FD9423B96 (IO::Socket::Async::SSL) line 468
[Cro::HTTP] Tried to get the result of a broken Promise
[Cro::HTTP]   in block  at /home/jonathan/.zef/store/cro-http-0.8.6.tar.gz/cro-http-0.8.6/lib/Cro/HTTP/Client.pm6 (Cro::HTTP::Client) line 786
[Cro::HTTP] Original exception:
[Cro::HTTP]     An operation first awaited:
[Cro::HTTP]       in block  at /home/jonathan/.raku/sources/6596BC506DFCC07D69A93CD79CFD85375655D19E (Cro) line 347
[Cro::HTTP]     Died with the exception:
[Cro::HTTP]         No such method 'native-descriptor' for invocant of type
[Cro::HTTP]         'IO::Socket::Async::SSL'
[Cro::HTTP]           in sub nodelay at /home/jonathan/.raku/sources/74CEDE88AF6C5CD81BA78AC16CE18396AFD4486A (Cro::TCP::NoDelay) line 17
[Cro::HTTP]           in block  at /home/jonathan/.raku/sources/8F9CE57B4C9E54F00938F862E837CA40DCD18536 (Cro::TLS) line 111
[Cro::HTTP] IO::Socket::Async::SSL: Failed to set temporary DH
[Cro::HTTP]   in block  at /home/jonathan/.raku/sources/70DD524CA8827A911588D5FFEB621C3FD9423B96 (IO::Socket::Async::SSL) line 468

If the IO::Socket::Async::SSL is upgraded to 0.7.8 then the tests pass fine.

It's probably specify a minimum version in the META6 to provoke an upgrade if an older version is installed.