Hello,

I was starting on making the same package.  I contacted the author about
the hardy x86_64 bug - I run that - and he said that the code was kind
of old with respect to the latest OpenSSL version.  Here is a patch that
works (also attached):

diff --git a/lib/x509rev.cpp b/lib/x509rev.cpp
index 3af4b44..aa60dee 100644
--- a/lib/x509rev.cpp
+++ b/lib/x509rev.cpp
@@ -7,16 +7,23 @@

 #include "x509rev.h"

-#if OPENSSL_VERSION_NUMBER >= 0x00908000L
-#define X509_REVOKED_dup(x5r) \
-       ASN1_dup_of (X509_REVOKED, i2d_X509_REVOKED, d2i_X509_REVOKED, x5r)

-#else
-#define X509_REVOKED_dup(x5r) (X509_REVOKED *)ASN1_dup( \
-       (int (*)(...))i2d_X509_REVOKED, \
-       (char *(*)(...))d2i_X509_REVOKED, \
-       (char *)x5r)
-#endif
+static X509_REVOKED *X509_REVOKED_dup(const X509_REVOKED *n)
+{
+        int len;
+        X509_REVOKED *ret;
+       unsigned char *buf, *p;
+       const unsigned char *cp;
+
+        len = i2d_X509_REVOKED((X509_REVOKED *)n, NULL);
+       buf = (unsigned char *)OPENSSL_malloc(len);
+        p = buf;
+        i2d_X509_REVOKED((X509_REVOKED *)n, &p);
+        cp = buf;
+        ret = d2i_X509_REVOKED(NULL, &cp, len);
+        OPENSSL_free(buf);
+        return(ret);
+}

 x509rev::x509rev()
 {
@@ -25,7 +32,7 @@ x509rev::x509rev()

 x509rev::x509rev(const X509_REVOKED *n)
 {
-       rev = X509_REVOKED_dup((X509_REVOKED *)n);
+       rev = X509_REVOKED_dup(n);
 }

 x509rev::x509rev(const x509rev &n)
@@ -43,7 +50,7 @@ x509rev &x509rev::set(const X509_REVOKED *n)
 {
        if (rev != NULL)
                X509_REVOKED_free(rev);
-       rev = X509_REVOKED_dup((X509_REVOKED *)n);
+       rev = X509_REVOKED_dup(n);
        return *this;
 }


** Attachment added: "x509rev.diff"
   http://launchpadlibrarian.net/24079338/x509rev.diff

-- 
[needs-packaging] xca
https://bugs.launchpad.net/bugs/152188
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to