X2Go Bug report logs - #861
No Sound in TCE-RDP-directConnect

version graph

Package: x2gothinclient; Maintainer for x2gothinclient is X2Go Developers <x2go-dev@lists.x2go.org>; Source for x2gothinclient is src:x2gothinclient.

Reported by: Stefan Baur <X2Go-ML-1@baur-itcs.de>

Date: Wed, 29 Apr 2015 10:15:02 UTC

Severity: normal

Found in version 1.1.0.2

Reply or subscribe to this bug.

Toggle useless messages

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


Report forwarded to x2go-dev@lists.x2go.org, X2Go Developers <x2go-dev@lists.x2go.org>:
Bug#861; Package x2gothinclient. (Wed, 29 Apr 2015 10:15:02 GMT) (full text, mbox, link).


Acknowledgement sent to Stefan Baur <X2Go-ML-1@baur-itcs.de>:
New Bug report received and forwarded. Copy sent to X2Go Developers <x2go-dev@lists.x2go.org>. (Wed, 29 Apr 2015 10:15:02 GMT) (full text, mbox, link).


Message #5 received at submit@bugs.x2go.org (full text, mbox, reply):

From: Stefan Baur <X2Go-ML-1@baur-itcs.de>
To: submit@bugs.x2go.org
Subject: No Sound in TCE-RDP-directConnect
Date: Wed, 29 Apr 2015 12:13:11 +0200
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

package: x2gothinclient
version: 1.1.0.2

Hi,

when starting x2goclient in thinclient mode, pulseaudio gets started
in the background. This blocks remote audio when using the
RDP-DirectConnect feature of x2goclient.

When you do this:

/etc/init.d/x2gothinclient stop
X &
export DISPLAY=:0
ln -s /etc/x2go/x2gothinclient_sessions ~/.x2goclient/sessions
x2goclient --thinclient

sound in an RDP-DirectConnect session works.
So the Pulseaudio start takes place somewhere else - x2gothinclientd
maybe? - and needs to be stopped for RDP-DirectConnect, as it blocks
the audio device.

How that can be accomplished, without killing sound support for
regular X2Go sessions, I don't know.

Who was the one that originally asked for the RDP-DirectConnect
feature?  How do they handle sound, or do they not need it?

- -Stefan

- -- 
BAUR-ITCS UG (haftungsbeschränkt)
Geschäftsführer: Stefan Baur
Eichenäckerweg 10, 89081 Ulm | Registergericht Ulm, HRB 724364
Fon/Fax 0731 40 34 66-36/-35 | USt-IdNr.: DE268653243
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAEBCAAGBQJVQK63AAoJEG7d9BjNvlEZ6b0H/iTF1zdILPaKCeQQScTEtMbX
1SmJK2FyZa5O0ygvc/sGCjKo5KqgHIBCgBD477BJlYCpkcKQM71Sw+q2mYQIwnBN
C9lbspvHa9WXEdTzQ1reeqk3jKGA2AMrBnhYLBqhxSFJxJLmqwYudyXMIWnZrH5j
q15vKGYDnizu3eSGvDF2MG0r8eh5ioq5xlCwih1GTnCf9PCz05b2Au90ziGKn8Lx
dzVZHtKQWOv36i/V2QLVgMQkFrAbPakXjYFekmkwPNL7w298s3GpC0sKiJTIJVLw
QEm+2k7Iso1eMMcVW3KaOoE3B38j6dKaTYFzrJfx15KkUowHu1UxzjozXaWZjNQ=
=JlfK
-----END PGP SIGNATURE-----


Information forwarded to x2go-dev@lists.x2go.org, X2Go Developers <x2go-dev@lists.x2go.org>:
Bug#861; Package x2gothinclient. (Wed, 29 Apr 2015 10:45:02 GMT) (full text, mbox, link).


Acknowledgement sent to Stefan Baur <X2Go-ML-1@baur-itcs.de>:
Extra info received and forwarded to list. Copy sent to X2Go Developers <x2go-dev@lists.x2go.org>. (Wed, 29 Apr 2015 10:45:02 GMT) (full text, mbox, link).


Message #10 received at 861@bugs.x2go.org (full text, mbox, reply):

