GNU bug report logs - #38054
mumble: "QSslSocket: cannot resolve <crypto funcs>", Certificate Expiry, segfault

Previous Next

Package: guix;

Reported by: Ivan Vilata i Balaguer <ivan <at> selidor.net>

Date: Mon, 4 Nov 2019 04:06:01 UTC

Severity: normal

Done: Efraim Flashner <efraim <at> flashner.co.il>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 38054 in the body.
You can then email your comments to 38054 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guix <at> gnu.org:
bug#38054; Package guix. (Mon, 04 Nov 2019 04:06:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Ivan Vilata i Balaguer <ivan <at> selidor.net>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Mon, 04 Nov 2019 04:06:06 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Ivan Vilata i Balaguer <ivan <at> selidor.net>
To: bug-guix <at> gnu.org
Subject: mumble: "QSslSocket: cannot resolve <crypto funcs>", Certificate
 Expiry, segfault
Date: Sun, 3 Nov 2019 23:04:05 -0500
Hi!  I'm using Mumble 1.2.19 from Guix commit 7f81cce3 on Debian Sid.  On
start, it logs the following messages:

    QSslSocket: cannot resolve CRYPTO_num_locks
    QSslSocket: cannot resolve CRYPTO_set_id_callback
    QSslSocket: cannot resolve CRYPTO_set_locking_callback
    QSslSocket: cannot resolve sk_free
    QSslSocket: cannot resolve sk_num
    QSslSocket: cannot resolve sk_pop_free
    QSslSocket: cannot resolve sk_value
    QSslSocket: cannot resolve SSL_library_init
    QSslSocket: cannot resolve SSL_load_error_strings
    QSslSocket: cannot resolve SSLv3_client_method
    QSslSocket: cannot resolve SSLv23_client_method
    QSslSocket: cannot resolve SSLv3_server_method
    QSslSocket: cannot resolve SSLv23_server_method
    QSslSocket: cannot resolve X509_STORE_CTX_get_chain
    QSslSocket: cannot resolve OPENSSL_add_all_algorithms_noconf
    QSslSocket: cannot resolve OPENSSL_add_all_algorithms_conf
    QSslSocket: cannot resolve SSLeay
    QSslSocket: cannot call unresolved function CRYPTO_num_locks
    QSslSocket: cannot call unresolved function CRYPTO_set_id_callback
    QSslSocket: cannot call unresolved function CRYPTO_set_locking_callback
    QSslSocket: cannot call unresolved function SSL_library_init
    QSslSocket: cannot call unresolved function SSLv23_client_method
    QSslSocket: cannot call unresolved function sk_num

Then it complains about "Certificate Expiry: Your certificate is about to
expire. You need to renew it, or you will no longer be able to connect to
servers you are registered on.".  If I proceed to connect it goes:

    OpenSSL Support: 1 (OpenSSL 1.1.1d  10 Sep 2019)
    Segmentation fault

and dies.  It is curious that `guix package -s openssl` reports version 1.1.1c
instead of 1.1.1d, which matches the Debian system's version of OpenSSL, so
Mumble may be trying to load system libraries instead of Guix's.

If I revert to a previous profile generation with a build of Mumble linked
against glibc 2.28 instead of 2.29, it doesn't print the errors and works
without issues.

Thank you very much!

-- 
Ivan Vilata i Balaguer -- https://elvil.net/




Information forwarded to bug-guix <at> gnu.org:
bug#38054; Package guix. (Mon, 04 Nov 2019 07:30:02 GMT) Full text and rfc822 format available.

Message #8 received at 38054 <at> debbugs.gnu.org (full text, mbox):

From: Efraim Flashner <efraim <at> flashner.co.il>
To: Ivan Vilata i Balaguer <ivan <at> selidor.net>
Cc: 38054 <at> debbugs.gnu.org
Subject: Re: bug#38054: mumble: "QSslSocket: cannot resolve <crypto funcs>",
 Certificate Expiry, segfault
