Commit Graph

196 Commits

Author SHA1 Message Date
Brad King
59032a3847 Merge topic 'libarchive-backport-rc4-crypto-rec'
18009aaf libarchive: backport rc4 crypto requirement update

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !598
2017-03-22 08:49:35 -04:00
Brad King
18009aaf5e libarchive: backport rc4 crypto requirement update
Backport upstream libarchive commit 70f497f456 (As per Cryptographic
Requirements, 2017-03-19).  Discard more bytes of the RC4 keystream
to reduce the possibility of non-random bytes.
2017-03-21 11:09:25 -04:00
Brad King
29528cc33e libarchive: Remove liblzma from introspection tests
This was added upstream but does not make sense in CMake because we
may replace the library with a logical target name that will not
work inside a `try_compile`.
2017-02-27 08:53:08 -05:00
Brad King
62d0e22325 Merge branch 'upstream-LibArchive' into update-libarchive
* upstream-LibArchive:
  LibArchive 2017-02-25 (d6b1bb9f)
2017-02-27 08:51:36 -05:00
Brad King
d49176e91e libarchive: Avoid using isblank
It is not available on VS 2012 and below.  Use our own impl instead.
2017-02-23 07:15:21 -05:00
Brad King
ce8f117fe2 libarchive: Avoid declaration after statement in C code 2017-02-23 07:15:21 -05:00
Brad King
e0f725f821 libarchive: Fix use of ssize_t in archive_entry.h
This type is not available on Windows compilers so for clients including
this header we need to use `la_ssize_t` instead as we do in `archive.h`.
2017-02-23 07:15:21 -05:00
Brad King
ae4861ec22 libarchive: Define __LA_DEPRECATED consistently
Upstream libarchive now defines this macro in two places with the same
logic in both.  However, CMake's bundled copy disables this macro, so
we need to update the new location of its definition to be consistent.
2017-02-23 07:15:20 -05:00
Brad King
a59a7ee956 Merge branch 'upstream-LibArchive' into update-libarchive
* upstream-LibArchive:
  LibArchive 2017-02-19 (100ee75a)
2017-02-20 08:04:00 -05:00
Brad King
6f23daea43 libarchive: Add support for building with OpenSSL 1.1
OpenSSL 1.1 made some CTX structures opaque.  Port our code to use the
structures only through pointers via OpenSSL 1.1 APIs.  Use our adaption
layer to make this work with OpenSSL 1.0 and below.

Patch-by: Tomas Mraz <tmraz@redhat.com>
Patch-from: https://bugzilla.redhat.com/1383744
2016-11-28 14:55:42 -05:00
Brad King
7d433206cf libarchive: Add headers to adapt between OpenSSL 1.1 and older versions
Add private forwarding headers for `openssl/{evp,hmac}.h` to give us a
central place to add adaptation code to work across multiple
incompatible OpenSSL versions.  Provide compatibility implementations of
some OpenSSL 1.1 APIs when using older OpenSSL versions.
2016-11-28 14:55:42 -05:00
Brad King
481c9003fa libarchive: Fix include order in xxhash.c
We need to include `archive_platform.h` before any system headers in
order to ensure that `_WIN32_WINNT` is defined early enough.
2016-08-17 10:48:28 -04:00
Brad King
9cb685505a Merge topic 'update-libarchive'
52f58267 Merge branch 'upstream-LibArchive' into update-libarchive
2b94d71d LibArchive 2016-06-19 (139d0576)
2016-06-21 13:57:07 -04:00
Brad King
52f58267c3 Merge branch 'upstream-LibArchive' into update-libarchive
* upstream-LibArchive:
  LibArchive 2016-06-19 (139d0576)
2016-06-20 10:50:13 -04:00
Brad King
dbc9f73d0e libarchive: Restore OpenSSL include directory from upstream
In commit v3.6.0-rc1~100^2 (libarchive: Drop early use of crypto
library, 2016-05-03) we accidentally dropped the include directory for
OpenSSL as well as the library.  Without that, it works only
accidentally when CHECK_CRYPTO happens to choose the OpenSSL
implementation and add the include directory.

