libarchive 2.2.5.1 → 2.2.5.2
raw patch · 4 files changed
+29/−11 lines, 4 files
Files
- CHANGELOG.md +6/−0
- c/archive_write_disk_posix.c +12/−0
- c/autoconf-linux/config.h +9/−7
- libarchive.cabal +2/−4
CHANGELOG.md view
@@ -1,5 +1,11 @@ # libarchive +## 2.2.5.2++ * Patch from upstream to work with pathological archives containing files that+ are hardlinks to themselves.+ * Some patches for various platforms when built with `+static`+ ## 2.2.5.1 * Add `static` flag to cabal which builds from bundled sources rather than
c/archive_write_disk_posix.c view
@@ -546,6 +546,7 @@ { struct archive_write_disk *a = (struct archive_write_disk *)_a; struct fixup_entry *fe;+ const char *linkname; int ret, r; archive_check_magic(&a->archive, ARCHIVE_WRITE_DISK_MAGIC,@@ -589,6 +590,17 @@ ret = cleanup_pathname(a); if (ret != ARCHIVE_OK) return (ret);++ /*+ * Check if we have a hardlink that points to itself.+ */+ linkname = archive_entry_hardlink(a->entry);+ if (linkname != NULL && strcmp(a->name, linkname) == 0) {+ archive_set_error(&a->archive, ARCHIVE_ERRNO_MISC,+ "Skipping hardlink pointing to itself: %s",+ a->name);+ return (ARCHIVE_WARN);+ } /* * Query the umask so we get predictable mode settings.
c/autoconf-linux/config.h view
@@ -260,7 +260,7 @@ /* #undef HAVE_ACL_IS_TRIVIAL_NP */ /* Define to 1 if you have the <acl/libacl.h> header file. */-#define HAVE_ACL_LIBACL_H 1+/* #undef HAVE_ACL_LIBACL_H */ /* Define to 1 if the system has the type `acl_permset_t'. */ /* #undef HAVE_ACL_PERMSET_T */@@ -453,6 +453,7 @@ /* #undef HAVE_EXPAT_H */ /* Define to 1 if you have the <ext2fs/ext2_fs.h> header file. */+/* #undef HAVE_EXT2FS_EXT2_FS_H */ /* Define to 1 if you have the `extattr_get_fd' function. */ /* #undef HAVE_EXTATTR_GET_FD */@@ -605,7 +606,7 @@ /* #undef HAVE_LCHFLAGS */ /* Define to 1 if you have the `lchmod' function. */-/* #undef HAVE_LCHMOD */+/* #undef HAVE_LCHMOD 1 */ /* Define to 1 if you have the `lchown' function. */ #define HAVE_LCHOWN 1@@ -1027,10 +1028,10 @@ /* #undef HAVE_STRUCT_STAT_ST_UMTIME */ /* Define to 1 if `tm_gmtoff' is a member of `struct tm'. */-#define HAVE_STRUCT_TM_TM_GMTOFF 1+/* #undef HAVE_STRUCT_TM_TM_GMTOFF 1 */ /* Define to 1 if `__tm_gmtoff' is a member of `struct tm'. */-/* #undef HAVE_STRUCT_TM___TM_GMTOFF */+/* #undef HAVE_STRUCT_TM___TM_GMTOFF 1 */ /* Define to 1 if the system has the type `struct vfsconf'. */ /* #undef HAVE_STRUCT_VFSCONF */@@ -1042,9 +1043,10 @@ #define HAVE_SYMLINK 1 /* Define to 1 if you have the <sys/acl.h> header file. */+/* #undef HAVE_SYS_ACL_H */ /* Define to 1 if you have the <sys/cdefs.h> header file. */-#define HAVE_SYS_CDEFS_H 1+/* #undef HAVE_SYS_CDEFS_H */ /* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'. */@@ -1202,7 +1204,7 @@ #define HAVE_WMEMMOVE 1 /* Define to 1 if you have a working EXT2_IOC_GETFLAGS */-#define HAVE_WORKING_EXT2_IOC_GETFLAGS 1+/* #undef HAVE_WORKING_EXT2_IOC_GETFLAGS */ /* Define to 1 if you have a working FS_IOC_GETFLAGS */ #define HAVE_WORKING_FS_IOC_GETFLAGS 1@@ -1289,7 +1291,7 @@ #define STDC_HEADERS 1 /* Define to 1 if strerror_r returns char *. */-#define STRERROR_R_CHAR_P 1+/* #undef STRERROR_R_CHAR_P */ /* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */ #define TIME_WITH_SYS_TIME 1
libarchive.cabal view
@@ -1,6 +1,6 @@ cabal-version: 3.0 name: libarchive-version: 2.2.5.1+version: 2.2.5.2 license: BSD-3-Clause license-file: LICENSE copyright: Copyright: (c) 2018-2020 Vanessa McHale@@ -45,9 +45,7 @@ default: False flag static- description:- Use the bundled sources (this is default for windows and darwin)-+ description: Use the bundled sources default: False manual: True