Author: stsp
Date: Sat Mar 13 10:32:41 2010
New Revision: 922516

URL: http://svn.apache.org/viewvc?rev=922516&view=rev
Log:
* subversion/libsvn_ra_svn/client.c
  (make_tunnel): Tell users how to get informative error messages
   from SSH to help debug connection problems. For instance, SSH
   can fail to connect because a key file has insecure permissions,
   but the corresponding error message is not printed by SSH because
   Subversion passes the -q flag to SSH by default.
   See http://svn.haxx.se/users/archive-2010-03/0116.shtml

Found by: Janus Weil

Modified:
    subversion/trunk/subversion/libsvn_ra_svn/client.c

Modified: subversion/trunk/subversion/libsvn_ra_svn/client.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_ra_svn/client.c?rev=922516&r1=922515&r2=922516&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_ra_svn/client.c (original)
+++ subversion/trunk/subversion/libsvn_ra_svn/client.c Sat Mar 13 10:32:41 2010
@@ -463,6 +463,7 @@ static svn_error_t *make_tunnel(const ch
   apr_status_t status;
   apr_proc_t *proc;
   apr_procattr_t *attr;
+  svn_error_t *err;
 
   status = apr_procattr_create(&attr, pool);
   if (status == APR_SUCCESS)
@@ -516,7 +517,14 @@ static svn_error_t *make_tunnel(const ch
 
   /* Guard against dotfile output to stdout on the server. */
   *conn = svn_ra_svn_create_conn(NULL, proc->out, proc->in, pool);
-  SVN_ERR(svn_ra_svn_skip_leading_garbage(*conn, pool));
+  err = svn_ra_svn_skip_leading_garbage(*conn, pool);
+  if (err)
+    return svn_error_quick_wrap(
+             err,
+             _("To better debug SSH connection problems, remove the -q "
+               "option from 'ssh' in the [tunnels] section of your "
+               "Subversion configuration file."));
+
   return SVN_NO_ERROR;
 }
 


Reply via email to