Reported-by: Bradley Lowekamp <blowekamp@mail.nih.gov>
2016-06-07 15:05:11 -04:00
Brad King
59d28b2849 libarchive: Drop early use of crypto library
We already add the crypto library after the ssl library when using
OpenSSL.  Do not add it to the list of libraries individually or we may
end up with the wrong order later.  Further investigation will be needed
to see how this change can be reconciled with the upstream need for the
original line.
2016-05-03 09:53:05 -04:00
Brad King
e9bc469b2a Merge branch 'upstream-LibArchive' into update-libarchive
Resolve conflicts in C code by taking their side.  Resolve conflicts in
CMake code by integrating the changes.
2016-05-02 10:48:48 -04:00
Brad King
b2675cde5f libarchive: Remove CMake-specific README
We will now manage the libarchive source tree updates using
the `Utilities/Scripts/update-libarchive.bash` script.  Drop
the README that covered the old method.
2016-05-02 10:46:57 -04:00
Felix Geyer
49e82c15d5 Fix spelling typos in comments and documentation (#16037)
The Debian package checker tool (lintian) detected several typos in
CMake.
2016-03-29 14:31:02 -04:00
Brad King
c09acf4fdd libarchive: Update README-CMake.txt for new snapshot 2015-10-28 08:44:47 -04:00
Brad King
2f940f8995 libarchive: Drop use of pthread.h for CMake build
CMake does not use threads so we do not need this in our libarchive.
2015-10-28 08:44:47 -04:00
Brad King
1e47381730 libarchive: Do not use pthread.h API without header 2015-10-28 08:44:47 -04:00
Brad King
43d577dcb9 libarchive: Test for Clang builtin before using it
The __builtin_bswap16 builtin is not available on Clang 2.1.
2015-10-28 08:44:47 -04:00
Brad King
85e0bb84f5 libarchive: Avoid using 'uint8_t' as bitfield type
The IBM XL compiler does not like it.  Use plain 'unsigned' instead.
2015-10-22 10:18:27 -04:00
Brad King
c70491d671 libarchive: Avoid using name 'hz'
AIX system headers define the symbol 'hz' as a preprocessor macro.
2015-10-22 10:18:27 -04:00
Brad King
1bbba477c7 libarchive: Drop outdated CMake portability snprintf
The archive_read_support_format_zip.c source no longer calls snprintf
directly so we do not need a portability macro for it.
2015-10-22 10:18:26 -04:00
Brad King
64bdf0b746 libarchive: Avoid non-portable u_int8_t
Use uint8_t that we prepare in config.h instead.
2015-10-22 10:18:26 -04:00
Brad King
8f837fc9a9 libarchive: Use CommonCrypto APIs on OS X only when available
Use each CommonCrypto API only when using an OS X SDK version new enough
to provide it.
2015-10-22 10:18:26 -04:00
Brad King
61a0251e82 libarchive: Define O_CLOEXEC when missing
Do this in archive_random.c as we do in several other sources already.
2015-10-22 10:18:26 -04:00
Brad King
832fe4b133 libarchive: Fix VS 7.1 Debug build
This version of the MS C runtime library forgets to export
_byteswap_ushort.
2015-10-21 11:34:28 -04:00
Brad King
0b82f51a30 libarchive: Guard bcyrpt.h with HAVE_BCRYPT_H 2015-10-21 11:18:50 -04:00
Brad King
5333c04cd0 libarchive: Drop CMake-specific Borland compiler workaround
We no longer build CMake with the Borland compiler.
2015-10-21 10:31:57 -04:00
Brad King
e861e12f6e libarchive: Define version macro before first use 2015-10-21 10:30:29 -04:00
Brad King
932848f420 Merge branch 'libarchive-upstream' into update-libarchive
Resolve conflicts by integrating changes from both sides.
2015-10-21 10:18:52 -04:00
Brad King
8b4c40155a Merge topic 'fix-libarchive-mktemp'
1f33b45d libarchive: Fix string concatentation in Windows mktemp implementation
2015-04-10 08:31:01 -04:00
Nils Gladitz
ad194ae0b1 libarchive: Use base-256 encoding for UID/GID like GNU tar does 2015-04-09 14:27:16 -04:00
Tim Kientzle
1f33b45d5d libarchive: Fix string concatentation in Windows mktemp implementation
Port upstream LibArchive commit "compute string pointers after
concatenation" (2014-09-25) and commit "Move variables to top of
function for non-C99 compilers" (2014-11-15) to our CMake copy.
Otherwise we may compute a pointer to memory that is about to be freed
and then compute a bad size to give to CryptGenRandom.

Inspired-by: Tim Kientzle <kientzle@gmail.com>
2015-04-09 14:08:43 -04:00
Brad King
6b9a0e1797 libarchive: Constify internal __archive_get_date implementation
The caller of this API already re-declares it as const, so update the
implementation accordingly.
2015-01-15 11:48:10 -05:00
Brad King
95d84f76d9 Merge topic 'cmake-cmp0054-warnings'
29c3edb8 Avoid if() quoted auto-dereference
2014-10-21 15:08:07 -04:00
Ben Boeckel
29c3edb87a Avoid if() quoted auto-dereference
When testing CMAKE_<LANG>_COMPILER_ID values, do not explicitly
dereference or quote the variable. We want if() to auto-dereference the
variable and not its value. Also replace MATCHES with STREQUAL where
equivalent.
2014-10-20 11:49:16 -04:00
Stephen Kelly
2db55ffa56 Remove borland workarounds.
CMake 3.0 is the last release to require to be able to build with
Borland.
2014-10-15 23:16:44 +02:00
Geoff Viola
bef23e8181 Fix some spelling errors in comments 2014-10-13 10:00:53 -04:00
Brad King
cede5cbd53 libarchive: Avoid depending on if() to dereference a quoted variable 2014-09-11 21:23:24 +02:00
Daniel Pfeifer
8436d18115 CMake: Enable use of liblzma in libarchive (#14504)
Build liblzma as part of CMake or find one on the system.  Modify our
port of libarchive to use the liblzma configured for use with CMake.
2014-07-29 08:45:36 -04:00
Brad King
f56e74ef56 Merge topic 'hpux-libarchive-compile'
c1ddd77d libarchive: Fix compilation on Tru64 with F_SETTIMES
2014-06-09 10:36:13 -04:00
Brad King
c1ddd77d0c libarchive: Fix compilation on Tru64 with F_SETTIMES
The parent commit left a typo in the conditional code path for Tru64.
Add the missing '.'.
2014-06-09 10:36:41 -04:00
Brad King
8c29d8d1e7 Merge topic 'hpux-libarchive-compile'
478b1c8b libarchive: fix compilation on newer HP-UX versions
2014-06-09 10:28:40 -04:00
Rolf Eike Beer
478b1c8b36 libarchive: fix compilation on newer HP-UX versions
Newer HP-UX versions (e.g. 11.31) also offers F_SETTIMES, but with a different
struct for the timing information.

Suggested-by: Eric Berge <ericmberge@gmail.com>
2014-06-09 10:15:27 -04:00
Brad King
fe27c993ff Merge topic 'update-libarchive'
67f5f0a9 libarchive: Use _snprintf on Windows, not snprintf
fcfbb0a9 libarchive: Drop LIBARCHIVE_ADDITIONAL_LIBS, CMake does not need it
61a649d9 libarchive: Update README-CMake.txt for new snapshot
4533560c Merge branch 'libarchive-upstream' into update-libarchive
44d6b82f libarchive: Disable all whitespace checks in third-party code
37f225b7 libarchive 3.1.2-246-ga5a5d28b (reduced)
6ab7c326 libarchive: Avoid left-shift overflow of signed integer
2014-04-17 09:11:06 -04:00
Brad King
67f5f0a9fd libarchive: Use _snprintf on Windows, not snprintf 2014-04-15 16:52:18 -04:00