react-native-update 10.59.2 → 10.61.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (877) hide show
  1. package/README-CN.md +13 -7
  2. package/README.md +15 -6
  3. package/android/build.gradle +25 -33
  4. package/android/jni/Android.mk +18 -24
  5. package/android/jni/Application.mk +3 -1
  6. package/android/lib/arm64-v8a/librnpushy.so +0 -0
  7. package/android/lib/armeabi-v7a/librnpushy.so +0 -0
  8. package/android/lib/x86/librnpushy.so +0 -0
  9. package/android/lib/x86_64/librnpushy.so +0 -0
  10. package/android/proguard.pro +9 -7
  11. package/android/src/main/java/cn/reactnative/modules/update/ApkInstaller.java +3 -8
  12. package/android/src/main/java/cn/reactnative/modules/update/ArchiveLimits.java +24 -6
  13. package/android/src/main/java/cn/reactnative/modules/update/BundlePreparationResult.java +2 -0
  14. package/android/src/main/java/cn/reactnative/modules/update/BundledResourceCopier.java +50 -51
  15. package/android/src/main/java/cn/reactnative/modules/update/CleanupKeepNames.java +12 -13
  16. package/android/src/main/java/cn/reactnative/modules/update/CopyGroupResult.java +3 -0
  17. package/android/src/main/java/cn/reactnative/modules/update/CrashHold.java +22 -30
  18. package/android/src/main/java/cn/reactnative/modules/update/DownloadTask.java +284 -452
  19. package/android/src/main/java/cn/reactnative/modules/update/DownloadTaskParams.java +8 -4
  20. package/android/src/main/java/cn/reactnative/modules/update/ErrorCodes.java +32 -3
  21. package/android/src/main/java/cn/reactnative/modules/update/FileOperationException.java +1 -1
  22. package/android/src/main/java/cn/reactnative/modules/update/FlowBridge.java +39 -8
  23. package/android/src/main/java/cn/reactnative/modules/update/HttpClients.java +63 -0
  24. package/android/src/main/java/cn/reactnative/modules/update/HttpUtils.java +0 -45
  25. package/android/src/main/java/cn/reactnative/modules/update/InstallRecord.java +68 -116
  26. package/android/src/main/java/cn/reactnative/modules/update/NativeCore.java +10 -2
  27. package/android/src/main/java/cn/reactnative/modules/update/PatchFailedException.java +1 -1
  28. package/android/src/main/java/cn/reactnative/modules/update/PushyRuntime.java +53 -62
  29. package/android/src/main/java/cn/reactnative/modules/update/ReactReloadManager.java +9 -24
  30. package/android/src/main/java/cn/reactnative/modules/update/ResumePlan.java +31 -0
  31. package/android/src/main/java/cn/reactnative/modules/update/SafeZipFile.java +42 -80
  32. package/android/src/main/java/cn/reactnative/modules/update/StateSerialRunner.java +22 -39
  33. package/android/src/main/java/cn/reactnative/modules/update/SyncCoordinator.java +474 -500
  34. package/android/src/main/java/cn/reactnative/modules/update/Texts.java +15 -1
  35. package/android/src/main/java/cn/reactnative/modules/update/Threads.java +44 -0
  36. package/android/src/main/java/cn/reactnative/modules/update/UpdateContext.java +265 -188
  37. package/android/src/main/java/cn/reactnative/modules/update/UpdateEventEmitter.java +1 -1
  38. package/android/src/main/java/cn/reactnative/modules/update/UpdateFileUtils.java +75 -17
  39. package/android/src/main/java/cn/reactnative/modules/update/{UpdateModuleImpl.java → UpdateModule.java} +114 -96
  40. package/android/src/main/java/cn/reactnative/modules/update/UpdatePackage.java +16 -19
  41. package/android/src/main/java/cn/reactnative/modules/update/VersionScopedKeys.java +64 -0
  42. package/android/src/oldarch/cn/reactnative/modules/update/NativePushySpec.java +71 -0
  43. package/cpp/android_jni/archive_limits_jni.cpp +83 -0
  44. package/cpp/android_jni/install_record_jni.cpp +89 -0
  45. package/cpp/android_jni/jni_log.h +30 -0
  46. package/cpp/android_jni/jni_natives.h +46 -0
  47. package/cpp/android_jni/jni_registration.cpp +146 -0
  48. package/cpp/android_jni/jni_util.h +160 -0
  49. package/cpp/android_jni/resume_plan_jni.cpp +58 -0
  50. package/cpp/android_jni/update_core_android.cpp +448 -0
  51. package/cpp/android_jni/update_flow_jni.cpp +150 -0
  52. package/{android/jni → cpp/hpatch}/hpatch.c +5 -5
  53. package/{android/jni → cpp/hpatch}/hpatch.h +4 -1
  54. package/cpp/patch_core/archive_limits.cpp +194 -0
  55. package/cpp/patch_core/archive_limits.h +101 -10
  56. package/cpp/patch_core/archive_patch_core.cpp +98 -15
  57. package/cpp/patch_core/archive_patch_core.h +51 -0
  58. package/cpp/patch_core/digest.h +5 -4
  59. package/cpp/patch_core/error_codes.h +15 -11
  60. package/cpp/patch_core/install_record.cpp +430 -0
  61. package/cpp/patch_core/install_record.h +165 -9
  62. package/cpp/patch_core/native_texts.h +102 -0
  63. package/cpp/patch_core/patch_core.cpp +62 -16
  64. package/cpp/patch_core/patch_core.h +27 -7
  65. package/cpp/patch_core/patch_manifest.cpp +201 -0
  66. package/cpp/patch_core/patch_manifest.h +74 -0
  67. package/cpp/patch_core/resume_plan.cpp +226 -0
  68. package/cpp/patch_core/resume_plan.h +88 -0
  69. package/cpp/patch_core/state_ops.h +5 -3
  70. package/cpp/update_flow_core/flow_json.cpp +82 -8
  71. package/cpp/update_flow_core/flow_json.h +21 -0
  72. package/cpp/update_flow_core/native_config.cpp +436 -0
  73. package/cpp/update_flow_core/native_config.h +84 -0
  74. package/cpp/update_flow_core/native_round.cpp +321 -0
  75. package/cpp/update_flow_core/native_round.h +94 -0
  76. package/cpp/update_flow_core/round_engine.cpp +456 -0
  77. package/cpp/update_flow_core/round_engine.h +106 -0
  78. package/cpp/update_flow_core/update_flow_core.cpp +5 -14
  79. package/cpp/update_flow_core/update_flow_core.h +2 -2
  80. package/harmony/hvigor-plugin.ts +11 -19
  81. package/harmony/pushy/src/main/cpp/CMakeLists.txt +19 -26
  82. package/harmony/pushy/src/main/cpp/PushyPackage.h +2 -2
  83. package/harmony/pushy/src/main/cpp/PushyTurboModule.cpp +57 -94
  84. package/harmony/pushy/src/main/cpp/pushy.cpp +817 -518
  85. package/harmony/pushy/src/main/ets/ArchiveLimits.ts +55 -75
  86. package/harmony/pushy/src/main/ets/DownloadTask.ts +279 -539
  87. package/harmony/pushy/src/main/ets/DownloadTaskParams.ts +6 -6
  88. package/harmony/pushy/src/main/ets/ErrorCodes.ts +3 -15
  89. package/harmony/pushy/src/main/ets/EventHub.ts +1 -1
  90. package/harmony/pushy/src/main/ets/InstallRecord.ts +54 -151
  91. package/harmony/pushy/src/main/ets/Logger.ts +20 -34
  92. package/harmony/pushy/src/main/ets/NativePatchCore.ts +150 -41
  93. package/harmony/pushy/src/main/ets/PushyConfiguration.ts +8 -85
  94. package/harmony/pushy/src/main/ets/PushyFileJSBundleProvider.ets +8 -3
  95. package/harmony/pushy/src/main/ets/PushyTurboModule.ts +11 -25
  96. package/harmony/pushy/src/main/ets/SaveFile.ts +99 -18
  97. package/harmony/pushy/src/main/ets/SyncCoordinator.ts +291 -543
  98. package/harmony/pushy/src/main/ets/Texts.ts +8 -7
  99. package/harmony/pushy/src/main/ets/UpdateContext.ts +245 -152
  100. package/harmony/pushy.har +0 -0
  101. package/ios/RCTPushy/RCTPushy+Launch.mm +190 -0
  102. package/ios/RCTPushy/RCTPushy.h +12 -0
  103. package/ios/RCTPushy/RCTPushy.mm +135 -2666
  104. package/ios/RCTPushy/RCTPushyCommon.h +28 -0
  105. package/ios/RCTPushy/RCTPushyConfiguration.h +0 -8
  106. package/ios/RCTPushy/RCTPushyConfiguration.mm +40 -123
  107. package/ios/RCTPushy/RCTPushyDownloader.mm +152 -198
  108. package/ios/RCTPushy/RCTPushyInstallRecord.mm +101 -0
  109. package/ios/RCTPushy/RCTPushyInstaller.mm +732 -0
  110. package/ios/RCTPushy/RCTPushyInternal.h +185 -0
  111. package/ios/RCTPushy/RCTPushyOrchestrator.mm +969 -0
  112. package/ios/RCTPushy/RCTPushyState.mm +382 -0
  113. package/package.json +46 -25
  114. package/react-native-update.podspec +73 -82
  115. package/src/client.ts +126 -1633
  116. package/src/clientActivation.ts +324 -0
  117. package/src/clientCheck.ts +405 -0
  118. package/src/clientDownload.ts +448 -0
  119. package/src/clientNativeConfig.ts +171 -0
  120. package/src/clientReporter.ts +398 -0
  121. package/src/clientState.ts +51 -0
  122. package/src/context.ts +1 -1
  123. package/src/core.ts +39 -10
  124. package/src/endpoint.ts +22 -8
  125. package/src/error.ts +18 -35
  126. package/src/i18n.ts +18 -83
  127. package/src/locales/en.ts +1 -5
  128. package/src/locales/zh.ts +1 -5
  129. package/src/provider.tsx +86 -67
  130. package/src/telemetry.ts +0 -13
  131. package/src/type.ts +0 -15
  132. package/src/updateFlowCore.ts +116 -10
  133. package/src/utils.ts +49 -42
  134. package/android/jni/HDiffPatch/.travis.yml +0 -33
  135. package/android/jni/HDiffPatch/CHANGELOG.md +0 -153
  136. package/android/jni/HDiffPatch/Makefile +0 -157
  137. package/android/jni/HDiffPatch/_atosize.h +0 -83
  138. package/android/jni/HDiffPatch/_clock_for_demo.h +0 -47
  139. package/android/jni/HDiffPatch/_dir_ignore.h +0 -191
  140. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/Android.mk +0 -37
  141. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/Application.mk +0 -7
  142. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/build_libs.bat +0 -1
  143. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/build_libs.sh +0 -1
  144. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/hpatch.c +0 -18
  145. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/hpatch.h +0 -20
  146. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/hpatch_jni.c +0 -28
  147. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/java/com/github/sisong/HPatch.java +0 -8
  148. package/android/jni/HDiffPatch/builds/codeblocks/HDiffPatch.workspace +0 -8
  149. package/android/jni/HDiffPatch/builds/codeblocks/HDiffZ.cbp +0 -219
  150. package/android/jni/HDiffPatch/builds/codeblocks/HPatchZ.cbp +0 -156
  151. package/android/jni/HDiffPatch/builds/codeblocks/unitTest.cbp +0 -65
  152. package/android/jni/HDiffPatch/builds/vc/HDiffPatch.sln +0 -105
  153. package/android/jni/HDiffPatch/builds/vc/HDiffZ.vcxproj +0 -237
  154. package/android/jni/HDiffPatch/builds/vc/HDiffZ.vcxproj.user +0 -3
  155. package/android/jni/HDiffPatch/builds/vc/HPatchZ.vcxproj +0 -318
  156. package/android/jni/HDiffPatch/builds/vc/HPatchZ.vcxproj.user +0 -3
  157. package/android/jni/HDiffPatch/builds/vc/unitTest.vcxproj +0 -182
  158. package/android/jni/HDiffPatch/builds/vc/unitTest.vcxproj.user +0 -3
  159. package/android/jni/HDiffPatch/builds/xcode/HDiffPatch.xcworkspace/contents.xcworkspacedata +0 -30
  160. package/android/jni/HDiffPatch/builds/xcode/HDiffPatch.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  161. package/android/jni/HDiffPatch/builds/xcode/bestParams.xcodeproj/project.pbxproj +0 -408
  162. package/android/jni/HDiffPatch/builds/xcode/bestParams.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  163. package/android/jni/HDiffPatch/builds/xcode/hdiffz.xcodeproj/project.pbxproj +0 -573
  164. package/android/jni/HDiffPatch/builds/xcode/hdiffz.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  165. package/android/jni/HDiffPatch/builds/xcode/hdiffz.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  166. package/android/jni/HDiffPatch/builds/xcode/hpatchz.xcodeproj/project.pbxproj +0 -396
  167. package/android/jni/HDiffPatch/builds/xcode/hpatchz.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  168. package/android/jni/HDiffPatch/builds/xcode/lz4.xcodeproj/project.pbxproj +0 -268
  169. package/android/jni/HDiffPatch/builds/xcode/lz4.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  170. package/android/jni/HDiffPatch/builds/xcode/lzma.xcodeproj/project.pbxproj +0 -361
  171. package/android/jni/HDiffPatch/builds/xcode/lzma.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  172. package/android/jni/HDiffPatch/builds/xcode/testHashClash.xcodeproj/project.pbxproj +0 -301
  173. package/android/jni/HDiffPatch/builds/xcode/testHashClash.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  174. package/android/jni/HDiffPatch/builds/xcode/testHashClash.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  175. package/android/jni/HDiffPatch/builds/xcode/unitTest.xcodeproj/project.pbxproj +0 -411
  176. package/android/jni/HDiffPatch/builds/xcode/unitTest.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  177. package/android/jni/HDiffPatch/builds/xcode/zstd.xcodeproj/project.pbxproj +0 -504
  178. package/android/jni/HDiffPatch/builds/xcode/zstd.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  179. package/android/jni/HDiffPatch/checksum_plugin_demo.h +0 -344
  180. package/android/jni/HDiffPatch/compress_parallel.cpp +0 -166
  181. package/android/jni/HDiffPatch/compress_parallel.h +0 -59
  182. package/android/jni/HDiffPatch/compress_plugin_demo.h +0 -1152
  183. package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/dir_diff.cpp +0 -797
  184. package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/dir_diff.h +0 -65
  185. package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/dir_diff_tools.cpp +0 -200
  186. package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/dir_diff_tools.h +0 -178
  187. package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/dir_manifest.cpp +0 -357
  188. package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/dir_manifest.h +0 -87
  189. package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/file_for_dirDiff.h +0 -151
  190. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/dir_patch.c +0 -770
  191. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/dir_patch.h +0 -236
  192. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/dir_patch_private.h +0 -47
  193. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/dir_patch_tools.c +0 -112
  194. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/dir_patch_tools.h +0 -53
  195. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/new_dir_output.c +0 -331
  196. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/new_dir_output.h +0 -144
  197. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/new_stream.c +0 -176
  198. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/new_stream.h +0 -84
  199. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/ref_stream.c +0 -146
  200. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/ref_stream.h +0 -61
  201. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/res_handle_limit.c +0 -152
  202. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/res_handle_limit.h +0 -76
  203. package/android/jni/HDiffPatch/hdiffz.cpp +0 -1570
  204. package/android/jni/HDiffPatch/hpatch_dir_listener.h +0 -290
  205. package/android/jni/HDiffPatch/hpatchz.c +0 -1221
  206. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/diff.cpp +0 -1025
  207. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/diff.h +0 -116
  208. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/diff_types.h +0 -72
  209. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/bytes_rle.cpp +0 -213
  210. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/bytes_rle.h +0 -63
  211. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/compress_detect.cpp +0 -170
  212. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/compress_detect.h +0 -86
  213. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/config.h +0 -89
  214. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort.c +0 -13
  215. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort.c.inc.h +0 -398
  216. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort.h +0 -194
  217. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort64.c +0 -13
  218. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort64.h +0 -204
  219. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort_private.h +0 -207
  220. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/sssort.c.inc.h +0 -815
  221. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/trsort.c.inc.h +0 -586
  222. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/utils.c.inc.h +0 -381
  223. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/adler_roll.c +0 -352
  224. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/adler_roll.h +0 -137
  225. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/bloom_filter.h +0 -137
  226. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/covers.h +0 -70
  227. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/digest_matcher.cpp +0 -628
  228. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/digest_matcher.h +0 -87
  229. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/stream_serialize.cpp +0 -363
  230. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/stream_serialize.h +0 -139
  231. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/mem_buf.h +0 -68
  232. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/pack_uint.h +0 -115
  233. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/suffix_string.cpp +0 -342
  234. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/suffix_string.h +0 -94
  235. package/android/jni/HDiffPatch/libHDiffPatch/HPatch/checksum_plugin.h +0 -52
  236. package/android/jni/HDiffPatch/libParallel/parallel_channel.cpp +0 -174
  237. package/android/jni/HDiffPatch/libParallel/parallel_channel.h +0 -73
  238. package/android/jni/HDiffPatch/libParallel/parallel_import.cpp +0 -367
  239. package/android/jni/HDiffPatch/libParallel/parallel_import.h +0 -92
  240. package/android/jni/lzma/Asm/arm/7zCrcOpt.asm +0 -100
  241. package/android/jni/lzma/Asm/x86/7zAsm.asm +0 -147
  242. package/android/jni/lzma/Asm/x86/7zCrcOpt.asm +0 -147
  243. package/android/jni/lzma/Asm/x86/AesOpt.asm +0 -237
  244. package/android/jni/lzma/Asm/x86/LzmaDecOpt.asm +0 -1258
  245. package/android/jni/lzma/Asm/x86/XzCrc64Opt.asm +0 -205
  246. package/android/jni/lzma/C/7z.h +0 -202
  247. package/android/jni/lzma/C/7zAlloc.c +0 -80
  248. package/android/jni/lzma/C/7zAlloc.h +0 -19
  249. package/android/jni/lzma/C/7zArcIn.c +0 -1771
  250. package/android/jni/lzma/C/7zBuf.c +0 -36
  251. package/android/jni/lzma/C/7zBuf.h +0 -35
  252. package/android/jni/lzma/C/7zBuf2.c +0 -52
  253. package/android/jni/lzma/C/7zCrc.c +0 -128
  254. package/android/jni/lzma/C/7zCrc.h +0 -25
  255. package/android/jni/lzma/C/7zCrcOpt.c +0 -115
  256. package/android/jni/lzma/C/7zDec.c +0 -591
  257. package/android/jni/lzma/C/7zFile.c +0 -286
  258. package/android/jni/lzma/C/7zFile.h +0 -83
  259. package/android/jni/lzma/C/7zStream.c +0 -176
  260. package/android/jni/lzma/C/7zVersion.h +0 -27
  261. package/android/jni/lzma/C/7zVersion.rc +0 -55
  262. package/android/jni/lzma/C/Aes.c +0 -306
  263. package/android/jni/lzma/C/Aes.h +0 -38
  264. package/android/jni/lzma/C/AesOpt.c +0 -184
  265. package/android/jni/lzma/C/Alloc.c +0 -455
  266. package/android/jni/lzma/C/Alloc.h +0 -51
  267. package/android/jni/lzma/C/Bcj2.c +0 -257
  268. package/android/jni/lzma/C/Bcj2.h +0 -146
  269. package/android/jni/lzma/C/Bcj2Enc.c +0 -311
  270. package/android/jni/lzma/C/Bra.c +0 -230
  271. package/android/jni/lzma/C/Bra.h +0 -64
  272. package/android/jni/lzma/C/Bra86.c +0 -82
  273. package/android/jni/lzma/C/BraIA64.c +0 -53
  274. package/android/jni/lzma/C/CpuArch.c +0 -218
  275. package/android/jni/lzma/C/CpuArch.h +0 -336
  276. package/android/jni/lzma/C/Delta.c +0 -64
  277. package/android/jni/lzma/C/Delta.h +0 -19
  278. package/android/jni/lzma/C/DllSecur.c +0 -108
  279. package/android/jni/lzma/C/DllSecur.h +0 -20
  280. package/android/jni/lzma/C/LzFind.c +0 -1127
  281. package/android/jni/lzma/C/LzFind.h +0 -121
  282. package/android/jni/lzma/C/LzFindMt.c +0 -853
  283. package/android/jni/lzma/C/LzFindMt.h +0 -101
  284. package/android/jni/lzma/C/LzHash.h +0 -57
  285. package/android/jni/lzma/C/Lzma2DecMt.c +0 -1082
  286. package/android/jni/lzma/C/Lzma2DecMt.h +0 -79
  287. package/android/jni/lzma/C/Lzma2Enc.c +0 -803
  288. package/android/jni/lzma/C/Lzma2Enc.h +0 -55
  289. package/android/jni/lzma/C/Lzma86.h +0 -111
  290. package/android/jni/lzma/C/Lzma86Dec.c +0 -54
  291. package/android/jni/lzma/C/Lzma86Enc.c +0 -106
  292. package/android/jni/lzma/C/LzmaEnc.c +0 -2976
  293. package/android/jni/lzma/C/LzmaEnc.h +0 -76
  294. package/android/jni/lzma/C/LzmaLib.c +0 -40
  295. package/android/jni/lzma/C/LzmaLib.h +0 -131
  296. package/android/jni/lzma/C/MtCoder.c +0 -601
  297. package/android/jni/lzma/C/MtCoder.h +0 -141
  298. package/android/jni/lzma/C/MtDec.c +0 -1138
  299. package/android/jni/lzma/C/MtDec.h +0 -201
  300. package/android/jni/lzma/C/Ppmd.h +0 -85
  301. package/android/jni/lzma/C/Ppmd7.c +0 -712
  302. package/android/jni/lzma/C/Ppmd7.h +0 -142
  303. package/android/jni/lzma/C/Ppmd7Dec.c +0 -191
  304. package/android/jni/lzma/C/Ppmd7Enc.c +0 -187
  305. package/android/jni/lzma/C/RotateDefs.h +0 -30
  306. package/android/jni/lzma/C/Sha256.c +0 -248
  307. package/android/jni/lzma/C/Sha256.h +0 -26
  308. package/android/jni/lzma/C/Sort.c +0 -141
  309. package/android/jni/lzma/C/Sort.h +0 -18
  310. package/android/jni/lzma/C/Threads.c +0 -95
  311. package/android/jni/lzma/C/Threads.h +0 -70
  312. package/android/jni/lzma/C/ThreadsP.c +0 -396
  313. package/android/jni/lzma/C/ThreadsP.h +0 -31
  314. package/android/jni/lzma/C/Util/7z/7z.dsp +0 -241
  315. package/android/jni/lzma/C/Util/7z/7z.dsw +0 -29
  316. package/android/jni/lzma/C/Util/7z/7zMain.c +0 -686
  317. package/android/jni/lzma/C/Util/7z/Precomp.c +0 -4
  318. package/android/jni/lzma/C/Util/7z/Precomp.h +0 -10
  319. package/android/jni/lzma/C/Util/7z/makefile +0 -40
  320. package/android/jni/lzma/C/Util/7z/makefile.gcc +0 -75
  321. package/android/jni/lzma/C/Util/Lzma/LzmaUtil.c +0 -258
  322. package/android/jni/lzma/C/Util/Lzma/LzmaUtil.dsp +0 -168
  323. package/android/jni/lzma/C/Util/Lzma/LzmaUtil.dsw +0 -29
  324. package/android/jni/lzma/C/Util/Lzma/makefile +0 -28
  325. package/android/jni/lzma/C/Util/Lzma/makefile.gcc +0 -44
  326. package/android/jni/lzma/C/Util/LzmaLib/LzmaLib.def +0 -4
  327. package/android/jni/lzma/C/Util/LzmaLib/LzmaLib.dsp +0 -178
  328. package/android/jni/lzma/C/Util/LzmaLib/LzmaLib.dsw +0 -29
  329. package/android/jni/lzma/C/Util/LzmaLib/LzmaLibExports.c +0 -14
  330. package/android/jni/lzma/C/Util/LzmaLib/makefile +0 -34
  331. package/android/jni/lzma/C/Util/LzmaLib/resource.rc +0 -3
  332. package/android/jni/lzma/C/Util/SfxSetup/Precomp.c +0 -4
  333. package/android/jni/lzma/C/Util/SfxSetup/Precomp.h +0 -10
  334. package/android/jni/lzma/C/Util/SfxSetup/SfxSetup.c +0 -640
  335. package/android/jni/lzma/C/Util/SfxSetup/SfxSetup.dsp +0 -231
  336. package/android/jni/lzma/C/Util/SfxSetup/SfxSetup.dsw +0 -29
  337. package/android/jni/lzma/C/Util/SfxSetup/makefile +0 -37
  338. package/android/jni/lzma/C/Util/SfxSetup/makefile_con +0 -38
  339. package/android/jni/lzma/C/Util/SfxSetup/resource.rc +0 -5
  340. package/android/jni/lzma/C/Util/SfxSetup/setup.ico +0 -0
  341. package/android/jni/lzma/C/Xz.c +0 -90
  342. package/android/jni/lzma/C/Xz.h +0 -460
  343. package/android/jni/lzma/C/XzCrc64.c +0 -86
  344. package/android/jni/lzma/C/XzCrc64.h +0 -26
  345. package/android/jni/lzma/C/XzCrc64Opt.c +0 -69
  346. package/android/jni/lzma/C/XzDec.c +0 -2766
  347. package/android/jni/lzma/C/XzEnc.c +0 -1329
  348. package/android/jni/lzma/C/XzEnc.h +0 -60
  349. package/android/jni/lzma/C/XzIn.c +0 -319
  350. package/android/jni/lzma/CPP/7zip/7zip.mak +0 -240
  351. package/android/jni/lzma/CPP/7zip/Aes.mak +0 -7
  352. package/android/jni/lzma/CPP/7zip/Archive/7z/7zCompressionMode.cpp +0 -3
  353. package/android/jni/lzma/CPP/7zip/Archive/7z/7zCompressionMode.h +0 -76
  354. package/android/jni/lzma/CPP/7zip/Archive/7z/7zDecode.cpp +0 -569
  355. package/android/jni/lzma/CPP/7zip/Archive/7z/7zDecode.h +0 -70
  356. package/android/jni/lzma/CPP/7zip/Archive/7z/7zEncode.cpp +0 -678
  357. package/android/jni/lzma/CPP/7zip/Archive/7z/7zEncode.h +0 -92
  358. package/android/jni/lzma/CPP/7zip/Archive/7z/7zExtract.cpp +0 -423
  359. package/android/jni/lzma/CPP/7zip/Archive/7z/7zFolderInStream.cpp +0 -139
  360. package/android/jni/lzma/CPP/7zip/Archive/7z/7zFolderInStream.h +0 -61
  361. package/android/jni/lzma/CPP/7zip/Archive/7z/7zHandler.cpp +0 -763
  362. package/android/jni/lzma/CPP/7zip/Archive/7z/7zHandler.h +0 -181
  363. package/android/jni/lzma/CPP/7zip/Archive/7z/7zHandlerOut.cpp +0 -942
  364. package/android/jni/lzma/CPP/7zip/Archive/7z/7zHeader.cpp +0 -19
  365. package/android/jni/lzma/CPP/7zip/Archive/7z/7zHeader.h +0 -148
  366. package/android/jni/lzma/CPP/7zip/Archive/7z/7zIn.cpp +0 -1666
  367. package/android/jni/lzma/CPP/7zip/Archive/7z/7zIn.h +0 -445
  368. package/android/jni/lzma/CPP/7zip/Archive/7z/7zItem.h +0 -202
  369. package/android/jni/lzma/CPP/7zip/Archive/7z/7zOut.cpp +0 -901
  370. package/android/jni/lzma/CPP/7zip/Archive/7z/7zOut.h +0 -335
  371. package/android/jni/lzma/CPP/7zip/Archive/7z/7zProperties.cpp +0 -174
  372. package/android/jni/lzma/CPP/7zip/Archive/7z/7zProperties.h +0 -22
  373. package/android/jni/lzma/CPP/7zip/Archive/7z/7zRegister.cpp +0 -21
  374. package/android/jni/lzma/CPP/7zip/Archive/7z/7zSpecStream.cpp +0 -22
  375. package/android/jni/lzma/CPP/7zip/Archive/7z/7zSpecStream.h +0 -35
  376. package/android/jni/lzma/CPP/7zip/Archive/7z/7zUpdate.cpp +0 -2500
  377. package/android/jni/lzma/CPP/7zip/Archive/7z/7zUpdate.h +0 -139
  378. package/android/jni/lzma/CPP/7zip/Archive/7z/StdAfx.cpp +0 -3
  379. package/android/jni/lzma/CPP/7zip/Archive/7z/StdAfx.h +0 -8
  380. package/android/jni/lzma/CPP/7zip/Archive/Archive.def +0 -12
  381. package/android/jni/lzma/CPP/7zip/Archive/Archive2.def +0 -19
  382. package/android/jni/lzma/CPP/7zip/Archive/ArchiveExports.cpp +0 -151
  383. package/android/jni/lzma/CPP/7zip/Archive/Common/CoderMixer2.cpp +0 -1125
  384. package/android/jni/lzma/CPP/7zip/Archive/Common/CoderMixer2.h +0 -447
  385. package/android/jni/lzma/CPP/7zip/Archive/Common/DummyOutStream.cpp +0 -17
  386. package/android/jni/lzma/CPP/7zip/Archive/Common/DummyOutStream.h +0 -25
  387. package/android/jni/lzma/CPP/7zip/Archive/Common/HandlerOut.cpp +0 -232
  388. package/android/jni/lzma/CPP/7zip/Archive/Common/HandlerOut.h +0 -110
  389. package/android/jni/lzma/CPP/7zip/Archive/Common/InStreamWithCRC.cpp +0 -46
  390. package/android/jni/lzma/CPP/7zip/Archive/Common/InStreamWithCRC.h +0 -67
  391. package/android/jni/lzma/CPP/7zip/Archive/Common/ItemNameUtils.cpp +0 -88
  392. package/android/jni/lzma/CPP/7zip/Archive/Common/ItemNameUtils.h +0 -28
  393. package/android/jni/lzma/CPP/7zip/Archive/Common/MultiStream.cpp +0 -191
  394. package/android/jni/lzma/CPP/7zip/Archive/Common/MultiStream.h +0 -89
  395. package/android/jni/lzma/CPP/7zip/Archive/Common/OutStreamWithCRC.cpp +0 -18
  396. package/android/jni/lzma/CPP/7zip/Archive/Common/OutStreamWithCRC.h +0 -37
  397. package/android/jni/lzma/CPP/7zip/Archive/Common/ParseProperties.cpp +0 -3
  398. package/android/jni/lzma/CPP/7zip/Archive/Common/ParseProperties.h +0 -6
  399. package/android/jni/lzma/CPP/7zip/Archive/Common/StdAfx.h +0 -8
  400. package/android/jni/lzma/CPP/7zip/Archive/DllExports2.cpp +0 -122
  401. package/android/jni/lzma/CPP/7zip/Archive/IArchive.h +0 -608
  402. package/android/jni/lzma/CPP/7zip/Archive/Icons/7z.ico +0 -0
  403. package/android/jni/lzma/CPP/7zip/Archive/LzmaHandler.cpp +0 -629
  404. package/android/jni/lzma/CPP/7zip/Archive/SplitHandler.cpp +0 -359
  405. package/android/jni/lzma/CPP/7zip/Archive/StdAfx.h +0 -8
  406. package/android/jni/lzma/CPP/7zip/Archive/XzHandler.cpp +0 -1308
  407. package/android/jni/lzma/CPP/7zip/Archive/XzHandler.h +0 -11
  408. package/android/jni/lzma/CPP/7zip/Asm.mak +0 -9
  409. package/android/jni/lzma/CPP/7zip/Bundles/Alone7z/Alone.dsp +0 -1910
  410. package/android/jni/lzma/CPP/7zip/Bundles/Alone7z/Alone.dsw +0 -29
  411. package/android/jni/lzma/CPP/7zip/Bundles/Alone7z/StdAfx.cpp +0 -3
  412. package/android/jni/lzma/CPP/7zip/Bundles/Alone7z/StdAfx.h +0 -8
  413. package/android/jni/lzma/CPP/7zip/Bundles/Alone7z/makefile +0 -154
  414. package/android/jni/lzma/CPP/7zip/Bundles/Alone7z/resource.rc +0 -7
  415. package/android/jni/lzma/CPP/7zip/Bundles/Format7zExtractR/StdAfx.cpp +0 -3
  416. package/android/jni/lzma/CPP/7zip/Bundles/Format7zExtractR/StdAfx.h +0 -8
  417. package/android/jni/lzma/CPP/7zip/Bundles/Format7zExtractR/makefile +0 -96
  418. package/android/jni/lzma/CPP/7zip/Bundles/Format7zExtractR/resource.rc +0 -5
  419. package/android/jni/lzma/CPP/7zip/Bundles/Format7zR/StdAfx.cpp +0 -3
  420. package/android/jni/lzma/CPP/7zip/Bundles/Format7zR/StdAfx.h +0 -8
  421. package/android/jni/lzma/CPP/7zip/Bundles/Format7zR/makefile +0 -116
  422. package/android/jni/lzma/CPP/7zip/Bundles/Format7zR/resource.rc +0 -5
  423. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/LzmaAlone.cpp +0 -799
  424. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/LzmaCon.dsp +0 -477
  425. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/LzmaCon.dsw +0 -29
  426. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/StdAfx.cpp +0 -3
  427. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/StdAfx.h +0 -8
  428. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/makefile +0 -59
  429. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/makefile.gcc +0 -195
  430. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/resource.rc +0 -3
  431. package/android/jni/lzma/CPP/7zip/Bundles/LzmaSpec/LzmaSpec.cpp +0 -715
  432. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/7z.ico +0 -0
  433. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/SFXCon.dsp +0 -912
  434. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/SFXCon.dsw +0 -29
  435. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/SfxCon.cpp +0 -482
  436. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/StdAfx.cpp +0 -3
  437. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/StdAfx.h +0 -8
  438. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/makefile +0 -134
  439. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/resource.rc +0 -5
  440. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/ExtractCallbackSfx.cpp +0 -246
  441. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/ExtractCallbackSfx.h +0 -86
  442. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/ExtractEngine.cpp +0 -137
  443. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/ExtractEngine.h +0 -11
  444. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/SFXSetup.dsp +0 -803
  445. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/SFXSetup.dsw +0 -29
  446. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/SfxSetup.cpp +0 -364
  447. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/StdAfx.cpp +0 -3
  448. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/StdAfx.h +0 -13
  449. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/makefile +0 -117
  450. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/resource.h +0 -6
  451. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/resource.rc +0 -16
  452. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/setup.ico +0 -0
  453. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/7z.ico +0 -0
  454. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/SFXWin.dsp +0 -988
  455. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/SFXWin.dsw +0 -29
  456. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/SfxWin.cpp +0 -241
  457. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/StdAfx.cpp +0 -3
  458. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/StdAfx.h +0 -14
  459. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/makefile +0 -153
  460. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/resource.h +0 -1
  461. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/resource.rc +0 -50
  462. package/android/jni/lzma/CPP/7zip/Common/CWrappers.cpp +0 -250
  463. package/android/jni/lzma/CPP/7zip/Common/CWrappers.h +0 -120
  464. package/android/jni/lzma/CPP/7zip/Common/CreateCoder.cpp +0 -536
  465. package/android/jni/lzma/CPP/7zip/Common/CreateCoder.h +0 -192
  466. package/android/jni/lzma/CPP/7zip/Common/FilePathAutoRename.cpp +0 -46
  467. package/android/jni/lzma/CPP/7zip/Common/FilePathAutoRename.h +0 -10
  468. package/android/jni/lzma/CPP/7zip/Common/FileStreams.cpp +0 -475
  469. package/android/jni/lzma/CPP/7zip/Common/FileStreams.h +0 -166
  470. package/android/jni/lzma/CPP/7zip/Common/FilterCoder.cpp +0 -435
  471. package/android/jni/lzma/CPP/7zip/Common/FilterCoder.h +0 -205
  472. package/android/jni/lzma/CPP/7zip/Common/InBuffer.cpp +0 -163
  473. package/android/jni/lzma/CPP/7zip/Common/InBuffer.h +0 -92
  474. package/android/jni/lzma/CPP/7zip/Common/InOutTempBuffer.cpp +0 -127
  475. package/android/jni/lzma/CPP/7zip/Common/InOutTempBuffer.h +0 -48
  476. package/android/jni/lzma/CPP/7zip/Common/LimitedStreams.cpp +0 -367
  477. package/android/jni/lzma/CPP/7zip/Common/LimitedStreams.h +0 -252
  478. package/android/jni/lzma/CPP/7zip/Common/LockedStream.cpp +0 -3
  479. package/android/jni/lzma/CPP/7zip/Common/LockedStream.h +0 -6
  480. package/android/jni/lzma/CPP/7zip/Common/MethodId.cpp +0 -3
  481. package/android/jni/lzma/CPP/7zip/Common/MethodId.h +0 -10
  482. package/android/jni/lzma/CPP/7zip/Common/MethodProps.cpp +0 -509
  483. package/android/jni/lzma/CPP/7zip/Common/MethodProps.h +0 -264
  484. package/android/jni/lzma/CPP/7zip/Common/OffsetStream.cpp +0 -39
  485. package/android/jni/lzma/CPP/7zip/Common/OffsetStream.h +0 -26
  486. package/android/jni/lzma/CPP/7zip/Common/OutBuffer.cpp +0 -111
  487. package/android/jni/lzma/CPP/7zip/Common/OutBuffer.h +0 -66
  488. package/android/jni/lzma/CPP/7zip/Common/ProgressUtils.cpp +0 -51
  489. package/android/jni/lzma/CPP/7zip/Common/ProgressUtils.h +0 -35
  490. package/android/jni/lzma/CPP/7zip/Common/PropId.cpp +0 -108
  491. package/android/jni/lzma/CPP/7zip/Common/RegisterArc.h +0 -78
  492. package/android/jni/lzma/CPP/7zip/Common/RegisterCodec.h +0 -106
  493. package/android/jni/lzma/CPP/7zip/Common/StdAfx.h +0 -8
  494. package/android/jni/lzma/CPP/7zip/Common/StreamBinder.cpp +0 -156
  495. package/android/jni/lzma/CPP/7zip/Common/StreamBinder.h +0 -60
  496. package/android/jni/lzma/CPP/7zip/Common/StreamObjects.cpp +0 -285
  497. package/android/jni/lzma/CPP/7zip/Common/StreamObjects.h +0 -157
  498. package/android/jni/lzma/CPP/7zip/Common/StreamUtils.cpp +0 -56
  499. package/android/jni/lzma/CPP/7zip/Common/StreamUtils.h +0 -13
  500. package/android/jni/lzma/CPP/7zip/Common/UniqBlocks.cpp +0 -57
  501. package/android/jni/lzma/CPP/7zip/Common/UniqBlocks.h +0 -26
  502. package/android/jni/lzma/CPP/7zip/Common/VirtThread.cpp +0 -48
  503. package/android/jni/lzma/CPP/7zip/Common/VirtThread.h +0 -24
  504. package/android/jni/lzma/CPP/7zip/Compress/Bcj2Coder.cpp +0 -666
  505. package/android/jni/lzma/CPP/7zip/Compress/Bcj2Coder.h +0 -120
  506. package/android/jni/lzma/CPP/7zip/Compress/Bcj2Register.cpp +0 -24
  507. package/android/jni/lzma/CPP/7zip/Compress/BcjCoder.cpp +0 -24
  508. package/android/jni/lzma/CPP/7zip/Compress/BcjCoder.h +0 -31
  509. package/android/jni/lzma/CPP/7zip/Compress/BcjRegister.cpp +0 -17
  510. package/android/jni/lzma/CPP/7zip/Compress/BranchMisc.cpp +0 -23
  511. package/android/jni/lzma/CPP/7zip/Compress/BranchMisc.h +0 -35
  512. package/android/jni/lzma/CPP/7zip/Compress/BranchRegister.cpp +0 -41
  513. package/android/jni/lzma/CPP/7zip/Compress/ByteSwap.cpp +0 -92
  514. package/android/jni/lzma/CPP/7zip/Compress/CodecExports.cpp +0 -344
  515. package/android/jni/lzma/CPP/7zip/Compress/CopyCoder.cpp +0 -120
  516. package/android/jni/lzma/CPP/7zip/Compress/CopyCoder.h +0 -49
  517. package/android/jni/lzma/CPP/7zip/Compress/CopyRegister.cpp +0 -15
  518. package/android/jni/lzma/CPP/7zip/Compress/DeltaFilter.cpp +0 -128
  519. package/android/jni/lzma/CPP/7zip/Compress/Lzma2Decoder.cpp +0 -265
  520. package/android/jni/lzma/CPP/7zip/Compress/Lzma2Decoder.h +0 -96
  521. package/android/jni/lzma/CPP/7zip/Compress/Lzma2Encoder.cpp +0 -122
  522. package/android/jni/lzma/CPP/7zip/Compress/Lzma2Encoder.h +0 -42
  523. package/android/jni/lzma/CPP/7zip/Compress/Lzma2Register.cpp +0 -22
  524. package/android/jni/lzma/CPP/7zip/Compress/LzmaDecoder.cpp +0 -343
  525. package/android/jni/lzma/CPP/7zip/Compress/LzmaDecoder.h +0 -113
  526. package/android/jni/lzma/CPP/7zip/Compress/LzmaEncoder.cpp +0 -182
  527. package/android/jni/lzma/CPP/7zip/Compress/LzmaEncoder.h +0 -46
  528. package/android/jni/lzma/CPP/7zip/Compress/LzmaRegister.cpp +0 -22
  529. package/android/jni/lzma/CPP/7zip/Compress/PpmdDecoder.cpp +0 -170
  530. package/android/jni/lzma/CPP/7zip/Compress/PpmdDecoder.h +0 -86
  531. package/android/jni/lzma/CPP/7zip/Compress/PpmdEncoder.cpp +0 -152
  532. package/android/jni/lzma/CPP/7zip/Compress/PpmdEncoder.h +0 -58
  533. package/android/jni/lzma/CPP/7zip/Compress/PpmdRegister.cpp +0 -22
  534. package/android/jni/lzma/CPP/7zip/Compress/StdAfx.h +0 -8
  535. package/android/jni/lzma/CPP/7zip/Compress/XzDecoder.cpp +0 -150
  536. package/android/jni/lzma/CPP/7zip/Compress/XzDecoder.h +0 -92
  537. package/android/jni/lzma/CPP/7zip/Compress/XzEncoder.cpp +0 -245
  538. package/android/jni/lzma/CPP/7zip/Compress/XzEncoder.h +0 -46
  539. package/android/jni/lzma/CPP/7zip/Crc.mak +0 -8
  540. package/android/jni/lzma/CPP/7zip/Crc64.mak +0 -8
  541. package/android/jni/lzma/CPP/7zip/Crypto/7zAes.cpp +0 -280
  542. package/android/jni/lzma/CPP/7zip/Crypto/7zAes.h +0 -118
  543. package/android/jni/lzma/CPP/7zip/Crypto/7zAesRegister.cpp +0 -17
  544. package/android/jni/lzma/CPP/7zip/Crypto/MyAes.cpp +0 -112
  545. package/android/jni/lzma/CPP/7zip/Crypto/MyAes.h +0 -57
  546. package/android/jni/lzma/CPP/7zip/Crypto/MyAesReg.cpp +0 -16
  547. package/android/jni/lzma/CPP/7zip/Crypto/RandGen.cpp +0 -233
  548. package/android/jni/lzma/CPP/7zip/Crypto/RandGen.h +0 -40
  549. package/android/jni/lzma/CPP/7zip/Crypto/StdAfx.h +0 -8
  550. package/android/jni/lzma/CPP/7zip/GuiCommon.rc +0 -84
  551. package/android/jni/lzma/CPP/7zip/Guid.txt +0 -220
  552. package/android/jni/lzma/CPP/7zip/ICoder.h +0 -399
  553. package/android/jni/lzma/CPP/7zip/IDecl.h +0 -28
  554. package/android/jni/lzma/CPP/7zip/IPassword.h +0 -23
  555. package/android/jni/lzma/CPP/7zip/IProgress.h +0 -19
  556. package/android/jni/lzma/CPP/7zip/IStream.h +0 -127
  557. package/android/jni/lzma/CPP/7zip/LzmaDec.mak +0 -5
  558. package/android/jni/lzma/CPP/7zip/MyVersion.h +0 -2
  559. package/android/jni/lzma/CPP/7zip/MyVersionInfo.rc +0 -2
  560. package/android/jni/lzma/CPP/7zip/PropID.h +0 -127
  561. package/android/jni/lzma/CPP/7zip/SubBuild.mak +0 -3
  562. package/android/jni/lzma/CPP/7zip/UI/Client7z/Client7z.cpp +0 -993
  563. package/android/jni/lzma/CPP/7zip/UI/Client7z/Client7z.dsp +0 -235
  564. package/android/jni/lzma/CPP/7zip/UI/Client7z/Client7z.dsw +0 -29
  565. package/android/jni/lzma/CPP/7zip/UI/Client7z/StdAfx.cpp +0 -3
  566. package/android/jni/lzma/CPP/7zip/UI/Client7z/StdAfx.h +0 -8
  567. package/android/jni/lzma/CPP/7zip/UI/Client7z/makefile +0 -28
  568. package/android/jni/lzma/CPP/7zip/UI/Client7z/resource.rc +0 -3
  569. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveCommandLine.cpp +0 -1295
  570. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveCommandLine.h +0 -136
  571. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveExtractCallback.cpp +0 -1715
  572. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveExtractCallback.h +0 -403
  573. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveName.cpp +0 -155
  574. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveName.h +0 -10
  575. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveOpenCallback.cpp +0 -161
  576. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveOpenCallback.h +0 -112
  577. package/android/jni/lzma/CPP/7zip/UI/Common/Bench.cpp +0 -3618
  578. package/android/jni/lzma/CPP/7zip/UI/Common/Bench.h +0 -77
  579. package/android/jni/lzma/CPP/7zip/UI/Common/DefaultName.cpp +0 -37
  580. package/android/jni/lzma/CPP/7zip/UI/Common/DefaultName.h +0 -11
  581. package/android/jni/lzma/CPP/7zip/UI/Common/DirItem.h +0 -190
  582. package/android/jni/lzma/CPP/7zip/UI/Common/EnumDirItems.cpp +0 -1096
  583. package/android/jni/lzma/CPP/7zip/UI/Common/EnumDirItems.h +0 -42
  584. package/android/jni/lzma/CPP/7zip/UI/Common/ExitCode.h +0 -27
  585. package/android/jni/lzma/CPP/7zip/UI/Common/Extract.cpp +0 -482
  586. package/android/jni/lzma/CPP/7zip/UI/Common/Extract.h +0 -94
  587. package/android/jni/lzma/CPP/7zip/UI/Common/ExtractMode.h +0 -34
  588. package/android/jni/lzma/CPP/7zip/UI/Common/ExtractingFilePath.cpp +0 -280
  589. package/android/jni/lzma/CPP/7zip/UI/Common/ExtractingFilePath.h +0 -31
  590. package/android/jni/lzma/CPP/7zip/UI/Common/HashCalc.cpp +0 -347
  591. package/android/jni/lzma/CPP/7zip/UI/Common/HashCalc.h +0 -110
  592. package/android/jni/lzma/CPP/7zip/UI/Common/IFileExtractCallback.h +0 -114
  593. package/android/jni/lzma/CPP/7zip/UI/Common/LoadCodecs.cpp +0 -1074
  594. package/android/jni/lzma/CPP/7zip/UI/Common/LoadCodecs.h +0 -424
  595. package/android/jni/lzma/CPP/7zip/UI/Common/OpenArchive.cpp +0 -3553
  596. package/android/jni/lzma/CPP/7zip/UI/Common/OpenArchive.h +0 -436
  597. package/android/jni/lzma/CPP/7zip/UI/Common/PropIDUtils.cpp +0 -668
  598. package/android/jni/lzma/CPP/7zip/UI/Common/PropIDUtils.h +0 -18
  599. package/android/jni/lzma/CPP/7zip/UI/Common/Property.h +0 -14
  600. package/android/jni/lzma/CPP/7zip/UI/Common/SetProperties.cpp +0 -80
  601. package/android/jni/lzma/CPP/7zip/UI/Common/SetProperties.h +0 -10
  602. package/android/jni/lzma/CPP/7zip/UI/Common/SortUtils.cpp +0 -25
  603. package/android/jni/lzma/CPP/7zip/UI/Common/SortUtils.h +0 -10
  604. package/android/jni/lzma/CPP/7zip/UI/Common/StdAfx.h +0 -8
  605. package/android/jni/lzma/CPP/7zip/UI/Common/TempFiles.cpp +0 -19
  606. package/android/jni/lzma/CPP/7zip/UI/Common/TempFiles.h +0 -16
  607. package/android/jni/lzma/CPP/7zip/UI/Common/Update.cpp +0 -1704
  608. package/android/jni/lzma/CPP/7zip/UI/Common/Update.h +0 -200
  609. package/android/jni/lzma/CPP/7zip/UI/Common/UpdateAction.cpp +0 -64
  610. package/android/jni/lzma/CPP/7zip/UI/Common/UpdateAction.h +0 -66
  611. package/android/jni/lzma/CPP/7zip/UI/Common/UpdateCallback.cpp +0 -771
  612. package/android/jni/lzma/CPP/7zip/UI/Common/UpdateCallback.h +0 -162
  613. package/android/jni/lzma/CPP/7zip/UI/Common/UpdatePair.cpp +0 -233
  614. package/android/jni/lzma/CPP/7zip/UI/Common/UpdatePair.h +0 -27
  615. package/android/jni/lzma/CPP/7zip/UI/Common/UpdateProduce.cpp +0 -70
  616. package/android/jni/lzma/CPP/7zip/UI/Common/UpdateProduce.h +0 -55
  617. package/android/jni/lzma/CPP/7zip/UI/Common/WorkDir.cpp +0 -94
  618. package/android/jni/lzma/CPP/7zip/UI/Common/WorkDir.h +0 -26
  619. package/android/jni/lzma/CPP/7zip/UI/Common/ZipRegistry.h +0 -130
  620. package/android/jni/lzma/CPP/7zip/UI/Console/BenchCon.cpp +0 -41
  621. package/android/jni/lzma/CPP/7zip/UI/Console/BenchCon.h +0 -14
  622. package/android/jni/lzma/CPP/7zip/UI/Console/Console.mak +0 -43
  623. package/android/jni/lzma/CPP/7zip/UI/Console/Console.manifest +0 -13
  624. package/android/jni/lzma/CPP/7zip/UI/Console/ConsoleClose.cpp +0 -69
  625. package/android/jni/lzma/CPP/7zip/UI/Console/ConsoleClose.h +0 -33
  626. package/android/jni/lzma/CPP/7zip/UI/Console/ExtractCallbackConsole.cpp +0 -825
  627. package/android/jni/lzma/CPP/7zip/UI/Console/ExtractCallbackConsole.h +0 -164
  628. package/android/jni/lzma/CPP/7zip/UI/Console/HashCon.cpp +0 -367
  629. package/android/jni/lzma/CPP/7zip/UI/Console/HashCon.h +0 -48
  630. package/android/jni/lzma/CPP/7zip/UI/Console/List.cpp +0 -1359
  631. package/android/jni/lzma/CPP/7zip/UI/Console/List.h +0 -27
  632. package/android/jni/lzma/CPP/7zip/UI/Console/Main.cpp +0 -1154
  633. package/android/jni/lzma/CPP/7zip/UI/Console/MainAr.cpp +0 -175
  634. package/android/jni/lzma/CPP/7zip/UI/Console/OpenCallbackConsole.cpp +0 -115
  635. package/android/jni/lzma/CPP/7zip/UI/Console/OpenCallbackConsole.h +0 -66
  636. package/android/jni/lzma/CPP/7zip/UI/Console/PercentPrinter.cpp +0 -183
  637. package/android/jni/lzma/CPP/7zip/UI/Console/PercentPrinter.h +0 -62
  638. package/android/jni/lzma/CPP/7zip/UI/Console/StdAfx.cpp +0 -3
  639. package/android/jni/lzma/CPP/7zip/UI/Console/StdAfx.h +0 -8
  640. package/android/jni/lzma/CPP/7zip/UI/Console/UpdateCallbackConsole.cpp +0 -702
  641. package/android/jni/lzma/CPP/7zip/UI/Console/UpdateCallbackConsole.h +0 -124
  642. package/android/jni/lzma/CPP/7zip/UI/Console/UserInputUtils.cpp +0 -110
  643. package/android/jni/lzma/CPP/7zip/UI/Console/UserInputUtils.h +0 -27
  644. package/android/jni/lzma/CPP/7zip/UI/Console/makefile +0 -64
  645. package/android/jni/lzma/CPP/7zip/UI/Console/resource.rc +0 -7
  646. package/android/jni/lzma/CPP/7zip/UI/Explorer/MyMessages.cpp +0 -37
  647. package/android/jni/lzma/CPP/7zip/UI/Explorer/MyMessages.h +0 -16
  648. package/android/jni/lzma/CPP/7zip/UI/FileManager/BrowseDialog.cpp +0 -1025
  649. package/android/jni/lzma/CPP/7zip/UI/FileManager/BrowseDialog.h +0 -21
  650. package/android/jni/lzma/CPP/7zip/UI/FileManager/BrowseDialogRes.h +0 -9
  651. package/android/jni/lzma/CPP/7zip/UI/FileManager/ComboDialog.cpp +0 -64
  652. package/android/jni/lzma/CPP/7zip/UI/FileManager/ComboDialog.h +0 -28
  653. package/android/jni/lzma/CPP/7zip/UI/FileManager/ComboDialogRes.h +0 -4
  654. package/android/jni/lzma/CPP/7zip/UI/FileManager/DialogSize.h +0 -16
  655. package/android/jni/lzma/CPP/7zip/UI/FileManager/ExtractCallback.cpp +0 -1037
  656. package/android/jni/lzma/CPP/7zip/UI/FileManager/ExtractCallback.h +0 -328
  657. package/android/jni/lzma/CPP/7zip/UI/FileManager/FormatUtils.cpp +0 -28
  658. package/android/jni/lzma/CPP/7zip/UI/FileManager/FormatUtils.h +0 -14
  659. package/android/jni/lzma/CPP/7zip/UI/FileManager/LangUtils.h +0 -40
  660. package/android/jni/lzma/CPP/7zip/UI/FileManager/MyWindowsNew.h +0 -76
  661. package/android/jni/lzma/CPP/7zip/UI/FileManager/OverwriteDialog.cpp +0 -122
  662. package/android/jni/lzma/CPP/7zip/UI/FileManager/OverwriteDialog.h +0 -69
  663. package/android/jni/lzma/CPP/7zip/UI/FileManager/OverwriteDialog.rc +0 -91
  664. package/android/jni/lzma/CPP/7zip/UI/FileManager/OverwriteDialogRes.h +0 -17
  665. package/android/jni/lzma/CPP/7zip/UI/FileManager/PasswordDialog.cpp +0 -58
  666. package/android/jni/lzma/CPP/7zip/UI/FileManager/PasswordDialog.h +0 -28
  667. package/android/jni/lzma/CPP/7zip/UI/FileManager/PasswordDialog.rc +0 -14
  668. package/android/jni/lzma/CPP/7zip/UI/FileManager/PasswordDialogRes.h +0 -5
  669. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog.cpp +0 -196
  670. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog.h +0 -170
  671. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog.rc +0 -12
  672. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog2.cpp +0 -1337
  673. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog2.h +0 -351
  674. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog2.rc +0 -40
  675. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog2Res.h +0 -48
  676. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog2a.rc +0 -80
  677. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialogRes.h +0 -3
  678. package/android/jni/lzma/CPP/7zip/UI/FileManager/PropertyName.cpp +0 -23
  679. package/android/jni/lzma/CPP/7zip/UI/FileManager/PropertyName.h +0 -10
  680. package/android/jni/lzma/CPP/7zip/UI/FileManager/PropertyNameRes.h +0 -95
  681. package/android/jni/lzma/CPP/7zip/UI/FileManager/SysIconUtils.cpp +0 -255
  682. package/android/jni/lzma/CPP/7zip/UI/FileManager/SysIconUtils.h +0 -62
  683. package/android/jni/lzma/CPP/7zip/UI/FileManager/resource.h +0 -177
  684. package/android/jni/lzma/CPP/7zip/UI/FileManager/resourceGui.h +0 -15
  685. package/android/jni/lzma/CPP/7zip/UI/GUI/Extract.rc +0 -59
  686. package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractDialog.cpp +0 -418
  687. package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractDialog.h +0 -113
  688. package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractDialog.rc +0 -98
  689. package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractDialogRes.h +0 -24
  690. package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractGUI.cpp +0 -280
  691. package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractGUI.h +0 -38
  692. package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractRes.h +0 -51
  693. package/android/jni/lzma/CPP/7zip/UI/GUI/HashGUI.h +0 -27
  694. package/android/jni/lzma/CPP/7zip/UI/GUI/resource2.h +0 -2
  695. package/android/jni/lzma/CPP/Build.mak +0 -156
  696. package/android/jni/lzma/CPP/Common/AutoPtr.h +0 -35
  697. package/android/jni/lzma/CPP/Common/CRC.cpp +0 -7
  698. package/android/jni/lzma/CPP/Common/C_FileIO.cpp +0 -92
  699. package/android/jni/lzma/CPP/Common/C_FileIO.h +0 -53
  700. package/android/jni/lzma/CPP/Common/ComTry.h +0 -21
  701. package/android/jni/lzma/CPP/Common/CommandLineParser.cpp +0 -197
  702. package/android/jni/lzma/CPP/Common/CommandLineParser.h +0 -63
  703. package/android/jni/lzma/CPP/Common/Common.h +0 -43
  704. package/android/jni/lzma/CPP/Common/CrcReg.cpp +0 -98
  705. package/android/jni/lzma/CPP/Common/Defs.h +0 -15
  706. package/android/jni/lzma/CPP/Common/DynamicBuffer.h +0 -64
  707. package/android/jni/lzma/CPP/Common/IntToString.cpp +0 -193
  708. package/android/jni/lzma/CPP/Common/IntToString.h +0 -28
  709. package/android/jni/lzma/CPP/Common/Lang.h +0 -23
  710. package/android/jni/lzma/CPP/Common/ListFileUtils.cpp +0 -132
  711. package/android/jni/lzma/CPP/Common/ListFileUtils.h +0 -18
  712. package/android/jni/lzma/CPP/Common/MyBuffer.h +0 -259
  713. package/android/jni/lzma/CPP/Common/MyBuffer2.h +0 -100
  714. package/android/jni/lzma/CPP/Common/MyCom.h +0 -277
  715. package/android/jni/lzma/CPP/Common/MyException.h +0 -14
  716. package/android/jni/lzma/CPP/Common/MyGuidDef.h +0 -54
  717. package/android/jni/lzma/CPP/Common/MyInitGuid.h +0 -45
  718. package/android/jni/lzma/CPP/Common/MyLinux.h +0 -42
  719. package/android/jni/lzma/CPP/Common/MyString.cpp +0 -1659
  720. package/android/jni/lzma/CPP/Common/MyString.h +0 -868
  721. package/android/jni/lzma/CPP/Common/MyTypes.h +0 -35
  722. package/android/jni/lzma/CPP/Common/MyUnknown.h +0 -17
  723. package/android/jni/lzma/CPP/Common/MyVector.cpp +0 -3
  724. package/android/jni/lzma/CPP/Common/MyVector.h +0 -634
  725. package/android/jni/lzma/CPP/Common/MyWindows.cpp +0 -145
  726. package/android/jni/lzma/CPP/Common/MyWindows.h +0 -231
  727. package/android/jni/lzma/CPP/Common/NewHandler.cpp +0 -163
  728. package/android/jni/lzma/CPP/Common/NewHandler.h +0 -88
  729. package/android/jni/lzma/CPP/Common/Sha256Reg.cpp +0 -40
  730. package/android/jni/lzma/CPP/Common/StdAfx.h +0 -8
  731. package/android/jni/lzma/CPP/Common/StdInStream.cpp +0 -89
  732. package/android/jni/lzma/CPP/Common/StdInStream.h +0 -38
  733. package/android/jni/lzma/CPP/Common/StdOutStream.cpp +0 -163
  734. package/android/jni/lzma/CPP/Common/StdOutStream.h +0 -71
  735. package/android/jni/lzma/CPP/Common/StringConvert.cpp +0 -319
  736. package/android/jni/lzma/CPP/Common/StringConvert.h +0 -88
  737. package/android/jni/lzma/CPP/Common/StringToInt.cpp +0 -144
  738. package/android/jni/lzma/CPP/Common/StringToInt.h +0 -21
  739. package/android/jni/lzma/CPP/Common/TextConfig.cpp +0 -124
  740. package/android/jni/lzma/CPP/Common/TextConfig.h +0 -19
  741. package/android/jni/lzma/CPP/Common/UTFConvert.cpp +0 -288
  742. package/android/jni/lzma/CPP/Common/UTFConvert.h +0 -12
  743. package/android/jni/lzma/CPP/Common/Wildcard.cpp +0 -676
  744. package/android/jni/lzma/CPP/Common/Wildcard.h +0 -149
  745. package/android/jni/lzma/CPP/Common/XzCrc64Init.cpp +0 -7
  746. package/android/jni/lzma/CPP/Common/XzCrc64Reg.cpp +0 -42
  747. package/android/jni/lzma/CPP/Windows/COM.h +0 -70
  748. package/android/jni/lzma/CPP/Windows/CommonDialog.cpp +0 -185
  749. package/android/jni/lzma/CPP/Windows/CommonDialog.h +0 -23
  750. package/android/jni/lzma/CPP/Windows/Control/ComboBox.cpp +0 -66
  751. package/android/jni/lzma/CPP/Windows/Control/ComboBox.h +0 -65
  752. package/android/jni/lzma/CPP/Windows/Control/CommandBar.h +0 -52
  753. package/android/jni/lzma/CPP/Windows/Control/Dialog.cpp +0 -251
  754. package/android/jni/lzma/CPP/Windows/Control/Dialog.h +0 -170
  755. package/android/jni/lzma/CPP/Windows/Control/Edit.h +0 -19
  756. package/android/jni/lzma/CPP/Windows/Control/ImageList.cpp +0 -10
  757. package/android/jni/lzma/CPP/Windows/Control/ImageList.h +0 -87
  758. package/android/jni/lzma/CPP/Windows/Control/ListView.cpp +0 -155
  759. package/android/jni/lzma/CPP/Windows/Control/ListView.h +0 -146
  760. package/android/jni/lzma/CPP/Windows/Control/ProgressBar.h +0 -35
  761. package/android/jni/lzma/CPP/Windows/Control/PropertyPage.cpp +0 -143
  762. package/android/jni/lzma/CPP/Windows/Control/PropertyPage.h +0 -50
  763. package/android/jni/lzma/CPP/Windows/Control/ReBar.h +0 -34
  764. package/android/jni/lzma/CPP/Windows/Control/Static.h +0 -28
  765. package/android/jni/lzma/CPP/Windows/Control/StatusBar.h +0 -42
  766. package/android/jni/lzma/CPP/Windows/Control/StdAfx.h +0 -8
  767. package/android/jni/lzma/CPP/Windows/Control/ToolBar.h +0 -43
  768. package/android/jni/lzma/CPP/Windows/Control/Trackbar.h +0 -27
  769. package/android/jni/lzma/CPP/Windows/Control/Window2.cpp +0 -200
  770. package/android/jni/lzma/CPP/Windows/Control/Window2.h +0 -51
  771. package/android/jni/lzma/CPP/Windows/DLL.cpp +0 -109
  772. package/android/jni/lzma/CPP/Windows/DLL.h +0 -58
  773. package/android/jni/lzma/CPP/Windows/Defs.h +0 -17
  774. package/android/jni/lzma/CPP/Windows/ErrorMsg.cpp +0 -66
  775. package/android/jni/lzma/CPP/Windows/ErrorMsg.h +0 -15
  776. package/android/jni/lzma/CPP/Windows/FileDir.cpp +0 -714
  777. package/android/jni/lzma/CPP/Windows/FileDir.h +0 -117
  778. package/android/jni/lzma/CPP/Windows/FileFind.cpp +0 -749
  779. package/android/jni/lzma/CPP/Windows/FileFind.h +0 -161
  780. package/android/jni/lzma/CPP/Windows/FileIO.cpp +0 -432
  781. package/android/jni/lzma/CPP/Windows/FileIO.h +0 -212
  782. package/android/jni/lzma/CPP/Windows/FileLink.cpp +0 -440
  783. package/android/jni/lzma/CPP/Windows/FileMapping.cpp +0 -12
  784. package/android/jni/lzma/CPP/Windows/FileMapping.h +0 -66
  785. package/android/jni/lzma/CPP/Windows/FileName.cpp +0 -839
  786. package/android/jni/lzma/CPP/Windows/FileName.h +0 -115
  787. package/android/jni/lzma/CPP/Windows/FileSystem.cpp +0 -131
  788. package/android/jni/lzma/CPP/Windows/FileSystem.h +0 -27
  789. package/android/jni/lzma/CPP/Windows/Handle.h +0 -37
  790. package/android/jni/lzma/CPP/Windows/MemoryLock.cpp +0 -112
  791. package/android/jni/lzma/CPP/Windows/MemoryLock.h +0 -40
  792. package/android/jni/lzma/CPP/Windows/NtCheck.h +0 -46
  793. package/android/jni/lzma/CPP/Windows/PropVariant.cpp +0 -347
  794. package/android/jni/lzma/CPP/Windows/PropVariant.h +0 -114
  795. package/android/jni/lzma/CPP/Windows/PropVariantConv.cpp +0 -138
  796. package/android/jni/lzma/CPP/Windows/PropVariantConv.h +0 -37
  797. package/android/jni/lzma/CPP/Windows/Registry.cpp +0 -390
  798. package/android/jni/lzma/CPP/Windows/Registry.h +0 -84
  799. package/android/jni/lzma/CPP/Windows/ResourceString.cpp +0 -103
  800. package/android/jni/lzma/CPP/Windows/ResourceString.h +0 -16
  801. package/android/jni/lzma/CPP/Windows/SecurityUtils.cpp +0 -181
  802. package/android/jni/lzma/CPP/Windows/SecurityUtils.h +0 -167
  803. package/android/jni/lzma/CPP/Windows/Shell.cpp +0 -358
  804. package/android/jni/lzma/CPP/Windows/Shell.h +0 -94
  805. package/android/jni/lzma/CPP/Windows/StdAfx.h +0 -8
  806. package/android/jni/lzma/CPP/Windows/Synchronization.cpp +0 -10
  807. package/android/jni/lzma/CPP/Windows/Synchronization.h +0 -164
  808. package/android/jni/lzma/CPP/Windows/System.cpp +0 -142
  809. package/android/jni/lzma/CPP/Windows/System.h +0 -40
  810. package/android/jni/lzma/CPP/Windows/Thread.h +0 -38
  811. package/android/jni/lzma/CPP/Windows/TimeUtils.cpp +0 -213
  812. package/android/jni/lzma/CPP/Windows/TimeUtils.h +0 -32
  813. package/android/jni/lzma/CPP/Windows/Window.cpp +0 -179
  814. package/android/jni/lzma/CPP/Windows/Window.h +0 -284
  815. package/android/jni/lzma/CS/7zip/Common/CRC.cs +0 -55
  816. package/android/jni/lzma/CS/7zip/Common/CommandLineParser.cs +0 -274
  817. package/android/jni/lzma/CS/7zip/Common/InBuffer.cs +0 -72
  818. package/android/jni/lzma/CS/7zip/Common/OutBuffer.cs +0 -47
  819. package/android/jni/lzma/CS/7zip/Compress/LZ/IMatchFinder.cs +0 -24
  820. package/android/jni/lzma/CS/7zip/Compress/LZ/LzBinTree.cs +0 -367
  821. package/android/jni/lzma/CS/7zip/Compress/LZ/LzInWindow.cs +0 -132
  822. package/android/jni/lzma/CS/7zip/Compress/LZ/LzOutWindow.cs +0 -110
  823. package/android/jni/lzma/CS/7zip/Compress/LZMA/LzmaBase.cs +0 -76
  824. package/android/jni/lzma/CS/7zip/Compress/LZMA/LzmaDecoder.cs +0 -398
  825. package/android/jni/lzma/CS/7zip/Compress/LZMA/LzmaEncoder.cs +0 -1480
  826. package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/LzmaAlone.cs +0 -364
  827. package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/LzmaAlone.csproj +0 -90
  828. package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/LzmaAlone.sln +0 -20
  829. package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/LzmaBench.cs +0 -340
  830. package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/Properties/AssemblyInfo.cs +0 -29
  831. package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/Properties/Resources.cs +0 -70
  832. package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/Properties/Settings.cs +0 -42
  833. package/android/jni/lzma/CS/7zip/Compress/RangeCoder/RangeCoder.cs +0 -234
  834. package/android/jni/lzma/CS/7zip/Compress/RangeCoder/RangeCoderBit.cs +0 -117
  835. package/android/jni/lzma/CS/7zip/Compress/RangeCoder/RangeCoderBitTree.cs +0 -157
  836. package/android/jni/lzma/CS/7zip/ICoder.cs +0 -157
  837. package/android/jni/lzma/DOC/7zC.txt +0 -187
  838. package/android/jni/lzma/DOC/7zFormat.txt +0 -469
  839. package/android/jni/lzma/DOC/Methods.txt +0 -173
  840. package/android/jni/lzma/DOC/installer.txt +0 -166
  841. package/android/jni/lzma/DOC/lzma-history.txt +0 -446
  842. package/android/jni/lzma/DOC/lzma-specification.txt +0 -1176
  843. package/android/jni/lzma/DOC/lzma.txt +0 -328
  844. package/android/jni/lzma/Java/SevenZip/CRC.java +0 -52
  845. package/android/jni/lzma/Java/SevenZip/Compression/LZ/BinTree.java +0 -382
  846. package/android/jni/lzma/Java/SevenZip/Compression/LZ/InWindow.java +0 -131
  847. package/android/jni/lzma/Java/SevenZip/Compression/LZ/OutWindow.java +0 -85
  848. package/android/jni/lzma/Java/SevenZip/Compression/LZMA/Base.java +0 -88
  849. package/android/jni/lzma/Java/SevenZip/Compression/LZMA/Decoder.java +0 -329
  850. package/android/jni/lzma/Java/SevenZip/Compression/LZMA/Encoder.java +0 -1416
  851. package/android/jni/lzma/Java/SevenZip/Compression/RangeCoder/BitTreeDecoder.java +0 -55
  852. package/android/jni/lzma/Java/SevenZip/Compression/RangeCoder/BitTreeEncoder.java +0 -99
  853. package/android/jni/lzma/Java/SevenZip/Compression/RangeCoder/Decoder.java +0 -88
  854. package/android/jni/lzma/Java/SevenZip/Compression/RangeCoder/Encoder.java +0 -151
  855. package/android/jni/lzma/Java/SevenZip/ICodeProgress.java +0 -6
  856. package/android/jni/lzma/Java/SevenZip/LzmaAlone.java +0 -253
  857. package/android/jni/lzma/Java/SevenZip/LzmaBench.java +0 -392
  858. package/android/jni/lzma/bin/7zS2.sfx +0 -0
  859. package/android/jni/lzma/bin/7zS2con.sfx +0 -0
  860. package/android/jni/lzma/bin/7zSD.sfx +0 -0
  861. package/android/jni/lzma/bin/7zdec.exe +0 -0
  862. package/android/jni/lzma/bin/7zr.exe +0 -0
  863. package/android/jni/lzma/bin/installer/config.txt +0 -5
  864. package/android/jni/lzma/bin/installer/cr.bat +0 -5
  865. package/android/jni/lzma/bin/lzma.exe +0 -0
  866. package/android/jni/lzma/bin/x64/7zr.exe +0 -0
  867. package/android/src/main/java/cn/reactnative/modules/update/ArchivePatchPlanResult.java +0 -6
  868. package/android/src/main/java/cn/reactnative/modules/update/PushyConfiguration.java +0 -104
  869. package/android/src/main/java/cn/reactnative/modules/update/UiThreadRunner.java +0 -37
  870. package/android/src/newarch/cn/reactnative/modules/update/UpdateModule.java +0 -121
  871. package/android/src/oldarch/cn/reactnative/modules/update/UpdateModule.java +0 -125
  872. package/cpp/patch_core/jni_natives.h +0 -27
  873. package/cpp/patch_core/jni_registration.cpp +0 -103
  874. package/cpp/patch_core/jni_util.h +0 -60
  875. package/cpp/patch_core/patch_core_android.cpp +0 -97
  876. package/cpp/patch_core/update_core_android.cpp +0 -485
  877. package/cpp/update_flow_core/update_flow_jni.cpp +0 -150
