[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#596082: unblock: libcrypt-openssl-x509-perl/1.4-1



Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock

Please unblock libcrypt-openssl-x509-perl/1.4-1.  It fixes a segfault in
the fingerprint_sha1 method[1] and a bug that causes new_from_string to
fail for some certificates[2].

  unblock libcrypt-openssl-x509-perl/1.4-1

Regards,
Ansgar

PS: Please CC: debian-perl@lists.debian.org in replies.

[1] <http://bugs.debian.org/596068>
[2] <http://bugs.debian.org/596069>
Index: X509.pm
===================================================================
--- X509.pm	(.../1.2-1)	(revision 62408)
+++ X509.pm	(.../1.4-1)	(revision 62408)
@@ -5,7 +5,7 @@ use vars qw($VERSION @EXPORT_OK);
 use Exporter;
 use base qw(Exporter);
 
-$VERSION = '1.2';
+$VERSION = '1.4';
 
 @EXPORT_OK = qw(
   FORMAT_UNDEF FORMAT_ASN1 FORMAT_TEXT FORMAT_PEM FORMAT_NETSCAPE
Index: debian/control
===================================================================
--- debian/control	(.../1.2-1)	(revision 62408)
+++ debian/control	(.../1.4-1)	(revision 62408)
@@ -2,13 +2,13 @@ Source: libcrypt-openssl-x509-perl
 Section: perl
 Priority: optional
 Build-Depends: debhelper (>= 7.2.13), libssl-dev, libtest-pod-perl,
- perl (>= 5.10.0)
+ perl
 Maintainer: Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org>
 Uploaders: Micah Anderson <micah@debian.org>,
  gregor herrmann <gregoa@debian.org>, Niko Tyni <ntyni@debian.org>,
  Damyan Ivanov <dmn@debian.org>, Ansgar Burchardt <ansgar@43-1.org>,
  Salvatore Bonaccorso <salvatore.bonaccorso@gmail.com>
-Standards-Version: 3.8.4
+Standards-Version: 3.9.1
 Homepage: http://search.cpan.org/dist/Crypt-OpenSSL-X509/
 Vcs-Svn: svn://svn.debian.org/pkg-perl/trunk/libcrypt-openssl-x509-perl/
 Vcs-Browser: http://svn.debian.org/viewsvn/pkg-perl/trunk/libcrypt-openssl-x509-perl/
Index: debian/changelog
===================================================================
--- debian/changelog	(.../1.2-1)	(revision 62408)
+++ debian/changelog	(.../1.4-1)	(revision 62408)
@@ -1,3 +1,21 @@
+libcrypt-openssl-x509-perl (1.4-1) unstable; urgency=low
+
+  * New upstream release
+  * Refresh debian/copyright file wording.
+
+ -- Salvatore Bonaccorso <salvatore.bonaccorso@gmail.com>  Tue, 31 Aug 2010 17:35:33 +0200
+
+libcrypt-openssl-x509-perl (1.3-1) unstable; urgency=low
+
+  * New upstream release
+  * debian/control: Substitute versioned Build-Depends on perl (>=
+    5.10.0) with unversioned one, as stable has already this version and
+    oldstable is gone.
+  * debian/copyright: Explicitly point to GPL-1 text in common-licenses.
+  * Bump Standards-Version to 3.9.1.
+
+ -- Salvatore Bonaccorso <salvatore.bonaccorso@gmail.com>  Fri, 06 Aug 2010 19:05:21 +0200
+
 libcrypt-openssl-x509-perl (1.2-1) unstable; urgency=low
 
   * New upstream release
Index: debian/copyright
===================================================================
--- debian/copyright	(.../1.2-1)	(revision 62408)
+++ debian/copyright	(.../1.4-1)	(revision 62408)
@@ -27,8 +27,8 @@ License: Artistic
  This program is free software; you can redistribute it and/or modify
  it under the terms of the Artistic License, which comes with Perl.
  .
- On Debian GNU/Linux systems, the complete text of the Artistic License
- can be found in `/usr/share/common-licenses/Artistic'
+ On Debian systems, the complete text of the Artistic License can be
+ found in `/usr/share/common-licenses/Artistic'.
 
 License: GPL-1+
  This program is free software; you can redistribute it and/or modify
@@ -36,5 +36,5 @@ License: GPL-1+
  the Free Software Foundation; either version 1, or (at your option)
  any later version.
  .
- On Debian GNU/Linux systems, the complete text of the GNU General
- Public License can be found in `/usr/share/common-licenses/GPL'
+ On Debian systems, the complete text of version 1 of the GNU General
+ Public License can be found in `/usr/share/common-licenses/GPL-1'.
Index: t/x509.t
===================================================================
--- t/x509.t	(.../1.2-1)	(revision 62408)
+++ t/x509.t	(.../1.4-1)	(revision 62408)
@@ -1,5 +1,5 @@
 
-use Test::More tests => 43;
+use Test::More tests => 46;
 
 BEGIN { use_ok('Crypt::OpenSSL::X509') };
 
@@ -8,6 +8,7 @@ ok(my $x509 = Crypt::OpenSSL::X509->new_from_file(
 ok($x509->serial() eq '325033CF50D156F35C81AD655C4FC825', 'serial()');
 
 ok($x509->fingerprint_md5() eq '51:86:E8:1F:BC:B1:C3:71:B5:18:10:DB:5F:DC:F6:20', 'fingerprint_md5()');
+ok($x509->fingerprint_sha1() eq '78:E9:DD:06:50:62:4D:B9:CB:36:B5:07:67:F2:09:B8:43:BE:15:B3', 'fingerprint_sha1()');
 
 ok($x509->exponent() eq '10001', 'exponent()');
 ok($x509->pub_exponent() eq '10001', 'pub_exponent()'); # Alias
@@ -71,3 +72,13 @@ is($x509->subject_name()->get_index_by_long_type("
 isa_ok($x509->subject_name()->get_entry_by_type("ST"),"Crypt::OpenSSL::X509::Name_Entry",'Name->get_entry_by_type');
 ok($x509->subject_name()->get_entry_by_type("ST")->is_printableString(),'Name_Entry->is_printableString');
 ok(not($x509->subject_name()->get_entry_by_type("ST")->is_asn1_type(Crypt::OpenSSL::X509::V_ASN1_UTF8STRING)),'Name_Entry->is_asn1_type');
+
+# Check new_from_string / as_string round trip.
+{
+  my $x509 = Crypt::OpenSSL::X509->new_from_string(
+    Crypt::OpenSSL::X509->new_from_file('certs/balt.pem')->as_string(1),
+  1);
+
+  ok($x509);
+  ok($x509->serial() eq '020000B9', 'serial()');
+}
Index: Changes
===================================================================
--- Changes	(.../1.2-1)	(revision 62408)
+++ Changes	(.../1.4-1)	(revision 62408)
@@ -1,5 +1,11 @@
 Revision history for Perl extension Crypt::OpenSSL::X509.
 
+1.4    Tue Aug 31 07:13:20 PDT 2010
+	- Fix new_from_string().
+
+1.3    Fri Aug  6 09:18:30 PDT 2010
+	- Fix fingerprint_sha1().
+
 1.2    Mon May 31 05:59:03 PDT 2010
 	- Compatible with OpenSSL v1.0.0
 	- Incompatible change: Removed fingerprint_md2 method.
Index: README
===================================================================
--- README	(.../1.2-1)	(revision 62408)
+++ README	(.../1.4-1)	(revision 62408)
@@ -1,4 +1,4 @@
-Crypt/OpenSSL/X509 version 1.2
+Crypt/OpenSSL/X509 version 1.4
 ===============================
 
 The README is used to introduce the module and provide instructions on
Index: X509.xs
===================================================================
--- X509.xs	(.../1.2-1)	(revision 62408)
+++ X509.xs	(.../1.4-1)	(revision 62408)
@@ -291,7 +291,7 @@ new(class)
 Crypt::OpenSSL::X509
 new_from_string(class, string, format = FORMAT_PEM)
   SV  *class
-  char *string
+  SV  *string
   int  format
 
   ALIAS:
@@ -299,13 +299,17 @@ new_from_string(class, string, format = FORMAT_PEM
 
   PREINIT:
   BIO *bio;
+  STRLEN len;
+  char *cert;
 
   CODE:
 
+  cert = SvPV(string, len);
+
   if (ix == 1) {
-    bio = BIO_new_file(string, "r");
+    bio = BIO_new_file(cert, "r");
   } else {
-    bio = BIO_new_mem_buf(string, strlen(string));
+    bio = BIO_new_mem_buf(cert, len);
   }
 
   if (!bio) croak("%s: Failed to create BIO", SvPV_nolen(class));
@@ -320,10 +324,10 @@ new_from_string(class, string, format = FORMAT_PEM
     RETVAL = (X509*)PEM_read_bio_X509(bio, NULL, NULL, NULL);
   }
 
+  BIO_free_all(bio);
+
   if (!RETVAL) croak("%s: failed to read X509 certificate.", SvPV_nolen(class));
 
-  BIO_free_all(bio);
-
   OUTPUT:
   RETVAL
 
@@ -583,7 +587,7 @@ fingerprint_md5(x509)
   Crypt::OpenSSL::X509 x509;
 
   ALIAS:
-  fingerprint_sha1 = 2
+  fingerprint_sha1 = 1
 
   PREINIT:
 

Reply to: