67 Commits

Author SHA1 Message Date
guoling 93bac98a7c Complete short and interrupted POSIX file copies 2026-09-07 16:04:38 +08:00
guoling 0f688fd15f Complete interrupted and partial zero-fill writes 2026-09-04 16:56:00 +08:00
guoling 77c3e7d2e0 Require complete whole-file reads 2026-09-04 16:56:00 +08:00
guoling baf36b8695 Refine v2.4.2 hardening fixes 2026-08-20 21:42:19 +08:00
guoling c79b7a59d5 Harden backup and restore file handling 2026-08-05 13:39:29 +08:00
guoling c21236d085 Harden directory walking for long paths 2026-08-04 21:32:25 +08:00
guoling 68901025b1 add log 2026-06-02 16:58:56 +08:00
guoling c708914c04 protect from delete file failure on corrupted files 2025-12-18 19:33:30 +08:00
guoling d18e2b92a7 protect from weakly_canonical() exception 2025-11-11 12:32:45 +08:00
guoling 0d83c15fcb tidy include 2025-08-11 15:15:48 +08:00
guoling 4ad7236e0c dont depend on OS close() to unlock file locks, for Linux/Android flock() is buggy with mmap() 2025-05-07 14:23:41 +08:00
guoling 185f867888 tidy 2025-04-22 20:02:27 +08:00
guoling f0e80ad484 add mayfly fd for Win32/POSIX 2025-04-18 21:52:05 +08:00
guoling 2fe9a47cac add mayfly fd for Android/OHOS 2025-04-18 17:54:54 +08:00
guoling 561d56ca75 adding mayfly fd on iOS 2025-04-18 17:16:26 +08:00
guoling 0f532f7d7c fix POSIX isDiskOfMMAPFileCorrupted() linker error 2025-02-14 17:31:21 +08:00
guoling aad8e484c0 add iOS/macOS/Win32 disk failure protection 2025-01-13 18:11:22 +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 b3e4995ccd make copyFile() robust with rename() failture #1432 2024-11-15 16:06:31 +08:00
guoling dba878e6d9 opt getdir 2024-10-21 15:24:38 +08:00
guoling 47d3c0893a add readonly support 2024-09-06 19:44:11 +08:00
guoling 1feba14d33 avoid using so-called privacy API #1220 2024-03-20 12:30:46 +08:00
guoling 87578391cd change to access() to detect file existence 2024-03-19 21:19:15 +08:00
guoling d7310af125 include <unistd.h> for unlink() #1233 2024-02-05 19:58:21 +08:00
guoling 80a27ff49e log mmap() result address 2024-01-09 17:40:05 +08:00
guoling 690620c8f9 dont ExclusiveLockType on loading unless there is need for truncate 2023-12-25 15:48:53 +08:00
guoling 02e07a7c2b make expectCapacity more consistent 2023-11-21 19:43:32 +08:00
lishaokai 347b25feaa redo ftruncate file to its previous size when zeroFillFile fails(disk full) #1180 2023-09-26 17:53:29 +08:00
kaitian521 5c88ea604b Merge branch 'dev' into dev 2023-08-11 21:32:26 +08:00
Lishaokai 73f01e5d50 set expected capacity for file length when init #1114 2023-08-11 21:23:12 +08:00
guoling 6734567f8a never close MetaFile on clearMemoryCache() #1117 #1061 2023-08-11 12:49:42 +08:00
guoling 7eb562495b bugfix: some Android devices might not have access permission on parent dir #1119 2023-08-10 18:09:11 +08:00
guoling 674e700038 cleanup platform specific code 2021-09-27 22:10:40 +08:00
guoling a3ffbf1598 don't clear metafile on clearMemoryCache() 2021-09-27 18:25:33 +08:00
guoling 91af2711d9 tiny opt 2021-09-22 22:51:40 +08:00
guoling 917b4d9b4d fix trunc bug in File.open() 2021-09-22 22:48:39 +08:00
guoling 01bff5b3bc fall back on syscall() on Android, regardless of api level 2021-09-18 20:46:04 +08:00
guoling 722da75803 fix compile error on POSIX 2021-09-18 18:41:30 +08:00
guoling d0493ec2e3 fix compile error on Linux 2021-09-18 18:32:59 +08:00
guoling 612368d1fa use sendfile() & renameat2() to opt performance on Linux & Android 2021-09-18 17:53:52 +08:00
guoling a813ae8fd9 backup & restore with customize rootPath works on Android 2021-09-18 15:22:11 +08:00
guoling 8e979910d0 backup & restore works on Android 2021-09-17 17:47:57 +08:00
guoling 9c0de2dcc9 backup & restore works on POSIX 2021-09-16 20:19:24 +08:00
guoling d0a714eb69 lock g_instanceLock while backup special MMKV 2021-09-15 22:03:04 +08:00
guoling 89cd549a88 add copyFile() & copyFileContent() for POSIX env 2021-09-15 20:45:29 +08:00
guoling d5160def4f add pseudo code for backup & restore on iOS, not tested yet 2021-09-10 22:06:13 +08:00
guoling a6c336d707 fix MM_SYNC typo #597 2020-12-17 18:13:02 +08:00
guoling 177a2a3c68 tidy 2020-01-21 22:04:42 +08:00
guoling ffe9c90e24 add MMKV_ASSERT() 2020-01-21 15:45:01 +08:00