]> git.ipfire.org Git - thirdparty/libarchive.git/commitdiff
Change the default permissions of the regular files in CAB and 7-Zip archives to...
authorMichihiro NAKAJIMA <ggcueroad@gmail.com>
Sat, 24 Mar 2012 12:49:14 +0000 (21:49 +0900)
committerMichihiro NAKAJIMA <ggcueroad@gmail.com>
Sat, 24 Mar 2012 12:49:14 +0000 (21:49 +0900)
libarchive/archive_read_support_format_7zip.c
libarchive/archive_read_support_format_cab.c
libarchive/test/test_read_format_7zip.c
libarchive/test/test_read_format_cab.c

index 89eb573a6ed14b2807744f07ad63213c7ff4e919..39a46ed579b9e9d354964f7adbac1333067b593d 100644 (file)
@@ -2472,7 +2472,7 @@ read_Header(struct archive_read *a, struct _7z_header_info *h,
                        if ((size_t)sindex >= si->ss.unpack_streams)
                                return (-1);
                        if (entries[i].mode == 0)
-                               entries[i].mode = AE_IFREG | 0777;
+                               entries[i].mode = AE_IFREG | 0666;
                        if (si->ss.digestsDefined[sindex])
                                entries[i].flg |= CRC32_IS_SET;
                        entries[i].ssIndex = sindex;
@@ -2492,7 +2492,7 @@ read_Header(struct archive_read *a, struct _7z_header_info *h,
                                if (dir)
                                        entries[i].mode = AE_IFDIR | 0777;
                                else
-                                       entries[i].mode = AE_IFREG | 0777;
+                                       entries[i].mode = AE_IFREG | 0666;
                        } else if (dir &&
                            (entries[i].mode & AE_IFMT) != AE_IFDIR) {
                                entries[i].mode &= ~AE_IFMT;
index 3f79afe16df5e35d95cdd358641348c8c9c05813..aa0152a1714099fb0990414b5a287d2192adc730 100644 (file)
@@ -990,7 +990,7 @@ archive_read_format_cab_read_header(struct archive_read *a,
        if (file->attr & ATTR_RDONLY)
                archive_entry_set_mode(entry, AE_IFREG | 0555);
        else
-               archive_entry_set_mode(entry, AE_IFREG | 0777);
+               archive_entry_set_mode(entry, AE_IFREG | 0666);
        archive_entry_set_mtime(entry, file->mtime, 0);
 
        cab->entry_bytes_remaining = file->uncompressed_size;
index 9bf49d0aa8c23c91e8dd62826c6e2bf57d03d66b..043ef9f4e5323ab8628cbba52a8906d29f2c39a3 100644 (file)
@@ -46,7 +46,7 @@ test_copy()
 
        /* Verify regular file1. */
        assertEqualIntA(a, ARCHIVE_OK, archive_read_next_header(a, &ae));
-       assertEqualInt((AE_IFREG | 0777), archive_entry_mode(ae));
+       assertEqualInt((AE_IFREG | 0666), archive_entry_mode(ae));
        assertEqualString("file1", archive_entry_pathname(ae));
        assertEqualInt(86401, archive_entry_mtime(ae));
        assertEqualInt(60, archive_entry_size(ae));
@@ -510,7 +510,7 @@ test_bcj(const char *refname)
 
        /* Verify regular x86exe. */
        assertEqualIntA(a, ARCHIVE_OK, archive_read_next_header(a, &ae));
-       assertEqualInt((AE_IFREG | 0555), archive_entry_mode(ae));
+       assertEqualInt((AE_IFREG | 0444), archive_entry_mode(ae) & ~0111);
        assertEqualString("x86exe", archive_entry_pathname(ae));
        assertEqualInt(172802, archive_entry_mtime(ae));
        assertEqualInt(27328, archive_entry_size(ae));
@@ -565,7 +565,7 @@ test_ppmd()
 
        /* Verify regular file1. */
        assertEqualIntA(a, ARCHIVE_OK, archive_read_next_header(a, &ae));
-       assertEqualInt((AE_IFREG | 0777), archive_entry_mode(ae));
+       assertEqualInt((AE_IFREG | 0666), archive_entry_mode(ae));
        assertEqualString("ppmd_test.txt", archive_entry_pathname(ae));
        assertEqualInt(1322464589, archive_entry_mtime(ae));
        assertEqualInt(102400, archive_entry_size(ae));
index 54dd633f284977216aea562e6923bce7510d9a93..004d6e8a93e7ef7fbafa6abc0650f5b3e0a98738 100644 (file)
@@ -199,7 +199,7 @@ verify(const char *refname, enum comp_type comp)
 
        /* Verify regular empty. */
        assertEqualIntA(a, ARCHIVE_OK, archive_read_next_header(a, &ae));
-       assertEqualInt((AE_IFREG | 0777), archive_entry_mode(ae));
+       assertEqualInt((AE_IFREG | 0666), archive_entry_mode(ae));
        assertEqualString("empty", archive_entry_pathname(ae));
        assertEqualInt(0, archive_entry_uid(ae));
        assertEqualInt(0, archive_entry_gid(ae));
@@ -211,7 +211,7 @@ verify(const char *refname, enum comp_type comp)
                 * file to check if we properly handle multiple CFDATA.
                 */
                assertEqualIntA(a, ARCHIVE_OK, archive_read_next_header(a, &ae));
-               assertEqualInt((AE_IFREG | 0777), archive_entry_mode(ae));
+               assertEqualInt((AE_IFREG | 0666), archive_entry_mode(ae));
                assertEqualString("zero", archive_entry_pathname(ae));
                assertEqualInt(0, archive_entry_uid(ae));
                assertEqualInt(0, archive_entry_gid(ae));
@@ -232,7 +232,7 @@ verify(const char *refname, enum comp_type comp)
 
        /* Verify regular file1. */
        assertEqualIntA(a, ARCHIVE_OK, archive_read_next_header(a, &ae));
-       assertEqualInt((AE_IFREG | 0777), archive_entry_mode(ae));
+       assertEqualInt((AE_IFREG | 0666), archive_entry_mode(ae));
        assertEqualString("dir1/file1", archive_entry_pathname(ae));
        assertEqualInt(0, archive_entry_uid(ae));
        assertEqualInt(0, archive_entry_gid(ae));
@@ -242,7 +242,7 @@ verify(const char *refname, enum comp_type comp)
 
        /* Verify regular file2. */
        assertEqualIntA(a, ARCHIVE_OK, archive_read_next_header(a, &ae));
-       assertEqualInt((AE_IFREG | 0777), archive_entry_mode(ae));
+       assertEqualInt((AE_IFREG | 0666), archive_entry_mode(ae));
        assertEqualString("dir2/file2", archive_entry_pathname(ae));
        assertEqualInt(0, archive_entry_uid(ae));
        assertEqualInt(0, archive_entry_gid(ae));
@@ -298,7 +298,7 @@ verify2(const char *refname, enum comp_type comp)
 
        /* Verify regular file2. */
        assertEqualIntA(a, ARCHIVE_OK, archive_read_next_header(a, &ae));
-       assertEqualInt((AE_IFREG | 0777), archive_entry_mode(ae));
+       assertEqualInt((AE_IFREG | 0666), archive_entry_mode(ae));
        assertEqualString("dir2/file2", archive_entry_pathname(ae));
        assertEqualInt(0, archive_entry_uid(ae));
        assertEqualInt(0, archive_entry_gid(ae));