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 <[email protected]>
> ---
> 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.
>
> 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");
> }
------------------------------------------------------------------------------
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/
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list