*** upload 2003-11-17 12:45:15.000000000 +0100 --- /home/www/TWiki/bin/upload 2003-11-17 12:38:34.000000000 +0100 *************** *** 504,510 **** my $tmpDir = $archive; $tmpDir =~ s/(.*)\/.+/$1/; $tmpDir = makeTempName( $tmpDir ); ! my (@memberNames, $mName, $member, $buffer, $comment, %good, $zipRet); @memberNames = $zip->memberNames(); --- 511,517 ---- my $tmpDir = $archive; $tmpDir =~ s/(.*)\/.+/$1/; $tmpDir = makeTempName( $tmpDir ); ! my (@memberNames, $mName, $mmName, $member, $buffer, $comment, %good, $zipRet); @memberNames = $zip->memberNames(); *************** *** 522,532 **** $comment = substr($member->fileComment(), 0, 50); $comment = length($comment) ? $comment : $archiveComment; ! $mName =~ /\/?(.*\/)?(.+)/; $mName = $2; ! my $zipRet = $zip->extractMemberWithoutPaths( $member, "$tmpDir/$mName" ); if ($zipRet == AZ_OK) { ! $good{"$tmpDir/$mName"} = "$mName|$comment"; } else { # FIXME: oops here TWiki::writeDebug( "upload: zip->extractMemberWithoutPaths = $zipRet" ); --- 529,539 ---- $comment = substr($member->fileComment(), 0, 50); $comment = length($comment) ? $comment : $archiveComment; ! $mName =~ /^\/?(.*\/)?([A-Za-z0-9_\.-]+)$/; $mmName = $2; ! my $zipRet = $zip->extractMemberWithoutPaths( $member, "$tmpDir/$mmName" ); if ($zipRet == AZ_OK) { ! $good{"$tmpDir/$mmName"} = "$mmName|$comment"; } else { # FIXME: oops here TWiki::writeDebug( "upload: zip->extractMemberWithoutPaths = $zipRet" );