@@ -1,1715 +0,0 @@
1
- // ArchiveExtractCallback.cpp
2
-
3
- #include "StdAfx.h"
4
-
5
- #undef sprintf
6
- #undef printf
7
-
8
- // #include <stdio.h>
9
- // #include "../../../../C/CpuTicks.h"
10
-
11
- #include "../../../../C/Alloc.h"
12
- #include "../../../../C/CpuArch.h"
13
-
14
-
15
- #include "../../../Common/ComTry.h"
16
- #include "../../../Common/IntToString.h"
17
- #include "../../../Common/StringConvert.h"
18
- #include "../../../Common/Wildcard.h"
19
-
20
- #include "../../../Windows/ErrorMsg.h"
21
- #include "../../../Windows/FileDir.h"
22
- #include "../../../Windows/FileFind.h"
23
- #include "../../../Windows/FileName.h"
24
- #include "../../../Windows/PropVariant.h"
25
- #include "../../../Windows/PropVariantConv.h"
26
-
27
- #if defined(_WIN32) && !defined(UNDER_CE) && !defined(_SFX)
28
- #define _USE_SECURITY_CODE
29
- #include "../../../Windows/SecurityUtils.h"
30
- #endif
31
-
32
- #include "../../Common/FilePathAutoRename.h"
33
- // #include "../../Common/StreamUtils.h"
34
-
35
- #include "../Common/ExtractingFilePath.h"
36
- #include "../Common/PropIDUtils.h"
37
-
38
- #include "ArchiveExtractCallback.h"
39
-
40
- using namespace NWindows;
41
- using namespace NFile;
42
- using namespace NDir;
43
-
44
- static const char * const kCantAutoRename = "Can not create file with auto name";
45
- static const char * const kCantRenameFile = "Can not rename existing file";
46
- static const char * const kCantDeleteOutputFile = "Can not delete output file";
47
- static const char * const kCantDeleteOutputDir = "Can not delete output folder";
48
- static const char * const kCantCreateHardLink = "Can not create hard link";
49
- static const char * const kCantCreateSymLink = "Can not create symbolic link";
50
- static const char * const kCantOpenOutFile = "Can not open output file";
51
- static const char * const kCantSetFileLen = "Can not set length for output file";
52
-
53
-
54
- #ifndef _SFX
55
-
56
- STDMETHODIMP COutStreamWithHash::Write(const void *data, UInt32 size, UInt32 *processedSize)
57
- {
58
- HRESULT result = S_OK;
59
- if (_stream)
60
- result = _stream->Write(data, size, &size);
61
- if (_calculate)
62
- _hash->Update(data, size);
63
- _size += size;
64
- if (processedSize)
65
- *processedSize = size;
66
- return result;
67
- }
68
-
69
- #endif
70
-
71
- #ifdef _USE_SECURITY_CODE
72
- bool InitLocalPrivileges()
73
- {
74
- NSecurity::CAccessToken token;
75
- if (!token.OpenProcessToken(GetCurrentProcess(),
76
- TOKEN_QUERY | TOKEN_ADJUST_PRIVILEGES))
77
- return false;
78
-
79
- TOKEN_PRIVILEGES tp;
80
-
81
- tp.PrivilegeCount = 1;
82
- tp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
83
-
84
- if (!::LookupPrivilegeValue(NULL, SE_SECURITY_NAME, &tp.Privileges[0].Luid))
85
- return false;
86
- if (!token.AdjustPrivileges(&tp))
87
- return false;
88
- return (GetLastError() == ERROR_SUCCESS);
89
- }
90
- #endif
91
-
92
- #ifdef SUPPORT_LINKS
93
-
94
- int CHardLinkNode::Compare(const CHardLinkNode &a) const
95
- {
96
- if (StreamId < a.StreamId) return -1;
97
- if (StreamId > a.StreamId) return 1;
98
- return MyCompare(INode, a.INode);
99
- }
100
-
101
- static HRESULT Archive_Get_HardLinkNode(IInArchive *archive, UInt32 index, CHardLinkNode &h, bool &defined)
102
- {
103
- h.INode = 0;
104
- h.StreamId = (UInt64)(Int64)-1;
105
- defined = false;
106
- {
107
- NCOM::CPropVariant prop;
108
- RINOK(archive->GetProperty(index, kpidINode, &prop));
109
- if (!ConvertPropVariantToUInt64(prop, h.INode))
110
- return S_OK;
111
- }
112
- {
113
- NCOM::CPropVariant prop;
114
- RINOK(archive->GetProperty(index, kpidStreamId, &prop));
115
- ConvertPropVariantToUInt64(prop, h.StreamId);
116
- }
117
- defined = true;
118
- return S_OK;
119
- }
120
-
121
-
122
- HRESULT CArchiveExtractCallback::PrepareHardLinks(const CRecordVector<UInt32> *realIndices)
123
- {
124
- _hardLinks.Clear();
125
-
126
- if (!_arc->Ask_INode)
127
- return S_OK;
128
-
129
- IInArchive *archive = _arc->Archive;
130
- CRecordVector<CHardLinkNode> &hardIDs = _hardLinks.IDs;
131
-
132
- {
133
- UInt32 numItems;
134
- if (realIndices)
135
- numItems = realIndices->Size();
136
- else
137
- {
138
- RINOK(archive->GetNumberOfItems(&numItems));
139
- }
140
-
141
- for (UInt32 i = 0; i < numItems; i++)
142
- {
143
- CHardLinkNode h;
144
- bool defined;
145
- UInt32 realIndex = realIndices ? (*realIndices)[i] : i;
146
-
147
- RINOK(Archive_Get_HardLinkNode(archive, realIndex, h, defined));
148
- if (defined)
149
- {
150
- bool isAltStream = false;
151
- RINOK(Archive_IsItem_AltStream(archive, realIndex, isAltStream));
152
- if (!isAltStream)
153
- hardIDs.Add(h);
154
- }
155
- }
156
- }
157
-
158
- hardIDs.Sort2();
159
-
160
- {
161
- // wee keep only items that have 2 or more items
162
- unsigned k = 0;
163
- unsigned numSame = 1;
164
- for (unsigned i = 1; i < hardIDs.Size(); i++)
165
- {
166
- if (hardIDs[i].Compare(hardIDs[i - 1]) != 0)
167
- numSame = 1;
168
- else if (++numSame == 2)
169
- {
170
- if (i - 1 != k)
171
- hardIDs[k] = hardIDs[i - 1];
172
- k++;
173
- }
174
- }
175
- hardIDs.DeleteFrom(k);
176
- }
177
-
178
- _hardLinks.PrepareLinks();
179
- return S_OK;
180
- }
181
-
182
- #endif
183
-
184
- CArchiveExtractCallback::CArchiveExtractCallback():
185
- _arc(NULL),
186
- WriteCTime(true),
187
- WriteATime(true),
188
- WriteMTime(true),
189
- _multiArchives(false)
190
- {
191
- LocalProgressSpec = new CLocalProgress();
192
- _localProgress = LocalProgressSpec;
193
-
194
- #ifdef _USE_SECURITY_CODE
195
- _saclEnabled = InitLocalPrivileges();
196
- #endif
197
- }
198
-
199
- void CArchiveExtractCallback::Init(
200
- const CExtractNtOptions &ntOptions,
201
- const NWildcard::CCensorNode *wildcardCensor,
202
- const CArc *arc,
203
- IFolderArchiveExtractCallback *extractCallback2,
204
- bool stdOutMode, bool testMode,
205
- const FString &directoryPath,
206
- const UStringVector &removePathParts, bool removePartsForAltStreams,
207
- UInt64 packSize)
208
- {
209
- ClearExtractedDirsInfo();
210
- _outFileStream.Release();
211
-
212
- #ifdef SUPPORT_LINKS
213
- _hardLinks.Clear();
214
- #endif
215
-
216
- #ifdef SUPPORT_ALT_STREAMS
217
- _renamedFiles.Clear();
218
- #endif
219
-
220
- _ntOptions = ntOptions;
221
- _wildcardCensor = wildcardCensor;
222
-
223
- _stdOutMode = stdOutMode;
224
- _testMode = testMode;
225
-
226
- // _progressTotal = 0;
227
- // _progressTotal_Defined = false;
228
-
229
- _packTotal = packSize;
230
- _progressTotal = packSize;
231
- _progressTotal_Defined = true;
232
-
233
- _extractCallback2 = extractCallback2;
234
- _compressProgress.Release();
235
- _extractCallback2.QueryInterface(IID_ICompressProgressInfo, &_compressProgress);
236
- _extractCallback2.QueryInterface(IID_IArchiveExtractCallbackMessage, &_callbackMessage);
237
- _extractCallback2.QueryInterface(IID_IFolderArchiveExtractCallback2, &_folderArchiveExtractCallback2);
238
-
239
- #ifndef _SFX
240
-
241
- _extractCallback2.QueryInterface(IID_IFolderExtractToStreamCallback, &ExtractToStreamCallback);
242
- if (ExtractToStreamCallback)
243
- {
244
- Int32 useStreams = 0;
245
- if (ExtractToStreamCallback->UseExtractToStream(&useStreams) != S_OK)
246
- useStreams = 0;
247
- if (useStreams == 0)
248
- ExtractToStreamCallback.Release();
249
- }
250
-
251
- #endif
252
-
253
- LocalProgressSpec->Init(extractCallback2, true);
254
- LocalProgressSpec->SendProgress = false;
255
-
256
- _removePathParts = removePathParts;
257
- _removePartsForAltStreams = removePartsForAltStreams;
258
-
259
- #ifndef _SFX
260
- _baseParentFolder = (UInt32)(Int32)-1;
261
- _use_baseParentFolder_mode = false;
262
- #endif
263
-
264
- _arc = arc;
265
- _dirPathPrefix = directoryPath;
266
- _dirPathPrefix_Full = directoryPath;
267
- #if defined(_WIN32) && !defined(UNDER_CE)
268
- if (!NName::IsAltPathPrefix(_dirPathPrefix))
269
- #endif
270
- {
271
- NName::NormalizeDirPathPrefix(_dirPathPrefix);
272
- NDir::MyGetFullPathName(directoryPath, _dirPathPrefix_Full);
273
- NName::NormalizeDirPathPrefix(_dirPathPrefix_Full);
274
- }
275
- }
276
-
277
- STDMETHODIMP CArchiveExtractCallback::SetTotal(UInt64 size)
278
- {
279
- COM_TRY_BEGIN
280
- _progressTotal = size;
281
- _progressTotal_Defined = true;
282
- if (!_multiArchives && _extractCallback2)
283
- return _extractCallback2->SetTotal(size);
284
- return S_OK;
285
- COM_TRY_END
286
- }
287
-
288
- static void NormalizeVals(UInt64 &v1, UInt64 &v2)
289
- {
290
- const UInt64 kMax = (UInt64)1 << 31;
291
- while (v1 > kMax)
292
- {
293
- v1 >>= 1;
294
- v2 >>= 1;
295
- }
296
- }
297
-
298
- static UInt64 MyMultDiv64(UInt64 unpCur, UInt64 unpTotal, UInt64 packTotal)
299
- {
300
- NormalizeVals(packTotal, unpTotal);
301
- NormalizeVals(unpCur, unpTotal);
302
- if (unpTotal == 0)
303
- unpTotal = 1;
304
- return unpCur * packTotal / unpTotal;
305
- }
306
-
307
- STDMETHODIMP CArchiveExtractCallback::SetCompleted(const UInt64 *completeValue)
308
- {
309
- COM_TRY_BEGIN
310
-
311
- if (!_extractCallback2)
312
- return S_OK;
313
-
314
- UInt64 packCur;
315
- if (_multiArchives)
316
- {
317
- packCur = LocalProgressSpec->InSize;
318
- if (completeValue && _progressTotal_Defined)
319
- packCur += MyMultDiv64(*completeValue, _progressTotal, _packTotal);
320
- completeValue = &packCur;
321
- }
322
- return _extractCallback2->SetCompleted(completeValue);
323
-
324
- COM_TRY_END
325
- }
326
-
327
- STDMETHODIMP CArchiveExtractCallback::SetRatioInfo(const UInt64 *inSize, const UInt64 *outSize)
328
- {
329
- COM_TRY_BEGIN
330
- return _localProgress->SetRatioInfo(inSize, outSize);
331
- COM_TRY_END
332
- }
333
-
334
- void CArchiveExtractCallback::CreateComplexDirectory(const UStringVector &dirPathParts, FString &fullPath)
335
- {
336
- bool isAbsPath = false;
337
-
338
- if (!dirPathParts.IsEmpty())
339
- {
340
- const UString &s = dirPathParts[0];
341
- if (s.IsEmpty())
342
- isAbsPath = true;
343
- #if defined(_WIN32) && !defined(UNDER_CE)
344
- else
345
- {
346
- if (NName::IsDrivePath2(s))
347
- isAbsPath = true;
348
- }
349
- #endif
350
- }
351
-
352
- if (_pathMode == NExtract::NPathMode::kAbsPaths && isAbsPath)
353
- fullPath.Empty();
354
- else
355
- fullPath = _dirPathPrefix;
356
-
357
- FOR_VECTOR (i, dirPathParts)
358
- {
359
- if (i != 0)
360
- fullPath.Add_PathSepar();
361
- const UString &s = dirPathParts[i];
362
- fullPath += us2fs(s);
363
- #if defined(_WIN32) && !defined(UNDER_CE)
364
- if (_pathMode == NExtract::NPathMode::kAbsPaths)
365
- if (i == 0 && s.Len() == 2 && NName::IsDrivePath2(s))
366
- continue;
367
- #endif
368
- CreateDir(fullPath);
369
- }
370
- }
371
-
372
- HRESULT CArchiveExtractCallback::GetTime(UInt32 index, PROPID propID, FILETIME &filetime, bool &filetimeIsDefined)
373
- {
374
- filetimeIsDefined = false;
375
- filetime.dwLowDateTime = 0;
376
- filetime.dwHighDateTime = 0;
377
- NCOM::CPropVariant prop;
378
- RINOK(_arc->Archive->GetProperty(index, propID, &prop));
379
- if (prop.vt == VT_FILETIME)
380
- {
381
- filetime = prop.filetime;
382
- filetimeIsDefined = (filetime.dwHighDateTime != 0 || filetime.dwLowDateTime != 0);
383
- }
384
- else if (prop.vt != VT_EMPTY)
385
- return E_FAIL;
386
- return S_OK;
387
- }
388
-
389
- HRESULT CArchiveExtractCallback::GetUnpackSize()
390
- {
391
- return _arc->GetItemSize(_index, _curSize, _curSizeDefined);
392
- }
393
-
394
- static void AddPathToMessage(UString &s, const FString &path)
395
- {
396
- s += " : ";
397
- s += fs2us(path);
398
- }
399
-
400
- HRESULT CArchiveExtractCallback::SendMessageError(const char *message, const FString &path)
401
- {
402
- UString s (message);
403
- AddPathToMessage(s, path);
404
- return _extractCallback2->MessageError(s);
405
- }
406
-
407
- HRESULT CArchiveExtractCallback::SendMessageError_with_LastError(const char *message, const FString &path)
408
- {
409
- DWORD errorCode = GetLastError();
410
- UString s (message);
411
- if (errorCode != 0)
412
- {
413
- s += " : ";
414
- s += NError::MyFormatMessage(errorCode);
415
- }
416
- AddPathToMessage(s, path);
417
- return _extractCallback2->MessageError(s);
418
- }
419
-
420
- HRESULT CArchiveExtractCallback::SendMessageError2(const char *message, const FString &path1, const FString &path2)
421
- {
422
- UString s (message);
423
- AddPathToMessage(s, path1);
424
- AddPathToMessage(s, path2);
425
- return _extractCallback2->MessageError(s);
426
- }
427
-
428
- #ifndef _SFX
429
-
430
- STDMETHODIMP CGetProp::GetProp(PROPID propID, PROPVARIANT *value)
431
- {
432
- /*
433
- if (propID == kpidName)
434
- {
435
- COM_TRY_BEGIN
436
- NCOM::CPropVariant prop = Name;
437
- prop.Detach(value);
438
- return S_OK;
439
- COM_TRY_END
440
- }
441
- */
442
- return Arc->Archive->GetProperty(IndexInArc, propID, value);
443
- }
444
-
445
- #endif
446
-
447
-
448
- #ifdef SUPPORT_LINKS
449
-
450
- static UString GetDirPrefixOf(const UString &src)
451
- {
452
- UString s (src);
453
- if (!s.IsEmpty())
454
- {
455
- if (IsPathSepar(s.Back()))
456
- s.DeleteBack();
457
- int pos = s.ReverseFind_PathSepar();
458
- s.DeleteFrom(pos + 1);
459
- }
460
- return s;
461
- }
462
-
463
- #endif
464
-
465
-
466
- bool IsSafePath(const UString &path)
467
- {
468
- if (NName::IsAbsolutePath(path))
469
- return false;
470
-
471
- UStringVector parts;
472
- SplitPathToParts(path, parts);
473
- unsigned level = 0;
474
-
475
- FOR_VECTOR (i, parts)
476
- {
477
- const UString &s = parts[i];
478
- if (s.IsEmpty())
479
- {
480
- if (i == 0)
481
- return false;
482
- continue;
483
- }
484
- if (s == L".")
485
- continue;
486
- if (s == L"..")
487
- {
488
- if (level == 0)
489
- return false;
490
- level--;
491
- }
492
- else
493
- level++;
494
- }
495
-
496
- return level > 0;
497
- }
498
-
499
-
500
- bool CensorNode_CheckPath2(const NWildcard::CCensorNode &node, const CReadArcItem &item, bool &include)
501
- {
502
- bool found = false;
503
-
504
- if (node.CheckPathVect(item.PathParts, !item.MainIsDir, include))
505
- {
506
- if (!include)
507
- return true;
508
-
509
- #ifdef SUPPORT_ALT_STREAMS
510
- if (!item.IsAltStream)
511
- return true;
512
- #endif
513
-
514
- found = true;
515
- }
516
-
517
- #ifdef SUPPORT_ALT_STREAMS
518
-
519
- if (!item.IsAltStream)
520
- return false;
521
-
522
- UStringVector pathParts2 = item.PathParts;
523
- if (pathParts2.IsEmpty())
524
- pathParts2.AddNew();
525
- UString &back = pathParts2.Back();
526
- back += ':';
527
- back += item.AltStreamName;
528
- bool include2;
529
-
530
- if (node.CheckPathVect(pathParts2,
531
- true, // isFile,
532
- include2))
533
- {
534
- include = include2;
535
- return true;
536
- }
537
-
538
- #endif
539
-
540
- return found;
541
- }
542
-
543
- bool CensorNode_CheckPath(const NWildcard::CCensorNode &node, const CReadArcItem &item)
544
- {
545
- bool include;
546
- if (CensorNode_CheckPath2(node, item, include))
547
- return include;
548
- return false;
549
- }
550
-
551
- static FString MakePath_from_2_Parts(const FString &prefix, const FString &path)
552
- {
553
- FString s (prefix);
554
- #if defined(_WIN32) && !defined(UNDER_CE)
555
- if (!path.IsEmpty() && path[0] == ':' && !prefix.IsEmpty() && IsPathSepar(prefix.Back()))
556
- {
557
- if (!NName::IsDriveRootPath_SuperAllowed(prefix))
558
- s.DeleteBack();
559
- }
560
- #endif
561
- s += path;
562
- return s;
563
- }
564
-
565
-
566
- /*
567
- #ifdef SUPPORT_LINKS
568
-
569
- struct CTempMidBuffer
570
- {
571
- void *Buf;
572
-
573
- CTempMidBuffer(size_t size): Buf(NULL) { Buf = ::MidAlloc(size); }
574
- ~CTempMidBuffer() { ::MidFree(Buf); }
575
- };
576
-
577
- HRESULT CArchiveExtractCallback::MyCopyFile(ISequentialOutStream *outStream)
578
- {
579
- const size_t kBufSize = 1 << 16;
580
- CTempMidBuffer buf(kBufSize);
581
- if (!buf.Buf)
582
- return E_OUTOFMEMORY;
583
-
584
- NIO::CInFile inFile;
585
- NIO::COutFile outFile;
586
-
587
- if (!inFile.Open(_CopyFile_Path))
588
- return SendMessageError_with_LastError("Open error", _CopyFile_Path);
589
-
590
- for (;;)
591
- {
592
- UInt32 num;
593
-
594
- if (!inFile.Read(buf.Buf, kBufSize, num))
595
- return SendMessageError_with_LastError("Read error", _CopyFile_Path);
596
-
597
- if (num == 0)
598
- return S_OK;
599
-
600
-
601
- RINOK(WriteStream(outStream, buf.Buf, num));
602
- }
603
- }
604
-
605
- #endif
606
- */
607
-
608
-
609
- STDMETHODIMP CArchiveExtractCallback::GetStream(UInt32 index, ISequentialOutStream **outStream, Int32 askExtractMode)
610
- {
611
- COM_TRY_BEGIN
612
-
613
- *outStream = NULL;
614
-
615
- #ifndef _SFX
616
- if (_hashStream)
617
- _hashStreamSpec->ReleaseStream();
618
- _hashStreamWasUsed = false;
619
- #endif
620
-
621
- _outFileStream.Release();
622
-
623
- _encrypted = false;
624
- _position = 0;
625
- _isSplit = false;
626
-
627
- _curSize = 0;
628
- _curSizeDefined = false;
629
- _fileLengthWasSet = false;
630
- _index = index;
631
-
632
- _diskFilePath.Empty();
633
-
634
- // _fi.Clear();
635
-
636
- #ifdef SUPPORT_LINKS
637
- // _CopyFile_Path.Empty();
638
- linkPath.Empty();
639
- #endif
640
-
641
- IInArchive *archive = _arc->Archive;
642
-
643
- #ifndef _SFX
644
- _item._use_baseParentFolder_mode = _use_baseParentFolder_mode;
645
- if (_use_baseParentFolder_mode)
646
- {
647
- _item._baseParentFolder = _baseParentFolder;
648
- if (_pathMode == NExtract::NPathMode::kFullPaths ||
649
- _pathMode == NExtract::NPathMode::kAbsPaths)
650
- _item._baseParentFolder = -1;
651
- }
652
- #endif
653
-
654
- #ifdef SUPPORT_ALT_STREAMS
655
- _item.WriteToAltStreamIfColon = _ntOptions.WriteToAltStreamIfColon;
656
- #endif
657
-
658
- RINOK(_arc->GetItem(index, _item));
659
-
660
- {
661
- NCOM::CPropVariant prop;
662
- RINOK(archive->GetProperty(index, kpidPosition, &prop));
663
- if (prop.vt != VT_EMPTY)
664
- {
665
- if (prop.vt != VT_UI8)
666
- return E_FAIL;
667
- _position = prop.uhVal.QuadPart;
668
- _isSplit = true;
669
- }
670
- }
671
-
672
- #ifdef SUPPORT_LINKS
673
-
674
- // bool isCopyLink = false;
675
- bool isHardLink = false;
676
- bool isJunction = false;
677
- bool isRelative = false;
678
-
679
- {
680
- NCOM::CPropVariant prop;
681
- RINOK(archive->GetProperty(index, kpidHardLink, &prop));
682
- if (prop.vt == VT_BSTR)
683
- {
684
- isHardLink = true;
685
- // isCopyLink = false;
686
- isRelative = false; // RAR5, TAR: hard links are from root folder of archive
687
- linkPath.SetFromBstr(prop.bstrVal);
688
- }
689
- else if (prop.vt != VT_EMPTY)
690
- return E_FAIL;
691
- }
692
-
693
- /*
694
- {
695
- NCOM::CPropVariant prop;
696
- RINOK(archive->GetProperty(index, kpidCopyLink, &prop));
697
- if (prop.vt == VT_BSTR)
698
- {
699
- isHardLink = false;
700
- isCopyLink = true;
701
- isRelative = false; // RAR5: copy links are from root folder of archive
702
- linkPath.SetFromBstr(prop.bstrVal);
703
- }
704
- else if (prop.vt != VT_EMPTY)
705
- return E_FAIL;
706
- }
707
- */
708
-
709
- {
710
- NCOM::CPropVariant prop;
711
- RINOK(archive->GetProperty(index, kpidSymLink, &prop));
712
- if (prop.vt == VT_BSTR)
713
- {
714
- isHardLink = false;
715
- // isCopyLink = false;
716
- isRelative = true; // RAR5, TAR: symbolic links can be relative
717
- linkPath.SetFromBstr(prop.bstrVal);
718
- }
719
- else if (prop.vt != VT_EMPTY)
720
- return E_FAIL;
721
- }
722
-
723
-
724
- bool isOkReparse = false;
725
-
726
- if (linkPath.IsEmpty() && _arc->GetRawProps)
727
- {
728
- const void *data;
729
- UInt32 dataSize;
730
- UInt32 propType;
731
-
732
- _arc->GetRawProps->GetRawProp(_index, kpidNtReparse, &data, &dataSize, &propType);
733
-
734
- if (dataSize != 0)
735
- {
736
- if (propType != NPropDataType::kRaw)
737
- return E_FAIL;
738
- UString s;
739
- CReparseAttr reparse;
740
- DWORD errorCode = 0;
741
- isOkReparse = reparse.Parse((const Byte *)data, dataSize, errorCode);
742
- if (isOkReparse)
743
- {
744
- isHardLink = false;
745
- // isCopyLink = false;
746
- linkPath = reparse.GetPath();
747
- isJunction = reparse.IsMountPoint();
748
- isRelative = reparse.IsRelative();
749
- #ifndef _WIN32
750
- linkPath.Replace(L'\\', WCHAR_PATH_SEPARATOR);
751
- #endif
752
- }
753
- }
754
- }
755
-
756
- if (!linkPath.IsEmpty())
757
- {
758
- #ifdef _WIN32
759
- linkPath.Replace(L'/', WCHAR_PATH_SEPARATOR);
760
- #endif
761
-
762
- // rar5 uses "\??\" prefix for absolute links
763
- if (linkPath.IsPrefixedBy(WSTRING_PATH_SEPARATOR L"??" WSTRING_PATH_SEPARATOR))
764
- {
765
- isRelative = false;
766
- linkPath.DeleteFrontal(4);
767
- }
768
-
769
- for (;;)
770
- // while (NName::IsAbsolutePath(linkPath))
771
- {
772
- unsigned n = NName::GetRootPrefixSize(linkPath);
773
- if (n == 0)
774
- break;
775
- isRelative = false;
776
- linkPath.DeleteFrontal(n);
777
- }
778
- }
779
-
780
- if (!linkPath.IsEmpty() && !isRelative && _removePathParts.Size() != 0)
781
- {
782
- UStringVector pathParts;
783
- SplitPathToParts(linkPath, pathParts);
784
- bool badPrefix = false;
785
- FOR_VECTOR (i, _removePathParts)
786
- {
787
- if (CompareFileNames(_removePathParts[i], pathParts[i]) != 0)
788
- {
789
- badPrefix = true;
790
- break;
791
- }
792
- }
793
- if (!badPrefix)
794
- pathParts.DeleteFrontal(_removePathParts.Size());
795
- linkPath = MakePathFromParts(pathParts);
796
- }
797
-
798
- #endif
799
-
800
- RINOK(Archive_GetItemBoolProp(archive, index, kpidEncrypted, _encrypted));
801
-
802
- RINOK(GetUnpackSize());
803
-
804
- #ifdef SUPPORT_ALT_STREAMS
805
-
806
- if (!_ntOptions.AltStreams.Val && _item.IsAltStream)
807
- return S_OK;
808
-
809
- #endif
810
-
811
-
812
- UStringVector &pathParts = _item.PathParts;
813
-
814
- if (_wildcardCensor)
815
- {
816
- if (!CensorNode_CheckPath(*_wildcardCensor, _item))
817
- return S_OK;
818
- }
819
-
820
- #ifndef _SFX
821
- if (_use_baseParentFolder_mode)
822
- {
823
- if (!pathParts.IsEmpty())
824
- {
825
- unsigned numRemovePathParts = 0;
826
-
827
- #ifdef SUPPORT_ALT_STREAMS
828
- if (_pathMode == NExtract::NPathMode::kNoPathsAlt && _item.IsAltStream)
829
- numRemovePathParts = pathParts.Size();
830
- else
831
- #endif
832
- if (_pathMode == NExtract::NPathMode::kNoPaths ||
833
- _pathMode == NExtract::NPathMode::kNoPathsAlt)
834
- numRemovePathParts = pathParts.Size() - 1;
835
- pathParts.DeleteFrontal(numRemovePathParts);
836
- }
837
- }
838
- else
839
- #endif
840
- {
841
- if (pathParts.IsEmpty())
842
- {
843
- if (_item.IsDir)
844
- return S_OK;
845
- /*
846
- #ifdef SUPPORT_ALT_STREAMS
847
- if (!_item.IsAltStream)
848
- #endif
849
- return E_FAIL;
850
- */
851
- }
852
-
853
- unsigned numRemovePathParts = 0;
854
-
855
- switch (_pathMode)
856
- {
857
- case NExtract::NPathMode::kFullPaths:
858
- case NExtract::NPathMode::kCurPaths:
859
- {
860
- if (_removePathParts.IsEmpty())
861
- break;
862
- bool badPrefix = false;
863
-
864
- if (pathParts.Size() < _removePathParts.Size())
865
- badPrefix = true;
866
- else
867
- {
868
- if (pathParts.Size() == _removePathParts.Size())
869
- {
870
- if (_removePartsForAltStreams)
871
- {
872
- #ifdef SUPPORT_ALT_STREAMS
873
- if (!_item.IsAltStream)
874
- #endif
875
- badPrefix = true;
876
- }
877
- else
878
- {
879
- if (!_item.MainIsDir)
880
- badPrefix = true;
881
- }
882
- }
883
-
884
- if (!badPrefix)
885
- FOR_VECTOR (i, _removePathParts)
886
- {
887
- if (CompareFileNames(_removePathParts[i], pathParts[i]) != 0)
888
- {
889
- badPrefix = true;
890
- break;
891
- }
892
- }
893
- }
894
-
895
- if (badPrefix)
896
- {
897
- if (askExtractMode == NArchive::NExtract::NAskMode::kExtract && !_testMode)
898
- return E_FAIL;
899
- }
900
- else
901
- numRemovePathParts = _removePathParts.Size();
902
- break;
903
- }
904
-
905
- case NExtract::NPathMode::kNoPaths:
906
- {
907
- if (!pathParts.IsEmpty())
908
- numRemovePathParts = pathParts.Size() - 1;
909
- break;
910
- }
911
- case NExtract::NPathMode::kNoPathsAlt:
912
- {
913
- #ifdef SUPPORT_ALT_STREAMS
914
- if (_item.IsAltStream)
915
- numRemovePathParts = pathParts.Size();
916
- else
917
- #endif
918
- if (!pathParts.IsEmpty())
919
- numRemovePathParts = pathParts.Size() - 1;
920
- break;
921
- }
922
- /*
923
- case NExtract::NPathMode::kFullPaths:
924
- case NExtract::NPathMode::kAbsPaths:
925
- break;
926
- */
927
- }
928
-
929
- pathParts.DeleteFrontal(numRemovePathParts);
930
- }
931
-
932
- #ifndef _SFX
933
-
934
- if (ExtractToStreamCallback)
935
- {
936
- if (!GetProp)
937
- {
938
- GetProp_Spec = new CGetProp;
939
- GetProp = GetProp_Spec;
940
- }
941
- GetProp_Spec->Arc = _arc;
942
- GetProp_Spec->IndexInArc = index;
943
- UString name (MakePathFromParts(pathParts));
944
-
945
- #ifdef SUPPORT_ALT_STREAMS
946
- if (_item.IsAltStream)
947
- {
948
- if (!pathParts.IsEmpty() || (!_removePartsForAltStreams && _pathMode != NExtract::NPathMode::kNoPathsAlt))
949
- name += ':';
950
- name += _item.AltStreamName;
951
- }
952
- #endif
953
-
954
- return ExtractToStreamCallback->GetStream7(name, BoolToInt(_item.IsDir), outStream, askExtractMode, GetProp);
955
- }
956
-
957
- #endif
958
-
959
- CMyComPtr<ISequentialOutStream> outStreamLoc;
960
-
961
- if (askExtractMode == NArchive::NExtract::NAskMode::kExtract && !_testMode)
962
- {
963
- if (_stdOutMode)
964
- {
965
- outStreamLoc = new CStdOutFileStream;
966
- }
967
- else
968
- {
969
- {
970
- NCOM::CPropVariant prop;
971
- RINOK(archive->GetProperty(index, kpidAttrib, &prop));
972
- if (prop.vt == VT_UI4)
973
- {
974
- _fi.Attrib = prop.ulVal;
975
- _fi.AttribDefined = true;
976
- }
977
- else if (prop.vt == VT_EMPTY)
978
- _fi.AttribDefined = false;
979
- else
980
- return E_FAIL;
981
- }
982
-
983
- RINOK(GetTime(index, kpidCTime, _fi.CTime, _fi.CTimeDefined));
984
- RINOK(GetTime(index, kpidATime, _fi.ATime, _fi.ATimeDefined));
985
- RINOK(GetTime(index, kpidMTime, _fi.MTime, _fi.MTimeDefined));
986
-
987
- bool isAnti = false;
988
- RINOK(_arc->IsItemAnti(index, isAnti));
989
-
990
- #ifdef SUPPORT_ALT_STREAMS
991
- if (!_item.IsAltStream
992
- || !pathParts.IsEmpty()
993
- || !(_removePartsForAltStreams || _pathMode == NExtract::NPathMode::kNoPathsAlt))
994
- #endif
995
- Correct_FsPath(_pathMode == NExtract::NPathMode::kAbsPaths, _keepAndReplaceEmptyDirPrefixes, pathParts, _item.MainIsDir);
996
-
997
- #ifdef SUPPORT_ALT_STREAMS
998
-
999
- if (_item.IsAltStream)
1000
- {
1001
- UString s (_item.AltStreamName);
1002
- Correct_AltStream_Name(s);
1003
- bool needColon = true;
1004
-
1005
- if (pathParts.IsEmpty())
1006
- {
1007
- pathParts.AddNew();
1008
- if (_removePartsForAltStreams || _pathMode == NExtract::NPathMode::kNoPathsAlt)
1009
- needColon = false;
1010
- }
1011
- else if (_pathMode == NExtract::NPathMode::kAbsPaths &&
1012
- NWildcard::GetNumPrefixParts_if_DrivePath(pathParts) == pathParts.Size())
1013
- pathParts.AddNew();
1014
-
1015
- UString &name = pathParts.Back();
1016
- if (needColon)
1017
- name += (char)(_ntOptions.ReplaceColonForAltStream ? '_' : ':');
1018
- name += s;
1019
- }
1020
-
1021
- #endif
1022
-
1023
- UString processedPath (MakePathFromParts(pathParts));
1024
-
1025
- if (!isAnti)
1026
- {
1027
- if (!_item.IsDir)
1028
- {
1029
- if (!pathParts.IsEmpty())
1030
- pathParts.DeleteBack();
1031
- }
1032
-
1033
- if (!pathParts.IsEmpty())
1034
- {
1035
- FString fullPathNew;
1036
- CreateComplexDirectory(pathParts, fullPathNew);
1037
-
1038
- if (_item.IsDir)
1039
- {
1040
- CDirPathTime &pt = _extractedFolders.AddNew();
1041
-
1042
- pt.CTime = _fi.CTime;
1043
- pt.CTimeDefined = (WriteCTime && _fi.CTimeDefined);
1044
-
1045
- pt.ATime = _fi.ATime;
1046
- pt.ATimeDefined = (WriteATime && _fi.ATimeDefined);
1047
-
1048
- pt.MTimeDefined = false;
1049
-
1050
- if (WriteMTime)
1051
- {
1052
- if (_fi.MTimeDefined)
1053
- {
1054
- pt.MTime = _fi.MTime;
1055
- pt.MTimeDefined = true;
1056
- }
1057
- else if (_arc->MTimeDefined)
1058
- {
1059
- pt.MTime = _arc->MTime;
1060
- pt.MTimeDefined = true;
1061
- }
1062
- }
1063
-
1064
- pt.Path = fullPathNew;
1065
-
1066
- pt.SetDirTime();
1067
- }
1068
- }
1069
- }
1070
-
1071
-
1072
- FString fullProcessedPath (us2fs(processedPath));
1073
- if (_pathMode != NExtract::NPathMode::kAbsPaths
1074
- || !NName::IsAbsolutePath(processedPath))
1075
- {
1076
- fullProcessedPath = MakePath_from_2_Parts(_dirPathPrefix, fullProcessedPath);
1077
- }
1078
-
1079
- #ifdef SUPPORT_ALT_STREAMS
1080
-
1081
- if (_item.IsAltStream && _item.ParentIndex != (UInt32)(Int32)-1)
1082
- {
1083
- int renIndex = _renamedFiles.FindInSorted(CIndexToPathPair(_item.ParentIndex));
1084
- if (renIndex >= 0)
1085
- {
1086
- const CIndexToPathPair &pair = _renamedFiles[renIndex];
1087
- fullProcessedPath = pair.Path;
1088
- fullProcessedPath += ':';
1089
- UString s (_item.AltStreamName);
1090
- Correct_AltStream_Name(s);
1091
- fullProcessedPath += us2fs(s);
1092
- }
1093
- }
1094
-
1095
- #endif
1096
-
1097
- bool isRenamed = false;
1098
-
1099
- if (_item.IsDir)
1100
- {
1101
- _diskFilePath = fullProcessedPath;
1102
- if (isAnti)
1103
- RemoveDir(_diskFilePath);
1104
- #ifdef SUPPORT_LINKS
1105
- if (linkPath.IsEmpty())
1106
- #endif
1107
- return S_OK;
1108
- }
1109
- else if (!_isSplit)
1110
- {
1111
-
1112
- // ----- Is file (not split) -----
1113
- NFind::CFileInfo fileInfo;
1114
- if (fileInfo.Find(fullProcessedPath))
1115
- {
1116
- switch (_overwriteMode)
1117
- {
1118
- case NExtract::NOverwriteMode::kSkip:
1119
- return S_OK;
1120
- case NExtract::NOverwriteMode::kAsk:
1121
- {
1122
- int slashPos = fullProcessedPath.ReverseFind_PathSepar();
1123
- FString realFullProcessedPath (fullProcessedPath.Left(slashPos + 1) + fileInfo.Name);
1124
-
1125
- Int32 overwriteResult;
1126
- RINOK(_extractCallback2->AskOverwrite(
1127
- fs2us(realFullProcessedPath), &fileInfo.MTime, &fileInfo.Size, _item.Path,
1128
- _fi.MTimeDefined ? &_fi.MTime : NULL,
1129
- _curSizeDefined ? &_curSize : NULL,
1130
- &overwriteResult))
1131
-
1132
- switch (overwriteResult)
1133
- {
1134
- case NOverwriteAnswer::kCancel: return E_ABORT;
1135
- case NOverwriteAnswer::kNo: return S_OK;
1136
- case NOverwriteAnswer::kNoToAll: _overwriteMode = NExtract::NOverwriteMode::kSkip; return S_OK;
1137
- case NOverwriteAnswer::kYes: break;
1138
- case NOverwriteAnswer::kYesToAll: _overwriteMode = NExtract::NOverwriteMode::kOverwrite; break;
1139
- case NOverwriteAnswer::kAutoRename: _overwriteMode = NExtract::NOverwriteMode::kRename; break;
1140
- default:
1141
- return E_FAIL;
1142
- }
1143
- }
1144
- }
1145
- if (_overwriteMode == NExtract::NOverwriteMode::kRename)
1146
- {
1147
- if (!AutoRenamePath(fullProcessedPath))
1148
- {
1149
- RINOK(SendMessageError(kCantAutoRename, fullProcessedPath));
1150
- return E_FAIL;
1151
- }
1152
- isRenamed = true;
1153
- }
1154
- else if (_overwriteMode == NExtract::NOverwriteMode::kRenameExisting)
1155
- {
1156
- FString existPath (fullProcessedPath);
1157
- if (!AutoRenamePath(existPath))
1158
- {
1159
- RINOK(SendMessageError(kCantAutoRename, fullProcessedPath));
1160
- return E_FAIL;
1161
- }
1162
- // MyMoveFile can raname folders. So it's OK to use it for folders too
1163
- if (!MyMoveFile(fullProcessedPath, existPath))
1164
- {
1165
- RINOK(SendMessageError2(kCantRenameFile, existPath, fullProcessedPath));
1166
- return E_FAIL;
1167
- }
1168
- }
1169
- else
1170
- {
1171
- if (fileInfo.IsDir())
1172
- {
1173
- // do we need to delete all files in folder?
1174
- if (!RemoveDir(fullProcessedPath))
1175
- {
1176
- RINOK(SendMessageError_with_LastError(kCantDeleteOutputDir, fullProcessedPath));
1177
- return S_OK;
1178
- }
1179
- }
1180
- else
1181
- {
1182
- bool needDelete = true;
1183
- if (needDelete)
1184
- {
1185
- if (NFind::DoesFileExist(fullProcessedPath))
1186
- if (!DeleteFileAlways(fullProcessedPath))
1187
- if (GetLastError() != ERROR_FILE_NOT_FOUND)
1188
- {
1189
- RINOK(SendMessageError_with_LastError(kCantDeleteOutputFile, fullProcessedPath));
1190
- return S_OK;
1191
- // return E_FAIL;
1192
- }
1193
- }
1194
- }
1195
- }
1196
- }
1197
- else // not Find(fullProcessedPath)
1198
- {
1199
- // we need to clear READ-ONLY of parent before creating alt stream
1200
- #if defined(_WIN32) && !defined(UNDER_CE)
1201
- int colonPos = NName::FindAltStreamColon(fullProcessedPath);
1202
- if (colonPos >= 0 && fullProcessedPath[(unsigned)colonPos + 1] != 0)
1203
- {
1204
- FString parentFsPath (fullProcessedPath);
1205
- parentFsPath.DeleteFrom(colonPos);
1206
- NFind::CFileInfo parentFi;
1207
- if (parentFi.Find(parentFsPath))
1208
- {
1209
- if (parentFi.IsReadOnly())
1210
- SetFileAttrib(parentFsPath, parentFi.Attrib & ~FILE_ATTRIBUTE_READONLY);
1211
- }
1212
- }
1213
- #endif
1214
- }
1215
- // ----- END of code for Is file (not split) -----
1216
-
1217
- }
1218
- _diskFilePath = fullProcessedPath;
1219
-
1220
-
1221
- if (!isAnti)
1222
- {
1223
- #ifdef SUPPORT_LINKS
1224
-
1225
- if (!linkPath.IsEmpty())
1226
- {
1227
- #ifndef UNDER_CE
1228
-
1229
- UString relatPath;
1230
- if (isRelative)
1231
- relatPath = GetDirPrefixOf(_item.Path);
1232
- relatPath += linkPath;
1233
-
1234
- if (!IsSafePath(relatPath))
1235
- {
1236
- RINOK(SendMessageError("Dangerous link path was ignored", us2fs(relatPath)));
1237
- }
1238
- else
1239
- {
1240
- FString existPath;
1241
- if (isHardLink /* || isCopyLink */ || !isRelative)
1242
- {
1243
- if (!NName::GetFullPath(_dirPathPrefix_Full, us2fs(relatPath), existPath))
1244
- {
1245
- RINOK(SendMessageError("Incorrect path", us2fs(relatPath)));
1246
- }
1247
- }
1248
- else
1249
- {
1250
- existPath = us2fs(linkPath);
1251
- }
1252
-
1253
- if (!existPath.IsEmpty())
1254
- {
1255
- if (isHardLink /* || isCopyLink */)
1256
- {
1257
- // if (isHardLink)
1258
- {
1259
- if (!MyCreateHardLink(fullProcessedPath, existPath))
1260
- {
1261
- RINOK(SendMessageError2(kCantCreateHardLink, fullProcessedPath, existPath));
1262
- // return S_OK;
1263
- }
1264
- }
1265
- /*
1266
- else
1267
- {
1268
- NFind::CFileInfo fi;
1269
- if (!fi.Find(existPath))
1270
- {
1271
- RINOK(SendMessageError2("Can not find the file for copying", existPath, fullProcessedPath));
1272
- }
1273
- else
1274
- {
1275
- if (_curSizeDefined && _curSize == fi.Size)
1276
- _CopyFile_Path = existPath;
1277
- else
1278
- {
1279
- RINOK(SendMessageError2("File size collision for file copying", existPath, fullProcessedPath));
1280
- }
1281
-
1282
- // RINOK(MyCopyFile(existPath, fullProcessedPath));
1283
- }
1284
- }
1285
- */
1286
- }
1287
- else if (_ntOptions.SymLinks.Val)
1288
- {
1289
- // bool isSymLink = true; // = false for junction
1290
- if (_item.IsDir && !isRelative)
1291
- {
1292
- // if it's before Vista we use Junction Point
1293
- // isJunction = true;
1294
- // convertToAbs = true;
1295
- }
1296
-
1297
- CByteBuffer data;
1298
- if (FillLinkData(data, fs2us(existPath), !isJunction))
1299
- {
1300
- CReparseAttr attr;
1301
- DWORD errorCode = 0;
1302
- if (!attr.Parse(data, data.Size(), errorCode))
1303
- {
1304
- RINOK(SendMessageError("Internal error for symbolic link file", us2fs(_item.Path)));
1305
- // return E_FAIL;
1306
- }
1307
- else
1308
- if (!NFile::NIO::SetReparseData(fullProcessedPath, _item.IsDir, data, (DWORD)data.Size()))
1309
- {
1310
- RINOK(SendMessageError_with_LastError(kCantCreateSymLink, fullProcessedPath));
1311
- }
1312
- }
1313
- }
1314
- }
1315
- }
1316
-
1317
- #endif
1318
- }
1319
-
1320
- if (linkPath.IsEmpty() /* || !_CopyFile_Path.IsEmpty() */)
1321
- #endif // SUPPORT_LINKS
1322
- {
1323
- bool needWriteFile = true;
1324
-
1325
- #ifdef SUPPORT_LINKS
1326
- if (!_hardLinks.IDs.IsEmpty() && !_item.IsAltStream)
1327
- {
1328
- CHardLinkNode h;
1329
- bool defined;
1330
- RINOK(Archive_Get_HardLinkNode(archive, index, h, defined));
1331
- if (defined)
1332
- {
1333
- {
1334
- int linkIndex = _hardLinks.IDs.FindInSorted2(h);
1335
- if (linkIndex >= 0)
1336
- {
1337
- FString &hl = _hardLinks.Links[linkIndex];
1338
- if (hl.IsEmpty())
1339
- hl = fullProcessedPath;
1340
- else
1341
- {
1342
- if (!MyCreateHardLink(fullProcessedPath, hl))
1343
- {
1344
- RINOK(SendMessageError2(kCantCreateHardLink, fullProcessedPath, hl));
1345
- return S_OK;
1346
- }
1347
- needWriteFile = false;
1348
- }
1349
- }
1350
- }
1351
- }
1352
- }
1353
- #endif
1354
-
1355
- if (needWriteFile)
1356
- {
1357
- _outFileStreamSpec = new COutFileStream;
1358
- CMyComPtr<ISequentialOutStream> outStreamLoc2(_outFileStreamSpec);
1359
- if (!_outFileStreamSpec->Open(fullProcessedPath, _isSplit ? OPEN_ALWAYS: CREATE_ALWAYS))
1360
- {
1361
- // if (::GetLastError() != ERROR_FILE_EXISTS || !isSplit)
1362
- {
1363
- RINOK(SendMessageError_with_LastError(kCantOpenOutFile, fullProcessedPath));
1364
- return S_OK;
1365
- }
1366
- }
1367
-
1368
- if (_ntOptions.PreAllocateOutFile && !_isSplit && _curSizeDefined && _curSize > (1 << 12))
1369
- {
1370
- // UInt64 ticks = GetCpuTicks();
1371
- bool res = _outFileStreamSpec->File.SetLength(_curSize);
1372
- _fileLengthWasSet = res;
1373
-
1374
- // ticks = GetCpuTicks() - ticks;
1375
- // printf("\nticks = %10d\n", (unsigned)ticks);
1376
- if (!res)
1377
- {
1378
- RINOK(SendMessageError_with_LastError(kCantSetFileLen, fullProcessedPath));
1379
- }
1380
-
1381
- /*
1382
- _outFileStreamSpec->File.Close();
1383
- ticks = GetCpuTicks() - ticks;
1384
- printf("\nticks = %10d\n", (unsigned)ticks);
1385
- return S_FALSE;
1386
- */
1387
-
1388
- /*
1389
- File.SetLength() on FAT (xp64): is fast, but then File.Close() can be slow,
1390
- if we don't write any data.
1391
- File.SetLength() for remote share file (exFAT) can be slow in some cases,
1392
- and the Windows can return "network error" after 1 minute,
1393
- while remote file still can grow.
1394
- We need some way to detect such bad cases and disable PreAllocateOutFile mode.
1395
- */
1396
-
1397
- res = _outFileStreamSpec->File.SeekToBegin();
1398
- if (!res)
1399
- {
1400
- RINOK(SendMessageError_with_LastError("Can not seek to begin of file", fullProcessedPath));
1401
- }
1402
- }
1403
-
1404
- #ifdef SUPPORT_ALT_STREAMS
1405
- if (isRenamed && !_item.IsAltStream)
1406
- {
1407
- CIndexToPathPair pair(index, fullProcessedPath);
1408
- unsigned oldSize = _renamedFiles.Size();
1409
- unsigned insertIndex = _renamedFiles.AddToUniqueSorted(pair);
1410
- if (oldSize == _renamedFiles.Size())
1411
- _renamedFiles[insertIndex].Path = fullProcessedPath;
1412
- }
1413
- #endif
1414
-
1415
- if (_isSplit)
1416
- {
1417
- RINOK(_outFileStreamSpec->Seek(_position, STREAM_SEEK_SET, NULL));
1418
- }
1419
-
1420
- _outFileStream = outStreamLoc2;
1421
- }
1422
- }
1423
- }
1424
-
1425
- outStreamLoc = _outFileStream;
1426
- }
1427
- }
1428
-
1429
- #ifndef _SFX
1430
-
1431
- if (_hashStream)
1432
- {
1433
- if (askExtractMode == NArchive::NExtract::NAskMode::kExtract ||
1434
- askExtractMode == NArchive::NExtract::NAskMode::kTest)
1435
- {
1436
- _hashStreamSpec->SetStream(outStreamLoc);
1437
- outStreamLoc = _hashStream;
1438
- _hashStreamSpec->Init(true);
1439
- _hashStreamWasUsed = true;
1440
- }
1441
- }
1442
-
1443
- #endif
1444
-
1445
-
1446
- if (outStreamLoc)
1447
- {
1448
- /*
1449
- #ifdef SUPPORT_LINKS
1450
-
1451
- if (!_CopyFile_Path.IsEmpty())
1452
- {
1453
- RINOK(PrepareOperation(askExtractMode));
1454
- RINOK(MyCopyFile(outStreamLoc));
1455
- return SetOperationResult(NArchive::NExtract::NOperationResult::kOK);
1456
- }
1457
-
1458
- if (isCopyLink && _testMode)
1459
- return S_OK;
1460
-
1461
- #endif
1462
- */
1463
-
1464
- *outStream = outStreamLoc.Detach();
1465
- }
1466
-
1467
- return S_OK;
1468
-
1469
- COM_TRY_END
1470
- }
1471
-
1472
-
1473
- STDMETHODIMP CArchiveExtractCallback::PrepareOperation(Int32 askExtractMode)
1474
- {
1475
- COM_TRY_BEGIN
1476
-
1477
- #ifndef _SFX
1478
- if (ExtractToStreamCallback)
1479
- return ExtractToStreamCallback->PrepareOperation7(askExtractMode);
1480
- #endif
1481
-
1482
- _extractMode = false;
1483
-
1484
- switch (askExtractMode)
1485
- {
1486
- case NArchive::NExtract::NAskMode::kExtract:
1487
- if (_testMode)
1488
- askExtractMode = NArchive::NExtract::NAskMode::kTest;
1489
- else
1490
- _extractMode = true;
1491
- break;
1492
- };
1493
-
1494
- return _extractCallback2->PrepareOperation(_item.Path, BoolToInt(_item.IsDir),
1495
- askExtractMode, _isSplit ? &_position: 0);
1496
-
1497
- COM_TRY_END
1498
- }
1499
-
1500
-
1501
- HRESULT CArchiveExtractCallback::CloseFile()
1502
- {
1503
- if (!_outFileStream)
1504
- return S_OK;
1505
-
1506
- HRESULT hres = S_OK;
1507
- _outFileStreamSpec->SetTime(
1508
- (WriteCTime && _fi.CTimeDefined) ? &_fi.CTime : NULL,
1509
- (WriteATime && _fi.ATimeDefined) ? &_fi.ATime : NULL,
1510
- (WriteMTime && _fi.MTimeDefined) ? &_fi.MTime : (_arc->MTimeDefined ? &_arc->MTime : NULL));
1511
-
1512
- const UInt64 processedSize = _outFileStreamSpec->ProcessedSize;
1513
- if (_fileLengthWasSet && _curSize > processedSize)
1514
- {
1515
- bool res = _outFileStreamSpec->File.SetLength(processedSize);
1516
- _fileLengthWasSet = res;
1517
- if (!res)
1518
- hres = SendMessageError_with_LastError(kCantSetFileLen, us2fs(_item.Path));
1519
- }
1520
- _curSize = processedSize;
1521
- _curSizeDefined = true;
1522
- RINOK(_outFileStreamSpec->Close());
1523
- _outFileStream.Release();
1524
- return hres;
1525
- }
1526
-
1527
-
1528
- STDMETHODIMP CArchiveExtractCallback::SetOperationResult(Int32 opRes)
1529
- {
1530
- COM_TRY_BEGIN
1531
-
1532
- #ifndef _SFX
1533
- if (ExtractToStreamCallback)
1534
- return ExtractToStreamCallback->SetOperationResult7(opRes, BoolToInt(_encrypted));
1535
- #endif
1536
-
1537
- #ifndef _SFX
1538
-
1539
- if (_hashStreamWasUsed)
1540
- {
1541
- _hashStreamSpec->_hash->Final(_item.IsDir,
1542
- #ifdef SUPPORT_ALT_STREAMS
1543
- _item.IsAltStream
1544
- #else
1545
- false
1546
- #endif
1547
- , _item.Path);
1548
- _curSize = _hashStreamSpec->GetSize();
1549
- _curSizeDefined = true;
1550
- _hashStreamSpec->ReleaseStream();
1551
- _hashStreamWasUsed = false;
1552
- }
1553
-
1554
- #endif
1555
-
1556
- RINOK(CloseFile());
1557
-
1558
- #ifdef _USE_SECURITY_CODE
1559
- if (!_stdOutMode && _extractMode && _ntOptions.NtSecurity.Val && _arc->GetRawProps)
1560
- {
1561
- const void *data;
1562
- UInt32 dataSize;
1563
- UInt32 propType;
1564
- _arc->GetRawProps->GetRawProp(_index, kpidNtSecure, &data, &dataSize, &propType);
1565
- if (dataSize != 0)
1566
- {
1567
- if (propType != NPropDataType::kRaw)
1568
- return E_FAIL;
1569
- if (CheckNtSecure((const Byte *)data, dataSize))
1570
- {
1571
- SECURITY_INFORMATION securInfo = DACL_SECURITY_INFORMATION | GROUP_SECURITY_INFORMATION | OWNER_SECURITY_INFORMATION;
1572
- if (_saclEnabled)
1573
- securInfo |= SACL_SECURITY_INFORMATION;
1574
- ::SetFileSecurityW(fs2us(_diskFilePath), securInfo, (PSECURITY_DESCRIPTOR)(void *)data);
1575
- }
1576
- }
1577
- }
1578
- #endif
1579
-
1580
- if (!_curSizeDefined)
1581
- GetUnpackSize();
1582
-
1583
- if (_curSizeDefined)
1584
- {
1585
- #ifdef SUPPORT_ALT_STREAMS
1586
- if (_item.IsAltStream)
1587
- AltStreams_UnpackSize += _curSize;
1588
- else
1589
- #endif
1590
- UnpackSize += _curSize;
1591
- }
1592
-
1593
- if (_item.IsDir)
1594
- NumFolders++;
1595
- #ifdef SUPPORT_ALT_STREAMS
1596
- else if (_item.IsAltStream)
1597
- NumAltStreams++;
1598
- #endif
1599
- else
1600
- NumFiles++;
1601
-
1602
- if (!_stdOutMode && _extractMode && _fi.AttribDefined)
1603
- SetFileAttrib_PosixHighDetect(_diskFilePath, _fi.Attrib);
1604
-
1605
- RINOK(_extractCallback2->SetOperationResult(opRes, BoolToInt(_encrypted)));
1606
-
1607
- return S_OK;
1608
-
1609
- COM_TRY_END
1610
- }
1611
-
1612
- STDMETHODIMP CArchiveExtractCallback::ReportExtractResult(UInt32 indexType, UInt32 index, Int32 opRes)
1613
- {
1614
- if (_folderArchiveExtractCallback2)
1615
- {
1616
- bool isEncrypted = false;
1617
- UString s;
1618
-
1619
- if (indexType == NArchive::NEventIndexType::kInArcIndex && index != (UInt32)(Int32)-1)
1620
- {
1621
- CReadArcItem item;
1622
- RINOK(_arc->GetItem(index, item));
1623
- s = item.Path;
1624
- RINOK(Archive_GetItemBoolProp(_arc->Archive, index, kpidEncrypted, isEncrypted));
1625
- }
1626
- else
1627
- {
1628
- s = '#';
1629
- s.Add_UInt32(index);
1630
- // if (indexType == NArchive::NEventIndexType::kBlockIndex) {}
1631
- }
1632
-
1633
- return _folderArchiveExtractCallback2->ReportExtractResult(opRes, isEncrypted, s);
1634
- }
1635
-
1636
- return S_OK;
1637
- }
1638
-
1639
-
1640
- STDMETHODIMP CArchiveExtractCallback::CryptoGetTextPassword(BSTR *password)
1641
- {
1642
- COM_TRY_BEGIN
1643
- if (!_cryptoGetTextPassword)
1644
- {
1645
- RINOK(_extractCallback2.QueryInterface(IID_ICryptoGetTextPassword,
1646
- &_cryptoGetTextPassword));
1647
- }
1648
- return _cryptoGetTextPassword->CryptoGetTextPassword(password);
1649
- COM_TRY_END
1650
- }
1651
-
1652
-
1653
- void CDirPathSortPair::SetNumSlashes(const FChar *s)
1654
- {
1655
- for (unsigned numSlashes = 0;;)
1656
- {
1657
- FChar c = *s++;
1658
- if (c == 0)
1659
- {
1660
- Len = numSlashes;
1661
- return;
1662
- }
1663
- if (IS_PATH_SEPAR(c))
1664
- numSlashes++;
1665
- }
1666
- }
1667
-
1668
-
1669
- bool CDirPathTime::SetDirTime()
1670
- {
1671
- return NDir::SetDirTime(Path,
1672
- CTimeDefined ? &CTime : NULL,
1673
- ATimeDefined ? &ATime : NULL,
1674
- MTimeDefined ? &MTime : NULL);
1675
- }
1676
-
1677
-
1678
- HRESULT CArchiveExtractCallback::SetDirsTimes()
1679
- {
1680
- if (!_arc)
1681
- return S_OK;
1682
-
1683
- CRecordVector<CDirPathSortPair> pairs;
1684
- pairs.ClearAndSetSize(_extractedFolders.Size());
1685
- unsigned i;
1686
-
1687
- for (i = 0; i < _extractedFolders.Size(); i++)
1688
- {
1689
- CDirPathSortPair &pair = pairs[i];
1690
- pair.Index = i;
1691
- pair.SetNumSlashes(_extractedFolders[i].Path);
1692
- }
1693
-
1694
- pairs.Sort2();
1695
-
1696
- for (i = 0; i < pairs.Size(); i++)
1697
- {
1698
- _extractedFolders[pairs[i].Index].SetDirTime();
1699
- // if (!) return GetLastError();
1700
- }
1701
-
1702
- ClearExtractedDirsInfo();
1703
- return S_OK;
1704
- }
1705
-
1706
-
1707
- HRESULT CArchiveExtractCallback::CloseArc()
1708
- {
1709
- HRESULT res = CloseFile();
1710
- HRESULT res2 = SetDirsTimes();
1711
- if (res == S_OK)
1712
- res = res2;
1713
- _arc = NULL;
1714
- return res;
1715
- }