Problem: The SftpClient class attempts to do a chmod
on the transferred file. If the chmod fails, it
appears that the entire put operation has failed.
This change adds a ChmodFailedException. The
SftpClient.put operations now throw this if the
transfer of the file was successful, but the chmod
operation failed. This allows the code that is doing
the SFTP operation to decide what to do if the file
was transferred, but the server did not allow the
chmod operation.
ChmodFailedException extends IOException, so any code
using this library that catches the IOException from
SftpClient.put operations will continue to work
without changes.
The attached file contains the ChmodFailedException
class, and the modified SftpClient class. These
changes were made against version 1.2.7 of the source
tree.
Java source code