| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
libarchive's crypto library checks use its `config.h` inside the
`try_compile` project. Since commit ade3b16e63 (libarchive: Use KWIML
to get fixed-size integer types, 2020-06-01, v3.18.0-rc1~33^2),
that header depends on KWIML inside CMake. Add the include directory
for KWIML to the crypto library checks. Otherwise, they always fail
due to not finding the KWIML headers, and libarchive decides not
to link the crypto library.
libarchive has other code besides the hash algorithms that depends on
the crypto library if its ENABLE_OPENSSL option is enabled (which in
CMake is controlled by CMAKE_USE_OPENSSL). It seems to be missing some
conditions to link the crypto library in those cases, and instead relies
on at least one of the above-mentioned checks to pass. If they all
fail, and we are using system curl, we might not link the crypto
library.
Fixes: #23234
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Divert LCC compiler as a new one, instead of treating it as GNU.
Since old times, Elbrus C/C++/Fortran Compiler (LCC) by MCST has been
passing checks for GNU compilers, so it has been identified as GNU.
Now, with intent of seriously upstreaming its support, it has been
added as a separate LCC compiler, and its version displays not a
supported GCC version, but LCC version itself (e.g. LCC 1.25.19 instead
of GNU 7.3.0).
This commit adds its support for detection, and also converts basically
every check like 'is this compiler GNU?' to 'is this compiler GNU or
LCC?'. The only places where this check is untouched, is where it
regards other platforms where LCC is unavailable (primarily non-Linux),
and where it REALLY differs from GNU compiler.
Note: this transition may break software that are already ported to
Elbrus, but hardly relies that LCC will be detected as GNU; still such
software is not known.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since libarchive commit `aff9809c` (Enable compression level up to 9 for
xz, xar, 7zip, 2020-07-26, v3.5.0~19^2), libarchive fails to initialize
xz compression on AIX with error
Internal error initializing compression library: Cannot allocate memory
Revert to the old limit of level 6 on AIX.
Issue: #22553
|
|
|
|
|
| |
* upstream-LibArchive:
LibArchive 2020-12-26 (227a4b97)
|
|
|
|
| |
Issue: #20666
|
| |
|
|\
| |
| |
| |
| |
| |
| | |
a9fc751e65 libarchive: Use uint8_t instead of u_char
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5981
|
| |
| |
| |
| |
| |
| | |
The latter is not a standard type.
Fixes: #22013
|
| | |
|
|/
|
|
|
| |
The test for lzma_stream_encoder_mt was always failing
because the lzma libraries weren't being used by linker.
|
|
|
|
|
|
|
|
|
| |
Refactoring in commit ade3b16e63 (libarchive: Use KWIML to get
fixed-size integer types, 2020-06-01) accidentally changed the method of
defining `int#_t` types from `typedef` to `#define`. Change it back to
`typedef`.
Reported-by: Rolf Eike Beer <eike@sf-mail.de>
|
| |
|
| |
|
|
|
|
| |
The libarchive library code we use within CMake does not need these.
|
|
|
|
| |
Fixes: #20666
|
|
|
|
|
| |
Hard-code more libarchive options as internal cache entries. Doing so
makes some of our `IF(0)` conditions unnecessary, so remove those.
|
|
|
|
|
|
|
|
|
|
| |
* upstream-LibArchive:
LibArchive 2020-02-11 (3288ebb0)
Also manually restore content from upstream libarchive's main
`CMakeLists.txt` file that was removed by previous commits and
exclude it with `IF(0)` blocks. Do this as an evil merge so
that `git blame -C` can follow the content to upstream.
|
|\
| |
| |
| |
| |
| |
| |
| | |
16e31523ba libarchive: Add support for UTF-8 locale on Windows
f7c54d2049 libarchive: Fix WideCharToMultiByte output buffer size
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4332
|
| |
| |
| |
| |
| |
| |
| | |
Backport libarchive upstream commit `c46e7993` (windows: Support UTF-8
locale, 2018-07-23, v3.4.0~105^2).
Fixes: #20320
|
| |
| |
| |
| |
| |
| | |
Fix `archive_string_append_from_wcs_in_codepage` to account for the
already-used portion of the buffer when computing the size of the
remaining buffer for ``WideCharToMultiByte` output.
|
| |
| |
| |
| |
| |
| | |
In `archive_pack_dev.c` there is code checking the `HAVE_MAJOR` macro,
but it is not computed. Port the equivalent logic from
`archive_entry.c`.
|
|/ |
|
|\
| |
| |
| |
| |
| |
| | |
6c81c6538b libarchive: avoid b64_encode name conflict with Solaris built-in function
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3351
|
| |
| |
| |
| |
| |
| |
| | |
Solaris 11.4 has a built-in function named `b64_encode`. Add a
`la_` prefix to our internal function to avoid conflict.
Fixes: #19268
|
| |
| |
| |
| |
| |
| |
| | |
Build zstd as part of CMake or find one on the system. Modify our
port of libarchive to use the zstd configured for use with CMake.
Issue: #18657
|
| | |
|
|/
|
|
|
|
| |
In commit beb991110d (Remove now-unused code once used on IRIX,
2019-01-11, v3.14.0-rc1~167^2) we removed remnants of IRIX support.
Also remove remnants of MIPSpro compiler support.
|
|
|
|
|
| |
* upstream-LibArchive:
LibArchive 2018-09-03 (5fe69dd0)
|
|
|
|
|
|
|
|
| |
Backport libarchive commit v3.3.3~16^2 (fix build with LibreSSL 2.7,
2018-04-01). LibreSSL 2.7 adds OpenSSL 1.1 API leading to conflicts on
method names.
Fixes: #18404
|
|
|
|
|
|
|
|
|
| |
The SDK for macOS 10.13 adds `futimens` and `utimensat` so our checks
for these symbols may pass. However, the symbols are not available at
runtime on older macOS versions. Instead on macOS we can check for
availability based on the deployment target version.
Issue: #17101
|
|
|
|
|
| |
Update a new source file imported from libarchive upstream to include
the headers for compression libraries using the CMake wrappers.
|
|
|
|
|
| |
* upstream-LibArchive:
LibArchive 2017-07-09 (98a69539)
|
|\
| |
| |
| |
| |
| |
| | |
18009aaf libarchive: backport rc4 crypto requirement update
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !598
|
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| | |
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`.
|
| |
| |
| |
| |
| | |
* upstream-LibArchive:
LibArchive 2017-02-25 (d6b1bb9f)
|
| |
| |
| |
| | |
It is not available on VS 2012 and below. Use our own impl instead.
|
| | |
|
| |
| |
| |
| |
| | |
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`.
|
| |
| |
| |
| |
| |
| | |
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.
|
|/
|
|
|
| |
* upstream-LibArchive:
LibArchive 2017-02-19 (100ee75a)
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
We need to include `archive_platform.h` before any system headers in
order to ensure that `_WIN32_WINNT` is defined early enough.
|
|\
| |
| |
| |
| |
| | |
52f58267 Merge branch 'upstream-LibArchive' into update-libarchive
2b94d71d LibArchive 2016-06-19 (139d0576)
|
| |
| |
| |
| |
| | |
* upstream-LibArchive:
LibArchive 2016-06-19 (139d0576)
|
|/
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Resolve conflicts in C code by taking their side. Resolve conflicts in
CMake code by integrating the changes.
|