From: shugo@... Date: 2015-07-30T14:33:09+00:00 Subject: [ruby-core:70191] [Ruby trunk - Bug #11407] [Feedback] Net::FTP nlst method return wrong data and don't raise Error when path is wrong Issue #11407 has been updated by Shugo Maeda. Status changed from Open to Feedback Damian Giebas wrote: > I found bug in nlst function. When we have situatiuon on ftp like this > > / > my_folder/ > some_file.txt > some_another_file.txt > > and we go to "my_folder" > > ftp_handler.chdir("my_folder") > and use nlst from this folder on file "some_another_file.txt" > > ftp_handler.nlst("../some_another_file.txt") it return > > ['../some_another_file.txt/some_another_file.txt'] > > I think this is bug. In this case function should return ['../some_another_file.txt'] I couldn't reproduce the problem.... ```ruby require "net/ftp" ftp = Net::FTP.new("ftp.ruby-lang.org") ftp.passive = true ftp.login ftp.chdir("pub/ruby/2.2") p ftp.nlst("..") p ftp.nlst("../ruby-2.2.2.zip") #=> ["../ruby-2.2.2.zip"] ``` Does the nlist command of /usr/bin/ftp works well with that server? ---------------------------------------- Bug #11407: Net::FTP nlst method return wrong data and don't raise Error when path is wrong https://bugs.ruby-lang.org/issues/11407#change-53618 * Author: Damian Giebas * Status: Feedback * Priority: Normal * Assignee: Shugo Maeda * ruby -v: 2.3.0 * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN ---------------------------------------- I found bug in nlst function. When we have situatiuon on ftp like this / my_folder/ some_file.txt some_another_file.txt and we go to "my_folder" ftp_handler.chdir("my_folder") and use nlst from this folder on file "some_another_file.txt" ftp_handler.nlst("../some_another_file.txt") it return ['../some_another_file.txt/some_another_file.txt'] I think this is bug. In this case function should return ['../some_another_file.txt'] It still "working" when my path is worong. When I'm still in "my_folder" and I use nlst with weird path ftp_handler.nlst("../../../../../../some_another_file.txt") it return ["../../../../../../some_another_file.txt/some_another_file.txt"]. I think it should raise FTPPermError with code 550. This path does not exist. I found this bug in ruby version 1.9.3 and it still exist in ruby 2.3.0dev. Can someone confirm me this is bug? Best regards. ---Files-------------------------------- net_ftp_bug.png (141 KB) -- https://bugs.ruby-lang.org/