From: Michael Tremer Date: Thu, 3 Jun 2021 18:08:27 +0000 (+0000) Subject: packager: Set approprivate file permissions in archive X-Git-Tag: 0.9.28~1285^2~28 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=95b81a98d7a53a48d450d591a45bf8b24fa7a562;p=pakfire.git packager: Set approprivate file permissions in archive Signed-off-by: Michael Tremer --- diff --git a/src/libpakfire/packager.c b/src/libpakfire/packager.c index 707c10812..b17fc9092 100644 --- a/src/libpakfire/packager.c +++ b/src/libpakfire/packager.c @@ -356,7 +356,7 @@ static int pakfire_packager_copy_data(struct pakfire_packager* packager, } static struct archive_entry* pakfire_packager_create_file( - struct pakfire_packager* packager, const char* filename, size_t size) { + struct pakfire_packager* packager, const char* filename, size_t size, mode_t mode) { // Create a new file entry struct archive_entry* entry = archive_entry_new(); if (!entry) @@ -367,7 +367,7 @@ static struct archive_entry* pakfire_packager_create_file( // This is a regular file archive_entry_set_filetype(entry, AE_IFREG); - archive_entry_set_perm(entry, 0644); + archive_entry_set_perm(entry, mode); // Set size archive_entry_set_size(entry, size); @@ -434,7 +434,7 @@ static int pakfire_packager_write_format(struct pakfire_packager* packager, const char buffer[] = TO_STRING(PACKAGE_FORMAT) "\n"; int r = pakfire_packager_write_file_from_buffer(packager, a, NULL, - PAKFIRE_ARCHIVE_FN_FORMAT, buffer); + PAKFIRE_ARCHIVE_FN_FORMAT, 0444, buffer); if (r) return r; @@ -655,7 +655,7 @@ static int pakfire_packager_write_metadata(struct pakfire_packager* packager, // Write buffer int r = pakfire_packager_write_file_from_buffer(packager, a, mtree, - PAKFIRE_ARCHIVE_FN_METADATA, buffer); + PAKFIRE_ARCHIVE_FN_METADATA, 0444, buffer); free(buffer); @@ -687,7 +687,7 @@ static int pakfire_packager_write_archive(struct pakfire_packager* packager, // Create a new file struct archive_entry* entry = pakfire_packager_create_file(packager, - filename, st.st_size); + filename, st.st_size, 0444); if (!entry) return 1; @@ -749,7 +749,7 @@ static int pakfire_packager_write_scriptlet(struct pakfire_packager* packager, const char* data = pakfire_scriptlet_get_data(scriptlet, &size); // Write file - return pakfire_packager_write_file_from_buffer(packager, a, mtree, filename, data); + return pakfire_packager_write_file_from_buffer(packager, a, mtree, filename, 0544, data); } /*