Date: Mon, 4 Nov 2019 09:28:53 +0200
[Message part 1 (text/plain, inline)]
On Sun, Nov 03, 2019 at 11:04:05PM -0500, Ivan Vilata i Balaguer wrote:
> Hi!  I'm using Mumble 1.2.19 from Guix commit 7f81cce3 on Debian Sid.  On
> start, it logs the following messages:
> 
>     QSslSocket: cannot resolve CRYPTO_num_locks
>     QSslSocket: cannot resolve CRYPTO_set_id_callback
>     QSslSocket: cannot resolve CRYPTO_set_locking_callback
>     QSslSocket: cannot resolve sk_free
>     QSslSocket: cannot resolve sk_num
>     QSslSocket: cannot resolve sk_pop_free
>     QSslSocket: cannot resolve sk_value
>     QSslSocket: cannot resolve SSL_library_init
>     QSslSocket: cannot resolve SSL_load_error_strings
>     QSslSocket: cannot resolve SSLv3_client_method
>     QSslSocket: cannot resolve SSLv23_client_method
>     QSslSocket: cannot resolve SSLv3_server_method
>     QSslSocket: cannot resolve SSLv23_server_method
>     QSslSocket: cannot resolve X509_STORE_CTX_get_chain
>     QSslSocket: cannot resolve OPENSSL_add_all_algorithms_noconf
>     QSslSocket: cannot resolve OPENSSL_add_all_algorithms_conf
>     QSslSocket: cannot resolve SSLeay
>     QSslSocket: cannot call unresolved function CRYPTO_num_locks
>     QSslSocket: cannot call unresolved function CRYPTO_set_id_callback
>     QSslSocket: cannot call unresolved function CRYPTO_set_locking_callback
>     QSslSocket: cannot call unresolved function SSL_library_init
>     QSslSocket: cannot call unresolved function SSLv23_client_method
>     QSslSocket: cannot call unresolved function sk_num
> 
> Then it complains about "Certificate Expiry: Your certificate is about to
> expire. You need to renew it, or you will no longer be able to connect to
> servers you are registered on.".  If I proceed to connect it goes:
> 
>     OpenSSL Support: 1 (OpenSSL 1.1.1d  10 Sep 2019)
>     Segmentation fault
> 
> and dies.  It is curious that `guix package -s openssl` reports version 1.1.1c
> instead of 1.1.1d, which matches the Debian system's version of OpenSSL, so
> Mumble may be trying to load system libraries instead of Guix's.
> 
> If I revert to a previous profile generation with a build of Mumble linked
> against glibc 2.28 instead of 2.29, it doesn't print the errors and works
> without issues.
> 
> Thank you very much!
> 
> -- 

I'd have to guess that the error is that it's linked against openssl-1.1
instead of openssl-1.1.

I also noticed that there's a newer version of mumble out, 1,3.0, which
builds against qt5. We should probably just go ahead and upgrade it.

