On Sun, 12 Jan 2025 06:52:55 +0100, Daniel Sahlberg
<daniel.l.sahlb...@gmail.com> wrote:

>> But it is not working on the Ubuntu server on the main LAN.
>> What can I do in order for the script to run without asking for my
>> password?
>> Svn version on the linux server is:  1.14.1
>>
>> I have not used svn on that machine previously as far as I can remember...
>> It is used as an OpenVPN server.
>> And it is a *server* without any desktop. The only way to work on it is
>> via an
>> SSH terminal (like PuTTY).
>>
>> I have enabled the following line in $HOME/.subversion/servers:
>>
>> [global]
>> store-passwords = yes
>>
>> Any ideas?
>>
>> (I don't know how to craft a Windows bat file to do the checking above so
>> that
>> is why I turned to the Linux server...)
>
>
>See
>https://subversion.apache.org/faq.html#plaintext-passwords, in particular
>"I want to use the Plaintext cache but it wasn't enabled at compile time."

I am not specifically interested in a *plaintext* password store, what I want is
to store the passwords locally (encrypted is fine) and accessible by svn when
the system does not have a GUI desktop.

I have used subversion on a number of Raspberry Pi devices and ran across the
caching problem before and on those cases what happened was that when working on
an ssh command prompt the svn operations just stalled and I could not understand
why until I by "accident" had the desktop open in a VNC window to the side and
discovered that when it stalled then a GUI(!) dialog popped up about logging in
to the password cache (or something similar) in that other window!!!
Then after entering the password into *that* GUI dialog the command line command
completed!

It indicates that someone has not thought this through but assumes there is a
desktop available so the interactions can be run there.....

My Linux servers are just that, no GUI desktop installed and yet subversion
seems to not offer a GUI-less way to cache the credentials...


I have checked with svn auth on both Ubuntu servers  (below I have obfuscated
identity information in the command/response items):

On my mirror server, which does not have access to the main server since they
are on separate LAN:s and the main server is only locally available:

$ svn auth
------------------------------------------------------------------------
Credential kind: svn.simple
Authentication realm: <https://svn.mirrorserver.com:443> Subversion Repository
Password cache: simple
Password: [not shown]
Username: bosse

Credentials cache in '/home/bosse/.subversion' contains 1 credential

On the Ubuntu server on the same LAN as the main svn server, the server that
asks for my password every time:

$ svn auth
------------------------------------------------------------------------
Credential kind: svn.simple
Authentication realm: <https://mainserver:443> VisualSVN Server
Password cache: gpg-agent
Username: bosse

------------------------------------------------------------------------
Credential kind: svn.simple
Authentication realm: <https://svn.mirrorserver.com:443> Subversion Repository
Password cache: gpg-agent
Username: bosse

------------------------------------------------------------------------
Credential kind: svn.ssl.server
Authentication realm: https://mainserver:443
Subject: CN=mainserver, O=Companyname, OU=R&D, ST=Texas, L=Austin
Valid from: 2017-12-13 03:44:07 -0600 (Wed, 13 Dec 2017)
Valid until: 2027-12-11 03:44:07 -0600 (Sat, 11 Dec 2027)
Issuer: CN=mainserver, O=Companyname, OU=R&D, ST=Texas, L=Austin
Fingerprint: c3f454ff18557e37cdc50499ecc5dd8081a943bb
Hostnames: mainserver
Automatic certificate validity check failed because:
  The certificate issuer is unknown.

Credentials cache in '/home/bosse/.subversion' contains 3 credentials


On my Linux servers the files $HOME/.subversion/config does not contain any
active lines.
The file servers on the mirror server is also all commented out, but I have this
on the server on the main network:

[global]
store-passwords = yes

Everything else are just comments.

How can I enable a working password cache on my Linux server which is no the
main network? It must *not* be tied to any desktop only system.

The problem server on the *main network* shows this:

$ svn --version
svn, version 1.14.1 (r1886195)
   compiled May 21 2022, 10:52:35 on x86_64-pc-linux-gnu
....
The following authentication credential caches are available:

* Gnome Keyring
* GPG-Agent
* KWallet (KDE)

How do I enable something that works in a commandline-only setting?

My mirror server has this:

$ svn --version
svn, version 1.14.3 (r1914484)
   compiled Apr  1 2024, 04:55:49 on x86_64-pc-linux-gnu
....
The following authentication credential caches are available:

* Plaintext cache in /home/bosse/.subversion
* Gnome Keyring
* GPG-Agent
* KWallet (KDE)

So there is a small difference... (but I believe KDE is a GUI thing, right?)


-- 
Bo Berglund
Developer in Sweden

Reply via email to