You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by lg...@apache.org on 2010/01/02 22:01:50 UTC

svn commit: r895286 - /subversion/trunk/subversion/libsvn_ra_serf/util.c

Author: lgo
Date: Sat Jan  2 21:01:48 2010
New Revision: 895286

URL: http://svn.apache.org/viewvc?rev=895286&view=rev
Log:
ra_serf: fix proxy authentication error handling.

* subversion/libsvn_ra_serf/util.c
  (svn_ra_serf__credentials_callback): Set maximum limit to the number of
   credentials requests for proxy authentication.

Modified:
    subversion/trunk/subversion/libsvn_ra_serf/util.c

Modified: subversion/trunk/subversion/libsvn_ra_serf/util.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_ra_serf/util.c?rev=895286&r1=895285&r2=895286&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_ra_serf/util.c (original)
+++ subversion/trunk/subversion/libsvn_ra_serf/util.c Sat Jan  2 21:01:48 2010
@@ -1232,6 +1232,17 @@
     {
       *username = apr_pstrdup(pool, session->proxy_username);
       *password = apr_pstrdup(pool, session->proxy_password);
+
+      session->proxy_auth_attempts++;
+
+      if (!session->proxy_username || session->proxy_auth_attempts > 4)
+        {
+          /* No more credentials. */
+          ctx->session->pending_error =
+            svn_error_create(SVN_ERR_AUTHN_FAILED, NULL,
+                             "Proxy authentication failed");
+          return SVN_ERR_AUTHN_FAILED;
+        }
     }
 
   ctx->conn->last_status_code = code;