unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#18513: 24.3; message-mode sends unencrypted on error
@ 2014-09-20  6:12 David Bremner
  2014-09-29 11:09 ` Daiki Ueno
  0 siblings, 1 reply; 11+ messages in thread
From: David Bremner @ 2014-09-20  6:12 UTC (permalink / raw)
  To: 18513


1) Start emacs with emacs -Q
2) start sending a message with M-x message-mail
3) add "sign" tag with C-c C-m C-s
3) manually replace "sign with "sigencrypt", simulating failed attempt to 
   manually change mode
4) add some text to the message, set a destination address and 
   subject
5) send using C-c C-c

The message is sent unencrypted, without any feedback to the user.  It
seems that the correct response would be to refuse to send a message
with malformed mml tags.

In GNU Emacs 24.3.1 (x86_64-pc-linux-gnu, X toolkit, Xaw3d scroll bars)
 of 2014-06-06 on barber, modified by Debian
Windowing system distributor `The X.Org Foundation', version 11.0.11600000
System Description:	Debian GNU/Linux testing (jessie)

Configured using:
 `configure '--build' 'x86_64-linux-gnu' '--build' 'x86_64-linux-gnu'
 '--prefix=/usr' '--sharedstatedir=/var/lib' '--libexecdir=/usr/lib'
 '--localstatedir=/var/lib' '--infodir=/usr/share/info'
 '--mandir=/usr/share/man' '--with-pop=yes'
 '--enable-locallisppath=/etc/emacs24:/etc/emacs:/usr/local/share/emacs/24.3/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/24.3/site-lisp:/usr/share/emacs/site-lisp'
 '--with-crt-dir=/usr/lib/x86_64-linux-gnu' '--with-x=yes'
 '--with-x-toolkit=lucid' '--with-toolkit-scroll-bars' '--without-gconf'
 '--without-gsettings' 'build_alias=x86_64-linux-gnu' 'CFLAGS=-g -O2
 -fstack-protector --param=ssp-buffer-size=4 -Wformat
 -Werror=format-security -Wall' 'LDFLAGS=-Wl,-z,relro'
 'CPPFLAGS=-D_FORTIFY_SOURCE=2''

Important settings:
  value of $LANG: en_CA.UTF-8
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Circe Channel

Minor modes in effect:
  tracking-mode: t
  diff-auto-refine-mode: t
  shell-dirtrack-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
d @ t h <backspace> e t h e r a <tab> <return> C-n 
t e s t i n g SPC e n c r y p t i o n SPC f a i l 2 
C-n C-n C-n C-c RET C-e C-p C-r C-e M-b M-d n s a C-n 
<return> E d w a r d S-SPC S n o w d e n . SPC S e 
k r i t SPC s t u f f . C-c C-c q = <up> <return> C-c 
C-SPC y e a h , SPC I ' ; d <backspace> <backspace> 
d SPC n e e d SPC t o SPC u s e SPC a SPC w e b SPC 
b r o w s e r SPC f o r SPC t h a t . SPC <return> 
s <backspace> s t i l l SPC n o t SPC s t a l l m a 
n SPC <backspace> e s q u e SPC e n o u g h <return> 
b t w , SPC c <backspace> h o w SPC c a n SPC I SPC 
f i n d SPC a l l SPC b u g s SPC i n SPC m e s s a 
g e - m o d e SPC o n SPC b u g s . g n u . o r g SPC 
? <return> e r r . SPC d e b b u g s . g n u . o r 
g <return> / m e SPC l o o k s SPC f o r SPC h i s 
SPC b u g g y w h i p <return> <help-echo> M-x r e 
p o r <tab> <return>

Recent messages:
Sending via mail...
Sending...done
Invalid face reference: message-header-from [33 times]
Making completion list...
View mode: type C-h for help, h for commands, q to quit.
Mark set [3 times]
Sending...
Mark set [2 times]
Sending via mail...
Sending...done

Load-path shadows:
/home/bremner/.emacs.d/el-get/js2-mode/.dir-locals hides /home/bremner/.emacs.d/el-get/el-get/.dir-locals
/home/bremner/.emacs.d/el-get/message-templ/message-templ hides /home/bremner/share/emacs/site-lisp/message-templ/message-templ
/home/bremner/.emacs.d/el-get/circe/lisp/circe hides /home/bremner/share/emacs/site-lisp/circe/circe
/home/bremner/.emacs.d/el-get/circe/lisp/lui hides /home/bremner/share/emacs/site-lisp/circe/lui
/home/bremner/.emacs.d/el-get/circe/lisp/tracking hides /home/bremner/share/emacs/site-lisp/circe/tracking
/home/bremner/.emacs.d/el-get/circe/lisp/circe-highlight-all-nicks hides /home/bremner/share/emacs/site-lisp/circe/circe-highlight-all-nicks
/home/bremner/.emacs.d/el-get/circe/lisp/circe-color-nicks hides /home/bremner/share/emacs/site-lisp/circe/circe-color-nicks
/home/bremner/.emacs.d/el-get/circe/lisp/lui-autopaste hides /home/bremner/share/emacs/site-lisp/circe/lui-autopaste
/home/bremner/.emacs.d/el-get/circe/lisp/lui-format hides /home/bremner/share/emacs/site-lisp/circe/lui-format
/home/bremner/.emacs.d/el-get/circe/lisp/circe-chanop hides /home/bremner/share/emacs/site-lisp/circe/circe-chanop
/home/bremner/.emacs.d/el-get/circe/lisp/lcs hides /home/bremner/share/emacs/site-lisp/circe/lcs
/home/bremner/.emacs.d/el-get/circe/lisp/lui-irc-colors hides /home/bremner/share/emacs/site-lisp/circe/lui-irc-colors
/home/bremner/.emacs.d/el-get/circe/lisp/circe-lagmon hides /home/bremner/share/emacs/site-lisp/circe/circe-lagmon
/home/bremner/.emacs.d/el-get/circe/lisp/lui-logging hides /home/bremner/share/emacs/site-lisp/circe/lui-logging
/home/bremner/.emacs.d/el-get/js2-mode/js2-imenu-extras hides /usr/share/emacs24/site-lisp/js2-mode/js2-imenu-extras
/home/bremner/.emacs.d/el-get/js2-mode/js2-mode hides /usr/share/emacs24/site-lisp/js2-mode/js2-mode
/usr/share/org-mode/lisp/htmlize hides /usr/share/emacs24/site-lisp/emacs-goodies-el/htmlize
/home/bremner/.emacs.d/el-get/markdown-mode/markdown-mode hides /usr/share/emacs24/site-lisp/emacs-goodies-el/markdown-mode
/usr/share/emacs/24.3/site-lisp/debian-startup hides /usr/share/emacs/site-lisp/debian-startup
/usr/share/emacs/site-lisp/autoconf/autotest-mode hides /usr/share/emacs/site-lisp/autotest-mode
/usr/share/emacs24/site-lisp/flim/hex-util hides /usr/share/emacs/24.3/lisp/hex-util
/usr/share/emacs24/site-lisp/flim/md4 hides /usr/share/emacs/24.3/lisp/md4
/usr/share/emacs24/site-lisp/dictionaries-common/flyspell hides /usr/share/emacs/24.3/lisp/textmodes/flyspell
/usr/share/emacs/site-lisp/rst hides /usr/share/emacs/24.3/lisp/textmodes/rst
/usr/share/emacs24/site-lisp/dictionaries-common/ispell hides /usr/share/emacs/24.3/lisp/textmodes/ispell
/usr/share/emacs24/site-lisp/org-mode/org-entities hides /usr/share/emacs/24.3/lisp/org/org-entities
/usr/share/emacs24/site-lisp/org-mode/ob-perl hides /usr/share/emacs/24.3/lisp/org/ob-perl
/usr/share/emacs24/site-lisp/org-mode/org-clock hides /usr/share/emacs/24.3/lisp/org/org-clock
/usr/share/emacs24/site-lisp/org-mode/ob-mscgen hides /usr/share/emacs/24.3/lisp/org/ob-mscgen
/usr/share/emacs24/site-lisp/org-mode/org-protocol hides /usr/share/emacs/24.3/lisp/org/org-protocol
/usr/share/emacs24/site-lisp/org-mode/org-table hides /usr/share/emacs/24.3/lisp/org/org-table
/usr/share/emacs24/site-lisp/org-mode/ob-lob hides /usr/share/emacs/24.3/lisp/org/ob-lob
/usr/share/emacs24/site-lisp/org-mode/org-plot hides /usr/share/emacs/24.3/lisp/org/org-plot
/usr/share/emacs24/site-lisp/org-mode/ob-shen hides /usr/share/emacs/24.3/lisp/org/ob-shen
/usr/share/emacs24/site-lisp/org-mode/ob-sql hides /usr/share/emacs/24.3/lisp/org/ob-sql
/usr/share/emacs24/site-lisp/org-mode/org-mhe hides /usr/share/emacs/24.3/lisp/org/org-mhe
/usr/share/emacs24/site-lisp/org-mode/ob-fortran hides /usr/share/emacs/24.3/lisp/org/ob-fortran
/usr/share/emacs24/site-lisp/org-mode/ob-octave hides /usr/share/emacs/24.3/lisp/org/ob-octave
/usr/share/emacs24/site-lisp/org-mode/org-element hides /usr/share/emacs/24.3/lisp/org/org-element
/usr/share/emacs24/site-lisp/org-mode/org-src hides /usr/share/emacs/24.3/lisp/org/org-src
/usr/share/emacs24/site-lisp/org-mode/org-habit hides /usr/share/emacs/24.3/lisp/org/org-habit
/usr/share/emacs24/site-lisp/org-mode/ob-R hides /usr/share/emacs/24.3/lisp/org/ob-R
/usr/share/emacs24/site-lisp/org-mode/ob-awk hides /usr/share/emacs/24.3/lisp/org/ob-awk
/usr/share/emacs24/site-lisp/org-mode/org-datetree hides /usr/share/emacs/24.3/lisp/org/org-datetree
/usr/share/emacs24/site-lisp/org-mode/org-bibtex hides /usr/share/emacs/24.3/lisp/org/org-bibtex
/usr/share/emacs24/site-lisp/org-mode/ob-ref hides /usr/share/emacs/24.3/lisp/org/ob-ref
/usr/share/emacs24/site-lisp/org-mode/ob-io hides /usr/share/emacs/24.3/lisp/org/ob-io
/usr/share/emacs24/site-lisp/org-mode/org-info hides /usr/share/emacs/24.3/lisp/org/org-info
/usr/share/org-mode/lisp/org-wl hides /usr/share/emacs/24.3/lisp/org/org-wl
/usr/share/emacs24/site-lisp/org-mode/ob-haskell hides /usr/share/emacs/24.3/lisp/org/ob-haskell
/usr/share/emacs24/site-lisp/org-mode/ob-scala hides /usr/share/emacs/24.3/lisp/org/ob-scala
/usr/share/emacs24/site-lisp/org-mode/org-pcomplete hides /usr/share/emacs/24.3/lisp/org/org-pcomplete
/usr/share/emacs24/site-lisp/org-mode/ob-tangle hides /usr/share/emacs/24.3/lisp/org/ob-tangle
/usr/share/emacs24/site-lisp/org-mode/ob-table hides /usr/share/emacs/24.3/lisp/org/ob-table
/usr/share/emacs24/site-lisp/org-mode/ob-lilypond hides /usr/share/emacs/24.3/lisp/org/ob-lilypond
/usr/share/emacs24/site-lisp/org-mode/org-colview hides /usr/share/emacs/24.3/lisp/org/org-colview
/usr/share/emacs24/site-lisp/org-mode/ob-org hides /usr/share/emacs/24.3/lisp/org/ob-org
/usr/share/emacs24/site-lisp/org-mode/ob-latex hides /usr/share/emacs/24.3/lisp/org/ob-latex
/usr/share/emacs24/site-lisp/org-mode/org-loaddefs hides /usr/share/emacs/24.3/lisp/org/org-loaddefs
/usr/share/emacs24/site-lisp/org-mode/ob-ruby hides /usr/share/emacs/24.3/lisp/org/ob-ruby
/usr/share/emacs24/site-lisp/org-mode/ob-matlab hides /usr/share/emacs/24.3/lisp/org/ob-matlab
/usr/share/emacs24/site-lisp/org-mode/org-mobile hides /usr/share/emacs/24.3/lisp/org/org-mobile
/usr/share/emacs24/site-lisp/org-mode/ob-eval hides /usr/share/emacs/24.3/lisp/org/ob-eval
/usr/share/emacs24/site-lisp/org-mode/org-mouse hides /usr/share/emacs/24.3/lisp/org/org-mouse
/usr/share/emacs24/site-lisp/org-mode/org-docview hides /usr/share/emacs/24.3/lisp/org/org-docview
/usr/share/emacs24/site-lisp/org-mode/org-list hides /usr/share/emacs/24.3/lisp/org/org-list
/usr/share/emacs24/site-lisp/org-mode/ob-scheme hides /usr/share/emacs/24.3/lisp/org/ob-scheme
/usr/share/emacs24/site-lisp/org-mode/org-faces hides /usr/share/emacs/24.3/lisp/org/org-faces
/usr/share/emacs24/site-lisp/org-mode/ob-js hides /usr/share/emacs/24.3/lisp/org/ob-js
/usr/share/emacs24/site-lisp/org-mode/ob-dot hides /usr/share/emacs/24.3/lisp/org/ob-dot
/usr/share/emacs24/site-lisp/org-mode/ob-ditaa hides /usr/share/emacs/24.3/lisp/org/ob-ditaa
/usr/share/emacs24/site-lisp/org-mode/ob-screen hides /usr/share/emacs/24.3/lisp/org/ob-screen
/usr/share/emacs24/site-lisp/org-mode/org-indent hides /usr/share/emacs/24.3/lisp/org/org-indent
/usr/share/emacs24/site-lisp/org-mode/org-irc hides /usr/share/emacs/24.3/lisp/org/org-irc
/usr/share/org-mode/lisp/org-mew hides /usr/share/emacs/24.3/lisp/org/org-mew
/usr/share/emacs24/site-lisp/org-mode/org-footnote hides /usr/share/emacs/24.3/lisp/org/org-footnote
/usr/share/emacs24/site-lisp/org-mode/org-gnus hides /usr/share/emacs/24.3/lisp/org/org-gnus
/usr/share/emacs24/site-lisp/org-mode/ob-keys hides /usr/share/emacs/24.3/lisp/org/ob-keys
/usr/share/emacs24/site-lisp/org-mode/ob-emacs-lisp hides /usr/share/emacs/24.3/lisp/org/ob-emacs-lisp
/usr/share/emacs24/site-lisp/org-mode/org-bbdb hides /usr/share/emacs/24.3/lisp/org/org-bbdb
/usr/share/emacs24/site-lisp/org-mode/ob-java hides /usr/share/emacs/24.3/lisp/org/ob-java
/usr/share/emacs24/site-lisp/org-mode/ob-C hides /usr/share/emacs/24.3/lisp/org/ob-C
/usr/share/emacs24/site-lisp/org-mode/org-compat hides /usr/share/emacs/24.3/lisp/org/org-compat
/usr/share/emacs24/site-lisp/org-mode/org-inlinetask hides /usr/share/emacs/24.3/lisp/org/org-inlinetask
/usr/share/emacs24/site-lisp/org-mode/org-archive hides /usr/share/emacs/24.3/lisp/org/org-archive
/usr/share/emacs24/site-lisp/org-mode/ob-python hides /usr/share/emacs/24.3/lisp/org/ob-python
/usr/share/org-mode/lisp/org-vm hides /usr/share/emacs/24.3/lisp/org/org-vm
/usr/share/emacs24/site-lisp/org-mode/org-w3m hides /usr/share/emacs/24.3/lisp/org/org-w3m
/usr/share/emacs24/site-lisp/org-mode/org-timer hides /usr/share/emacs/24.3/lisp/org/org-timer
/usr/share/emacs24/site-lisp/org-mode/ob-sh hides /usr/share/emacs/24.3/lisp/org/ob-sh
/usr/share/emacs24/site-lisp/org-mode/ob-gnuplot hides /usr/share/emacs/24.3/lisp/org/ob-gnuplot
/usr/share/emacs24/site-lisp/org-mode/org-rmail hides /usr/share/emacs/24.3/lisp/org/org-rmail
/usr/share/emacs24/site-lisp/org-mode/ob-ocaml hides /usr/share/emacs/24.3/lisp/org/ob-ocaml
/usr/share/emacs24/site-lisp/org-mode/ob-sqlite hides /usr/share/emacs/24.3/lisp/org/ob-sqlite
/usr/share/emacs24/site-lisp/org-mode/ob-css hides /usr/share/emacs/24.3/lisp/org/ob-css
/usr/share/emacs24/site-lisp/org-mode/org-attach hides /usr/share/emacs/24.3/lisp/org/org-attach
/usr/share/emacs24/site-lisp/org-mode/ob-maxima hides /usr/share/emacs/24.3/lisp/org/ob-maxima
/usr/share/emacs24/site-lisp/org-mode/org-capture hides /usr/share/emacs/24.3/lisp/org/org-capture
/usr/share/emacs24/site-lisp/org-mode/org-macs hides /usr/share/emacs/24.3/lisp/org/org-macs
/usr/share/emacs24/site-lisp/org-mode/org-ctags hides /usr/share/emacs/24.3/lisp/org/org-ctags
/usr/share/emacs24/site-lisp/org-mode/ob-calc hides /usr/share/emacs/24.3/lisp/org/ob-calc
/usr/share/emacs24/site-lisp/org-mode/org-version hides /usr/share/emacs/24.3/lisp/org/org-version
/usr/share/emacs24/site-lisp/org-mode/org hides /usr/share/emacs/24.3/lisp/org/org
/usr/share/emacs24/site-lisp/org-mode/ob-picolisp hides /usr/share/emacs/24.3/lisp/org/ob-picolisp
/usr/share/emacs24/site-lisp/org-mode/org-crypt hides /usr/share/emacs/24.3/lisp/org/org-crypt
/usr/share/emacs24/site-lisp/org-mode/org-feed hides /usr/share/emacs/24.3/lisp/org/org-feed
/usr/share/emacs24/site-lisp/org-mode/org-agenda hides /usr/share/emacs/24.3/lisp/org/org-agenda
/usr/share/emacs24/site-lisp/org-mode/ob-exp hides /usr/share/emacs/24.3/lisp/org/ob-exp
/usr/share/emacs24/site-lisp/org-mode/ob-asymptote hides /usr/share/emacs/24.3/lisp/org/ob-asymptote
/usr/share/emacs24/site-lisp/org-mode/ob-clojure hides /usr/share/emacs/24.3/lisp/org/ob-clojure
/usr/share/emacs24/site-lisp/org-mode/org-id hides /usr/share/emacs/24.3/lisp/org/org-id
/usr/share/emacs24/site-lisp/org-mode/ob-sass hides /usr/share/emacs/24.3/lisp/org/ob-sass
/usr/share/emacs24/site-lisp/org-mode/ob-ledger hides /usr/share/emacs/24.3/lisp/org/ob-ledger
/usr/share/emacs24/site-lisp/org-mode/ob-plantuml hides /usr/share/emacs/24.3/lisp/org/ob-plantuml
/usr/share/emacs24/site-lisp/org-mode/org-eshell hides /usr/share/emacs/24.3/lisp/org/org-eshell
/usr/share/emacs24/site-lisp/org-mode/ob hides /usr/share/emacs/24.3/lisp/org/ob
/usr/share/emacs24/site-lisp/org-mode/ob-comint hides /usr/share/emacs/24.3/lisp/org/ob-comint
/usr/share/emacs24/site-lisp/org-mode/org-install hides /usr/share/emacs/24.3/lisp/org/org-install
/usr/share/emacs24/site-lisp/org-mode/ob-lisp hides /usr/share/emacs/24.3/lisp/org/ob-lisp
/usr/share/emacs24/site-lisp/flim/ntlm hides /usr/share/emacs/24.3/lisp/net/ntlm
/usr/share/emacs24/site-lisp/flim/sasl hides /usr/share/emacs/24.3/lisp/net/sasl
/usr/share/emacs24/site-lisp/flim/hmac-md5 hides /usr/share/emacs/24.3/lisp/net/hmac-md5
/usr/share/emacs24/site-lisp/flim/hmac-def hides /usr/share/emacs/24.3/lisp/net/hmac-def
/usr/share/emacs24/site-lisp/flim/sasl-ntlm hides /usr/share/emacs/24.3/lisp/net/sasl-ntlm
/usr/share/emacs24/site-lisp/flim/sasl-digest hides /usr/share/emacs/24.3/lisp/net/sasl-digest
/usr/share/emacs24/site-lisp/flim/sasl-cram hides /usr/share/emacs/24.3/lisp/net/sasl-cram
/home/bremner/.emacs.d/el-get/js2-mode/.dir-locals hides /usr/share/emacs/24.3/lisp/gnus/.dir-locals
/usr/share/emacs24/site-lisp/auctex/tex-style hides /usr/share/emacs/site-lisp/auctex/tex-style
/usr/share/emacs24/site-lisp/auctex/tex-buf hides /usr/share/emacs/site-lisp/auctex/tex-buf
/usr/share/emacs24/site-lisp/auctex/plain-tex hides /usr/share/emacs/site-lisp/auctex/plain-tex
/usr/share/emacs24/site-lisp/auctex/tex hides /usr/share/emacs/site-lisp/auctex/tex
/usr/share/emacs24/site-lisp/auctex/toolbar-x hides /usr/share/emacs/site-lisp/auctex/toolbar-x
/usr/share/emacs24/site-lisp/auctex/tex-mik hides /usr/share/emacs/site-lisp/auctex/tex-mik
/usr/share/emacs24/site-lisp/auctex/prv-emacs hides /usr/share/emacs/site-lisp/auctex/prv-emacs
/usr/share/emacs24/site-lisp/auctex/context hides /usr/share/emacs/site-lisp/auctex/context
/usr/share/emacs24/site-lisp/auctex/multi-prompt hides /usr/share/emacs/site-lisp/auctex/multi-prompt
/usr/share/emacs24/site-lisp/auctex/context-nl hides /usr/share/emacs/site-lisp/auctex/context-nl
/usr/share/emacs24/site-lisp/auctex/latex hides /usr/share/emacs/site-lisp/auctex/latex
/usr/share/emacs24/site-lisp/auctex/font-latex hides /usr/share/emacs/site-lisp/auctex/font-latex
/usr/share/emacs24/site-lisp/auctex/tex-fold hides /usr/share/emacs/site-lisp/auctex/tex-fold
/usr/share/emacs24/site-lisp/auctex/tex-bar hides /usr/share/emacs/site-lisp/auctex/tex-bar
/usr/share/emacs24/site-lisp/auctex/texmathp hides /usr/share/emacs/site-lisp/auctex/texmathp
/usr/share/emacs24/site-lisp/auctex/preview hides /usr/share/emacs/site-lisp/auctex/preview
/usr/share/emacs24/site-lisp/auctex/bib-cite hides /usr/share/emacs/site-lisp/auctex/bib-cite
/usr/share/emacs24/site-lisp/auctex/tex-jp hides /usr/share/emacs/site-lisp/auctex/tex-jp
/usr/share/emacs24/site-lisp/auctex/tex-font hides /usr/share/emacs/site-lisp/auctex/tex-font
/usr/share/emacs24/site-lisp/auctex/context-en hides /usr/share/emacs/site-lisp/auctex/context-en
/usr/share/emacs24/site-lisp/auctex/tex-info hides /usr/share/emacs/site-lisp/auctex/tex-info
/usr/share/emacs/24.3/lisp/emacs-lisp/cl-lib hides /usr/share/emacs/24.3/site-lisp/slime/lib/cl-lib
/usr/share/emacs/24.3/lisp/emacs-lisp/ert hides /usr/share/emacs/24.3/site-lisp/slime/lib/ert
/usr/share/emacs/24.3/lisp/emacs-lisp/ert-x hides /usr/share/emacs/24.3/site-lisp/slime/lib/ert-x

Features:
(shadow emacsbug sh-script smie time shr-color color shr gnus-art mm-uu
mml2015 epg-config gnus-sum nnoo gnus-group gnus-undo nnmail mail-source
gnus-start gnus-spec gnus-int gnus-range gnus-win gnus gnus-ems nnheader
view misearch multi-isearch sort mail-extr mm-archive mule-util
nxml-uchnm rng-xsd xsd-regexp rng-cmpct rng-nxml rng-valid rng-loc
rng-uri rng-parse nxml-parse rng-match rng-dt rng-util rng-pttrn nxml-ns
nxml-mode nxml-outln nxml-rap nxml-util nxml-glyph nxml-enc xmltok
cc-langs cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align
cc-engine vc-git make-mode org-rmail org-mhe org-irc org-info org-gnus
org-docview doc-view jka-compr image-mode org-bibtex bibtex org-bbdb
org-w3m magit-bisect magit-key-mode magit log-edit pcvs-util add-log
circe-tls tls server rainbow-mode-autoloads message-templ jss
jss-debugger jss-console jss-io jss-http-repl jss-io-pretty-printers
jss-prompt jss-browser jss-browser-firefox jss-browser-webkit json
jss-remote-value jss-script url url-proxy url-privacy url-expand
url-methods url-history url-cookie url-domsuf url-util jss-browser-api
jss-super-mode derived jss-deferred jss-utils websocket url-parse
auth-source eieio gnus-util url-vars bindat circe-color-nicks
circe-chanop circe byte-opt warnings lui-irc-colors lcs lui-format lui
tracking shorten flyspell ispell .loaddefs el-get el-get-autoloads
el-get-list-packages el-get-notify help-mode el-get-dependencies
el-get-build el-get-status pp el-get-recipes el-get-byte-compile
el-get-methods el-get-fossil el-get-svn el-get-pacman el-get-github-zip
el-get-github-tar el-get-http-zip el-get-http-tar el-get-hg
el-get-git-svn el-get-fink el-get-emacswiki el-get-http
el-get-emacsmirror el-get-github el-get-git el-get-elpa package
el-get-darcs el-get-cvs el-get-bzr el-get-brew el-get-builtin
el-get-apt-get el-get-custom el-get-core autoload bytecomp byte-compile
cconv dired js-comint indirect-region self-destruct tempo org-notmuch
org-remember org-datetree org org-macro org-footnote org-pcomplete
org-list org-faces org-entities noutline outline org-version
ob-emacs-lisp ob ob-tangle ob-ref ob-lob ob-table ob-exp org-src ob-keys
ob-comint ob-core ob-eval org-compat org-macs org-loaddefs find-func
remember rx vc vc-dispatcher notmuch hl-line notmuch-version
notmuch-message notmuch-maildir-fcc notmuch-hello wid-edit notmuch-tree
notmuch-parser notmuch-show notmuch-print notmuch-crypto notmuch-mua
notmuch-address notmuch-wash diff-mode coolj notmuch-query goto-addr
icalendar diary-lib diary-loaddefs cal-menu calendar cal-loaddefs
notmuch-tag crm notmuch-lib message sendmail rfc822 mml mailabbrev
mail-utils gmm-utils mailheader mm-view mml-smime mml-sec smime
password-cache dig mm-decode mm-bodies mm-encode mailcap mail-parse
rfc2231 rfc2047 rfc2045 ietf-drums mm-util mail-prsvr debian-el
debian-el-loaddefs w3m-load slime-autoloads cl-macs gv pylint
org-install 50magit haskell-mode-autoloads edmacro kmacro geiser-install
geiser ido ess-toolbar ess-mouse mouseme thingatpt browse-url ess-menu
ess-swv ess-noweb ess-noweb-font-lock-mode ess-bugs-l essd-els ess-sas-d
ess-sas-l ess-sas-a shell pcomplete ess-sta-d ess-sta-l cc-vars cc-defs
make-regexp ess-sp6-d ess-sp3-d ess-julia ess-r-d compile ess-tracebug
format-spec ess-roxy advice cl cl-lib advice-preload hideshow ess-help
ess-developer ess-r-args eldoc help-fns ess-s-l ess ess-inf comint
ansi-color ring ess-mode ess-noweb-mode ess-utils time-date ess-custom
executable easymenu ess-compat ess-site emacs-goodies-el
emacs-goodies-custom emacs-goodies-loaddefs easy-mmode dpkg-dev-el
dpkg-dev-el-loaddefs preview-latex tex-site auto-loads tooltip
ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd tool-bar dnd
fontset image regexp-opt fringe tabulated-list newcomment lisp-mode
register page menu-bar rfn-eshadow timer select scroll-bar 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
minibuffer loaddefs button faces cus-face macroexp files text-properties
overlay sha1 md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote make-network-process dbusbind
dynamic-setting font-render-setting x-toolkit x multi-tty emacs)





^ permalink raw reply	[flat|nested] 11+ messages in thread

* bug#18513: 24.3; message-mode sends unencrypted on error
  2014-09-20  6:12 bug#18513: 24.3; message-mode sends unencrypted on error David Bremner
@ 2014-09-29 11:09 ` Daiki Ueno
  2014-09-29 12:14   ` David Bremner
  2014-10-01  1:28   ` Glenn Morris
  0 siblings, 2 replies; 11+ messages in thread