From: Stefan Baur <X2Go-ML-1@baur-itcs.de>
To: 861@bugs.x2go.org
Subject: Re: [X2Go-Dev] Bug#861: No Sound in TCE-RDP-directConnect
Date: Wed, 29 Apr 2015 12:42:30 +0200
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Additional info:

Sound via RDP works when:

a) Pulseaudio is not running

*and*

b.1) rdesktop is called with:
     -r sound:local -f -u DOMAIN\\User -p Password Server:3389

*or*

b.2) xfreerdp is called with:
     --ignore-certificate --plugin rdpsnd -d DOMAIN -f -u User \
     -p Password Server:3389

It doesn't matter if b.1) or b.2) is used on the command line with X
and export DISPLAY=:0, or through an x2goclient with the corresponding
session parameters.

- -Stefan

Am 29.04.2015 um 12:13 schrieb Stefan Baur:
> package: x2gothinclient version: 1.1.0.2
> 
> Hi,
> 
> when starting x2goclient in thinclient mode, pulseaudio gets
> started in the background. This blocks remote audio when using the 
> RDP-DirectConnect feature of x2goclient.
> 
> When you do this:
> 
> /etc/init.d/x2gothinclient stop X & export DISPLAY=:0 ln -s
> /etc/x2go/x2gothinclient_sessions ~/.x2goclient/sessions x2goclient
> --thinclient
> 
> sound in an RDP-DirectConnect session works. So the Pulseaudio
> start takes place somewhere else - x2gothinclientd maybe? - and
> needs to be stopped for RDP-DirectConnect, as it blocks the audio
> device.
> 
> How that can be accomplished, without killing sound support for 
> regular X2Go sessions, I don't know.
> 
> Who was the one that originally asked for the RDP-DirectConnect 
> feature?  How do they handle sound, or do they not need it?
> 
> -Stefan
> 
> _______________________________________________ x2go-dev mailing
> list x2go-dev@lists.x2go.org 
> http://lists.x2go.org/listinfo/x2go-dev
> 

- -- 
BAUR-ITCS UG (haftungsbeschränkt)
Geschäftsführer: Stefan Baur
Eichenäckerweg 10, 89081 Ulm | Registergericht Ulm, HRB 724364
Fon/Fax 0731 40 34 66-36/-35 | USt-IdNr.: DE268653243
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAEBCAAGBQJVQLWWAAoJEG7d9BjNvlEZBc0H/AqKJcTdCRVr69Gy7T5MdCdQ
me90sq2ppqGShiPpJRFfd4J/1cnUN5rZJbJ9F7Hrvu1TEuQH1AU/hRtPWiWQqsXd
pwBHqc2jg4tCYzWZADCltjGYAkwtpGc5Gz5XLJHC7A9MuXW7M4R2JmRcrsvRZXj1
dbSKzUZlC3q7Xde9xDRbEe3z2+2Tuq5V92dwZhxf7SvhPQPhxhLnBq6XUdPPINgW
mM98GTzTx/krnY+2JrOwI5V3WzqJOJNp9mN0k4QBPLzXbOfnQit3GifFMpPYuVDA
1E8BoTBSRE4m/TEi452Losifbq0vLYR+SJZnBtnBKWC8jZ5i+Gp3oxtuPv/6b3Q=
=DoVJ
-----END PGP SIGNATURE-----


Information forwarded to x2go-dev@lists.x2go.org, X2Go Developers <x2go-dev@lists.x2go.org>:
Bug#861; Package x2gothinclient. (Wed, 29 Apr 2015 11:20:01 GMT) (full text, mbox, link).


Acknowledgement sent to Florian Wicke - Hetzner Online AG <florian.wicke@hetzner.de>:
Extra info received and forwarded to list. Copy sent to X2Go Developers <x2go-dev@lists.x2go.org>. (Wed, 29 Apr 2015 11:20:02 GMT) (full text, mbox, link).


Message #15 received at 861@bugs.x2go.org (full text, mbox, reply):

From: Florian Wicke - Hetzner Online AG <florian.wicke@hetzner.de>
To: 861@bugs.x2go.org
Subject: Re: [X2Go-Dev] Bug#861: No Sound in TCE-RDP-directConnect
Date: Wed, 29 Apr 2015 12:37:31 +0200
[Message part 1 (text/plain, inline)]
Hi Stefan,

yes pulseaudio is started from x2gothinclientd - rdesktop does not
support pulseaudio as audio backend - but you can workaround that with
'padsp' from the pulseaudio-utils package. - you just have to prefix the
rdesktop command with padsp like:

padsp rdesktop -u <username> -f -r sound:local <address>

then pulseaudio redirects the access to /dev/dsp of rdesktop to itself.

xfreerdp should have native pulseaudio-support so it depends on your
choice of software. To force xfreerdp to use pulseaudio you could add
the parameter '--data tsmf:audio:pulse' to the xfreerdp-command



Kind regards

 Florian Wicke

Hetzner Online AG
Industriestr. 25
91710 Gunzenhausen / Germany
Tel: +49 9831 505-187
Fax: +49 9831 505-387
florian.wicke@hetzner.de
www.hetzner.com

Register Court: Registergericht Ansbach, HRB 3204
Management Board: Dipl. Ing. (FH) Martin Hetzner
Chairwoman of the Supervisory Board: Diana Rothhan

Am 29.04.2015 um 12:13 schrieb Stefan Baur:
> package: x2gothinclient
> version: 1.1.0.2
> 
> Hi,
> 
> when starting x2goclient in thinclient mode, pulseaudio gets started
> in the background. This blocks remote audio when using the
> RDP-DirectConnect feature of x2goclient.
> 
> When you do this:
> 
> /etc/init.d/x2gothinclient stop
> X &
> export DISPLAY=:0
> ln -s /etc/x2go/x2gothinclient_sessions ~/.x2goclient/sessions
> x2goclient --thinclient
> 
> sound in an RDP-DirectConnect session works.
> So the Pulseaudio start takes place somewhere else - x2gothinclientd
> maybe? - and needs to be stopped for RDP-DirectConnect, as it blocks
> the audio device.
> 
> How that can be accomplished, without killing sound support for
> regular X2Go sessions, I don't know.
> 
> Who was the one that originally asked for the RDP-DirectConnect
> feature?  How do they handle sound, or do they not need it?
> 
> -Stefan
> 
> _______________________________________________
> x2go-dev mailing list
> x2go-dev@lists.x2go.org
> http://lists.x2go.org/listinfo/x2go-dev
> 

[signature.asc (application/pgp-signature, attachment)]

Information forwarded to x2go-dev@lists.x2go.org, X2Go Developers <x2go-dev@lists.x2go.org>:
Bug#861; Package x2gothinclient. (Wed, 29 Apr 2015 12:10:02 GMT) (full text, mbox, link).


Acknowledgement sent to Stefan Baur <X2Go-ML-1@baur-itcs.de>:
Extra info received and forwarded to list. Copy sent to X2Go Developers <x2go-dev@lists.x2go.org>. (Wed, 29 Apr 2015 12:10:02 GMT) (full text, mbox, link).


Message #20 received at 861@bugs.x2go.org (full text, mbox, reply):

From: Stefan Baur <X2Go-ML-1@baur-itcs.de>
To: 861@bugs.x2go.org
Subject: Re: [X2Go-Dev] Bug#861: Bug#861: No Sound in TCE-RDP-directConnect
Date: Wed, 29 Apr 2015 14:03:59 +0200
[Message part 1 (text/plain, inline)]
Am 29.04.2015 um 12:37 schrieb Florian Wicke - Hetzner Online AG:

> yes pulseaudio is started from x2gothinclientd - rdesktop does not 
> support pulseaudio as audio backend - but you can workaround that
> with 'padsp' from the pulseaudio-utils package. - you just have to
> prefix the rdesktop command with padsp like:

> padsp rdesktop -u <username> -f -r sound:local <address>

> then pulseaudio redirects the access to /dev/dsp of rdesktop to
> itself.

I know of padsp, but it seems there is no way I can just add this call
somewhere in the config.  This looks like it has to be added to
x2goclient's source.

(I can only add additional parameters after the rdesktop/xfreerdp
call, but nothing in front of it.)

> xfreerdp should have native pulseaudio-support so it depends on
> your choice of software. To force xfreerdp to use pulseaudio you
> could add the parameter '--data tsmf:audio:pulse' to the
> xfreerdp-command

So,
--ignore-certificate --plugin rdpsnd --data tsmf:audio:pulse -d DOMAIN
-f -u User -p Password Server:3389
doesn't work, it throws me right back at the login prompt.

Running it on the command line

xfreerdp --ignore-certificate --plugin rdpsnd -d DOMAIN -f -u User -p
Password Server:3389

(i.e. *without* the parameter you suggested) returns, when pulseaudio
is loaded:

loading plugin rdpsnd
Warning xf_GetWindowProperty (140): Property 484 does not exist
connected to Server:3389
freerdp_load_library_symbol: failed to open
/usr/lib/i386-linux-gnu/freerdp/rdpsnd_pulse.so:
/usr/lib/i386-linux-gnu/freerdp/rdpsnd_pulse.so: cannot open shared
object file: No such file or directory
freerdp_load_plugin: failed to load rdpsnd_pulse/FreeRDPRdpsndDeviceEntry

So it does try to do some pulseaudio'ish things, but fails.  Thus, I'm
guessing xfreerdp in Debian Wheezy is too old/doesn't include
Pulseaudio support for some reason.

Also, note that adding the parameter you suggested doesn't work out of
the box - e.g. when called like this:

xfreerdp --ignore-certificate --plugin rdpsnd -d DOMAIN -f -u User -p
Password --data tsmf:audio:pulse Server:3389

it dies instantly with:

loading plugin rdpsnd
invalid option: --data
failed to parse arguments.

so the position of the parameter seems to matter.

Additional info: xfreerdp --version returns "This is FreeRDP version
1.0.1"

-Stefan

-- 
BAUR-ITCS UG (haftungsbeschränkt)
Geschäftsführer: Stefan Baur
Eichenäckerweg 10, 89081 Ulm | Registergericht Ulm, HRB 724364
Fon/Fax 0731 40 34 66-36/-35 | USt-IdNr.: DE268653243

[signature.asc (application/pgp-signature, attachment)]

Information forwarded to x2go-dev@lists.x2go.org, X2Go Developers <x2go-dev@lists.x2go.org>:
Bug#861; Package x2gothinclient. (Wed, 29 Apr 2015 13:00:02 GMT) (full text, mbox, link).


Acknowledgement sent to Florian Wicke - Hetzner Online AG <florian.wicke@hetzner.de>:
Extra info received and forwarded to list. Copy sent to X2Go Developers <x2go-dev@lists.x2go.org>. (Wed, 29 Apr 2015 13:00:02 GMT) (full text, mbox, link).


Message #25 received at 861@bugs.x2go.org (full text, mbox, reply):

From: Florian Wicke - Hetzner Online AG <florian.wicke@hetzner.de>
To: 861@bugs.x2go.org
Subject: Re: [X2Go-Dev] Bug#861: No Sound in TCE-RDP-directConnect
Date: Wed, 29 Apr 2015 14:56:32 +0200
[Message part 1 (text/plain, inline)]
Hi Stefan,

i don't know about the 'rdpsnd'-plugin for xfreerdp - the official
documentation suggests 'drdynvc':

https://github.com/FreeRDP/FreeRDP/wiki/Multimedia-Redirection



Kind regards

 Florian Wicke

Hetzner Online AG
Industriestr. 25
91710 Gunzenhausen / Germany
Tel: +49 9831 505-187
Fax: +49 9831 505-387
florian.wicke@hetzner.de
www.hetzner.com

Register Court: Registergericht Ansbach, HRB 3204
Management Board: Dipl. Ing. (FH) Martin Hetzner
Chairwoman of the Supervisory Board: Diana Rothhan

Am 29.04.2015 um 14:03 schrieb Stefan Baur:
> Am 29.04.2015 um 12:37 schrieb Florian Wicke - Hetzner Online AG:
> 
>> yes pulseaudio is started from x2gothinclientd - rdesktop does not 
>> support pulseaudio as audio backend - but you can workaround that
>> with 'padsp' from the pulseaudio-utils package. - you just have to
>> prefix the rdesktop command with padsp like:
> 
>> padsp rdesktop -u <username> -f -r sound:local <address>
> 
>> then pulseaudio redirects the access to /dev/dsp of rdesktop to
>> itself.
> 
> I know of padsp, but it seems there is no way I can just add this call
> somewhere in the config.  This looks like it has to be added to
> x2goclient's source.
> 
> (I can only add additional parameters after the rdesktop/xfreerdp
> call, but nothing in front of it.)
> 
>> xfreerdp should have native pulseaudio-support so it depends on
>> your choice of software. To force xfreerdp to use pulseaudio you
>> could add the parameter '--data tsmf:audio:pulse' to the
>> xfreerdp-command
> 
> So,
> --ignore-certificate --plugin rdpsnd --data tsmf:audio:pulse -d DOMAIN
> -f -u User -p Password Server:3389
> doesn't work, it throws me right back at the login prompt.
> 
> Running it on the command line
> 
> xfreerdp --ignore-certificate --plugin rdpsnd -d DOMAIN -f -u User -p
> Password Server:3389
> 
> (i.e. *without* the parameter you suggested) returns, when pulseaudio
> is loaded:
> 
> loading plugin rdpsnd
> Warning xf_GetWindowProperty (140): Property 484 does not exist
> connected to Server:3389
> freerdp_load_library_symbol: failed to open
> /usr/lib/i386-linux-gnu/freerdp/rdpsnd_pulse.so:
> /usr/lib/i386-linux-gnu/freerdp/rdpsnd_pulse.so: cannot open shared
> object file: No such file or directory
> freerdp_load_plugin: failed to load rdpsnd_pulse/FreeRDPRdpsndDeviceEntry
> 
> So it does try to do some pulseaudio'ish things, but fails.  Thus, I'm
> guessing xfreerdp in Debian Wheezy is too old/doesn't include
> Pulseaudio support for some reason.
> 
> Also, note that adding the parameter you suggested doesn't work out of
> the box - e.g. when called like this:
> 
> xfreerdp --ignore-certificate --plugin rdpsnd -d DOMAIN -f -u User -p
> Password --data tsmf:audio:pulse Server:3389
> 
> it dies instantly with:
> 
> loading plugin rdpsnd
> invalid option: --data
> failed to parse arguments.
> 
> so the position of the parameter seems to matter.
> 
> Additional info: xfreerdp --version returns "This is FreeRDP version
> 1.0.1"
> 
> -Stefan
> 
> 
> 
> _______________________________________________
> x2go-dev mailing list
> x2go-dev@lists.x2go.org
> http://lists.x2go.org/listinfo/x2go-dev
> 

[signature.asc (application/pgp-signature, attachment)]

Information forwarded to x2go-dev@lists.x2go.org, X2Go Developers <x2go-dev@lists.x2go.org>:
Bug#861; Package x2gothinclient. (Wed, 29 Apr 2015 13:05:02 GMT) (full text, mbox, link).


Acknowledgement sent to Mihai Moldovan <ionic@ionic.de>:
Extra info received and forwarded to list. Copy sent to X2Go Developers <x2go-dev@lists.x2go.org>. (Wed, 29 Apr 2015 13:05:02 GMT) (full text, mbox, link).


Message #30 received at 861@bugs.x2go.org (full text, mbox, reply):

