public inbox for ltp@lists.linux.it
 help / color / mirror / Atom feed
From: DAN LI <li.dan@cn.fujitsu.com>
To: Simon Xu <xu.simon@oracle.com>
Cc: ltp-list@lists.sourceforge.net
Subject: Re: [LTP] [PATCH 1/1] fix container_ftp.pl
Date: Wed, 08 Aug 2012 17:55:17 +0800	[thread overview]
Message-ID: <50223785.8040200@cn.fujitsu.com> (raw)
In-Reply-To: <502228E3.9010802@oracle.com>


[-- Attachment #1.1: Type: text/plain, Size: 3246 bytes --]

On 08/08/2012 04:52 PM, Simon Xu wrote:
> On 2012/8/8 16:30, DAN LI wrote:
>> On 08/03/2012 12:34 AM, Simon Xu wrote:
>>> container_ftp.pl has several problems:
>>>
>>> * ftp users can't cd to a temporary dir in /tmp
>>> * ftp->cwd($dir) will always fail
>>> * if we do 'chdir $dir', 'rmdir("$dir")' will fail
>>> * 'ftp->put' should be 'ftp->get'
>>>
>>> Signed-off-by: Simon Xu <xu.simon@oracle.com>
>>> ---
>>>   testcases/kernel/containers/netns/container_ftp.pl | 15 
>>> ++++++++-------
>>>   1 file changed, 8 insertions(+), 7 deletions(-)
>>>
>>> diff --git a/testcases/kernel/containers/netns/container_ftp.pl 
>>> b/testcases/kernel/containers/netns/container_ftp.pl
>>> index 89a35b5..98742f3 100644
>>> --- a/testcases/kernel/containers/netns/container_ftp.pl
>>> +++ b/testcases/kernel/containers/netns/container_ftp.pl
>>> @@ -23,6 +23,7 @@
>>>     use File::Temp 'tempdir';
>>>   use Net::FTP;
>>> +use File::Path;
>>>     if ($#ARGV == -1) {
>>>       print "usage: $0 host\n";
>>> @@ -35,7 +36,7 @@ my $i = 0;
>>>   my $kount = 51;
>>>   my $file="junkfile";
>>>   -my $tmpdir = defined($ENV{TMPDIR}) ? $ENV{TMPDIR} : "/tmp";
>>> +my $tmpdir = "/var/ftp";
>> hi, Simon
>>
>> I tested container_ftp.pl as follow:
>> ********************************************************
>> #./container_ftp.pl    knownhost_with_vsftpd
>> ********************************************************
>> and failed at "$ftp->cwd" either with this fix or without it.
>>
>> So,did i get the wrong way to test this script ,or,something wrong
>> still exists.
>
> Could you print the value of $dir before "$ftp->cwd"?  And try ftp 
> login as anonymous user, and see if you can cd to the value.
>
Thanks for your quick reply and sorry for my careless.
I try operations as you suggested,and find the problem that dir created 
for test is not available
for any user expect root.

So, now i test and confirm this fix works fine.

Thanks
DAN LI
> Thanks
> Simon
>
>>>     my $dir;
>>>   $dir = tempdir("container_ftp.XXXXXXX", DIR => $tmpdir);
>>> @@ -47,8 +48,7 @@ if (chmod(0777, $dir) == 0) {
>>>       push @ERRORS, "Failed to change mode for temporary directory: 
>>> $!\n";
>>>       printerr();
>>>   }
>>> -chdir $dir;
>>> -system("dd if=/dev/zero of=$file bs=512 count=10 > /dev/null 2>&1 ");
>>> +system("dd if=/dev/zero of=$dir/$file bs=512 count=10 > /dev/null 
>>> 2>&1 ");
>>>     while ( $i < $kount )
>>>   {
>>> @@ -61,13 +61,15 @@ while ( $i < $kount )
>>>           $ftp->quit if $newerr;
>>>           printerr() if $newerr;
>>>   -        $ftp->cwd($dir) or $newerr=1;
>>> +        $basedir = `basename "$dir"`;
>>> +        chomp $basedir;
>>> +        $ftp->cwd($basedir) or $newerr=1;
>>>           push @ERRORS, "Can't cd  $!\n" if $newerr;
>>>           $ftp->quit if $newerr;
>>>           printerr() if $newerr;
>>>             $newname = $file . "_" . $i ;
>>> -        $ftp->put($file,$newname) or $newerr=1;
>>> +        $ftp->get($file,$newname) or $newerr=1;
>>>           push @ERRORS, "Can't get file $file $!\n" if $newerr;
>>>           printerr() if $newerr;
>>>   @@ -82,6 +84,5 @@ sub printerr {
>>>   }
>>>     END {
>>> -    unlink("$dir/$file");
>>> -    rmdir("$dir");
>>> +    rmtree("$dir");
>>>   }
>>
>>
>
>



[-- Attachment #1.2: Type: text/html, Size: 7048 bytes --]

[-- Attachment #2: Type: text/plain, Size: 395 bytes --]

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/

[-- Attachment #3: Type: text/plain, Size: 155 bytes --]

_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list

  reply	other threads:[~2012-08-08  9:56 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-02 16:34 [LTP] [PATCH 1/1] fix container_ftp.pl Simon Xu
2012-08-08  8:30 ` DAN LI
2012-08-08  8:52   ` Simon Xu
2012-08-08  9:55     ` DAN LI [this message]
2012-08-08 10:07       ` Wanlong Gao

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=50223785.8040200@cn.fujitsu.com \
    --to=li.dan@cn.fujitsu.com \
    --cc=ltp-list@lists.sourceforge.net \
    --cc=xu.simon@oracle.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox