Commit graph

22 commits

Author SHA1 Message Date
gilsek
4d40407489
Merge d4fcbc791e into 0675741d30 2026-07-26 00:34:34 -07:00
gilsek
d4fcbc791e fix: return webview script payloads 2026-07-10 06:54:13 +09:00
Mehakdeep Singh
8bf121587d fix: address review — decryptAESGCM optional tag robustness
- doc: clarify tagHex may be empty when the auth tag is already appended
- dart + js bridges coerce a null/missing tagHex to "" so the call can't
  throw before the method's own try/catch fallback
- js prelude defaults tagHex to "" so callers can omit it

(kept default padding for AESMode.gcm intentionally — see PR reply: in the
'encrypt' package, gcm isn't in _streamable, so padding:null would route
decrypt() to _processBlocks() and skip GCM tag verification.)
2026-06-30 12:30:49 -07:00
Mehakdeep Singh
ef345e991b feat: add AES-GCM decryption to the extension bridge (#732)
extensions couldn't do AES-GCM, only AES-CBC (via cryptoHandler). this
adds a decryptAESGCM bridge function so dart and js extensions can decrypt
AES/GCM/NoPadding payloads (needed to port extractors like MoonExtractor).

decryptAESGCM(encrypted, keyHex, ivHex, tagHex):
- encrypted = base64 ciphertext, key/iv/tag = hex
- appends the auth tag to the ciphertext (what pointycastle's GCM and
  java's AES/GCM/NoPadding expect) and decrypts with tag verification
- also works when the tag is already appended to the ciphertext: just
  pass an empty tagHex
- returns the decrypted utf-8 string, or the input on failure (same as
  cryptoHandler)

wired in all three layers like the existing crypto helpers:
- lib/eval/model/m_bridge.dart (impl, via the 'encrypt' package)
- lib/eval/dart/bridge/m_provider.dart (dart/d4rt registration)
- lib/eval/javascript/utils.dart (js handler + prelude function)
2026-06-29 14:55:58 -07:00
Moustapha Kodjo Amadou
952ecf9642 Refactor evaluateJavascriptViaWebviewto use HTTP post request and remove deprecated method 2026-06-07 17:32:00 +01:00
Moustapha Kodjo Amadou
d5aecf66dc Fix #643 2026-01-26 17:28:25 +01:00
Moustapha Kodjo Amadou
f2fbaf5ec5 refactor 2025-11-20 15:17:31 +01:00
Moustapha Kodjo Amadou
29fe96151d fix: enable logger usage in isolate service 2025-11-12 17:02:06 +01:00
Moustapha Kodjo Amadou
80efee40d1 dart format 2025-05-30 17:43:42 +01:00
Moustapha Kodjo Amadou
d250c08424 refactor: update AndroidManifest and MainActivity for APK installation; remove flutter_app_installer dependency 2025-05-09 18:38:23 +01:00
Schnitzel5
3677938bf8 added support for epubs
embedded images not supported yet
2025-05-07 22:17:23 +02:00
Schnitzel5
d6d674c270 + 2025-05-05 20:12:58 +02:00
Schnitzel5
821366cb06 added epubx dependency 2025-05-04 23:45:46 +02:00
Moustapha Kodjo Amadou
3e401c8af2 dart format 2025-02-23 15:31:49 +01:00
kodjomoustapha
b4c09bbee0 feat: add evaluateJavascriptViaWebview 2025-01-06 13:04:04 +01:00
Yegor Shovkun
f0cf52813a refactor: refactor extension services 2024-12-14 13:55:40 +02:00
kodjomoustapha
d614fccedb + 2024-07-29 10:27:48 +01:00
kodjomoustapha
281e621da3 + 2024-05-14 10:45:35 +01:00
kodjomoustapha
1d9150b3bb fix 2024-03-27 15:35:35 +01:00
kodjomoustapha
4f131de97d more 2024-03-22 15:17:12 +01:00
kodjomoustapha
6f7a179f02 Added create extension page 2024-03-19 17:32:14 +01:00
kodjomoustapha
6fa0e8a89f Added JavaScript extension runtime, gridview count 2024-03-12 17:24:41 +01:00