react-native-update 10.60.0 → 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 (820) hide show
  1. package/README-CN.md +6 -0
  2. package/README.md +8 -0
  3. package/android/jni/Android.mk +2 -0
  4. package/android/jni/Application.mk +3 -1
  5. package/android/lib/arm64-v8a/librnpushy.so +0 -0
  6. package/android/lib/armeabi-v7a/librnpushy.so +0 -0
  7. package/android/lib/x86/librnpushy.so +0 -0
  8. package/android/lib/x86_64/librnpushy.so +0 -0
  9. package/android/src/main/java/cn/reactnative/modules/update/ApkInstaller.java +1 -1
  10. package/android/src/main/java/cn/reactnative/modules/update/ArchiveLimits.java +3 -2
  11. package/android/src/main/java/cn/reactnative/modules/update/BundlePreparationResult.java +2 -0
  12. package/android/src/main/java/cn/reactnative/modules/update/DownloadTask.java +102 -119
  13. package/android/src/main/java/cn/reactnative/modules/update/DownloadTaskParams.java +5 -3
  14. package/android/src/main/java/cn/reactnative/modules/update/ErrorCodes.java +5 -3
  15. package/android/src/main/java/cn/reactnative/modules/update/FlowBridge.java +7 -0
  16. package/android/src/main/java/cn/reactnative/modules/update/HttpUtils.java +0 -34
  17. package/android/src/main/java/cn/reactnative/modules/update/InstallRecord.java +3 -1
  18. package/android/src/main/java/cn/reactnative/modules/update/NativeCore.java +1 -1
  19. package/android/src/main/java/cn/reactnative/modules/update/PushyRuntime.java +23 -4
  20. package/android/src/main/java/cn/reactnative/modules/update/ReactReloadManager.java +1 -1
  21. package/android/src/main/java/cn/reactnative/modules/update/ResumePlan.java +31 -0
  22. package/android/src/main/java/cn/reactnative/modules/update/SyncCoordinator.java +397 -300
  23. package/android/src/main/java/cn/reactnative/modules/update/Texts.java +15 -1
  24. package/android/src/main/java/cn/reactnative/modules/update/Threads.java +9 -0
  25. package/android/src/main/java/cn/reactnative/modules/update/UpdateContext.java +24 -15
  26. package/android/src/main/java/cn/reactnative/modules/update/UpdateModule.java +1 -1
  27. package/android/src/main/java/cn/reactnative/modules/update/VersionScopedKeys.java +64 -0
  28. package/android/src/oldarch/cn/reactnative/modules/update/NativePushySpec.java +2 -0
  29. package/cpp/android_jni/jni_log.h +2 -3
  30. package/cpp/android_jni/jni_natives.h +14 -8
  31. package/cpp/android_jni/jni_registration.cpp +13 -0
  32. package/cpp/android_jni/resume_plan_jni.cpp +58 -0
  33. package/cpp/android_jni/update_core_android.cpp +3 -5
  34. package/cpp/android_jni/update_flow_jni.cpp +17 -0
  35. package/cpp/patch_core/archive_limits.h +5 -3
  36. package/cpp/patch_core/archive_patch_core.cpp +2 -3
  37. package/cpp/patch_core/archive_patch_core.h +2 -0
  38. package/cpp/patch_core/error_codes.h +15 -13
  39. package/cpp/patch_core/install_record.h +5 -3
  40. package/cpp/patch_core/native_texts.h +102 -0
  41. package/cpp/patch_core/resume_plan.cpp +226 -0
  42. package/cpp/patch_core/resume_plan.h +88 -0
  43. package/cpp/patch_core/state_ops.h +2 -0
  44. package/cpp/update_flow_core/native_config.cpp +5 -25
  45. package/cpp/update_flow_core/native_round.cpp +9 -14
  46. package/cpp/update_flow_core/native_round.h +7 -3
  47. package/cpp/update_flow_core/round_engine.cpp +456 -0
  48. package/cpp/update_flow_core/round_engine.h +106 -0
  49. package/cpp/update_flow_core/update_flow_core.cpp +5 -14
  50. package/harmony/pushy/src/main/cpp/CMakeLists.txt +2 -0
  51. package/harmony/pushy/src/main/cpp/PushyTurboModule.cpp +22 -20
  52. package/harmony/pushy/src/main/cpp/pushy.cpp +146 -24
  53. package/harmony/pushy/src/main/ets/ArchiveLimits.ts +9 -5
  54. package/harmony/pushy/src/main/ets/DownloadTask.ts +138 -158
  55. package/harmony/pushy/src/main/ets/DownloadTaskParams.ts +5 -3
  56. package/harmony/pushy/src/main/ets/ErrorCodes.ts +3 -2
  57. package/harmony/pushy/src/main/ets/InstallRecord.ts +3 -1
  58. package/harmony/pushy/src/main/ets/NativePatchCore.ts +35 -0
  59. package/harmony/pushy/src/main/ets/PushyFileJSBundleProvider.ets +8 -3
  60. package/harmony/pushy/src/main/ets/SyncCoordinator.ts +256 -309
  61. package/harmony/pushy/src/main/ets/Texts.ts +8 -3
  62. package/harmony/pushy/src/main/ets/UpdateContext.ts +152 -46
  63. package/harmony/pushy.har +0 -0
  64. package/ios/RCTPushy/RCTPushy+Launch.mm +5 -0
  65. package/ios/RCTPushy/RCTPushy.mm +60 -44
  66. package/ios/RCTPushy/RCTPushyCommon.h +0 -6
  67. package/ios/RCTPushy/RCTPushyConfiguration.mm +8 -10
  68. package/ios/RCTPushy/RCTPushyDownloader.mm +112 -161
  69. package/ios/RCTPushy/RCTPushyInstallRecord.mm +42 -2
  70. package/ios/RCTPushy/RCTPushyInstaller.mm +195 -152
  71. package/ios/RCTPushy/RCTPushyInternal.h +41 -0
  72. package/ios/RCTPushy/RCTPushyOrchestrator.mm +233 -265
  73. package/ios/RCTPushy/RCTPushyState.mm +70 -2
  74. package/package.json +23 -4
  75. package/src/client.ts +126 -1543
  76. package/src/clientActivation.ts +324 -0
  77. package/src/clientCheck.ts +405 -0
  78. package/src/clientDownload.ts +448 -0
  79. package/src/clientNativeConfig.ts +171 -0
  80. package/src/clientReporter.ts +398 -0
  81. package/src/clientState.ts +51 -0
  82. package/src/core.ts +4 -2
  83. package/src/endpoint.ts +22 -6
  84. package/src/error.ts +6 -4
  85. package/src/locales/en.ts +1 -1
  86. package/src/locales/zh.ts +1 -1
  87. package/src/provider.tsx +32 -20
  88. package/android/jni/HDiffPatch/.travis.yml +0 -33
  89. package/android/jni/HDiffPatch/CHANGELOG.md +0 -153
  90. package/android/jni/HDiffPatch/Makefile +0 -157
  91. package/android/jni/HDiffPatch/_atosize.h +0 -83
  92. package/android/jni/HDiffPatch/_clock_for_demo.h +0 -47
  93. package/android/jni/HDiffPatch/_dir_ignore.h +0 -191
  94. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/Android.mk +0 -37
  95. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/Application.mk +0 -7
  96. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/build_libs.bat +0 -1
  97. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/build_libs.sh +0 -1
  98. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/hpatch.c +0 -18
  99. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/hpatch.h +0 -20
  100. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/hpatch_jni.c +0 -28
  101. package/android/jni/HDiffPatch/builds/android_ndk_jni_mk/java/com/github/sisong/HPatch.java +0 -8
  102. package/android/jni/HDiffPatch/builds/codeblocks/HDiffPatch.workspace +0 -8
  103. package/android/jni/HDiffPatch/builds/codeblocks/HDiffZ.cbp +0 -219
  104. package/android/jni/HDiffPatch/builds/codeblocks/HPatchZ.cbp +0 -156
  105. package/android/jni/HDiffPatch/builds/codeblocks/unitTest.cbp +0 -65
  106. package/android/jni/HDiffPatch/builds/vc/HDiffPatch.sln +0 -105
  107. package/android/jni/HDiffPatch/builds/vc/HDiffZ.vcxproj +0 -237
  108. package/android/jni/HDiffPatch/builds/vc/HDiffZ.vcxproj.user +0 -3
  109. package/android/jni/HDiffPatch/builds/vc/HPatchZ.vcxproj +0 -318
  110. package/android/jni/HDiffPatch/builds/vc/HPatchZ.vcxproj.user +0 -3
  111. package/android/jni/HDiffPatch/builds/vc/unitTest.vcxproj +0 -182
  112. package/android/jni/HDiffPatch/builds/vc/unitTest.vcxproj.user +0 -3
  113. package/android/jni/HDiffPatch/builds/xcode/HDiffPatch.xcworkspace/contents.xcworkspacedata +0 -30
  114. package/android/jni/HDiffPatch/builds/xcode/HDiffPatch.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  115. package/android/jni/HDiffPatch/builds/xcode/bestParams.xcodeproj/project.pbxproj +0 -408
  116. package/android/jni/HDiffPatch/builds/xcode/bestParams.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  117. package/android/jni/HDiffPatch/builds/xcode/hdiffz.xcodeproj/project.pbxproj +0 -573
  118. package/android/jni/HDiffPatch/builds/xcode/hdiffz.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  119. package/android/jni/HDiffPatch/builds/xcode/hdiffz.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  120. package/android/jni/HDiffPatch/builds/xcode/hpatchz.xcodeproj/project.pbxproj +0 -396
  121. package/android/jni/HDiffPatch/builds/xcode/hpatchz.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  122. package/android/jni/HDiffPatch/builds/xcode/lz4.xcodeproj/project.pbxproj +0 -268
  123. package/android/jni/HDiffPatch/builds/xcode/lz4.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  124. package/android/jni/HDiffPatch/builds/xcode/lzma.xcodeproj/project.pbxproj +0 -361
  125. package/android/jni/HDiffPatch/builds/xcode/lzma.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  126. package/android/jni/HDiffPatch/builds/xcode/testHashClash.xcodeproj/project.pbxproj +0 -301
  127. package/android/jni/HDiffPatch/builds/xcode/testHashClash.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  128. package/android/jni/HDiffPatch/builds/xcode/testHashClash.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  129. package/android/jni/HDiffPatch/builds/xcode/unitTest.xcodeproj/project.pbxproj +0 -411
  130. package/android/jni/HDiffPatch/builds/xcode/unitTest.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  131. package/android/jni/HDiffPatch/builds/xcode/zstd.xcodeproj/project.pbxproj +0 -504
  132. package/android/jni/HDiffPatch/builds/xcode/zstd.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  133. package/android/jni/HDiffPatch/checksum_plugin_demo.h +0 -344
  134. package/android/jni/HDiffPatch/compress_parallel.cpp +0 -166
  135. package/android/jni/HDiffPatch/compress_parallel.h +0 -59
  136. package/android/jni/HDiffPatch/compress_plugin_demo.h +0 -1152
  137. package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/dir_diff.cpp +0 -797
  138. package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/dir_diff.h +0 -65
  139. package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/dir_diff_tools.cpp +0 -200
  140. package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/dir_diff_tools.h +0 -178
  141. package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/dir_manifest.cpp +0 -357
  142. package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/dir_manifest.h +0 -87
  143. package/android/jni/HDiffPatch/dirDiffPatch/dir_diff/file_for_dirDiff.h +0 -151
  144. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/dir_patch.c +0 -770
  145. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/dir_patch.h +0 -236
  146. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/dir_patch_private.h +0 -47
  147. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/dir_patch_tools.c +0 -112
  148. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/dir_patch_tools.h +0 -53
  149. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/new_dir_output.c +0 -331
  150. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/new_dir_output.h +0 -144
  151. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/new_stream.c +0 -176
  152. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/new_stream.h +0 -84
  153. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/ref_stream.c +0 -146
  154. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/ref_stream.h +0 -61
  155. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/res_handle_limit.c +0 -152
  156. package/android/jni/HDiffPatch/dirDiffPatch/dir_patch/res_handle_limit.h +0 -76
  157. package/android/jni/HDiffPatch/hdiffz.cpp +0 -1570
  158. package/android/jni/HDiffPatch/hpatch_dir_listener.h +0 -290
  159. package/android/jni/HDiffPatch/hpatchz.c +0 -1221
  160. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/diff.cpp +0 -1025
  161. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/diff.h +0 -116
  162. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/diff_types.h +0 -72
  163. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/bytes_rle.cpp +0 -213
  164. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/bytes_rle.h +0 -63
  165. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/compress_detect.cpp +0 -170
  166. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/compress_detect.h +0 -86
  167. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/config.h +0 -89
  168. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort.c +0 -13
  169. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort.c.inc.h +0 -398
  170. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort.h +0 -194
  171. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort64.c +0 -13
  172. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort64.h +0 -204
  173. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/divsufsort_private.h +0 -207
  174. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/sssort.c.inc.h +0 -815
  175. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/trsort.c.inc.h +0 -586
  176. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/libdivsufsort/utils.c.inc.h +0 -381
  177. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/adler_roll.c +0 -352
  178. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/adler_roll.h +0 -137
  179. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/bloom_filter.h +0 -137
  180. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/covers.h +0 -70
  181. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/digest_matcher.cpp +0 -628
  182. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/digest_matcher.h +0 -87
  183. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/stream_serialize.cpp +0 -363
  184. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/limit_mem_diff/stream_serialize.h +0 -139
  185. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/mem_buf.h +0 -68
  186. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/pack_uint.h +0 -115
  187. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/suffix_string.cpp +0 -342
  188. package/android/jni/HDiffPatch/libHDiffPatch/HDiff/private_diff/suffix_string.h +0 -94
  189. package/android/jni/HDiffPatch/libHDiffPatch/HPatch/checksum_plugin.h +0 -52
  190. package/android/jni/HDiffPatch/libParallel/parallel_channel.cpp +0 -174
  191. package/android/jni/HDiffPatch/libParallel/parallel_channel.h +0 -73
  192. package/android/jni/HDiffPatch/libParallel/parallel_import.cpp +0 -367
  193. package/android/jni/HDiffPatch/libParallel/parallel_import.h +0 -92
  194. package/android/jni/lzma/Asm/arm/7zCrcOpt.asm +0 -100
  195. package/android/jni/lzma/Asm/x86/7zAsm.asm +0 -147
  196. package/android/jni/lzma/Asm/x86/7zCrcOpt.asm +0 -147
  197. package/android/jni/lzma/Asm/x86/AesOpt.asm +0 -237
  198. package/android/jni/lzma/Asm/x86/LzmaDecOpt.asm +0 -1258
  199. package/android/jni/lzma/Asm/x86/XzCrc64Opt.asm +0 -205
  200. package/android/jni/lzma/C/7z.h +0 -202
  201. package/android/jni/lzma/C/7zAlloc.c +0 -80
  202. package/android/jni/lzma/C/7zAlloc.h +0 -19
  203. package/android/jni/lzma/C/7zArcIn.c +0 -1771
  204. package/android/jni/lzma/C/7zBuf.c +0 -36
  205. package/android/jni/lzma/C/7zBuf.h +0 -35
  206. package/android/jni/lzma/C/7zBuf2.c +0 -52
  207. package/android/jni/lzma/C/7zCrc.c +0 -128
  208. package/android/jni/lzma/C/7zCrc.h +0 -25
  209. package/android/jni/lzma/C/7zCrcOpt.c +0 -115
  210. package/android/jni/lzma/C/7zDec.c +0 -591
  211. package/android/jni/lzma/C/7zFile.c +0 -286
  212. package/android/jni/lzma/C/7zFile.h +0 -83
  213. package/android/jni/lzma/C/7zStream.c +0 -176
  214. package/android/jni/lzma/C/7zVersion.h +0 -27
  215. package/android/jni/lzma/C/7zVersion.rc +0 -55
  216. package/android/jni/lzma/C/Aes.c +0 -306
  217. package/android/jni/lzma/C/Aes.h +0 -38
  218. package/android/jni/lzma/C/AesOpt.c +0 -184
  219. package/android/jni/lzma/C/Alloc.c +0 -455
  220. package/android/jni/lzma/C/Alloc.h +0 -51
  221. package/android/jni/lzma/C/Bcj2.c +0 -257
  222. package/android/jni/lzma/C/Bcj2.h +0 -146
  223. package/android/jni/lzma/C/Bcj2Enc.c +0 -311
  224. package/android/jni/lzma/C/Bra.c +0 -230
  225. package/android/jni/lzma/C/Bra.h +0 -64
  226. package/android/jni/lzma/C/Bra86.c +0 -82
  227. package/android/jni/lzma/C/BraIA64.c +0 -53
  228. package/android/jni/lzma/C/CpuArch.c +0 -218
  229. package/android/jni/lzma/C/CpuArch.h +0 -336
  230. package/android/jni/lzma/C/Delta.c +0 -64
  231. package/android/jni/lzma/C/Delta.h +0 -19
  232. package/android/jni/lzma/C/DllSecur.c +0 -108
  233. package/android/jni/lzma/C/DllSecur.h +0 -20
  234. package/android/jni/lzma/C/LzFind.c +0 -1127
  235. package/android/jni/lzma/C/LzFind.h +0 -121
  236. package/android/jni/lzma/C/LzFindMt.c +0 -853
  237. package/android/jni/lzma/C/LzFindMt.h +0 -101
  238. package/android/jni/lzma/C/LzHash.h +0 -57
  239. package/android/jni/lzma/C/Lzma2DecMt.c +0 -1082
  240. package/android/jni/lzma/C/Lzma2DecMt.h +0 -79
  241. package/android/jni/lzma/C/Lzma2Enc.c +0 -803
  242. package/android/jni/lzma/C/Lzma2Enc.h +0 -55
  243. package/android/jni/lzma/C/Lzma86.h +0 -111
  244. package/android/jni/lzma/C/Lzma86Dec.c +0 -54
  245. package/android/jni/lzma/C/Lzma86Enc.c +0 -106
  246. package/android/jni/lzma/C/LzmaEnc.c +0 -2976
  247. package/android/jni/lzma/C/LzmaEnc.h +0 -76
  248. package/android/jni/lzma/C/LzmaLib.c +0 -40
  249. package/android/jni/lzma/C/LzmaLib.h +0 -131
  250. package/android/jni/lzma/C/MtCoder.c +0 -601
  251. package/android/jni/lzma/C/MtCoder.h +0 -141
  252. package/android/jni/lzma/C/MtDec.c +0 -1138
  253. package/android/jni/lzma/C/MtDec.h +0 -201
  254. package/android/jni/lzma/C/Ppmd.h +0 -85
  255. package/android/jni/lzma/C/Ppmd7.c +0 -712
  256. package/android/jni/lzma/C/Ppmd7.h +0 -142
  257. package/android/jni/lzma/C/Ppmd7Dec.c +0 -191
  258. package/android/jni/lzma/C/Ppmd7Enc.c +0 -187
  259. package/android/jni/lzma/C/RotateDefs.h +0 -30
  260. package/android/jni/lzma/C/Sha256.c +0 -248
  261. package/android/jni/lzma/C/Sha256.h +0 -26
  262. package/android/jni/lzma/C/Sort.c +0 -141
  263. package/android/jni/lzma/C/Sort.h +0 -18
  264. package/android/jni/lzma/C/Threads.c +0 -95
  265. package/android/jni/lzma/C/Threads.h +0 -70
  266. package/android/jni/lzma/C/ThreadsP.c +0 -396
  267. package/android/jni/lzma/C/ThreadsP.h +0 -31
  268. package/android/jni/lzma/C/Util/7z/7z.dsp +0 -241
  269. package/android/jni/lzma/C/Util/7z/7z.dsw +0 -29
  270. package/android/jni/lzma/C/Util/7z/7zMain.c +0 -686
  271. package/android/jni/lzma/C/Util/7z/Precomp.c +0 -4
  272. package/android/jni/lzma/C/Util/7z/Precomp.h +0 -10
  273. package/android/jni/lzma/C/Util/7z/makefile +0 -40
  274. package/android/jni/lzma/C/Util/7z/makefile.gcc +0 -75
  275. package/android/jni/lzma/C/Util/Lzma/LzmaUtil.c +0 -258
  276. package/android/jni/lzma/C/Util/Lzma/LzmaUtil.dsp +0 -168
  277. package/android/jni/lzma/C/Util/Lzma/LzmaUtil.dsw +0 -29
  278. package/android/jni/lzma/C/Util/Lzma/makefile +0 -28
  279. package/android/jni/lzma/C/Util/Lzma/makefile.gcc +0 -44
  280. package/android/jni/lzma/C/Util/LzmaLib/LzmaLib.def +0 -4
  281. package/android/jni/lzma/C/Util/LzmaLib/LzmaLib.dsp +0 -178
  282. package/android/jni/lzma/C/Util/LzmaLib/LzmaLib.dsw +0 -29
  283. package/android/jni/lzma/C/Util/LzmaLib/LzmaLibExports.c +0 -14
  284. package/android/jni/lzma/C/Util/LzmaLib/makefile +0 -34
  285. package/android/jni/lzma/C/Util/LzmaLib/resource.rc +0 -3
  286. package/android/jni/lzma/C/Util/SfxSetup/Precomp.c +0 -4
  287. package/android/jni/lzma/C/Util/SfxSetup/Precomp.h +0 -10
  288. package/android/jni/lzma/C/Util/SfxSetup/SfxSetup.c +0 -640
  289. package/android/jni/lzma/C/Util/SfxSetup/SfxSetup.dsp +0 -231
  290. package/android/jni/lzma/C/Util/SfxSetup/SfxSetup.dsw +0 -29
  291. package/android/jni/lzma/C/Util/SfxSetup/makefile +0 -37
  292. package/android/jni/lzma/C/Util/SfxSetup/makefile_con +0 -38
  293. package/android/jni/lzma/C/Util/SfxSetup/resource.rc +0 -5
  294. package/android/jni/lzma/C/Util/SfxSetup/setup.ico +0 -0
  295. package/android/jni/lzma/C/Xz.c +0 -90
  296. package/android/jni/lzma/C/Xz.h +0 -460
  297. package/android/jni/lzma/C/XzCrc64.c +0 -86
  298. package/android/jni/lzma/C/XzCrc64.h +0 -26
  299. package/android/jni/lzma/C/XzCrc64Opt.c +0 -69
  300. package/android/jni/lzma/C/XzDec.c +0 -2766
  301. package/android/jni/lzma/C/XzEnc.c +0 -1329
  302. package/android/jni/lzma/C/XzEnc.h +0 -60
  303. package/android/jni/lzma/C/XzIn.c +0 -319
  304. package/android/jni/lzma/CPP/7zip/7zip.mak +0 -240
  305. package/android/jni/lzma/CPP/7zip/Aes.mak +0 -7
  306. package/android/jni/lzma/CPP/7zip/Archive/7z/7zCompressionMode.cpp +0 -3
  307. package/android/jni/lzma/CPP/7zip/Archive/7z/7zCompressionMode.h +0 -76
  308. package/android/jni/lzma/CPP/7zip/Archive/7z/7zDecode.cpp +0 -569
  309. package/android/jni/lzma/CPP/7zip/Archive/7z/7zDecode.h +0 -70
  310. package/android/jni/lzma/CPP/7zip/Archive/7z/7zEncode.cpp +0 -678
  311. package/android/jni/lzma/CPP/7zip/Archive/7z/7zEncode.h +0 -92
  312. package/android/jni/lzma/CPP/7zip/Archive/7z/7zExtract.cpp +0 -423
  313. package/android/jni/lzma/CPP/7zip/Archive/7z/7zFolderInStream.cpp +0 -139
  314. package/android/jni/lzma/CPP/7zip/Archive/7z/7zFolderInStream.h +0 -61
  315. package/android/jni/lzma/CPP/7zip/Archive/7z/7zHandler.cpp +0 -763
  316. package/android/jni/lzma/CPP/7zip/Archive/7z/7zHandler.h +0 -181
  317. package/android/jni/lzma/CPP/7zip/Archive/7z/7zHandlerOut.cpp +0 -942
  318. package/android/jni/lzma/CPP/7zip/Archive/7z/7zHeader.cpp +0 -19
  319. package/android/jni/lzma/CPP/7zip/Archive/7z/7zHeader.h +0 -148
  320. package/android/jni/lzma/CPP/7zip/Archive/7z/7zIn.cpp +0 -1666
  321. package/android/jni/lzma/CPP/7zip/Archive/7z/7zIn.h +0 -445
  322. package/android/jni/lzma/CPP/7zip/Archive/7z/7zItem.h +0 -202
  323. package/android/jni/lzma/CPP/7zip/Archive/7z/7zOut.cpp +0 -901
  324. package/android/jni/lzma/CPP/7zip/Archive/7z/7zOut.h +0 -335
  325. package/android/jni/lzma/CPP/7zip/Archive/7z/7zProperties.cpp +0 -174
  326. package/android/jni/lzma/CPP/7zip/Archive/7z/7zProperties.h +0 -22
  327. package/android/jni/lzma/CPP/7zip/Archive/7z/7zRegister.cpp +0 -21
  328. package/android/jni/lzma/CPP/7zip/Archive/7z/7zSpecStream.cpp +0 -22
  329. package/android/jni/lzma/CPP/7zip/Archive/7z/7zSpecStream.h +0 -35
  330. package/android/jni/lzma/CPP/7zip/Archive/7z/7zUpdate.cpp +0 -2500
  331. package/android/jni/lzma/CPP/7zip/Archive/7z/7zUpdate.h +0 -139
  332. package/android/jni/lzma/CPP/7zip/Archive/7z/StdAfx.cpp +0 -3
  333. package/android/jni/lzma/CPP/7zip/Archive/7z/StdAfx.h +0 -8
  334. package/android/jni/lzma/CPP/7zip/Archive/Archive.def +0 -12
  335. package/android/jni/lzma/CPP/7zip/Archive/Archive2.def +0 -19
  336. package/android/jni/lzma/CPP/7zip/Archive/ArchiveExports.cpp +0 -151
  337. package/android/jni/lzma/CPP/7zip/Archive/Common/CoderMixer2.cpp +0 -1125
  338. package/android/jni/lzma/CPP/7zip/Archive/Common/CoderMixer2.h +0 -447
  339. package/android/jni/lzma/CPP/7zip/Archive/Common/DummyOutStream.cpp +0 -17
  340. package/android/jni/lzma/CPP/7zip/Archive/Common/DummyOutStream.h +0 -25
  341. package/android/jni/lzma/CPP/7zip/Archive/Common/HandlerOut.cpp +0 -232
  342. package/android/jni/lzma/CPP/7zip/Archive/Common/HandlerOut.h +0 -110
  343. package/android/jni/lzma/CPP/7zip/Archive/Common/InStreamWithCRC.cpp +0 -46
  344. package/android/jni/lzma/CPP/7zip/Archive/Common/InStreamWithCRC.h +0 -67
  345. package/android/jni/lzma/CPP/7zip/Archive/Common/ItemNameUtils.cpp +0 -88
  346. package/android/jni/lzma/CPP/7zip/Archive/Common/ItemNameUtils.h +0 -28
  347. package/android/jni/lzma/CPP/7zip/Archive/Common/MultiStream.cpp +0 -191
  348. package/android/jni/lzma/CPP/7zip/Archive/Common/MultiStream.h +0 -89
  349. package/android/jni/lzma/CPP/7zip/Archive/Common/OutStreamWithCRC.cpp +0 -18
  350. package/android/jni/lzma/CPP/7zip/Archive/Common/OutStreamWithCRC.h +0 -37
  351. package/android/jni/lzma/CPP/7zip/Archive/Common/ParseProperties.cpp +0 -3
  352. package/android/jni/lzma/CPP/7zip/Archive/Common/ParseProperties.h +0 -6
  353. package/android/jni/lzma/CPP/7zip/Archive/Common/StdAfx.h +0 -8
  354. package/android/jni/lzma/CPP/7zip/Archive/DllExports2.cpp +0 -122
  355. package/android/jni/lzma/CPP/7zip/Archive/IArchive.h +0 -608
  356. package/android/jni/lzma/CPP/7zip/Archive/Icons/7z.ico +0 -0
  357. package/android/jni/lzma/CPP/7zip/Archive/LzmaHandler.cpp +0 -629
  358. package/android/jni/lzma/CPP/7zip/Archive/SplitHandler.cpp +0 -359
  359. package/android/jni/lzma/CPP/7zip/Archive/StdAfx.h +0 -8
  360. package/android/jni/lzma/CPP/7zip/Archive/XzHandler.cpp +0 -1308
  361. package/android/jni/lzma/CPP/7zip/Archive/XzHandler.h +0 -11
  362. package/android/jni/lzma/CPP/7zip/Asm.mak +0 -9
  363. package/android/jni/lzma/CPP/7zip/Bundles/Alone7z/Alone.dsp +0 -1910
  364. package/android/jni/lzma/CPP/7zip/Bundles/Alone7z/Alone.dsw +0 -29
  365. package/android/jni/lzma/CPP/7zip/Bundles/Alone7z/StdAfx.cpp +0 -3
  366. package/android/jni/lzma/CPP/7zip/Bundles/Alone7z/StdAfx.h +0 -8
  367. package/android/jni/lzma/CPP/7zip/Bundles/Alone7z/makefile +0 -154
  368. package/android/jni/lzma/CPP/7zip/Bundles/Alone7z/resource.rc +0 -7
  369. package/android/jni/lzma/CPP/7zip/Bundles/Format7zExtractR/StdAfx.cpp +0 -3
  370. package/android/jni/lzma/CPP/7zip/Bundles/Format7zExtractR/StdAfx.h +0 -8
  371. package/android/jni/lzma/CPP/7zip/Bundles/Format7zExtractR/makefile +0 -96
  372. package/android/jni/lzma/CPP/7zip/Bundles/Format7zExtractR/resource.rc +0 -5
  373. package/android/jni/lzma/CPP/7zip/Bundles/Format7zR/StdAfx.cpp +0 -3
  374. package/android/jni/lzma/CPP/7zip/Bundles/Format7zR/StdAfx.h +0 -8
  375. package/android/jni/lzma/CPP/7zip/Bundles/Format7zR/makefile +0 -116
  376. package/android/jni/lzma/CPP/7zip/Bundles/Format7zR/resource.rc +0 -5
  377. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/LzmaAlone.cpp +0 -799
  378. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/LzmaCon.dsp +0 -477
  379. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/LzmaCon.dsw +0 -29
  380. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/StdAfx.cpp +0 -3
  381. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/StdAfx.h +0 -8
  382. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/makefile +0 -59
  383. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/makefile.gcc +0 -195
  384. package/android/jni/lzma/CPP/7zip/Bundles/LzmaCon/resource.rc +0 -3
  385. package/android/jni/lzma/CPP/7zip/Bundles/LzmaSpec/LzmaSpec.cpp +0 -715
  386. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/7z.ico +0 -0
  387. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/SFXCon.dsp +0 -912
  388. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/SFXCon.dsw +0 -29
  389. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/SfxCon.cpp +0 -482
  390. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/StdAfx.cpp +0 -3
  391. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/StdAfx.h +0 -8
  392. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/makefile +0 -134
  393. package/android/jni/lzma/CPP/7zip/Bundles/SFXCon/resource.rc +0 -5
  394. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/ExtractCallbackSfx.cpp +0 -246
  395. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/ExtractCallbackSfx.h +0 -86
  396. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/ExtractEngine.cpp +0 -137
  397. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/ExtractEngine.h +0 -11
  398. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/SFXSetup.dsp +0 -803
  399. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/SFXSetup.dsw +0 -29
  400. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/SfxSetup.cpp +0 -364
  401. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/StdAfx.cpp +0 -3
  402. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/StdAfx.h +0 -13
  403. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/makefile +0 -117
  404. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/resource.h +0 -6
  405. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/resource.rc +0 -16
  406. package/android/jni/lzma/CPP/7zip/Bundles/SFXSetup/setup.ico +0 -0
  407. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/7z.ico +0 -0
  408. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/SFXWin.dsp +0 -988
  409. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/SFXWin.dsw +0 -29
  410. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/SfxWin.cpp +0 -241
  411. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/StdAfx.cpp +0 -3
  412. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/StdAfx.h +0 -14
  413. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/makefile +0 -153
  414. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/resource.h +0 -1
  415. package/android/jni/lzma/CPP/7zip/Bundles/SFXWin/resource.rc +0 -50
  416. package/android/jni/lzma/CPP/7zip/Common/CWrappers.cpp +0 -250
  417. package/android/jni/lzma/CPP/7zip/Common/CWrappers.h +0 -120
  418. package/android/jni/lzma/CPP/7zip/Common/CreateCoder.cpp +0 -536
  419. package/android/jni/lzma/CPP/7zip/Common/CreateCoder.h +0 -192
  420. package/android/jni/lzma/CPP/7zip/Common/FilePathAutoRename.cpp +0 -46
  421. package/android/jni/lzma/CPP/7zip/Common/FilePathAutoRename.h +0 -10
  422. package/android/jni/lzma/CPP/7zip/Common/FileStreams.cpp +0 -475
  423. package/android/jni/lzma/CPP/7zip/Common/FileStreams.h +0 -166
  424. package/android/jni/lzma/CPP/7zip/Common/FilterCoder.cpp +0 -435
  425. package/android/jni/lzma/CPP/7zip/Common/FilterCoder.h +0 -205
  426. package/android/jni/lzma/CPP/7zip/Common/InBuffer.cpp +0 -163
  427. package/android/jni/lzma/CPP/7zip/Common/InBuffer.h +0 -92
  428. package/android/jni/lzma/CPP/7zip/Common/InOutTempBuffer.cpp +0 -127
  429. package/android/jni/lzma/CPP/7zip/Common/InOutTempBuffer.h +0 -48
  430. package/android/jni/lzma/CPP/7zip/Common/LimitedStreams.cpp +0 -367
  431. package/android/jni/lzma/CPP/7zip/Common/LimitedStreams.h +0 -252
  432. package/android/jni/lzma/CPP/7zip/Common/LockedStream.cpp +0 -3
  433. package/android/jni/lzma/CPP/7zip/Common/LockedStream.h +0 -6
  434. package/android/jni/lzma/CPP/7zip/Common/MethodId.cpp +0 -3
  435. package/android/jni/lzma/CPP/7zip/Common/MethodId.h +0 -10
  436. package/android/jni/lzma/CPP/7zip/Common/MethodProps.cpp +0 -509
  437. package/android/jni/lzma/CPP/7zip/Common/MethodProps.h +0 -264
  438. package/android/jni/lzma/CPP/7zip/Common/OffsetStream.cpp +0 -39
  439. package/android/jni/lzma/CPP/7zip/Common/OffsetStream.h +0 -26
  440. package/android/jni/lzma/CPP/7zip/Common/OutBuffer.cpp +0 -111
  441. package/android/jni/lzma/CPP/7zip/Common/OutBuffer.h +0 -66
  442. package/android/jni/lzma/CPP/7zip/Common/ProgressUtils.cpp +0 -51
  443. package/android/jni/lzma/CPP/7zip/Common/ProgressUtils.h +0 -35
  444. package/android/jni/lzma/CPP/7zip/Common/PropId.cpp +0 -108
  445. package/android/jni/lzma/CPP/7zip/Common/RegisterArc.h +0 -78
  446. package/android/jni/lzma/CPP/7zip/Common/RegisterCodec.h +0 -106
  447. package/android/jni/lzma/CPP/7zip/Common/StdAfx.h +0 -8
  448. package/android/jni/lzma/CPP/7zip/Common/StreamBinder.cpp +0 -156
  449. package/android/jni/lzma/CPP/7zip/Common/StreamBinder.h +0 -60
  450. package/android/jni/lzma/CPP/7zip/Common/StreamObjects.cpp +0 -285
  451. package/android/jni/lzma/CPP/7zip/Common/StreamObjects.h +0 -157
  452. package/android/jni/lzma/CPP/7zip/Common/StreamUtils.cpp +0 -56
  453. package/android/jni/lzma/CPP/7zip/Common/StreamUtils.h +0 -13
  454. package/android/jni/lzma/CPP/7zip/Common/UniqBlocks.cpp +0 -57
  455. package/android/jni/lzma/CPP/7zip/Common/UniqBlocks.h +0 -26
  456. package/android/jni/lzma/CPP/7zip/Common/VirtThread.cpp +0 -48
  457. package/android/jni/lzma/CPP/7zip/Common/VirtThread.h +0 -24
  458. package/android/jni/lzma/CPP/7zip/Compress/Bcj2Coder.cpp +0 -666
  459. package/android/jni/lzma/CPP/7zip/Compress/Bcj2Coder.h +0 -120
  460. package/android/jni/lzma/CPP/7zip/Compress/Bcj2Register.cpp +0 -24
  461. package/android/jni/lzma/CPP/7zip/Compress/BcjCoder.cpp +0 -24
  462. package/android/jni/lzma/CPP/7zip/Compress/BcjCoder.h +0 -31
  463. package/android/jni/lzma/CPP/7zip/Compress/BcjRegister.cpp +0 -17
  464. package/android/jni/lzma/CPP/7zip/Compress/BranchMisc.cpp +0 -23
  465. package/android/jni/lzma/CPP/7zip/Compress/BranchMisc.h +0 -35
  466. package/android/jni/lzma/CPP/7zip/Compress/BranchRegister.cpp +0 -41
  467. package/android/jni/lzma/CPP/7zip/Compress/ByteSwap.cpp +0 -92
  468. package/android/jni/lzma/CPP/7zip/Compress/CodecExports.cpp +0 -344
  469. package/android/jni/lzma/CPP/7zip/Compress/CopyCoder.cpp +0 -120
  470. package/android/jni/lzma/CPP/7zip/Compress/CopyCoder.h +0 -49
  471. package/android/jni/lzma/CPP/7zip/Compress/CopyRegister.cpp +0 -15
  472. package/android/jni/lzma/CPP/7zip/Compress/DeltaFilter.cpp +0 -128
  473. package/android/jni/lzma/CPP/7zip/Compress/Lzma2Decoder.cpp +0 -265
  474. package/android/jni/lzma/CPP/7zip/Compress/Lzma2Decoder.h +0 -96
  475. package/android/jni/lzma/CPP/7zip/Compress/Lzma2Encoder.cpp +0 -122
  476. package/android/jni/lzma/CPP/7zip/Compress/Lzma2Encoder.h +0 -42
  477. package/android/jni/lzma/CPP/7zip/Compress/Lzma2Register.cpp +0 -22
  478. package/android/jni/lzma/CPP/7zip/Compress/LzmaDecoder.cpp +0 -343
  479. package/android/jni/lzma/CPP/7zip/Compress/LzmaDecoder.h +0 -113
  480. package/android/jni/lzma/CPP/7zip/Compress/LzmaEncoder.cpp +0 -182
  481. package/android/jni/lzma/CPP/7zip/Compress/LzmaEncoder.h +0 -46
  482. package/android/jni/lzma/CPP/7zip/Compress/LzmaRegister.cpp +0 -22
  483. package/android/jni/lzma/CPP/7zip/Compress/PpmdDecoder.cpp +0 -170
  484. package/android/jni/lzma/CPP/7zip/Compress/PpmdDecoder.h +0 -86
  485. package/android/jni/lzma/CPP/7zip/Compress/PpmdEncoder.cpp +0 -152
  486. package/android/jni/lzma/CPP/7zip/Compress/PpmdEncoder.h +0 -58
  487. package/android/jni/lzma/CPP/7zip/Compress/PpmdRegister.cpp +0 -22
  488. package/android/jni/lzma/CPP/7zip/Compress/StdAfx.h +0 -8
  489. package/android/jni/lzma/CPP/7zip/Compress/XzDecoder.cpp +0 -150
  490. package/android/jni/lzma/CPP/7zip/Compress/XzDecoder.h +0 -92
  491. package/android/jni/lzma/CPP/7zip/Compress/XzEncoder.cpp +0 -245
  492. package/android/jni/lzma/CPP/7zip/Compress/XzEncoder.h +0 -46
  493. package/android/jni/lzma/CPP/7zip/Crc.mak +0 -8
  494. package/android/jni/lzma/CPP/7zip/Crc64.mak +0 -8
  495. package/android/jni/lzma/CPP/7zip/Crypto/7zAes.cpp +0 -280
  496. package/android/jni/lzma/CPP/7zip/Crypto/7zAes.h +0 -118
  497. package/android/jni/lzma/CPP/7zip/Crypto/7zAesRegister.cpp +0 -17
  498. package/android/jni/lzma/CPP/7zip/Crypto/MyAes.cpp +0 -112
  499. package/android/jni/lzma/CPP/7zip/Crypto/MyAes.h +0 -57
  500. package/android/jni/lzma/CPP/7zip/Crypto/MyAesReg.cpp +0 -16
  501. package/android/jni/lzma/CPP/7zip/Crypto/RandGen.cpp +0 -233
  502. package/android/jni/lzma/CPP/7zip/Crypto/RandGen.h +0 -40
  503. package/android/jni/lzma/CPP/7zip/Crypto/StdAfx.h +0 -8
  504. package/android/jni/lzma/CPP/7zip/GuiCommon.rc +0 -84
  505. package/android/jni/lzma/CPP/7zip/Guid.txt +0 -220
  506. package/android/jni/lzma/CPP/7zip/ICoder.h +0 -399
  507. package/android/jni/lzma/CPP/7zip/IDecl.h +0 -28
  508. package/android/jni/lzma/CPP/7zip/IPassword.h +0 -23
  509. package/android/jni/lzma/CPP/7zip/IProgress.h +0 -19
  510. package/android/jni/lzma/CPP/7zip/IStream.h +0 -127
  511. package/android/jni/lzma/CPP/7zip/LzmaDec.mak +0 -5
  512. package/android/jni/lzma/CPP/7zip/MyVersion.h +0 -2
  513. package/android/jni/lzma/CPP/7zip/MyVersionInfo.rc +0 -2
  514. package/android/jni/lzma/CPP/7zip/PropID.h +0 -127
  515. package/android/jni/lzma/CPP/7zip/SubBuild.mak +0 -3
  516. package/android/jni/lzma/CPP/7zip/UI/Client7z/Client7z.cpp +0 -993
  517. package/android/jni/lzma/CPP/7zip/UI/Client7z/Client7z.dsp +0 -235
  518. package/android/jni/lzma/CPP/7zip/UI/Client7z/Client7z.dsw +0 -29
  519. package/android/jni/lzma/CPP/7zip/UI/Client7z/StdAfx.cpp +0 -3
  520. package/android/jni/lzma/CPP/7zip/UI/Client7z/StdAfx.h +0 -8
  521. package/android/jni/lzma/CPP/7zip/UI/Client7z/makefile +0 -28
  522. package/android/jni/lzma/CPP/7zip/UI/Client7z/resource.rc +0 -3
  523. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveCommandLine.cpp +0 -1295
  524. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveCommandLine.h +0 -136
  525. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveExtractCallback.cpp +0 -1715
  526. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveExtractCallback.h +0 -403
  527. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveName.cpp +0 -155
  528. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveName.h +0 -10
  529. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveOpenCallback.cpp +0 -161
  530. package/android/jni/lzma/CPP/7zip/UI/Common/ArchiveOpenCallback.h +0 -112
  531. package/android/jni/lzma/CPP/7zip/UI/Common/Bench.cpp +0 -3618
  532. package/android/jni/lzma/CPP/7zip/UI/Common/Bench.h +0 -77
  533. package/android/jni/lzma/CPP/7zip/UI/Common/DefaultName.cpp +0 -37
  534. package/android/jni/lzma/CPP/7zip/UI/Common/DefaultName.h +0 -11
  535. package/android/jni/lzma/CPP/7zip/UI/Common/DirItem.h +0 -190
  536. package/android/jni/lzma/CPP/7zip/UI/Common/EnumDirItems.cpp +0 -1096
  537. package/android/jni/lzma/CPP/7zip/UI/Common/EnumDirItems.h +0 -42
  538. package/android/jni/lzma/CPP/7zip/UI/Common/ExitCode.h +0 -27
  539. package/android/jni/lzma/CPP/7zip/UI/Common/Extract.cpp +0 -482
  540. package/android/jni/lzma/CPP/7zip/UI/Common/Extract.h +0 -94
  541. package/android/jni/lzma/CPP/7zip/UI/Common/ExtractMode.h +0 -34
  542. package/android/jni/lzma/CPP/7zip/UI/Common/ExtractingFilePath.cpp +0 -280
  543. package/android/jni/lzma/CPP/7zip/UI/Common/ExtractingFilePath.h +0 -31
  544. package/android/jni/lzma/CPP/7zip/UI/Common/HashCalc.cpp +0 -347
  545. package/android/jni/lzma/CPP/7zip/UI/Common/HashCalc.h +0 -110
  546. package/android/jni/lzma/CPP/7zip/UI/Common/IFileExtractCallback.h +0 -114
  547. package/android/jni/lzma/CPP/7zip/UI/Common/LoadCodecs.cpp +0 -1074
  548. package/android/jni/lzma/CPP/7zip/UI/Common/LoadCodecs.h +0 -424
  549. package/android/jni/lzma/CPP/7zip/UI/Common/OpenArchive.cpp +0 -3553
  550. package/android/jni/lzma/CPP/7zip/UI/Common/OpenArchive.h +0 -436
  551. package/android/jni/lzma/CPP/7zip/UI/Common/PropIDUtils.cpp +0 -668
  552. package/android/jni/lzma/CPP/7zip/UI/Common/PropIDUtils.h +0 -18
  553. package/android/jni/lzma/CPP/7zip/UI/Common/Property.h +0 -14
  554. package/android/jni/lzma/CPP/7zip/UI/Common/SetProperties.cpp +0 -80
  555. package/android/jni/lzma/CPP/7zip/UI/Common/SetProperties.h +0 -10
  556. package/android/jni/lzma/CPP/7zip/UI/Common/SortUtils.cpp +0 -25
  557. package/android/jni/lzma/CPP/7zip/UI/Common/SortUtils.h +0 -10
  558. package/android/jni/lzma/CPP/7zip/UI/Common/StdAfx.h +0 -8
  559. package/android/jni/lzma/CPP/7zip/UI/Common/TempFiles.cpp +0 -19
  560. package/android/jni/lzma/CPP/7zip/UI/Common/TempFiles.h +0 -16
  561. package/android/jni/lzma/CPP/7zip/UI/Common/Update.cpp +0 -1704
  562. package/android/jni/lzma/CPP/7zip/UI/Common/Update.h +0 -200
  563. package/android/jni/lzma/CPP/7zip/UI/Common/UpdateAction.cpp +0 -64
  564. package/android/jni/lzma/CPP/7zip/UI/Common/UpdateAction.h +0 -66
  565. package/android/jni/lzma/CPP/7zip/UI/Common/UpdateCallback.cpp +0 -771
  566. package/android/jni/lzma/CPP/7zip/UI/Common/UpdateCallback.h +0 -162
  567. package/android/jni/lzma/CPP/7zip/UI/Common/UpdatePair.cpp +0 -233
  568. package/android/jni/lzma/CPP/7zip/UI/Common/UpdatePair.h +0 -27
  569. package/android/jni/lzma/CPP/7zip/UI/Common/UpdateProduce.cpp +0 -70
  570. package/android/jni/lzma/CPP/7zip/UI/Common/UpdateProduce.h +0 -55
  571. package/android/jni/lzma/CPP/7zip/UI/Common/WorkDir.cpp +0 -94
  572. package/android/jni/lzma/CPP/7zip/UI/Common/WorkDir.h +0 -26
  573. package/android/jni/lzma/CPP/7zip/UI/Common/ZipRegistry.h +0 -130
  574. package/android/jni/lzma/CPP/7zip/UI/Console/BenchCon.cpp +0 -41
  575. package/android/jni/lzma/CPP/7zip/UI/Console/BenchCon.h +0 -14
  576. package/android/jni/lzma/CPP/7zip/UI/Console/Console.mak +0 -43
  577. package/android/jni/lzma/CPP/7zip/UI/Console/Console.manifest +0 -13
  578. package/android/jni/lzma/CPP/7zip/UI/Console/ConsoleClose.cpp +0 -69
  579. package/android/jni/lzma/CPP/7zip/UI/Console/ConsoleClose.h +0 -33
  580. package/android/jni/lzma/CPP/7zip/UI/Console/ExtractCallbackConsole.cpp +0 -825
  581. package/android/jni/lzma/CPP/7zip/UI/Console/ExtractCallbackConsole.h +0 -164
  582. package/android/jni/lzma/CPP/7zip/UI/Console/HashCon.cpp +0 -367
  583. package/android/jni/lzma/CPP/7zip/UI/Console/HashCon.h +0 -48
  584. package/android/jni/lzma/CPP/7zip/UI/Console/List.cpp +0 -1359
  585. package/android/jni/lzma/CPP/7zip/UI/Console/List.h +0 -27
  586. package/android/jni/lzma/CPP/7zip/UI/Console/Main.cpp +0 -1154
  587. package/android/jni/lzma/CPP/7zip/UI/Console/MainAr.cpp +0 -175
  588. package/android/jni/lzma/CPP/7zip/UI/Console/OpenCallbackConsole.cpp +0 -115
  589. package/android/jni/lzma/CPP/7zip/UI/Console/OpenCallbackConsole.h +0 -66
  590. package/android/jni/lzma/CPP/7zip/UI/Console/PercentPrinter.cpp +0 -183
  591. package/android/jni/lzma/CPP/7zip/UI/Console/PercentPrinter.h +0 -62
  592. package/android/jni/lzma/CPP/7zip/UI/Console/StdAfx.cpp +0 -3
  593. package/android/jni/lzma/CPP/7zip/UI/Console/StdAfx.h +0 -8
  594. package/android/jni/lzma/CPP/7zip/UI/Console/UpdateCallbackConsole.cpp +0 -702
  595. package/android/jni/lzma/CPP/7zip/UI/Console/UpdateCallbackConsole.h +0 -124
  596. package/android/jni/lzma/CPP/7zip/UI/Console/UserInputUtils.cpp +0 -110
  597. package/android/jni/lzma/CPP/7zip/UI/Console/UserInputUtils.h +0 -27
  598. package/android/jni/lzma/CPP/7zip/UI/Console/makefile +0 -64
  599. package/android/jni/lzma/CPP/7zip/UI/Console/resource.rc +0 -7
  600. package/android/jni/lzma/CPP/7zip/UI/Explorer/MyMessages.cpp +0 -37
  601. package/android/jni/lzma/CPP/7zip/UI/Explorer/MyMessages.h +0 -16
  602. package/android/jni/lzma/CPP/7zip/UI/FileManager/BrowseDialog.cpp +0 -1025
  603. package/android/jni/lzma/CPP/7zip/UI/FileManager/BrowseDialog.h +0 -21
  604. package/android/jni/lzma/CPP/7zip/UI/FileManager/BrowseDialogRes.h +0 -9
  605. package/android/jni/lzma/CPP/7zip/UI/FileManager/ComboDialog.cpp +0 -64
  606. package/android/jni/lzma/CPP/7zip/UI/FileManager/ComboDialog.h +0 -28
  607. package/android/jni/lzma/CPP/7zip/UI/FileManager/ComboDialogRes.h +0 -4
  608. package/android/jni/lzma/CPP/7zip/UI/FileManager/DialogSize.h +0 -16
  609. package/android/jni/lzma/CPP/7zip/UI/FileManager/ExtractCallback.cpp +0 -1037
  610. package/android/jni/lzma/CPP/7zip/UI/FileManager/ExtractCallback.h +0 -328
  611. package/android/jni/lzma/CPP/7zip/UI/FileManager/FormatUtils.cpp +0 -28
  612. package/android/jni/lzma/CPP/7zip/UI/FileManager/FormatUtils.h +0 -14
  613. package/android/jni/lzma/CPP/7zip/UI/FileManager/LangUtils.h +0 -40
  614. package/android/jni/lzma/CPP/7zip/UI/FileManager/MyWindowsNew.h +0 -76
  615. package/android/jni/lzma/CPP/7zip/UI/FileManager/OverwriteDialog.cpp +0 -122
  616. package/android/jni/lzma/CPP/7zip/UI/FileManager/OverwriteDialog.h +0 -69
  617. package/android/jni/lzma/CPP/7zip/UI/FileManager/OverwriteDialog.rc +0 -91
  618. package/android/jni/lzma/CPP/7zip/UI/FileManager/OverwriteDialogRes.h +0 -17
  619. package/android/jni/lzma/CPP/7zip/UI/FileManager/PasswordDialog.cpp +0 -58
  620. package/android/jni/lzma/CPP/7zip/UI/FileManager/PasswordDialog.h +0 -28
  621. package/android/jni/lzma/CPP/7zip/UI/FileManager/PasswordDialog.rc +0 -14
  622. package/android/jni/lzma/CPP/7zip/UI/FileManager/PasswordDialogRes.h +0 -5
  623. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog.cpp +0 -196
  624. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog.h +0 -170
  625. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog.rc +0 -12
  626. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog2.cpp +0 -1337
  627. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog2.h +0 -351
  628. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog2.rc +0 -40
  629. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog2Res.h +0 -48
  630. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialog2a.rc +0 -80
  631. package/android/jni/lzma/CPP/7zip/UI/FileManager/ProgressDialogRes.h +0 -3
  632. package/android/jni/lzma/CPP/7zip/UI/FileManager/PropertyName.cpp +0 -23
  633. package/android/jni/lzma/CPP/7zip/UI/FileManager/PropertyName.h +0 -10
  634. package/android/jni/lzma/CPP/7zip/UI/FileManager/PropertyNameRes.h +0 -95
  635. package/android/jni/lzma/CPP/7zip/UI/FileManager/SysIconUtils.cpp +0 -255
  636. package/android/jni/lzma/CPP/7zip/UI/FileManager/SysIconUtils.h +0 -62
  637. package/android/jni/lzma/CPP/7zip/UI/FileManager/resource.h +0 -177
  638. package/android/jni/lzma/CPP/7zip/UI/FileManager/resourceGui.h +0 -15
  639. package/android/jni/lzma/CPP/7zip/UI/GUI/Extract.rc +0 -59
  640. package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractDialog.cpp +0 -418
  641. package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractDialog.h +0 -113
  642. package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractDialog.rc +0 -98
  643. package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractDialogRes.h +0 -24
  644. package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractGUI.cpp +0 -280
  645. package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractGUI.h +0 -38
  646. package/android/jni/lzma/CPP/7zip/UI/GUI/ExtractRes.h +0 -51
  647. package/android/jni/lzma/CPP/7zip/UI/GUI/HashGUI.h +0 -27
  648. package/android/jni/lzma/CPP/7zip/UI/GUI/resource2.h +0 -2
  649. package/android/jni/lzma/CPP/Build.mak +0 -156
  650. package/android/jni/lzma/CPP/Common/AutoPtr.h +0 -35
  651. package/android/jni/lzma/CPP/Common/CRC.cpp +0 -7
  652. package/android/jni/lzma/CPP/Common/C_FileIO.cpp +0 -92
  653. package/android/jni/lzma/CPP/Common/C_FileIO.h +0 -53
  654. package/android/jni/lzma/CPP/Common/ComTry.h +0 -21
  655. package/android/jni/lzma/CPP/Common/CommandLineParser.cpp +0 -197
  656. package/android/jni/lzma/CPP/Common/CommandLineParser.h +0 -63
  657. package/android/jni/lzma/CPP/Common/Common.h +0 -43
  658. package/android/jni/lzma/CPP/Common/CrcReg.cpp +0 -98
  659. package/android/jni/lzma/CPP/Common/Defs.h +0 -15
  660. package/android/jni/lzma/CPP/Common/DynamicBuffer.h +0 -64
  661. package/android/jni/lzma/CPP/Common/IntToString.cpp +0 -193
  662. package/android/jni/lzma/CPP/Common/IntToString.h +0 -28
  663. package/android/jni/lzma/CPP/Common/Lang.h +0 -23
  664. package/android/jni/lzma/CPP/Common/ListFileUtils.cpp +0 -132
  665. package/android/jni/lzma/CPP/Common/ListFileUtils.h +0 -18
  666. package/android/jni/lzma/CPP/Common/MyBuffer.h +0 -259
  667. package/android/jni/lzma/CPP/Common/MyBuffer2.h +0 -100
  668. package/android/jni/lzma/CPP/Common/MyCom.h +0 -277
  669. package/android/jni/lzma/CPP/Common/MyException.h +0 -14
  670. package/android/jni/lzma/CPP/Common/MyGuidDef.h +0 -54
  671. package/android/jni/lzma/CPP/Common/MyInitGuid.h +0 -45
  672. package/android/jni/lzma/CPP/Common/MyLinux.h +0 -42
  673. package/android/jni/lzma/CPP/Common/MyString.cpp +0 -1659
  674. package/android/jni/lzma/CPP/Common/MyString.h +0 -868
  675. package/android/jni/lzma/CPP/Common/MyTypes.h +0 -35
  676. package/android/jni/lzma/CPP/Common/MyUnknown.h +0 -17
  677. package/android/jni/lzma/CPP/Common/MyVector.cpp +0 -3
  678. package/android/jni/lzma/CPP/Common/MyVector.h +0 -634
  679. package/android/jni/lzma/CPP/Common/MyWindows.cpp +0 -145
  680. package/android/jni/lzma/CPP/Common/MyWindows.h +0 -231
  681. package/android/jni/lzma/CPP/Common/NewHandler.cpp +0 -163
  682. package/android/jni/lzma/CPP/Common/NewHandler.h +0 -88
  683. package/android/jni/lzma/CPP/Common/Sha256Reg.cpp +0 -40
  684. package/android/jni/lzma/CPP/Common/StdAfx.h +0 -8
  685. package/android/jni/lzma/CPP/Common/StdInStream.cpp +0 -89
  686. package/android/jni/lzma/CPP/Common/StdInStream.h +0 -38
  687. package/android/jni/lzma/CPP/Common/StdOutStream.cpp +0 -163
  688. package/android/jni/lzma/CPP/Common/StdOutStream.h +0 -71
  689. package/android/jni/lzma/CPP/Common/StringConvert.cpp +0 -319
  690. package/android/jni/lzma/CPP/Common/StringConvert.h +0 -88
  691. package/android/jni/lzma/CPP/Common/StringToInt.cpp +0 -144
  692. package/android/jni/lzma/CPP/Common/StringToInt.h +0 -21
  693. package/android/jni/lzma/CPP/Common/TextConfig.cpp +0 -124
  694. package/android/jni/lzma/CPP/Common/TextConfig.h +0 -19
  695. package/android/jni/lzma/CPP/Common/UTFConvert.cpp +0 -288
  696. package/android/jni/lzma/CPP/Common/UTFConvert.h +0 -12
  697. package/android/jni/lzma/CPP/Common/Wildcard.cpp +0 -676
  698. package/android/jni/lzma/CPP/Common/Wildcard.h +0 -149
  699. package/android/jni/lzma/CPP/Common/XzCrc64Init.cpp +0 -7
  700. package/android/jni/lzma/CPP/Common/XzCrc64Reg.cpp +0 -42
  701. package/android/jni/lzma/CPP/Windows/COM.h +0 -70
  702. package/android/jni/lzma/CPP/Windows/CommonDialog.cpp +0 -185
  703. package/android/jni/lzma/CPP/Windows/CommonDialog.h +0 -23
  704. package/android/jni/lzma/CPP/Windows/Control/ComboBox.cpp +0 -66
  705. package/android/jni/lzma/CPP/Windows/Control/ComboBox.h +0 -65
  706. package/android/jni/lzma/CPP/Windows/Control/CommandBar.h +0 -52
  707. package/android/jni/lzma/CPP/Windows/Control/Dialog.cpp +0 -251
  708. package/android/jni/lzma/CPP/Windows/Control/Dialog.h +0 -170
  709. package/android/jni/lzma/CPP/Windows/Control/Edit.h +0 -19
  710. package/android/jni/lzma/CPP/Windows/Control/ImageList.cpp +0 -10
  711. package/android/jni/lzma/CPP/Windows/Control/ImageList.h +0 -87
  712. package/android/jni/lzma/CPP/Windows/Control/ListView.cpp +0 -155
  713. package/android/jni/lzma/CPP/Windows/Control/ListView.h +0 -146
  714. package/android/jni/lzma/CPP/Windows/Control/ProgressBar.h +0 -35
  715. package/android/jni/lzma/CPP/Windows/Control/PropertyPage.cpp +0 -143
  716. package/android/jni/lzma/CPP/Windows/Control/PropertyPage.h +0 -50
  717. package/android/jni/lzma/CPP/Windows/Control/ReBar.h +0 -34
  718. package/android/jni/lzma/CPP/Windows/Control/Static.h +0 -28
  719. package/android/jni/lzma/CPP/Windows/Control/StatusBar.h +0 -42
  720. package/android/jni/lzma/CPP/Windows/Control/StdAfx.h +0 -8
  721. package/android/jni/lzma/CPP/Windows/Control/ToolBar.h +0 -43
  722. package/android/jni/lzma/CPP/Windows/Control/Trackbar.h +0 -27
  723. package/android/jni/lzma/CPP/Windows/Control/Window2.cpp +0 -200
  724. package/android/jni/lzma/CPP/Windows/Control/Window2.h +0 -51
  725. package/android/jni/lzma/CPP/Windows/DLL.cpp +0 -109
  726. package/android/jni/lzma/CPP/Windows/DLL.h +0 -58
  727. package/android/jni/lzma/CPP/Windows/Defs.h +0 -17
  728. package/android/jni/lzma/CPP/Windows/ErrorMsg.cpp +0 -66
  729. package/android/jni/lzma/CPP/Windows/ErrorMsg.h +0 -15
  730. package/android/jni/lzma/CPP/Windows/FileDir.cpp +0 -714
  731. package/android/jni/lzma/CPP/Windows/FileDir.h +0 -117
  732. package/android/jni/lzma/CPP/Windows/FileFind.cpp +0 -749
  733. package/android/jni/lzma/CPP/Windows/FileFind.h +0 -161
  734. package/android/jni/lzma/CPP/Windows/FileIO.cpp +0 -432
  735. package/android/jni/lzma/CPP/Windows/FileIO.h +0 -212
  736. package/android/jni/lzma/CPP/Windows/FileLink.cpp +0 -440
  737. package/android/jni/lzma/CPP/Windows/FileMapping.cpp +0 -12
  738. package/android/jni/lzma/CPP/Windows/FileMapping.h +0 -66
  739. package/android/jni/lzma/CPP/Windows/FileName.cpp +0 -839
  740. package/android/jni/lzma/CPP/Windows/FileName.h +0 -115
  741. package/android/jni/lzma/CPP/Windows/FileSystem.cpp +0 -131
  742. package/android/jni/lzma/CPP/Windows/FileSystem.h +0 -27
  743. package/android/jni/lzma/CPP/Windows/Handle.h +0 -37
  744. package/android/jni/lzma/CPP/Windows/MemoryLock.cpp +0 -112
  745. package/android/jni/lzma/CPP/Windows/MemoryLock.h +0 -40
  746. package/android/jni/lzma/CPP/Windows/NtCheck.h +0 -46
  747. package/android/jni/lzma/CPP/Windows/PropVariant.cpp +0 -347
  748. package/android/jni/lzma/CPP/Windows/PropVariant.h +0 -114
  749. package/android/jni/lzma/CPP/Windows/PropVariantConv.cpp +0 -138
  750. package/android/jni/lzma/CPP/Windows/PropVariantConv.h +0 -37
  751. package/android/jni/lzma/CPP/Windows/Registry.cpp +0 -390
  752. package/android/jni/lzma/CPP/Windows/Registry.h +0 -84
  753. package/android/jni/lzma/CPP/Windows/ResourceString.cpp +0 -103
  754. package/android/jni/lzma/CPP/Windows/ResourceString.h +0 -16
  755. package/android/jni/lzma/CPP/Windows/SecurityUtils.cpp +0 -181
  756. package/android/jni/lzma/CPP/Windows/SecurityUtils.h +0 -167
  757. package/android/jni/lzma/CPP/Windows/Shell.cpp +0 -358
  758. package/android/jni/lzma/CPP/Windows/Shell.h +0 -94
  759. package/android/jni/lzma/CPP/Windows/StdAfx.h +0 -8
  760. package/android/jni/lzma/CPP/Windows/Synchronization.cpp +0 -10
  761. package/android/jni/lzma/CPP/Windows/Synchronization.h +0 -164
  762. package/android/jni/lzma/CPP/Windows/System.cpp +0 -142
  763. package/android/jni/lzma/CPP/Windows/System.h +0 -40
  764. package/android/jni/lzma/CPP/Windows/Thread.h +0 -38
  765. package/android/jni/lzma/CPP/Windows/TimeUtils.cpp +0 -213
  766. package/android/jni/lzma/CPP/Windows/TimeUtils.h +0 -32
  767. package/android/jni/lzma/CPP/Windows/Window.cpp +0 -179
  768. package/android/jni/lzma/CPP/Windows/Window.h +0 -284
  769. package/android/jni/lzma/CS/7zip/Common/CRC.cs +0 -55
  770. package/android/jni/lzma/CS/7zip/Common/CommandLineParser.cs +0 -274
  771. package/android/jni/lzma/CS/7zip/Common/InBuffer.cs +0 -72
  772. package/android/jni/lzma/CS/7zip/Common/OutBuffer.cs +0 -47
  773. package/android/jni/lzma/CS/7zip/Compress/LZ/IMatchFinder.cs +0 -24
  774. package/android/jni/lzma/CS/7zip/Compress/LZ/LzBinTree.cs +0 -367
  775. package/android/jni/lzma/CS/7zip/Compress/LZ/LzInWindow.cs +0 -132
  776. package/android/jni/lzma/CS/7zip/Compress/LZ/LzOutWindow.cs +0 -110
  777. package/android/jni/lzma/CS/7zip/Compress/LZMA/LzmaBase.cs +0 -76
  778. package/android/jni/lzma/CS/7zip/Compress/LZMA/LzmaDecoder.cs +0 -398
  779. package/android/jni/lzma/CS/7zip/Compress/LZMA/LzmaEncoder.cs +0 -1480
  780. package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/LzmaAlone.cs +0 -364
  781. package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/LzmaAlone.csproj +0 -90
  782. package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/LzmaAlone.sln +0 -20
  783. package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/LzmaBench.cs +0 -340
  784. package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/Properties/AssemblyInfo.cs +0 -29
  785. package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/Properties/Resources.cs +0 -70
  786. package/android/jni/lzma/CS/7zip/Compress/LzmaAlone/Properties/Settings.cs +0 -42
  787. package/android/jni/lzma/CS/7zip/Compress/RangeCoder/RangeCoder.cs +0 -234
  788. package/android/jni/lzma/CS/7zip/Compress/RangeCoder/RangeCoderBit.cs +0 -117
  789. package/android/jni/lzma/CS/7zip/Compress/RangeCoder/RangeCoderBitTree.cs +0 -157
  790. package/android/jni/lzma/CS/7zip/ICoder.cs +0 -157
  791. package/android/jni/lzma/DOC/7zC.txt +0 -187
  792. package/android/jni/lzma/DOC/7zFormat.txt +0 -469
  793. package/android/jni/lzma/DOC/Methods.txt +0 -173
  794. package/android/jni/lzma/DOC/installer.txt +0 -166
  795. package/android/jni/lzma/DOC/lzma-history.txt +0 -446
  796. package/android/jni/lzma/DOC/lzma-specification.txt +0 -1176
  797. package/android/jni/lzma/DOC/lzma.txt +0 -328
  798. package/android/jni/lzma/Java/SevenZip/CRC.java +0 -52
  799. package/android/jni/lzma/Java/SevenZip/Compression/LZ/BinTree.java +0 -382
  800. package/android/jni/lzma/Java/SevenZip/Compression/LZ/InWindow.java +0 -131
  801. package/android/jni/lzma/Java/SevenZip/Compression/LZ/OutWindow.java +0 -85
  802. package/android/jni/lzma/Java/SevenZip/Compression/LZMA/Base.java +0 -88
  803. package/android/jni/lzma/Java/SevenZip/Compression/LZMA/Decoder.java +0 -329
  804. package/android/jni/lzma/Java/SevenZip/Compression/LZMA/Encoder.java +0 -1416
  805. package/android/jni/lzma/Java/SevenZip/Compression/RangeCoder/BitTreeDecoder.java +0 -55
  806. package/android/jni/lzma/Java/SevenZip/Compression/RangeCoder/BitTreeEncoder.java +0 -99
  807. package/android/jni/lzma/Java/SevenZip/Compression/RangeCoder/Decoder.java +0 -88
  808. package/android/jni/lzma/Java/SevenZip/Compression/RangeCoder/Encoder.java +0 -151
  809. package/android/jni/lzma/Java/SevenZip/ICodeProgress.java +0 -6
  810. package/android/jni/lzma/Java/SevenZip/LzmaAlone.java +0 -253
  811. package/android/jni/lzma/Java/SevenZip/LzmaBench.java +0 -392
  812. package/android/jni/lzma/bin/7zS2.sfx +0 -0
  813. package/android/jni/lzma/bin/7zS2con.sfx +0 -0
  814. package/android/jni/lzma/bin/7zSD.sfx +0 -0
  815. package/android/jni/lzma/bin/7zdec.exe +0 -0
  816. package/android/jni/lzma/bin/7zr.exe +0 -0
  817. package/android/jni/lzma/bin/installer/config.txt +0 -5
  818. package/android/jni/lzma/bin/installer/cr.bat +0 -5
  819. package/android/jni/lzma/bin/lzma.exe +0 -0
  820. package/android/jni/lzma/bin/x64/7zr.exe +0 -0
