[delphizip] Re: Problem with Zip file created with IZArc

  • From: "RPeters" <rpeters@xxxxxxxxx>
  • To: <delphizip@xxxxxxxxxxxxx>
  • Date: Thu, 4 Oct 2007 07:59:02 +1000

To expand upon Roger's reply.
The zip format specifies (recommends) that the file names
<quote>
        The name of the file, with optional relative path.
      The path stored should not contain a drive or
      device letter, or a leading slash.  All slashes
      should be forward slashes '/' as opposed to
      backwards slashes '\' for compatibility with Amiga
      and UNIX file systems etc.
</quote>

It would appear that IZArc does not follow this 'rule' but the extracted
files should still be ok because the 'error' is ignored with only a warning
given.
Russell Peters
> -----Original Message-----
> From: delphizip-bounce@xxxxxxxxxxxxx [mailto:delphizip-
> bounce@xxxxxxxxxxxxx] On Behalf Of Roger Aelbrecht
> Sent: Thursday, 4 October 2007 1:53 AM
> To: delphizip@xxxxxxxxxxxxx
> Subject: [delphizip] Re: Problem with Zip file created with IZArc
> 
> Marek Jasinski wrote:
> > Hello,
> >
> > to reproduce the problem:
> > 1. Create with IZArc a IzarcTest.zip file  (one file in subfolder)
> e.g.
> > fr\myTest.ini
> > 2. Open the IzarcTest.zip file in ZIPDEMO3 program and  use EXTRACT
> > button for exctracting
> > 3. The message 'Zip file structure invalid' will be shown (error
> > 200707).  The archive is properly extracted.
> >
> > Which meaning has this message? Is the file really wrong? Can I
> ignore
> > this message?
> >
> > Regards
> > Marek
> >
> > DLL-Trace from exctracting:
> >
> > Unzip base directory: K:\Temp
> > trace is on, function=UnzDllExec
> > Trace: ready to setup
> > Trace: FSetUpToProcessZipFile
> > Time Hour 18, min 44, sec 50 msec 277
> > Trace: argc = 0, process_all_files = 1
> > Using DelZip.dll version 1.79.7.4 Aug 25 2007
> > Trace: In process_zipfiles
> > Trace: two
> > Trace: four in process.c
> > Trace: starting do_seekable
> > Trace: do_seekable, loc 2
> > Trace: open_input_file; fname=C:\TEMP\IzarcTest.zip
> > Trace: zip file C:\TEMP\IzarcTest.zip opened OK
> > Trace: do_seekable, loc 3
> > Trace: do_seekable, loc 4
> > Trace: in find_ecrec (end of central dir)
> > Trace: Found end-of-central-dir signature at offset 6135 (000017F7h)
> > Trace:     from beginning of file; offset 6135 (17F7h) within block
> > Trace: do_seekable, loc 5
> > Trace: do_seekable, loc 6
> > Trace: do_seekable, loc 7
> > Trace: about to extract\list files (error = 0)
> > Trace: in extract_or_test_files
> > Trace: members_remaining = 1, unmatched fspecs = 0
> > Trace: in process_cdir_file_hdr()
> > Trace: in get_cdir_ent
> > Trace: End of get_cdir_ent in process.c. Found filename of len 13
> > Trace: Good entry; hostnum of file = 0
> > Trace: process_cdir_file_hdr returning PK_COOL
> > 1 files to add
> > Total uncompressed size: 19 Kb
> > Trace: starting main loop
> > Trace: New iter: members_remaining after this pass = 0
> > Trace: in process_cdir_file_hdr()
> > Trace: in get_cdir_ent
> > Trace: End of get_cdir_ent in process.c. Found filename of len 13
> > Trace: Good entry; hostnum of file = 0
> > Trace: process_cdir_file_hdr returning PK_COOL
> > Trace: back in extract_or_test_files
> > Trace: file is OK: fr\myTest.ini
> > DLL expects to extract 1 files
> > Trace: starting second loop - THIS TIME we take action.
> > Trace: loc A: request = 0, inbuf_offset = 0
> > Trace: about to process local file hdr
> > Trace: process_local_file_hdr of process.c found fname len of 13
> > Read local filename fr\myTest.ini
> > Warning: Names do not match - using 'fr\myTest.ini'
> [local:fr\myTest.ini]
> > Trace: parsing a FAT file
> > Zip file structure invalid
> > Trace: checkdir of win32.c
> > Trace: A. initializing buildpathHPFS and buildpathFAT
> > Trace: checkdir of win32.c
> > Trace: appending dir segment [fr]
> > Trace: buildpathHPFS now = [fr\]
> > Trace: buildpathFAT now =  [fr\]
> > Trace: checkdir of win32.c
> > Trace: appending filename [myTest.ini]
> > Trace: buildpathHPFS: fr\myTest.ini  buildpathFAT: fr\myTest.ini
> > Trace: checkdir of win32.c
> > Trace: mapname returns with filename = [fr\myTest.ini] (error = 0)
> > Trace: starting switch near Novell failsafe in extract.c
> > Trace: check_for_newer:  existing 1191333594, archive 1191333594,
> Result 1
> > Trace: in extract.c, about to call decrypt
> > Trace: Start extract_or_test_member: K:\Temp\fr\myTest.ini
> > Trace: initializing pG->crc32val to 00000000
> > trace: open_outfile:  stat(K:\Temp\fr\myTest.ini) returns file exists
> > Deleted pre-existing file K:\Temp\fr\myTest.ini
> > Trace: open_outfile:  fopen(K:\Temp\fr\myTest.ini) for writing
> succeeded
> > Trace: unpack the file
> > Trace: starting inflate
> > Trace: in inflate_dynamic
> > Trace: inflate codes
> > Trace: inflate_codes returning 0
> > Trace: inflate_dynamic returning 0
> > Trace: NO ERROR - 4506 bytes in Huffman tables (6\entry)
> > Trace: setting date\time in close_outfile of win32.c
> > Trace: After extraction, pG->crc32val = A45D304C
> > Trace: File's CRC in local hdr = A45D304C
> > Unzipped file K:\Temp\fr\myTest.ini of size 19484
> > Trace: jump back in central dir to where we were
> > Trace: done with big outer block
> > Trace: filnum = 1
> > Trace: Done with extract\list files (error = 1)
> > Trace: after do_seekable, warn=1   missdir=0  missfi=0  losefi=0
> winfi=0
> > Trace: do_seekable(0) returns 1 (see unzpriv.h, PK_*)
> > Trace: five in process.c
> > Trace: six
> > warnings were given
> > Trace: seven
> > Trace: checkdir of win32.c
> > Trace: *** BACK FROM CALL TO process_zipfiles ***
> > Files acted on = 1
> > Time Hour 18, min 44, sec 52 msec 465
> >
> >
> > -----------
> > To unsubscribe from this list, send an empty e-mail
> > message to:
> >   delphizip-request@xxxxxxxxxxxxx
> > and put the word unsubscribe in the subject.
> >
> >
> 
> 
> As you can see in the trace there is a warning about the filename.
> 
>  From the place in the dll code were the error 200707 ( = 031003 Hex)
> 
>   /* for files from DOS FAT, check for use of backslash instead
>    * of slash as directory separator (bug in some zipper(s); so
>    * far, not a problem in HPFS, NTFS or VFAT systems) */
> 
> 
> 
> 
> --
> Roger Aelbrecht
> 
> 
> -----------
> To unsubscribe from this list, send an empty e-mail
> message to:
>   delphizip-request@xxxxxxxxxxxxx
> and put the word unsubscribe in the subject.
> 
> __________ NOD32 2570 (20071003) Information __________
> 
> This message was checked by NOD32 antivirus system.
> http://www.eset.com


-----------
To unsubscribe from this list, send an empty e-mail 
message to:
  delphizip-request@xxxxxxxxxxxxx 
and put the word unsubscribe in the subject.

Other related posts: