feat(spoof): periodic bulletin refresh via BulletinPoller
BulletinPoller fetches the Pixel security bulletin index page on its own HandlerThread with 5s/30s/2m/10m/30m bootstrap backoff, then 24h steady cadence. The first <td>YYYY-MM-DD</td> match is the latest published patch; newer-than-current dates flow through PatchLevelManager.updateTo for validation + atomic write + resetprop. Persists the last 10 attempts to last_bulletin_fetch.json (atomic rename) with status, http_code, parsed_date, applied, and error fields so operators can audit history without logcat. Sepolicy rule appends TCP-socket allow rules for both ksu and magisk source domains so HttpsURLConnection survives SELinux enforcement on either root provider. Uninstall.sh cleans the three new artifacts.
This commit is contained in:
@@ -1,2 +1,9 @@
|
||||
allow keystore {adb_data_file shell_data_file} file *
|
||||
allow crash_dump keystore process *
|
||||
|
||||
allow ksu self:tcp_socket { create connect read write getopt setopt }
|
||||
allow ksu node:tcp_socket node_bind
|
||||
allow ksu port:tcp_socket name_connect
|
||||
allow magisk self:tcp_socket { create connect read write getopt setopt }
|
||||
allow magisk node:tcp_socket node_bind
|
||||
allow magisk port:tcp_socket name_connect
|
||||
|
||||
@@ -10,3 +10,4 @@ done
|
||||
rm -rf "$CONFIG_DIR/persistent_keys"
|
||||
rm -f "$CONFIG_DIR/tee_status.txt"
|
||||
rm -f "$CONFIG_DIR/boot_hash.bin" "$CONFIG_DIR/boot_key.bin"
|
||||
rm -f "$CONFIG_DIR/security_patch.txt" "$CONFIG_DIR/security_patch.txt.next" "$CONFIG_DIR/last_bulletin_fetch.json"
|
||||
|
||||
Reference in New Issue
Block a user