aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* adb: introduce apk-tools database format, and few appletsv3.0-wipTimo Teräs2020-02-2823-11/+2608
| | | | | | This is a flat buffers inspired format that allows fast mmaped access to the data with low overhead, signature support and relatively good forward support.
* db: fix unaligned memory access in csum_hash()Timo Teräs2020-02-213-11/+13
|
* libfetch: support TCP_CORKTimo Teräs2020-02-181-23/+22
| | | | | | | | | | | | | | | | | | | Unfortunately libfetch operates on raw sockets and is sending each HTTP request line using separate syscall which causes the HTTP request to be sent as multiple packets over the wire in most configurations. This is not good for performance, but can also cause subtle breakage if there's DPI firewall that does not get the Host header. Incidentally, it seems that on BSDs libfetch already sets TCP_NOPUSH optimize the packetization. This commit adds same logic for using TCP_CORK if available. When using TCP_CORK there is no requirement to set TCP_NODELAY as uncorking will also cause immediate send. Keep TCP_NODELAY in the fallback codepaths. Long term, it might make sense to replace or rewrite libfetch to use application level buffering.
* fix murmur3 hash unaligned memory accessTimo Teräs2020-02-171-29/+39
| | | | | - do not do unaligned accesses on non-x86 hardware - clean up the code a little bit
* rename all iostream source to io_*.cTimo Teräs2020-02-144-6/+7
|
* rename all applets sources to app_*.cTimo Teräs2020-02-1419-21/+25
|
* io: add stream copy helperTimo Teräs2020-02-143-8/+37
|
* defines: add typeof() as it's gcc built-inTimo Teräs2020-02-041-0/+4
| | | | Related to MR !15
* remove apk_time() as it is causing problems with shared objectsTimo Teräs2020-02-046-17/+10
| | | | | | | Instead, to make sure test mode produces same output, redefine time() for the test mode binary. Reverts parts of 0b82bcc53e60.
* remove travis ci, we are using gitlab ci now insteadTimo Teräs2020-01-261-53/+0
|
* remove tests connected to help output validationTimo Teräs2020-01-261-10/+0
| | | | The help has been moved to man pages now.
* build: separate subdirs out from targetsTimo Teräs2020-01-262-7/+12
| | | | | That list is needed in multiple places, so it simplifies things a bit.
* convert man page makefile to make.rules formatTimo Teräs2020-01-262-43/+54
|
* man pages: consoldate commit options in apk(8)Drew DeVault2020-01-265-104/+30
|
* man pages: merge scdoc targetesDrew DeVault2020-01-261-4/+1
|
* Makefile: install man pages to MANDIRDrew DeVault2020-01-261-8/+18
|
* Update apk to make man pages sole source of truthDrew DeVault2020-01-2620-228/+107
| | | | | Detailed docs have been removed from the apk binaries, in favor of git-style short summaries of each command.
* add apk-cache(5)Drew DeVault2020-01-262-0/+24
|
* add apk-keys(5)Drew DeVault2020-01-262-0/+19
|
* add apk-version(8)Drew DeVault2020-01-262-0/+54
|
* add apk-stats(8)Drew DeVault2020-01-262-0/+25
|
* add apk-audit(8)Drew DeVault2020-01-262-0/+56
|
* add apk-verify(8)Drew DeVault2020-01-262-0/+29
|
* add apk-manifest(8)Drew DeVault2020-01-263-1/+36
|
* add apk-fetch(8)Drew DeVault2020-01-262-0/+42
|
* add apk-index(8)Drew DeVault2020-01-262-0/+37
|
* add apk-policy(8)Drew DeVault2020-01-262-0/+26
|
* add apk-dot(8)Drew DeVault2020-01-262-0/+30
|
* add apk-list(8)Drew DeVault2020-01-263-1/+45
|
* add apk-info(8)Drew DeVault2020-01-262-0/+77
|
* add apk-cache(8)Drew DeVault2020-01-262-0/+42
|
* add apk-upgrade(8)Drew DeVault2020-01-262-0/+65
|
* add apk-update(8)Drew DeVault2020-01-262-0/+25
|
* add apk-fix(8)Drew DeVault2020-01-262-0/+65
|
* add apk-del(8)Drew DeVault2020-01-262-0/+52
|
* add apk-add(8)Drew DeVault2020-01-262-0/+70
|
* add apk-repositories(5)Drew DeVault2020-01-262-0/+41
|
* add apk-world(8)Drew DeVault2020-01-262-1/+64
|
* Initial riggings for man pages, add apk(8)Drew DeVault2020-01-264-3/+179
| | | | | This commit sets up the build system to compile man pages with scdoc, and adds the first man page: apk(8).
* .gitignore: add compiled man pagesDrew DeVault2020-01-261-0/+2
|
* don't use hardcoded checksum buffer sizesReid Rankin2020-01-252-5/+8
|
* document mysterious SHA-1 blob in database.cReid Rankin2020-01-251-0/+2
|
* don't ignore md parameter to apk_fileinfo_hash_xattr_array()Reid Rankin2020-01-251-1/+1
|
* db: additional clean up and hardening for apk extractionTimo Teräs2020-01-241-15/+16
| | | | | | | | This enforces all scripts to be in the control block, and all data files to be in data block. Ignoring of dot files in root is added back: packages without any real files will ship one ".dummy" item in the data block to trigger processing and validation to work.
* Harden signature verification processReid Rankin2020-01-242-29/+32
| | | | | | | | | | This mostly boils down to making sure control_started and data_started are consistently used to gate actions, instead of relying whether on file names start with a '.'. None of the weaknesses this fixes are exploitable, but they might have become so after changes to seemingly-unrelated code, so it's good to clean them up.
* Improve documentation of signature verification processReid Rankin2020-01-241-7/+19
|
* manifest: fix package file processingReid Rankin2020-01-241-4/+7
| | | | | | | | | This change ensures that apk_sign_ctx_process_file() and apk_sign_ctx_parse_pkginfo_line() are called during archive processing, allowing discovery of signatures and the data section checksum. Fixes a bug uncovered by commit f123d77e.
* io: use min() instead of MIN()Timo Teräs2020-01-111-5/+4
|
* archive: make apk_tar_parse check and close input streamTimo Teräs2020-01-115-54/+26
| | | | simplifies other code quite a bit
* io: convert bstream mmap to istream, remove the now obsolete bstream machineryTimo Teräs2020-01-112-244/+65
|