hane 1.0.0 → 1.1.1

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 (381) hide show
  1. package/README.md +32 -32
  2. package/binding.gyp +77 -50
  3. package/deps/win-nodeapi/node_api.def +158 -0
  4. package/deps/win-nodeapi/node_api.lib +0 -0
  5. package/dist/index.js +1 -1
  6. package/package.json +34 -33
  7. package/src/native/addon.cc +247 -207
  8. package/src/native/zsign_driver.cc +87 -87
  9. package/src/native/zsign_driver.h +38 -38
  10. package/vendor/zlib/.cmake-format.yaml +245 -245
  11. package/vendor/zlib/.github/workflows/c-std.yml +230 -230
  12. package/vendor/zlib/.github/workflows/cmake.yml +112 -112
  13. package/vendor/zlib/.github/workflows/configure.yml +136 -136
  14. package/vendor/zlib/.github/workflows/fuzz.yml +25 -25
  15. package/vendor/zlib/.github/workflows/msys-cygwin.yml +77 -77
  16. package/vendor/zlib/BUILD.bazel +134 -134
  17. package/vendor/zlib/CMakeLists.txt +330 -330
  18. package/vendor/zlib/ChangeLog +1621 -1621
  19. package/vendor/zlib/FAQ +367 -367
  20. package/vendor/zlib/INDEX +68 -68
  21. package/vendor/zlib/LICENSE +22 -22
  22. package/vendor/zlib/MODULE.bazel +9 -9
  23. package/vendor/zlib/Makefile.in +419 -419
  24. package/vendor/zlib/README +115 -115
  25. package/vendor/zlib/README-cmake.md +83 -83
  26. package/vendor/zlib/adler32.c +164 -164
  27. package/vendor/zlib/amiga/Makefile.pup +69 -69
  28. package/vendor/zlib/amiga/Makefile.sas +68 -68
  29. package/vendor/zlib/compress.c +75 -75
  30. package/vendor/zlib/configure +966 -966
  31. package/vendor/zlib/contrib/README.contrib +57 -57
  32. package/vendor/zlib/contrib/ada/buffer_demo.adb +106 -106
  33. package/vendor/zlib/contrib/ada/mtest.adb +156 -156
  34. package/vendor/zlib/contrib/ada/read.adb +156 -156
  35. package/vendor/zlib/contrib/ada/readme.txt +65 -65
  36. package/vendor/zlib/contrib/ada/test.adb +463 -463
  37. package/vendor/zlib/contrib/ada/zlib-streams.adb +225 -225
  38. package/vendor/zlib/contrib/ada/zlib-streams.ads +114 -114
  39. package/vendor/zlib/contrib/ada/zlib-thin.adb +142 -142
  40. package/vendor/zlib/contrib/ada/zlib-thin.ads +450 -450
  41. package/vendor/zlib/contrib/ada/zlib.adb +701 -701
  42. package/vendor/zlib/contrib/ada/zlib.ads +328 -328
  43. package/vendor/zlib/contrib/ada/zlib.gpr +20 -20
  44. package/vendor/zlib/contrib/blast/Makefile +8 -8
  45. package/vendor/zlib/contrib/blast/README +4 -4
  46. package/vendor/zlib/contrib/blast/blast.c +466 -466
  47. package/vendor/zlib/contrib/blast/blast.h +83 -83
  48. package/vendor/zlib/contrib/delphi/ZLib.pas +557 -557
  49. package/vendor/zlib/contrib/delphi/ZLibConst.pas +11 -11
  50. package/vendor/zlib/contrib/delphi/readme.txt +76 -76
  51. package/vendor/zlib/contrib/delphi/zlibd32.mak +99 -99
  52. package/vendor/zlib/contrib/gcc_gvmat64/gvmat64.S +574 -574
  53. package/vendor/zlib/contrib/infback9/README +1 -1
  54. package/vendor/zlib/contrib/infback9/infback9.c +603 -603
  55. package/vendor/zlib/contrib/infback9/infback9.h +37 -37
  56. package/vendor/zlib/contrib/infback9/inffix9.h +107 -107
  57. package/vendor/zlib/contrib/infback9/inflate9.h +47 -47
  58. package/vendor/zlib/contrib/infback9/inftree9.c +319 -319
  59. package/vendor/zlib/contrib/infback9/inftree9.h +61 -61
  60. package/vendor/zlib/contrib/iostream/test.cpp +24 -24
  61. package/vendor/zlib/contrib/iostream/zfstream.cpp +329 -329
  62. package/vendor/zlib/contrib/iostream/zfstream.h +128 -128
  63. package/vendor/zlib/contrib/iostream2/zstream.h +307 -307
  64. package/vendor/zlib/contrib/iostream2/zstream_test.cpp +25 -25
  65. package/vendor/zlib/contrib/iostream3/README +35 -35
  66. package/vendor/zlib/contrib/iostream3/TODO +17 -17
  67. package/vendor/zlib/contrib/iostream3/test.cc +50 -50
  68. package/vendor/zlib/contrib/iostream3/zfstream.cc +479 -479
  69. package/vendor/zlib/contrib/iostream3/zfstream.h +466 -466
  70. package/vendor/zlib/contrib/minizip/CMakeLists.txt +380 -380
  71. package/vendor/zlib/contrib/minizip/Makefile +37 -37
  72. package/vendor/zlib/contrib/minizip/Makefile.am +45 -45
  73. package/vendor/zlib/contrib/minizip/MiniZip64_Changes.txt +6 -6
  74. package/vendor/zlib/contrib/minizip/MiniZip64_info.txt +74 -74
  75. package/vendor/zlib/contrib/minizip/configure.ac +32 -32
  76. package/vendor/zlib/contrib/minizip/crypt.h +128 -128
  77. package/vendor/zlib/contrib/minizip/ints.h +57 -57
  78. package/vendor/zlib/contrib/minizip/ioapi.c +231 -231
  79. package/vendor/zlib/contrib/minizip/ioapi.h +183 -183
  80. package/vendor/zlib/contrib/minizip/iowin32.c +448 -448
  81. package/vendor/zlib/contrib/minizip/iowin32.h +28 -28
  82. package/vendor/zlib/contrib/minizip/make_vms.com +25 -25
  83. package/vendor/zlib/contrib/minizip/miniunz.c +647 -647
  84. package/vendor/zlib/contrib/minizip/miniunzip.1 +63 -63
  85. package/vendor/zlib/contrib/minizip/minizip.1 +46 -46
  86. package/vendor/zlib/contrib/minizip/minizip.c +512 -512
  87. package/vendor/zlib/contrib/minizip/minizip.pc.in +12 -12
  88. package/vendor/zlib/contrib/minizip/minizip.pc.txt +13 -13
  89. package/vendor/zlib/contrib/minizip/minizipConfig.cmake.in +35 -35
  90. package/vendor/zlib/contrib/minizip/mztools.c +288 -288
  91. package/vendor/zlib/contrib/minizip/mztools.h +37 -37
  92. package/vendor/zlib/contrib/minizip/skipset.h +361 -361
  93. package/vendor/zlib/contrib/minizip/test/CMakeLists.txt +121 -121
  94. package/vendor/zlib/contrib/minizip/test/add_subdirectory_exclude_test.cmake.in +29 -29
  95. package/vendor/zlib/contrib/minizip/test/add_subdirectory_test.cmake.in +28 -28
  96. package/vendor/zlib/contrib/minizip/test/find_package_test.cmake.in +25 -25
  97. package/vendor/zlib/contrib/minizip/test/test_helper.cm +32 -32
  98. package/vendor/zlib/contrib/minizip/unzip.c +1981 -1981
  99. package/vendor/zlib/contrib/minizip/unzip.h +441 -441
  100. package/vendor/zlib/contrib/minizip/zip.c +2199 -2199
  101. package/vendor/zlib/contrib/minizip/zip.h +370 -370
  102. package/vendor/zlib/contrib/nuget/nuget.csproj +43 -43
  103. package/vendor/zlib/contrib/nuget/nuget.sln +22 -22
  104. package/vendor/zlib/contrib/pascal/example.pas +599 -599
  105. package/vendor/zlib/contrib/pascal/readme.txt +76 -76
  106. package/vendor/zlib/contrib/pascal/zlibd32.mak +99 -99
  107. package/vendor/zlib/contrib/pascal/zlibpas.pas +276 -276
  108. package/vendor/zlib/contrib/puff/Makefile +42 -42
  109. package/vendor/zlib/contrib/puff/README +63 -63
  110. package/vendor/zlib/contrib/puff/puff.c +840 -840
  111. package/vendor/zlib/contrib/puff/puff.h +35 -35
  112. package/vendor/zlib/contrib/puff/pufftest.c +169 -169
  113. package/vendor/zlib/contrib/untgz/Makefile +14 -14
  114. package/vendor/zlib/contrib/untgz/Makefile.msc +17 -17
  115. package/vendor/zlib/contrib/untgz/untgz.c +667 -667
  116. package/vendor/zlib/contrib/vstudio/readme.txt +81 -81
  117. package/vendor/zlib/contrib/vstudio/vc12/miniunz.vcxproj +315 -315
  118. package/vendor/zlib/contrib/vstudio/vc12/minizip.vcxproj +312 -312
  119. package/vendor/zlib/contrib/vstudio/vc12/testzlib.vcxproj +421 -421
  120. package/vendor/zlib/contrib/vstudio/vc12/testzlibdll.vcxproj +315 -315
  121. package/vendor/zlib/contrib/vstudio/vc12/zlib.rc +32 -32
  122. package/vendor/zlib/contrib/vstudio/vc12/zlibstat.vcxproj +458 -458
  123. package/vendor/zlib/contrib/vstudio/vc12/zlibvc.sln +119 -119
  124. package/vendor/zlib/contrib/vstudio/vc12/zlibvc.vcxproj +667 -667
  125. package/vendor/zlib/contrib/vstudio/vc14/miniunz.vcxproj +315 -315
  126. package/vendor/zlib/contrib/vstudio/vc14/minizip.vcxproj +312 -312
  127. package/vendor/zlib/contrib/vstudio/vc14/testzlib.vcxproj +421 -421
  128. package/vendor/zlib/contrib/vstudio/vc14/testzlibdll.vcxproj +315 -315
  129. package/vendor/zlib/contrib/vstudio/vc14/zlib.rc +32 -32
  130. package/vendor/zlib/contrib/vstudio/vc14/zlibstat.vcxproj +458 -458
  131. package/vendor/zlib/contrib/vstudio/vc14/zlibvc.sln +119 -119
  132. package/vendor/zlib/contrib/vstudio/vc14/zlibvc.vcxproj +667 -667
  133. package/vendor/zlib/contrib/vstudio/vc17/miniunz.vcxproj +408 -408
  134. package/vendor/zlib/contrib/vstudio/vc17/minizip.vcxproj +404 -404
  135. package/vendor/zlib/contrib/vstudio/vc17/testzlib.vcxproj +472 -472
  136. package/vendor/zlib/contrib/vstudio/vc17/testzlibdll.vcxproj +408 -408
  137. package/vendor/zlib/contrib/vstudio/vc17/zlib.rc +32 -32
  138. package/vendor/zlib/contrib/vstudio/vc17/zlibstat.vcxproj +601 -601
  139. package/vendor/zlib/contrib/vstudio/vc17/zlibvc.sln +179 -179
  140. package/vendor/zlib/contrib/vstudio/vc17/zlibvc.vcxproj +874 -874
  141. package/vendor/zlib/crc32.c +1049 -1049
  142. package/vendor/zlib/crc32.h +9446 -9446
  143. package/vendor/zlib/deflate.c +2152 -2152
  144. package/vendor/zlib/deflate.h +380 -380
  145. package/vendor/zlib/doc/algorithm.txt +209 -209
  146. package/vendor/zlib/doc/rfc1950.txt +619 -619
  147. package/vendor/zlib/doc/rfc1951.txt +955 -955
  148. package/vendor/zlib/doc/rfc1952.txt +675 -675
  149. package/vendor/zlib/doc/txtvsbin.txt +107 -107
  150. package/vendor/zlib/examples/README.examples +54 -54
  151. package/vendor/zlib/examples/enough.c +597 -597
  152. package/vendor/zlib/examples/fitblk.c +233 -233
  153. package/vendor/zlib/examples/gun.c +702 -702
  154. package/vendor/zlib/examples/gzappend.c +504 -504
  155. package/vendor/zlib/examples/gzjoin.c +449 -449
  156. package/vendor/zlib/examples/gzlog.c +1061 -1061
  157. package/vendor/zlib/examples/gzlog.h +91 -91
  158. package/vendor/zlib/examples/gznorm.c +474 -474
  159. package/vendor/zlib/examples/zlib_how.html +549 -549
  160. package/vendor/zlib/examples/zpipe.c +209 -209
  161. package/vendor/zlib/examples/zran.c +550 -550
  162. package/vendor/zlib/examples/zran.h +53 -53
  163. package/vendor/zlib/gzclose.c +23 -23
  164. package/vendor/zlib/gzguts.h +215 -215
  165. package/vendor/zlib/gzlib.c +585 -585
  166. package/vendor/zlib/gzread.c +603 -603
  167. package/vendor/zlib/gzwrite.c +631 -631
  168. package/vendor/zlib/infback.c +628 -628
  169. package/vendor/zlib/inffast.c +320 -320
  170. package/vendor/zlib/inffast.h +11 -11
  171. package/vendor/zlib/inffixed.h +94 -94
  172. package/vendor/zlib/inflate.c +1526 -1526
  173. package/vendor/zlib/inflate.h +126 -126
  174. package/vendor/zlib/inftrees.c +299 -299
  175. package/vendor/zlib/inftrees.h +62 -62
  176. package/vendor/zlib/make_vms.com +867 -867
  177. package/vendor/zlib/msdos/Makefile.bor +115 -115
  178. package/vendor/zlib/msdos/Makefile.dj2 +104 -104
  179. package/vendor/zlib/msdos/Makefile.emx +69 -69
  180. package/vendor/zlib/msdos/Makefile.msc +112 -112
  181. package/vendor/zlib/msdos/Makefile.tc +100 -100
  182. package/vendor/zlib/nintendods/Makefile +126 -126
  183. package/vendor/zlib/nintendods/README +5 -5
  184. package/vendor/zlib/old/Makefile.emx +69 -69
  185. package/vendor/zlib/old/Makefile.riscos +151 -151
  186. package/vendor/zlib/old/README +3 -3
  187. package/vendor/zlib/old/descrip.mms +48 -48
  188. package/vendor/zlib/old/os2/Makefile.os2 +136 -136
  189. package/vendor/zlib/old/os2/zlib.def +51 -51
  190. package/vendor/zlib/old/visual-basic.txt +160 -160
  191. package/vendor/zlib/os400/README400 +48 -48
  192. package/vendor/zlib/os400/bndsrc +133 -133
  193. package/vendor/zlib/os400/make.sh +366 -366
  194. package/vendor/zlib/os400/zlib.inc +531 -531
  195. package/vendor/zlib/qnx/package.qpg +141 -141
  196. package/vendor/zlib/test/CMakeLists.txt +265 -265
  197. package/vendor/zlib/test/add_subdirectory_exclude_test.cmake.in +29 -29
  198. package/vendor/zlib/test/add_subdirectory_test.cmake.in +28 -28
  199. package/vendor/zlib/test/example.c +552 -552
  200. package/vendor/zlib/test/find_package_test.cmake.in +26 -26
  201. package/vendor/zlib/test/infcover.c +672 -672
  202. package/vendor/zlib/test/minigzip.c +590 -590
  203. package/vendor/zlib/treebuild.xml +116 -116
  204. package/vendor/zlib/trees.c +1119 -1119
  205. package/vendor/zlib/trees.h +128 -128
  206. package/vendor/zlib/uncompr.c +85 -85
  207. package/vendor/zlib/watcom/watcom_f.mak +43 -43
  208. package/vendor/zlib/watcom/watcom_l.mak +43 -43
  209. package/vendor/zlib/win32/DLL_FAQ.txt +381 -381
  210. package/vendor/zlib/win32/Makefile.bor +109 -109
  211. package/vendor/zlib/win32/Makefile.gcc +177 -177
  212. package/vendor/zlib/win32/Makefile.msc +159 -159
  213. package/vendor/zlib/win32/README-WIN32.txt +103 -103
  214. package/vendor/zlib/win32/VisualC.txt +3 -3
  215. package/vendor/zlib/win32/zlib1.rc +37 -37
  216. package/vendor/zlib/zconf.h.in +544 -544
  217. package/vendor/zlib/zlib.3 +149 -149
  218. package/vendor/zlib/zlib.h +1957 -1957
  219. package/vendor/zlib/zlib.map +103 -103
  220. package/vendor/zlib/zlib.pc.cmakein +13 -13
  221. package/vendor/zlib/zlib.pc.in +13 -13
  222. package/vendor/zlib/zlibConfig.cmake.in +26 -26
  223. package/vendor/zlib/zutil.c +299 -299
  224. package/vendor/zlib/zutil.h +257 -257
  225. package/vendor/zsign/.gitattributes +3 -3
  226. package/vendor/zsign/LICENSE +20 -20
  227. package/vendor/zsign/README.md +142 -142
  228. package/vendor/zsign/build/linux/Makefile +43 -43
  229. package/vendor/zsign/build/macos/Makefile +43 -43
  230. package/vendor/zsign/build/windows/vs2022/include/minizip/crypt.h +128 -128
  231. package/vendor/zsign/build/windows/vs2022/include/minizip/ioapi.h +216 -216
  232. package/vendor/zsign/build/windows/vs2022/include/minizip/iowin32.h +28 -28
  233. package/vendor/zsign/build/windows/vs2022/include/minizip/mztools.h +37 -37
  234. package/vendor/zsign/build/windows/vs2022/include/minizip/unzip.h +437 -437
  235. package/vendor/zsign/build/windows/vs2022/include/minizip/zip.h +364 -364
  236. package/vendor/zsign/build/windows/vs2022/include/openssl/__DECC_INCLUDE_EPILOGUE.H +22 -22
  237. package/vendor/zsign/build/windows/vs2022/include/openssl/__DECC_INCLUDE_PROLOGUE.H +26 -26
  238. package/vendor/zsign/build/windows/vs2022/include/openssl/aes.h +111 -111
  239. package/vendor/zsign/build/windows/vs2022/include/openssl/applink.c +153 -153
  240. package/vendor/zsign/build/windows/vs2022/include/openssl/asn1_mac.h +10 -10
  241. package/vendor/zsign/build/windows/vs2022/include/openssl/asn1err.h +142 -142
  242. package/vendor/zsign/build/windows/vs2022/include/openssl/async.h +104 -104
  243. package/vendor/zsign/build/windows/vs2022/include/openssl/asyncerr.h +29 -29
  244. package/vendor/zsign/build/windows/vs2022/include/openssl/bioerr.h +72 -72
  245. package/vendor/zsign/build/windows/vs2022/include/openssl/blowfish.h +78 -78
  246. package/vendor/zsign/build/windows/vs2022/include/openssl/bn.h +590 -590
  247. package/vendor/zsign/build/windows/vs2022/include/openssl/bnerr.h +47 -47
  248. package/vendor/zsign/build/windows/vs2022/include/openssl/buffer.h +62 -62
  249. package/vendor/zsign/build/windows/vs2022/include/openssl/buffererr.h +25 -25
  250. package/vendor/zsign/build/windows/vs2022/include/openssl/camellia.h +117 -117
  251. package/vendor/zsign/build/windows/vs2022/include/openssl/cast.h +71 -71
  252. package/vendor/zsign/build/windows/vs2022/include/openssl/cmac.h +52 -52
  253. package/vendor/zsign/build/windows/vs2022/include/openssl/cmp_util.h +56 -56
  254. package/vendor/zsign/build/windows/vs2022/include/openssl/cmperr.h +131 -131
  255. package/vendor/zsign/build/windows/vs2022/include/openssl/cmserr.h +125 -125
  256. package/vendor/zsign/build/windows/vs2022/include/openssl/comperr.h +38 -38
  257. package/vendor/zsign/build/windows/vs2022/include/openssl/conf_api.h +46 -46
  258. package/vendor/zsign/build/windows/vs2022/include/openssl/conferr.h +52 -52
  259. package/vendor/zsign/build/windows/vs2022/include/openssl/conftypes.h +44 -44
  260. package/vendor/zsign/build/windows/vs2022/include/openssl/core.h +236 -236
  261. package/vendor/zsign/build/windows/vs2022/include/openssl/core_dispatch.h +1022 -1022
  262. package/vendor/zsign/build/windows/vs2022/include/openssl/core_object.h +41 -41
  263. package/vendor/zsign/build/windows/vs2022/include/openssl/crmferr.h +50 -50
  264. package/vendor/zsign/build/windows/vs2022/include/openssl/cryptoerr.h +56 -56
  265. package/vendor/zsign/build/windows/vs2022/include/openssl/cryptoerr_legacy.h +1466 -1466
  266. package/vendor/zsign/build/windows/vs2022/include/openssl/cterr.h +45 -45
  267. package/vendor/zsign/build/windows/vs2022/include/openssl/decoder.h +133 -133
  268. package/vendor/zsign/build/windows/vs2022/include/openssl/decodererr.h +28 -28
  269. package/vendor/zsign/build/windows/vs2022/include/openssl/des.h +211 -211
  270. package/vendor/zsign/build/windows/vs2022/include/openssl/dh.h +339 -339
  271. package/vendor/zsign/build/windows/vs2022/include/openssl/dherr.h +59 -59
  272. package/vendor/zsign/build/windows/vs2022/include/openssl/dsa.h +280 -280
  273. package/vendor/zsign/build/windows/vs2022/include/openssl/dsaerr.h +44 -44
  274. package/vendor/zsign/build/windows/vs2022/include/openssl/dtls1.h +57 -57
  275. package/vendor/zsign/build/windows/vs2022/include/openssl/e_os2.h +310 -310
  276. package/vendor/zsign/build/windows/vs2022/include/openssl/e_ostime.h +38 -38
  277. package/vendor/zsign/build/windows/vs2022/include/openssl/ebcdic.h +39 -39
  278. package/vendor/zsign/build/windows/vs2022/include/openssl/ec.h +1588 -1588
  279. package/vendor/zsign/build/windows/vs2022/include/openssl/ecdh.h +10 -10
  280. package/vendor/zsign/build/windows/vs2022/include/openssl/ecdsa.h +10 -10
  281. package/vendor/zsign/build/windows/vs2022/include/openssl/ecerr.h +104 -104
  282. package/vendor/zsign/build/windows/vs2022/include/openssl/encoder.h +124 -124
  283. package/vendor/zsign/build/windows/vs2022/include/openssl/encodererr.h +28 -28
  284. package/vendor/zsign/build/windows/vs2022/include/openssl/engine.h +833 -833
  285. package/vendor/zsign/build/windows/vs2022/include/openssl/engineerr.h +63 -63
  286. package/vendor/zsign/build/windows/vs2022/include/openssl/esserr.h +32 -32
  287. package/vendor/zsign/build/windows/vs2022/include/openssl/evp.h +2231 -2231
  288. package/vendor/zsign/build/windows/vs2022/include/openssl/evperr.h +140 -140
  289. package/vendor/zsign/build/windows/vs2022/include/openssl/fips_names.h +50 -50
  290. package/vendor/zsign/build/windows/vs2022/include/openssl/hmac.h +62 -62
  291. package/vendor/zsign/build/windows/vs2022/include/openssl/hpke.h +169 -169
  292. package/vendor/zsign/build/windows/vs2022/include/openssl/http.h +118 -118
  293. package/vendor/zsign/build/windows/vs2022/include/openssl/httperr.h +56 -56
  294. package/vendor/zsign/build/windows/vs2022/include/openssl/idea.h +82 -82
  295. package/vendor/zsign/build/windows/vs2022/include/openssl/indicator.h +31 -31
  296. package/vendor/zsign/build/windows/vs2022/include/openssl/kdf.h +138 -138
  297. package/vendor/zsign/build/windows/vs2022/include/openssl/kdferr.h +16 -16
  298. package/vendor/zsign/build/windows/vs2022/include/openssl/macros.h +338 -338
  299. package/vendor/zsign/build/windows/vs2022/include/openssl/md2.h +56 -56
  300. package/vendor/zsign/build/windows/vs2022/include/openssl/md4.h +63 -63
  301. package/vendor/zsign/build/windows/vs2022/include/openssl/md5.h +62 -62
  302. package/vendor/zsign/build/windows/vs2022/include/openssl/mdc2.h +55 -55
  303. package/vendor/zsign/build/windows/vs2022/include/openssl/modes.h +219 -219
  304. package/vendor/zsign/build/windows/vs2022/include/openssl/obj_mac.h +5820 -5820
  305. package/vendor/zsign/build/windows/vs2022/include/openssl/objects.h +184 -184
  306. package/vendor/zsign/build/windows/vs2022/include/openssl/objectserr.h +28 -28
  307. package/vendor/zsign/build/windows/vs2022/include/openssl/ocsperr.h +53 -53
  308. package/vendor/zsign/build/windows/vs2022/include/openssl/opensslconf.h +17 -17
  309. package/vendor/zsign/build/windows/vs2022/include/openssl/ossl_typ.h +16 -16
  310. package/vendor/zsign/build/windows/vs2022/include/openssl/param_build.h +63 -63
  311. package/vendor/zsign/build/windows/vs2022/include/openssl/params.h +160 -160
  312. package/vendor/zsign/build/windows/vs2022/include/openssl/pem.h +543 -543
  313. package/vendor/zsign/build/windows/vs2022/include/openssl/pem2.h +19 -19
  314. package/vendor/zsign/build/windows/vs2022/include/openssl/pemerr.h +58 -58
  315. package/vendor/zsign/build/windows/vs2022/include/openssl/pkcs12err.h +46 -46
  316. package/vendor/zsign/build/windows/vs2022/include/openssl/pkcs7err.h +63 -63
  317. package/vendor/zsign/build/windows/vs2022/include/openssl/prov_ssl.h +38 -38
  318. package/vendor/zsign/build/windows/vs2022/include/openssl/proverr.h +162 -162
  319. package/vendor/zsign/build/windows/vs2022/include/openssl/provider.h +66 -66
  320. package/vendor/zsign/build/windows/vs2022/include/openssl/quic.h +70 -70
  321. package/vendor/zsign/build/windows/vs2022/include/openssl/rand.h +125 -125
  322. package/vendor/zsign/build/windows/vs2022/include/openssl/randerr.h +69 -69
  323. package/vendor/zsign/build/windows/vs2022/include/openssl/rc2.h +68 -68
  324. package/vendor/zsign/build/windows/vs2022/include/openssl/rc4.h +47 -47
  325. package/vendor/zsign/build/windows/vs2022/include/openssl/rc5.h +79 -79
  326. package/vendor/zsign/build/windows/vs2022/include/openssl/ripemd.h +59 -59
  327. package/vendor/zsign/build/windows/vs2022/include/openssl/rsa.h +615 -615
  328. package/vendor/zsign/build/windows/vs2022/include/openssl/rsaerr.h +107 -107
  329. package/vendor/zsign/build/windows/vs2022/include/openssl/seed.h +113 -113
  330. package/vendor/zsign/build/windows/vs2022/include/openssl/self_test.h +98 -98
  331. package/vendor/zsign/build/windows/vs2022/include/openssl/sha.h +139 -139
  332. package/vendor/zsign/build/windows/vs2022/include/openssl/srtp.h +68 -68
  333. package/vendor/zsign/build/windows/vs2022/include/openssl/ssl2.h +30 -30
  334. package/vendor/zsign/build/windows/vs2022/include/openssl/ssl3.h +357 -357
  335. package/vendor/zsign/build/windows/vs2022/include/openssl/sslerr.h +379 -379
  336. package/vendor/zsign/build/windows/vs2022/include/openssl/sslerr_legacy.h +467 -467
  337. package/vendor/zsign/build/windows/vs2022/include/openssl/stack.h +90 -90
  338. package/vendor/zsign/build/windows/vs2022/include/openssl/store.h +377 -377
  339. package/vendor/zsign/build/windows/vs2022/include/openssl/storeerr.h +49 -49
  340. package/vendor/zsign/build/windows/vs2022/include/openssl/symhacks.h +39 -39
  341. package/vendor/zsign/build/windows/vs2022/include/openssl/thread.h +31 -31
  342. package/vendor/zsign/build/windows/vs2022/include/openssl/tls1.h +1220 -1220
  343. package/vendor/zsign/build/windows/vs2022/include/openssl/trace.h +320 -320
  344. package/vendor/zsign/build/windows/vs2022/include/openssl/ts.h +522 -522
  345. package/vendor/zsign/build/windows/vs2022/include/openssl/tserr.h +67 -67
  346. package/vendor/zsign/build/windows/vs2022/include/openssl/txt_db.h +63 -63
  347. package/vendor/zsign/build/windows/vs2022/include/openssl/types.h +245 -245
  348. package/vendor/zsign/build/windows/vs2022/include/openssl/uierr.h +38 -38
  349. package/vendor/zsign/build/windows/vs2022/include/openssl/whrlpool.h +62 -62
  350. package/vendor/zsign/build/windows/vs2022/include/openssl/x509err.h +70 -70
  351. package/vendor/zsign/build/windows/vs2022/include/openssl/x509v3err.h +96 -96
  352. package/vendor/zsign/src/archo.cpp +742 -742
  353. package/vendor/zsign/src/archo.h +61 -61
  354. package/vendor/zsign/src/bundle.cpp +589 -589
  355. package/vendor/zsign/src/bundle.h +46 -46
  356. package/vendor/zsign/src/common/archive.cpp +246 -246
  357. package/vendor/zsign/src/common/archive.h +22 -22
  358. package/vendor/zsign/src/common/common.h +56 -56
  359. package/vendor/zsign/src/common/fs.cpp +573 -573
  360. package/vendor/zsign/src/common/fs.h +50 -50
  361. package/vendor/zsign/src/common/log.cpp +145 -145
  362. package/vendor/zsign/src/common/log.h +37 -37
  363. package/vendor/zsign/src/common/mach-o.h +585 -585
  364. package/vendor/zsign/src/common/sha.cpp +133 -133
  365. package/vendor/zsign/src/common/sha.h +24 -24
  366. package/vendor/zsign/src/common/timer.cpp +28 -28
  367. package/vendor/zsign/src/common/timer.h +17 -17
  368. package/vendor/zsign/src/common/util.cpp +185 -185
  369. package/vendor/zsign/src/common/util.h +25 -25
  370. package/vendor/zsign/src/macho.cpp +273 -273
  371. package/vendor/zsign/src/macho.h +38 -38
  372. package/vendor/zsign/src/openssl.cpp +698 -698
  373. package/vendor/zsign/src/openssl.h +71 -71
  374. package/vendor/zsign/src/signing.cpp +745 -745
  375. package/vendor/zsign/src/signing.h +59 -59
  376. package/vendor/zsign/src/zsign.cpp +317 -317
  377. package/vendor/zsign/test/dylib/demo/Makefile +12 -12
  378. package/vendor/zsign/test/dylib/demo/control +9 -9
  379. package/vendor/zsign/test/dylib/demo/demo.m +21 -21
  380. package/vendor/zsign/test/linux/test.sh +19 -19
  381. package/vendor/zsign/test/macos/test.sh +19 -19
