From 2fe539852de362427d1c2d4c6fa97f5ebf6c9d35 Mon Sep 17 00:00:00 2001 From: Tim Kientzle Date: Thu, 22 Mar 2012 23:32:23 -0700 Subject: [PATCH] Issue 253: Default to 0666 permissions on files, like Info-Zip does. --- libarchive/archive_read_support_format_zip.c | 4 ++-- libarchive/test/test_compat_zip.c | 12 ++++++------ libarchive/test/test_write_format_zip.c | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/libarchive/archive_read_support_format_zip.c b/libarchive/archive_read_support_format_zip.c index 8b5e86a12..2055313a4 100644 --- a/libarchive/archive_read_support_format_zip.c +++ b/libarchive/archive_read_support_format_zip.c @@ -727,14 +727,14 @@ zip_read_local_file_header(struct archive_read *a, struct archive_entry *entry, if (len > 0 && wp[len - 1] == L'/') zip_entry->mode = AE_IFDIR | 0777; else - zip_entry->mode = AE_IFREG | 0777; + zip_entry->mode = AE_IFREG | 0666; } else { cp = archive_entry_pathname(entry); len = (cp != NULL)?strlen(cp):0; if (len > 0 && cp[len - 1] == '/') zip_entry->mode = AE_IFDIR | 0777; else - zip_entry->mode = AE_IFREG | 0777; + zip_entry->mode = AE_IFREG | 0666; } } diff --git a/libarchive/test/test_compat_zip.c b/libarchive/test/test_compat_zip.c index ece62251a..538c0b8f2 100644 --- a/libarchive/test/test_compat_zip.c +++ b/libarchive/test/test_compat_zip.c @@ -238,19 +238,19 @@ test_compat_zip_5(void) assertEqualString("Metadata/Job_PT.xml", archive_entry_pathname(ae)); assertEqualInt(3559, archive_entry_size(ae)); assertEqualInt(AE_IFREG, archive_entry_filetype(ae)); - assertEqualInt(0777, archive_entry_perm(ae)); + assertEqualInt(0666, archive_entry_perm(ae)); assertEqualIntA(a, ARCHIVE_OK, archive_read_next_header(a, &ae)); assertEqualString("Metadata/MXDC_Empty_PT.xml", archive_entry_pathname(ae)); assertEqualInt(456, archive_entry_size(ae)); assertEqualInt(AE_IFREG, archive_entry_filetype(ae)); - assertEqualInt(0777, archive_entry_perm(ae)); + assertEqualInt(0666, archive_entry_perm(ae)); assertEqualIntA(a, ARCHIVE_OK, archive_read_next_header(a, &ae)); assertEqualString("Documents/1/Metadata/Page1_Thumbnail.JPG", archive_entry_pathname(ae)); assertEqualInt(1495, archive_entry_size(ae)); assertEqualInt(AE_IFREG, archive_entry_filetype(ae)); - assertEqualInt(0777, archive_entry_perm(ae)); + assertEqualInt(0666, archive_entry_perm(ae)); /* TODO: Read some of the file data and verify it. The code to read uncompressed Zip entries with "file at end" semantics is tricky and should be verified more carefully. */ @@ -298,21 +298,21 @@ test_compat_zip_5(void) assertEqualInt(0, archive_entry_size(ae)); assert(!archive_entry_size_is_set(ae)); assertEqualInt(AE_IFREG, archive_entry_filetype(ae)); - assertEqualInt(0777, archive_entry_perm(ae)); + assertEqualInt(0666, archive_entry_perm(ae)); assertEqualIntA(a, ARCHIVE_OK, archive_read_next_header(a, &ae)); assertEqualString("Metadata/MXDC_Empty_PT.xml", archive_entry_pathname(ae)); assertEqualInt(0, archive_entry_size(ae)); assert(!archive_entry_size_is_set(ae)); assertEqualInt(AE_IFREG, archive_entry_filetype(ae)); - assertEqualInt(0777, archive_entry_perm(ae)); + assertEqualInt(0666, archive_entry_perm(ae)); assertEqualIntA(a, ARCHIVE_OK, archive_read_next_header(a, &ae)); assertEqualString("Documents/1/Metadata/Page1_Thumbnail.JPG", archive_entry_pathname(ae)); assertEqualInt(0, archive_entry_size(ae)); assert(!archive_entry_size_is_set(ae)); assertEqualInt(AE_IFREG, archive_entry_filetype(ae)); - assertEqualInt(0777, archive_entry_perm(ae)); + assertEqualInt(0666, archive_entry_perm(ae)); assertEqualIntA(a, ARCHIVE_OK, archive_read_next_header(a, &ae)); assertEqualString("Documents/1/Pages/_rels/1.fpage.rels", archive_entry_pathname(ae)); diff --git a/libarchive/test/test_write_format_zip.c b/libarchive/test/test_write_format_zip.c index d62bce8da..f7e5ebfff 100644 --- a/libarchive/test/test_write_format_zip.c +++ b/libarchive/test/test_write_format_zip.c @@ -91,7 +91,7 @@ verify_contents(struct archive *a, int expect_details) assertEqualInt(0, archive_entry_size(ae)); assertEqualString("file1", archive_entry_symlink(ae)); } else { - assertEqualInt(AE_IFREG | 0777, archive_entry_mode(ae)); + assertEqualInt(AE_IFREG | 0666, archive_entry_mode(ae)); assertEqualInt(0, archive_entry_size(ae)); } -- 2.47.2