GNU bug report logs - #61024
29.0.60; [PATCH] Eshell errors out when trying to redirect output of a remote process

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: emacs; Reported by: Jim Porter <jporterbugs@HIDDEN>; Keywords: patch; dated Mon, 23 Jan 2023 07:09:02 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.

Message received at 61024 <at> debbugs.gnu.org:


Received: (at 61024) by debbugs.gnu.org; 23 Jan 2023 13:21:49 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Jan 23 08:21:49 2023
Received: from localhost ([127.0.0.1]:53642 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pJwlg-0006dr-Pb
	for submit <at> debbugs.gnu.org; Mon, 23 Jan 2023 08:21:49 -0500
Received: from eggs.gnu.org ([209.51.188.92]:45804)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1pJwle-0006df-SB
 for 61024 <at> debbugs.gnu.org; Mon, 23 Jan 2023 08:21:47 -0500
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1pJwlZ-0007c4-DY; Mon, 23 Jan 2023 08:21:41 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=emOjWVpke8XNqZsnmmNc1hIfoGK+I+arYS8OP9EHoXQ=; b=BjGPA7vLm6Lw
 lyFRL5r24kmLxizpcp8uQoLZRtHGtCc+1dPuyRq+j8BIHiiMQ9n3YhEuFC8QnTuuJ3jKUt3JGpIIV
 /XR4WnGSCj44RMD6/Brd93onNYpFfUo0BGvwZaomohNch++yXjXE+5JV1U7KSVhL8xDMSxIXxDdmo
 JQ8cPFqGogpLnnbXM12IBE/E6Hj++XfADgh00ONRm5UETwNhNgXYtC3ksDI2jgSRPPYbcD+vKNkvt
 SKweHujEfwKQGlM/70qiYcBGARq6joiIvbXi/JuBRlCG3DqhXoi2Iw6gRQqtQ7Cir0vCS8FjeOYY9
 yuLcZALgoI7IEi2xokLsug==;
Received: from [87.69.77.57] (helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1pJwlY-0003De-TP; Mon, 23 Jan 2023 08:21:41 -0500
Date: Mon, 23 Jan 2023 15:21:49 +0200
Message-Id: <83wn5didxu.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Jim Porter <jporterbugs@HIDDEN>
In-Reply-To: <230f0e06-f47a-6a0d-93de-222ca16f7213@HIDDEN> (message from
 Jim Porter on Sun, 22 Jan 2023 23:07:58 -0800)
Subject: Re: bug#61024: 29.0.60;
 [PATCH] Eshell errors out when trying to redirect output of a remote
 process
References: <230f0e06-f47a-6a0d-93de-222ca16f7213@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 61024
Cc: 61024 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> Date: Sun, 22 Jan 2023 23:07:58 -0800
> From: Jim Porter <jporterbugs@HIDDEN>
> 
>    ~ $ cd /sudo::
>    /sudo:root@host:~ # *echo hi there > #<foo>
>    Wrong type argument: "bufferp echo-stderr"
> 
> (Any other Tramp method should reproduce this issue.) That's because the 
> echo command is being redirected to two places: stdout is going to the 
> buffer "foo", and stderr is going to the Eshell buffer (via a pipe 
> process). However, that doesn't work for Tramp processes.
> 
> Attached is a fix with a test. I think this should definitely go in 
> Emacs 29, since it's a pretty bad regression.

Fine by me, unless Michael objects or has better ideas.

> I'm actually surprised no one has filed a bug on this already.

Maybe it tells us how many people use this combination?




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#61024; Package emacs. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 23 Jan 2023 07:08:06 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Jan 23 02:08:06 2023
Received: from localhost ([127.0.0.1]:53161 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pJqw1-0002bl-PX
	for submit <at> debbugs.gnu.org; Mon, 23 Jan 2023 02:08:06 -0500
Received: from lists.gnu.org ([209.51.188.17]:39728)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <jporterbugs@HIDDEN>) id 1pJqvy-0002bc-My
 for submit <at> debbugs.gnu.org; Mon, 23 Jan 2023 02:08:04 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <jporterbugs@HIDDEN>)
 id 1pJqvy-0007z9-G6
 for bug-gnu-emacs@HIDDEN; Mon, 23 Jan 2023 02:08:02 -0500
Received: from mail-pf1-x42a.google.com ([2607:f8b0:4864:20::42a])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <jporterbugs@HIDDEN>)
 id 1pJqvw-0002wr-S0
 for bug-gnu-emacs@HIDDEN; Mon, 23 Jan 2023 02:08:02 -0500
Received: by mail-pf1-x42a.google.com with SMTP id x4so8085960pfj.1
 for <bug-gnu-emacs@HIDDEN>; Sun, 22 Jan 2023 23:08:00 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;
 h=to:subject:from:content-language:mime-version:date:message-id:from
 :to:cc:subject:date:message-id:reply-to;
 bh=H04qXuqWAKSjAtzCBBnc+Wz5Mlh6wRe6pl6GY7C+myo=;
 b=FYmL9BRcCB/uYRSBd57kHGWRjh2Tsa6d+IVa1TNyxzvGUJepsSPaw8wUyWtg8rq7QS
 hmVam14zT2stkV19cUvhsVN8KisKvCgtYiy0rNhnWGususPytJNCp6BPK5ZDRWIMwNW/
 0SWY5nGh/tEM1ztRIM3B1YJyRvimhtvcFaAsI798Rc7S7bz1diMNnQt2qUDw6T4Y0uui
 8fjwWrMKA5NPxcc+HeQA6bYsxGftne1cXwSlL5UsIKMDXuj0pb2ja8vQiaH9JKcDOCQ0
 EpgRBFtwDLmTzaJjFxYA1nzCZtyWSnRhih6IvL62COAOtd0XXgmMTr/u3Vt1fRuOJ0UR
 RRHw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112;
 h=to:subject:from:content-language:mime-version:date:message-id
 :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
 bh=H04qXuqWAKSjAtzCBBnc+Wz5Mlh6wRe6pl6GY7C+myo=;
 b=MmnLbI99SxaOFxXtxfO315ckzOe1sdj/fZ0Frn2jrUMPj7jwrvzgZ5bVjoKzqqy75K
 bjYmwykbxhl7nnvMdtnDTilDh4mpjFe3uvjAg+5aXJX+BKH3PmBQIcRRw3aPLuryblZV
 dLruZ2aEyg7Qn29Szogo1RumnfMmkvv4SCJ/vpg6pAoAgQTD/LitMdjE4LtXw0vTptD5
 P3dNSiGlFvO13+V3mHHzXHggyQS0ocK91O9TCQi8d2HpN9jgr+6GpoQySfHimKTvr/6x
 m3VSKtHfJchzBqwbLtaqDEOTXTshKVDtYaxDgY/ITeudgHcG402P/GBSJXu3UgKUMH5D
 trzQ==
X-Gm-Message-State: AFqh2kqFzSUzmTitr+q93w5LUK6bw2N++jJXD/tGSlyWvOVxnIY+Ij5F
 SzyxB3EQf91s70hvOwSRwQ5m07ZRK7zIcA==
X-Google-Smtp-Source: AMrXdXvZmK2h63q/NYt/4i+f51AZBwqLSiEAWp8kPIRLUuva2SCdstlS9f1HPkU8vA6L2fAHzx+HXA==
X-Received: by 2002:aa7:9892:0:b0:583:4126:a09 with SMTP id
 r18-20020aa79892000000b0058341260a09mr23444568pfl.21.1674457679242; 
 Sun, 22 Jan 2023 23:07:59 -0800 (PST)
Received: from [192.168.1.2] (cpe-76-168-148-233.socal.res.rr.com.
 [76.168.148.233]) by smtp.googlemail.com with ESMTPSA id
 e30-20020a056a0000de00b0058d54960eccsm15650575pfj.151.2023.01.22.23.07.58
 for <bug-gnu-emacs@HIDDEN>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sun, 22 Jan 2023 23:07:58 -0800 (PST)
Content-Type: multipart/mixed; boundary="------------AYKUWkCBVEsDuyOisI0R6Yay"
Message-ID: <230f0e06-f47a-6a0d-93de-222ca16f7213@HIDDEN>
Date: Sun, 22 Jan 2023 23:07:58 -0800
MIME-Version: 1.0
X-Mozilla-News-Host: news://news.gmane.io:119
Content-Language: en-US
From: Jim Porter <jporterbugs@HIDDEN>
Subject: 29.0.60; [PATCH] Eshell errors out when trying to redirect output of
 a remote process
To: bug-gnu-emacs@HIDDEN
Received-SPF: pass client-ip=2607:f8b0:4864:20::42a;
 envelope-from=jporterbugs@HIDDEN; helo=mail-pf1-x42a.google.com
X-Spam_score_int: -20
X-Spam_score: -2.1
X-Spam_bar: --
X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001,
 RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -1.3 (-)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.3 (--)

This is a multi-part message in MIME format.
--------------AYKUWkCBVEsDuyOisI0R6Yay
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

To see this in action, run "emacs -Q -f eshell" and then:

   ~ $ cd /sudo::
   /sudo:root@host:~ # *echo hi there > #<foo>
   Wrong type argument: "bufferp echo-stderr"

(Any other Tramp method should reproduce this issue.) That's because the 
echo command is being redirected to two places: stdout is going to the 
buffer "foo", and stderr is going to the Eshell buffer (via a pipe 
process). However, that doesn't work for Tramp processes.

Attached is a fix with a test. I think this should definitely go in 
Emacs 29, since it's a pretty bad regression. I'm actually surprised no 
one has filed a bug on this already.

For tracking purposes, I believe this was broken by f07505d1ec (bug#21605).

For Emacs 30, it'd be interesting to see if there were a way to get 
Tramp processes to have different targets for stdout and stderr. That'd 
make them work a lot more like local processes in Eshell.
--------------AYKUWkCBVEsDuyOisI0R6Yay
Content-Type: text/plain; charset=UTF-8;
 name="0001-Don-t-try-to-make-a-pipe-process-for-remote-processe.patch"
Content-Disposition: attachment;
 filename*0="0001-Don-t-try-to-make-a-pipe-process-for-remote-processe.pa";
 filename*1="tch"
Content-Transfer-Encoding: base64

RnJvbSA2OGZlYmNmOWY1ZTU5OTkzOTFlMmVjN2E4YmI4ZjU0NWI5N2VkN2ZlIE1vbiBTZXAg
MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j
b20+CkRhdGU6IFN1biwgMjIgSmFuIDIwMjMgMjI6NTQ6NTMgLTA4MDAKU3ViamVjdDogW1BB
VENIXSBEb24ndCB0cnkgdG8gbWFrZSBhIHBpcGUgcHJvY2VzcyBmb3IgcmVtb3RlIHByb2Nl
c3NlcyBpbgogRXNoZWxsCgpUcmFtcCBjdXJyZW50bHkgaXNuJ3QgYWJsZSB0byBoYW5kbGUg
dGhpcywgc28gdGhlIHJlc3VsdCB3aWxsIGp1c3QKcHJvZHVjZSBhbiBlcnJvci4KCiogbGlz
cC9lc2hlbGwvZXNoLXByb2MuZWwgKGVzaGVsbC1nYXRoZXItcHJvY2Vzcy1vdXRwdXQpOiBD
aGVjayBmb3IgYQpyZW1vdGUgJ2RlZmF1bHQtZGlyZWN0b3J5JyBiZWZvcmUgdHJ5aW5nIHRv
IG1ha2UgYSBwaXBlIHByb2Nlc3MuCgoqIHRlc3QvbGlzcC9lc2hlbGwvZXNoLXByb2MtdGVz
dHMuZWwKKGVzaC12YXItdGVzdC9vdXRwdXQvcmVtb3RlLXJlZGlyZWN0KTogTmV3IHRlc3Qu
Ci0tLQogbGlzcC9lc2hlbGwvZXNoLXByb2MuZWwgICAgICAgICAgICB8ICA5ICsrKysrKyst
LQogdGVzdC9saXNwL2VzaGVsbC9lc2gtcHJvYy10ZXN0cy5lbCB8IDEzICsrKysrKysrKysr
KysKIDIgZmlsZXMgY2hhbmdlZCwgMjAgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkK
CmRpZmYgLS1naXQgYS9saXNwL2VzaGVsbC9lc2gtcHJvYy5lbCBiL2xpc3AvZXNoZWxsL2Vz
aC1wcm9jLmVsCmluZGV4IDliYWU4MTJjOTIyLi4yN2NkNTIxZTgyZSAxMDA2NDQKLS0tIGEv
bGlzcC9lc2hlbGwvZXNoLXByb2MuZWwKKysrIGIvbGlzcC9lc2hlbGwvZXNoLXByb2MuZWwK
QEAgLTI5Niw4ICsyOTYsMTMgQEAgZXNoZWxsLWdhdGhlci1wcm9jZXNzLW91dHB1dAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndW5p
eCkpKSkKICAgICAoY29uZAogICAgICAoKGZib3VuZHAgJ21ha2UtcHJvY2VzcykKLSAgICAg
ICh1bmxlc3MgKGVxdWFsIChjYXIgKGFyZWYgZXNoZWxsLWN1cnJlbnQtaGFuZGxlcyBlc2hl
bGwtb3V0cHV0LWhhbmRsZSkpCi0gICAgICAgICAgICAgICAgICAgICAoY2FyIChhcmVmIGVz
aGVsbC1jdXJyZW50LWhhbmRsZXMgZXNoZWxsLWVycm9yLWhhbmRsZSkpKQorICAgICAgKHVu
bGVzcyAob3IgOzsgRklYTUU6IEl0J3Mgbm90IGN1cnJlbnRseSBwb3NzaWJsZSB0byB1c2Ug
YQorICAgICAgICAgICAgICAgICAgOzsgc3RkZXJyIHByb2Nlc3MgZm9yIHJlbW90ZSBmaWxl
cy4KKyAgICAgICAgICAgICAgICAgIChmaWxlLXJlbW90ZS1wIGRlZmF1bHQtZGlyZWN0b3J5
KQorICAgICAgICAgICAgICAgICAgKGVxdWFsIChjYXIgKGFyZWYgZXNoZWxsLWN1cnJlbnQt
aGFuZGxlcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXNoZWxsLW91
dHB1dC1oYW5kbGUpKQorICAgICAgICAgICAgICAgICAgICAgICAgIChjYXIgKGFyZWYgZXNo
ZWxsLWN1cnJlbnQtaGFuZGxlcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZXNoZWxsLWVycm9yLWhhbmRsZSkpKSkKICAgICAgICAgKGVzaGVsbC1wcm90ZWN0LWhh
bmRsZXMgZXNoZWxsLWN1cnJlbnQtaGFuZGxlcykKICAgICAgICAgKHNldHEgc3RkZXJyLXBy
b2MKICAgICAgICAgICAgICAgKG1ha2UtcGlwZS1wcm9jZXNzCmRpZmYgLS1naXQgYS90ZXN0
L2xpc3AvZXNoZWxsL2VzaC1wcm9jLXRlc3RzLmVsIGIvdGVzdC9saXNwL2VzaGVsbC9lc2gt
cHJvYy10ZXN0cy5lbAppbmRleCBhZTdiMWRkZGQ2OS4uOGUwMmZiYjU0OTcgMTAwNjQ0Ci0t
LSBhL3Rlc3QvbGlzcC9lc2hlbGwvZXNoLXByb2MtdGVzdHMuZWwKKysrIGIvdGVzdC9saXNw
L2VzaGVsbC9lc2gtcHJvYy10ZXN0cy5lbApAQCAtMTksNiArMTksNyBAQAogCiA7OzsgQ29k
ZToKIAorKHJlcXVpcmUgJ3RyYW1wKQogKHJlcXVpcmUgJ2VydCkKIChyZXF1aXJlICdlc2gt
bW9kZSkKIChyZXF1aXJlICdlc2hlbGwpCkBAIC04NSw2ICs4NiwxOCBAQCBlc2gtcHJvYy10
ZXN0L291dHB1dC9zdGRvdXQtYW5kLXN0ZGVyci10by1idWZmZXIKICAgICAgICJcXGBcXCci
KSkKICAgICAoc2hvdWxkIChlcXVhbCAoYnVmZmVyLXN0cmluZykgInN0ZG91dFxuc3RkZXJy
XG4iKSkpKQogCisoZXJ0LWRlZnRlc3QgZXNoLXZhci10ZXN0L291dHB1dC9yZW1vdGUtcmVk
aXJlY3QgKCkKKyAgIkNoZWNrIHRoYXQgcmVkaXJlY3Rpbmcgc3Rkb3V0IGZvciBhIHJlbW90
ZSBwcm9jZXNzIHdvcmtzLiIKKyAgKHNraXAtdW5sZXNzIChhbmQgKGVzaGVsbC10ZXN0cy1y
ZW1vdGUtYWNjZXNzaWJsZS1wKQorICAgICAgICAgICAgICAgICAgICAoZXhlY3V0YWJsZS1m
aW5kICJlY2hvIikpKQorICAobGV0ICgoZGVmYXVsdC1kaXJlY3RvcnkgZXJ0LXJlbW90ZS10
ZW1wb3JhcnktZmlsZS1kaXJlY3RvcnkpKQorICAgIChlc2hlbGwtd2l0aC10ZW1wLWJ1ZmZl
ciBidWZuYW1lICJvbGQiCisgICAgICAod2l0aC10ZW1wLWVzaGVsbAorICAgICAgIChlc2hl
bGwtbWF0Y2gtY29tbWFuZC1vdXRwdXQKKyAgICAgICAgKGZvcm1hdCAiKmVjaG8gaGVsbG8g
PiAjPCVzPiIgYnVmbmFtZSkKKyAgICAgICAgIlxcYFxcJyIpKQorICAgICAgKHNob3VsZCAo
ZXF1YWwgKGJ1ZmZlci1zdHJpbmcpICJoZWxsb1xuIikpKSkpCisKIAwKIDs7IEV4aXQgc3Rh
dHVzCiAKLS0gCjIuMjUuMQoK

--------------AYKUWkCBVEsDuyOisI0R6Yay--




Acknowledgement sent to Jim Porter <jporterbugs@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs@HIDDEN. Full text available.
Report forwarded to bug-gnu-emacs@HIDDEN:
bug#61024; Package emacs. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Mon, 23 Jan 2023 13:30:01 UTC

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