GNU bug report logs - #8689
23.3; Gnus v5.13 freezes upon invocation of default STARTTLS in SMTP in GNU Emacs 23.3.1 (i386-mingw-nt5.1.2600) on Windows XP Professional, Service Pack 3

Previous Next

Packages: emacs, gnus;

Reported by: DekuDekuplex <at> Yahoo.com (Benjamin L. Russell)

Date: Wed, 18 May 2011 01:16:02 UTC

Severity: normal

Found in version 23.3

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

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 8689 in the body.
You can then email your comments to 8689 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 owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org:
bug#8689; Package emacs. (Wed, 18 May 2011 01:16:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to DekuDekuplex <at> Yahoo.com (Benjamin L. Russell):
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Wed, 18 May 2011 01:16:02 GMT) Full text and rfc822 format available.

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

From: DekuDekuplex <at> Yahoo.com (Benjamin L. Russell)
To: bug-gnu-emacs <at> gnu.org
Subject: 23.3;
	Gnus v5.13 freezes upon invocation of default STARTTLS in SMTP in GNU
	Emacs 23.3.1 (i386-mingw-nt5.1.2600) on Windows XP
	Professional, Service Pack 3
Date: Wed, 18 May 2011 10:15:14 +0900
Previously, I had thought that the default STARTTLS configuration file
(C:\emacs\emacs-23.3\lisp\gnus\starttls.el) worked when invoking the
STARTTLS file in sending a message via the SMTP protocol; however,
yesterday I discovered that apparently my GNU Emacs 23.3.1 installation
had been using a modified STARTTLS configuration file from the older GNU
Emacs 23.2.1 version within the same C:\emacs directory when Gnus
started freezing every time in SMTP upon invocation of STARTTLS
immediately after I moved the older versions of Emacs to a different
directory.

The bug itself was partially resolved when I followed the following
steps (modified with the portions in brackets added by myself) by Uday
Reddy on 2010-04-26 on "Question #108267 : Questions : VM" (see
https://answers.launchpad.net/vm/+question/108267) in editing my
C:\emacs\emacs-23.3\lisp\gnus\starttls.el file:

1. Added [immediately before the (defun starttls-negotiate-gnutls ...)
command in my C:\emacs\emacs-23.3\lisp\gnus\starttls.el file]:
(defcustom starttls-kill-program "c:\\cygwin\\bin\\kill"
  "External kill command to send SIGALRM to starttls."
  :group 'starttls)

2. Replaced all three instances of:
(signal-process (process-id process) 'SIGALRM)
with
(call-process starttls-kill-program nil nil nil
                                   "-ALRM" (format "%d" (process-id
                                   process)))

[3. Byte-compiled the modified C:\emacs\emacs-23.3\lisp\gnus\starttls.el
file with the B (i.e., SHIFT-b) command.]

Now Gnus sometimes seems to invoke STARTTLS successfully upon sending a
copy of a post via SMTP without freezing; however, when I first tried to
send this bug report, Gnus again froze upon invocation of STARTTLS in
SMTP again, and I had to unfreeze Gnus with C-g.  This freezing
phenomenon apparently happens, on average, approximately once in every
five SMTP invocation attempts when sending a copy of an NNTP post to
myself via SMTP.

I downloaded my copy of GNU Emacs 23.3.1 from
http://ftp.gnu.org/gnu/windows/emacs/emacs-23.3-bin-i386.zip.

It is extremely inconvenient to have to re-send my SMTP message once in
every few attempts because of a freeze during the STARTTLS protocol.
Here is the corresponding output of my *Messages* buffer:

> Sending...
> Sending via mail...
> Opening STARTTLS connection to `plus.smtp.mail.yahoo.com:587'...done
> Quit

As can be seen in the above, Gnus occasionally freezes immediately after
displaying "Opening STARTTLS connection to
`plus.smtp.mail.yahoo.com:587'...done" in the minibuffer.  Normally, at
this stage, Gnus proceeds to the next step and requests my SMTP
password, but occasionally freezes immediately before this step; when
this happens, the only way to escape is to type C-g.

The following procedure reproduces this bug:

1. Invoke Emacs in Windows XP Professional, Service Pack 3, by
double-clicking on C:\emacs\emacs-23.3\bin\runemacs.exe.

2. Within Emacs, type the following command:

> M-x gnus RET

3. Within Gnus, subscribe (if not already subscribed) to the news.test
newsgroup.

4. Within Gnus, type the following command to post a new message:

> a

5. Compose a test message, with subject, say, "test," and subject body,
say "test."

6. Send the message with the following command:

> C-c C-c

7. Once in approximately every five attempts, Gnus will freeze
immediately after displaying "Opening STARTTLS connection to
`plus.smtp.mail.yahoo.com:587'...done" in the minibuffer.  Normally, at
this stage, Gnus will proceed to the next step and request an SMTP
password (if one is required and not specified in the ~/.authinfo file);
however, Gnus occasionally freezes immediately before then; when this
happens, the only way to escape is to type C-g.


In GNU Emacs 23.3.1 (i386-mingw-nt5.1.2600)
 of 2011-03-10 on 3249CTO
Windowing system distributor `Microsoft Corp.', version 5.1.2600
configured using `configure --with-gcc (4.5) --no-opt --cflags -Ic:/imagesupport/include'

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: JPN
  value of $XMODIFIERS: nil
  locale-coding-system: cp932
  default enable-multibyte-characters: t

Major mode: Message

Minor modes in effect:
  mml-mode: t
  show-paren-mode: t
  recentf-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t
  abbrev-mode: t

Recent input:
r SPC C-e SPC C-d <right> <right> <right> <right> <right> 
<right> <right> <right> <left> v e r s i o n SPC C-e 
SPC C-d C-e SPC C-d C-e SPC <backspace> <up> <up> <up> 
<up> <up> <down> <down> <down> <up> <right> <right> 
<right> <right> <right> <right> <right> <right> <right> 
<right> <right> <right> <right> <right> <right> <right> 
<right> <right> <right> <right> <right> <right> <right> 
<right> <right> <right> <right> <right> <right> <right> 
<right> <right> <right> <right> <right> <right> <right> 
<right> <right> <down> <down> <left> <left> <left> 
<left> <left> <left> <left> <left> <left> <left> <left> 
<left> <left> <left> <left> <left> <left> <left> <left> 
<left> <left> <left> <left> <left> <left> <left> <left> 
<left> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <up> <up> <up> <up> <up> <up> 
<up> <up> <up> <up> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <up> <up> <up> <up> 
<up> <up> <up> <up> <right> <down> <down> <left> <left> 
<left> <left> <left> <left> <left> <left> <backspace> 
<down> <down> <left> <left> <left> <left> <left> <left> 
<backspace> <down> <right> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <up> <left> <left> <left> <left> 
<left> <left> <left> <left> <left> <left> <left> <left> 
<left> <left> <left> <left> <left> <left> . 1 <down> 
<down> <down> <down> <down> C-c C-c y e s <return> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> C-a C-SPC C-v C-v C-v <down> <down> <down> 
<left> <escape> w <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> <menu-bar> <help-menu> 
<send-emacs-bug-report> C-g <escape> < <down> <down> 
<right> <right> <right> <right> <right> <right> <right> 
<right> <right> <right> <right> <right> <right> <right> 
<right> C-SPC C-e <escape> w <help-echo> <help-echo> 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <menu-bar> <help-menu> <send-emacs-bug
-report>

Recent messages:
Auto-saving...done
Auto-saving...done
Sending...
Sending via mail...
Opening STARTTLS connection to `plus.smtp.mail.yahoo.com:587'...done
Quit
Mark set
Saved text from "Previously, I had thought that the defau"
Quit
Mark set [2 times]

Load-path shadows:
None found.

Features:
(apropos help-mode view shadow emacsbug gnus-fun starttls mailalias
smtpmail newcomment nnfolder sort gnus-cite smiley ansi-color mail-extr
gnus-bcklg gnus-async gnus-ml multi-isearch gnus-salt gnus-topic nndoc
parse-time timezone byte-opt bytecomp byte-compile nnml nndraft nnmh
auth-source gnus-agent gnus-srvr gnus-score score-mode nnvirtual
gnus-msg gnus-art mm-uu mml2015 epg-config mm-view smime dig nntp
gnus-cache gnus-sum nnoo gnus-group gnus-undo nnmail mail-source
format-spec gnus-start gnus-spec gnus-int gnus-range message ecomplete
rfc822 mml mml-sec password-cache mm-decode mm-bodies mm-encode mailcap
mail-parse rfc2231 rfc2047 rfc2045 qp ietf-drums mailabbrev gmm-utils
mailheader canlock sha1 hex-util hashcash gnus-win gnus gnus-ems
nnheader gnus-util netrc time-date mail-utils mm-util mail-prsvr eldoc
palette eyedropper derived hexrgb paren advice help-fns advice-preload
color-theme edmacro kmacro sendmail reporter browse-url hippie-exp
comint ring mouse-sel thingatpt recentf tree-widget wid-edit easymenu
dired regexp-opt cl cl-19 japan-util tooltip ediff-hook vc-hooks
lisp-float-type mwheel dos-w32 disp-table ls-lisp w32-win w32-vars
tool-bar dnd fontset image fringe lisp-mode register page menu-bar
rfn-eshadow timer select scroll-bar mldrag mouse jit-lock font-lock
syntax facemenu font-core frame cham georgian utf-8-lang misc-lang
vietnamese tibetan thai tai-viet lao korean japanese hebrew greek
romanian slovak czech european ethiopic indian cyrillic chinese
case-table epa-hook jka-cmpr-hook help simple abbrev loaddefs button
minibuffer faces cus-face files text-properties overlay md5 base64
format env code-pages mule custom widget hashtable-print-readable
backquote make-network-process multi-tty emacs)

-- 
Benjamin L. Russell  /   DekuDekuplex at Yahoo dot com
http://dekudekuplex.wordpress.com/
Translator/Interpreter / Mobile:  +011 81 90-6526-1406
"Furuike ya, kawazu tobikomu mizu no oto." -- Matsuo Basho^




Information forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org, bugs <at> gnus.org:
bug#8689; Package emacs,gnus. (Mon, 30 May 2011 17:56:02 GMT) Full text and rfc822 format available.

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

From: Lars Magne Ingebrigtsen <larsi <at> gnus.org>
To: DekuDekuplex <at> Yahoo.com (Benjamin L. Russell)
Cc: 8689 <at> debbugs.gnu.org
Subject: Re: bug#8689: 23.3; Gnus v5.13 freezes upon invocation of default
	STARTTLS in SMTP in GNU Emacs 23.3.1 (i386-mingw-nt5.1.2600) on Windows
	XP Professional, Service Pack 3
Date: Mon, 30 May 2011 19:11:10 +0200
DekuDekuplex <at> Yahoo.com (Benjamin L. Russell) writes:

> 2. Replaced all three instances of:
> (signal-process (process-id process) 'SIGALRM)
> with
> (call-process starttls-kill-program nil nil nil
>                                    "-ALRM" (format "%d" (process-id
>                                    process)))

Right.

I don't use Windows, so I can't really offer any insights here, but if
you could provide patches to starttls.el to make it work under Windows,
that would be appreciated.

In Emacs 24, though, Emacs will come with built-in gnutls support, and
using starttls.el won't be necessary for most people.

-- 
(domestic pets only, the antidote for overdose, milk.)
  bloggy blog http://lars.ingebrigtsen.no/




Information forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org, bugs <at> gnus.org:
bug#8689; Package emacs,gnus. (Wed, 29 Jun 2011 23:20:03 GMT) Full text and rfc822 format available.

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

From: Lars Magne Ingebrigtsen <larsi <at> gnus.org>
To: DekuDekuplex <at> Yahoo.com (Benjamin L. Russell)
Cc: 8689 <at> debbugs.gnu.org
Subject: Re: bug#8689: 23.3;
	Gnus v5.13 freezes upon invocation of default STARTTLS in SMTP in GNU
	Emacs 23.3.1 (i386-mingw-nt5.1.2600) on Windows XP
	Professional, Service Pack 3
Date: Thu, 30 Jun 2011 01:19:01 +0200
DekuDekuplex <at> Yahoo.com (Benjamin L. Russell) writes:

> Previously, I had thought that the default STARTTLS configuration file
> (C:\emacs\emacs-23.3\lisp\gnus\starttls.el) worked when invoking the
> STARTTLS file in sending a message via the SMTP protocol; however,
> yesterday I discovered that apparently my GNU Emacs 23.3.1 installation
> had been using a modified STARTTLS configuration file from the older GNU
> Emacs 23.2.1 version within the same C:\emacs directory when Gnus
> started freezing every time in SMTP upon invocation of STARTTLS
> immediately after I moved the older versions of Emacs to a different
> directory.

What are the differences between the STARTTLS configuration files in the
two Emacs 23.x versions?

-- 
(domestic pets only, the antidote for overdose, milk.)
  bloggy blog http://lars.ingebrigtsen.no/




Information forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org, bugs <at> gnus.org:
bug#8689; Package emacs,gnus. (Thu, 30 Jun 2011 15:00:03 GMT) Full text and rfc822 format available.

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

From: "Benjamin L. Russell" <dekudekuplex <at> yahoo.com>
To: Lars Magne Ingebrigtsen <larsi <at> gnus.org>
Cc: 8689 <at> debbugs.gnu.org
Subject: Re: bug#8689: 23.3;
	Gnus v5.13 freezes upon invocation of default STARTTLS in SMTP in GNU
	Emacs 23.3.1 (i386-mingw-nt5.1.2600) on Windows XP
	Professional, Service Pack 3
Date: Thu, 30 Jun 2011 07:59:21 -0700 (PDT)
larsi <at> gnus.org (Lars Magne Ingebrigtsen) writes:

> DekuDekuplex <at> Yahoo.com
> (Benjamin L. Russell) writes:
> 
> > Previously, I had thought that the default STARTTLS
> configuration file
> > (C:\emacs\emacs-23.3\lisp\gnus\starttls.el) worked
> when invoking the
> > STARTTLS file in sending a message via the SMTP
> protocol; however,
> > yesterday I discovered that apparently my GNU Emacs
> 23.3.1 installation
> > had been using a modified STARTTLS configuration file
> from the older GNU
> > Emacs 23.2.1 version within the same C:\emacs
> directory when Gnus
> > started freezing every time in SMTP upon invocation of
> STARTTLS
> > immediately after I moved the older versions of Emacs
> to a different
> > directory.
> 
> What are the differences between the STARTTLS configuration
> files in the
> two Emacs 23.x versions?

Let's see:

----- inserted portion begins immediately after this line -----
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\kensyuu>diff C:\emacs\emacs-23.3\lisp\gnus\starttls.el
 "C:\Documents and Settings\kensyuu\My Documents\GNU Emacs\Deprecated Versions\F
rom emacs Top-level Folder\emacs-23.2\lisp\gnus\starttls.el"
cygwin warning:
  MS-DOS style path detected: C:\emacs\emacs-23.3\lisp\gnus\starttls.el
  Preferred POSIX equivalent is: /cygdrive/c/emacs/emacs-23.3/lisp/gnus/starttls
.el
  CYGWIN environment variable option "nodosfilewarning" turns off this warning.
  Consult the user's guide for more details about POSIX paths:
    http://cygwin.com/cygwin-ug-net/using.html#using-pathnames
4c4
< ;;   2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
---
> ;;   2005, 2006, 2007, 2008 Free Software Foundation, Inc.
13c13
< ;; GNU Emacs is free software: you can redistribute it and/or modify
---
> ;; GNU Emacs is free software; you can redistribute it and/or modify
15,16c15,16
< ;; the Free Software Foundation, either version 3 of the License, or
< ;; (at your option) any later version.
---
> ;; the Free Software Foundation; either version 3, or (at your option)
> ;; any later version.
20c20
< ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
---
> ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.        See the
24c24,26
< ;; along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
---
> ;; along with GNU Emacs; see the file COPYING.  If not, write to the
> ;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
> ;; Boston, MA 02110-1301, USA.
199d200
< ;; Added based on a suggestion by Uday Reddy posted on 2010-04-26 at "Question
 #108267 : Questions : VM" (see https://answers.launchpad.net/vm/+question/10826
7) by Benjamin L. Russell on Tuesday, May 17, 2011, at 19:53.
212,213c213
<       ;; Modified based on a suggestion by Uday Reddy posted on 2010-04-26 at
"Question #108267 : Questions : VM" (see https://answers.launchpad.net/vm/+quest
ion/108267) by Benjamin L. Russell on Tuesday, May 17, 2011, at 19:53.
< ;     (signal-process (process-id process) 'SIGALRM)
---
>       ; (signal-process (process-id process) 'SIGALRM)
219,220c219
<         ;; Modified based on a suggestion by Uday Reddy posted on 2010-04-26 a
t "Question #108267 : Questions : VM" (see https://answers.launchpad.net/vm/+que
stion/108267) by Benjamin L. Russell on Tuesday, May 17, 2011, at 19:53.
< ;       (signal-process (process-id process) 'SIGALRM)
---
>         ; (signal-process (process-id process) 'SIGALRM)
245,249c244,246
<     ;; Modified based on a suggestion by Uday Reddy posted on 2010-04-26 at "Q
uestion #108267 : Questions : VM" (see https://answers.launchpad.net/vm/+questio
n/108267) by Benjamin L. Russell on Tuesday, May 17, 2011, at 19:53.
< ;    (signal-process (process-id process) 'SIGALRM)
<     (call-process starttls-kill-program nil nil nil
<                 "-ALRM" (format "%d" (process-id process)))
<   ))
---
>     ; (signal-process (process-id process) 'SIGALRM)))
>       (call-process starttls-kill-program nil nil nil
>                     "-ALRM" (format "%d" (process-id process)))))
259c256
<   (message "Opening STARTTLS connection to `%s:%s'..." host port)
---
>   (message "Opening STARTTLS connection to `%s'..." host)
284,285c281,282
<     (message "Opening STARTTLS connection to `%s:%s'...%s"
<            host port (if done "done" "failed"))
---
>     (message "Opening STARTTLS connection to `%s'...%s"
>            host (if done "done" "failed"))
305d301
<     (message "Opening STARTTLS connection to `%s:%s'" host (format "%s" port))

314,326d309
< (defun starttls-any-program-available ()
<   (let ((program (if starttls-use-gnutls
<                    starttls-gnutls-program
<                  starttls-program)))
<     (condition-case ()
<       (progn
<         (call-process program)
<         program)
<       (error (progn
<              (message "No STARTTLS program was available (tried '%s')"
<                       program)
<              nil)))))
<
329,330c312,313
< ;; arch-tag: 648b3bd8-63bd-47f5-904c-7c819aea2297
< ;;; starttls.el ends here
---
> ;;; arch-tag: 648b3bd8-63bd-47f5-904c-7c819aea2297
> ;;; starttls.el ends here
\ No newline at end of file
----- inserted portion ends immediately before this line -----

-- Benjamin L. Russell

--- On Thu, 6/30/11, Lars Magne Ingebrigtsen <larsi <at> gnus.org> wrote:

> From: Lars Magne Ingebrigtsen <larsi <at> gnus.org>
> Subject: Re: bug#8689: 23.3; Gnus v5.13 freezes upon invocation of default STARTTLS in SMTP in GNU Emacs 23.3.1 (i386-mingw-nt5.1.2600) on Windows XP Professional, Service Pack 3
> To: "Benjamin L. Russell" <DekuDekuplex <at> Yahoo.com>
> Cc: 8689 <at> debbugs.gnu.org
> Date: Thursday, June 30, 2011, 8:19 AM
> DekuDekuplex <at> Yahoo.com
> (Benjamin L. Russell) writes:
> 
> > Previously, I had thought that the default STARTTLS
> configuration file
> > (C:\emacs\emacs-23.3\lisp\gnus\starttls.el) worked
> when invoking the
> > STARTTLS file in sending a message via the SMTP
> protocol; however,
> > yesterday I discovered that apparently my GNU Emacs
> 23.3.1 installation
> > had been using a modified STARTTLS configuration file
> from the older GNU
> > Emacs 23.2.1 version within the same C:\emacs
> directory when Gnus
> > started freezing every time in SMTP upon invocation of
> STARTTLS
> > immediately after I moved the older versions of Emacs
> to a different
> > directory.
> 
> What are the differences between the STARTTLS configuration
> files in the
> two Emacs 23.x versions?
> 
> -- 
> (domestic pets only, the antidote for overdose, milk.)
>   bloggy blog http://lars.ingebrigtsen.no/
>




Information forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org:
bug#8689; Package emacs,gnus. (Thu, 30 Jun 2011 16:42:02 GMT) Full text and rfc822 format available.

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

From: Lars Magne Ingebrigtsen <larsi <at> gnus.org>
To: "Benjamin L. Russell" <dekudekuplex <at> yahoo.com>
Cc: 8689 <at> debbugs.gnu.org, bugs <at> gnus.org
Subject: Re: bug#8689: 23.3;
	Gnus v5.13 freezes upon invocation of default STARTTLS in SMTP in GNU
	Emacs 23.3.1 (i386-mingw-nt5.1.2600) on Windows XP
	Professional, Service Pack 3
Date: Thu, 30 Jun 2011 18:40:46 +0200
"Benjamin L. Russell" <dekudekuplex <at> yahoo.com> writes:

>> What are the differences between the STARTTLS configuration
>> files in the
>> two Emacs 23.x versions?
>
> Let's see:
>
> ----- inserted portion begins immediately after this line -----
> Microsoft Windows XP [Version 5.1.2600]
> (C) Copyright 1985-2001 Microsoft Corp.
>
> C:\Documents and Settings\kensyuu>diff C:\emacs\emacs-23.3\lisp\gnus\starttls.el
>  "C:\Documents and Settings\kensyuu\My Documents\GNU Emacs\Deprecated Versions\F
> rom emacs Top-level Folder\emacs-23.2\lisp\gnus\starttls.el"

Could you run

diff --unified <old-version> <new-version>

instead?  That will produce a more readable output.

-- 
(domestic pets only, the antidote for overdose, milk.)
  bloggy blog http://lars.ingebrigtsen.no/




Information forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org, bugs <at> gnus.org:
bug#8689; Package emacs,gnus. (Thu, 30 Jun 2011 17:52:02 GMT) Full text and rfc822 format available.

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

From: "Benjamin L. Russell" <dekudekuplex <at> yahoo.com>
To: bugs <at> gnus.org
Cc: 8689 <at> debbugs.gnu.org, bugs <at> gnus.org
Subject: Re: bug#8689: 23.3;
	Gnus v5.13 freezes upon invocation of default STARTTLS in SMTP in GNU
	Emacs 23.3.1 (i386-mingw-nt5.1.2600) on Windows XP
	Professional, Service Pack 3
Date: Thu, 30 Jun 2011 10:51:01 -0700 (PDT)
On Fri, 7/1/11, Lars Magne Ingebrigtsen <larsi <at> gnus.org> wrote:

> Could you run
> 
> diff --unified <old-version> <new-version>
> 
> instead?  That will produce a more readable output.

----- output begins immediately after this line -----
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\kensyuu>diff --unified C:\emacs\emacs-23.3\lisp\gnus\s
tarttls.el "C:\Documents and Settings\kensyuu\My Documents\GNU Emacs\Deprecated
Versions\From emacs Top-level Folder\emacs-23.2\lisp\gnus\starttls.el"
cygwin warning:
  MS-DOS style path detected: C:\emacs\emacs-23.3\lisp\gnus\starttls.el
  Preferred POSIX equivalent is: /cygdrive/c/emacs/emacs-23.3/lisp/gnus/starttls
.el
  CYGWIN environment variable option "nodosfilewarning" turns off this warning.
  Consult the user's guide for more details about POSIX paths:
    http://cygwin.com/cygwin-ug-net/using.html#using-pathnames
--- C:\emacs\emacs-23.3\lisp\gnus\starttls.el   2011-05-17 19:53:57.296875000 +0
900
+++ C:\Documents and Settings\kensyuu\My Documents\GNU Emacs\Deprecated Versions
\From emacs Top-level Folder\emacs-23.2\lisp\gnus\starttls.el   2011-05-14 12:00
:08.875000000 +0900
@@ -1,7 +1,7 @@
 ;;; starttls.el --- STARTTLS functions

 ;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
-;;   2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+;;   2005, 2006, 2007, 2008 Free Software Foundation, Inc.

 ;; Author: Daiki Ueno <ueno <at> unixuser.org>
 ;; Author: Simon Josefsson <simon <at> josefsson.org>
@@ -10,18 +10,20 @@

 ;; This file is part of GNU Emacs.

-;; GNU Emacs is free software: you can redistribute it and/or modify
+;; GNU Emacs is free software; you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
+;; the Free Software Foundation; either version 3, or (at your option)
+;; any later version.

 ;; GNU Emacs is distributed in the hope that it will be useful,
 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.         See the
 ;; GNU General Public License for more details.

 ;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
+;; along with GNU Emacs; see the file COPYING.  If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.

 ;;; Commentary:

@@ -196,7 +198,6 @@
   :type 'regexp
   :group 'starttls)

-;; Added based on a suggestion by Uday Reddy posted on 2010-04-26 at "Question
#108267 : Questions : VM" (see https://answers.launchpad.net/vm/+question/108267
) by Benjamin L. Russell on Tuesday, May 17, 2011, at 19:53.
 (defcustom starttls-kill-program "c:\\cygwin\\bin\\kill"
   "External kill command to send SIGALRM to starttls."
   :group 'starttls)
@@ -209,15 +210,13 @@
   (let (buffer info old-max done-ok done-bad)
     (if (null (setq buffer (process-buffer process)))
        ;; XXX How to remove/extract the TLS negotiation junk?
-       ;; Modified based on a suggestion by Uday Reddy posted on 2010-04-26 at
"Question #108267 : Questions : VM" (see https://answers.launchpad.net/vm/+quest
ion/108267) by Benjamin L. Russell on Tuesday, May 17, 2011, at 19:53.
-;      (signal-process (process-id process) 'SIGALRM)
+       ; (signal-process (process-id process) 'SIGALRM)
        (call-process starttls-kill-program nil nil nil
                      "-ALRM" (format "%d" (process-id process)))
       (with-current-buffer buffer
        (save-excursion
          (setq old-max (goto-char (point-max)))
-         ;; Modified based on a suggestion by Uday Reddy posted on 2010-04-26 a
t "Question #108267 : Questions : VM" (see https://answers.launchpad.net/vm/+que
stion/108267) by Benjamin L. Russell on Tuesday, May 17, 2011, at 19:53.
-;        (signal-process (process-id process) 'SIGALRM)
+         ; (signal-process (process-id process) 'SIGALRM)
          (call-process starttls-kill-program nil nil nil
                        "-ALRM" (format "%d" (process-id process)))
          (while (and (processp process)
@@ -242,11 +241,9 @@
 (defun starttls-negotiate (process)
   (if starttls-use-gnutls
       (starttls-negotiate-gnutls process)
-    ;; Modified based on a suggestion by Uday Reddy posted on 2010-04-26 at "Qu
estion #108267 : Questions : VM" (see https://answers.launchpad.net/vm/+question
/108267) by Benjamin L. Russell on Tuesday, May 17, 2011, at 19:53.
-;    (signal-process (process-id process) 'SIGALRM)
-    (call-process starttls-kill-program nil nil nil
-                 "-ALRM" (format "%d" (process-id process)))
-  ))
+    ; (signal-process (process-id process) 'SIGALRM)))
+       (call-process starttls-kill-program nil nil nil
+                     "-ALRM" (format "%d" (process-id process)))))

 (eval-and-compile
   (if (fboundp 'set-process-query-on-exit-flag)
@@ -256,7 +253,7 @@
       'process-kill-without-query)))

 (defun starttls-open-stream-gnutls (name buffer host port)
-  (message "Opening STARTTLS connection to `%s:%s'..." host port)
+  (message "Opening STARTTLS connection to `%s'..." host)
   (let* (done
         (old-max (with-current-buffer buffer (point-max)))
         (process-connection-type starttls-process-connection-type)
@@ -281,8 +278,8 @@
          (delete-region old-max done))
       (delete-process process)
       (setq process nil))
-    (message "Opening STARTTLS connection to `%s:%s'...%s"
-            host port (if done "done" "failed"))
+    (message "Opening STARTTLS connection to `%s'...%s"
+            host (if done "done" "failed"))
     process))

 (defun starttls-open-stream (name buffer host port)
@@ -302,7 +299,6 @@
 GNUTLS requires a port number."
   (if starttls-use-gnutls
       (starttls-open-stream-gnutls name buffer host port)
-    (message "Opening STARTTLS connection to `%s:%s'" host (format "%s" port))
     (let* ((process-connection-type starttls-process-connection-type)
           (process (apply #'start-process
                           name buffer starttls-program
@@ -311,20 +307,7 @@
       (starttls-set-process-query-on-exit-flag process nil)
       process)))

-(defun starttls-any-program-available ()
-  (let ((program (if starttls-use-gnutls
-                    starttls-gnutls-program
-                  starttls-program)))
-    (condition-case ()
-       (progn
-         (call-process program)
-         program)
-      (error (progn
-              (message "No STARTTLS program was available (tried '%s')"
-                       program)
-              nil)))))
-
 (provide 'starttls)

-;; arch-tag: 648b3bd8-63bd-47f5-904c-7c819aea2297
-;;; starttls.el ends here
+;;; arch-tag: 648b3bd8-63bd-47f5-904c-7c819aea2297
+;;; starttls.el ends here
\ No newline at end of file
----- output ends immediately before this line -----

-- Benjamin L. Russell

--- On Fri, 7/1/11, Lars Magne Ingebrigtsen <larsi <at> gnus.org> wrote:

> From: Lars Magne Ingebrigtsen <larsi <at> gnus.org>
> Subject: Re: bug#8689: 23.3; Gnus v5.13 freezes upon invocation of default STARTTLS in SMTP in GNU Emacs 23.3.1 (i386-mingw-nt5.1.2600) on Windows XP Professional, Service Pack 3
> To: "Benjamin L. Russell" <dekudekuplex <at> yahoo.com>
> Cc: bugs <at> gnus.org, 8689 <at> debbugs.gnu.org
> Date: Friday, July 1, 2011, 1:40 AM
> "Benjamin L. Russell" <dekudekuplex <at> yahoo.com>
> writes:
> 
> >> What are the differences between the STARTTLS
> configuration
> >> files in the
> >> two Emacs 23.x versions?
> >
> > Let's see:
> >
> > ----- inserted portion begins immediately after this
> line -----
> > Microsoft Windows XP [Version 5.1.2600]
> > (C) Copyright 1985-2001 Microsoft Corp.
> >
> > C:\Documents and Settings\kensyuu>diff
> C:\emacs\emacs-23.3\lisp\gnus\starttls.el
> >  "C:\Documents and Settings\kensyuu\My
> Documents\GNU Emacs\Deprecated Versions\F
> > rom emacs Top-level
> Folder\emacs-23.2\lisp\gnus\starttls.el"
> 
> Could you run
> 
> diff --unified <old-version> <new-version>
> 
> instead?  That will produce a more readable output.
> 
> -- 
> (domestic pets only, the antidote for overdose, milk.)
>   bloggy blog http://lars.ingebrigtsen.no/
>




Information forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org, bugs <at> gnus.org:
bug#8689; Package emacs,gnus. (Thu, 30 Jun 2011 18:56:02 GMT) Full text and rfc822 format available.

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

From: Lars Magne Ingebrigtsen <lmi <at> gnus.org>
To: "Benjamin L. Russell" <dekudekuplex <at> yahoo.com>
Cc: 8689 <at> debbugs.gnu.org
Subject: Re: bug#8689: 23.3;
	Gnus v5.13 freezes upon invocation of default STARTTLS in SMTP in GNU
	Emacs 23.3.1 (i386-mingw-nt5.1.2600) on Windows XP
	Professional, Service Pack 3
Date: Thu, 30 Jun 2011 20:52:59 +0200
"Benjamin L. Russell" <dekudekuplex <at> yahoo.com> writes:

>> diff --unified <old-version> <new-version>
>> 
>> instead?  That will produce a more readable output.

Hm.  The only changes I see are in indentation and (message) calls.  Are
you sure the one works and the other one doesn't work?

-- 
(domestic pets only, the antidote for overdose, milk.)
  bloggy blog http://lars.ingebrigtsen.no/




Information forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org, bugs <at> gnus.org:
bug#8689; Package emacs,gnus. (Thu, 30 Jun 2011 20:10:03 GMT) Full text and rfc822 format available.

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

From: "Benjamin L. Russell" <dekudekuplex <at> yahoo.com>
To: Lars Magne Ingebrigtsen <lmi <at> gnus.org>
Cc: 8689 <at> debbugs.gnu.org
Subject: Re: bug#8689: 23.3;
	Gnus v5.13 freezes upon invocation of default STARTTLS in SMTP in GNU
	Emacs 23.3.1 (i386-mingw-nt5.1.2600) on Windows XP
	Professional, Service Pack 3
Date: Thu, 30 Jun 2011 13:09:50 -0700 (PDT)
On Fri, 7/1/11, Lars Magne Ingebrigtsen <lmi <at> gnus.org> wrote:

> On Fri, 7/1/11, Lars Magne Ingebrigtsen <larsi <at> gnus.org> wrote:

> > Could you run
> >
> > diff --unified <old-version> <new-version>
> >
> > instead?  That will produce a more readable output.

> ----- output begins immediately after this line -----
> Microsoft Windows XP [Version 5.1.2600]
> (C) Copyright 1985-2001 Microsoft Corp.

> C:\Documents and Settings\kensyuu>diff --unified C:\emacs\emacs-23.3\lisp\gnus\s
> tarttls.el "C:\Documents and Settings\kensyuu\My Documents\GNU Emacs\Deprecated
> Versions\From emacs Top-level Folder\emacs-23.2\lisp\gnus\starttls.el"
> cygwin warning:
>   MS-DOS style path detected: C:\emacs\emacs-23.3\lisp\gnus\starttls.el
>   Preferred POSIX equivalent is: /cygdrive/c/emacs/emacs-23.3/lisp/gnus/starttls
> .el
>   CYGWIN environment variable option "nodosfilewarning" turns off this warning.
>   Consult the user's guide for more details about POSIX paths:
>     http://cygwin.com/cygwin-ug-net/using.html#using-pathnames
> --- C:\emacs\emacs-23.3\lisp\gnus\starttls.el   2011-05-17 19:53:57.296875000 +0
> 900
> +++ C:\Documents and Settings\kensyuu\My Documents\GNU Emacs\Deprecated Versions
> \From emacs Top-level Folder\emacs-23.2\lisp\gnus\starttls.el   2011-05-14 12:00
> :08.875000000 +0900
> @@ -1,7 +1,7 @@
> ;;; starttls.el --- STARTTLS functions

> ;; Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
> -;;   2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
> +;;   2005, 2006, 2007, 2008 Free Software Foundation, Inc.

> ;; Author: Daiki Ueno <ueno <at> unixuser.org>
> ;; Author: Simon Josefsson <simon <at> josefsson.org>
> @@ -10,18 +10,20 @@

> ;; This file is part of GNU Emacs.

> -;; GNU Emacs is free software: you can redistribute it and/or modify
> +;; GNU Emacs is free software; you can redistribute it and/or modify
> ;; it under the terms of the GNU General Public License as published by
> -;; the Free Software Foundation, either version 3 of the License, or
> -;; (at your option) any later version.
> +;; the Free Software Foundation; either version 3, or (at your option)
> +;; any later version.

> ;; GNU Emacs is distributed in the hope that it will be useful,
> ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
> -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.         See the
> ;; GNU General Public License for more details.

> ;; You should have received a copy of the GNU General Public License
> -;; along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
> +;; along with GNU Emacs; see the file COPYING.  If not, write to the
> +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
> +;; Boston, MA 02110-1301, USA.

> ;;; Commentary:

> @@ -196,7 +198,6 @@
>    :type 'regexp
>    :group 'starttls)

> -;; Added based on a suggestion by Uday Reddy posted on 2010-04-26 at "Question
> #108267 : Questions : VM" (see https://answers.launchpad.net/vm/+question/108267
> ) by Benjamin L. Russell on Tuesday, May 17, 2011, at 19:53.
> (defcustom starttls-kill-program "c:\\cygwin\\bin\\kill"
>    "External kill command to send SIGALRM to starttls."
>    :group 'starttls)
> @@ -209,15 +210,13 @@
>    (let (buffer info old-max done-ok done-bad)
>      (if (null (setq buffer (process-buffer process)))
>         ;; XXX How to remove/extract the TLS negotiation junk?
> -       ;; Modified based on a suggestion by Uday Reddy posted on 2010-04-26 at
> "Question #108267 : Questions : VM" (see https://answers.launchpad.net/vm/+quest
> ion/108267) by Benjamin L. Russell on Tuesday, May 17, 2011, at 19:53.
> -;      (signal-process (process-id process) 'SIGALRM)
> +       ; (signal-process (process-id process) 'SIGALRM)
>         (call-process starttls-kill-program nil nil nil
>                       "-ALRM" (format "%d" (process-id process)))
>        (with-current-buffer buffer
>         (save-excursion
>           (setq old-max (goto-char (point-max)))
> -         ;; Modified based on a suggestion by Uday Reddy posted on 2010-04-26 a
> t "Question #108267 : Questions : VM" (see https://answers.launchpad.net/vm/+que
> stion/108267) by Benjamin L. Russell on Tuesday, May 17, 2011, at 19:53.
> -;        (signal-process (process-id process) 'SIGALRM)
> +         ; (signal-process (process-id process) 'SIGALRM)
>           (call-process starttls-kill-program nil nil nil
>                         "-ALRM" (format "%d" (process-id process)))
>           (while (and (processp process)
> @@ -242,11 +241,9 @@
> (defun starttls-negotiate (process)
>    (if starttls-use-gnutls
>        (starttls-negotiate-gnutls process)
> -    ;; Modified based on a suggestion by Uday Reddy posted on 2010-04-26 at "Qu
> estion #108267 : Questions : VM" (see https://answers.launchpad.net/vm/+question
> /108267) by Benjamin L. Russell on Tuesday, May 17, 2011, at 19:53.
> -;    (signal-process (process-id process) 'SIGALRM)
> -    (call-process starttls-kill-program nil nil nil
> -                 "-ALRM" (format "%d" (process-id process)))
> -  ))
> +    ; (signal-process (process-id process) 'SIGALRM)))
> +       (call-process starttls-kill-program nil nil nil
> +                     "-ALRM" (format "%d" (process-id process)))))

> (eval-and-compile
>    (if (fboundp 'set-process-query-on-exit-flag)
> @@ -256,7 +253,7 @@
>        'process-kill-without-query)))

> (defun starttls-open-stream-gnutls (name buffer host port)
> -  (message "Opening STARTTLS connection to `%s:%s'..." host port)
> +  (message "Opening STARTTLS connection to `%s'..." host)
>    (let* (done
>          (old-max (with-current-buffer buffer (point-max)))
>          (process-connection-type starttls-process-connection-type)
> @@ -281,8 +278,8 @@
>           (delete-region old-max done))
>        (delete-process process)
>        (setq process nil))
> -    (message "Opening STARTTLS connection to `%s:%s'...%s"
> -            host port (if done "done" "failed"))
> +    (message "Opening STARTTLS connection to `%s'...%s"
> +            host (if done "done" "failed"))
>      process))

> (defun starttls-open-stream (name buffer host port)
> @@ -302,7 +299,6 @@
> GNUTLS requires a port number."
>    (if starttls-use-gnutls
>        (starttls-open-stream-gnutls name buffer host port)
> -    (message "Opening STARTTLS connection to `%s:%s'" host (format "%s" port))
>      (let* ((process-connection-type starttls-process-connection-type)
>            (process (apply #'start-process
>                            name buffer starttls-program
> @@ -311,20 +307,7 @@
>        (starttls-set-process-query-on-exit-flag process nil)
>        process)))

> -(defun starttls-any-program-available ()
> -  (let ((program (if starttls-use-gnutls
> -                    starttls-gnutls-program
> -                  starttls-program)))
> -    (condition-case ()
> -       (progn
> -         (call-process program)
> -         program)
> -      (error (progn
> -              (message "No STARTTLS program was available (tried '%s')"
> -                       program)
> -              nil)))))
> -
> (provide 'starttls)

> -;; arch-tag: 648b3bd8-63bd-47f5-904c-7c819aea2297
> -;;; starttls.el ends here
> +;;; arch-tag: 648b3bd8-63bd-47f5-904c-7c819aea2297
> +;;; starttls.el ends here
> \ No newline at end of file
> ----- output ends immediately before this line -----

> >> diff --unified <old-version>
> <new-version>
> >> 
> >> instead?  That will produce a more readable
> output.
> 
> Hm.  The only changes I see are in indentation and
> (message) calls.  Are
> you sure the one works and the other one doesn't work?

As far as I remember, neither my deprecated version nor the updated version worked perfectly, but the deprecated version hung more often when invoking the STARTTLS protocol.

-- Benjamin L. Russell




Information forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org, bugs <at> gnus.org:
bug#8689; Package emacs,gnus. (Thu, 30 Jun 2011 20:14:02 GMT) Full text and rfc822 format available.

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

From: Lars Magne Ingebrigtsen <larsi <at> gnus.org>
To: "Benjamin L. Russell" <dekudekuplex <at> yahoo.com>
Cc: 8689 <at> debbugs.gnu.org
Subject: Re: bug#8689: 23.3;
	Gnus v5.13 freezes upon invocation of default STARTTLS in SMTP in GNU
	Emacs 23.3.1 (i386-mingw-nt5.1.2600) on Windows XP
	Professional, Service Pack 3
Date: Thu, 30 Jun 2011 22:12:43 +0200
"Benjamin L. Russell" <dekudekuplex <at> yahoo.com> writes:

> As far as I remember, neither my deprecated version nor the updated
> version worked perfectly, but the deprecated version hung more often
> when invoking the STARTTLS protocol.

Seems odd, but it might have been a timing issue.

Anyway, I'm afraid I can't help you any further with this.  I don't use
Emacs on Windows, so I can't really debug this.

-- 
(domestic pets only, the antidote for overdose, milk.)
  bloggy blog http://lars.ingebrigtsen.no/




Information forwarded to bug-gnu-emacs <at> gnu.org, bugs <at> gnus.org:
bug#8689; Package emacs,gnus. (Sat, 06 Jul 2013 18:18:01 GMT) Full text and rfc822 format available.

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

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: "Benjamin L. Russell" <dekudekuplex <at> yahoo.com>
Cc: 8689 <at> debbugs.gnu.org
Subject: Re: bug#8689: 23.3;
 Gnus v5.13 freezes upon invocation of default STARTTLS in SMTP in GNU
 Emacs 23.3.1 (i386-mingw-nt5.1.2600) on Windows XP Professional, Service Pack
 3
Date: Sat, 06 Jul 2013 20:17:25 +0200
Lars Magne Ingebrigtsen <larsi <at> gnus.org> writes:

> Anyway, I'm afraid I can't help you any further with this.  I don't use
> Emacs on Windows, so I can't really debug this.

It's been two year, and Emacs under Windows now has built-in gnutls
support, so I'm closing this report.

-- 
(domestic pets only, the antidote for overdose, milk.)
  bloggy blog http://lars.ingebrigtsen.no/




bug closed, send any further explanations to 8689 <at> debbugs.gnu.org and DekuDekuplex <at> Yahoo.com (Benjamin L. Russell) Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Sat, 06 Jul 2013 18:18:02 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sun, 04 Aug 2013 11:24:05 GMT) Full text and rfc822 format available.

This bug report was last modified 12 years and 37 days ago.

Previous Next


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