@@ -1,320 +1,320 @@
1
- /* inffast.c -- fast decoding
2
- * Copyright (C) 1995-2017 Mark Adler
3
- * For conditions of distribution and use, see copyright notice in zlib.h
4
- */
5
-
6
- #include "zutil.h"
7
- #include "inftrees.h"
8
- #include "inflate.h"
9
- #include "inffast.h"
10
-
11
- #ifdef ASMINF
12
- # pragma message("Assembler code may have bugs -- use at your own risk")
13
- #else
14
-
15
- /*
16
- Decode literal, length, and distance codes and write out the resulting
17
- literal and match bytes until either not enough input or output is
18
- available, an end-of-block is encountered, or a data error is encountered.
19
- When large enough input and output buffers are supplied to inflate(), for
20
- example, a 16K input buffer and a 64K output buffer, more than 95% of the
21
- inflate execution time is spent in this routine.
22
-
23
- Entry assumptions:
24
-
25
- state->mode == LEN
26
- strm->avail_in >= 6
27
- strm->avail_out >= 258
28
- start >= strm->avail_out
29
- state->bits < 8
30
-
31
- On return, state->mode is one of:
32
-
33
- LEN -- ran out of enough output space or enough available input
34
- TYPE -- reached end of block code, inflate() to interpret next block
35
- BAD -- error in block data
36
-
37
- Notes:
38
-
39
- - The maximum input bits used by a length/distance pair is 15 bits for the
40
- length code, 5 bits for the length extra, 15 bits for the distance code,
41
- and 13 bits for the distance extra. This totals 48 bits, or six bytes.
42
- Therefore if strm->avail_in >= 6, then there is enough input to avoid
43
- checking for available input while decoding.
44
-
45
- - The maximum bytes that a single length/distance pair can output is 258
46
- bytes, which is the maximum length that can be coded. inflate_fast()
47
- requires strm->avail_out >= 258 for each loop to avoid checking for
48
- output space.
49
- */
50
- void ZLIB_INTERNAL inflate_fast(z_streamp strm, unsigned start) {
51
- struct inflate_state FAR *state;
52
- z_const unsigned char FAR *in; /* local strm->next_in */
53
- z_const unsigned char FAR *last; /* have enough input while in < last */
54
- unsigned char FAR *out; /* local strm->next_out */
55
- unsigned char FAR *beg; /* inflate()'s initial strm->next_out */
56
- unsigned char FAR *end; /* while out < end, enough space available */
57
- #ifdef INFLATE_STRICT
58
- unsigned dmax; /* maximum distance from zlib header */
59
- #endif
60
- unsigned wsize; /* window size or zero if not using window */
61
- unsigned whave; /* valid bytes in the window */
62
- unsigned wnext; /* window write index */
63
- unsigned char FAR *window; /* allocated sliding window, if wsize != 0 */
64
- unsigned long hold; /* local strm->hold */
65
- unsigned bits; /* local strm->bits */
66
- code const FAR *lcode; /* local strm->lencode */
67
- code const FAR *dcode; /* local strm->distcode */
68
- unsigned lmask; /* mask for first level of length codes */
69
- unsigned dmask; /* mask for first level of distance codes */
70
- code const *here; /* retrieved table entry */
71
- unsigned op; /* code bits, operation, extra bits, or */
72
- /* window position, window bytes to copy */
73
- unsigned len; /* match length, unused bytes */
74
- unsigned dist; /* match distance */
75
- unsigned char FAR *from; /* where to copy match from */
76
-
77
- /* copy state to local variables */
78
- state = (struct inflate_state FAR *)strm->state;
79
- in = strm->next_in;
80
- last = in + (strm->avail_in - 5);
81
- out = strm->next_out;
82
- beg = out - (start - strm->avail_out);
83
- end = out + (strm->avail_out - 257);
84
- #ifdef INFLATE_STRICT
85
- dmax = state->dmax;
86
- #endif
87
- wsize = state->wsize;
88
- whave = state->whave;
89
- wnext = state->wnext;
90
- window = state->window;
91
- hold = state->hold;
92
- bits = state->bits;
93
- lcode = state->lencode;
94
- dcode = state->distcode;
95
- lmask = (1U << state->lenbits) - 1;
96
- dmask = (1U << state->distbits) - 1;
97
-
98
- /* decode literals and length/distances until end-of-block or not enough
99
- input data or output space */
100
- do {
101
- if (bits < 15) {
102
- hold += (unsigned long)(*in++) << bits;
103
- bits += 8;
104
- hold += (unsigned long)(*in++) << bits;
105
- bits += 8;
106
- }
107
- here = lcode + (hold & lmask);
108
- dolen:
109
- op = (unsigned)(here->bits);
110
- hold >>= op;
111
- bits -= op;
112
- op = (unsigned)(here->op);
113
- if (op == 0) { /* literal */
114
- Tracevv((stderr, here->val >= 0x20 && here->val < 0x7f ?
115
- "inflate: literal '%c'\n" :
116
- "inflate: literal 0x%02x\n", here->val));
117
- *out++ = (unsigned char)(here->val);
118
- }
119
- else if (op & 16) { /* length base */
120
- len = (unsigned)(here->val);
121
- op &= 15; /* number of extra bits */
122
- if (op) {
123
- if (bits < op) {
124
- hold += (unsigned long)(*in++) << bits;
125
- bits += 8;
126
- }
127
- len += (unsigned)hold & ((1U << op) - 1);
128
- hold >>= op;
129
- bits -= op;
130
- }
131
- Tracevv((stderr, "inflate: length %u\n", len));
132
- if (bits < 15) {
133
- hold += (unsigned long)(*in++) << bits;
134
- bits += 8;
135
- hold += (unsigned long)(*in++) << bits;
136
- bits += 8;
137
- }
138
- here = dcode + (hold & dmask);
139
- dodist:
140
- op = (unsigned)(here->bits);
141
- hold >>= op;
142
- bits -= op;
143
- op = (unsigned)(here->op);
144
- if (op & 16) { /* distance base */
145
- dist = (unsigned)(here->val);
146
- op &= 15; /* number of extra bits */
147
- if (bits < op) {
148
- hold += (unsigned long)(*in++) << bits;
149
- bits += 8;
150
- if (bits < op) {
151
- hold += (unsigned long)(*in++) << bits;
152
- bits += 8;
153
- }
154
- }
155
- dist += (unsigned)hold & ((1U << op) - 1);
156
- #ifdef INFLATE_STRICT
157
- if (dist > dmax) {
158
- strm->msg = (z_const char *)"invalid distance too far back";
159
- state->mode = BAD;
160
- break;
161
- }
162
- #endif
163
- hold >>= op;
164
- bits -= op;
165
- Tracevv((stderr, "inflate: distance %u\n", dist));
166
- op = (unsigned)(out - beg); /* max distance in output */
167
- if (dist > op) { /* see if copy from window */
168
- op = dist - op; /* distance back in window */
169
- if (op > whave) {
170
- if (state->sane) {
171
- strm->msg =
172
- (z_const char *)"invalid distance too far back";
173
- state->mode = BAD;
174
- break;
175
- }
176
- #ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR
177
- if (len <= op - whave) {
178
- do {
179
- *out++ = 0;
180
- } while (--len);
181
- continue;
182
- }
183
- len -= op - whave;
184
- do {
185
- *out++ = 0;
186
- } while (--op > whave);
187
- if (op == 0) {
188
- from = out - dist;
189
- do {
190
- *out++ = *from++;
191
- } while (--len);
192
- continue;
193
- }
194
- #endif
195
- }
196
- from = window;
197
- if (wnext == 0) { /* very common case */
198
- from += wsize - op;
199
- if (op < len) { /* some from window */
200
- len -= op;
201
- do {
202
- *out++ = *from++;
203
- } while (--op);
204
- from = out - dist; /* rest from output */
205
- }
206
- }
207
- else if (wnext < op) { /* wrap around window */
208
- from += wsize + wnext - op;
209
- op -= wnext;
210
- if (op < len) { /* some from end of window */
211
- len -= op;
212
- do {
213
- *out++ = *from++;
214
- } while (--op);
215
- from = window;
216
- if (wnext < len) { /* some from start of window */
217
- op = wnext;
218
- len -= op;
219
- do {
220
- *out++ = *from++;
221
- } while (--op);
222
- from = out - dist; /* rest from output */
223
- }
224
- }
225
- }
226
- else { /* contiguous in window */
227
- from += wnext - op;
228
- if (op < len) { /* some from window */
229
- len -= op;
230
- do {
231
- *out++ = *from++;
232
- } while (--op);
233
- from = out - dist; /* rest from output */
234
- }
235
- }
236
- while (len > 2) {
237
- *out++ = *from++;
238
- *out++ = *from++;
239
- *out++ = *from++;
240
- len -= 3;
241
- }
242
- if (len) {
243
- *out++ = *from++;
244
- if (len > 1)
245
- *out++ = *from++;
246
- }
247
- }
248
- else {
249
- from = out - dist; /* copy direct from output */
250
- do { /* minimum length is three */
251
- *out++ = *from++;
252
- *out++ = *from++;
253
- *out++ = *from++;
254
- len -= 3;
255
- } while (len > 2);
256
- if (len) {
257
- *out++ = *from++;
258
- if (len > 1)
259
- *out++ = *from++;
260
- }
261
- }
262
- }
263
- else if ((op & 64) == 0) { /* 2nd level distance code */
264
- here = dcode + here->val + (hold & ((1U << op) - 1));
265
- goto dodist;
266
- }
267
- else {
268
- strm->msg = (z_const char *)"invalid distance code";
269
- state->mode = BAD;
270
- break;
271
- }
272
- }
273
- else if ((op & 64) == 0) { /* 2nd level length code */
274
- here = lcode + here->val + (hold & ((1U << op) - 1));
275
- goto dolen;
276
- }
277
- else if (op & 32) { /* end-of-block */
278
- Tracevv((stderr, "inflate: end of block\n"));
279
- state->mode = TYPE;
280
- break;
281
- }
282
- else {
283
- strm->msg = (z_const char *)"invalid literal/length code";
284
- state->mode = BAD;
285
- break;
286
- }
287
- } while (in < last && out < end);
288
-
289
- /* return unused bytes (on entry, bits < 8, so in won't go too far back) */
290
- len = bits >> 3;
291
- in -= len;
292
- bits -= len << 3;
293
- hold &= (1U << bits) - 1;
294
-
295
- /* update state and return */
296
- strm->next_in = in;
297
- strm->next_out = out;
298
- strm->avail_in = (unsigned)(in < last ? 5 + (last - in) : 5 - (in - last));
299
- strm->avail_out = (unsigned)(out < end ?
300
- 257 + (end - out) : 257 - (out - end));
301
- state->hold = hold;
302
- state->bits = bits;
303
- return;
304
- }
305
-
306
- /*
307
- inflate_fast() speedups that turned out slower (on a PowerPC G3 750CXe):
308
- - Using bit fields for code structure
309
- - Different op definition to avoid & for extra bits (do & for table bits)
310
- - Three separate decoding do-loops for direct, window, and wnext == 0
311
- - Special case for distance > 1 copies to do overlapped load and store copy
312
- - Explicit branch predictions (based on measured branch probabilities)
313
- - Deferring match copy and interspersed it with decoding subsequent codes
314
- - Swapping literal/length else
315
- - Swapping window/direct else
316
- - Larger unrolled copy loops (three is about right)
317
- - Moving len -= 3 statement into middle of loop
318
- */
319
-
320
- #endif /* !ASMINF */
1
+ /* inffast.c -- fast decoding
2
+ * Copyright (C) 1995-2017 Mark Adler
3
+ * For conditions of distribution and use, see copyright notice in zlib.h
4
+ */
5
+
6
+ #include "zutil.h"
7
+ #include "inftrees.h"
8
+ #include "inflate.h"
9
+ #include "inffast.h"
10
+
11
+ #ifdef ASMINF
12
+ # pragma message("Assembler code may have bugs -- use at your own risk")
13
+ #else
14
+
15
+ /*
16
+ Decode literal, length, and distance codes and write out the resulting
17
+ literal and match bytes until either not enough input or output is
18
+ available, an end-of-block is encountered, or a data error is encountered.
19
+ When large enough input and output buffers are supplied to inflate(), for
20
+ example, a 16K input buffer and a 64K output buffer, more than 95% of the
21
+ inflate execution time is spent in this routine.
22
+
23
+ Entry assumptions:
24
+
25
+ state->mode == LEN
26
+ strm->avail_in >= 6
27
+ strm->avail_out >= 258
28
+ start >= strm->avail_out
29
+ state->bits < 8
30
+
31
+ On return, state->mode is one of:
32
+
33
+ LEN -- ran out of enough output space or enough available input
34
+ TYPE -- reached end of block code, inflate() to interpret next block
35
+ BAD -- error in block data
36
+
37
+ Notes:
38
+
39
+ - The maximum input bits used by a length/distance pair is 15 bits for the
40
+ length code, 5 bits for the length extra, 15 bits for the distance code,
41
+ and 13 bits for the distance extra. This totals 48 bits, or six bytes.
42
+ Therefore if strm->avail_in >= 6, then there is enough input to avoid
43
+ checking for available input while decoding.
44
+
45
+ - The maximum bytes that a single length/distance pair can output is 258
46
+ bytes, which is the maximum length that can be coded. inflate_fast()
47
+ requires strm->avail_out >= 258 for each loop to avoid checking for
48
+ output space.
49
+ */
50
+ void ZLIB_INTERNAL inflate_fast(z_streamp strm, unsigned start) {
51
+ struct inflate_state FAR *state;
52
+ z_const unsigned char FAR *in; /* local strm->next_in */
53
+ z_const unsigned char FAR *last; /* have enough input while in < last */
54
+ unsigned char FAR *out; /* local strm->next_out */
55
+ unsigned char FAR *beg; /* inflate()'s initial strm->next_out */
56
+ unsigned char FAR *end; /* while out < end, enough space available */
57
+ #ifdef INFLATE_STRICT
58
+ unsigned dmax; /* maximum distance from zlib header */
59
+ #endif
60
+ unsigned wsize; /* window size or zero if not using window */
61
+ unsigned whave; /* valid bytes in the window */
62
+ unsigned wnext; /* window write index */
63
+ unsigned char FAR *window; /* allocated sliding window, if wsize != 0 */
64
+ unsigned long hold; /* local strm->hold */
65
+ unsigned bits; /* local strm->bits */
66
+ code const FAR *lcode; /* local strm->lencode */
67
+ code const FAR *dcode; /* local strm->distcode */
68
+ unsigned lmask; /* mask for first level of length codes */
69
+ unsigned dmask; /* mask for first level of distance codes */
70
+ code const *here; /* retrieved table entry */
71
+ unsigned op; /* code bits, operation, extra bits, or */
72
+ /* window position, window bytes to copy */
73
+ unsigned len; /* match length, unused bytes */
74
+ unsigned dist; /* match distance */
75
+ unsigned char FAR *from; /* where to copy match from */
76
+
77
+ /* copy state to local variables */
78
+ state = (struct inflate_state FAR *)strm->state;
79
+ in = strm->next_in;
80
+ last = in + (strm->avail_in - 5);
81
+ out = strm->next_out;
82
+ beg = out - (start - strm->avail_out);
83
+ end = out + (strm->avail_out - 257);
84
+ #ifdef INFLATE_STRICT
85
+ dmax = state->dmax;
86
+ #endif
87
+ wsize = state->wsize;
88
+ whave = state->whave;
89
+ wnext = state->wnext;
90
+ window = state->window;
91
+ hold = state->hold;
92
+ bits = state->bits;
93
+ lcode = state->lencode;
94
+ dcode = state->distcode;
95
+ lmask = (1U << state->lenbits) - 1;
96
+ dmask = (1U << state->distbits) - 1;
97
+
98
+ /* decode literals and length/distances until end-of-block or not enough
99
+ input data or output space */
100
+ do {
101
+ if (bits < 15) {
102
+ hold += (unsigned long)(*in++) << bits;
103
+ bits += 8;
104
+ hold += (unsigned long)(*in++) << bits;
105
+ bits += 8;
106
+ }
107
+ here = lcode + (hold & lmask);
108
+ dolen:
109
+ op = (unsigned)(here->bits);
110
+ hold >>= op;
111
+ bits -= op;
112
+ op = (unsigned)(here->op);
113
+ if (op == 0) { /* literal */
114
+ Tracevv((stderr, here->val >= 0x20 && here->val < 0x7f ?
115
+ "inflate: literal '%c'\n" :
116
+ "inflate: literal 0x%02x\n", here->val));
117
+ *out++ = (unsigned char)(here->val);
118
+ }
119
+ else if (op & 16) { /* length base */
120
+ len = (unsigned)(here->val);
121
+ op &= 15; /* number of extra bits */
122
+ if (op) {
123
+ if (bits < op) {
124
+ hold += (unsigned long)(*in++) << bits;
125
+ bits += 8;
126
+ }
127
+ len += (unsigned)hold & ((1U << op) - 1);
128
+ hold >>= op;
129
+ bits -= op;
130
+ }
131
+ Tracevv((stderr, "inflate: length %u\n", len));
132
+ if (bits < 15) {
133
+ hold += (unsigned long)(*in++) << bits;
134
+ bits += 8;
135
+ hold += (unsigned long)(*in++) << bits;
136
+ bits += 8;
137
+ }
138
+ here = dcode + (hold & dmask);
139
+ dodist:
140
+ op = (unsigned)(here->bits);
141
+ hold >>= op;
142
+ bits -= op;
143
+ op = (unsigned)(here->op);
144
+ if (op & 16) { /* distance base */
145
+ dist = (unsigned)(here->val);
146
+ op &= 15; /* number of extra bits */
147
+ if (bits < op) {
148
+ hold += (unsigned long)(*in++) << bits;
149
+ bits += 8;
150
+ if (bits < op) {
151
+ hold += (unsigned long)(*in++) << bits;
152
+ bits += 8;
153
+ }
154
+ }
155
+ dist += (unsigned)hold & ((1U << op) - 1);
156
+ #ifdef INFLATE_STRICT
157
+ if (dist > dmax) {
158
+ strm->msg = (z_const char *)"invalid distance too far back";
159
+ state->mode = BAD;
160
+ break;
161
+ }
162
+ #endif
163
+ hold >>= op;
164
+ bits -= op;
165
+ Tracevv((stderr, "inflate: distance %u\n", dist));
166
+ op = (unsigned)(out - beg); /* max distance in output */
167
+ if (dist > op) { /* see if copy from window */
168
+ op = dist - op; /* distance back in window */
169
+ if (op > whave) {
170
+ if (state->sane) {
171
+ strm->msg =
172
+ (z_const char *)"invalid distance too far back";
173
+ state->mode = BAD;
174
+ break;
175
+ }
176
+ #ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR
177
+ if (len <= op - whave) {
178
+ do {
179
+ *out++ = 0;
180
+ } while (--len);
181
+ continue;
182
+ }
183
+ len -= op - whave;
184
+ do {
185
+ *out++ = 0;
186
+ } while (--op > whave);
187
+ if (op == 0) {
188
+ from = out - dist;
189
+ do {
190
+ *out++ = *from++;
191
+ } while (--len);
192
+ continue;
193
+ }
194
+ #endif
195
+ }
196
+ from = window;
197
+ if (wnext == 0) { /* very common case */
198
+ from += wsize - op;
199
+ if (op < len) { /* some from window */
200
+ len -= op;
201
+ do {
202
+ *out++ = *from++;
203
+ } while (--op);
204
+ from = out - dist; /* rest from output */
205
+ }
206
+ }
207
+ else if (wnext < op) { /* wrap around window */
208
+ from += wsize + wnext - op;
209
+ op -= wnext;
210
+ if (op < len) { /* some from end of window */
211
+ len -= op;
212
+ do {
213
+ *out++ = *from++;
214
+ } while (--op);
215
+ from = window;
216
+ if (wnext < len) { /* some from start of window */
217
+ op = wnext;
218
+ len -= op;
219
+ do {
220
+ *out++ = *from++;
221
+ } while (--op);
222
+ from = out - dist; /* rest from output */
223
+ }
224
+ }
225
+ }
226
+ else { /* contiguous in window */
227
+ from += wnext - op;
228
+ if (op < len) { /* some from window */
229
+ len -= op;
230
+ do {
231
+ *out++ = *from++;
232
+ } while (--op);
233
+ from = out - dist; /* rest from output */
234
+ }
235
+ }
236
+ while (len > 2) {
237
+ *out++ = *from++;
238
+ *out++ = *from++;
239
+ *out++ = *from++;
240
+ len -= 3;
241
+ }
242
+ if (len) {
243
+ *out++ = *from++;
244
+ if (len > 1)
245
+ *out++ = *from++;
246
+ }
247
+ }
248
+ else {
249
+ from = out - dist; /* copy direct from output */
250
+ do { /* minimum length is three */
251
+ *out++ = *from++;
252
+ *out++ = *from++;
253
+ *out++ = *from++;
254
+ len -= 3;
255
+ } while (len > 2);
256
+ if (len) {
257
+ *out++ = *from++;
258
+ if (len > 1)
259
+ *out++ = *from++;
260
+ }
261
+ }
262
+ }
263
+ else if ((op & 64) == 0) { /* 2nd level distance code */
264
+ here = dcode + here->val + (hold & ((1U << op) - 1));
265
+ goto dodist;
266
+ }
267
+ else {
268
+ strm->msg = (z_const char *)"invalid distance code";
269
+ state->mode = BAD;
270
+ break;
271
+ }
272
+ }
273
+ else if ((op & 64) == 0) { /* 2nd level length code */
274
+ here = lcode + here->val + (hold & ((1U << op) - 1));
275
+ goto dolen;
276
+ }
277
+ else if (op & 32) { /* end-of-block */
278
+ Tracevv((stderr, "inflate: end of block\n"));
279
+ state->mode = TYPE;
280
+ break;
281
+ }
282
+ else {
283
+ strm->msg = (z_const char *)"invalid literal/length code";
284
+ state->mode = BAD;
285
+ break;
286
+ }
287
+ } while (in < last && out < end);
288
+
289
+ /* return unused bytes (on entry, bits < 8, so in won't go too far back) */
290
+ len = bits >> 3;
291
+ in -= len;
292
+ bits -= len << 3;
293
+ hold &= (1U << bits) - 1;
294
+
295
+ /* update state and return */
296
+ strm->next_in = in;
297
+ strm->next_out = out;
298
+ strm->avail_in = (unsigned)(in < last ? 5 + (last - in) : 5 - (in - last));
299
+ strm->avail_out = (unsigned)(out < end ?
300
+ 257 + (end - out) : 257 - (out - end));
301
+ state->hold = hold;
302
+ state->bits = bits;
303
+ return;
304
+ }
305
+
306
+ /*
307
+ inflate_fast() speedups that turned out slower (on a PowerPC G3 750CXe):
308
+ - Using bit fields for code structure
309
+ - Different op definition to avoid & for extra bits (do & for table bits)
310
+ - Three separate decoding do-loops for direct, window, and wnext == 0
311
+ - Special case for distance > 1 copies to do overlapped load and store copy
312
+ - Explicit branch predictions (based on measured branch probabilities)
313
+ - Deferring match copy and interspersed it with decoding subsequent codes
314
+ - Swapping literal/length else
315
+ - Swapping window/direct else
316
+ - Larger unrolled copy loops (three is about right)
317
+ - Moving len -= 3 statement into middle of loop
318
+ */
319
+
320
+ #endif /* !ASMINF */