Andreas,
Are you saying that LogLevel DEBUG2 doesn't provide the debugging you
need? Because I still can't get the other way to work. Here's the line:
Subsystem sftp /usr/libexec/openssh/sftp-server -l DEBUG2
and here's what sshd has to say about it:
[r...@wisteria ~]# /usr/sbin/sshd -p 1234
/etc/ssh/sshd_config line 120: garbage at end of line; "-l".
Changing the line back to what it used to be:
Subsystem sftp /usr/libexec/openssh/sftp-server -l DEBUG2
fixes the error, and lets me start the port 1234 server without
problems--that's how I generated the sshd debugging output I attached in
my previous message.
There is nothing about debugging in my "man sftp-server". I suspect we
have different versions of sshd, and mine doesn't support this "-l
DEBUG2" switch on sftp-server. Do you need me to track this issue with
-l down, or did the LogLevel debugging I sent earlier give you what you
needed?
I already enabled libssh debugging, though in a slightly different (but
I believe equivalent) way:
ssh_options_set(sshSession, SSH_OPTIONS_LOG_VERBOSITY_STR,
"SSH_LOG_FUNCTIONS");
That debugging output is in the file I attached earlier--I think it's
called sawmill_libssh.log or something like that.
Do you need anything further from me to diagnose the problem?
-
Greg
Andreas Schneider wrote:
On Tuesday 09 March 2010 18:05:21 you wrote:
Andreas,
It didn't work to add "-l DEBUG2" to Subsystem--it complained about
"garbage (-l)" at the end of the line. My path is slightly different,
though:
Subsystem sftp /usr/libexec/openssh/sftp-server
so maybe this has to do with the version. I tried adding "LogLevel
DEBUG2" to the file, though, and it seems to have worked--at least, I
get what looks like level-2 debugging from the server. I've attached the
server's debug output, and Sawmill+libssh debug output.
If you set it the variable in the config file you enable debug logging of
sshd.
Take a look in 'man sftp_server'. I've set
Subsystem sftp /usr/lib64/ssh/sftp-server -l DEBUG2
and restarted sshd. I got a lot of debugging output from the sftp server.
To enable logging in libssh you have to set:
int verbosity = SSH_LOG_FUNCTIONS;
ssh_set_options(session, SSH_OPTIONS_LOG_VERBOSITY, &verbosity);
If this is a server bug, I will be content to just document it,
especially if there's a newer version of the server which fixes it. Do
you know if there is?
That's what we should confirm. It is possible that it is a bug in libssh.
I don't understand the sshfs code enough to know what we would have to
do similarly. Is this a change that would be made in libssh, or is this
a change I could make in my client program? I suspect the former; it
seems to have to do with throttling the amount of outstanding data
somehow, and I don't think the libssh API provides any functionality for
determining what's outstanding. Is there some way I can implement this
on my end?
Lets look at the logs and then we can try to create a testcase for it.
-- andreas