guoling
5892e0ff3b
fix expireDuration overflow bug #1665
2026-06-02 19:06:09 +08:00
guoling
de70a23783
Fix oversized key corrupting data due to uint16_t overflow in KeyValueHolder
...
Keys longer than 65531 bytes cause keySize and computedKVSize (both uint16_t)
to wrap around, silently corrupting the internal offset so that subsequent reads
return garbage. Reject keys exceeding the safe threshold (UINT16_MAX - 4) at
all write and parse entry points.
2026-04-08 16:08:59 +08:00
guoling
6a55c88536
enhance random iv
2026-03-25 12:46:48 +08:00
guoling
f4cb2357bc
drop oldstyle actual size downgrade support
2026-03-03 20:10:30 +08:00
guoling
fec30f74c7
robust check on encryption mode #1642
2026-02-24 15:21:51 +08:00
guoling
1915d892f1
add MMKVConfig
2026-02-05 17:21:53 +08:00
Guo Ling
f6e6fbc5e0
convert log message to utf-8 by (changing src in utf-8) for win32 client
2026-01-30 18:04:08 +08:00
guoling
96390cc85a
verify all page in win32 for corrupted file
2026-01-29 15:27:48 +08:00
guoling
e439582ab7
protect from m_file not valid for isDiskOfMMAPFileCorrupted()
2025-12-25 12:06:49 +08:00
hossinasaadi
6acdef76d0
fix
2025-12-22 17:56:48 +03:30
hossinasaadi
e8dba7762f
fix public interface
2025-12-22 15:23:58 +03:30
hossinasaadi
df721fa6cd
add onMMKVContentLoadSuccessfully to content notify handler
2025-12-21 17:39:57 +03:30
guoling
c708914c04
protect from delete file failure on corrupted files
2025-12-18 19:33:30 +08:00
guoling
d99404baeb
reduce absolutePath() call as much as possible
2025-12-16 18:32:19 +08:00
guoling
8cb70d1123
add aes256 option on mmkv creation
2025-11-27 16:02:49 +08:00
guoling
3163817697
fix single key override bug on upgrading from a v1.1.x version #1605
2025-11-24 16:07:16 +08:00
guoling
09c27e6d7b
protect from file size change on multi-process load #1599
2025-11-24 11:54:11 +08:00
guoling
8b7eb242cb
fix readonly crash #1597
2025-10-21 16:45:32 +08:00
guoling
2ba8ff9bc0
support AES 256
2025-09-24 11:55:35 +08:00
guoling
9ac9c642ac
add importFrom() for iOS
2025-04-25 11:48:31 +08:00
guoling
0f745c609d
test checkExist() on Win32
2025-04-22 20:53:38 +08:00
guoling
922e08e74a
fix crcPath empty bug
2025-04-22 17:04:04 +08:00
guoling
85e64c9422
add checkExist() for Flutter
2025-04-22 16:39:05 +08:00
guoling
c2dbd276c2
add checkExist() #1346
2025-04-22 15:15:23 +08:00
guoling
c00c3b6006
improve multi-process read robustness by checking actualSize
2025-04-21 14:48:16 +08:00
guoling
8a024dfc3d
improve multi-process read efficiency
2025-04-21 14:43:27 +08:00
guoling
f23e95c652
support using MMKVCore at Apple platform in pure C++ code
2025-02-14 19:43:48 +08:00
guoling
ead3e4668f
add experimental disk corrupt detech on Android/Linux
2025-01-15 11:55:21 +08:00
guoling
aad8e484c0
add iOS/macOS/Win32 disk failure protection
2025-01-13 18:11:22 +08:00
guoling
d26fa06b2e
remove guardForBackgroundWriting() for we are iOS 13+
2025-01-06 15:58:04 +08:00
guoling
d069d7c56a
NameSpace for Android complete
2025-01-06 15:58:03 +08:00
guoling
147f89dba7
migrate legacy mmap ID to normal ID
2025-01-06 15:58:01 +08:00
guoling
89b56922e8
1. NameSpace almost work on iOS
...
2. Upgrade to iOS 13, watchOS 6
3. Dont mkPath() on ReadOnly mode
2025-01-06 15:54:38 +08:00
guoling
0bd466efe3
support correct filename on custom root path
2024-12-24 19:29:07 +08:00
guoling
ba4f343de5
protect from invalid value size of auto-key-expire mmkv #1440
2024-11-28 22:31:05 +08:00
guoling
8b8188d536
add log & error & content change callback for flutter & ArtTS
2024-09-12 18:50:33 +08:00
guoling
6688793f59
check getMMKVWithID result and throw exception #1399
2024-09-09 20:43:06 +08:00
guoling
47d3c0893a
add readonly support
2024-09-06 19:44:11 +08:00
guoling
dcdd4e6d1e
use random size holder to make encryption resilient from brute force cracking
2024-07-17 11:28:17 +08:00
guoling
912f8a4ccf
fix override bug on encrypted mmkv #1351
2024-07-16 18:38:38 +08:00
guoling
01790453fe
use std::string_view to represent key type
2024-05-11 14:44:17 +08:00
guoling
346e8f0f40
fix some testcase error
2024-04-29 14:32:37 +08:00
guoling
b990c2bd14
prepare to add vector<T> encode/decode support
2024-04-28 18:49:34 +08:00
guoling
db61c3ea60
fix typo
2024-04-28 15:43:13 +08:00
guoling
4cb1891c36
support x64 in windows #1254
2024-04-19 15:29:51 +08:00
MrWander
8aec6da927
bugfix: trim sigbus
2024-03-08 14:00:13 +08:00
guoling
d7310af125
include <unistd.h> for unlink() #1233
2024-02-05 19:58:21 +08:00
guoling
3561cee217
rename macro with MMKV prefix to avoid conflict #1215
2023-12-29 11:13:47 +08:00
guoling
962cf09f9c
test removeStorage() on Win32
2023-12-06 16:06:00 +08:00
guoling
ee1e77be8e
test removeStorage() on Android
2023-12-06 14:31:21 +08:00