GNU bug report logs - #29906
27.0.50; Emacs prompts for passwords in GUI dialog instead of minibuffer

Previous Next

Package: emacs;

Reported by: nljlistbox2 <at> gmail.com (N. Jackson)

Date: Sat, 30 Dec 2017 02:13:02 UTC

Severity: minor

Tags: notabug

Found in version 27.0.50

Done: Stefan Kangas <stefan <at> marxist.se>

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 29906 in the body.
You can then email your comments to 29906 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-gnu-emacs <at> gnu.org:
bug#29906; Package emacs. (Sat, 30 Dec 2017 02:13:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to nljlistbox2 <at> gmail.com (N. Jackson):
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Sat, 30 Dec 2017 02:13:02 GMT) Full text and rfc822 format available.

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

From: nljlistbox2 <at> gmail.com (N. Jackson)
To: bug-gnu-emacs <at> gnu.org
Subject: 27.0.50;
 Emacs prompts for passwords in GUI dialog instead of minibuffer
Date: Fri, 29 Dec 2017 21:11:44 -0500
When I start Gnus with `M-x gnus' I get prompted for my password
(for my authinfo.gpg file) in a GUI dialog box. Expected
behaviour: The prompt is in the minibuffer.

Similarly, when I open a .gpg file with `C-x C-f' I am being
presented with a GUI dialog instead of a prompt in the minibuffer.

In general I expect to see prompts in the minibuffer unless I
interact with Emacs with the mouse, through the menus or toolbar.

This behaviour is new since I last used master a few months ago.


In GNU Emacs 27.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.22.21)
 of 2017-12-29 built on moondust.localdomain
Repository revision: ace8f2ed4d6ea49d179333f8e7455e5208417da7
Windowing system distributor 'Fedora Project', version 11.0.11903000
System Description:	Fedora release 26 (Twenty Six)

Recent messages:
20171229T205917.388> Opening nnfolder server...
20171229T205917.389> Opening nnfolder server...done
20171229T205917.390> Reading incoming mail from file...
20171229T205917.391> nnfolder: Reading incoming mail (no new mail)...done
20171229T205917.391> Reading active file via nnfolder...
20171229T205917.391> Reading active file via nnfolder...done
20171229T205917.391> Reading active file via nndraft...
20171229T205917.392> Reading active file via nndraft...
20171229T205917.393> Reading active file via nndraft...done
20171229T205917.393> Checking new news...done

Configured using:
 'configure --without-pop 'CFLAGS=-O2 -g3 -gdwarf-4''

Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND DBUS GSETTINGS NOTIFY ACL
LIBSELINUX GNUTLS LIBXML2 FREETYPE LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS
GTK3 X11 LCMS2

Important settings:
  value of $LANG: en_CA.UTF-8
  value of $XMODIFIERS: @im=none
  locale-coding-system: utf-8-unix

Major mode: Group

Minor modes in effect:
  hl-line-mode: t
  diff-auto-refine-mode: t
  pdf-occur-global-minor-mode: t
  gnus-undo-mode: t
  shell-dirtrack-mode: t
  recentf-mode: t
  display-battery-mode: t
  display-time-mode: t
  show-paren-mode: t
  savehist-mode: t
  save-place-mode: t
  electric-pair-mode: t
  desktop-save-mode: t
  delete-selection-mode: t
  cua-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  temp-buffer-resize-mode: t
  buffer-read-only: t
  size-indication-mode: t
  column-number-mode: t
  line-number-mode: t
  global-visual-line-mode: t
  visual-line-mode: t
  transient-mark-mode: t

