SHA256
fix(android): harden origin isolation and native file lifecycles
Block cross-origin POSTs, preserve bounded generated exports without relaxing CSP, bind picker results to their initiating context, erase camera cache and constrain platform permissions. Upgrade vulnerable build/test tooling and lock runtime/build dependencies. JVM regressions, lint and unsigned release builds pass; extended emulator validation remains separate.
This commit is contained in:
1 parent
f776c853c6
commit
2b9996ff3f
24 files changed
+1446
-173
No files matched your search
@@ -0,0 +1,23 @@
|
||||
package community.yuvomi.mobile
|
||||
|
||||
/** Never delivers a late system-picker result into a different server/web context. */
|
||||
class SelectionGate {
|
||||
private var owner: Int? = null
|
||||
val outstanding: Boolean get() = owner != null
|
||||
|
||||
fun begin(generation: Int): Boolean {
|
||||
if (outstanding) return false
|
||||
owner = generation
|
||||
return true
|
||||
}
|
||||
|
||||
fun consume(generation: Int): Boolean {
|
||||
val previous = owner
|
||||
owner = null
|
||||
return previous == generation
|
||||
}
|
||||
|
||||
fun restoreOutstanding() {
|
||||
owner = -1
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user