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/


Attachment: pgp00000.pgp
Description: PGP signature

Reply via email to