From: Mihai Moldovan <ionic@ionic.de>
To: Stefan Baur <X2Go-ML-1@baur-itcs.de>, 861@bugs.x2go.org
Subject: Re: [X2Go-Dev] Bug#861: No Sound in TCE-RDP-directConnect
Date: Wed, 29 Apr 2015 15:00:18 +0200
[Message part 1 (text/plain, inline)]
On 29.04.2015 02:03 PM, Stefan Baur wrote:
> Am 29.04.2015 um 12:37 schrieb Florian Wicke - Hetzner Online AG:
> 
>> yes pulseaudio is started from x2gothinclientd - rdesktop does not 
>> support pulseaudio as audio backend - but you can workaround that
>> with 'padsp' from the pulseaudio-utils package. - you just have to
>> prefix the rdesktop command with padsp like:
> 
>> padsp rdesktop -u <username> -f -r sound:local <address>
> 
>> then pulseaudio redirects the access to /dev/dsp of rdesktop to
>> itself.
> 
> I know of padsp, but it seems there is no way I can just add this call
> somewhere in the config.  This looks like it has to be added to
> x2goclient's source.
> 
> (I can only add additional parameters after the rdesktop/xfreerdp
> call, but nothing in front of it.)
> 
>> xfreerdp should have native pulseaudio-support so it depends on
>> your choice of software. To force xfreerdp to use pulseaudio you
>> could add the parameter '--data tsmf:audio:pulse' to the
>> xfreerdp-command
> 
> So,
> --ignore-certificate --plugin rdpsnd --data tsmf:audio:pulse -d DOMAIN
> -f -u User -p Password Server:3389
> doesn't work, it throws me right back at the login prompt.
> 
> Running it on the command line
> 
> xfreerdp --ignore-certificate --plugin rdpsnd -d DOMAIN -f -u User -p
> Password Server:3389
> 
> (i.e. *without* the parameter you suggested) returns, when pulseaudio
> is loaded:
> 
> loading plugin rdpsnd
> Warning xf_GetWindowProperty (140): Property 484 does not exist
> connected to Server:3389
> freerdp_load_library_symbol: failed to open
> /usr/lib/i386-linux-gnu/freerdp/rdpsnd_pulse.so:
> /usr/lib/i386-linux-gnu/freerdp/rdpsnd_pulse.so: cannot open shared
> object file: No such file or directory
> freerdp_load_plugin: failed to load rdpsnd_pulse/FreeRDPRdpsndDeviceEntry

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=672604

Never made it back to wheezy, though.

Jessie has it:
https://packages.debian.org/jessie/amd64/libfreerdp-plugins-standard/filelist

And should also support the --data tsmf:audio:pulse parameter.



Mihai

[signature.asc (application/pgp-signature, attachment)]

Information forwarded to x2go-dev@lists.x2go.org, X2Go Developers <x2go-dev@lists.x2go.org>:
Bug#861; Package x2gothinclient. (Thu, 30 Apr 2015 03:25:01 GMT) (full text, mbox, link).


Acknowledgement sent to Mike Gabriel <mike.gabriel@das-netzwerkteam.de>:
Extra info received and forwarded to list. Copy sent to X2Go Developers <x2go-dev@lists.x2go.org>. (Thu, 30 Apr 2015 03:25:02 GMT) (full text, mbox, link).


Message #35 received at 861@bugs.x2go.org (full text, mbox, reply):

From: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
To: Mihai Moldovan <ionic@ionic.de>, 861@bugs.x2go.org, Stefan Baur <X2Go-ML-1@baur-itcs.de>
Subject: Re: [X2Go-Dev] Bug#861: Bug#861: No Sound in TCE-RDP-directConnect
Date: Thu, 30 Apr 2015 03:24:35 +0000
[Message part 1 (text/plain, inline)]
Hi Stefan,

On  Mi 29 Apr 2015 15:00:18 CEST, Mihai Moldovan wrote:

> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=672604
>
> Never made it back to wheezy, though.

Yeah... Compiling freerdp against pulseaudio cannot be fixed in wheezy  
anymorere due to Debian policy (note, that I am the current freerdp  
maintainer in Debian).

But you could rebuild freerdp on wheezy and enable pulseaudio support,  
I guess.

Mike


-- 

DAS-NETZWERKTEAM
mike gabriel, herweg 7, 24357 fleckeby
fon: +49 (1520) 1976 148

GnuPG Key ID 0x25771B31
mail: mike.gabriel@das-netzwerkteam.de, http://das-netzwerkteam.de

freeBusy:
https://mail.das-netzwerkteam.de/freebusy/m.gabriel%40das-netzwerkteam.de.xfb
[Message part 2 (application/pgp-signature, inline)]

Send a report that this bug log contains spam.


X2Go Developers <owner@bugs.x2go.org>. Last modified: Fri Mar 29 12:07:57 2024; Machine Name: ymir.das-netzwerkteam.de

X2Go Bug tracking system

Debbugs is free software and licensed under the terms of the GNU Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.