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
05364528bb
adb, convndx: check istream_close result
2021-07-22 15:30:08 +03:00
Timo Teräs
7e585512f4
io: make apk_istream_get/read() fail on incomplete read
2021-07-22 15:30:08 +03:00
Timo Teräs
796d298313
rework apk_istream_splice and apk_istream_tee
...
- apk_istream_splice usage is converted to apk_stream_copy which
is the newer variant. With caching enabled by default, this
makes more sense mmapping or using separate buffers.
- apk_istream_tee is reworked to write to apk_ostream, which simplifies
quite a bit of various things
2021-07-22 15:30:08 +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
2a25a595ce
check trust in adb_trust_write_signatures()
...
Based on patch from Daniel Golle <daniel@makrotopia.org>
2021-07-16 10:16:32 +03:00
Timo Teräs
d89c219173
reduce misuse of error codes from errno.h
2021-06-19 16:10:13 +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
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
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