Load-path shadows:
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/org-contacts hides ~/.emacs.d/modules/org-contacts
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/org-habit hides /data/projects/vc/emacs/git/emacs/lisp/org/org-habit
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ob-python hides /data/projects/vc/emacs/git/emacs/lisp/org/ob-python
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ob-clojure hides /data/projects/vc/emacs/git/emacs/lisp/org/ob-clojure
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ox-md hides /data/projects/vc/emacs/git/emacs/lisp/org/ox-md
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/org-macs hides /data/projects/vc/emacs/git/emacs/lisp/org/org-macs
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ob-groovy hides /data/projects/vc/emacs/git/emacs/lisp/org/ob-groovy
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ox-odt hides /data/projects/vc/emacs/git/emacs/lisp/org/ox-odt
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ox-texinfo hides /data/projects/vc/emacs/git/emacs/lisp/org/ox-texinfo
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/org-protocol hides /data/projects/vc/emacs/git/emacs/lisp/org/org-protocol
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ob-io hides /data/projects/vc/emacs/git/emacs/lisp/org/ob-io
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/org-list hides /data/projects/vc/emacs/git/emacs/lisp/org/org-list
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ob-scheme hides /data/projects/vc/emacs/git/emacs/lisp/org/ob-scheme
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ob hides /data/projects/vc/emacs/git/emacs/lisp/org/ob
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/org-docview hides /data/projects/vc/emacs/git/emacs/lisp/org/org-docview
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ob-latex hides /data/projects/vc/emacs/git/emacs/lisp/org/ob-latex
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ox-html hides /data/projects/vc/emacs/git/emacs/lisp/org/ox-html
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/org-ctags hides /data/projects/vc/emacs/git/emacs/lisp/org/org-ctags
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/org-src hides /data/projects/vc/emacs/git/emacs/lisp/org/org-src
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ob-octave hides /data/projects/vc/emacs/git/emacs/lisp/org/ob-octave
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/org-w3m hides /data/projects/vc/emacs/git/emacs/lisp/org/org-w3m
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/org-bibtex hides /data/projects/vc/emacs/git/emacs/lisp/org/org-bibtex
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/org-eww hides /data/projects/vc/emacs/git/emacs/lisp/org/org-eww
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/org-info hides /data/projects/vc/emacs/git/emacs/lisp/org/org-info
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ob-processing hides /data/projects/vc/emacs/git/emacs/lisp/org/ob-processing
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ox-beamer hides /data/projects/vc/emacs/git/emacs/lisp/org/ox-beamer
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ob-maxima hides /data/projects/vc/emacs/git/emacs/lisp/org/ob-maxima
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/org-table hides /data/projects/vc/emacs/git/emacs/lisp/org/org-table
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ob-R hides /data/projects/vc/emacs/git/emacs/lisp/org/ob-R
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ox-publish hides /data/projects/vc/emacs/git/emacs/lisp/org/ox-publish
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ob-mscgen hides /data/projects/vc/emacs/git/emacs/lisp/org/ob-mscgen
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ob-keys hides /data/projects/vc/emacs/git/emacs/lisp/org/ob-keys
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ob-css hides /data/projects/vc/emacs/git/emacs/lisp/org/ob-css
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ob-haskell hides /data/projects/vc/emacs/git/emacs/lisp/org/ob-haskell
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ob-picolisp hides /data/projects/vc/emacs/git/emacs/lisp/org/ob-picolisp
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/org-timer hides /data/projects/vc/emacs/git/emacs/lisp/org/org-timer
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/org-feed hides /data/projects/vc/emacs/git/emacs/lisp/org/org-feed
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ob-emacs-lisp hides /data/projects/vc/emacs/git/emacs/lisp/org/ob-emacs-lisp
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ob-coq hides /data/projects/vc/emacs/git/emacs/lisp/org/ob-coq
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ob-J hides /data/projects/vc/emacs/git/emacs/lisp/org/ob-J
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/org-mhe hides /data/projects/vc/emacs/git/emacs/lisp/org/org-mhe
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ob-exp hides /data/projects/vc/emacs/git/emacs/lisp/org/ob-exp
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/org-rmail hides /data/projects/vc/emacs/git/emacs/lisp/org/org-rmail
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/org-attach hides /data/projects/vc/emacs/git/emacs/lisp/org/org-attach
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ob-lilypond hides /data/projects/vc/emacs/git/emacs/lisp/org/ob-lilypond
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/org-version hides /data/projects/vc/emacs/git/emacs/lisp/org/org-version
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ob-makefile hides /data/projects/vc/emacs/git/emacs/lisp/org/ob-makefile
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ob-sql hides /data/projects/vc/emacs/git/emacs/lisp/org/ob-sql
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ob-lob hides /data/projects/vc/emacs/git/emacs/lisp/org/ob-lob
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ob-abc hides /data/projects/vc/emacs/git/emacs/lisp/org/ob-abc
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ob-java hides /data/projects/vc/emacs/git/emacs/lisp/org/ob-java
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ob-shell hides /data/projects/vc/emacs/git/emacs/lisp/org/ob-shell
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/org-loaddefs hides /data/projects/vc/emacs/git/emacs/lisp/org/org-loaddefs
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/org-element hides /data/projects/vc/emacs/git/emacs/lisp/org/org-element
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ob-ebnf hides /data/projects/vc/emacs/git/emacs/lisp/org/ob-ebnf
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/org-id hides /data/projects/vc/emacs/git/emacs/lisp/org/org-id
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/org-crypt hides /data/projects/vc/emacs/git/emacs/lisp/org/org-crypt
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/org hides /data/projects/vc/emacs/git/emacs/lisp/org/org
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/org-plot hides /data/projects/vc/emacs/git/emacs/lisp/org/org-plot
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ob-ruby hides /data/projects/vc/emacs/git/emacs/lisp/org/ob-ruby
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ob-matlab hides /data/projects/vc/emacs/git/emacs/lisp/org/ob-matlab
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ob-lua hides /data/projects/vc/emacs/git/emacs/lisp/org/ob-lua
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ob-ditaa hides /data/projects/vc/emacs/git/emacs/lisp/org/ob-ditaa
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/org-irc hides /data/projects/vc/emacs/git/emacs/lisp/org/org-irc
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/org-gnus hides /data/projects/vc/emacs/git/emacs/lisp/org/org-gnus
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ob-C hides /data/projects/vc/emacs/git/emacs/lisp/org/ob-C
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ob-vala hides /data/projects/vc/emacs/git/emacs/lisp/org/ob-vala
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/org-lint hides /data/projects/vc/emacs/git/emacs/lisp/org/org-lint
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ob-comint hides /data/projects/vc/emacs/git/emacs/lisp/org/ob-comint
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/org-colview hides /data/projects/vc/emacs/git/emacs/lisp/org/org-colview
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ob-tangle hides /data/projects/vc/emacs/git/emacs/lisp/org/ob-tangle
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ob-hledger hides /data/projects/vc/emacs/git/emacs/lisp/org/ob-hledger
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ob-dot hides /data/projects/vc/emacs/git/emacs/lisp/org/ob-dot
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/org-mobile hides /data/projects/vc/emacs/git/emacs/lisp/org/org-mobile
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/org-duration hides /data/projects/vc/emacs/git/emacs/lisp/org/org-duration
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/org-eshell hides /data/projects/vc/emacs/git/emacs/lisp/org/org-eshell
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ob-sass hides /data/projects/vc/emacs/git/emacs/lisp/org/ob-sass
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ob-gnuplot hides /data/projects/vc/emacs/git/emacs/lisp/org/ob-gnuplot
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ox-icalendar hides /data/projects/vc/emacs/git/emacs/lisp/org/ox-icalendar
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ox-man hides /data/projects/vc/emacs/git/emacs/lisp/org/ox-man
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/org-capture hides /data/projects/vc/emacs/git/emacs/lisp/org/org-capture
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ob-plantuml hides /data/projects/vc/emacs/git/emacs/lisp/org/ob-plantuml
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/org-footnote hides /data/projects/vc/emacs/git/emacs/lisp/org/org-footnote
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ob-sed hides /data/projects/vc/emacs/git/emacs/lisp/org/ob-sed
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/org-clock hides /data/projects/vc/emacs/git/emacs/lisp/org/org-clock
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ob-js hides /data/projects/vc/emacs/git/emacs/lisp/org/ob-js
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ox-latex hides /data/projects/vc/emacs/git/emacs/lisp/org/ox-latex
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ox-ascii hides /data/projects/vc/emacs/git/emacs/lisp/org/ox-ascii
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ob-ref hides /data/projects/vc/emacs/git/emacs/lisp/org/ob-ref
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ob-stan hides /data/projects/vc/emacs/git/emacs/lisp/org/ob-stan
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ob-ocaml hides /data/projects/vc/emacs/git/emacs/lisp/org/ob-ocaml
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/org-agenda hides /data/projects/vc/emacs/git/emacs/lisp/org/org-agenda
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/org-indent hides /data/projects/vc/emacs/git/emacs/lisp/org/org-indent
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ob-core hides /data/projects/vc/emacs/git/emacs/lisp/org/ob-core
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/org-pcomplete hides /data/projects/vc/emacs/git/emacs/lisp/org/org-pcomplete
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/org-datetree hides /data/projects/vc/emacs/git/emacs/lisp/org/org-datetree
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ob-ledger hides /data/projects/vc/emacs/git/emacs/lisp/org/ob-ledger
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ob-shen hides /data/projects/vc/emacs/git/emacs/lisp/org/ob-shen
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/org-entities hides /data/projects/vc/emacs/git/emacs/lisp/org/org-entities
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/org-macro hides /data/projects/vc/emacs/git/emacs/lisp/org/org-macro
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ob-forth hides /data/projects/vc/emacs/git/emacs/lisp/org/ob-forth
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/org-mouse hides /data/projects/vc/emacs/git/emacs/lisp/org/org-mouse
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ob-sqlite hides /data/projects/vc/emacs/git/emacs/lisp/org/ob-sqlite
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ox-org hides /data/projects/vc/emacs/git/emacs/lisp/org/ox-org
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ob-screen hides /data/projects/vc/emacs/git/emacs/lisp/org/ob-screen
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ob-asymptote hides /data/projects/vc/emacs/git/emacs/lisp/org/ob-asymptote
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ob-eval hides /data/projects/vc/emacs/git/emacs/lisp/org/ob-eval
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/org-archive hides /data/projects/vc/emacs/git/emacs/lisp/org/org-archive
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ox hides /data/projects/vc/emacs/git/emacs/lisp/org/ox
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ob-org hides /data/projects/vc/emacs/git/emacs/lisp/org/ob-org
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ob-perl hides /data/projects/vc/emacs/git/emacs/lisp/org/ob-perl
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/org-faces hides /data/projects/vc/emacs/git/emacs/lisp/org/org-faces
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/org-bbdb hides /data/projects/vc/emacs/git/emacs/lisp/org/org-bbdb
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/org-compat hides /data/projects/vc/emacs/git/emacs/lisp/org/org-compat
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ob-lisp hides /data/projects/vc/emacs/git/emacs/lisp/org/ob-lisp
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/org-install hides /data/projects/vc/emacs/git/emacs/lisp/org/org-install
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ob-awk hides /data/projects/vc/emacs/git/emacs/lisp/org/ob-awk
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ob-calc hides /data/projects/vc/emacs/git/emacs/lisp/org/ob-calc
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/org-inlinetask hides /data/projects/vc/emacs/git/emacs/lisp/org/org-inlinetask
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ob-table hides /data/projects/vc/emacs/git/emacs/lisp/org/ob-table
/home/nlj/.emacs.d/elpa/org-plus-contrib-20171211/ob-fortran hides /data/projects/vc/emacs/git/emacs/lisp/org/ob-fortran

Features:
(shadow sort bbdb-message emacsbug sendmail gnus-async qp mail-extr
gnus-ml disp-table hl-line utf-7 nndraft nnmh nnfolder nnagent nnml
network-stream nsm starttls bbdb-gnus bbdb-mua nnnil gnus-agent
gnus-srvr gnus-score score-mode nnvirtual gnus-msg nntp gnus-cache
cl-extra help-mode dired-aux vc-git diff-mode cc-mode cc-fonts cc-guess
cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs map
epa-file flyspell ispell pdf-occur ibuf-ext ibuffer ibuffer-loaddefs
tablist tablist-filter semantic/wisent/comp semantic/wisent
semantic/wisent/wisent semantic/util-modes semantic/util semantic
semantic/tag semantic/lex semantic/fw mode-local cedet pdf-isearch
let-alist pdf-misc imenu pdf-tools compile cus-edit pdf-view bookmark pp
pdf-cache pdf-info tq pdf-util org-contacts org-capture gnus-art mm-uu
mml2015 mm-view mml-smime smime dig mailcap org-duration org-eldoc
org-w3m org-rmail org-mhe org-irc org-info org-habit org-gnus nnir
gnus-sum gnus-group gnus-undo gnus-start gnus-cloud nnimap nnmail
mail-source tls gnutls utf7 netrc nnoo parse-time gnus-spec gnus-int
gnus-range message rmc puny rfc822 mml mml-sec epa derived epg mm-decode
mm-bodies mm-encode mail-parse rfc2231 gmm-utils mailheader gnus-win
gnus nnheader gnus-util rmail rmail-loaddefs rfc2047 rfc2045 ietf-drums
mail-utils mm-util mail-prsvr org-docview doc-view jka-compr image-mode
dired-x dired dired-loaddefs org-bibtex bibtex org-bbdb org-agenda
org-element avl-tree generator org advice org-macro org-footnote
org-pcomplete org-list org-faces org-entities noutline outline
easy-mmode org-version ob-shell shell pcomplete ob-R ob-python
ob-plantuml ob-org ob-gnuplot ob-ditaa ob-calc calc-store calc-trail
calc-ext calc calc-loaddefs calc-macs ob-awk ob-dot ob-maxima ob-latex
ob-emacs-lisp ob ob-tangle org-src ob-ref ob-lob ob-table ob-keys ob-exp
ob-comint comint ansi-color ring ob-core ob-eval org-compat org-macs
org-loaddefs format-spec find-func bbdb-anniv diary-lib diary-loaddefs
cal-menu calendar cal-loaddefs bbdb-com crm mailabbrev bbdb bbdb-site
timezone bbdb-loaddefs finder-inf tex-site info package epg-config
url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs
eieio-loaddefs password-cache url-vars ido seq byte-opt gv bytecomp
byte-compile cconv edmacro kmacro recentf tree-widget wid-edit easymenu
battery time wheatgrass-theme paren savehist saveplace elec-pair desktop
frameset cl-loaddefs cl-lib delsel cua-base cus-start cus-load time-date
mule-util tooltip eldoc electric uniquify ediff-hook vc-hooks
lisp-float-type mwheel term/x-win x-win term/common-win x-dnd tool-bar
dnd fontset image regexp-opt fringe tabulated-list replace newcomment
text-mode elisp-mode lisp-mode prog-mode register page menu-bar
rfn-eshadow isearch timer select scroll-bar mouse jit-lock font-lock
syntax facemenu font-core term/tty-colors frame cl-generic cham georgian
utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean
japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european
ethiopic indian cyrillic chinese composite charscript charprop
case-table epa-hook jka-cmpr-hook help simple abbrev obarray minibuffer
cl-preloaded nadvice loaddefs button faces cus-face macroexp files
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget hashtable-print-readable backquote dbusbind inotify lcms2
dynamic-setting system-font-setting font-render-setting move-toolbar gtk
x-toolkit x multi-tty make-network-process emacs)

