Age | Commit message (Collapse) | Author | Files | Lines |
|
For 32-bits arches, we use 64-bit arches in 32-bit mode. Docker by
default wants to pull the image for the native arch, so unless we take
care, the binaries will be built for the wrong arch.
Use the arch tagged images we build to make sure we get the correct image.
|
|
Currently, special characters in the username or password are not
handled correctly (when set in $http_proxy and $https_proxy). They
should be percent encoded in the environment variables then decoded
by libfetch and reencoded using base64. This implementation is mainly
taken from the current FreeBSD source and adapted to the apk-tools
version of libfetch.
fixes #10775
|
|
readv/writev and struct iovec are declared in sys/uio.h per POSIX.
using it without sys/uio.h is a GNU extension.
ref #10794
|
|
clang does not ignore inline functions when checking for unused functions
ref #10794
|
|
this ensures the %ju format parameter is always passed an integer that is
appropriately sized, e.g. on mac where off_t is normally 32-bit.
ref #10794
|
|
|
|
|
|
|
|
this allows the applet registration to work in a portable way, without having to
weird things with the linker.
ref #10794
|
|
|
|
|
|
on mac, openssl is usually provided by Homebrew or some other third-party
package management system, which means pkg-config is needed to find it.
we already use pkg-config to find openssl when building apk itself.
ref #10794
|
|
musl implements support for malloc.h, but it is only a stub. we do not use
any of the GNU-specific malloc interfaces, so just use POSIX stdlib.h instead.
ref #10794
|
|
features.h is a GNU-specific header, and is not required for POSIX-compatible code
macOS does not provide features.h
ref #10794
|
|
ref #10794
|
|
fixes #10785
|
|
fixes #10796
|
|
|
|
The v3 format will not require the hash, but synthesize it to the
DB so v3 packages can get installed properly.
fixes #10785
|
|
The apk_fsdir_file_digest() servers dual purpose: to calculate
the checksum, but also to determine if the file exists. Move
it's error check where it originally was.
fixes #10791
|
|
fixes #10778
|
|
Symlinks should use the real target filename instead of
the temporary extraction name.
|
|
The "untrusted" error is higher priority than malformed package.
But given that we expect valid .apk or index as argument, the
untrusted error is likely more accurate than having malformed
package.
|
|
ref #10788
|
|
Remove the APK_REPOSITORY_CACHED bit from dependencies only
packages (that is, installed_size == 0). For fetch, the problem
is that apk_db_select_repo() would return the cache repository,
but the package would not be there. Update also the locations
needed to handle these packages correctly without the cached
repository bit being set.
|
|
|
|
The adb object for apk_pkg_from_adb() was changed in commit 7d6de220
"database: support loading v3 indexes" which also addressed the broken
site in question but omitted updating the argument.
fixes #10783
|
|
Always return the original length; not the one with trailing '/'
amended.
fixes c60b7424 "optimize apk_pathbuilder_pop to get the old length"
ref #10784
|
|
The apk_istream is null for zero length files, and needs
special handling.
fixes #10784
|
|
avoids memrchr
|
|
give a fake trust root allowing anything. adbdump code will verify
and dump each signature individually.
|
|
|
|
by adding an abstraction layer to the file system
|
|
When extraction failed, the user has had no opportunity to edit
any files. Just clean up.
|
|
fix also the progress callback on uvol extraction
|
|
|
|
|
|
|
|
|
|
Report also version numbers as invalid if there's more than 18
digits.
fixes #10774
|
|
|
|
and fix the error code if untrusted adb is seen
|
|
|
|
apk_extract_file() already calls unlink if the error is fatal.
|
|
|
|
see https://gitlab.alpinelinux.org/alpine/aports/-/issues/11736
[TT: minor stylistic change]
|
|
Without this header the build fails when used as a OpenWrt build
dependency.
Signed-off-by: Paul Spooren <mail@aparcar.org>
|
|
|
|
Make sure we always have valid struct apk_trust * for code using it.
Load the signing keys directly when being specified to produce
sane error message if loading them fails.
|
|
In most places where pointer can be an 'error' it cannot be null
pointer. Further, in those cases just calling PTR_ERR() is not enough
to handle the null case. Simplify code by removing this case.
If NULL case needs to be handled, it's better to add separate check
and return fixed error code in that case.
|