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