X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;ds=sidebyside;f=bin%2FBackupPC_tarExtract;h=2f57fe66401fadd6c991cefac0dc0005e83ac4b3;hb=df717077755b9331fa245f72933ef03add7a3710;hp=1686ffda95e78a34c33ae9474458796973d50a93;hpb=546f9691f118c9ea2d164f377994b4a018a60d02;p=BackupPC.git diff --git a/bin/BackupPC_tarExtract b/bin/BackupPC_tarExtract index 1686ffd..2f57fe6 100755 --- a/bin/BackupPC_tarExtract +++ b/bin/BackupPC_tarExtract @@ -27,7 +27,7 @@ # #======================================================================== # -# Version 2.1.0, released 20 Jun 2004. +# Version 3.0.0beta1, released 30 Jul 2006. # # See http://backuppc.sourceforge.net. # @@ -59,11 +59,11 @@ if ( $ARGV[0] !~ /^([\w\.\s-]+)$/ ) { exit(1); } my $client = $1; -if ( $ARGV[1] !~ /^([\w\s.\/$(){}[\]-]+)$/ ) { +if ( $ARGV[1] =~ m{(^|/)\.\.(/|$)} ) { print("$0: bad share name '$ARGV[1]'\n"); exit(1); } -my $ShareNameUM = $1; +my $ShareNameUM = $1 if ( $ARGV[1] =~ /(.*)/ ); my $ShareName = $bpc->fileNameEltMangle($ShareNameUM); if ( $ARGV[2] !~ /^(\d+)$/ ) { print("$0: bad compress level '$ARGV[2]'\n"); @@ -260,7 +260,7 @@ sub TarReadFileInfo from_to($name, $Conf{ClientCharset}, "utf8"); from_to($linkname, $Conf{ClientCharset}, "utf8"); } - printf("File now $name (hex: %s)\n", unpack("H*", $name)); + # printf("File now $name (hex: %s)\n", unpack("H*", $name)); $name =~ s{^\./+}{}; $name =~ s{/+\.?$}{};