Implement Rust-owned Android local and HTTPS onboarding (#95)
Android ARM verification / rust (push) Failing after 46m9s
Android ARM verification / android (push) Failing after 8s
Dependency security audit / rustsec (push) Successful in 21s

This commit is contained in:
hugo committed 2026-10-09 11:31:50 +02:00
1 parent 66b1d4a4c4
commit 36e5f55283
46 files changed
+3002 -79

No files matched your search

+9 -1
View File
@@ -59,6 +59,7 @@ fn manifest_text(source: &str) -> Result<(), Box<dyn Error>> {
"android.permission.USE_BIOMETRIC",
"android.permission.USE_FINGERPRINT",
"de.rfc1437.ironstorage.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION",
"android.permission.INTERNET",
];
for node in root.children().filter(|node| node.is_element()) {
if node.tag_name().name().starts_with("uses-permission")
@@ -440,6 +441,13 @@ mod tests {
r#"<manifest xmlns:android="{ANDROID}" package="de.rfc1437.ironstorage"><application android:allowBackup="false" android:usesCleartextTraffic="false" android:fullBackupContent="@xml/backup_rules" android:dataExtractionRules="@xml/data_extraction_rules"><activity android:name="de.rfc1437.ironstorage.MainActivity" android:exported="true"><intent-filter><action android:name="android.intent.action.MAIN"/><category android:name="android.intent.category.LAUNCHER"/></intent-filter></activity><provider android:name="fixture" android:exported="false"/></application></manifest>"#
);
assert!(manifest_text(&source).is_ok());
assert!(
manifest_text(&source.replace(
"<application",
"<uses-permission android:name=\"android.permission.INTERNET\"/><application"
))
.is_ok()
);
for bad in [
source.replace("allowBackup=\"false\"", "allowBackup=\"true\""),
source.replace(
@@ -448,7 +456,7 @@ mod tests {
),
source.replace(
"<application",
"<uses-permission android:name=\"android.permission.INTERNET\"/><application",
"<uses-permission android:name=\"android.permission.CAMERA\"/><application",
),
] {
assert!(manifest_text(&bad).is_err());