[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: missing error messages

From: Stefan Sperling <stsp_at_elego.de>
Date: Fri, 12 Mar 2010 18:39:57 +0100

Ping.

Janus, would this make you happy?
Do you think this fix should go in?

Stefan

On Wed, Mar 03, 2010 at 05:08:41PM +0100, Stefan Sperling wrote:
> On Wed, Mar 03, 2010 at 04:06:08PM +0100, Janus Weil wrote:
> > Dear subversion team,
> >
> > I noticed that recent svn releases fail to display many error messages.
> >
> > Example: Doing "svn co svn+ssh://someone@gcc.gnu.org/svn/gcc/trunk
> > trunk" without having the proper ssh keys for user 'someone'. The svn
> > versions I tried were 1.6.3, 1.6.5 and 1.6.9. With 1.6.3 I get:
> >
> > Permission denied (publickey,gssapi-with-mic).
> > svn: Network connection closed unexpectedly
> >
> > But if I do the same with 1.6.5 or 1.6.9, the first line is missing
> > and I only get the rather nebulous message about the unexpected
> > closing of the network connection, without seeing the reason for that.
> >
> > It's even worse if e.g. my private key has the wrong permissions for
> > some reason. In this case svn 1.6.3 displays a very bold warning:
> >
> > @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
> > @ WARNING: UNPROTECTED PRIVATE KEY FILE! @
> > @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
> > Permissions 0755 for '~/.ssh/id_dsa' are too open.
> > It is recommended that your private key files are NOT accessible by others.
> > This private key will be ignored.
> > bad permissions: ignore key: ~/.ssh/id_dsa
> > Permission denied (publickey,gssapi-with-mic).
> > svn: Network connection closed unexpectedly
> >
> > Again, with newer releases one only gets the last line, without any
> > chance of finding out what the problem is.
> >
> > Is this a known bug?
>
> This is probably a side-effect of the fix for issue #2580 done in
> Subversion 1.6.5. Since then, Subversion passes '-q' to ssh to avoid
> the message 'Terminated by signal 15' being printed whenever ssh exists
> upon being terminated by Subversion in a friendly manner.
> This particular output from ssh would confuse users assuming the output
> came from svn, and make them believe svn had crashed. Of course, '-q'
> might also suppress some other messages printed by ssh, such as the
> "unprotected key file" warning.
>
> I guess we should make the error message for svn+ssh connection failures
> advise people to remove the '-q' flag from the ssh invocation in
> ~/.subversion/config to debug SSH connection problems.
> The patch below does this:
>
> $ svn ls svn+ssh://svntest/
> svn: Unable to connect to a repository at URL 'svn+ssh://svntest'
> svn: To better debug SSH connection problems, remove the -q option from 'ssh' in the [tunnels] section of your Subversion configuration file.
> svn: Network connection closed unexpectedly
>
> (Above, 'svntest' is an SSH host alias to localhost with a port where nothing
> is listening.)
>
> Do you think this would help?
>
> Stefan
>
>
> Index: subversion/libsvn_ra_svn/client.c
> ===================================================================
> --- subversion/libsvn_ra_svn/client.c (revision 918491)
> +++ subversion/libsvn_ra_svn/client.c (working copy)
> @@ -463,6 +463,7 @@ static svn_error_t *make_tunnel(const char **args,
> 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,15 @@ static svn_error_t *make_tunnel(const char **args,
>
> /* 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;
> }
>
Received on 2010-03-12 18:40:41 CET

This is an archived mail posted to the Subversion Users mailing list.