* bug#31846: 26.1; secrets.el can't create gnome keyring items/smtpmail.el can't get credentials from gnome keyring
@ 2018-06-15 10:19 lebitso
2018-06-16 10:31 ` Michael Albinus
0 siblings, 1 reply; 4+ messages in thread
From: lebitso @ 2018-06-15 10:19 UTC (permalink / raw)
To: 31846
Hello List,
my initial problem was that I can't send mails from mu4e anymore, when I
try to it fails and gives the message
apply: Wrong type argument: consp, "host"
I then found out that I can send mails if I enter the the credentials
manually instead of getting them from gnome keyring as I usually do.
So I looked into it and found there's another problem with secrets.el
that i think is related.
To create items in my keyring I use
(secrets-create-item "Default keyring" "NAME" "PASSWORD"
:host "HOST"
:user "USER"
:port "PORT")
I know this used to work a few weeks ago but if I try to evaluate this
or any expression with secrets-create-item and keyword arguments, now i
get the following error:
Debugger entered--Lisp error: (wrong-type-argument consp "host")
dbus-message-internal(1 :session "org.freedesktop.secrets"
"/org/freedesktop/secrets/collection/Default_5fkeyring"
"org.freedesktop.Secret.Collection" "CreateItem"
dbus-call-method-handler (:array (:dict-entry
"org.freedesktop.Secret.Item.Label" (:variant "NAME")) (:dict-entry
"org.freedesktop.Secret.Item.Type" (:variant
"org.freedesktop.Secret.Generic")) (:dict-entry
"org.freedesktop.Secret.Item.Attributes" (:variant (:array :dict-entry
"host" "HOST" :dict-entry "user" "USER" :dict-entry "port" "PORT"))))
(:struct :object-path "/org/freedesktop/secrets/session/s4" (:array
:signature "y") (:array :byte 80 :byte 65 :byte 83 :byte 83 :byte 87
:byte 79 :byte 82 :byte 68) "text/plain") nil)
apply(dbus-message-internal 1 :session "org.freedesktop.secrets"
"/org/freedesktop/secrets/collection/Default_5fkeyring"
"org.freedesktop.Secret.Collection" "CreateItem"
dbus-call-method-handler ((:array (:dict-entry
"org.freedesktop.Secret.Item.Label" (:variant "NAME")) (:dict-entry
"org.freedesktop.Secret.Item.Type" (:variant
"org.freedesktop.Secret.Generic")) (:dict-entry
"org.freedesktop.Secret.Item.Attributes" (:variant (:array :dict-entry
"host" "HOST" :dict-entry "user" "USER" :dict-entry "port" "PORT"))))
(:struct :object-path "/org/freedesktop/secrets/session/s4" (:array
:signature "y") (:array :byte 80 :byte 65 :byte 83 :byte 83 :byte 87
:byte 79 :byte 82 :byte 68) "text/plain") nil))
dbus-call-method(:session "org.freedesktop.secrets"
"/org/freedesktop/secrets/collection/Default_5fkeyring"
"org.freedesktop.Secret.Collection" "CreateItem" (:array (:dict-entry
"org.freedesktop.Secret.Item.Label" (:variant "NAME")) (:dict-entry
"org.freedesktop.Secret.Item.Type" (:variant
"org.freedesktop.Secret.Generic")) (:dict-entry
"org.freedesktop.Secret.Item.Attributes" (:variant (:array :dict-entry
"host" "HOST" :dict-entry "user" "USER" :dict-entry "port" "PORT"))))
(:struct :object-path "/org/freedesktop/secrets/session/s4" (:array
:signature "y") (:array :byte 80 :byte 65 :byte 83 :byte 83 :byte 87
:byte 79 :byte 82 :byte 68) "text/plain") nil)
secrets-create-item("Default keyring" "NAME" "PASSWORD" :host "HOST"
:user "USER" :port "PORT")
eval((secrets-create-item "Default keyring" "NAME" "PASSWORD" :host
"HOST" :user "USER" :port "PORT") nil)
elisp--eval-last-sexp(nil)
#f(compiled-function (eval-last-sexp-arg-internal) "Evaluate sexp
before point; print value in the echo area.\nInteractively, with a non
`-' prefix argument, print output into\ncurrent buffer.\n\nNormally,
this function truncates long output according to the\nvalue of the
variables `eval-expression-print-length'
and\n`eval-expression-print-level'. With a prefix argument of
zero,\nhowever, there is no such truncation. Such a prefix
argument\nalso causes integers to be printed in several additional
formats\n(octal, hexadecimal, and character when the prefix argument
is\n-1 or the integer is `eval-expression-print-maximum-character'
or\nless).\n\nIf `eval-expression-debug-on-error' is non-nil, which is
the default,\nthis command arranges for all errors to enter the
debugger." (interactive "P") #<bytecode 0x273ed3>)(nil)
#f(compiled-function (&rest _it) #<bytecode 0x364aa61>)()
eval-sexp-fu-flash-doit-simple(#f(compiled-function (&rest _it)
#<bytecode 0x364aa61>) #f(compiled-function (&rest args2) #<bytecode
0x30583f5>) #f(compiled-function (&rest args2) #<bytecode 0x3058415>))
eval-sexp-fu-flash-doit(#f(compiled-function (&rest _it) #<bytecode
0x364aa61>) #f(compiled-function (&rest args2) #<bytecode 0x30583f5>)
#f(compiled-function (&rest args2) #<bytecode 0x3058415>))
esf-flash-doit(#f(compiled-function (&rest _it) #<bytecode 0x364aa61>)
#f(compiled-function (&rest args2) #<bytecode 0x30583f5>)
#f(compiled-function (&rest args2) #<bytecode 0x3058415>)
#f(compiled-function (&rest args2) #<bytecode 0x3058435>))
ad-Advice-eval-last-sexp(#f(compiled-function
(eval-last-sexp-arg-internal) "Evaluate sexp before point; print value
in the echo area.\nInteractively, with a non `-' prefix argument, print
output into\ncurrent buffer.\n\nNormally, this function truncates long
output according to the\nvalue of the variables
`eval-expression-print-length' and\n`eval-expression-print-level'. With
a prefix argument of zero,\nhowever, there is no such truncation. Such
a prefix argument\nalso causes integers to be printed in several
additional formats\n(octal, hexadecimal, and character when the prefix
argument is\n-1 or the integer is
`eval-expression-print-maximum-character' or\nless).\n\nIf
`eval-expression-debug-on-error' is non-nil, which is the default,\nthis
command arranges for all errors to enter the debugger." (interactive
"P") #<bytecode 0x273ed3>) nil)
apply(ad-Advice-eval-last-sexp #f(compiled-function
(eval-last-sexp-arg-internal) "Evaluate sexp before point; print value
in the echo area.\nInteractively, with a non `-' prefix argument, print
output into\ncurrent buffer.\n\nNormally, this function truncates long
output according to the\nvalue of the variables
`eval-expression-print-length' and\n`eval-expression-print-level'. With
a prefix argument of zero,\nhowever, there is no such truncation. Such
a prefix argument\nalso causes integers to be printed in several
additional formats\n(octal, hexadecimal, and character when the prefix
argument is\n-1 or the integer is
`eval-expression-print-maximum-character' or\nless).\n\nIf
`eval-expression-debug-on-error' is non-nil, which is the default,\nthis
command arranges for all errors to enter the debugger." (interactive
"P") #<bytecode 0x273ed3>) nil)
eval-last-sexp(nil)
funcall-interactively(eval-last-sexp nil)
call-interactively(eval-last-sexp)
(save-excursion (let ((max 10)) (while (and (> max 0)
(sp-point-in-string-or-comment)) (setq max (1- max)) (sp-up-sexp)))
(sp-up-sexp arg) (call-interactively 'eval-last-sexp))
(let ((evil-move-beyond-eol t)) (save-excursion (let ((max 10)) (while
(and (> max 0) (sp-point-in-string-or-comment)) (setq max (1- max))
(sp-up-sexp))) (sp-up-sexp arg) (call-interactively 'eval-last-sexp)))
spacemacs/eval-current-form-sp(1)
funcall-interactively(spacemacs/eval-current-form-sp 1)
call-interactively(spacemacs/eval-current-form-sp nil nil)
command-execute(spacemacs/eval-current-form-sp)
The wrong-type-argument is always the first keyword given to
secrets-create-item.
Without keyword arguments the function works. All other
secrets-Functions seem to work as expected.
I'm on Arch Linux. Other Applications can create new items in the
keyring without a problem. The only thing that I can think of that has
changed since the last time I kno this worked is the upgrade to emacs26.
The Problem does occur in the same way with emacs -Q as it does with my
full configuration.
I've posted this on the subreddit already
(https://www.reddit.com/r/emacs/comments/8r1hnc/is_secretsel_broken/)
and am not yet sure that this isn't some issue with my system, even
though
I have no idea what could've caused it so I'd appreciate any feedback on
whether you can reproduce this issue.
Thanks,
L.
In GNU Emacs 26.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.22.30)
of 2018-05-29 built on juergen
Windowing system distributor 'The X.Org Foundation', version
11.0.12000000
Configured using:
'configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib
--localstatedir=/var --with-x-toolkit=gtk3 --with-xft --with-modules
'CFLAGS=-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong
-fno-plt' CPPFLAGS=-D_FORTIFY_SOURCE=2
LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now'
Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GSETTINGS NOTIFY
ACL GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS
GTK3 X11 MODULES THREADS LIBSYSTEMD LCMS2
Important settings:
value of $LC_MONETARY: de_DE.UTF-8
value of $LC_NUMERIC: de_DE.UTF-8
value of $LC_TIME: de_DE.UTF-8
value of $LANG: en_US.UTF-8
locale-coding-system: utf-8-unix
^ permalink raw reply [flat|nested] 4+ messages in thread
* bug#31846: 26.1; secrets.el can't create gnome keyring items/smtpmail.el can't get credentials from gnome keyring
2018-06-15 10:19 bug#31846: 26.1; secrets.el can't create gnome keyring items/smtpmail.el can't get credentials from gnome keyring lebitso
@ 2018-06-16 10:31 ` Michael Albinus
2018-06-16 13:00 ` Lukas Woell
0 siblings, 1 reply; 4+ messages in thread
From: Michael Albinus @ 2018-06-16 10:31 UTC (permalink / raw)
To: lebitso; +Cc: 31846
[-- Attachment #1: Type: text/plain, Size: 1391 bytes --]
lebitso <lebitso@posteo.net> writes:
> Hello List,
Hi,
> my initial problem was that I can't send mails from mu4e anymore, when I
> try to it fails and gives the message
>
> I then found out that I can send mails if I enter the the credentials
> manually instead of getting them from gnome keyring as I usually do.
> So I looked into it and found there's another problem with secrets.el
> that i think is related.
>
> I'm on Arch Linux. Other Applications can create new items in the
> keyring without a problem. The only thing that I can think of that has
> changed since the last time I kno this worked is the upgrade to emacs26.
> The Problem does occur in the same way with emacs -Q as it does with my
> full configuration.
>
> I have no idea what could've caused it so I'd appreciate any feedback on
> whether you can reproduce this issue.
Confirmed, I can reproduce it with Emacs 26.
In Emacs 27.0.50, this is fixed already, by commit b3956d85c7 related to
bug#29575. Since this is part of a larger rewrite of secrets.el due to a
new feature, I cannot simply cherry-pick that commit from Emacs' master
branch to the emacs-26 branch. IIRC, the bug was uncovered while working
on the new feature, and it was fixed silently.
The appended patch seems to fix the problem in the emacs-26
branch. Could you, pls, check whether it works for you?
> Thanks,
> L.
Best regards, Michael.
[-- Attachment #2: Type: text/plain, Size: 1027 bytes --]
diff --git a/lisp/net/secrets.el b/lisp/net/secrets.el
index fbb0a74978..c468548316 100644
--- a/lisp/net/secrets.el
+++ b/lisp/net/secrets.el
@@ -612,9 +612,9 @@ secrets-search-items
(error 'wrong-type-argument (cadr attributes)))
(setq props (append
props
- (list :dict-entry
- (substring (symbol-name (car attributes)) 1)
- (cadr attributes)))
+ `((:dict-entry
+ ,(substring (symbol-name (car attributes)) 1)
+ ,(cadr attributes))))
attributes (cddr attributes)))
;; Search. The result is a list of object paths.
(setq result
@@ -650,9 +650,9 @@ secrets-create-item
(error 'wrong-type-argument (cadr attributes)))
(setq props (append
props
- (list :dict-entry
- (substring (symbol-name (car attributes)) 1)
- (cadr attributes)))
+ `((:dict-entry
+ ,(substring (symbol-name (car attributes)) 1)
+ ,(cadr attributes))))
attributes (cddr attributes)))
;; Create the item.
(setq result
^ permalink raw reply related [flat|nested] 4+ messages in thread
* bug#31846: 26.1; secrets.el can't create gnome keyring items/smtpmail.el can't get credentials from gnome keyring
2018-06-16 10:31 ` Michael Albinus
@ 2018-06-16 13:00 ` Lukas Woell
2018-06-16 14:07 ` Michael Albinus
0 siblings, 1 reply; 4+ messages in thread
From: Lukas Woell @ 2018-06-16 13:00 UTC (permalink / raw)
To: Michael Albinus; +Cc: 31846
Michael Albinus <michael.albinus@gmx.de> writes:
> The appended patch seems to fix the problem in the emacs-26
> branch. Could you, pls, check whether it works for you?
It does!
Thanks,
L.
^ permalink raw reply [flat|nested] 4+ messages in thread
* bug#31846: 26.1; secrets.el can't create gnome keyring items/smtpmail.el can't get credentials from gnome keyring
2018-06-16 13:00 ` Lukas Woell
@ 2018-06-16 14:07 ` Michael Albinus
0 siblings, 0 replies; 4+ messages in thread
From: Michael Albinus @ 2018-06-16 14:07 UTC (permalink / raw)
To: Lukas Woell; +Cc: 31846-done
Version: 26.2
Lukas Woell <lukas.woell@posteo.de> writes:
Hi Lukas,
>> The appended patch seems to fix the problem in the emacs-26
>> branch. Could you, pls, check whether it works for you?
>
> It does!
Thanks for the feedback. I've committed the patch to the emacs-26
branch, will appear with Emacs 26.2.
Closing the bug.
> Thanks,
> L.
Best regards, Michael.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2018-06-16 14:07 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-06-15 10:19 bug#31846: 26.1; secrets.el can't create gnome keyring items/smtpmail.el can't get credentials from gnome keyring lebitso
2018-06-16 10:31 ` Michael Albinus
2018-06-16 13:00 ` Lukas Woell
2018-06-16 14:07 ` Michael Albinus
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.