The Android side is being rewritten as a platform-signed system app +
device owner (android_packages_apps_PawletProfiled) instead of a native
NDK Binder daemon -- most of what these payloads need on Android
(DevicePolicyManager, VpnManager, WifiManager, WallpaperManager, KeyChain)
is Java-SDK-first and awkward or impossible to reach cleanly from a
native process.
Drops: Android.bp, main_android.cpp, PawletProfileBinderService.*,
platform/android/*.cpp, aidl/, sepolicy/, third_party/openssl-android/,
pawletprofiled.rc/.xml. Also strips the now-dead __ANDROID__ branches from
SignatureVerifier/ProfileStore. This repo is Linux-only from here on.
This checkout is PawletOS's fork (git.oxmc.me/PawletOS/profiled), so its
own identity should read PawletOS, not VesperOS: binary/package name,
AIDL package+interface (me.oxmc.vesperos.profile -> os.pawlet.profiled),
D-Bus service/object/error names, C++ namespace (vesperos::profile ->
pawletos::profile), sepolicy types, data paths (/data/system/vesperos ->
/data/system/pawletos, /etc/vesperprofiled -> /etc/pawletprofiled), the
vendored OpenSSL static-lib module names, and the ZTE protocol string.
Also drops generated build output (obj-x86_64-linux-gnu/, debian/.debhelper,
debian staging dir, debhelper log/substvars files) that had been committed
by mistake, and adds a .gitignore so they don't come back.
The stock/upstream vesperprofiled at git.oxmc.me/VesperOS/vesperprofiled
is untouched -- this commit only goes to the pawletos remote.
- VesperProfileBinderService + main_android.cpp: real Android AIDL Binder
service backing IVesperProfileService, wired into Android.bp's srcs
(previously declared but never implemented).
- SignatureVerifier: real CMS verification on Android too, via a vendored
static OpenSSL (see third_party/openssl-android/README.md) since
BoringSSL has no CMS/PKCS#7 support.
- ProfileStore: Android-appropriate data paths.
- Every payload handler split into src/platform/<Name>.h (shared contract)
+ src/platform/linux/<Name>.cpp + src/platform/android/<Name>.cpp, so the
build system picks the platform instead of #ifdef. Android side is an
honest "not implemented yet" stub per handler, logged rather than silent.
- content-cache payload + handler: PawletOS-fork-specific, talks to
PawletCache/pawletcache-server. Not part of vesperprofiled's own
upstream default.