Had some trouble getting new local version of AnyEvent::HTTP work under Debian Buster.
$ whichpm AnyEvent::HTTP …/perl5/lib/perl5/AnyEvent/HTTP.pm 2.24 $ whichpm AnyEvent::TLS …/perl5/lib/perl5/x86_64-linux-gnu-thread-multi/AnyEvent/TLS.pm 7.15 $ perl -lE 'use AnyEvent::HTTP qw(http_get); $cv=AE::cv; http_get("https://google.com", sub {$cv->send}, sub {$cv->send}); $cv->recv' EV: error in callback (ignoring): dh params schmorp1539: failed to set DH parameters at …/perl5/lib/perl5/AnyEvent/HTTP.pm line 850.
After searching and finding, I've tried with "original" Debian AnyEvent::* modules, and these worked, so I looked for patches and indeed there was one that fixed it:
$ cat libanyevent-perl-7.140/debian/patches/dh-2048.patch Description: Use 2048-bit DH keys by default. It is a sensible size nowadays; also, the Debian package of OpenSSL 1.1 no longer accepts smaller DH keys in its default configuration. Bug-Debian: https://bugs.debian.org/923615 Forwarded: no Author: Sebastian Andrzej Siewior <sebastian@breakpoint.cc> Last-Update: 2019-03-02 --- a/lib/AnyEvent/TLS.pm +++ b/lib/AnyEvent/TLS.pm @@ -472,7 +472,7 @@ =item dh => $string Specify the Diffie-Hellman parameters in PEM format directly as a string -(see C<dh_file>), the default is C<schmorp1539> unless C<dh_file> was +(see C<dh_file>), the default is C<schmorp2048> unless C<dh_file> was specified. AnyEvent::TLS supports supports a number of precomputed DH parameters, @@ -631,7 +631,7 @@ $dh_bio = Net::SSLeay::BIO_new_file ($dh_file, "r") or croak "$dh_file: failed to open DH parameter file: $!"; } else { - $arg{dh} = "schmorp1539" unless exists $arg{dh}; + $arg{dh} = "schmorp2048" unless exists $arg{dh}; if (defined $arg{dh}) { $dh_file = "dh string";
Which made it work again.