Timo Teräs
c6b9297bcb
mkndx, adb: fix index searching
...
Additioal logic is needed to search objects on array: the object
comparer needs separate modes to match index, template or exact
object template. This should fix mkndx to be able to use old index.
fixes #10828
2022-03-21 14:09:06 +02:00
Timo Teräs
950972a56b
mkndx: fix index generation for v2 and v3 packages
...
For v2 packages, the identity was never set.
For v3 packages, the file size was never set.
This fixes both issues.
2022-03-21 14:09:06 +02:00
Timo Teräs
6df225eac3
mkpkg, adb: validate version and dependency format
...
Fail if the package or dependency version format is not valid.
fixes #10807
2022-02-01 14:47:27 +02:00
Timo Teräs
9bd1e95e5b
mkpkg: make unique-id field a blob
2021-10-25 15:48:59 +03:00
Timo Teräs
91085a4874
extract: support v3 index verification
2021-08-23 17:02:50 +03:00
Timo Teräs
e6b7fa49ce
adb: add a small adb blob header with versions and root object
2021-07-22 16:14:49 +03:00
Timo Teräs
e2ebd761a5
adb: refactor struct adb_header to adb_file_header
...
In struct adb, do not keep the whole header, just the schema
in host byte order.
2021-07-22 16:14:49 +03:00
Timo Teräs
2f1186aa40
adb: make adb mmap/stream parser more united, add ADB_BLOCK_DATAX
...
Harden the error checking of expected block types and their order.
Add ADB_BLOCK_DATAX as reserved for >1GB blocks.
2021-07-22 16:14:49 +03:00
Timo Teräs
94c5e01038
adb: remove the now unused get_default_int() hook
...
It is no longer needed, and can be later reintroduced if needed.
2021-07-22 15:30:08 +03:00
Timo Teräs
3b00c0dc80
adb: unify various interfaces to adb_m_process
...
Removes code duplication, and puts important checks in one place.
Support seamless decompression in adbdump.
2021-07-22 15:30:08 +03:00
Timo Teräs
7af34db6cf
adb: support seamless de/compression of adb files
...
Add compression header of adb files. Support uncompressed and
deflate compression at this time.
2021-07-22 15:30:08 +03:00
Timo Teräs
17684141fe
crypto: improve compatibility
...
EVP_MD_CTX_set_pkey_ctx() is fairly new openssl function, and not
existing in many alternative. Use EVP_MD_CTX_reset() which is slightly
more heavy but more portable. Add also signature buffer lengths to
work with RSA.
2021-06-19 14:43:22 +03:00
Timo Teräs
91cb2514e4
extract: new applet to extract v2 packages
2021-06-11 13:35:32 +03:00
Timo Teräs
7ce4cc4b73
add basic abstraction for cryptographic operations
...
- basic digesting and signing apis (subject still to fine tuning)
- update digest code, and adb signing for the thin wrapping layer
- old v1 package and database handling not updated
- default mkpkg file hash to sha256
ref #10744
2021-06-11 13:35:32 +03:00
Timo Teräs
7c9f001cda
mkpkg: new applet to create v2 packages with basic functionality
2021-06-11 13:35:32 +03:00
Timo Teräs
cd9aef8f7c
genadb: fix maximum inner adb limit checking
2021-06-11 13:35:32 +03:00
Timo Teräs
1456296b43
add adbgen applet to generate databases from it's text dump
2021-06-02 22:35:58 +03:00
Timo Teräs
209201bc5d
add abstraction to adb "walking" - a sax like API to enumerate whole db
...
This converts 'adbdump' applet to generate adb_walk api callbacks,
and implement gentext backend to generate the yaml-like text output.
2021-05-26 12:47:48 +03:00
Timo Teräs
705e002bb0
rename adb_trust to apk_trust, and use it as package signature keystore too
2020-10-09 16:09:19 +03:00
Timo Teräs
2156107afc
minor performance improvements on build and code
2020-10-09 16:09:19 +03:00
Timo Teräs
f9f8594069
adb: improve sorting features, sort installed-db package listing
2020-10-09 16:09:19 +03:00
Timo Teräs
efe0c4afec
adb: introduce apk-tools database format, and few applets
...
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-10-09 16:09:19 +03:00