--- subversion/subversion/libsvn_ra_dav/session.c 2003-07-18 02:32:57.000000000 +0300 +++ subversion/subversion/libsvn_ra_dav/session.c.orig 2003-07-18 02:05:59.000000000 +0300 @@ -108,12 +108,6 @@ return 0; } -typedef struct -{ - svn_ra_session_t * ras; - svn_ra_ne_session_baton_t * ne_sess_baton; -} server_ssl_callback_baton_t; - /* A neon-session callback to validate the SSL certificate when the CA is unknown or there are other SSL certificate problems. */ @@ -122,8 +116,7 @@ int failures, const ne_ssl_certificate *cert) { - server_ssl_callback_baton_t *baton = userdata; - svn_ra_session_t *ras = baton->ras; + svn_ra_session_t *ras = userdata; void *creds; svn_auth_cred_server_ssl_t *server_creds; svn_auth_iterstate_t *state; @@ -131,7 +124,6 @@ svn_error_t *error; int failures_allowed = 0; - baton->ne_sess_baton->was_ssl_certificate_verified = TRUE; svn_auth_set_parameter(ras->callbacks->auth_baton, SVN_AUTH_PARAM_SSL_SERVER_FAILURES_IN, (void*)failures); @@ -152,15 +144,7 @@ failures_allowed = (server_creds) ? server_creds->failures_allow : 0; } apr_pool_destroy(pool); - { - int ret = (failures & ~failures_allowed); - if (ret) - { - baton->ne_sess_baton->was_ssl_certificate_rejected = TRUE; - } - return ret; - } - + return (failures & ~failures_allowed); } static int @@ -448,7 +432,6 @@ svn_boolean_t compression; svn_config_t *cfg; const char *server_group; - server_ssl_callback_baton_t *ssl_baton; /* Sanity check the URI */ if (ne_uri_parse(repos_URL, &uri) @@ -612,15 +595,12 @@ /* Setup and register the private session data on the Neon sessions. */ - ssl_baton = apr_palloc(pool, sizeof(*ssl_baton)); - ssl_baton->ras = ras; { svn_ra_ne_session_baton_t *bt; bt = apr_palloc(pool, sizeof(*bt)); bt->compression = compression; ne_set_session_private(sess, SVN_RA_NE_SESSION_ID, bt); ne_set_session_private(sess2, SVN_RA_NE_SESSION_ID, bt); - ssl_baton->ne_sess_baton = bt; } if (is_ssl_session) @@ -640,8 +620,8 @@ /* When the CA certificate or server certificate has verification problems, neon will call our verify function before outright rejection of the connection.*/ - ne_ssl_set_verify(sess, server_ssl_callback, ssl_baton); - ne_ssl_set_verify(sess2, server_ssl_callback, ssl_baton); + ne_ssl_set_verify(sess, server_ssl_callback, ras); + ne_ssl_set_verify(sess2, server_ssl_callback, ras); /* For client connections, we register a callback for if the server wants to authenticate the client via client certificate. */ ne_ssl_provide_ccert(sess, client_ssl_callback, ras); --- subversion/subversion/libsvn_ra_dav/util.c 2003-07-18 14:26:23.000000000 +0300 +++ subversion/subversion/libsvn_ra_dav/util.c.orig 2003-07-18 01:54:17.000000000 +0300 @@ -279,13 +279,6 @@ svn_ra_ne_session_baton_t *sess_baton = ne_get_session_private(sess, SVN_RA_NE_SESSION_ID); - /* - * Reset both flags so, if we encounter an SSL certificate rejection - - * we'll know about it. - * */ - sess_baton->was_ssl_certificate_verified = FALSE; - sess_baton->was_ssl_certificate_rejected = FALSE; - /* create/prep the request */ req = ne_request_create(sess, method, url); @@ -391,17 +384,8 @@ if ((code != expected_code) || (rv != NE_OK)) { - if (sess_baton->was_ssl_certificate_verified && - sess_baton->was_ssl_certificate_rejected) - { - msg = apr_psprintf (pool, "%s", "SSL certificate was rejected"); - err = svn_error_create (SVN_ERR_RA_NOT_AUTHORIZED, NULL, msg); - } - else - { - msg = apr_psprintf(pool, "%s of '%s'", method, url); - err = svn_ra_dav__convert_error(sess, msg, rv); - } + msg = apr_psprintf(pool, "%s of '%s'", method, url); + err = svn_ra_dav__convert_error(sess, msg, rv); goto error; } --- subversion/subversion/libsvn_ra_dav/ra_dav.h 2003-07-18 02:27:03.000000000 +0300 +++ subversion/subversion/libsvn_ra_dav/ra_dav.h.orig 2003-07-18 01:55:25.000000000 +0300 @@ -63,8 +63,6 @@ private data. */ typedef struct { svn_boolean_t compression; /* should we use http compression? */ - svn_boolean_t was_ssl_certificate_verified; /* set if an SSL certificate had to be verified */ - svn_boolean_t was_ssl_certificate_rejected; /* set if an SSL certificated had been rejected */ } svn_ra_ne_session_baton_t; /* Id used with ne_set_session_private() and ne_get_session_private()