@@ -1,1666 +0,0 @@
1
- // 7zIn.cpp
2
-
3
- #include "StdAfx.h"
4
-
5
- #ifdef _WIN32
6
- #include <wchar.h>
7
- #else
8
- #include <ctype.h>
9
- #endif
10
-
11
- #include "../../../../C/7zCrc.h"
12
- #include "../../../../C/CpuArch.h"
13
-
14
- #include "../../Common/StreamObjects.h"
15
- #include "../../Common/StreamUtils.h"
16
-
17
- #include "7zDecode.h"
18
- #include "7zIn.h"
19
-
20
- #define Get16(p) GetUi16(p)
21
- #define Get32(p) GetUi32(p)
22
- #define Get64(p) GetUi64(p)
23
-
24
- // define FORMAT_7Z_RECOVERY if you want to recover multivolume archives with empty StartHeader
25
- #ifndef _SFX
26
- #define FORMAT_7Z_RECOVERY
27
- #endif
28
-
29
- using namespace NWindows;
30
- using namespace NCOM;
31
-
32
- namespace NArchive {
33
- namespace N7z {
34
-
35
- unsigned BoolVector_CountSum(const CBoolVector &v)
36
- {
37
- unsigned sum = 0;
38
- const unsigned size = v.Size();
39
- for (unsigned i = 0; i < size; i++)
40
- if (v[i])
41
- sum++;
42
- return sum;
43
- }
44
-
45
- static inline bool BoolVector_Item_IsValidAndTrue(const CBoolVector &v, unsigned i)
46
- {
47
- return (i < v.Size() ? v[i] : false);
48
- }
49
-
50
- static void BoolVector_Fill_False(CBoolVector &v, unsigned size)
51
- {
52
- v.ClearAndSetSize(size);
53
- bool *p = &v[0];
54
- for (unsigned i = 0; i < size; i++)
55
- p[i] = false;
56
- }
57
-
58
-
59
- class CInArchiveException {};
60
- class CUnsupportedFeatureException: public CInArchiveException {};
61
-
62
- static void ThrowException() { throw CInArchiveException(); }
63
- static inline void ThrowEndOfData() { ThrowException(); }
64
- static inline void ThrowUnsupported() { throw CUnsupportedFeatureException(); }
65
- static inline void ThrowIncorrect() { ThrowException(); }
66
-
67
- class CStreamSwitch
68
- {
69
- CInArchive *_archive;
70
- bool _needRemove;
71
- bool _needUpdatePos;
72
- public:
73
- CStreamSwitch(): _needRemove(false), _needUpdatePos(false) {}
74
- ~CStreamSwitch() { Remove(); }
75
- void Remove();
76
- void Set(CInArchive *archive, const Byte *data, size_t size, bool needUpdatePos);
77
- void Set(CInArchive *archive, const CByteBuffer &byteBuffer);
78
- void Set(CInArchive *archive, const CObjectVector<CByteBuffer> *dataVector);
79
- };
80
-
81
- void CStreamSwitch::Remove()
82
- {
83
- if (_needRemove)
84
- {
85
- if (_archive->_inByteBack->GetRem() != 0)
86
- _archive->ThereIsHeaderError = true;
87
- _archive->DeleteByteStream(_needUpdatePos);
88
- _needRemove = false;
89
- }
90
- }
91
-
92
- void CStreamSwitch::Set(CInArchive *archive, const Byte *data, size_t size, bool needUpdatePos)
93
- {
94
- Remove();
95
- _archive = archive;
96
- _archive->AddByteStream(data, size);
97
- _needRemove = true;
98
- _needUpdatePos = needUpdatePos;
99
- }
100
-
101
- void CStreamSwitch::Set(CInArchive *archive, const CByteBuffer &byteBuffer)
102
- {
103
- Set(archive, byteBuffer, byteBuffer.Size(), false);
104
- }
105
-
106
- void CStreamSwitch::Set(CInArchive *archive, const CObjectVector<CByteBuffer> *dataVector)
107
- {
108
- Remove();
109
- Byte external = archive->ReadByte();
110
- if (external != 0)
111
- {
112
- if (!dataVector)
113
- ThrowIncorrect();
114
- CNum dataIndex = archive->ReadNum();
115
- if (dataIndex >= dataVector->Size())
116
- ThrowIncorrect();
117
- Set(archive, (*dataVector)[dataIndex]);
118
- }
119
- }
120
-
121
- void CInArchive::AddByteStream(const Byte *buf, size_t size)
122
- {
123
- if (_numInByteBufs == kNumBufLevelsMax)
124
- ThrowIncorrect();
125
- _inByteBack = &_inByteVector[_numInByteBufs++];
126
- _inByteBack->Init(buf, size);
127
- }
128
-
129
-
130
- Byte CInByte2::ReadByte()
131
- {
132
- if (_pos >= _size)
133
- ThrowEndOfData();
134
- return _buffer[_pos++];
135
- }
136
-
137
- void CInByte2::ReadBytes(Byte *data, size_t size)
138
- {
139
- if (size == 0)
140
- return;
141
- if (size > _size - _pos)
142
- ThrowEndOfData();
143
- memcpy(data, _buffer + _pos, size);
144
- _pos += size;
145
- }
146
-
147
- void CInByte2::SkipData(UInt64 size)
148
- {
149
- if (size > _size - _pos)
150
- ThrowEndOfData();
151
- _pos += (size_t)size;
152
- }
153
-
154
- void CInByte2::SkipData()
155
- {
156
- SkipData(ReadNumber());
157
- }
158
-
159
- static UInt64 ReadNumberSpec(const Byte *p, size_t size, size_t &processed)
160
- {
161
- if (size == 0)
162
- {
163
- processed = 0;
164
- return 0;
165
- }
166
-
167
- unsigned b = *p++;
168
- size--;
169
-
170
- if ((b & 0x80) == 0)
171
- {
172
- processed = 1;
173
- return b;
174
- }
175
-
176
- if (size == 0)
177
- {
178
- processed = 0;
179
- return 0;
180
- }
181
-
182
- UInt64 value = (UInt64)*p;
183
- p++;
184
- size--;
185
-
186
- for (unsigned i = 1; i < 8; i++)
187
- {
188
- unsigned mask = (unsigned)0x80 >> i;
189
- if ((b & mask) == 0)
190
- {
191
- UInt64 high = b & (mask - 1);
192
- value |= (high << (i * 8));
193
- processed = i + 1;
194
- return value;
195
- }
196
-
197
- if (size == 0)
198
- {
199
- processed = 0;
200
- return 0;
201
- }
202
-
203
- value |= ((UInt64)*p << (i * 8));
204
- p++;
205
- size--;
206
- }
207
-
208
- processed = 9;
209
- return value;
210
- }
211
-
212
- UInt64 CInByte2::ReadNumber()
213
- {
214
- size_t processed;
215
- UInt64 res = ReadNumberSpec(_buffer + _pos, _size - _pos, processed);
216
- if (processed == 0)
217
- ThrowEndOfData();
218
- _pos += processed;
219
- return res;
220
- }
221
-
222
- CNum CInByte2::ReadNum()
223
- {
224
- /*
225
- if (_pos < _size)
226
- {
227
- Byte val = _buffer[_pos];
228
- if ((unsigned)val < 0x80)
229
- {
230
- _pos++;
231
- return (unsigned)val;
232
- }
233
- }
234
- */
235
- UInt64 value = ReadNumber();
236
- if (value > kNumMax)
237
- ThrowUnsupported();
238
- return (CNum)value;
239
- }
240
-
241
- UInt32 CInByte2::ReadUInt32()
242
- {
243
- if (_pos + 4 > _size)
244
- ThrowEndOfData();
245
- UInt32 res = Get32(_buffer + _pos);
246
- _pos += 4;
247
- return res;
248
- }
249
-
250
- UInt64 CInByte2::ReadUInt64()
251
- {
252
- if (_pos + 8 > _size)
253
- ThrowEndOfData();
254
- UInt64 res = Get64(_buffer + _pos);
255
- _pos += 8;
256
- return res;
257
- }
258
-
259
- #define CHECK_SIGNATURE if (p[0] != '7' || p[1] != 'z' || p[2] != 0xBC || p[3] != 0xAF || p[4] != 0x27 || p[5] != 0x1C) return false;
260
-
261
- static inline bool TestSignature(const Byte *p)
262
- {
263
- CHECK_SIGNATURE
264
- return CrcCalc(p + 12, 20) == Get32(p + 8);
265
- }
266
-
267
- #ifdef FORMAT_7Z_RECOVERY
268
- static inline bool TestSignature2(const Byte *p)
269
- {
270
- CHECK_SIGNATURE;
271
- if (CrcCalc(p + 12, 20) == Get32(p + 8))
272
- return true;
273
- for (unsigned i = 8; i < kHeaderSize; i++)
274
- if (p[i] != 0)
275
- return false;
276
- return (p[6] != 0 || p[7] != 0);
277
- }
278
- #else
279
- #define TestSignature2(p) TestSignature(p)
280
- #endif
281
-
282
- HRESULT CInArchive::FindAndReadSignature(IInStream *stream, const UInt64 *searchHeaderSizeLimit)
283
- {
284
- RINOK(ReadStream_FALSE(stream, _header, kHeaderSize));
285
-
286
- if (TestSignature2(_header))
287
- return S_OK;
288
- if (searchHeaderSizeLimit && *searchHeaderSizeLimit == 0)
289
- return S_FALSE;
290
-
291
- const UInt32 kBufSize = 1 << 15;
292
- CByteArr buf(kBufSize);
293
- memcpy(buf, _header, kHeaderSize);
294
- UInt64 offset = 0;
295
-
296
- for (;;)
297
- {
298
- UInt32 readSize = kBufSize - kHeaderSize;
299
- if (searchHeaderSizeLimit)
300
- {
301
- UInt64 rem = *searchHeaderSizeLimit - offset;
302
- if (readSize > rem)
303
- readSize = (UInt32)rem;
304
- if (readSize == 0)
305
- return S_FALSE;
306
- }
307
-
308
- UInt32 processed = 0;
309
- RINOK(stream->Read(buf + kHeaderSize, readSize, &processed));
310
- if (processed == 0)
311
- return S_FALSE;
312
-
313
- for (UInt32 pos = 0;;)
314
- {
315
- const Byte *p = buf + pos + 1;
316
- const Byte *lim = buf + processed;
317
- for (; p <= lim; p += 4)
318
- {
319
- if (p[0] == '7') break;
320
- if (p[1] == '7') { p += 1; break; }
321
- if (p[2] == '7') { p += 2; break; }
322
- if (p[3] == '7') { p += 3; break; }
323
- };
324
- if (p > lim)
325
- break;
326
- pos = (UInt32)(p - buf);
327
- if (TestSignature(p))
328
- {
329
- memcpy(_header, p, kHeaderSize);
330
- _arhiveBeginStreamPosition += offset + pos;
331
- return stream->Seek(_arhiveBeginStreamPosition + kHeaderSize, STREAM_SEEK_SET, NULL);
332
- }
333
- }
334
-
335
- offset += processed;
336
- memmove(buf, buf + processed, kHeaderSize);
337
- }
338
- }
339
-
340
- // S_FALSE means that file is not archive
341
- HRESULT CInArchive::Open(IInStream *stream, const UInt64 *searchHeaderSizeLimit)
342
- {
343
- HeadersSize = 0;
344
- Close();
345
- RINOK(stream->Seek(0, STREAM_SEEK_CUR, &_arhiveBeginStreamPosition))
346
- RINOK(stream->Seek(0, STREAM_SEEK_END, &_fileEndPosition))
347
- RINOK(stream->Seek(_arhiveBeginStreamPosition, STREAM_SEEK_SET, NULL))
348
- RINOK(FindAndReadSignature(stream, searchHeaderSizeLimit));
349
- _stream = stream;
350
- return S_OK;
351
- }
352
-
353
- void CInArchive::Close()
354
- {
355
- _numInByteBufs = 0;
356
- _stream.Release();
357
- ThereIsHeaderError = false;
358
- }
359
-
360
- void CInArchive::ReadArchiveProperties(CInArchiveInfo & /* archiveInfo */)
361
- {
362
- for (;;)
363
- {
364
- if (ReadID() == NID::kEnd)
365
- break;
366
- SkipData();
367
- }
368
- }
369
-
370
- // CFolder &folder can be non empty. So we must set all fields
371
-
372
- void CInByte2::ParseFolder(CFolder &folder)
373
- {
374
- UInt32 numCoders = ReadNum();
375
-
376
- if (numCoders == 0)
377
- ThrowUnsupported();
378
-
379
- folder.Coders.SetSize(numCoders);
380
-
381
- UInt32 numInStreams = 0;
382
- UInt32 i;
383
- for (i = 0; i < numCoders; i++)
384
- {
385
- CCoderInfo &coder = folder.Coders[i];
386
- {
387
- Byte mainByte = ReadByte();
388
- if ((mainByte & 0xC0) != 0)
389
- ThrowUnsupported();
390
- unsigned idSize = (mainByte & 0xF);
391
- if (idSize > 8 || idSize > GetRem())
392
- ThrowUnsupported();
393
- const Byte *longID = GetPtr();
394
- UInt64 id = 0;
395
- for (unsigned j = 0; j < idSize; j++)
396
- id = ((id << 8) | longID[j]);
397
- SkipDataNoCheck(idSize);
398
- coder.MethodID = id;
399
-
400
- if ((mainByte & 0x10) != 0)
401
- {
402
- coder.NumStreams = ReadNum();
403
- /* numOutStreams = */ ReadNum();
404
- }
405
- else
406
- {
407
- coder.NumStreams = 1;
408
- }
409
-
410
- if ((mainByte & 0x20) != 0)
411
- {
412
- CNum propsSize = ReadNum();
413
- coder.Props.Alloc((size_t)propsSize);
414
- ReadBytes((Byte *)coder.Props, (size_t)propsSize);
415
- }
416
- else
417
- coder.Props.Free();
418
- }
419
- numInStreams += coder.NumStreams;
420
- }
421
-
422
- UInt32 numBonds = numCoders - 1;
423
- folder.Bonds.SetSize(numBonds);
424
- for (i = 0; i < numBonds; i++)
425
- {
426
- CBond &bp = folder.Bonds[i];
427
- bp.PackIndex = ReadNum();
428
- bp.UnpackIndex = ReadNum();
429
- }
430
-
431
- if (numInStreams < numBonds)
432
- ThrowUnsupported();
433
- UInt32 numPackStreams = numInStreams - numBonds;
434
- folder.PackStreams.SetSize(numPackStreams);
435
-
436
- if (numPackStreams == 1)
437
- {
438
- for (i = 0; i < numInStreams; i++)
439
- if (folder.FindBond_for_PackStream(i) < 0)
440
- {
441
- folder.PackStreams[0] = i;
442
- break;
443
- }
444
- if (i == numInStreams)
445
- ThrowUnsupported();
446
- }
447
- else
448
- for (i = 0; i < numPackStreams; i++)
449
- folder.PackStreams[i] = ReadNum();
450
- }
451
-
452
- void CFolders::ParseFolderInfo(unsigned folderIndex, CFolder &folder) const
453
- {
454
- size_t startPos = FoCodersDataOffset[folderIndex];
455
- CInByte2 inByte;
456
- inByte.Init(CodersData + startPos, FoCodersDataOffset[folderIndex + 1] - startPos);
457
- inByte.ParseFolder(folder);
458
- if (inByte.GetRem() != 0)
459
- throw 20120424;
460
- }
461
-
462
-
463
- void CDatabase::GetPath(unsigned index, UString &path) const
464
- {
465
- path.Empty();
466
- if (!NameOffsets || !NamesBuf)
467
- return;
468
-
469
- size_t offset = NameOffsets[index];
470
- size_t size = NameOffsets[index + 1] - offset;
471
-
472
- if (size >= (1 << 28))
473
- return;
474
-
475
- wchar_t *s = path.GetBuf((unsigned)size - 1);
476
-
477
- const Byte *p = ((const Byte *)NamesBuf + offset * 2);
478
-
479
- #if defined(_WIN32) && defined(MY_CPU_LE)
480
-
481
- wmemcpy(s, (const wchar_t *)p, size);
482
-
483
- #else
484
-
485
- for (size_t i = 0; i < size; i++)
486
- {
487
- *s = Get16(p);
488
- p += 2;
489
- s++;
490
- }
491
-
492
- #endif
493
-
494
- path.ReleaseBuf_SetLen((unsigned)size - 1);
495
- }
496
-
497
- HRESULT CDatabase::GetPath_Prop(unsigned index, PROPVARIANT *path) const throw()
498
- {
499
- PropVariant_Clear(path);
500
- if (!NameOffsets || !NamesBuf)
501
- return S_OK;
502
-
503
- size_t offset = NameOffsets[index];
504
- size_t size = NameOffsets[index + 1] - offset;
505
-
506
- if (size >= (1 << 14))
507
- return S_OK;
508
-
509
- RINOK(PropVarEm_Alloc_Bstr(path, (unsigned)size - 1));
510
- wchar_t *s = path->bstrVal;
511
-
512
- const Byte *p = ((const Byte *)NamesBuf + offset * 2);
513
-
514
- for (size_t i = 0; i < size; i++)
515
- {
516
- wchar_t c = Get16(p);
517
- p += 2;
518
- #if WCHAR_PATH_SEPARATOR != L'/'
519
- if (c == L'/')
520
- c = WCHAR_PATH_SEPARATOR;
521
- #endif
522
- *s++ = c;
523
- }
524
-
525
- return S_OK;
526
-
527
- /*
528
- unsigned cur = index;
529
- unsigned size = 0;
530
-
531
- for (int i = 0;; i++)
532
- {
533
- size_t len = NameOffsets[cur + 1] - NameOffsets[cur];
534
- size += (unsigned)len;
535
- if (i > 256 || len > (1 << 14) || size > (1 << 14))
536
- return PropVarEm_Set_Str(path, "[TOO-LONG]");
537
- cur = Files[cur].Parent;
538
- if (cur < 0)
539
- break;
540
- }
541
- size--;
542
-
543
- RINOK(PropVarEm_Alloc_Bstr(path, size));
544
- wchar_t *s = path->bstrVal;
545
- s += size;
546
- *s = 0;
547
- cur = index;
548
-
549
- for (;;)
550
- {
551
- unsigned len = (unsigned)(NameOffsets[cur + 1] - NameOffsets[cur] - 1);
552
- const Byte *p = (const Byte *)NamesBuf + (NameOffsets[cur + 1] * 2) - 2;
553
- for (; len != 0; len--)
554
- {
555
- p -= 2;
556
- --s;
557
- wchar_t c = Get16(p);
558
- if (c == '/')
559
- c = WCHAR_PATH_SEPARATOR;
560
- *s = c;
561
- }
562
-
563
- const CFileItem &file = Files[cur];
564
- cur = file.Parent;
565
- if (cur < 0)
566
- return S_OK;
567
- *(--s) = (file.IsAltStream ? ':' : WCHAR_PATH_SEPARATOR);
568
- }
569
- */
570
- }
571
-
572
- void CInArchive::WaitId(UInt64 id)
573
- {
574
- for (;;)
575
- {
576
- UInt64 type = ReadID();
577
- if (type == id)
578
- return;
579
- if (type == NID::kEnd)
580
- ThrowIncorrect();
581
- SkipData();
582
- }
583
- }
584
-
585
-
586
- void CInArchive::Read_UInt32_Vector(CUInt32DefVector &v)
587
- {
588
- unsigned numItems = v.Defs.Size();
589
- v.Vals.ClearAndSetSize(numItems);
590
- UInt32 *p = &v.Vals[0];
591
- const bool *defs = &v.Defs[0];
592
- for (unsigned i = 0; i < numItems; i++)
593
- {
594
- UInt32 a = 0;
595
- if (defs[i])
596
- a = ReadUInt32();
597
- p[i] = a;
598
- }
599
- }
600
-
601
-
602
- void CInArchive::ReadHashDigests(unsigned numItems, CUInt32DefVector &crcs)
603
- {
604
- ReadBoolVector2(numItems, crcs.Defs);
605
- Read_UInt32_Vector(crcs);
606
- }
607
-
608
-
609
- #define k_Scan_NumCoders_MAX 64
610
- #define k_Scan_NumCodersStreams_in_Folder_MAX 64
611
-
612
- void CInArchive::ReadPackInfo(CFolders &f)
613
- {
614
- CNum numPackStreams = ReadNum();
615
-
616
- WaitId(NID::kSize);
617
- f.PackPositions.Alloc(numPackStreams + 1);
618
- f.NumPackStreams = numPackStreams;
619
- UInt64 sum = 0;
620
- for (CNum i = 0; i < numPackStreams; i++)
621
- {
622
- f.PackPositions[i] = sum;
623
- UInt64 packSize = ReadNumber();
624
- sum += packSize;
625
- if (sum < packSize)
626
- ThrowIncorrect();
627
- }
628
- f.PackPositions[numPackStreams] = sum;
629
-
630
- UInt64 type;
631
- for (;;)
632
- {
633
- type = ReadID();
634
- if (type == NID::kEnd)
635
- return;
636
- if (type == NID::kCRC)
637
- {
638
- CUInt32DefVector PackCRCs;
639
- ReadHashDigests(numPackStreams, PackCRCs);
640
- continue;
641
- }
642
- SkipData();
643
- }
644
- }
645
-
646
- void CInArchive::ReadUnpackInfo(
647
- const CObjectVector<CByteBuffer> *dataVector,
648
- CFolders &folders)
649
- {
650
- WaitId(NID::kFolder);
651
- CNum numFolders = ReadNum();
652
-
653
- CNum numCodersOutStreams = 0;
654
- {
655
- CStreamSwitch streamSwitch;
656
- streamSwitch.Set(this, dataVector);
657
- const Byte *startBufPtr = _inByteBack->GetPtr();
658
- folders.NumFolders = numFolders;
659
-
660
- folders.FoStartPackStreamIndex.Alloc(numFolders + 1);
661
- folders.FoToMainUnpackSizeIndex.Alloc(numFolders);
662
- folders.FoCodersDataOffset.Alloc(numFolders + 1);
663
- folders.FoToCoderUnpackSizes.Alloc(numFolders + 1);
664
-
665
- CBoolVector StreamUsed;
666
- CBoolVector CoderUsed;
667
-
668
- CNum packStreamIndex = 0;
669
- CNum fo;
670
- CInByte2 *inByte = _inByteBack;
671
-
672
- for (fo = 0; fo < numFolders; fo++)
673
- {
674
- UInt32 indexOfMainStream = 0;
675
- UInt32 numPackStreams = 0;
676
- folders.FoCodersDataOffset[fo] = _inByteBack->GetPtr() - startBufPtr;
677
-
678
- CNum numInStreams = 0;
679
- CNum numCoders = inByte->ReadNum();
680
-
681
- if (numCoders == 0 || numCoders > k_Scan_NumCoders_MAX)
682
- ThrowUnsupported();
683
-
684
- for (CNum ci = 0; ci < numCoders; ci++)
685
- {
686
- Byte mainByte = inByte->ReadByte();
687
- if ((mainByte & 0xC0) != 0)
688
- ThrowUnsupported();
689
-
690
- unsigned idSize = (mainByte & 0xF);
691
- if (idSize > 8)
692
- ThrowUnsupported();
693
- if (idSize > inByte->GetRem())
694
- ThrowEndOfData();
695
- const Byte *longID = inByte->GetPtr();
696
- UInt64 id = 0;
697
- for (unsigned j = 0; j < idSize; j++)
698
- id = ((id << 8) | longID[j]);
699
- inByte->SkipDataNoCheck(idSize);
700
- if (folders.ParsedMethods.IDs.Size() < 128)
701
- folders.ParsedMethods.IDs.AddToUniqueSorted(id);
702
-
703
- CNum coderInStreams = 1;
704
- if ((mainByte & 0x10) != 0)
705
- {
706
- coderInStreams = inByte->ReadNum();
707
- if (coderInStreams > k_Scan_NumCodersStreams_in_Folder_MAX)
708
- ThrowUnsupported();
709
- if (inByte->ReadNum() != 1)
710
- ThrowUnsupported();
711
- }
712
-
713
- numInStreams += coderInStreams;
714
- if (numInStreams > k_Scan_NumCodersStreams_in_Folder_MAX)
715
- ThrowUnsupported();
716
-
717
- if ((mainByte & 0x20) != 0)
718
- {
719
- CNum propsSize = inByte->ReadNum();
720
- if (propsSize > inByte->GetRem())
721
- ThrowEndOfData();
722
- if (id == k_LZMA2 && propsSize == 1)
723
- {
724
- Byte v = *_inByteBack->GetPtr();
725
- if (folders.ParsedMethods.Lzma2Prop < v)
726
- folders.ParsedMethods.Lzma2Prop = v;
727
- }
728
- else if (id == k_LZMA && propsSize == 5)
729
- {
730
- UInt32 dicSize = GetUi32(_inByteBack->GetPtr() + 1);
731
- if (folders.ParsedMethods.LzmaDic < dicSize)
732
- folders.ParsedMethods.LzmaDic = dicSize;
733
- }
734
- inByte->SkipDataNoCheck((size_t)propsSize);
735
- }
736
- }
737
-
738
- if (numCoders == 1 && numInStreams == 1)
739
- {
740
- indexOfMainStream = 0;
741
- numPackStreams = 1;
742
- }
743
- else
744
- {
745
- UInt32 i;
746
- CNum numBonds = numCoders - 1;
747
- if (numInStreams < numBonds)
748
- ThrowUnsupported();
749
-
750
- BoolVector_Fill_False(StreamUsed, numInStreams);
751
- BoolVector_Fill_False(CoderUsed, numCoders);
752
-
753
- for (i = 0; i < numBonds; i++)
754
- {
755
- CNum index = ReadNum();
756
- if (index >= numInStreams || StreamUsed[index])
757
- ThrowUnsupported();
758
- StreamUsed[index] = true;
759
-
760
- index = ReadNum();
761
- if (index >= numCoders || CoderUsed[index])
762
- ThrowUnsupported();
763
- CoderUsed[index] = true;
764
- }
765
-
766
- numPackStreams = numInStreams - numBonds;
767
-
768
- if (numPackStreams != 1)
769
- for (i = 0; i < numPackStreams; i++)
770
- {
771
- CNum index = inByte->ReadNum(); // PackStreams
772
- if (index >= numInStreams || StreamUsed[index])
773
- ThrowUnsupported();
774
- StreamUsed[index] = true;
775
- }
776
-
777
- for (i = 0; i < numCoders; i++)
778
- if (!CoderUsed[i])
779
- {
780
- indexOfMainStream = i;
781
- break;
782
- }
783
-
784
- if (i == numCoders)
785
- ThrowUnsupported();
786
- }
787
-
788
- folders.FoToCoderUnpackSizes[fo] = numCodersOutStreams;
789
- numCodersOutStreams += numCoders;
790
- folders.FoStartPackStreamIndex[fo] = packStreamIndex;
791
- if (numPackStreams > folders.NumPackStreams - packStreamIndex)
792
- ThrowIncorrect();
793
- packStreamIndex += numPackStreams;
794
- folders.FoToMainUnpackSizeIndex[fo] = (Byte)indexOfMainStream;
795
- }
796
-
797
- size_t dataSize = _inByteBack->GetPtr() - startBufPtr;
798
- folders.FoToCoderUnpackSizes[fo] = numCodersOutStreams;
799
- folders.FoStartPackStreamIndex[fo] = packStreamIndex;
800
- folders.FoCodersDataOffset[fo] = _inByteBack->GetPtr() - startBufPtr;
801
- folders.CodersData.CopyFrom(startBufPtr, dataSize);
802
-
803
- // if (folders.NumPackStreams != packStreamIndex) ThrowUnsupported();
804
- }
805
-
806
- WaitId(NID::kCodersUnpackSize);
807
- folders.CoderUnpackSizes.Alloc(numCodersOutStreams);
808
- for (CNum i = 0; i < numCodersOutStreams; i++)
809
- folders.CoderUnpackSizes[i] = ReadNumber();
810
-
811
- for (;;)
812
- {
813
- UInt64 type = ReadID();
814
- if (type == NID::kEnd)
815
- return;
816
- if (type == NID::kCRC)
817
- {
818
- ReadHashDigests(numFolders, folders.FolderCRCs);
819
- continue;
820
- }
821
- SkipData();
822
- }
823
- }
824
-
825
- void CInArchive::ReadSubStreamsInfo(
826
- CFolders &folders,
827
- CRecordVector<UInt64> &unpackSizes,
828
- CUInt32DefVector &digests)
829
- {
830
- folders.NumUnpackStreamsVector.Alloc(folders.NumFolders);
831
- CNum i;
832
- for (i = 0; i < folders.NumFolders; i++)
833
- folders.NumUnpackStreamsVector[i] = 1;
834
-
835
- UInt64 type;
836
-
837
- for (;;)
838
- {
839
- type = ReadID();
840
- if (type == NID::kNumUnpackStream)
841
- {
842
- for (i = 0; i < folders.NumFolders; i++)
843
- folders.NumUnpackStreamsVector[i] = ReadNum();
844
- continue;
845
- }
846
- if (type == NID::kCRC || type == NID::kSize || type == NID::kEnd)
847
- break;
848
- SkipData();
849
- }
850
-
851
- if (type == NID::kSize)
852
- {
853
- for (i = 0; i < folders.NumFolders; i++)
854
- {
855
- // v3.13 incorrectly worked with empty folders
856
- // v4.07: we check that folder is empty
857
- CNum numSubstreams = folders.NumUnpackStreamsVector[i];
858
- if (numSubstreams == 0)
859
- continue;
860
- UInt64 sum = 0;
861
- for (CNum j = 1; j < numSubstreams; j++)
862
- {
863
- UInt64 size = ReadNumber();
864
- unpackSizes.Add(size);
865
- sum += size;
866
- if (sum < size)
867
- ThrowIncorrect();
868
- }
869
- UInt64 folderUnpackSize = folders.GetFolderUnpackSize(i);
870
- if (folderUnpackSize < sum)
871
- ThrowIncorrect();
872
- unpackSizes.Add(folderUnpackSize - sum);
873
- }
874
- type = ReadID();
875
- }
876
- else
877
- {
878
- for (i = 0; i < folders.NumFolders; i++)
879
- {
880
- /* v9.26 - v9.29 incorrectly worked:
881
- if (folders.NumUnpackStreamsVector[i] == 0), it threw error */
882
- CNum val = folders.NumUnpackStreamsVector[i];
883
- if (val > 1)
884
- ThrowIncorrect();
885
- if (val == 1)
886
- unpackSizes.Add(folders.GetFolderUnpackSize(i));
887
- }
888
- }
889
-
890
- unsigned numDigests = 0;
891
- for (i = 0; i < folders.NumFolders; i++)
892
- {
893
- CNum numSubstreams = folders.NumUnpackStreamsVector[i];
894
- if (numSubstreams != 1 || !folders.FolderCRCs.ValidAndDefined(i))
895
- numDigests += numSubstreams;
896
- }
897
-
898
- for (;;)
899
- {
900
- if (type == NID::kEnd)
901
- break;
902
- if (type == NID::kCRC)
903
- {
904
- // CUInt32DefVector digests2;
905
- // ReadHashDigests(numDigests, digests2);
906
- CBoolVector digests2;
907
- ReadBoolVector2(numDigests, digests2);
908
-
909
- digests.ClearAndSetSize(unpackSizes.Size());
910
-
911
- unsigned k = 0;
912
- unsigned k2 = 0;
913
-
914
- for (i = 0; i < folders.NumFolders; i++)
915
- {
916
- CNum numSubstreams = folders.NumUnpackStreamsVector[i];
917
- if (numSubstreams == 1 && folders.FolderCRCs.ValidAndDefined(i))
918
- {
919
- digests.Defs[k] = true;
920
- digests.Vals[k] = folders.FolderCRCs.Vals[i];
921
- k++;
922
- }
923
- else for (CNum j = 0; j < numSubstreams; j++)
924
- {
925
- bool defined = digests2[k2++];
926
- digests.Defs[k] = defined;
927
- UInt32 crc = 0;
928
- if (defined)
929
- crc = ReadUInt32();
930
- digests.Vals[k] = crc;
931
- k++;
932
- }
933
- }
934
- // if (k != unpackSizes.Size()) throw 1234567;
935
- }
936
- else
937
- SkipData();
938
-
939
- type = ReadID();
940
- }
941
-
942
- if (digests.Defs.Size() != unpackSizes.Size())
943
- {
944
- digests.ClearAndSetSize(unpackSizes.Size());
945
- unsigned k = 0;
946
- for (i = 0; i < folders.NumFolders; i++)
947
- {
948
- CNum numSubstreams = folders.NumUnpackStreamsVector[i];
949
- if (numSubstreams == 1 && folders.FolderCRCs.ValidAndDefined(i))
950
- {
951
- digests.Defs[k] = true;
952
- digests.Vals[k] = folders.FolderCRCs.Vals[i];
953
- k++;
954
- }
955
- else for (CNum j = 0; j < numSubstreams; j++)
956
- {
957
- digests.Defs[k] = false;
958
- digests.Vals[k] = 0;
959
- k++;
960
- }
961
- }
962
- }
963
- }
964
-
965
- void CInArchive::ReadStreamsInfo(
966
- const CObjectVector<CByteBuffer> *dataVector,
967
- UInt64 &dataOffset,
968
- CFolders &folders,
969
- CRecordVector<UInt64> &unpackSizes,
970
- CUInt32DefVector &digests)
971
- {
972
- UInt64 type = ReadID();
973
-
974
- if (type == NID::kPackInfo)
975
- {
976
- dataOffset = ReadNumber();
977
- ReadPackInfo(folders);
978
- type = ReadID();
979
- }
980
-
981
- if (type == NID::kUnpackInfo)
982
- {
983
- ReadUnpackInfo(dataVector, folders);
984
- type = ReadID();
985
- }
986
-
987
- if (folders.NumFolders != 0 && !folders.PackPositions)
988
- {
989
- // if there are folders, we need PackPositions also
990
- folders.PackPositions.Alloc(1);
991
- folders.PackPositions[0] = 0;
992
- }
993
-
994
- if (type == NID::kSubStreamsInfo)
995
- {
996
- ReadSubStreamsInfo(folders, unpackSizes, digests);
997
- type = ReadID();
998
- }
999
- else
1000
- {
1001
- folders.NumUnpackStreamsVector.Alloc(folders.NumFolders);
1002
- /* If digests.Defs.Size() == 0, it means that there are no crcs.
1003
- So we don't need to fill digests with values. */
1004
- // digests.Vals.ClearAndSetSize(folders.NumFolders);
1005
- // BoolVector_Fill_False(digests.Defs, folders.NumFolders);
1006
- for (CNum i = 0; i < folders.NumFolders; i++)
1007
- {
1008
- folders.NumUnpackStreamsVector[i] = 1;
1009
- unpackSizes.Add(folders.GetFolderUnpackSize(i));
1010
- // digests.Vals[i] = 0;
1011
- }
1012
- }
1013
-
1014
- if (type != NID::kEnd)
1015
- ThrowIncorrect();
1016
- }
1017
-
1018
- void CInArchive::ReadBoolVector(unsigned numItems, CBoolVector &v)
1019
- {
1020
- v.ClearAndSetSize(numItems);
1021
- Byte b = 0;
1022
- Byte mask = 0;
1023
- bool *p = &v[0];
1024
- for (unsigned i = 0; i < numItems; i++)
1025
- {
1026
- if (mask == 0)
1027
- {
1028
- b = ReadByte();
1029
- mask = 0x80;
1030
- }
1031
- p[i] = ((b & mask) != 0);
1032
- mask >>= 1;
1033
- }
1034
- }
1035
-
1036
- void CInArchive::ReadBoolVector2(unsigned numItems, CBoolVector &v)
1037
- {
1038
- Byte allAreDefined = ReadByte();
1039
- if (allAreDefined == 0)
1040
- {
1041
- ReadBoolVector(numItems, v);
1042
- return;
1043
- }
1044
- v.ClearAndSetSize(numItems);
1045
- bool *p = &v[0];
1046
- for (unsigned i = 0; i < numItems; i++)
1047
- p[i] = true;
1048
- }
1049
-
1050
- void CInArchive::ReadUInt64DefVector(const CObjectVector<CByteBuffer> &dataVector,
1051
- CUInt64DefVector &v, unsigned numItems)
1052
- {
1053
- ReadBoolVector2(numItems, v.Defs);
1054
-
1055
- CStreamSwitch streamSwitch;
1056
- streamSwitch.Set(this, &dataVector);
1057
-
1058
- v.Vals.ClearAndSetSize(numItems);
1059
- UInt64 *p = &v.Vals[0];
1060
- const bool *defs = &v.Defs[0];
1061
-
1062
- for (unsigned i = 0; i < numItems; i++)
1063
- {
1064
- UInt64 t = 0;
1065
- if (defs[i])
1066
- t = ReadUInt64();
1067
- p[i] = t;
1068
- }
1069
- }
1070
-
1071
- HRESULT CInArchive::ReadAndDecodePackedStreams(
1072
- DECL_EXTERNAL_CODECS_LOC_VARS
1073
- UInt64 baseOffset,
1074
- UInt64 &dataOffset, CObjectVector<CByteBuffer> &dataVector
1075
- _7Z_DECODER_CRYPRO_VARS_DECL
1076
- )
1077
- {
1078
- CFolders folders;
1079
- CRecordVector<UInt64> unpackSizes;
1080
- CUInt32DefVector digests;
1081
-
1082
- ReadStreamsInfo(NULL,
1083
- dataOffset,
1084
- folders,
1085
- unpackSizes,
1086
- digests);
1087
-
1088
- CDecoder decoder(_useMixerMT);
1089
-
1090
- for (CNum i = 0; i < folders.NumFolders; i++)
1091
- {
1092
- CByteBuffer &data = dataVector.AddNew();
1093
- UInt64 unpackSize64 = folders.GetFolderUnpackSize(i);
1094
- size_t unpackSize = (size_t)unpackSize64;
1095
- if (unpackSize != unpackSize64)
1096
- ThrowUnsupported();
1097
- data.Alloc(unpackSize);
1098
-
1099
- CBufPtrSeqOutStream *outStreamSpec = new CBufPtrSeqOutStream;
1100
- CMyComPtr<ISequentialOutStream> outStream = outStreamSpec;
1101
- outStreamSpec->Init(data, unpackSize);
1102
-
1103
- bool dataAfterEnd_Error = false;
1104
-
1105
- HRESULT result = decoder.Decode(
1106
- EXTERNAL_CODECS_LOC_VARS
1107
- _stream, baseOffset + dataOffset,
1108
- folders, i,
1109
- NULL, // *unpackSize
1110
-
1111
- outStream,
1112
- NULL, // *compressProgress
1113
-
1114
- NULL // **inStreamMainRes
1115
- , dataAfterEnd_Error
1116
-
1117
- _7Z_DECODER_CRYPRO_VARS
1118
- #if !defined(_7ZIP_ST)
1119
- , false // mtMode
1120
- , 1 // numThreads
1121
- , 0 // memUsage
1122
- #endif
1123
- );
1124
-
1125
- RINOK(result);
1126
-
1127
- if (dataAfterEnd_Error)
1128
- ThereIsHeaderError = true;
1129
-
1130
- if (folders.FolderCRCs.ValidAndDefined(i))
1131
- if (CrcCalc(data, unpackSize) != folders.FolderCRCs.Vals[i])
1132
- ThrowIncorrect();
1133
- }
1134
-
1135
- if (folders.PackPositions)
1136
- HeadersSize += folders.PackPositions[folders.NumPackStreams];
1137
-
1138
- return S_OK;
1139
- }
1140
-
1141
- HRESULT CInArchive::ReadHeader(
1142
- DECL_EXTERNAL_CODECS_LOC_VARS
1143
- CDbEx &db
1144
- _7Z_DECODER_CRYPRO_VARS_DECL
1145
- )
1146
- {
1147
- UInt64 type = ReadID();
1148
-
1149
- if (type == NID::kArchiveProperties)
1150
- {
1151
- ReadArchiveProperties(db.ArcInfo);
1152
- type = ReadID();
1153
- }
1154
-
1155
- CObjectVector<CByteBuffer> dataVector;
1156
-
1157
- if (type == NID::kAdditionalStreamsInfo)
1158
- {
1159
- HRESULT result = ReadAndDecodePackedStreams(
1160
- EXTERNAL_CODECS_LOC_VARS
1161
- db.ArcInfo.StartPositionAfterHeader,
1162
- db.ArcInfo.DataStartPosition2,
1163
- dataVector
1164
- _7Z_DECODER_CRYPRO_VARS
1165
- );
1166
- RINOK(result);
1167
- db.ArcInfo.DataStartPosition2 += db.ArcInfo.StartPositionAfterHeader;
1168
- type = ReadID();
1169
- }
1170
-
1171
- CRecordVector<UInt64> unpackSizes;
1172
- CUInt32DefVector digests;
1173
-
1174
- if (type == NID::kMainStreamsInfo)
1175
- {
1176
- ReadStreamsInfo(&dataVector,
1177
- db.ArcInfo.DataStartPosition,
1178
- (CFolders &)db,
1179
- unpackSizes,
1180
- digests);
1181
- db.ArcInfo.DataStartPosition += db.ArcInfo.StartPositionAfterHeader;
1182
- type = ReadID();
1183
- }
1184
-
1185
- if (type == NID::kFilesInfo)
1186
- {
1187
-
1188
- const CNum numFiles = ReadNum();
1189
-
1190
- db.ArcInfo.FileInfoPopIDs.Add(NID::kSize);
1191
- // if (!db.PackSizes.IsEmpty())
1192
- db.ArcInfo.FileInfoPopIDs.Add(NID::kPackInfo);
1193
- if (numFiles > 0 && !digests.Defs.IsEmpty())
1194
- db.ArcInfo.FileInfoPopIDs.Add(NID::kCRC);
1195
-
1196
- CBoolVector emptyStreamVector;
1197
- CBoolVector emptyFileVector;
1198
- CBoolVector antiFileVector;
1199
- CNum numEmptyStreams = 0;
1200
-
1201
- for (;;)
1202
- {
1203
- const UInt64 type2 = ReadID();
1204
- if (type2 == NID::kEnd)
1205
- break;
1206
- UInt64 size = ReadNumber();
1207
- if (size > _inByteBack->GetRem())
1208
- ThrowIncorrect();
1209
- CStreamSwitch switchProp;
1210
- switchProp.Set(this, _inByteBack->GetPtr(), (size_t)size, true);
1211
- bool addPropIdToList = true;
1212
- bool isKnownType = true;
1213
- if (type2 > ((UInt32)1 << 30))
1214
- isKnownType = false;
1215
- else switch ((UInt32)type2)
1216
- {
1217
- case NID::kName:
1218
- {
1219
- CStreamSwitch streamSwitch;
1220
- streamSwitch.Set(this, &dataVector);
1221
- size_t rem = _inByteBack->GetRem();
1222
- db.NamesBuf.Alloc(rem);
1223
- ReadBytes(db.NamesBuf, rem);
1224
- db.NameOffsets.Alloc(numFiles + 1);
1225
- size_t pos = 0;
1226
- unsigned i;
1227
- for (i = 0; i < numFiles; i++)
1228
- {
1229
- size_t curRem = (rem - pos) / 2;
1230
- const UInt16 *buf = (const UInt16 *)(db.NamesBuf + pos);
1231
- size_t j;
1232
- for (j = 0; j < curRem && buf[j] != 0; j++);
1233
- if (j == curRem)
1234
- ThrowEndOfData();
1235
- db.NameOffsets[i] = pos / 2;
1236
- pos += j * 2 + 2;
1237
- }
1238
- db.NameOffsets[i] = pos / 2;
1239
- if (pos != rem)
1240
- ThereIsHeaderError = true;
1241
- break;
1242
- }
1243
-
1244
- case NID::kWinAttrib:
1245
- {
1246
- ReadBoolVector2(numFiles, db.Attrib.Defs);
1247
- CStreamSwitch streamSwitch;
1248
- streamSwitch.Set(this, &dataVector);
1249
- Read_UInt32_Vector(db.Attrib);
1250
- break;
1251
- }
1252
-
1253
- /*
1254
- case NID::kIsAux:
1255
- {
1256
- ReadBoolVector(numFiles, db.IsAux);
1257
- break;
1258
- }
1259
- case NID::kParent:
1260
- {
1261
- db.IsTree = true;
1262
- // CBoolVector boolVector;
1263
- // ReadBoolVector2(numFiles, boolVector);
1264
- // CStreamSwitch streamSwitch;
1265
- // streamSwitch.Set(this, &dataVector);
1266
- CBoolVector boolVector;
1267
- ReadBoolVector2(numFiles, boolVector);
1268
-
1269
- db.ThereAreAltStreams = false;
1270
- for (i = 0; i < numFiles; i++)
1271
- {
1272
- CFileItem &file = db.Files[i];
1273
- // file.Parent = -1;
1274
- // if (boolVector[i])
1275
- file.Parent = (int)ReadUInt32();
1276
- file.IsAltStream = !boolVector[i];
1277
- if (file.IsAltStream)
1278
- db.ThereAreAltStreams = true;
1279
- }
1280
- break;
1281
- }
1282
- */
1283
- case NID::kEmptyStream:
1284
- {
1285
- ReadBoolVector(numFiles, emptyStreamVector);
1286
- numEmptyStreams = BoolVector_CountSum(emptyStreamVector);
1287
- emptyFileVector.Clear();
1288
- antiFileVector.Clear();
1289
- break;
1290
- }
1291
- case NID::kEmptyFile: ReadBoolVector(numEmptyStreams, emptyFileVector); break;
1292
- case NID::kAnti: ReadBoolVector(numEmptyStreams, antiFileVector); break;
1293
- case NID::kStartPos: ReadUInt64DefVector(dataVector, db.StartPos, (unsigned)numFiles); break;
1294
- case NID::kCTime: ReadUInt64DefVector(dataVector, db.CTime, (unsigned)numFiles); break;
1295
- case NID::kATime: ReadUInt64DefVector(dataVector, db.ATime, (unsigned)numFiles); break;
1296
- case NID::kMTime: ReadUInt64DefVector(dataVector, db.MTime, (unsigned)numFiles); break;
1297
- case NID::kDummy:
1298
- {
1299
- for (UInt64 j = 0; j < size; j++)
1300
- if (ReadByte() != 0)
1301
- ThereIsHeaderError = true;
1302
- addPropIdToList = false;
1303
- break;
1304
- }
1305
- /*
1306
- case NID::kNtSecure:
1307
- {
1308
- try
1309
- {
1310
- {
1311
- CStreamSwitch streamSwitch;
1312
- streamSwitch.Set(this, &dataVector);
1313
- UInt32 numDescriptors = ReadUInt32();
1314
- size_t offset = 0;
1315
- db.SecureOffsets.Clear();
1316
- for (i = 0; i < numDescriptors; i++)
1317
- {
1318
- UInt32 size = ReadUInt32();
1319
- db.SecureOffsets.Add(offset);
1320
- offset += size;
1321
- }
1322
- // ThrowIncorrect();;
1323
- db.SecureOffsets.Add(offset);
1324
- db.SecureBuf.SetCapacity(offset);
1325
- for (i = 0; i < numDescriptors; i++)
1326
- {
1327
- offset = db.SecureOffsets[i];
1328
- ReadBytes(db.SecureBuf + offset, db.SecureOffsets[i + 1] - offset);
1329
- }
1330
- db.SecureIDs.Clear();
1331
- for (unsigned i = 0; i < numFiles; i++)
1332
- {
1333
- db.SecureIDs.Add(ReadNum());
1334
- // db.SecureIDs.Add(ReadUInt32());
1335
- }
1336
- // ReadUInt32();
1337
- if (_inByteBack->GetRem() != 0)
1338
- ThrowIncorrect();;
1339
- }
1340
- }
1341
- catch(CInArchiveException &)
1342
- {
1343
- ThereIsHeaderError = true;
1344
- addPropIdToList = isKnownType = false;
1345
- db.ClearSecure();
1346
- }
1347
- break;
1348
- }
1349
- */
1350
- default:
1351
- addPropIdToList = isKnownType = false;
1352
- }
1353
- if (isKnownType)
1354
- {
1355
- if (addPropIdToList)
1356
- db.ArcInfo.FileInfoPopIDs.Add(type2);
1357
- }
1358
- else
1359
- {
1360
- db.UnsupportedFeatureWarning = true;
1361
- _inByteBack->SkipRem();
1362
- }
1363
- // SkipData worked incorrectly in some versions before v4.59 (7zVer <= 0.02)
1364
- if (_inByteBack->GetRem() != 0)
1365
- ThrowIncorrect();
1366
- }
1367
-
1368
- type = ReadID(); // Read (NID::kEnd) end of headers
1369
-
1370
- if (numFiles - numEmptyStreams != unpackSizes.Size())
1371
- ThrowUnsupported();
1372
-
1373
- CNum emptyFileIndex = 0;
1374
- CNum sizeIndex = 0;
1375
-
1376
- const CNum numAntiItems = BoolVector_CountSum(antiFileVector);
1377
-
1378
- if (numAntiItems != 0)
1379
- db.IsAnti.ClearAndSetSize(numFiles);
1380
-
1381
- db.Files.ClearAndSetSize(numFiles);
1382
-
1383
- for (CNum i = 0; i < numFiles; i++)
1384
- {
1385
- CFileItem &file = db.Files[i];
1386
- bool isAnti;
1387
- file.Crc = 0;
1388
- if (!BoolVector_Item_IsValidAndTrue(emptyStreamVector, i))
1389
- {
1390
- file.HasStream = true;
1391
- file.IsDir = false;
1392
- isAnti = false;
1393
- file.Size = unpackSizes[sizeIndex];
1394
- file.CrcDefined = digests.ValidAndDefined(sizeIndex);
1395
- if (file.CrcDefined)
1396
- file.Crc = digests.Vals[sizeIndex];
1397
- sizeIndex++;
1398
- }
1399
- else
1400
- {
1401
- file.HasStream = false;
1402
- file.IsDir = !BoolVector_Item_IsValidAndTrue(emptyFileVector, emptyFileIndex);
1403
- isAnti = BoolVector_Item_IsValidAndTrue(antiFileVector, emptyFileIndex);
1404
- emptyFileIndex++;
1405
- file.Size = 0;
1406
- file.CrcDefined = false;
1407
- }
1408
- if (numAntiItems != 0)
1409
- db.IsAnti[i] = isAnti;
1410
- }
1411
-
1412
- }
1413
-
1414
- db.FillLinks();
1415
-
1416
- if (type != NID::kEnd || _inByteBack->GetRem() != 0)
1417
- {
1418
- db.UnsupportedFeatureWarning = true;
1419
- // ThrowIncorrect();
1420
- }
1421
-
1422
- return S_OK;
1423
- }
1424
-
1425
-
1426
- void CDbEx::FillLinks()
1427
- {
1428
- FolderStartFileIndex.Alloc(NumFolders);
1429
- FileIndexToFolderIndexMap.Alloc(Files.Size());
1430
-
1431
- CNum folderIndex = 0;
1432
- CNum indexInFolder = 0;
1433
- unsigned i;
1434
-
1435
- for (i = 0; i < Files.Size(); i++)
1436
- {
1437
- bool emptyStream = !Files[i].HasStream;
1438
- if (indexInFolder == 0)
1439
- {
1440
- if (emptyStream)
1441
- {
1442
- FileIndexToFolderIndexMap[i] = kNumNoIndex;
1443
- continue;
1444
- }
1445
- // v3.13 incorrectly worked with empty folders
1446
- // v4.07: we skip empty folders
1447
- for (;;)
1448
- {
1449
- if (folderIndex >= NumFolders)
1450
- ThrowIncorrect();
1451
- FolderStartFileIndex[folderIndex] = i;
1452
- if (NumUnpackStreamsVector[folderIndex] != 0)
1453
- break;
1454
- folderIndex++;
1455
- }
1456
- }
1457
- FileIndexToFolderIndexMap[i] = folderIndex;
1458
- if (emptyStream)
1459
- continue;
1460
- if (++indexInFolder >= NumUnpackStreamsVector[folderIndex])
1461
- {
1462
- folderIndex++;
1463
- indexInFolder = 0;
1464
- }
1465
- }
1466
-
1467
- if (indexInFolder != 0)
1468
- {
1469
- folderIndex++;
1470
- // 18.06
1471
- ThereIsHeaderError = true;
1472
- // ThrowIncorrect();
1473
- }
1474
-
1475
- for (;;)
1476
- {
1477
- if (folderIndex >= NumFolders)
1478
- return;
1479
- FolderStartFileIndex[folderIndex] = i;
1480
- if (NumUnpackStreamsVector[folderIndex] != 0)
1481
- {
1482
- // 18.06
1483
- ThereIsHeaderError = true;
1484
- // ThrowIncorrect();
1485
- }
1486
- folderIndex++;
1487
- }
1488
- }
1489
-
1490
-
1491
- HRESULT CInArchive::ReadDatabase2(
1492
- DECL_EXTERNAL_CODECS_LOC_VARS
1493
- CDbEx &db
1494
- _7Z_DECODER_CRYPRO_VARS_DECL
1495
- )
1496
- {
1497
- db.Clear();
1498
- db.ArcInfo.StartPosition = _arhiveBeginStreamPosition;
1499
-
1500
- db.ArcInfo.Version.Major = _header[6];
1501
- db.ArcInfo.Version.Minor = _header[7];
1502
-
1503
- if (db.ArcInfo.Version.Major != kMajorVersion)
1504
- {
1505
- // db.UnsupportedVersion = true;
1506
- return S_FALSE;
1507
- }
1508
-
1509
- UInt64 nextHeaderOffset = Get64(_header + 12);
1510
- UInt64 nextHeaderSize = Get64(_header + 20);
1511
- UInt32 nextHeaderCRC = Get32(_header + 28);
1512
-
1513
- #ifdef FORMAT_7Z_RECOVERY
1514
- UInt32 crcFromArc = Get32(_header + 8);
1515
- if (crcFromArc == 0 && nextHeaderOffset == 0 && nextHeaderSize == 0 && nextHeaderCRC == 0)
1516
- {
1517
- UInt64 cur, fileSize;
1518
- RINOK(_stream->Seek(0, STREAM_SEEK_CUR, &cur));
1519
- const unsigned kCheckSize = 512;
1520
- Byte buf[kCheckSize];
1521
- RINOK(_stream->Seek(0, STREAM_SEEK_END, &fileSize));
1522
- UInt64 rem = fileSize - cur;
1523
- unsigned checkSize = kCheckSize;
1524
- if (rem < kCheckSize)
1525
- checkSize = (unsigned)(rem);
1526
- if (checkSize < 3)
1527
- return S_FALSE;
1528
- RINOK(_stream->Seek(fileSize - checkSize, STREAM_SEEK_SET, NULL));
1529
- RINOK(ReadStream_FALSE(_stream, buf, (size_t)checkSize));
1530
-
1531
- if (buf[checkSize - 1] != 0)
1532
- return S_FALSE;
1533
-
1534
- unsigned i;
1535
- for (i = checkSize - 2;; i--)
1536
- {
1537
- if (buf[i] == NID::kEncodedHeader && buf[i + 1] == NID::kPackInfo ||
1538
- buf[i] == NID::kHeader && buf[i + 1] == NID::kMainStreamsInfo)
1539
- break;
1540
- if (i == 0)
1541
- return S_FALSE;
1542
- }
1543
- nextHeaderSize = checkSize - i;
1544
- nextHeaderOffset = rem - nextHeaderSize;
1545
- nextHeaderCRC = CrcCalc(buf + i, (size_t)nextHeaderSize);
1546
- RINOK(_stream->Seek(cur, STREAM_SEEK_SET, NULL));
1547
- db.StartHeaderWasRecovered = true;
1548
- }
1549
- else
1550
- #endif
1551
- {
1552
- // Crc was tested already at signature check
1553
- // if (CrcCalc(_header + 12, 20) != crcFromArchive) ThrowIncorrect();
1554
- }
1555
-
1556
- db.ArcInfo.StartPositionAfterHeader = _arhiveBeginStreamPosition + kHeaderSize;
1557
- db.PhySize = kHeaderSize;
1558
-
1559
- db.IsArc = false;
1560
- if ((Int64)nextHeaderOffset < 0 ||
1561
- nextHeaderSize > ((UInt64)1 << 62))
1562
- return S_FALSE;
1563
- if (nextHeaderSize == 0)
1564
- {
1565
- if (nextHeaderOffset != 0)
1566
- return S_FALSE;
1567
- db.IsArc = true;
1568
- return S_OK;
1569
- }
1570
-
1571
- if (!db.StartHeaderWasRecovered)
1572
- db.IsArc = true;
1573
-
1574
- HeadersSize += kHeaderSize + nextHeaderSize;
1575
- db.PhySize = kHeaderSize + nextHeaderOffset + nextHeaderSize;
1576
- if (_fileEndPosition - db.ArcInfo.StartPositionAfterHeader < nextHeaderOffset + nextHeaderSize)
1577
- {
1578
- db.UnexpectedEnd = true;
1579
- return S_FALSE;
1580
- }
1581
- RINOK(_stream->Seek(nextHeaderOffset, STREAM_SEEK_CUR, NULL));
1582
-
1583
- size_t nextHeaderSize_t = (size_t)nextHeaderSize;
1584
- if (nextHeaderSize_t != nextHeaderSize)
1585
- return E_OUTOFMEMORY;
1586
- CByteBuffer buffer2(nextHeaderSize_t);
1587
-
1588
- RINOK(ReadStream_FALSE(_stream, buffer2, nextHeaderSize_t));
1589
-
1590
- if (CrcCalc(buffer2, nextHeaderSize_t) != nextHeaderCRC)
1591
- ThrowIncorrect();
1592
-
1593
- if (!db.StartHeaderWasRecovered)
1594
- db.PhySizeWasConfirmed = true;
1595
-
1596
- CStreamSwitch streamSwitch;
1597
- streamSwitch.Set(this, buffer2);
1598
-
1599
- CObjectVector<CByteBuffer> dataVector;
1600
-
1601
- UInt64 type = ReadID();
1602
- if (type != NID::kHeader)
1603
- {
1604
- if (type != NID::kEncodedHeader)
1605
- ThrowIncorrect();
1606
- HRESULT result = ReadAndDecodePackedStreams(
1607
- EXTERNAL_CODECS_LOC_VARS
1608
- db.ArcInfo.StartPositionAfterHeader,
1609
- db.ArcInfo.DataStartPosition2,
1610
- dataVector
1611
- _7Z_DECODER_CRYPRO_VARS
1612
- );
1613
- RINOK(result);
1614
- if (dataVector.Size() == 0)
1615
- return S_OK;
1616
- if (dataVector.Size() > 1)
1617
- ThrowIncorrect();
1618
- streamSwitch.Remove();
1619
- streamSwitch.Set(this, dataVector.Front());
1620
- if (ReadID() != NID::kHeader)
1621
- ThrowIncorrect();
1622
- }
1623
-
1624
- db.IsArc = true;
1625
-
1626
- db.HeadersSize = HeadersSize;
1627
-
1628
- return ReadHeader(
1629
- EXTERNAL_CODECS_LOC_VARS
1630
- db
1631
- _7Z_DECODER_CRYPRO_VARS
1632
- );
1633
- }
1634
-
1635
-
1636
- HRESULT CInArchive::ReadDatabase(
1637
- DECL_EXTERNAL_CODECS_LOC_VARS
1638
- CDbEx &db
1639
- _7Z_DECODER_CRYPRO_VARS_DECL
1640
- )
1641
- {
1642
- try
1643
- {
1644
- HRESULT res = ReadDatabase2(
1645
- EXTERNAL_CODECS_LOC_VARS db
1646
- _7Z_DECODER_CRYPRO_VARS
1647
- );
1648
- if (ThereIsHeaderError)
1649
- db.ThereIsHeaderError = true;
1650
- if (res == E_NOTIMPL)
1651
- ThrowUnsupported();
1652
- return res;
1653
- }
1654
- catch(CUnsupportedFeatureException &)
1655
- {
1656
- db.UnsupportedFeatureError = true;
1657
- return S_FALSE;
1658
- }
1659
- catch(CInArchiveException &)
1660
- {
1661
- db.ThereIsHeaderError = true;
1662
- return S_FALSE;
1663
- }
1664
- }
1665
-
1666
- }}