summaryrefslogtreecommitdiff
path: root/src/blob.c
AgeCommit message (Collapse)AuthorFilesLines
2021-12-29portability: take over strlcpyAriadne Conill1-13/+0
2021-12-14everywhere: use stdlib.h for malloc(3) definition, not GNU-specific malloc.hAriadne Conill1-1/+1
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
2021-11-09database: support loading v3 indexesTimo Teräs1-0/+9
2021-07-26adb: adb_walk_adb fix out of boundary writeTimo Teräs1-21/+41
If a signature is longer than max allowed adb signature length then adb_walk_block writes out of boundary of stack variable tmp. The len += snprintf is not safe per standard snprintf implementation (kernel does it differently). Introduce and use apk_blob_push_fmt which does the checking better. Fixes #10752 Reported-by: Samanta Navarro <ferivoz@riseup.net>
2021-06-02add adbgen applet to generate databases from it's text dumpTimo Teräs1-0/+6
2020-10-09minor performance improvements on build and codeTimo Teräs1-1/+1
2020-10-09adb: introduce apk-tools database format, and few appletsTimo Teräs1-0/+7
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.
2020-05-19make the atom functions not use global stateTimo Teräs1-76/+0
This greatly helps with memory management on applications that may want to daemonize and open/close database several times. Also the lifetime and "owner" of memory for all data is now explicitly bound to owning struct apk_database, which might be helpful when writing language bindings. As side effect, the interned "atoms" are unique only within what apk_database, so comparing packages from different apk_database may not work as expected. Fixes #10697
2020-05-07fix apk_blob_pull_csum to always initialize apk_checksumTimo Teräs1-9/+6
Fixes #10686 to not use uninitialized value in the error paths.
2020-05-07use SPDX-License-Identifier in source filesTBK1-3/+1
2020-02-21db: fix unaligned memory access in csum_hash()Timo Teräs1-10/+0
2020-02-17fix murmur3 hash unaligned memory accessTimo Teräs1-29/+39
- do not do unaligned accesses on non-x86 hardware - clean up the code a little bit
2020-01-11istream, archive, db: convert db and tar function to use istreamTimo Teräs1-4/+2
2019-05-28Fix compile with glibcIan Douglas Scott1-1/+1
2019-02-13fix strncpy bounds errorsTimo Teräs1-0/+13
error: 'strncpy' specified bound 4096 equals destination size [-Werror=stringop-truncation] Based on patch by Elan Ruusamäe <glen@delfi.ee>
2016-04-03blob: fix sign extension in test_bitTimo Teräs1-1/+1
2015-10-08blob: Add missing headerAndrew Wilcox1-0/+1
2015-06-12add simple stats appletTimo Teräs1-1/+1
2015-06-12free atoms when VALGRIND is definedTimo Teräs1-0/+10
2015-06-12optimize base64 decoding a bitTimo Teräs1-20/+16
it's a hot path for decoding checksums in fdb
2015-06-11use murmur3_32 hashTimo Teräs1-6/+45
it is more efficient than the previously used djb hash
2015-04-08ignore .apk-new files for overlaysTimo Teräs1-0/+6
2014-11-01support extended pax header in tar extractorTimo Teräs1-0/+9
2013-06-12libapk, apk(8): fix header inclusion issues with musl's headersWilliam Pitcock1-1/+1
2012-02-27solver, test: implements more provides things, add testsTimo Teräs1-3/+4
ref #574
2012-02-10blob: fix base64 decoding after previous optimizationsTimo Teräs1-1/+1
2012-02-08blob: optimize spn and cspnTimo Teräs1-4/+87
2012-02-08blob: optimize digit and base64 decodingTimo Teräs1-41/+110
2011-10-29solver, db: implement repository pinningTimo Teräs1-4/+8
Improves /etc/apk/repositories format so you can say: http://nl.alpinelinux.org/alpine/v2.3/main @edge http://nl.alpinelinux.org/alpine/edge/main @testing http://nl.alpinelinux.org/alpine/edge/testing After which you can pin dependencies to these tags using: apk add stableapp newapp@edge bleedingapp@testing Apk will now by default only use the untagged repositories, but adding a tag to specific dependency: 1. will prefer that tag for the name 2. allowing pulling in dependencies from that tag (though, it prefers untagged packages to satisfy deps if possible) fixes #575
2011-09-13all: update copyright year statementTimo Teräs1-1/+1
2010-12-14various: use 'atoms' for certain package field and misc fixesTimo Teräs1-0/+67
- implement a hash table for commonly shared fields such as license, version and architecture - use macroes to print blobs or pkgname-pkgver strings - fix some old cruft
2010-11-23blob: fix segfault on x86_64 with --virtualNatanael Copa1-1/+1
blob.ptr might be non-null on empty field in /var/lib/apk/installed so we compare with blob length. This fixes a segfault on x86_64.
2010-06-01state: improve error messages from dependency failuresTimo Teräs1-0/+8
Print more information why installation changeset calculation failed. Fixes #187.
2009-07-15blob: base64 encoding and decodingTimo Teras1-17/+127
and prefer sha1 checksums to be stored in base64 encoded format.
2009-07-14db: live with sha1 and md5Timo Teras1-0/+49
this also convers scripts file to a tar archive.
2009-07-14blob: add some likelyness to help compiler optimizationsTimo Teras1-12/+12
2009-07-14blob: some helpers to replace snprintfTimo Teras1-36/+91
snprintf is dog slow. make the blob stuff have some helper functions so we can use them in code paths that are executed often.
2009-07-14hash: allow caching of hash valueTimo Teras1-2/+7
2009-07-14bstream: make tokenizable and load index using bstreamTimo Teras1-17/+31
some fixes on index reading code too.
2009-07-08csum: use openssl insteadTimo Teras1-9/+0
instead of having static md5 implemenation, use the openssl library for digest functions.
2009-06-28blob: function to checksum a blobTimo Teras1-1/+10
And use it in couple of places. Some whitespace fixes too.
2009-04-14blob: add strspn helpersTimo Teras1-0/+28
2009-01-14db: keep only filename in file entries, hash by both directory and fileTimo Teras1-1/+1
2008-11-27hash, db: use apk_blob_t and list_*Timo Teras1-0/+20
2008-11-06db: parse new style .PKGINFOTimo Teras1-1/+18
2008-04-21Argument parsing. Some other stuff too.Timo Teras1-0/+3
2008-04-17Initial commit of some stuff written so far. Still in state of flux. ExpectTimo Teras1-0/+125
breakage and major changes.