Given that we support a number of secure credentials stores, I propose
that, starting with 1.14.0 LTS, we disable the on-disk plain-text
password store by default. I've prepared a patch for configure.ac to
issue appropriate warnings before that time. If we decide to do this, we
should also mention it in our roadmap on the site.

-- Brane

Index: configure.ac
===================================================================
--- configure.ac        (revision 1845215)
+++ configure.ac        (working copy)
@@ -866,6 +866,35 @@
 fi
 
 dnl plaintext passwords -------------------
+dnl FIXME: warn when we're at version 1.14
+ifelse(1, regexp(AC_PACKAGE_VERSION, [^\([0-9]*\)\..*], [\1]),
+ifelse(14, regexp(AC_PACKAGE_VERSION, [^[0-9]*\.\([0-9]*\)\..*], [\1]),
+AC_MSG_WARN([
+==================================================================
+
+Remember to make --disable-plaintext-password-storage the default!
+
+==================================================================])))
+dnl
+dnl TODO: After 1.14.0:
+dnl AC_ARG_ENABLE(plaintext-password-storage,
+dnl AS_HELP_STRING([--enable-plaintext-password-storage],
+dnl                [Enable on-disk caching of plaintext passwords and 
passphrases.
+dnl                 (Enabling this functionality will not force Subversion
+dnl                 to store passwords in plaintext, but does permit users to
+dnl                 explicitly allow that behavior via runtime 
configuration.)]),
+dnl [plaintext_passwd_storage="$enableval"],
+dnl [plaintext_passwd_storage="no"])
+dnl
+dnl if test "$plaintext_passwd_storage" = "yes"; then
+dnl   AC_MSG_WARN([Enabling plaintext password/passphrase storage])
+dnl else
+dnl   AC_MSG_NOTICE([Disabling plaintext password/passphrase storage])
+dnl   AC_DEFINE(SVN_DISABLE_PLAINTEXT_PASSWORD_STORAGE, 1,
+dnl             [Defined if plaintext password/passphrase storage is disabled])
+dnl fi
+dnl
+dnl Before 1.14.0:
 AC_ARG_ENABLE(plaintext-password-storage,
 AS_HELP_STRING([--disable-plaintext-password-storage],
                [Disable on-disk caching of plaintext passwords and passphrases.
@@ -872,14 +901,24 @@
                 (Leaving this functionality enabled will not force Subversion
                 to store passwords in plaintext, but does permit users to
                 explicitly allow that behavior via runtime configuration.)]),
-[
-   if test "$enableval" = "no"; then
-      AC_MSG_NOTICE([Disabling plaintext password/passphrase storage])
-      AC_DEFINE(SVN_DISABLE_PLAINTEXT_PASSWORD_STORAGE, 1,
-                [Defined if plaintext password/passphrase storage is disabled])
-   fi
-])
+[plaintext_passwd_storage="$enableval"],
+[plaintext_passwd_storage="yes"])
 
+if test "$plaintext_passwd_storage" = "no"; then
+  AC_MSG_NOTICE([Disabling plaintext password/passphrase storage])
+  AC_DEFINE(SVN_DISABLE_PLAINTEXT_PASSWORD_STORAGE, 1,
+            [Defined if plaintext password/passphrase storage is disabled])
+else
+  AC_MSG_WARN([
+==================================================================
+
+Plaintext password/passphrase storage is enabled.
+Consider using the --disable-plaintext-password-storage option to
+disable it. This will become the default in Subversion 1.14.0 LTS.
+
+==================================================================])
+fi
+
 dnl Build and install rules -------------------
 
 INSTALL_STATIC_RULES="install-bin install-docs"

Reply via email to