-- 
Efraim Flashner   <efraim <at> flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
[signature.asc (application/pgp-signature, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#38054; Package guix. (Tue, 19 Nov 2019 19:01:02 GMT) Full text and rfc822 format available.

Message #11 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Christopher Lemmer Webber <cwebber <at> dustycloud.org>
To: bug-guix <at> gnu.org
Cc: 38054 <at> debbugs.gnu.org, Ivan Vilata i Balaguer <ivan <at> selidor.net>
Subject: Re: bug#38054: mumble: "QSslSocket: cannot resolve <crypto funcs>",
 Certificate Expiry, segfault
Date: Tue, 19 Nov 2019 14:00:20 -0500
[Message part 1 (text/plain, inline)]
Efraim Flashner writes:

> On Sun, Nov 03, 2019 at 11:04:05PM -0500, Ivan Vilata i Balaguer wrote:
>> Hi!  I'm using Mumble 1.2.19 from Guix commit 7f81cce3 on Debian Sid.  On
>> start, it logs the following messages:
>> 
>>     QSslSocket: cannot resolve CRYPTO_num_locks
>>     QSslSocket: cannot resolve CRYPTO_set_id_callback
>>     QSslSocket: cannot resolve CRYPTO_set_locking_callback
>>     QSslSocket: cannot resolve sk_free
>>     QSslSocket: cannot resolve sk_num
>>     QSslSocket: cannot resolve sk_pop_free
>>     QSslSocket: cannot resolve sk_value
>>     QSslSocket: cannot resolve SSL_library_init
>>     QSslSocket: cannot resolve SSL_load_error_strings
>>     QSslSocket: cannot resolve SSLv3_client_method
>>     QSslSocket: cannot resolve SSLv23_client_method
>>     QSslSocket: cannot resolve SSLv3_server_method
>>     QSslSocket: cannot resolve SSLv23_server_method
>>     QSslSocket: cannot resolve X509_STORE_CTX_get_chain
>>     QSslSocket: cannot resolve OPENSSL_add_all_algorithms_noconf
>>     QSslSocket: cannot resolve OPENSSL_add_all_algorithms_conf
>>     QSslSocket: cannot resolve SSLeay
>>     QSslSocket: cannot call unresolved function CRYPTO_num_locks
>>     QSslSocket: cannot call unresolved function CRYPTO_set_id_callback
>>     QSslSocket: cannot call unresolved function CRYPTO_set_locking_callback
>>     QSslSocket: cannot call unresolved function SSL_library_init
>>     QSslSocket: cannot call unresolved function SSLv23_client_method
>>     QSslSocket: cannot call unresolved function sk_num
>> 
>> Then it complains about "Certificate Expiry: Your certificate is about to
>> expire. You need to renew it, or you will no longer be able to connect to
>> servers you are registered on.".  If I proceed to connect it goes:
>> 
>>     OpenSSL Support: 1 (OpenSSL 1.1.1d  10 Sep 2019)
>>     Segmentation fault
>> 
>> and dies.  It is curious that `guix package -s openssl` reports version 1.1.1c
>> instead of 1.1.1d, which matches the Debian system's version of OpenSSL, so
>> Mumble may be trying to load system libraries instead of Guix's.
>> 
>> If I revert to a previous profile generation with a build of Mumble linked
>> against glibc 2.28 instead of 2.29, it doesn't print the errors and works
>> without issues.
>> 
>> Thank you very much!
>> 
>> -- 
>
> I'd have to guess that the error is that it's linked against openssl-1.1
> instead of openssl-1.1.
>
> I also noticed that there's a newer version of mumble out, 1,3.0, which
> builds against qt5. We should probably just go ahead and upgrade it.

I've also gotten this.  I have an older version of Mumble installed from
a previous generation and that one does still run.

I tried updating it here, but looks like it's upset about not finding
the (un)bundled speex... weird because it must not have been bothered by
that before.

Incomplete patch attached.  I'm unsure if switching from qt-4 to qtbase
is the right way to upgrade to QT 5 or not?  I'm guessing so?

[update-mumble.patch (text/x-patch, inline)]
diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
index 81e710a536..82ebe48931 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -377,15 +377,15 @@ address of one of the participants.")
 (define-public mumble
   (package
     (name "mumble")
-    (version "1.2.19")
+    (version "1.3.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://mumble.info/snapshot/"
                                   name "-" version ".tar.gz"))
               (sha256
                (base32
-                "1s60vaici3v034jzzi20x23hsj6mkjlc0glipjq4hffrg9qgnizh"))
-              (patches (search-patches "mumble-1.2.19-abs.patch"))
+                "03dqg5yf6d7ilc1wydpshnv1ndssppcbadqcq20jm5j4fdaf53cs"))
+              ;; (patches (search-patches "mumble-1.2.19-abs.patch"))
               (modules '((guix build utils)))
               (snippet
                `(begin
@@ -474,7 +474,7 @@ address of one of the participants.")
        ("speech-dispatcher" ,speech-dispatcher)
        ("libx11" ,libx11)
        ("libxi" ,libxi)
-       ("qt-4" ,qt-4)
+       ("qt-4" ,qtbase)
        ("alsa-lib" ,alsa-lib)
        ("pulseaudio" ,pulseaudio)))
     (native-inputs

Information forwarded to bug-guix <at> gnu.org:
bug#38054; Package guix. (Tue, 19 Nov 2019 19:01:03 GMT) Full text and rfc822 format available.

Information forwarded to bug-guix <at> gnu.org:
bug#38054; Package guix. (Wed, 20 Nov 2019 05:32:02 GMT) Full text and rfc822 format available.

Message #17 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Ivan Vilata i Balaguer <ivan <at> selidor.net>
To: Christopher Lemmer Webber <cwebber <at> dustycloud.org>
Cc: 38054 <at> debbugs.gnu.org, bug-guix <at> gnu.org,
 Ivan Vilata i Balaguer <ivan <at> selidor.net>
Subject: Re: bug#38054: mumble: "QSslSocket: cannot resolve <crypto funcs>",
 Certificate Expiry, segfault
Date: Wed, 20 Nov 2019 00:30:24 -0500
Christopher Lemmer Webber (2019-11-19 14:00:20 -0500) wrote:

> Efraim Flashner writes:
> 
> > I also noticed that there's a newer version of mumble out, 1,3.0, which
> > builds against qt5. We should probably just go ahead and upgrade it.
> 
> I've also gotten this.  I have an older version of Mumble installed from
> a previous generation and that one does still run.
> 
> I tried updating it here, but looks like it's upset about not finding
> the (un)bundled speex... weird because it must not have been bothered by
> that before.
> 
> Incomplete patch attached.  I'm unsure if switching from qt-4 to qtbase
> is the right way to upgrade to QT 5 or not?  I'm guessing so?

Thanks Christopher!  I'm currently working in a complete patch, it's building
and running (and it's not suffering from the errors I found!), but I still
need to locate the appropriate icons and include them in the package.

I'll get back to you real soon!

-- 
Ivan Vilata i Balaguer -- https://elvil.net/




Information forwarded to bug-guix <at> gnu.org:
bug#38054; Package guix. (Wed, 20 Nov 2019 05:32:05 GMT) Full text and rfc822 format available.

Information forwarded to bug-guix <at> gnu.org:
bug#38054; Package guix. (Fri, 22 Nov 2019 06:34:02 GMT) Full text and rfc822 format available.

Message #23 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Ivan Vilata i Balaguer <ivan <at> selidor.net>
To: Ivan Vilata i Balaguer <ivan <at> selidor.net>
Cc: Christopher Lemmer Webber <cwebber <at> dustycloud.org>, bug-guix <at> gnu.org,
 Efraim Flashner <efraim <at> flashner.co.il>, 38054 <at> debbugs.gnu.org
Subject: Re: bug#38054: mumble: "QSslSocket: cannot resolve <crypto funcs>",
 Certificate Expiry, segfault
Date: Fri, 22 Nov 2019 01:32:38 -0500
[Message part 1 (text/plain, inline)]
Ivan Vilata i Balaguer (2019-11-20 00:30:24 -0500) wrote:

> Thanks Christopher!  I'm currently working in a complete patch, it's
> building and running (and it's not suffering from the errors I found!), but
> I still need to locate the appropriate icons and include them in the
> package.
> 
> I'll get back to you real soon!

Hi there!  I finally completed the update patch and managed to get the icons
working.  It seems to work as expected without plugin issues.

It wasn't an easy task but I learnt some good stuff during the way… `:D`

Enjoy the new Mumble!

-- 
Ivan Vilata i Balaguer -- https://elvil.net/
[0001-gnu-mumble-Update-to-1.3.0.patch (text/plain, attachment)]

Information forwarded to bug-guix <at> gnu.org:
bug#38054; Package guix. (Fri, 22 Nov 2019 06:34:03 GMT) Full text and rfc822 format available.

Reply sent to Efraim Flashner <efraim <at> flashner.co.il>:
You have taken responsibility. (Thu, 19 Dec 2019 13:04:02 GMT) Full text and rfc822 format available.

Notification sent to Ivan Vilata i Balaguer <ivan <at> selidor.net>:
bug acknowledged by developer. (Thu, 19 Dec 2019 13:04:02 GMT) Full text and rfc822 format available.

Message #31 received at 38054-done <at> debbugs.gnu.org (full text, mbox):

From: Efraim Flashner <efraim <at> flashner.co.il>
To: Ivan Vilata i Balaguer <ivan <at> selidor.net>
Cc: 38054-done <at> debbugs.gnu.org, 38395-done <at> debbugs.gnu.org
Subject: Re: [bug#38395] Acknowledgement ([PATCH] gnu: mumble: Update to
 1.3.0.)
Date: Thu, 19 Dec 2019 15:03:11 +0200
[Message part 1 (text/plain, inline)]
I merged the two patches together, made sure all the phases returned #t
and flushed out the commit message some more.


-- 
Efraim Flashner   <efraim <at> flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
[signature.asc (application/pgp-signature, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#38054; Package guix. (Thu, 19 Dec 2019 16:54:01 GMT) Full text and rfc822 format available.

Message #34 received at 38054-done <at> debbugs.gnu.org (full text, mbox):

From: Ivan Vilata i Balaguer <ivan <at> selidor.net>
To: Efraim Flashner <efraim <at> flashner.co.il>
Cc: 38054-done <at> debbugs.gnu.org, 38395-done <at> debbugs.gnu.org,
 Ivan Vilata i Balaguer <ivan <at> selidor.net>
Subject: Re: [bug#38395] Acknowledgement ([PATCH] gnu: mumble: Update to
 1.3.0.)
Date: Thu, 19 Dec 2019 11:51:55 -0500
Efraim Flashner (2019-12-19 15:03:11 +0200) wrote:

> I merged the two patches together, made sure all the phases returned #t
> and flushed out the commit message some more.

Thanks a lot!  Comparing your final patch against mine was also very
instructive. `:)`

-- 
Ivan Vilata i Balaguer -- https://elvil.net/




Information forwarded to bug-guix <at> gnu.org:
bug#38054; Package guix. (Fri, 20 Dec 2019 16:10:01 GMT) Full text and rfc822 format available.

Message #37 received at 38054-done <at> debbugs.gnu.org (full text, mbox):

From: Ivan Vilata i Balaguer <ivan <at> selidor.net>
To: Ivan Vilata i Balaguer <ivan <at> selidor.net>
Cc: 38054-done <at> debbugs.gnu.org, 38395-done <at> debbugs.gnu.org,
 Efraim Flashner <efraim <at> flashner.co.il>
Subject: Re: [bug#38395] Acknowledgement ([PATCH] gnu: mumble: Update to
 1.3.0.)
Date: Fri, 20 Dec 2019 11:07:58 -0500
Ivan Vilata i Balaguer (2019-12-19 11:51:55 -0500) wrote:

> Efraim Flashner (2019-12-19 15:03:11 +0200) wrote:
> 
> > I merged the two patches together, made sure all the phases returned #t
> > and flushed out the commit message some more.
> 
> Thanks a lot!  Comparing your final patch against mine was also very
> instructive. `:)`

Before you close this issue, I upgraded my `mumble` package and many icons are
missing.  I didn't yet have time to further investigate it, but maybe it's
because of a difference I noticed between your patch:

    (modify-phases %standard-phases

and mine:

    (modify-phases (@ (guix build qt-build-system) %standard-phases)

So maybe the problem is that the final, wrapping phase of `qt-build-system` is
not being run.  Actually I see that `mumble` is a plain binary while in the
output from my patch, it was a wrapper script.

Thanks!

-- 
Ivan Vilata i Balaguer -- https://elvil.net/




Information forwarded to bug-guix <at> gnu.org:
bug#38054; Package guix. (Sun, 22 Dec 2019 10:57:01 GMT) Full text and rfc822 format available.

Message #40 received at 38054-done <at> debbugs.gnu.org (full text, mbox):

From: Efraim Flashner <efraim <at> flashner.co.il>
To: Ivan Vilata i Balaguer <ivan <at> selidor.net>
Cc: 38054-done <at> debbugs.gnu.org, 38395-done <at> debbugs.gnu.org
Subject: Re: [bug#38395] Acknowledgement ([PATCH] gnu: mumble: Update to
 1.3.0.)
Date: Sun, 22 Dec 2019 12:56:04 +0200
[Message part 1 (text/plain, inline)]
On Fri, Dec 20, 2019 at 11:07:58AM -0500, Ivan Vilata i Balaguer wrote:
> Ivan Vilata i Balaguer (2019-12-19 11:51:55 -0500) wrote:
> 
> > Efraim Flashner (2019-12-19 15:03:11 +0200) wrote:
> > 
> > > I merged the two patches together, made sure all the phases returned #t
> > > and flushed out the commit message some more.
> > 
> > Thanks a lot!  Comparing your final patch against mine was also very
> > instructive. `:)`
> 
> Before you close this issue, I upgraded my `mumble` package and many icons are
> missing.  I didn't yet have time to further investigate it, but maybe it's
> because of a difference I noticed between your patch:
> 
>     (modify-phases %standard-phases
> 
> and mine:
> 
>     (modify-phases (@ (guix build qt-build-system) %standard-phases)
> 
> So maybe the problem is that the final, wrapping phase of `qt-build-system` is
> not being run.  Actually I see that `mumble` is a plain binary while in the
> output from my patch, it was a wrapper script.
> 

I'm not sure what happened with the wrapping phase, but I changed it
back and now everything should be working as expected.

-- 
Efraim Flashner   <efraim <at> flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
[signature.asc (application/pgp-signature, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#38054; Package guix. (Sun, 22 Dec 2019 18:18:02 GMT) Full text and rfc822 format available.

Message #43 received at 38054-done <at> debbugs.gnu.org (full text, mbox):

From: Ivan Vilata i Balaguer <ivan <at> selidor.net>
To: Efraim Flashner <efraim <at> flashner.co.il>
Cc: 38054-done <at> debbugs.gnu.org, 38395-done <at> debbugs.gnu.org,
 Ivan Vilata i Balaguer <ivan <at> selidor.net>
Subject: Re: [bug#38395] Acknowledgement ([PATCH] gnu: mumble: Update to
 1.3.0.)
Date: Sun, 22 Dec 2019 13:16:38 -0500
Efraim Flashner (2019-12-22 12:56:04 +0200) wrote:

> On Fri, Dec 20, 2019 at 11:07:58AM -0500, Ivan Vilata i Balaguer wrote:
> > 
> > Before you close this issue, I upgraded my `mumble` package and many icons are
> > missing.  I didn't yet have time to further investigate it, but maybe it's
> > because of a difference I noticed between your patch:
> > 
> >     (modify-phases %standard-phases
> > 
> > and mine:
> > 
> >     (modify-phases (@ (guix build qt-build-system) %standard-phases)
> > 
> > So maybe the problem is that the final, wrapping phase of `qt-build-system` is
> > not being run.  Actually I see that `mumble` is a plain binary while in the
> > output from my patch, it was a wrapper script.
> 
> I'm not sure what happened with the wrapping phase, but I changed it
> back and now everything should be working as expected.

Works indeed now, than you! `:)`

-- 
Ivan Vilata i Balaguer -- https://elvil.net/




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Mon, 20 Jan 2020 12:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 4 years and 91 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.