ports/157187: security/p5-Crypt-OpenSSL-RSA broken under perl 5.14

Mark Martinec Mark.Martinec at ijs.si
Thu May 19 20:30:13 UTC 2011


>Number:         157187
>Category:       ports
>Synopsis:       security/p5-Crypt-OpenSSL-RSA broken under perl 5.14
>Confidential:   no
>Severity:       critical
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu May 19 20:30:12 UTC 2011
>Closed-Date:
>Last-Modified:
>Originator:     Mark Martinec
>Release:        FreeBSD 8.2-RELEASE
>Organization:
Jozef Stefan Institute
>Environment:
FreeBSD neli.ijs.si 8.2-RELEASE FreeBSD 8.2-RELEASE #0: Fri Feb 25 17:19:30 CET 2011     mark at neli.ijs.si:/usr/obj/usr/src/sys/NELI  amd64
>Description:
The Perl module Crypt::OpenSSL::RSA (ports: security/p5-Crypt-OpenSSL-RSA)
relies on the undocumented behaviour that DynaLoader ISA AutoLoader
(contrary to the AutoLoader documentation).
This no longer works with Perl 5.14.0, which is now in ports.

Module's selfs tests fail, and so do other modules depending on it,
such as mail/p5-Mail-DKIM (and consequently mail/p5-Mail-SpamAssassin
and security/amavisd-new).

The bug is still unfixed upstream, the patch is simple.

The problem is documented in [perl #84444]:
  http://rt.perl.org/rt3//Public/Bug/Display.html?id=84444

>How-To-Repeat:
(having the perl 5.14 installed from ports)

# cd /usr/ports/security/p5-Crypt-OpenSSL-RSA
# make
# cd work/Crypt-OpenSSL-RSA-0.26/
# make test

 
PERL_DL_NONLAZY=1 /usr/local/bin/perl5.14.0 "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/bignum.t .. Can't locate object method "new_key_from_parameters" via package "Crypt::OpenSSL::RSA" at t/bignum.t line 53.
t/bignum.t .. Dubious, test returned 255 (wstat 65280, 0xff00)
Failed 64/64 subtests 
t/format.t .. 1/10 Can't locate object method "new_public_key" via package "Crypt::OpenSSL::RSA" at t/format.t line 33.
t/format.t .. Dubious, test returned 255 (wstat 65280, 0xff00)
Failed 6/10 subtests 
t/rsa.t ..... Can't locate object method "import_random_seed" via package "Crypt::OpenSSL::RSA" at t/rsa.t line 62.
t/rsa.t ..... Dubious, test returned 255 (wstat 65280, 0xff00)
Failed 63/63 subtests 

Test Summary Report
-------------------
t/bignum.t (Wstat: 65280 Tests: 0 Failed: 0)
  Non-zero exit status: 255
  Parse errors: Bad plan.  You planned 64 tests but ran 0.
t/format.t (Wstat: 65280 Tests: 4 Failed: 0)
  Non-zero exit status: 255
  Parse errors: Bad plan.  You planned 10 tests but ran 4.
t/rsa.t   (Wstat: 65280 Tests: 0 Failed: 0)
  Non-zero exit status: 255
  Parse errors: Bad plan.  You planned 63 tests but ran 0.
Files=3, Tests=4,  0 wallclock secs ( 0.04 usr  0.00 sys +  0.04 cusr  0.03 csys =  0.11 CPU)
Result: FAIL
Failed 3/3 test programs. 0/4 subtests failed.
*** Error code 255

Stop in /usr/ports/security/p5-Crypt-OpenSSL-RSA.old/work/Crypt-OpenSSL-RSA-0.26.
>Fix:
--- RSA.pm~     2009-11-22 21:36:07.000000000 +0100
+++ RSA.pm      2011-05-19 21:53:08.000000000 +0200
@@ -7,5 +7,5 @@
 
 require DynaLoader;
-require AutoLoader;
+use AutoLoader 'AUTOLOAD';
 
 @ISA = qw(DynaLoader);


Patch attached with submission follows:

diff --unidirectional-new-file -r security/p5-Crypt-OpenSSL-RSA.old/files/patch-RSA.pm security/p5-Crypt-OpenSSL-RSA/files/patch-RSA.pm
0a1,9
> --- RSA.pm~	2009-11-22 21:36:07.000000000 +0100
> +++ RSA.pm	2011-05-19 21:53:08.000000000 +0200
> @@ -7,5 +7,5 @@
>  
>  require DynaLoader;
> -require AutoLoader;
> +use AutoLoader 'AUTOLOAD';
>  
>  @ISA = qw(DynaLoader);


>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list