Subject: Re: bug#31475: 25.3; authinfo password backslash problem

From: Michael Albinus <[email-masked]>
Date: Sun, 03 Jun 2018 17:27:07 +0200

Max Froumentin <[email-masked]> writes:

Hi Max,

> Assumption: 
>   User's IMAP password has a backslash character ('\') in it.
>
> Steps:
>   1. Setup gnus so it connects to an imap backend
>   2. Start gnus
>   3. Enter the username and password of the IMAP account
>   4. Say yes to saving the credentials in .authinfo
>   5. Quit emacs
>   6. Restart emacs
>   7. M-x gnus
>   8. Authentication fails
>
> The password saved in the .authinfo file has its backlash escaped
> ('\\').  If the file is edited directly and the extra backslash is removed,
> authentication works again.
>
> In GNU Emacs 25.3.1 (x86_64-apple-darwin16.7.0, NS appkit-1504.83 Version 10.12.6 (Build 16G1036))

I cannot reproduce it here, using

In GNU Emacs 25.2.2 (x86_64-pc-linux-gnu, GTK+ Version 3.22.21)

The following is an extract of nnimap.el, which I have used for testing:

--8<---------------cut here---------------start------------->8---
(progn
  (require 'nnimap)
  (let ((credentials (nnimap-credentials "address" "imap" "user")))
    (funcall (nth 2 credentials))))
--8<---------------cut here---------------end--------------->8---

When I run this code snippet from a fresh Emacs started with "emacs -Q",
I am asked for

--8<---------------cut here---------------start------------->8---
IMAP password for user@address: 
--8<---------------cut here---------------end--------------->8---

I enter "test\user" (without the apostrophs). Then I'm asked

--8<---------------cut here---------------start------------->8---
Save auth info to file ~/.authinfo [y/n/Ne/?]
--8<---------------cut here---------------end--------------->8---

Now I type "y" (without the apostrophs), and see the result of the
evaluation in the minibuffer. And in ~/.authinfo, there is a new line

--8<---------------cut here---------------start------------->8---
machine address login user port imap password test\user
--8<---------------cut here---------------end--------------->8---

Looks like expected. Could you pls run the same scenario on your
machine? Maybe there's a difference because you use macOS, and I use GNU
Linux.

Best regards, Michael.