r32404 | kameshj | 2008-08-08 03:41:18 EDT Changed paths: M /trunk/subversion/bindings/javahl/native/JNIUtil.cpp Make javahl to call 'svn_dso_initialize2' before creating any pool. * subversion/bindings/javahl/native/JNIUtil.cpp (): include "svn_dso.h" (JNIUtil::JNIGlobalInit): Call 'svn_dso_initialize2' before creating any pool. ---------------------------------------------------------------------------- r32330 | hwright | 2008-07-29 18:26:45 EDT Changed paths: M /trunk/subversion/libsvn_subr/simple_providers.c Followup r32328: Add a runtime assert for invalid input. r32328 removed a potential crash from a NULL pointer reference. However, stsp points out that the crash actually was a form of input validation. This patch uses the new SVN_ERR_ASSERT() macro to do input validation the Right Way. Suggested by: stsp * subversion/libsvn_subs/simple_providers.c (svn_auth__simple_save_creds_helper): Make sure that passtype is not NULL. ---------------------------------------------------------------------------- r32207 | kfogel | 2008-07-21 15:07:10 EDT Changed paths: M /trunk/subversion/libsvn_subr/username_providers.c * subversion/libsvn_subr/username_providers.c (AUTHN_USERNAME_KEY): New name for AUTH_USERNAME_KEY, as should have done in r32204. (stylesen posted a patch that got this right the first time, but I didn't see the patch until after r32204.) ---------------------------------------------------------------------------- r32205 | kfogel | 2008-07-21 14:09:46 EDT Changed paths: M /trunk/subversion/libsvn_subr/simple_providers.c M /trunk/subversion/libsvn_subr/ssl_client_cert_pw_providers.c M /trunk/subversion/libsvn_subr/ssl_server_trust_providers.c Document the similar roles of some constants in a more maintainable way. This follows up to r32145. Suggested by: stylesen * subversion/libsvn_subr/ssl_client_cert_pw_providers.c (AUTHN_PASSPHRASE_KEY, AUTHN_PASSTYPE_KEY): Do it. * subversion/libsvn_subr/simple_providers.c (AUTHN_USERNAME_KEY, AUTHN_PASSWORD_KEY, AUTHN_PASSTYPE_KEY): Do it. * subversion/libsvn_subr/ssl_server_trust_providers.c (AUTHN_ASCII_CERT_KEY, AUTHN_FAILURES_KEY): Do it. ---------------------------------------------------------------------------- r32204 | kfogel | 2008-07-21 14:04:59 EDT Changed paths: M /trunk/subversion/libsvn_subr/username_providers.c * subversion/libsvn_subr/username_providers.c (AUTH_USERNAME_KEY): New name for SVN_CLIENT__AUTHFILE_USERNAME_KEY, as should have done in r32145. Document its relationship to similar constants in other files. ---------------------------------------------------------------------------- r32145 | kfogel | 2008-07-16 15:17:44 EDT Changed paths: M /trunk/subversion/libsvn_subr/simple_providers.c M /trunk/subversion/libsvn_subr/ssl_client_cert_pw_providers.c M /trunk/subversion/libsvn_subr/ssl_server_trust_providers.c Remove the "SVN_AUTH__" prefix from some file-local constants, so they no longer falsely give the impression of being shared across files. * subversion/libsvn_subr/ssl_server_trust_providers.c (AUTHN_ASCII_CERT_KEY): New name for SVN_AUTH__AUTHFILE_ASCII_CERT_KEY. (AUTHN_FAILURES_KEY): New name for SVN_AUTH__AUTHFILE_FAILURES_KEY. (ssl_server_trust_file_first_credentials, ssl_server_trust_file_save_credentials): Reformat to take advantage of the newly shortened names. * subversion/libsvn_subr/simple_providers.c (AUTHN_USERNAME_KEY): New name for SVN_AUTH__AUTHFILE_USERNAME_KEY. (AUTHN_PASSWORD_KEY): New name for SVN_AUTH__AUTHFILE_PASSWORD_KEY. (AUTHN_PASSTYPE_KEY): New name for SVN_AUTH__AUTHFILE_PASSTYPE_KEY. (simple_password_get, svn_auth__simple_first_creds_helper, svn_auth__simple_save_creds_helper, prompt_for_simple_creds, simple_password_set): Reformat to take advantage of the newly shortened names. * subversion/libsvn_subr/ssl_client_cert_pw_providers.c: Remove reminder about doing above; adjust rest of comment accordingly. ---------------------------------------------------------------------------- r32144 | kfogel | 2008-07-16 14:59:02 EDT Changed paths: M /trunk/subversion/libsvn_subr/config_file.c Perform a trivial abstraction noticed while working on r32132: * subversion/libsvn_subr/config_file.c (ensure_auth_subdir): New helper function, abstracts repeated code from... (ensure_auth_dirs): ...here. ---------------------------------------------------------------------------- r32132 | kfogel | 2008-07-15 15:41:22 EDT Changed paths: M /trunk/subversion/include/private/svn_auth_private.h M /trunk/subversion/include/svn_auth.h M /trunk/subversion/include/svn_auth_dso.h M /trunk/subversion/include/svn_cmdline.h M /trunk/subversion/include/svn_config.h M /trunk/subversion/libsvn_auth_gnome_keyring/gnome_keyring.c M /trunk/subversion/libsvn_ra/ra_loader.c M /trunk/subversion/libsvn_ra_neon/session.c M /trunk/subversion/libsvn_subr/cmdline.c M /trunk/subversion/libsvn_subr/config_file.c M /trunk/subversion/libsvn_subr/prompt.c M /trunk/subversion/libsvn_subr/ssl_client_cert_pw_providers.c Cache SSL client certificate passphrases, when user indicates it's okay. This resolves issue #2489, and prompted issues #3238, #3239, and #3236. Patch by: stylesen (Tweaked by kfogel.) * subversion/include/svn_config.h (SVN_CONFIG_OPTION_STORE_SSL_CLIENT_CERT_PP, SVN_CONFIG_OPTION_STORE_SSL_CLIENT_CERT_PP_PLAINTEXT): New options, for storing SSL client cert passphrase at all and for storing it as plaintext, respectively. (SVN_CONFIG_DEFAULT_OPTION_STORE_SSL_CLIENT_CERT_PP, SVN_CONFIG_DEFAULT_OPTION_STORE_SSL_CLIENT_CERT_PP_PLAINTEXT): New defaults. * subversion/libsvn_subr/config_file.c (ensure_auth_dirs): Create new auth dir to store ssl client cert passphrase. (svn_config_ensure): Add doc for the new options in the servers file string. * subversion/libsvn_ra/ra_loader.c (svn_ra_open3): Load above new options from servers config file. * subversion/libsvn_subr/cmdline.c (get_auth_simple_provider): Rename to... (get_auth_provider): ...this. Take a new argument provider_type and use it to get the right provider. Document this function. (svn_cmdline_setup_auth_baton): If we have gnome keyring support get the corresponding ssl client cert passphrase provider. * subversion/libsvn_subr/prompt.c (plaintext_prompt_helper): New helper function, abstracts out the logic for plaintext promting. (svn_cmdline_auth_plaintext_prompt): Just wrap above new helper. (svn_cmdline_auth_plaintext_passphrase_prompt): New function, also using above new helper. * subversion/libsvn_subr/ssl_client_cert_pw_providers.c: Include svn_auth_private.h and svn_private_config.h. (AUTHN_PASSPHRASE_KEY): Define passphrase key. (AUTHN_PASSTYPE_KEY): Define passtype key. (ssl_client_cert_pw_file_provider_baton_t): New baton for ssl client cert passphrase provider. (simple_passphrase_get): New function to get plaintext passphrase. (simple_passphrase_set): New function to store plaintext passphrase. (svn_auth__ssl_client_cert_pw_file_first_creds_helper): New internal API, abstracted out from... (ssl_client_cert_pw_file_first_credentials): ...here, which just wraps the above now. (svn_auth__ssl_client_cert_pw_file_save_creds_helper): New internal API, abstracted out from... (ssl_client_cert_pw_file_save_credentials): ...here, which just wraps the above now. (ssl_client_cert_pw_file_provider): Register above to save the credentials. (svn_auth_get_ssl_client_cert_pw_file_provider2): New public API which has a prompt function now. (svn_auth_get_ssl_client_cert_pw_file_provider): Update API for the above. * subversion/include/private/svn_auth_private.h (svn_auth__ssl_client_cert_pw_file_first_creds_helper): Declare new API. (svn_auth__ssl_client_cert_pw_file_save_creds_helper): Declare new API. * subversion/libsvn_auth_gnome_keyring/gnome_keyring.c (gnome_keyring_ssl_client_cert_pw_first_creds): New function to get ssl client cert passphrase from encrypted credentials. (gnome_keyring_ssl_client_cert_pw_save_creds): New function to save encrypted ssl client cert passphrase. (gnome_keyring_ssl_client_cert_pw_provider): New baton. (svn_auth_get_gnome_keyring_ssl_client_cert_pw_provider): New public API for gnome keyring based ssl client cert passphrase storage and retrieval. * subversion/include/svn_auth_dso.h (svn_auth_get_gnome_keyring_ssl_client_cert_pw_provider): New public API. * subversion/include/svn_cmdline.h (svn_cmdline_auth_plaintext_passphrase_prompt): New public API added to prompt for storing plaintext passphrases. * subversion/include/svn_auth.h (svn_auth_ssl_client_cert_pw_provider_func_t): Define function type for the provider. (svn_auth_plaintext_passphrase_prompt_func_t): New function prototype. (SVN_AUTH_PARAM_DONT_STORE_SSL_CLIENT_CERT_PP): New constant. (SVN_AUTH_PARAM_STORE_SSL_CLIENT_CERT_PP_PLAINTEXT): New constant. (svn_auth_get_ssl_client_cert_pw_file_provider2): New public API. * subversion/libsvn_ra_neon/session.c (client_ssl_decrypt_cert): Call svn_auth_save_credentials to save the ssl client certificate passphrase. ---------------------------------------------------------------------------- r32083 | stsp | 2008-07-13 05:25:52 EDT Changed paths: M /trunk/subversion/libsvn_subr/simple_providers.c * subversion/libsvn_subr/simple_providers.c: (svn_auth__simple_save_creds_helper): Test a pointer pointing to a boolean against NULL explicitly. The code as written made it relatively easy to confuse the pointer with the boolean itself. No functional change. ---------------------------------------------------------------------------- r31861 | arfrever | 2008-06-24 05:44:02 EDT Changed paths: M /trunk/subversion/libsvn_auth_kwallet/kwallet.cpp Follow-up to r31854: * subversion/libsvn_auth_kwallet/kwallet.cpp (): Include appropriate headers. (kwallet_password_get, kwallet_password_set): Restore call to KCmdLineArgs::init() and use KAboutData set by KCmdLineArgs to initialize KComponentData object. ---------------------------------------------------------------------------- r31854 | arfrever | 2008-06-23 10:53:43 EDT Changed paths: M /trunk/subversion/bindings/javahl/native/SVNClient.cpp M /trunk/subversion/libsvn_auth_kwallet/kwallet.cpp Use KWallet in JavaHL. * subversion/libsvn_auth_kwallet/kwallet.cpp (kwallet_password_get, kwallet_password_set): Use KComponentData instead of whole KApplication. * subversion/bindings/javahl/native/SVNClient.cpp (SVNClient::getContext): Use KWallet in JavaHL. ---------------------------------------------------------------------------- r31752 | arfrever | 2008-06-15 14:48:07 EDT Changed paths: M /trunk/subversion/include/svn_error_codes.h Follow-up to r30247: * subversion/include/svn_error_codes.h (SVN_ERR_BAD_SERVER_SPECIFICATION): Fix value. ---------------------------------------------------------------------------- r31751 | arfrever | 2008-06-15 14:26:08 EDT Changed paths: M /trunk/subversion/libsvn_subr/cmdline.c Follow-up to r31739: * subversion/libsvn_subr/cmdline.c (svn_cmdline_setup_auth_baton): Use SVN_ERR_BAD_CONFIG_VALUE instead of SVN_ERR_AUTHN_NO_PROVIDER. ---------------------------------------------------------------------------- r31750 | kfogel | 2008-06-15 13:45:39 EDT Changed paths: M /trunk/subversion/include/svn_config.h M /trunk/subversion/libsvn_subr/config.c Add new function for getting boolean values from server config settings. Suggested by: brane Along the way, factor some code and improve error reporting. * subversion/libsvn_subr/config.c (get_bool): New helper function. (svn_config_get_bool): Rewrite as wrapper around above new helper. (svn_config_get_server_setting_bool): New public function. * subversion/include/svn_config.h (svn_config_get_server_setting_bool): Declare it. ---------------------------------------------------------------------------- r31747 | kfogel | 2008-06-15 12:17:35 EDT Changed paths: M /trunk/subversion/libsvn_subr/config_file.c * subversion/libsvn_subr/config_file.c (svn_config_ensure): Just recommend "yes", don't recommend "true" as an alternative. ---------------------------------------------------------------------------- r31543 | arfrever | 2008-05-31 11:46:41 EDT Changed paths: M /trunk/subversion/libsvn_subr/cmdline.c Follow-up to r31515: * subversion/libsvn_subr/cmdline.c (svn_cmdline_setup_auth_baton): Fix indentation. Found by: stylesen ---------------------------------------------------------------------------- r31542 | arfrever | 2008-05-31 11:34:58 EDT Changed paths: M /trunk/subversion/bindings/javahl/native/SVNClient.cpp M /trunk/subversion/libsvn_subr/cmdline.c Don't ignore errors when loading libsvn_auth_*. * subversion/libsvn_subr/cmdline.c (get_auth_simple_provider): * subversion/bindings/javahl/native/SVNClient.cpp (get_auth_simple_provider): Change returned type to 'svn_error_t *' and don't ignore any errors. * subversion/libsvn_subr/cmdline.c (svn_cmdline_setup_auth_baton): * subversion/bindings/javahl/native/SVNClient.cpp (SVNClient::getContext): Update calls to get_auth_simple_provider(). Suggested by: philip ---------------------------------------------------------------------------- r31539 | arfrever | 2008-05-30 15:42:26 EDT Changed paths: M /trunk/subversion/libsvn_auth_kwallet/kwallet.cpp Code simplification in libsvn_auth_kwallet. * subversion/libsvn_auth_kwallet/kwallet.cpp (): Don't include . (kwallet_password_get, kwallet_password_set): Use -1 as WId. ---------------------------------------------------------------------------- r31522 | lgo | 2008-05-29 15:53:53 EDT Changed paths: M /trunk/subversion/libsvn_subr/cmdline.c Follow up r31515: Fix the build on Windows (C89 compiler). * subversion/libsvn_subr/cmdline.c (svn_cmdline_setup_auth_baton): Move some variable declarations to the first lines of the block. ---------------------------------------------------------------------------- r31515 | arfrever | 2008-05-29 15:28:34 EDT Changed paths: M /trunk/subversion/libsvn_subr/cmdline.c M /trunk/subversion/libsvn_subr/config_file.c Follow-up to r31428: * subversion/libsvn_subr/cmdline.c (svn_cmdline_setup_auth_baton): Use the 'password-stores' option also for Keychain and Windows CryptoAPI. Print error when the 'password-stores' option contains invalid value. * subversion/libsvn_subr/config_file.c (svn_config_ensure): Update the default 'config' file. Suggested by: me kfogel glasser danielsh ---------------------------------------------------------------------------- r31513 | stylesen | 2008-05-29 09:41:50 EDT Changed paths: M /trunk/subversion/libsvn_auth_gnome_keyring/gnome_keyring.c Set application name only once in the GNOME Keyring provider. * subversion/libsvn_auth_gnome_keyring/gnome_keyring.c (gnome_keyring_init): Check whether we have the application name already set. Approved by: arfrever ---------------------------------------------------------------------------- r31449 | stylesen | 2008-05-26 07:23:13 EDT Changed paths: M /trunk/subversion/libsvn_subr/simple_providers.c Code indentation fix only. * subversion/libsvn_subr/simple_providers.c (svn_auth__simple_save_creds_helper): fix indentation. ---------------------------------------------------------------------------- r31446 | arfrever | 2008-05-25 10:43:27 EDT Changed paths: M /trunk/subversion/libsvn_subr/cmdline.c Follow-up to r31428: * subversion/libsvn_subr/cmdline.c (svn_cmdline_setup_auth_baton): Delete obsolete comment. ---------------------------------------------------------------------------- r31428 | arfrever | 2008-05-24 16:22:10 EDT Changed paths: M /trunk/subversion/include/svn_config.h M /trunk/subversion/libsvn_subr/cmdline.c M /trunk/subversion/libsvn_subr/config_file.c Implement the 'password-stores' config option. * subversion/include/svn_config.h (SVN_CONFIG_OPTION_PASSWORD_STORES): Define. * subversion/libsvn_subr/config_file.c (svn_config_ensure): Update the default 'config' file. * subversion/libsvn_subr/cmdline.c (svn_cmdline_setup_auth_baton): Use the 'password-stores' option to determine order of dynamically loaded auth simple providers. ---------------------------------------------------------------------------- r31427 | arfrever | 2008-05-24 13:07:45 EDT Changed paths: M /trunk/subversion/libsvn_auth_kwallet/kwallet.cpp * subversion/libsvn_auth_kwallet/kwallet.cpp (kwallet_password_get, kwallet_password_set): Don't disconnect Subversion from KWallet because disconnection has been working incorrectly since KDE 4.0.4. See https://bugs.kde.org/show_bug.cgi?id=162570 ---------------------------------------------------------------------------- r31370 | arfrever | 2008-05-22 15:27:52 EDT Changed paths: M /trunk/subversion/bindings/javahl/native/SVNClient.cpp * subversion/bindings/javahl/native/SVNClient.cpp (SVNClient::getContext): Don't use KWallet in JavaHL. ---------------------------------------------------------------------------- r31367 | arfrever | 2008-05-22 14:46:43 EDT Changed paths: M /trunk/subversion/bindings/javahl/native/SVNClient.cpp M /trunk/subversion/libsvn_subr/cmdline.c * subversion/libsvn_subr/cmdline.c (get_auth_simple_provider): * subversion/bindings/javahl/native/SVNClient.cpp (get_auth_simple_provider): Check for errors before loading symbols. Suggested by: Philip Martin ---------------------------------------------------------------------------- r31361 | arfrever | 2008-05-22 12:59:56 EDT Changed paths: M /trunk/subversion/bindings/javahl/native/SVNClient.cpp M /trunk/subversion/libsvn_subr/cmdline.c * subversion/libsvn_subr/cmdline.c (svn_cmdline_setup_auth_baton): * subversion/bindings/javahl/native/SVNClient.cpp (SVNClient::getContext): Use dynamically loaded simple providers in alphabetic order. ---------------------------------------------------------------------------- r31337 | arfrever | 2008-05-21 14:33:35 EDT Changed paths: M /trunk M /trunk/Makefile.in M /trunk/build.conf M /trunk/configure.ac M /trunk/subversion/bindings/javahl/native/SVNClient.cpp M /trunk/subversion/include/private/svn_auth_private.h M /trunk/subversion/include/svn_auth_dso.h A /trunk/subversion/libsvn_auth_gnome_keyring R /trunk/subversion/libsvn_auth_gnome_keyring/gnome_keyring.c M /trunk/subversion/libsvn_subr/cmdline.c M /trunk/subversion/libsvn_subr/simple_providers.c M /trunk/tools/server-side/svn_server_log_parse.py M /trunk/tools/server-side/test_svn_server_log_parse.py Merge the 'gnome-keyring' branch to trunk. ---------------------------------------------------------------------------- r31308 | stylesen | 2008-05-20 07:15:56 EDT Changed paths: M /trunk/subversion/libsvn_subr/ssl_server_trust_providers.c Fix typo in comment. * subversion/libsvn_subr/ssl_server_trust_providers.c (): s/retieve/retrieve/ ---------------------------------------------------------------------------- r31291 | arfrever | 2008-05-18 15:40:54 EDT Changed paths: M /trunk/subversion/bindings/javahl/native/SVNClient.cpp Use Keychain and KWallet in JavaHL. * subversion/libsvn_subr/cmdline.c (get_auth_simple_provider): Copy from here ... * subversion/bindings/javahl/native/SVNClient.cpp (get_auth_simple_provider): ... to here. * subversion/bindings/javahl/native/SVNClient.cpp (SVNClient::getContext): Use Keychain and KWallet providers. ---------------------------------------------------------------------------- r31290 | arfrever | 2008-05-18 15:31:12 EDT Changed paths: M /trunk/subversion/libsvn_subr/cmdline.c * subversion/libsvn_subr/cmdline.c (svn_cmdline_setup_auth_baton): Fix indentation. ---------------------------------------------------------------------------- r31289 | arfrever | 2008-05-18 15:25:28 EDT Changed paths: M /trunk/subversion/bindings/javahl/native/Prompter.cpp M /trunk/subversion/bindings/javahl/native/SVNClient.cpp Don't use deprecated svn_client_get_*_provider functions in JavaHL. * subversion/bindings/javahl/native/Prompter.cpp (): Include appropriate headers. (Prompter::getProviderSimple): Call svn_auth_get_simple_prompt_provider() instead of svn_client_get_simple_prompt_provider(). (Prompter::getProviderUsername): Call svn_auth_get_username_prompt_provider() instead of svn_client_get_username_prompt_provider(). (Prompter::getProviderServerSSLTrust): Call svn_auth_get_ssl_server_trust_prompt_provider() instead of svn_client_get_ssl_server_trust_prompt_provider(). (Prompter::getProviderClientSSL): Call svn_auth_get_ssl_client_cert_prompt_provider() instead of svn_client_get_ssl_client_cert_prompt_provider(). (Prompter::getProviderClientSSLPassword): Call svn_auth_get_ssl_client_cert_pw_prompt_provider() instead of svn_client_get_ssl_client_cert_pw_prompt_provider(). * subversion/bindings/javahl/native/SVNClient.cpp (): Include "svn_auth.h". (SVNClient::getContext): Call svn_auth_get_windows_simple_provider() instead of svn_client_get_windows_simple_provider(). Call svn_auth_get_simple_provider() instead of svn_client_get_simple_provider(). Call svn_auth_get_username_provider() instead of svn_client_get_username_provider(). Call svn_auth_get_ssl_server_trust_file_provider() instead of svn_client_get_ssl_server_trust_file_provider(). Call svn_auth_get_ssl_client_cert_file_provider() instead of svn_client_get_ssl_client_cert_file_provider(). Call svn_auth_get_ssl_client_cert_pw_file_provider() instead of svn_client_get_ssl_client_cert_pw_file_provider. ---------------------------------------------------------------------------- r31261 | arfrever | 2008-05-17 09:05:06 EDT Changed paths: M /trunk/configure.ac Follow-up to r31260: * configure.ac: Check for APR_HAS_DSO earlier. ---------------------------------------------------------------------------- r31260 | arfrever | 2008-05-17 07:27:03 EDT Changed paths: M /trunk/configure.ac * configure.ac (APR_HAS_DSO): New. (KWallet): Check for APR_HAS_DSO. Suggested by: stsp ---------------------------------------------------------------------------- r31259 | arfrever | 2008-05-17 06:51:45 EDT Changed paths: M /trunk/subversion/libsvn_subr/cmdline.c * subversion/libsvn_subr/cmdline.c (get_auth_simple_provider): Be defined only when SVN_HAVE_KWALLET or SVN_HAVE_GNOME_KEYRING is defined. Suggested by: epg ---------------------------------------------------------------------------- r31245 | arfrever | 2008-05-16 16:41:27 EDT Changed paths: M /trunk/build.conf * build.conf: Move definitions of libsvn_auth_kwallet and libsvn_fs_util to restore alphabetic order. No functional change. ---------------------------------------------------------------------------- r31241 | arfrever | 2008-05-16 16:25:00 EDT Changed paths: M /trunk M /trunk/Makefile.in M /trunk/build/generator/gen_base.py M /trunk/build.conf M /trunk/configure.ac A /trunk/subversion/include/private/svn_auth_private.h M /trunk/subversion/include/svn_auth.h A /trunk/subversion/include/svn_auth_dso.h A /trunk/subversion/libsvn_auth_kwallet R /trunk/subversion/libsvn_auth_kwallet/kwallet.cpp M /trunk/subversion/libsvn_subr/cmdline.c M /trunk/subversion/libsvn_subr/simple_providers.c M /trunk/tools/server-side/svn_server_log_parse.py M /trunk/tools/server-side/test_svn_server_log_parse.py Merge the 'kwallet' branch to trunk. ---------------------------------------------------------------------------- r31117 | arfrever | 2008-05-09 16:18:08 EDT Changed paths: M /trunk/subversion/libsvn_subr/simple_providers.c Use other password_set_t functions when the first tried one failed. * subversion/libsvn_subr/simple_providers.c (simple_save_creds_helper): Set saved to the value returned by password_set(). ---------------------------------------------------------------------------- r31053 | stylesen | 2008-05-07 03:06:00 EDT Changed paths: M /trunk/subversion/libsvn_subr/simple_providers.c Fix typo in comment. * subversion/libsvn_subr/simple_providers.c (simple_first_creds_helper): s/usename/username/ ---------------------------------------------------------------------------- r31052 | cmpilato | 2008-05-06 17:49:13 EDT Changed paths: M /trunk/subversion/libsvn_subr/cmdline.c Fix more bug fallout from the recent dont-store-plaintext-passwords feature branch merge. * subversion/libsvn_subr/cmdline.c (svn_cmdline_setup_auth_baton): Keep non-prompting providers ahead of prompting ones. Otherwise, even if Subversion finds valid cached auth creds, it still asks you for more, which is ... non-ideal. ---------------------------------------------------------------------------- r31051 | cmpilato | 2008-05-06 16:10:40 EDT Changed paths: M /trunk/subversion/tests/cmdline/svntest/main.py Fix a slew of test failures caused by the sudden appearance of plaintext password storage warnings. * subversion/tests/cmdline/svntest/main.py (create_config_dir): When no custom 'servers' config file contents are provided, make sure the default contents written include the 'store-plaintext-passwords=yes' and 'store-passwords=yes' options. ---------------------------------------------------------------------------- r31050 | cmpilato | 2008-05-06 15:53:58 EDT Changed paths: M /trunk/subversion/libsvn_subr/prompt.c * subversion/libsvn_subr/prompt.c (svn_cmdline_auth_plaintext_prompt): Rework the screen-splash text for improved readability (including better handling of strangely long or strangely short variable-length bits). ---------------------------------------------------------------------------- r31046 | stsp | 2008-05-06 12:29:01 EDT Changed paths: M /trunk M /trunk/subversion/include/svn_auth.h M /trunk/subversion/include/svn_cmdline.h M /trunk/subversion/include/svn_config.h M /trunk/subversion/libsvn_ra/ra_loader.c M /trunk/subversion/libsvn_subr/auth.c M /trunk/subversion/libsvn_subr/cmdline.c M /trunk/subversion/libsvn_subr/config.c M /trunk/subversion/libsvn_subr/config_auth.c M /trunk/subversion/libsvn_subr/config_file.c M /trunk/subversion/libsvn_subr/prompt.c M /trunk/subversion/libsvn_subr/simple_providers.c M /trunk/tools/server-side/svn_server_log_parse.py M /trunk/tools/server-side/test_svn_server_log_parse.py Merge the dont-save-plaintext-passwords-by-default branch into trunk. Summary of the functionality implemented: - Add a 'store-plaintext-passwords' option, which can be set to 'yes', 'no', or 'ask' (which is the default). If the option is set to 'ask', ask the user before saving plaintext passwords to disk. This is done from a callback that should be implemented by all clients. The callback is called once per authentication realm. If a client does not implement the callback, and does not provide an explicit default value, we default to storing plaintext passwords. I don't like this, but it's a compromise because we don't really want the semantics of the old API to change retroactively. We can, however, change this default anytime by tweaking a single line of code, should we decide to do so. The old API has been deprecated. - Provide an implementation of the callback for our command line client, which, in addition to prompting, prints a warning explaining that the password can only be stored unencrypted, and shows the name of the authentication realm in question. - Authentication parameter configuration has been moved to the RA layer completely. For users, this means that parameters which used to be configured in the [auth] section in the 'config' file are now configured in the 'servers' file, and can be specified both in the [global] section, and per server group. The [auth] section in 'config' is still being evaluated, but is overridden by anything specified in 'servers'. Please consult the log messages of the branch for a detailed list of all changes. ---------------------------------------------------------------------------- r30760 | kfogel | 2008-04-23 09:44:42 EDT Changed paths: M /trunk/subversion/libsvn_subr/simple_providers.c Fix a couple of bugs in username/password caching. Patch by: Daniel Shahaf (Only stylistic tweaks by me.) Suggested by: stsp * subversion/libsvn_subr/simple_providers.c (simple_save_creds_helper): Cache the username even if we're not allowed to cache the password. Also, respect SVN_AUTH_PARAM_NO_AUTH_CACHE. We hadn't been before, but because the caller also happened to check it, there was no user-visible problem, just a masked violation of the provider API. ---------------------------------------------------------------------------- r30656 | stsp | 2008-04-17 10:10:20 EDT Changed paths: M /trunk/subversion/libsvn_subr/cmdline.c * subversion/libsvn_subr/cmdline.c (svn_cmdline_setup_auth_baton): Don't reuse a variable that represents the store-passwords option to also represent the store-auth-creds option. This made it look at first glance as if the store-passwords option was equivalent to the --no-auth-cache command line option, which isn't true. ----------------------------------------------------------------------------