On Wed, Dec 10, 2003 at 01:01:13PM +0100, Roderich Schupp wrote: > the recently (27 Nov 2003) released Archive::Zip 1.09 doesn't get > quite get along with PAR 0.76. > > On WindowsXP, Perl 5.8.1, I get: > > C:\temp\cpan\build\PAR-0.76>pp -o hello.exe -e "print q[hello]" > C:\temp\cpan\build\PAR-0.76>hello.exe > format error: bad signature: 0x00905a4d at offset 0 in file > IO::File=GLOB(0xd9b02c) at -e line 660 > format error: bad signature: 0x6e757220 at offset 100 in file > IO::File=GLOB(0xd9b02c) at -e line 159 > format error: bad signature: 0x00000000 at offset 37 in file > IO::File=GLOB(0xd9b02c) at ../blib/lib/PAR.pm line 211 > hello
Thanks for finding the cause for this problem. Archive::Zip 1.09 says
this in its changelog:
- Always check for local header signatures before using them
But for "padded" executables, of course it will have bad signatures,
as it has a loader preceding it. I think that self-extracting zip
files (i.e. unzipsfx) will also be affected.
See Archive/Zip.pm line 376:
# compare with expected signature, if any, or any known signature.
(Cc'ing the module author, Ned Konz.)
Ned, is there a way for us to say "Please ignore $expected_signature,
don't show those warnings" to Archive::Zip, either as a constructor
parameter, or as a global config variable?
I don't feel like to redefine key Archive::Zip subroutines, so if
there can be a knob to turn off such checks, it will be appreciated.
Thanks,
/Autrijus/
pgp00000.pgp
Description: PGP signature
