summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2018-11-12prefer selecting packages by their primary nameTimo Teräs3-8/+25
2018-11-12fix package preference based on it's conflicts in --latest modeTimo Teräs1-4/+5
remove also redundant pkg_selectable check in repair mode.
2018-11-09apk-tools-2.10.2v2.10.2Timo Teräs1-1/+1
2018-11-02fix short option string to be nil terminatedTimo Teräs1-0/+1
2018-11-02fix error reporting for virtual package additionTimo Teräs1-1/+1
Move addition of virtual package after the dependencies have been parsed as then the reverse dependency structers can be populated correctly.
2018-11-02don't report virtual packages as maskedTimo Teräs1-1/+1
2018-11-02inhibit printing same 'required by' dependency multiple timesTimo Teräs1-0/+5
this would happen if same package matched multiple times due to multiple provided names.
2018-11-02print: don't print spurious newlinesTimo Teräs3-7/+5
2018-10-30fix xattr hash to be sha1Timo Teräs1-1/+1
The hash type was accidentally changed in previous commit. Currently csum->data cannot hold longer hash, so fix the hash.
2018-10-26add support for openssl 1.1Timo Teräs8-54/+90
2018-10-05apk: fix all_options array size off-by-oneTimo Teräs1-1/+1
merge_options() will write one more entry to the options table which is the end-of-table indicator. Allocate memory for it too. valgrind did not pick it up due to being in stack; changing alloca to malloc would make valgrind notice the issue too. Reported-by: Mobile Stream <info@mobile-stream.com>
2018-09-25cache: support --latest and --upgrade to affect download policyTimo Teräs1-3/+41
2018-09-25move --simulate to global optionsTimo Teräs1-5/+2
there are several applets that support simulation but are not committing changes to database
2018-09-11add: add --latest flag to help analyze why upgrade failsTimo Teräs1-0/+6
2018-09-10apk-tools-2.10.1v2.10.1Timo Teräs1-1/+1
2018-09-10rework unpacking of packages and harden package file format requirementsTimo Teräs6-105/+142
A crafted .apk file could to trick apk writing unverified data to an unexpected file during temporary file creation due to bugs in handling long link target name and the way a regular file is extracted. Several hardening steps are implemented to avoid this: - the temporary file is now always first unlinked (apk thus reserved all filenames .apk.* to be it's working files) - the temporary file is after that created with O_EXCL to avoid races - the temporary file is no longer directly the archive entry name and thus directly controlled by potentially untrusted data - long file names and link target names are now rejected - hard link targets are now more rigorously checked - various additional checks added for the extraction process to error out early in case of malformed (or old legacy) file Reported-by: Max Justicz <max@justi.cz>
2018-09-10add .mailmap to consolidate git shortlogRobert Hencke1-0/+5
Consolidate author information, so that tools like 'git shortlog' show a single entry for each author.
2018-09-05libfetch: do not give out user/hostname as ftp anonymous passwordTimo Teräs1-15/+5
This is unwanted information disclosure. Reported-by: Max Justicz <max@justi.cz>
2018-09-05apk: sanitize return valueTimo Teräs1-0/+2
Most applets return whatever apk_solver_commit() returns. It is the number of errors found (or negative for hard error). Sanitize the error value to not give false success exit code in the unlikely case of errors % 256 == 0. Reported-by: Max Justicz <max@justi.cz>
2018-08-21prevent automatic repository index update with --no-networkNatanael Copa1-1/+2
We should not update repository index when --no-network is specified. ref #9126
2018-08-14archive: enable FIFO extractionJesse Young1-2/+4
2018-07-18prevent automatic repository index update for 'apk del'Timo Teräs3-4/+7
ref #9063
2018-07-02Invalidate id cache after script executionJussi Kukkonen1-0/+4
It's common for a pre-install script to do something like addgroup -S group 2>/dev/null When apk installs files after this, it sets the owner/group based on id cache but currently the id cache is stale and doesn't contain the new group at that point: instead the file will be installed with gid that the build host happened to have for that group -- on target this might mean a non-existing group or a completely different group. We can't know if the script really did modify id cache contents so make sure to reset the id cache on every script execution.
2018-07-02list: fix segmentation fault with virtual packagesSören Tempel1-3/+9
Virtual packages have the origin pointer set to NULL. Trying to print it using the BLOB_PRINTF macros causes a segmentation fault. Inspired by the `print_origin_name` function from `src/search.c` this commit attempts to fix it by checking whether `pkg->origin` is NULL before attempting to print it. If it is NULL the pkg name is printed instead. Since printing the pkg name requires a different format string this commit splits the printf call for printing the package line into multiple ones. The output format shouldn't have changed at all though.
2018-06-24apk-tools-2.10.0v2.10.0Natanael Copa1-1/+1
2018-06-14apk-tools-2.10.0_rc1v2.10.0_rc1Timo Teräs1-1/+1
2018-06-14fetch: ignore conflicts when solving --recursive fetchesTimo Teräs3-9/+25
2018-06-14fetch: include install_if dependencies with --recursiveNatanael Copa1-26/+23
Run apk_solver_solve once with all args as dependencies instead of running apk_solver_solve for each arg. This is neccesary so the install_if calculation is done correctly.
2018-05-08url: return relevant error value from apk_istream_fetchEdan Bedrik1-3/+10
2018-04-05db: fix refreshing index if time is zeroTimo Teräs1-3/+5
During netboot on systems without RTC, time() will be near zero, and the index fill not exist. Thus the plain test of st.st_mtime against system time failed. Verify that fstatat() succeeds.
2018-02-21solver: allow names with only one provider to be autoselected regardless of ↵William Pitcock2-3/+11
priority
2018-02-20tests: make sure adding a pinning to a child dependency failsWilliam Pitcock1-0/+5
2018-02-20add: child dependencies can never take a pinning, give a useful errorWilliam Pitcock1-3/+4
2018-02-20apk: in test mode, always exit 0 (so the test harness doesn't stop running ↵William Pitcock1-0/+5
tests)
2018-02-09travis: update alpine-chroot-install to 0.7.0Jakub Jirutka1-3/+3
2018-01-31libfetch: support OpenSSLA. Wilcox1-1/+1
TLS_client_method is a LibreSSL extension. SSLv23_client_method is generic, and doesn't mean SSL v2/v3 only.
2018-01-29list: use `apk list --providers` to search virtual providers instead of ↵William Pitcock1-6/+8
enabling virtuals by default
2018-01-29search: remove from APK_COMMAND_GROUP_QUERYWilliam Pitcock1-1/+0
list does everything search does and more
2018-01-29list: add option to match against real names only instead of providersWilliam Pitcock1-1/+7
2018-01-29list: add --depends option for searching based on rdependsWilliam Pitcock1-3/+27
2018-01-29list: refactor package dumping vs package filteringWilliam Pitcock1-20/+20
2018-01-29test: fix test6 testcaseWilliam Pitcock1-1/+1
2018-01-28list: new appletWilliam Pitcock2-1/+236
The list applet provides a convenient way of inspecting both the available and installed package databases by listing their contents. In some ways, it is similar to `apk search` but is considered to be a superset of `apk search` functionality. A few `apk list` criterion are not yet ready though, such as `apk list --depends` which searches by runtime dependency (replacing `apk info --rdepends`).
2018-01-09apk: make --help --verbose actually work.William Pitcock1-1/+10
2018-01-09apk: properly error out if an unknown command is requestedWilliam Pitcock1-1/+5
2018-01-09apk: commit options help text: fix typo concerning diskless bootWilliam Pitcock1-1/+1
2018-01-09apk: usage: cleanup help text when no applet is selectedWilliam Pitcock16-13/+52
2018-01-09fix --update-cache help to reflect realityTimo Teräs1-1/+1
Internally the value is in seconds, but on command line it's in minutes.
2018-01-08apk-tools-2.9.1v2.9.1Timo Teräs1-1/+1
2018-01-08auto-update index only when database is opened for writingTimo Teräs2-1/+3