On 2/26/19 8:42 PM, Alexey Neyman wrote:
On 2/26/19 12:07 AM, Stefan Sperling wrote:
On Mon, Feb 25, 2019 at 05:41:13PM -0800, Alexey Neyman wrote:
Hi all,

I am encountering some weird behavior after upgrading my workstation to
Ubuntu 18.10 - which also upgraded the SVN to version 1.10.0 (r1827917).

An attempt to query anything from the server using the `--non-interactive` flag fails, unless there has been a recent "interactive session" with this
server.

aneyman@yehat:~/work/lsk-ranges$ svn --non-interactive pl ^/
svn: E170013: Unable to connect to a repository at URL
'svn://svn.lynx.com/lynxsecure'
svn: E170001: Can't get username or password
aneyman@yehat:~/work/lsk-ranges$ svn pl ^/
Properties on 'svn://svn.lynx.com/lynxsecure':
   reviewboard:url
aneyman@yehat:~/work/lsk-ranges$ svn --non-interactive pl ^/
Properties on 'svn://svn.lynx.com/lynxsecure':
   reviewboard:url

This happens during various actions by `rbt` (RBTools) which runs svn with
--non-interactive flag.

Note that the "interactive" run of svn does not even query the password - it happily uses the stored password and proceeds. Why isn't the non-interactive
invocation doing the same?

I also tried the development version of Subversion a couple of weeks ago; it
has the same behavior.

Regards,
Alexey.
I agree this looks like a bug.

To find the bug we'll likely need to know which password store is
actually being used by your installation of Subversion.
plaintext? gpg-agent? gnome-keyring? kwallet?

SVN configuration doesn't have the password store option specified, so I assume it is using the default - according to the comment in the .subversion/config, it is "gpg-agent,gnome-keyring,kwallet". I have kwallet installed and configured with empty master password. I also have gpg-agent and gnome-keyring installed, but I don't think I ever used either of them on that machine. How can I check which store was SVN actually trying to use at the time it happens?
Actually, it is gpg-agent.

I went to $HOME/.subversion/auth/svn.simple; somehow there is a mixture of files using gpg-agent and gnome-keyring authentication methods. I found the one corresponding to the repository URL; it has:

K 8
passtype
V 9
gpg-agent

Funny thing is, I found another file in that directory that refers to the same repository, just with a different URL (one is using the FQDN of the Subversion server, the other just the hostname). That other file uses gnome-keyring and it seems to work fine:

aneyman@yehat:~/work/lsk-pristine$ svn --non-interactive pl svn://svn/lynxsecure
Properties on 'svn://svn/lynxsecure':
  reviewboard:url
aneyman@yehat:~/work/lsk-pristine$ svn --non-interactive pl svn://svn.lynx.com/lynxsecure svn: E170013: Unable to connect to a repository at URL 'svn://svn.lynx.com/lynxsecure'
svn: E170001: Can't get username or password

How does SVN decide when to use gpg-agent and when to use gnome-keyring? By the way, I am running KDE so I'd assume the kwallet would be the default - but it isn't...

If you need me to build Subversion with some kind of debugging patch, let me know.

Regards,
Alexey.

Reply via email to