perl-POE-Component-SSLify-1.012-24.fc36 fails to build in Fedora 36 because a test fails: t/simple_large.t .............. ok # Failed test 'SERVER: SSLify_Options 156: private key # ' # at t/simple_parallel.t line 52. # Failed test 'SERVER: Server_SSLify Please do SSLify_Options() first ( or pass in a $ctx object ) at /builddir/build/BUILD/POE-Component -SSLify-1.012/blib/lib/POE/Component/SSLify.pm line 247. # ' # at t/simple_parallel.t line 55. Can't use an undefined value as a symbol reference at /builddir/build/BUILD/POE-Component-SSLify-1.012/blib/lib/POE/Component/SSLify.pm line 457. # Tests were run but no plan was declared and done_testing() was not seen. # Looks like your test exited with 22 just after 94. t/simple_parallel.t ........... Dubious, test returned 22 (wstat 5632, 0x1600) Failed 2/94 subtests A difference between passing and failing build root is at <https://koschei.fedoraproject.org/build/11179579>. An update of perl-Net-SSLeay from 1.90-4.fc35 to 1.90-6.fc36 looks suspicious.
This is a random failure in: Net::SSLeay::CTX_set_options( $context, $options ); die_if_ssl_error( "ssl ctx set options $options" ) if ! $IGNORE_SSL_ERRORS; where $options=Net::SSLeay::OP_ALL() and $context=Net::SSLeay::CTX_new().
It's not a problem with Net::SSLeay::CTX_set_options(). For some reason when entering POE::Component::SSLify::_createSSLcontext() these OpenSSL errors are found on the stack: 13073: 1 - error:0A000126:SSL routines::unexpected eof while reading 13073: 2 - error:0A000126:SSL routines::unexpected eof while reading and as a result the next call of Net::SSLeay::die_if_ssl_error() reports an error because the underlying Net::SSLeay::ERR_get_error() explores the error stack. I have to say the the error checking in POE::Component::SSLify is pretty bad because the OpenSSL error stack is global and POE::Component::SSLify could catch an unrelated error from a third-party OpenSSL call.
I have two theories: Either the patched perl-Net-SSLeay is broken, or perl-POE-Component-SSLify code does TCP shutdown instead of TLS shutdown and thus OpenSSL server reports the "unexpected eof while reading" error.
POE::Component::SSLify did not properly handle Net::SSLeay::accept() return value.