Author: hartmannathan Date: Thu Apr 27 13:27:41 2023 New Revision: 1909457 URL: http://svn.apache.org/viewvc?rev=1909457&view=rev Log: In site/staging: Document r1909351 (plaintext cache supported by default)
* site/staging/docs/release-notes/1.15.html: (#plaintext-passwords-supported): New subsection. Reviewed by: jcorvel (without HTML markup) Modified: subversion/site/staging/docs/release-notes/1.15.html Modified: subversion/site/staging/docs/release-notes/1.15.html URL: http://svn.apache.org/viewvc/subversion/site/staging/docs/release-notes/1.15.html?rev=1909457&r1=1909456&r2=1909457&view=diff ============================================================================== --- subversion/site/staging/docs/release-notes/1.15.html (original) +++ subversion/site/staging/docs/release-notes/1.15.html Thu Apr 27 13:27:41 2023 @@ -429,6 +429,67 @@ performance and reduced storage-level I/ title="Link to this section">¶</a> </h3> +<div class="h4" id="plaintext-passwords-supported"> +<h4>Plaintext credential cache is supported by default on Unix-like systems + <a class="sectionlink" href="#plaintext-passwords-supported" + title="Link to this section">¶</a> +</h4> + +<p>Subversion supports several credential caches to prevent re-typing +usernames and passwords repeatedly. Which credential cache(s) are used depends +on the operating system, compile-time options, and the user's runtime +configuration. On Windows and macOS, Subversion uses OS facilities to save +passwords in encrypted form. Unix-like operating systems do not have a single +standard facility to do this; on these systems, Subversion supports up to +four credential caches: GNOME Keyring, KWallet, GPG Agent, and (as a fallback) +the Plaintext cache.</p> + +<p>The rest of this section discusses the Plaintext cache and is applicable +only to Subversion clients running on Unix-like operating systems.</p> + +<p>In Subversion 1.12 through 1.14, write access to the Plaintext cache was +disabled by default at <em>compile-time</em>. Binaries compiled in the default +configuration could not store new plaintext credentials, but would continue to +use any that were already stored. Users and binary packagers could explicitly +enable write access to the Plaintext cache by compiling Subversion with the +<tt>--enable-plaintext-password-storage</tt> option to <tt>configure</tt>. +(See <a href="https://svn.apache.org/r1845377">r1845377</a>.)</p> + +<p>Unfortunately, this has caused a variety of problems for users, especially +when using the svn client in unattended processes such as CI systems, or on +remote machines through ssh (a GUI password prompt would display on the remote +machine, inaccessible to the ssh user). Users reported that they had to employ +workarounds that caused passwords to be stored in plaintext anyway, or refused +to upgrade their Subversion installations to these releases. Some binary +packagers built with <tt>--enable-plaintext-password-storage</tt> while others +didn't, creating inconsistent experiences within the same release lines.</p> + +<p>Based on the feedback received, Subversion 1.15 inverts the default. (See +<a href="https://svn.apache.org/r1909351">r1909351</a>.) Binaries compiled in +the default configuration can once again store new plaintext credentials +(after warning and asking the user). Sites that wish to eliminate this +possibility can do one or both of the following:</p> + +<ul> +<li>Compile Subversion with the <tt>--disable-plaintext-password-storage</tt> + option to <tt>configure</tt> or install a binary package that was compiled + this way. Be aware that users can circumvent this by compiling or + installing their own Subversion binaries and/or by creating a plaintext + cache manually.</li> +<li>Allow encrypted stores like GNOME Keyring and KWallet, but not the + Plaintext cache, by setting <tt>store-plaintext-passwords = no</tt> in + Subversion's run-time config settings. See the per user files at + <tt>~/.subversion/config</tt> and <tt>~/.subversion/servers</tt>, and the + systemwide files at <tt>/etc/subversion/config</tt> and + <tt>/etc/subversion/servers</tt>.</li> +</ul> + +<p>For more on plaintext credentials, see the <a +href="https://subversion.apache.org/faq.html#plaintext-passwords" +>FAQ entry.</a></p> + +</div> <!-- plaintext-passwords-supported --> + </div> <!-- client-server-improvements --> </div> <!-- enhancements -->