I love that our new svn_cmdline_auth_plaintext_prompt() screams murder
about storing the password in plaintext! However, I ran into a bug
this morning with it. svnmucc was passing a NULL prompt baton into it
(which seems legitimate to me), and the function was just blindly
dereferencing the baton to find the user's config_path. I made a
small patch below which conditionalizes the printing of the
config_path text. It fixes the svnmucc segfault. Any objections to
my committing this?
(I'm asking before I commit, since I've not been paying detailed
attention to this new feature.)
Index: subversion/libsvn_subr/prompt.c
===================================================================
--- subversion/libsvn_subr/prompt.c (revision 31680)
+++ subversion/libsvn_subr/prompt.c (working copy)
@@ -390,11 +390,12 @@
svn_boolean_t answered = FALSE;
const char *prompt_string = _("Store password unencrypted (yes/no)? ");
svn_cmdline_prompt_baton2_t *pb = baton;
- const char *config_path;
-
- SVN_ERR(svn_config_get_user_config_path(&config_path, pb->config_dir,
- SVN_CONFIG_CATEGORY_SERVERS, pool));
+ const char *config_path = NULL;
+ if (pb)
+ SVN_ERR(svn_config_get_user_config_path(&config_path, pb->config_dir,
+
SVN_CONFIG_CATEGORY_SERVERS, pool));
+
SVN_ERR(svn_cmdline_fprintf(stderr, pool,
_("-----------------------------------------------------------------------\n"
"ATTENTION! Your password for authentication realm:\n"
@@ -404,13 +405,19 @@
"can only be stored to disk unencrypted! You are advised to configure\n"
"your system so that Subversion can store passwords encrypted, if\n"
"possible. See the documentation for details.\n"
- "\n"
- "You can avoid future appearances of this warning by setting the value\n"
- "of the 'store-plaintext-passwords' option to either 'yes' or 'no' in\n"
- "'%s'.\n"
- "-----------------------------------------------------------------------\n"
- ), realmstring, config_path));
+ ), realmstring));
+ if (config_path)
+ SVN_ERR(svn_cmdline_fprintf(stderr, pool,
+ _("\n"
+ "You can avoid future appearances of this warning by setting
the value\n"
+ "of the 'store-plaintext-passwords' option to either 'yes' or 'no' in\n"
+ "'%s'.\n"
+ ), realmstring));
+
+ SVN_ERR(svn_cmdline_fprintf(stderr, pool,
+ "-----------------------------------------------------------------------\n"));
+
do
{
svn_error_t *err = prompt(&answer, prompt_string, FALSE, pb, pool);
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-06-10 17:35:37 CEST