Susmit Sarkar created SSHD-1127:
-----------------------------------
Summary: SFTP/SCP SftpErrorStatusDataHandler is not propagating
back proper custom messages to the client
Key: SSHD-1127
URL: https://issues.apache.org/jira/browse/SSHD-1127
Project: MINA SSHD
Issue Type: Bug
Reporter: Susmit Sarkar
Hi Team,
*SftpErrorStatusDataHandler* is not propagating back proper custom messages to
the client. Although it works fine with clients like FileZilla and WinSCP, we
don't get a proper message for Unix-based SFTP command-line client.
We can say that there is no issue with the implementation as it's working for
clients like FileZilla and WinScp, so the code is fine. I agree with you on
that.
But commercial sftp server library are able to successfully propagate messages
to all clients FileZilla, WinScp, Putty, Terminal.
As for example Maverick based SFTP server uses this API:
{code:java}
// code placeholder
import com.maverick.sshd.SessionChannel;
SessionChannel.sendStderrData("Too many concurrent logins. Please try again
later.\n".getBytes("US-ASCII"));{code}
[http://maverick-legacy-server-javadocs.s3-website-eu-west-1.amazonaws.com/com/maverick/sshd/SessionChannel.html#sendStderrData-byte:A-]
I think a similar implementation should be introduced in the MINA library for
future release.
While reading the doc I came across this:
If the registered handler implements {{ChannelSessionAware}} then it will also
be informed of the registered {{ChannelSession}} when it is provided to the
{{SftpSubsystem}} itself. This can be used to register an extended data writer
that can handle data sent via the STDERR channel. *Note:* this feature is
allowed according to [SFTP version 4 - section
3.1|https://tools.ietf.org/html/draft-ietf-secsh-filexfer-04#section-3.1]:
{quote}{quote}Packets are sent and received on stdout and stdin. Data sent on
stderr by the server SHOULD be considered debug or supplemental error
information, and MAY be displayed to the user.
{quote}{quote}
*however, the current code provides no built-in support for this feature.*
sftp> PUT docker-compose.yml
debug3: Looking up docker-compose.yml
Uploading docker-compose.yml to /dmicons/docker-compose.yml
debug3: Sent message SSH2_FXP_OPEN I:8 P:/dmicons/docker-compose.yml
remote open("/dmicons/docker-compose.yml"): Failure
*---------------------------------------------------------------*
Same operation in WinScp loggers are coming as:
2021-02-17 18:42:44.322 - Uploading a file to a full filesystem (HDD).
* 2021-02-17 18:42:44.322 - Exceeding a user disk quota.
. 2021-02-17 18:42:44.322 Asking user:
. 2021-02-17 18:42:44.322 Cannot create remote file
'/dmicons/IBM_UserTest.log'. ("General failure (server should provide error
description).
. 2021-02-17 18:42:44.322 Error code: 4
. 2021-02-17 18:42:44.322 *Error message from server: User admin is not allowed
to execute this SFTP command because of policy SFTP20*
Thanks,
Susmit
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]