[
https://issues.apache.org/jira/browse/SSHD-118?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13021688#comment-13021688
]
Otto Frost commented on SSHD-118:
---------------------------------
This is a duplicate of SSHD-97
> uploading and then renaming a file doesn't work (on windows)
> ------------------------------------------------------------
>
> Key: SSHD-118
> URL: https://issues.apache.org/jira/browse/SSHD-118
> Project: MINA SSHD
> Issue Type: Bug
> Affects Versions: 0.5.0
> Environment: windows xp professional sun jdk 1.5.0.22, jre 1.6
> windows 2003 server SP2 sun jdk jre 1.5.0.22
> Reporter: Otto Frost
> Priority: Critical
> Original Estimate: 1h
> Remaining Estimate: 1h
>
> I logon, and then
> put xx xx
> rename xx yy
> O1706@WKE198515 ~
> $ sftp -oport=2222 a@localhost
> Connecting to localhost...
> a@localhost's password:
> sftp> cd tmp
> sftp> put xx
> Uploading xx to /C:/NWDS7.1EHP1/workspace/minasshd_custom/tmp/xx
> xx 100% 1039 1.0KB/s 00:00
> sftp> rename xx yy
> Couldn't rename file "/C:/NWDS7.1EHP1/workspace/minasshd_custom/tmp/xx" to
> "/C:/
> NWDS7.1EHP1/workspace/minasshd_custom/tmp/yy": Failure
> sftp>
> The problem is that the file isn't closed after uploading,
> SftpSubSystem.process SSH_FXP_WRITE
> NativeSshFile.createOutputStream doesn't close the file, even though the
> close method is called.
> I can't rename the file from the os either because mina sshd holds it locked
> after upload. When mina sshd is shut down I can rename the file. After
> restarting minasshd the file can be renamed (from mina sshd or from the os).
> Here is the correction:
> class NativeSshFile
> public void truncate() throws IOException {
> // modification
> // permission check
> // and close the raf
> if (!isWritable()) {
> throw new IOException("No write permission : " +
> file.getName());
> }
> RandomAccessFile raf = new RandomAccessFile(file, "rw");
> if (raf != null) {
> raf.setLength(0);
> raf.close();
> }
> }
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira