mirror of
https://github.com/Kitware/CMake.git
synced 2025-10-15 12:16:40 +08:00
cmArchiveWrite: Clear xattr and acl from entries (#11958)
When reading archive entries from disk strip any xattr and acl entry headers that may have been loaded from the filesystem (e.g. selinux). These fields are only useful for backup tools and not for packaging and distribution of software. Furthermore, the GNU tar 1.15.1 on at least one Linux distribution treats unknown entry headers as an error rather than a warning. Therefore avoiding such fields is necessary for archive portability. Suggested-by: Tim Kientzle <tim@kientzle.com>
This commit is contained in:
@@ -236,6 +236,9 @@ bool cmArchiveWrite::AddFile(const char* file,
|
||||
this->Error += archive_error_string(this->Disk);
|
||||
return false;
|
||||
}
|
||||
// Clear acl and xattr fields not useful for distribution.
|
||||
archive_entry_acl_clear(e);
|
||||
archive_entry_xattr_clear(e);
|
||||
if(archive_write_header(this->Archive, e) != ARCHIVE_OK)
|
||||
{
|
||||
this->Error = "archive_write_header: ";
|
||||
|
Reference in New Issue
Block a user