Memory information:
((conses 16 770378 369825)
 (symbols 48 78791 155)
 (miscs 40 23378 8810)
 (strings 32 236029 10080)
 (string-bytes 1 10192927)
 (vectors 16 63693)
 (vector-slots 8 1103844 27812)
 (floats 8 468 1010)
 (intervals 56 39016 46414)
 (buffers 992 68))




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#29906; Package emacs. (Sat, 30 Dec 2017 08:20:01 GMT) Full text and rfc822 format available.

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

From: Eli Zaretskii <eliz <at> gnu.org>
To: nljlistbox2 <at> gmail.com (N. Jackson)
Cc: 29906 <at> debbugs.gnu.org
Subject: Re: bug#29906: 27.0.50;
 Emacs prompts for passwords in GUI dialog instead of minibuffer
Date: Sat, 30 Dec 2017 10:19:33 +0200
> From: nljlistbox2 <at> gmail.com (N. Jackson)
> Date: Fri, 29 Dec 2017 21:11:44 -0500
> 
> When I start Gnus with `M-x gnus' I get prompted for my password
> (for my authinfo.gpg file) in a GUI dialog box. Expected
> behaviour: The prompt is in the minibuffer.
> 
> Similarly, when I open a .gpg file with `C-x C-f' I am being
> presented with a GUI dialog instead of a prompt in the minibuffer.
> 
> In general I expect to see prompts in the minibuffer unless I
> interact with Emacs with the mouse, through the menus or toolbar.
> 
> This behaviour is new since I last used master a few months ago.

Does this NEWS.26 entry help?

  ** The pinentry.el library has been removed.
  That package (and the corresponding change in GnuPG and pinentry)
  was intended to provide a way to input passphrase through Emacs with
  GnuPG 2.0.  However, the change to support that was only implemented
  in GnuPG >= 2.1 and didn't get backported to GnuPG 2.0.  And with
  GnuPG 2.1 and later, pinentry.el is not needed at all.  So the
  library was useless, and we removed it.  GnuPG 2.0 is no longer
  supported by the upstream project.

  To adapt to the change, you may need to set 'epa-pinentry-mode' to the
  symbol 'loopback'.

What version of GnuPG do you have on that system?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#29906; Package emacs. (Sat, 30 Dec 2017 15:55:02 GMT) Full text and rfc822 format available.

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

From: nljlistbox2 <at> gmail.com (N. Jackson)
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 29906 <at> debbugs.gnu.org
Subject: Re: bug#29906: 27.0.50;
 Emacs prompts for passwords in GUI dialog instead of minibuffer
Date: Sat, 30 Dec 2017 10:54:31 -0500
At 10:19 +0200 on Saturday 2017-12-30, Eli Zaretskii wrote:
>
> Does this NEWS.26 entry help?
>
>   ** The pinentry.el library has been removed.
>   That package (and the corresponding change in GnuPG and pinentry)
>   was intended to provide a way to input passphrase through Emacs with
>   GnuPG 2.0.  However, the change to support that was only implemented
>   in GnuPG >= 2.1 and didn't get backported to GnuPG 2.0.  And with
>   GnuPG 2.1 and later, pinentry.el is not needed at all.  So the
>   library was useless, and we removed it.  GnuPG 2.0 is no longer
>   supported by the upstream project.
>
>   To adapt to the change, you may need to set 'epa-pinentry-mode' to the
>   symbol 'loopback'.

Yes, that does help, thank you. I should have checked the news.

It doesn't help me decide what to do though. Do you know if using
the prompt in the minibuffer (using `loopback') is thought to be
less secure than using the external pinentry program?

> What version of GnuPG do you have on that system?

Here `gpg' is GnuPG 1.4.22 and `gpg2' is GnuPG 2.2.3.

N.





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#29906; Package emacs. (Sat, 30 Dec 2017 18:04:03 GMT) Full text and rfc822 format available.

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

From: Eli Zaretskii <eliz <at> gnu.org>
To: nljlistbox2 <at> gmail.com (N. Jackson), Daiki Ueno <ueno <at> gnu.org>
Cc: 29906 <at> debbugs.gnu.org
Subject: Re: bug#29906: 27.0.50;
 Emacs prompts for passwords in GUI dialog instead of minibuffer
Date: Sat, 30 Dec 2017 20:02:33 +0200
> From: nljlistbox2 <at> gmail.com (N. Jackson)
> Cc: 29906 <at> debbugs.gnu.org
> Date: Sat, 30 Dec 2017 10:54:31 -0500
> 
> At 10:19 +0200 on Saturday 2017-12-30, Eli Zaretskii wrote:
> >
> > Does this NEWS.26 entry help?
> >
> >   ** The pinentry.el library has been removed.
> >   That package (and the corresponding change in GnuPG and pinentry)
> >   was intended to provide a way to input passphrase through Emacs with
> >   GnuPG 2.0.  However, the change to support that was only implemented
> >   in GnuPG >= 2.1 and didn't get backported to GnuPG 2.0.  And with
> >   GnuPG 2.1 and later, pinentry.el is not needed at all.  So the
> >   library was useless, and we removed it.  GnuPG 2.0 is no longer
> >   supported by the upstream project.
> >
> >   To adapt to the change, you may need to set 'epa-pinentry-mode' to the
> >   symbol 'loopback'.
> 
> Yes, that does help, thank you. I should have checked the news.
> 
> It doesn't help me decide what to do though. Do you know if using
> the prompt in the minibuffer (using `loopback') is thought to be
> less secure than using the external pinentry program?

I don't know enough about this to tell.  Daiki, any inputs?

> > What version of GnuPG do you have on that system?
> 
> Here `gpg' is GnuPG 1.4.22 and `gpg2' is GnuPG 2.2.3.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#29906; Package emacs. (Sat, 30 Dec 2017 20:14:01 GMT) Full text and rfc822 format available.

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

From: Daiki Ueno <ueno <at> gnu.org>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: "N. Jackson" <nljlistbox2 <at> gmail.com>, 29906 <at> debbugs.gnu.org
Subject: Re: bug#29906: 27.0.50;
 Emacs prompts for passwords in GUI dialog instead of minibuffer
Date: Sat, 30 Dec 2017 21:13:04 +0100
Eli Zaretskii <eliz <at> gnu.org> writes:

>> From: nljlistbox2 <at> gmail.com (N. Jackson)
>> Cc: 29906 <at> debbugs.gnu.org
>> Date: Sat, 30 Dec 2017 10:54:31 -0500
>> 
>> At 10:19 +0200 on Saturday 2017-12-30, Eli Zaretskii wrote:
>> >
>> > Does this NEWS.26 entry help?
>> >
>> >   ** The pinentry.el library has been removed.
>> >   That package (and the corresponding change in GnuPG and pinentry)
>> >   was intended to provide a way to input passphrase through Emacs with
>> >   GnuPG 2.0.  However, the change to support that was only implemented
>> >   in GnuPG >= 2.1 and didn't get backported to GnuPG 2.0.  And with
>> >   GnuPG 2.1 and later, pinentry.el is not needed at all.  So the
>> >   library was useless, and we removed it.  GnuPG 2.0 is no longer
>> >   supported by the upstream project.
>> >
>> >   To adapt to the change, you may need to set 'epa-pinentry-mode' to the
>> >   symbol 'loopback'.

I wasn't aware of this entry.  Would it really make sense, given that
pinentry.el was a new library introduced in Emacs 26?

>> Yes, that does help, thank you. I should have checked the news.
>> 
>> It doesn't help me decide what to do though. Do you know if using
>> the prompt in the minibuffer (using `loopback') is thought to be
>> less secure than using the external pinentry program?
>
> I don't know enough about this to tell.  Daiki, any inputs?

I would say it's provides the same level of security as pinentry-gtk,
which no longer uses secmem these days.

It's unfortunate that one of the GnuPG contributors (who currently seems
inactive) had advertised that it was less secure, based on his Emacs 19
knowledge:
https://dev.gnupg.org/T2034#89059

Sigh.  I am really disapponted with the recent development of GnuPG
(failed attempt of standardization, immature implementation of TOFU, FUD
like this, etc).

Regards,
-- 
Daiki Ueno




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#29906; Package emacs. (Sat, 30 Dec 2017 20:55:02 GMT) Full text and rfc822 format available.

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

From: Eli Zaretskii <eliz <at> gnu.org>
To: Daiki Ueno <ueno <at> gnu.org>
Cc: nljlistbox2 <at> gmail.com, 29906 <at> debbugs.gnu.org
Subject: Re: bug#29906: 27.0.50;
 Emacs prompts for passwords in GUI dialog instead of minibuffer
Date: Sat, 30 Dec 2017 22:53:45 +0200
> From: Daiki Ueno <ueno <at> gnu.org>
> Cc: nljlistbox2 <at> gmail.com (N. Jackson),  29906 <at> debbugs.gnu.org
> Date: Sat, 30 Dec 2017 21:13:04 +0100
> 
> >> >   ** The pinentry.el library has been removed.
> >> >   That package (and the corresponding change in GnuPG and pinentry)
> >> >   was intended to provide a way to input passphrase through Emacs with
> >> >   GnuPG 2.0.  However, the change to support that was only implemented
> >> >   in GnuPG >= 2.1 and didn't get backported to GnuPG 2.0.  And with
> >> >   GnuPG 2.1 and later, pinentry.el is not needed at all.  So the
> >> >   library was useless, and we removed it.  GnuPG 2.0 is no longer
> >> >   supported by the upstream project.
> >> >
> >> >   To adapt to the change, you may need to set 'epa-pinentry-mode' to the
> >> >   symbol 'loopback'.
> 
> I wasn't aware of this entry.  Would it really make sense, given that
> pinentry.el was a new library introduced in Emacs 26?

??? I see pinentry.el in all versions of Emacs starting from 25.1.

> >> Yes, that does help, thank you. I should have checked the news.
> >> 
> >> It doesn't help me decide what to do though. Do you know if using
> >> the prompt in the minibuffer (using `loopback') is thought to be
> >> less secure than using the external pinentry program?
> >
> > I don't know enough about this to tell.  Daiki, any inputs?
> 
> I would say it's provides the same level of security as pinentry-gtk,
> which no longer uses secmem these days.
> 
> It's unfortunate that one of the GnuPG contributors (who currently seems
> inactive) had advertised that it was less secure, based on his Emacs 19
> knowledge:
> https://dev.gnupg.org/T2034#89059

Would you advise saying something along these lines in NEWS?

Thanks.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#29906; Package emacs. (Sat, 30 Dec 2017 21:07:01 GMT) Full text and rfc822 format available.

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

From: Daiki Ueno <ueno <at> gnu.org>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: nljlistbox2 <at> gmail.com, 29906 <at> debbugs.gnu.org
Subject: Re: bug#29906: 27.0.50;
 Emacs prompts for passwords in GUI dialog instead of minibuffer
Date: Sat, 30 Dec 2017 22:06:28 +0100
Eli Zaretskii <eliz <at> gnu.org> writes:

>> From: Daiki Ueno <ueno <at> gnu.org>
>> Cc: nljlistbox2 <at> gmail.com (N. Jackson),  29906 <at> debbugs.gnu.org
>> Date: Sat, 30 Dec 2017 21:13:04 +0100
>> 
>> >> >   ** The pinentry.el library has been removed.
>> >> >   That package (and the corresponding change in GnuPG and pinentry)
>> >> >   was intended to provide a way to input passphrase through Emacs with
>> >> >   GnuPG 2.0.  However, the change to support that was only implemented
>> >> >   in GnuPG >= 2.1 and didn't get backported to GnuPG 2.0.  And with
>> >> >   GnuPG 2.1 and later, pinentry.el is not needed at all.  So the
>> >> >   library was useless, and we removed it.  GnuPG 2.0 is no longer
>> >> >   supported by the upstream project.
>> >> >
>> >> >   To adapt to the change, you may need to set 'epa-pinentry-mode' to the
>> >> >   symbol 'loopback'.
>> 
>> I wasn't aware of this entry.  Would it really make sense, given that
>> pinentry.el was a new library introduced in Emacs 26?
>
> ??? I see pinentry.el in all versions of Emacs starting from 25.1.

Oops, you are right (forgot about it).  Then, perhaps it might be safer
to move it to obsolete, but I presume the impact of the removal is not
that big.

> Would you advise saying something along these lines in NEWS?

Sure.

Regards,
-- 
Daiki Ueno




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#29906; Package emacs. (Tue, 09 Jan 2018 18:35:02 GMT) Full text and rfc822 format available.

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

From: Glenn Morris <rgm <at> gnu.org>
To: Daiki Ueno <ueno <at> gnu.org>
Cc: nljlistbox2 <at> gmail.com, Eli Zaretskii <eliz <at> gnu.org>, 29906 <at> debbugs.gnu.org
Subject: Re: bug#29906: 27.0.50;
 Emacs prompts for passwords in GUI dialog instead of minibuffer
Date: Tue, 09 Jan 2018 13:33:51 -0500
Daiki Ueno wrote:

>> ??? I see pinentry.el in all versions of Emacs starting from 25.1.
>
> Oops, you are right (forgot about it).  Then, perhaps it might be safer
> to move it to obsolete, but I presume the impact of the removal is not
> that big.

FWIW, it does seem unusual to me to delete a library altogether.
Emacs normally moves things to obsolete/ first.
Or obsolete/pinentry.el could just contain a single line:
 (setq epa-pinentry-mode 'loopback)




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#29906; Package emacs. (Mon, 15 Jan 2018 21:13:01 GMT) Full text and rfc822 format available.

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

From: Glenn Morris <rgm <at> gnu.org>
To: Daiki Ueno <ueno <at> gnu.org>
Cc: nljlistbox2 <at> gmail.com, Eli Zaretskii <eliz <at> gnu.org>, 29906 <at> debbugs.gnu.org
Subject: Re: bug#29906: 27.0.50;
 Emacs prompts for passwords in GUI dialog instead of minibuffer
Date: Mon, 15 Jan 2018 16:11:58 -0500
It seems clear to me that the file was deleted (rather than obsoleted)
based on a misunderstanding about whether it had been in a release.

I find it weird that this is just being ignored, but NMP.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#29906; Package emacs. (Tue, 16 Jan 2018 16:59:02 GMT) Full text and rfc822 format available.

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

From: Eli Zaretskii <eliz <at> gnu.org>
To: Glenn Morris <rgm <at> gnu.org>
Cc: nljlistbox2 <at> gmail.com, ueno <at> gnu.org, 29906 <at> debbugs.gnu.org
Subject: Re: bug#29906: 27.0.50;
 Emacs prompts for passwords in GUI dialog instead of minibuffer
Date: Tue, 16 Jan 2018 18:57:43 +0200
> From: Glenn Morris <rgm <at> gnu.org>
> Cc: 29906 <at> debbugs.gnu.org,  nljlistbox2 <at> gmail.com,  Eli Zaretskii <eliz <at> gnu.org>
> Date: Mon, 15 Jan 2018 16:11:58 -0500
> 
> It seems clear to me that the file was deleted (rather than obsoleted)
> based on a misunderstanding about whether it had been in a release.
> 
> I find it weird that this is just being ignored, but NMP.

It's IMO very unfair to represent what we did about this (see
bug#27445) as "ignoring".  There's a limit to what we can do against
strong opinions of a package maintainer.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#29906; Package emacs. (Sat, 28 Sep 2019 23:19:01 GMT) Full text and rfc822 format available.

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

From: Stefan Kangas <stefan <at> marxist.se>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: nljlistbox2 <at> gmail.com, 29906 <at> debbugs.gnu.org
Subject: Re: bug#29906: 27.0.50; Emacs prompts for passwords in GUI dialog
 instead of minibuffer
Date: Sun, 29 Sep 2019 01:18:24 +0200
Eli Zaretskii <eliz <at> gnu.org> writes:

>> From: nljlistbox2 <at> gmail.com (N. Jackson)
>> Date: Fri, 29 Dec 2017 21:11:44 -0500
>>
>> When I start Gnus with `M-x gnus' I get prompted for my password
>> (for my authinfo.gpg file) in a GUI dialog box. Expected
>> behaviour: The prompt is in the minibuffer.
>>
>> Similarly, when I open a .gpg file with `C-x C-f' I am being
>> presented with a GUI dialog instead of a prompt in the minibuffer.
>>
>> In general I expect to see prompts in the minibuffer unless I
>> interact with Emacs with the mouse, through the menus or toolbar.
>>
>> This behaviour is new since I last used master a few months ago.
>
> Does this NEWS.26 entry help?
>
>   ** The pinentry.el library has been removed.
>   That package (and the corresponding change in GnuPG and pinentry)
>   was intended to provide a way to input passphrase through Emacs with
>   GnuPG 2.0.  However, the change to support that was only implemented
>   in GnuPG >= 2.1 and didn't get backported to GnuPG 2.0.  And with
>   GnuPG 2.1 and later, pinentry.el is not needed at all.  So the
>   library was useless, and we removed it.  GnuPG 2.0 is no longer
>   supported by the upstream project.
>
>   To adapt to the change, you may need to set 'epa-pinentry-mode' to the
>   symbol 'loopback'.
>
> What version of GnuPG do you have on that system?

If I'm not mistaken, there is nothing more to do here.  Therefore, and
if no one protests within a reasonable time, I will close this as
notabug.

Best regards,
Stefan Kagas




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#29906; Package emacs. (Wed, 30 Oct 2019 20:16:02 GMT) Full text and rfc822 format available.

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

From: Stefan Kangas <stefan <at> marxist.se>
To: Eli Zaretskii <eliz <at> gnu.org>,
Cc: nljlistbox2 <at> gmail.com, 29906 <at> debbugs.gnu.org
Subject: Re: bug#29906: 27.0.50;
 Emacs prompts for passwords in GUI dialog instead of minibuffer
Date: Wed, 30 Oct 2019 21:14:59 +0100
tags 29906 + notabug
close 29906
thanks

Stefan Kangas <stefan <at> marxist.se> writes:

> If I'm not mistaken, there is nothing more to do here.  Therefore, and
> if no one protests within a reasonable time, I will close this as
> notabug.

No protests within 4 weeks; closing now.

Best regards,
Stefan Kangas




Added tag(s) notabug. Request was from Stefan Kangas <stefan <at> marxist.se> to control <at> debbugs.gnu.org. (Wed, 30 Oct 2019 20:16:02 GMT) Full text and rfc822 format available.

bug closed, send any further explanations to 29906 <at> debbugs.gnu.org and nljlistbox2 <at> gmail.com (N. Jackson) Request was from Stefan Kangas <stefan <at> marxist.se> to control <at> debbugs.gnu.org. (Wed, 30 Oct 2019 20:16: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. (Thu, 28 Nov 2019 12:24:04 GMT) Full text and rfc822 format available.

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

Previous Next


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