[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Bug with basic test #46 and Mac OS X keychain?

From: Justin Erenkrantz <justin_at_erenkrantz.com>
Date: Thu, 13 Nov 2008 17:01:41 -0500

On trunk, basic_tests.py #46 (basic_auth_test checking #2242) fails
for me on Mac OS X 10.5.5. This appears to be a bad interaction with
SecKeychainSetUserInteractionAllowed.

% svn co http://localhost:19509/svn-test-work/local_tmp/repos
svn-test-work/working_copies/basic_tests-46 --username jrandom
--non-interactive --config-dir
svn-test-work/local_tmp/auth-test-config
svn: No more credentials or we tried too many times.
Authentication failed
% svn co http://localhost:19509/svn-test-work/local_tmp/repos
svn-test-work/working_copies/basic_tests-46 --username jrandom
--config-dir svn-test-work/local_tmp/auth-test-config
Checked out revision 1.

Note the only difference is --non-interactive between the two
commands. If I apply the patch below, then the test passes....

% svn co http://localhost:19509/svn-test-work/local_tmp/repos
svn-test-work/working_copies/basic_tests-46 --username jrandom
--non-interactive --config-dir
svn-test-work/local_tmp/auth-test-config
Checked out revision 1.

Hyrum and Greg don't report seeing this failure on their Mac boxes,
but...hmm. Anyone have a clue?

Thanks. -- justin

Index: subversion/libsvn_subr/macos_keychain.c
===================================================================
--- subversion/libsvn_subr/macos_keychain.c (revision 34183)
+++ subversion/libsvn_subr/macos_keychain.c (working copy)
@@ -119,8 +119,8 @@ keychain_password_get(const char **password,
   UInt32 length;
   void *data;

- if (non_interactive)
- SecKeychainSetUserInteractionAllowed(FALSE);
+ //if (non_interactive)
+ // SecKeychainSetUserInteractionAllowed(FALSE);

   status = SecKeychainFindGenericPassword(NULL, strlen(realmstring),
                                           realmstring, username == NULL
@@ -128,8 +128,8 @@ keychain_password_get(const char **password,
                                             : strlen(username),
                                           username, &length, &data, NULL);

- if (non_interactive)
- SecKeychainSetUserInteractionAllowed(TRUE);
+ //if (non_interactive)
+ // SecKeychainSetUserInteractionAllowed(TRUE);

   if (status != 0)
     return FALSE;

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-11-13 23:01:53 CET

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.