Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

#569 Unarchiving certain ZIP archives fails

None
closed
nobody
None
1
2014-06-17
2014-06-17
Ralph Böhme
No

Summary

Unarchiving certain ZIP archives from Finder fails.

Details

The archives contain ._ AppleDouble files in the same directory as the data files and the AppleDouble filler bytes don't contain the string "Mac OS X", so these were archives are likely not created by the OS X standard archiving utility:

$ zipinfo valid-ad.zip 
Archive:  valid-ad.zip   407 bytes   2 files
-rw-r--r--  3.0 unx        0 bx stor 17-Jun-14 10:06 PFDinDisplayPro-Black.ttf
-rw-r--r--  3.0 unx       70 bx defN  1-May-07 20:41 ._PFDinDisplayPro-Black.ttf
2 files, 70 bytes uncompressed, 25 bytes compressed

The current code that checks whether the client is allowed to use pathnames starting with ._ checks whether the file is an AppleDouble file, and if it is and the filler does not contain the magic string "Mac OS X", access to the file is denied.

This results in the following sequence of steps:

  • client created empty file "._NAME"
  • client wants to stat the newly created file "._NAME"
  • server checks whether access to the file is allowed
  • check fails

Proposed fix

Modify check in ad_valid_header_osx() to allow access to all .- AppleDouble files where the filler string is not "Netatalk", which is the magic string Netatalk puts there.

1 Attachments

Discussion

  • Ralph Böhme
    Ralph Böhme
    2014-06-17

    • status: open --> closed