From: Daiki Ueno @ 2014-09-29 11:09 UTC (permalink / raw)
  To: David Bremner; +Cc: 18513

[-- Attachment #1: Type: text/plain, Size: 619 bytes --]

David Bremner <david@tethera.net> writes:

> 1) Start emacs with emacs -Q
> 2) start sending a message with M-x message-mail
> 3) add "sign" tag with C-c C-m C-s
> 3) manually replace "sign with "sigencrypt", simulating failed attempt to 
>    manually change mode
> 4) add some text to the message, set a destination address and 
>    subject
> 5) send using C-c C-c
>
> The message is sent unencrypted, without any feedback to the user.  It
> seems that the correct response would be to refuse to send a message
> with malformed mml tags.

I've installed the following simple fix in the trunk.  Does it work for you?

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: mml.el.diff --]
[-- Type: text/x-diff, Size: 910 bytes --]

=== modified file 'lisp/gnus/ChangeLog'
--- lisp/gnus/ChangeLog	2014-09-11 19:44:25 +0000
+++ lisp/gnus/ChangeLog	2014-09-29 11:02:32 +0000
@@ -1,3 +1,8 @@
+2014-09-29  Daiki Ueno  <ueno@gnu.org>
+
+	* mml.el (mml-parse-1): Error out if unknown mode is specified in
+	<#secure> tag (bug#18513).
+
 2014-09-11  Paul Eggert  <eggert@cs.ucla.edu>
 
 	* gnus-cloud.el (gnus-cloud-parse-version-1): Fix misspelling

=== modified file 'lisp/gnus/mml.el'
--- lisp/gnus/mml.el	2014-03-24 01:56:03 +0000
+++ lisp/gnus/mml.el	2014-09-29 11:00:11 +0000
@@ -257,7 +257,9 @@
 		((string= mode "encrypt")
 		 (setq tags (list "encrypt" method)))
 		((string= mode "signencrypt")
-		 (setq tags (list "sign" method "encrypt" method))))
+		 (setq tags (list "sign" method "encrypt" method)))
+		(t
+		 (error "Unknown secure mode %s" mode)))
 	  (eval `(mml-insert-tag ,secure-mode
 				 ,@tags
 				 ,(if keyfile "keyfile")


^ permalink raw reply	[flat|nested] 11+ messages in thread

* bug#18513: 24.3; message-mode sends unencrypted on error
  2014-09-29 11:09 ` Daiki Ueno
@ 2014-09-29 12:14   ` David Bremner
  2014-09-30  1:36     ` Daiki Ueno
  2019-09-23 11:46     ` Lars Ingebrigtsen
  2014-10-01  1:28   ` Glenn Morris
  1 sibling, 2 replies; 11+ messages in thread
From: David Bremner @ 2014-09-29 12:14 UTC (permalink / raw)
  To: Daiki Ueno; +Cc: 18513

Daiki Ueno <ueno@gnu.org> writes:

> I've installed the following simple fix in the trunk.  Does it work for you?

> === modified file 'lisp/gnus/mml.el'
> --- lisp/gnus/mml.el	2014-03-24 01:56:03 +0000
> +++ lisp/gnus/mml.el	2014-09-29 11:00:11 +0000
> @@ -257,7 +257,9 @@
>  		((string= mode "encrypt")
>  		 (setq tags (list "encrypt" method)))
>  		((string= mode "signencrypt")
> -		 (setq tags (list "sign" method "encrypt" method))))
> +		 (setq tags (list "sign" method "encrypt" method)))
> +		(t
> +		 (error "Unknown secure mode %s" mode)))
>  	  (eval `(mml-insert-tag ,secure-mode
>  				 ,@tags
>  				 ,(if keyfile "keyfile")

It's definitely an improvement, and it fixes the scenario I reported. On
the other hand, if the use corrupts the #secure tag then essentially the
same behaviour results. Would it be possible to have a strict mode where
any unknown mml tag causes an error?

David





^ permalink raw reply	[flat|nested] 11+ messages in thread

* bug#18513: 24.3; message-mode sends unencrypted on error
  2014-09-29 12:14   ` David Bremner
@ 2014-09-30  1:36     ` Daiki Ueno
  2019-09-23 11:46     ` Lars Ingebrigtsen
  1 sibling, 0 replies; 11+ messages in thread
From: Daiki Ueno @ 2014-09-30  1:36 UTC (permalink / raw)
  To: David Bremner; +Cc: 18513

David Bremner <david@tethera.net> writes:

> It's definitely an improvement, and it fixes the scenario I reported. On
> the other hand, if the use corrupts the #secure tag then essentially the
> same behaviour results. Would it be possible to have a strict mode where
> any unknown mml tag causes an error?

Could be, but I guess it should be a separate issue (and a wishlist
rather than important).  For the meantime, I think a reasonable solution
would be to add (more?) checks for the #secure tag only.





^ permalink raw reply	[flat|nested] 11+ messages in thread

* bug#18513: 24.3; message-mode sends unencrypted on error
  2014-09-29 11:09 ` Daiki Ueno
  2014-09-29 12:14   ` David Bremner
@ 2014-10-01  1:28   ` Glenn Morris
  2014-10-01  2:32     ` Daiki Ueno
  1 sibling, 1 reply; 11+ messages in thread
From: Glenn Morris @ 2014-10-01  1:28 UTC (permalink / raw)
  To: Daiki Ueno; +Cc: David Bremner, 18513

Daiki Ueno wrote:

> I've installed the following simple fix in the trunk.  Does it work for you?
[...]
> -		 (setq tags (list "sign" method "encrypt" method))))
> +		 (setq tags (list "sign" method "encrypt" method)))
> +		(t
> +		 (error "Unknown secure mode %s" mode)))

Seems like a safe, simple fix for a potentially important issue;
so what do you think about putting it in emacs-24?





^ permalink raw reply	[flat|nested] 11+ messages in thread

* bug#18513: 24.3; message-mode sends unencrypted on error
  2014-10-01  1:28   ` Glenn Morris
@ 2014-10-01  2:32     ` Daiki Ueno
  0 siblings, 0 replies; 11+ messages in thread
From: Daiki Ueno @ 2014-10-01  2:32 UTC (permalink / raw)
  To: Glenn Morris; +Cc: David Bremner, 18513

Glenn Morris <rgm@gnu.org> writes:

> Daiki Ueno wrote:
>
>> I've installed the following simple fix in the trunk.  Does it work for you?
> [...]
>> -		 (setq tags (list "sign" method "encrypt" method))))
>> +		 (setq tags (list "sign" method "encrypt" method)))
>> +		(t
>> +		 (error "Unknown secure mode %s" mode)))
>
> Seems like a safe, simple fix for a potentially important issue;
> so what do you think about putting it in emacs-24?

Pushed now (hope it met the deadline).





^ permalink raw reply	[flat|nested] 11+ messages in thread

* bug#18513: 24.3; message-mode sends unencrypted on error
  2014-09-29 12:14   ` David Bremner
  2014-09-30  1:36     ` Daiki Ueno
@ 2019-09-23 11:46     ` Lars Ingebrigtsen
  2019-09-23 12:18       ` David Bremner
  1 sibling, 1 reply; 11+ messages in thread
From: Lars Ingebrigtsen @ 2019-09-23 11:46 UTC (permalink / raw)
  To: David Bremner; +Cc: 18513, Daiki Ueno

David Bremner <david@tethera.net> writes:

> It's definitely an improvement, and it fixes the scenario I reported. On
> the other hand, if the use corrupts the #secure tag then essentially the
> same behaviour results. Would it be possible to have a strict mode where
> any unknown mml tag causes an error?

I don't think it's possible to do that in general -- for instance, if
the user removes the first three characters from the MML tag (leaving a
line with just "ecure ..."), then Message can't know that it's supposed
to be secure...

So I don't see any way to do this in general, and I'm closing this bug
report.

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





^ permalink raw reply	[flat|nested] 11+ messages in thread

* bug#18513: 24.3; message-mode sends unencrypted on error
  2019-09-23 11:46     ` Lars Ingebrigtsen
@ 2019-09-23 12:18       ` David Bremner
  2019-09-23 13:53         ` Lars Ingebrigtsen
  0 siblings, 1 reply; 11+ messages in thread
From: David Bremner @ 2019-09-23 12:18 UTC (permalink / raw)
  To: Lars Ingebrigtsen; +Cc: 18513, Daniel Kahn Gillmor, Daiki Ueno

Lars Ingebrigtsen <larsi@gnus.org> writes:

> David Bremner <david@tethera.net> writes:
>
>> It's definitely an improvement, and it fixes the scenario I reported. On
>> the other hand, if the use corrupts the #secure tag then essentially the
>> same behaviour results. Would it be possible to have a strict mode where
>> any unknown mml tag causes an error?
>
> I don't think it's possible to do that in general -- for instance, if
> the user removes the first three characters from the MML tag (leaving a
> line with just "ecure ..."), then Message can't know that it's supposed
> to be secure...
>
> So I don't see any way to do this in general, and I'm closing this bug
> report.
>

I don't think the fact that we can't do a perfect job is a reason not to
improve the error checking. There are many errors that can be detected
that currently are not. Is erroring on an unknown mml tag (which
nonethless actually looks like a tag) actually difficult?

d





^ permalink raw reply	[flat|nested] 11+ messages in thread

* bug#18513: 24.3; message-mode sends unencrypted on error
  2019-09-23 12:18       ` David Bremner
@ 2019-09-23 13:53         ` Lars Ingebrigtsen
  2019-09-24 10:49           ` Daniel Kahn Gillmor
  0 siblings, 1 reply; 11+ messages in thread
From: Lars Ingebrigtsen @ 2019-09-23 13:53 UTC (permalink / raw)
  To: David Bremner; +Cc: 18513, Daniel Kahn Gillmor, Daiki Ueno

David Bremner <david@tethera.net> writes:

> I don't think the fact that we can't do a perfect job is a reason not to
> improve the error checking. There are many errors that can be detected
> that currently are not. Is erroring on an unknown mml tag (which
> nonethless actually looks like a tag) actually difficult?

It's not difficult to bug out on <#unknown>, but since Message mode
buffers mostly free text, doing so would lead to people having their
emails fail if they were to type such a thing by hand.  MML is only
recognised if it's one of the keywords it er recognises.

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





^ permalink raw reply	[flat|nested] 11+ messages in thread

* bug#18513: 24.3; message-mode sends unencrypted on error
  2019-09-23 13:53         ` Lars Ingebrigtsen
@ 2019-09-24 10:49           ` Daniel Kahn Gillmor
  2019-09-25 13:05             ` Lars Ingebrigtsen
  0 siblings, 1 reply; 11+ messages in thread
From: Daniel Kahn Gillmor @ 2019-09-24 10:49 UTC (permalink / raw)
  To: Lars Ingebrigtsen, David Bremner; +Cc: 18513, Daiki Ueno

[-- Attachment #1: Type: text/plain, Size: 2049 bytes --]

On Mon 2019-09-23 15:53:50 +0200, Lars Ingebrigtsen wrote:
> David Bremner <david@tethera.net> writes:
>
>> I don't think the fact that we can't do a perfect job is a reason not to
>> improve the error checking. There are many errors that can be detected
>> that currently are not. Is erroring on an unknown mml tag (which
>> nonethless actually looks like a tag) actually difficult?
>
> It's not difficult to bug out on <#unknown>, but since Message mode
> buffers mostly free text, doing so would lead to people having their
> emails fail if they were to type such a thing by hand.  MML is only
> recognised if it's one of the keywords it er recognises.

It seems to me that there's a sensible balance to be struck, where MML
can carve out a recognizable, predictable space, while still not causing
unncessary failures.

For example, it could try to interpret every sequence that starts with
the two characters U+003C LESS-THAN SIGN, U+0023 NUMBER, and ends with
U+003E GREATER-THAN SIGN, if those characters are all on a single
line. (does mml handle tags split across multiple lines?)

But since the goal of this bug report, afaict, is to reduce user error
when composing and sending mail in mml-mode, UI/UX feedback choices are
pretty critical to making this work right.

I do note that mml-mode itself offers some help, because it seems to
apply a different textual style to strings that mml will act on.  As
long as the user can visually distinguish between these textual styles,
and assuming that the matching rules in mml-mode are precisely aligned
with the mml-based transformation that happens just before a buffer is
sent, then the user has some amount of feedback -- but i'm not sure that
both of those assumptions holds in a buffer during arbitrary editing.
Does it?

Even better UX would be a distinct textual style between a
valid/actionable mml-tag and an mml-tag that has an error in it, so that
the user oomposing the buffer has immediate feedback about potentially
problematic strings.

Thanks for maintaining MML!

       --dkg

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 227 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* bug#18513: 24.3; message-mode sends unencrypted on error
  2019-09-24 10:49           ` Daniel Kahn Gillmor
@ 2019-09-25 13:05             ` Lars Ingebrigtsen
  0 siblings, 0 replies; 11+ messages in thread
From: Lars Ingebrigtsen @ 2019-09-25 13:05 UTC (permalink / raw)
  To: Daniel Kahn Gillmor; +Cc: David Bremner, 18513, Daiki Ueno

Daniel Kahn Gillmor <dkg@fifthhorseman.net> writes:

>> It's not difficult to bug out on <#unknown>, but since Message mode
>> buffers mostly free text, doing so would lead to people having their
>> emails fail if they were to type such a thing by hand.  MML is only
>> recognised if it's one of the keywords it er recognises.
>
> It seems to me that there's a sensible balance to be struck, where MML
> can carve out a recognizable, predictable space, while still not causing
> unncessary failures.
>
> For example, it could try to interpret every sequence that starts with
> the two characters U+003C LESS-THAN SIGN, U+0023 NUMBER, and ends with
> U+003E GREATER-THAN SIGN, if those characters are all on a single
> line. (does mml handle tags split across multiple lines?)

But that would trigger on this <#no-mml tag> and would annoy people.

> I do note that mml-mode itself offers some help, because it seems to
> apply a different textual style to strings that mml will act on.  As
> long as the user can visually distinguish between these textual styles,
> and assuming that the matching rules in mml-mode are precisely aligned
> with the mml-based transformation that happens just before a buffer is
> sent, then the user has some amount of feedback -- but i'm not sure that
> both of those assumptions holds in a buffer during arbitrary editing.
> Does it?

I think so.

But perhaps there should be a secondary level of testing for
encryption-related commands.  That is, if you've typed `C-c C-m c p'
(for instance), and then the MML parser doesn't find any encryption tags
in the buffer, then it could ask something like "You indicated that you
wanted this to be encrypted, but it won't be; send anyway?"

I mean, you may have used that command and then removed the "secure"
tag because you changed your mind, so completely refusing to send
probably isn't a good idea.

This warning stuff could be done via a buffer-local variable, I
guess...  Although that wouldn't survive a round trip to the drafts
group.

Perhaps a header?

User-Wants-Encryption: yes

?

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





^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2019-09-25 13:05 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-09-20  6:12 bug#18513: 24.3; message-mode sends unencrypted on error David Bremner
2014-09-29 11:09 ` Daiki Ueno
2014-09-29 12:14   ` David Bremner
2014-09-30  1:36     ` Daiki Ueno
2019-09-23 11:46     ` Lars Ingebrigtsen
2019-09-23 12:18       ` David Bremner
2019-09-23 13:53         ` Lars Ingebrigtsen
2019-09-24 10:49           ` Daniel Kahn Gillmor
2019-09-25 13:05             ` Lars Ingebrigtsen
2014-10-01  1:28   ` Glenn Morris
2014-10-01  2:32     ` Daiki Ueno

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).