Index: subversion/libsvn_subr/ssl_client_cert_pw_providers.c =================================================================== --- subversion/libsvn_subr/ssl_client_cert_pw_providers.c (revision 34606) +++ subversion/libsvn_subr/ssl_client_cert_pw_providers.c (working copy) @@ -475,7 +475,7 @@ SVN_AUTH_PARAM_NO_AUTH_CACHE, APR_HASH_KEY_STRING); - if (ib->retries >= ib->pb->retry_limit) + if ((ib->pb->retry_limit >= 0) && (ib->retries >= ib->pb->retry_limit)) { /* give up, go on to next provider. */ *credentials_p = NULL; Index: subversion/libsvn_subr/ssl_client_cert_providers.c =================================================================== --- subversion/libsvn_subr/ssl_client_cert_providers.c (revision 34606) +++ subversion/libsvn_subr/ssl_client_cert_providers.c (working copy) @@ -164,7 +164,7 @@ SVN_AUTH_PARAM_NO_AUTH_CACHE, APR_HASH_KEY_STRING); - if (ib->retries >= ib->pb->retry_limit) + if ((ib->pb->retry_limit >= 0) && (ib->retries >= ib->pb->retry_limit)) { /* give up, go on to next provider. */ *credentials_p = NULL; Index: subversion/libsvn_subr/username_providers.c =================================================================== --- subversion/libsvn_subr/username_providers.c (revision 34606) +++ subversion/libsvn_subr/username_providers.c (working copy) @@ -265,7 +265,7 @@ SVN_AUTH_PARAM_NO_AUTH_CACHE, APR_HASH_KEY_STRING); - if (ib->retries >= pb->retry_limit) + if ((pb->retry_limit >= 0) && (ib->retries >= pb->retry_limit)) { /* give up, go on to next provider. */ *credentials_p = NULL; Index: subversion/libsvn_subr/simple_providers.c =================================================================== --- subversion/libsvn_subr/simple_providers.c (revision 34606) +++ subversion/libsvn_subr/simple_providers.c (working copy) @@ -697,7 +697,7 @@ SVN_AUTH_PARAM_NO_AUTH_CACHE, APR_HASH_KEY_STRING); - if (ib->retries >= pb->retry_limit) + if ((pb->retry_limit >= 0) && (ib->retries >= pb->retry_limit)) { /* give up, go on to next provider. */ *credentials_p = NULL; Index: subversion/include/svn_client.h =================================================================== --- subversion/include/svn_client.h (revision 34606) +++ subversion/include/svn_client.h (working copy) @@ -102,6 +102,7 @@ * default arguments when svn_auth_first_credentials() is called. If * svn_auth_first_credentials() fails, then @a *provider will * re-prompt @a retry_limit times (via svn_auth_next_credentials()). + * For infinite retries, set @a retry_limit to value less than 0. * * @deprecated Provided for backward compatibility with the 1.3 API. * Use svn_auth_get_simple_prompt_provider() instead. @@ -126,6 +127,7 @@ * default argument when svn_auth_first_credentials() is called. If * svn_auth_first_credentials() fails, then @a *provider will * re-prompt @a retry_limit times (via svn_auth_next_credentials()). + * For infinite retries, set @a retry_limit to value less than 0. * * @deprecated Provided for backward compatibility with the 1.3 API. * Use svn_auth_get_username_prompt_provider() instead. @@ -284,6 +286,7 @@ * and @a prompt_baton. The returned credential is used to load the * appropriate client certificate for authentication when requested by * a server. The prompt will be retried @a retry_limit times. + * For infinite retries, set @a retry_limit to value less than 0. * * @deprecated Provided for backward compatibility with the 1.3 API. * Use svn_auth_get_ssl_client_cert_prompt_provider() instead. @@ -304,7 +307,8 @@ * @a *provider retrieves its credentials by using the @a prompt_func * and @a prompt_baton. The returned credential is used when a loaded * client certificate is protected by a passphrase. The prompt will - * be retried @a retry_limit times. + * be retried @a retry_limit times. For infinite retries, set @a retry_limit + * to value less than 0. * * @deprecated Provided for backward compatibility with the 1.3 API. * Use svn_auth_get_ssl_client_cert_pw_prompt_provider() instead. Index: subversion/include/svn_auth.h =================================================================== --- subversion/include/svn_auth.h (revision 34606) +++ subversion/include/svn_auth.h (working copy) @@ -706,6 +706,7 @@ * default arguments when svn_auth_first_credentials() is called. If * svn_auth_first_credentials() fails, then @a *provider will * re-prompt @a retry_limit times (via svn_auth_next_credentials()). + * For infinite retries, set @a retry_limit to value less than 0. * * @since New in 1.4. */ @@ -727,6 +728,7 @@ * default argument when svn_auth_first_credentials() is called. If * svn_auth_first_credentials() fails, then @a *provider will * re-prompt @a retry_limit times (via svn_auth_next_credentials()). + * For infinite retries, set @a retry_limit to value less than 0. * * @since New in 1.4. */ @@ -1122,7 +1124,8 @@ * @a *provider retrieves its credentials by using the @a prompt_func * and @a prompt_baton. The returned credential is used to load the * appropriate client certificate for authentication when requested by - * a server. The prompt will be retried @a retry_limit times. + * a server. The prompt will be retried @a retry_limit times. For + * infinite retries, set @a retry_limit to value less than 0. * * @since New in 1.4. */ @@ -1141,7 +1144,8 @@ * @a *provider retrieves its credentials by using the @a prompt_func * and @a prompt_baton. The returned credential is used when a loaded * client certificate is protected by a passphrase. The prompt will - * be retried @a retry_limit times. + * be retried @a retry_limit times. For infinite retries, set + * @a retry_limit to value less than 0. * * @since New in 1.4. */