diff options
author | Hans Nilsson <[email protected]> | 2018-04-06 12:21:01 +0200 |
---|---|---|
committer | Hans Nilsson <[email protected]> | 2018-04-06 12:21:01 +0200 |
commit | 61bc7c7d1ac9ff621b3125d79ae4a9a3dd6b1622 (patch) | |
tree | b04a96a35dd4d06d1f936717fc5b8bd7cfbb3bcc /lib/ssh | |
parent | 6b31b88f74bf7194bed5df72eeabda3cc645a39c (diff) | |
parent | 90edf69ba7acbfaa55a709fa115ce8bb782b9dc9 (diff) | |
download | otp-61bc7c7d1ac9ff621b3125d79ae4a9a3dd6b1622.tar.gz otp-61bc7c7d1ac9ff621b3125d79ae4a9a3dd6b1622.tar.bz2 otp-61bc7c7d1ac9ff621b3125d79ae4a9a3dd6b1622.zip |
Merge branch 'maint-19' into maint
* maint-19:
Updated OTP version
Prepare release
ssh: Fix ssh_sftpd:handle_op not returning State
Conflicts:
OTP_VERSION
lib/ssh/doc/src/notes.xml
lib/ssh/vsn.mk
otp_versions.table
Diffstat (limited to 'lib/ssh')
-rw-r--r-- | lib/ssh/doc/src/notes.xml | 14 | ||||
-rw-r--r-- | lib/ssh/src/ssh_sftpd.erl | 6 |
2 files changed, 18 insertions, 2 deletions
diff --git a/lib/ssh/doc/src/notes.xml b/lib/ssh/doc/src/notes.xml index db60b4ab6f..1bba667f0f 100644 --- a/lib/ssh/doc/src/notes.xml +++ b/lib/ssh/doc/src/notes.xml @@ -468,6 +468,20 @@ </section> +<section><title>Ssh 4.4.2.3</title> + <section><title>Fixed Bugs and Malfunctions</title> + <list> + <item> + <p> + An ssh_sftp server (running version 6) could fail if it + is told to remove a file which in fact is a directory.</p> + <p> + Own Id: OTP-15004</p> + </item> + </list> + </section> +</section> + <section><title>Ssh 4.4.2.2</title> <section><title>Improvements and New Features</title> <list> diff --git a/lib/ssh/src/ssh_sftpd.erl b/lib/ssh/src/ssh_sftpd.erl index 427edf01ab..a9136e5614 100644 --- a/lib/ssh/src/ssh_sftpd.erl +++ b/lib/ssh/src/ssh_sftpd.erl @@ -360,10 +360,12 @@ handle_op(?SSH_FXP_REMOVE, ReqId, <<?UINT32(PLen), BPath:PLen/binary>>, case IsDir of %% This version 6 we still have ver 5 true when Vsn > 5 -> ssh_xfer:xf_send_status(State0#state.xf, ReqId, - ?SSH_FX_FILE_IS_A_DIRECTORY, "File is a directory"); + ?SSH_FX_FILE_IS_A_DIRECTORY, "File is a directory"), + State0; true -> ssh_xfer:xf_send_status(State0#state.xf, ReqId, - ?SSH_FX_FAILURE, "File is a directory"); + ?SSH_FX_FAILURE, "File is a directory"), + State0; false -> {Status, FS1} = FileMod:delete(Path, FS0), State1 = State0#state{file_state = FS1}, |