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,585 +1,585 @@
1
- /* gzlib.c -- zlib functions common to reading and writing gzip files
2
- * Copyright (C) 2004-2024 Mark Adler
3
- * For conditions of distribution and use, see copyright notice in zlib.h
4
- */
5
-
6
- #include "gzguts.h"
7
-
8
- #if defined(__DJGPP__)
9
- # define LSEEK llseek
10
- #elif defined(_WIN32) && !defined(__BORLANDC__) && !defined(UNDER_CE)
11
- # define LSEEK _lseeki64
12
- #elif defined(_LARGEFILE64_SOURCE) && _LFS64_LARGEFILE-0
13
- # define LSEEK lseek64
14
- #else
15
- # define LSEEK lseek
16
- #endif
17
-
18
- #if defined UNDER_CE
19
-
20
- /* Map the Windows error number in ERROR to a locale-dependent error message
21
- string and return a pointer to it. Typically, the values for ERROR come
22
- from GetLastError.
23
-
24
- The string pointed to shall not be modified by the application, but may be
25
- overwritten by a subsequent call to gz_strwinerror
26
-
27
- The gz_strwinerror function does not change the current setting of
28
- GetLastError. */
29
- char ZLIB_INTERNAL *gz_strwinerror(DWORD error) {
30
- static char buf[1024];
31
-
32
- wchar_t *msgbuf;
33
- DWORD lasterr = GetLastError();
34
- DWORD chars = FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM
35
- | FORMAT_MESSAGE_ALLOCATE_BUFFER,
36
- NULL,
37
- error,
38
- 0, /* Default language */
39
- (LPVOID)&msgbuf,
40
- 0,
41
- NULL);
42
- if (chars != 0) {
43
- /* If there is an \r\n appended, zap it. */
44
- if (chars >= 2
45
- && msgbuf[chars - 2] == '\r' && msgbuf[chars - 1] == '\n') {
46
- chars -= 2;
47
- msgbuf[chars] = 0;
48
- }
49
-
50
- if (chars > sizeof (buf) - 1) {
51
- chars = sizeof (buf) - 1;
52
- msgbuf[chars] = 0;
53
- }
54
-
55
- wcstombs(buf, msgbuf, chars + 1); // assumes buf is big enough
56
- LocalFree(msgbuf);
57
- }
58
- else {
59
- sprintf(buf, "unknown win32 error (%ld)", error);
60
- }
61
-
62
- SetLastError(lasterr);
63
- return buf;
64
- }
65
-
66
- #endif /* UNDER_CE */
67
-
68
- /* Reset gzip file state */
69
- local void gz_reset(gz_statep state) {
70
- state->x.have = 0; /* no output data available */
71
- if (state->mode == GZ_READ) { /* for reading ... */
72
- state->eof = 0; /* not at end of file */
73
- state->past = 0; /* have not read past end yet */
74
- state->how = LOOK; /* look for gzip header */
75
- }
76
- else /* for writing ... */
77
- state->reset = 0; /* no deflateReset pending */
78
- state->seek = 0; /* no seek request pending */
79
- gz_error(state, Z_OK, NULL); /* clear error */
80
- state->x.pos = 0; /* no uncompressed data yet */
81
- state->strm.avail_in = 0; /* no input data yet */
82
- }
83
-
84
- /* Open a gzip file either by name or file descriptor. */
85
- local gzFile gz_open(const void *path, int fd, const char *mode) {
86
- gz_statep state;
87
- z_size_t len;
88
- int oflag;
89
- #ifdef O_CLOEXEC
90
- int cloexec = 0;
91
- #endif
92
- #ifdef O_EXCL
93
- int exclusive = 0;
94
- #endif
95
-
96
- /* check input */
97
- if (path == NULL)
98
- return NULL;
99
-
100
- /* allocate gzFile structure to return */
101
- state = (gz_statep)malloc(sizeof(gz_state));
102
- if (state == NULL)
103
- return NULL;
104
- state->size = 0; /* no buffers allocated yet */
105
- state->want = GZBUFSIZE; /* requested buffer size */
106
- state->msg = NULL; /* no error message yet */
107
-
108
- /* interpret mode */
109
- state->mode = GZ_NONE;
110
- state->level = Z_DEFAULT_COMPRESSION;
111
- state->strategy = Z_DEFAULT_STRATEGY;
112
- state->direct = 0;
113
- while (*mode) {
114
- if (*mode >= '0' && *mode <= '9')
115
- state->level = *mode - '0';
116
- else
117
- switch (*mode) {
118
- case 'r':
119
- state->mode = GZ_READ;
120
- break;
121
- #ifndef NO_GZCOMPRESS
122
- case 'w':
123
- state->mode = GZ_WRITE;
124
- break;
125
- case 'a':
126
- state->mode = GZ_APPEND;
127
- break;
128
- #endif
129
- case '+': /* can't read and write at the same time */
130
- free(state);
131
- return NULL;
132
- case 'b': /* ignore -- will request binary anyway */
133
- break;
134
- #ifdef O_CLOEXEC
135
- case 'e':
136
- cloexec = 1;
137
- break;
138
- #endif
139
- #ifdef O_EXCL
140
- case 'x':
141
- exclusive = 1;
142
- break;
143
- #endif
144
- case 'f':
145
- state->strategy = Z_FILTERED;
146
- break;
147
- case 'h':
148
- state->strategy = Z_HUFFMAN_ONLY;
149
- break;
150
- case 'R':
151
- state->strategy = Z_RLE;
152
- break;
153
- case 'F':
154
- state->strategy = Z_FIXED;
155
- break;
156
- case 'T':
157
- state->direct = 1;
158
- break;
159
- default: /* could consider as an error, but just ignore */
160
- ;
161
- }
162
- mode++;
163
- }
164
-
165
- /* must provide an "r", "w", or "a" */
166
- if (state->mode == GZ_NONE) {
167
- free(state);
168
- return NULL;
169
- }
170
-
171
- /* can't force transparent read */
172
- if (state->mode == GZ_READ) {
173
- if (state->direct) {
174
- free(state);
175
- return NULL;
176
- }
177
- state->direct = 1; /* for empty file */
178
- }
179
-
180
- /* save the path name for error messages */
181
- #ifdef WIDECHAR
182
- if (fd == -2)
183
- len = wcstombs(NULL, path, 0);
184
- else
185
- #endif
186
- len = strlen((const char *)path);
187
- state->path = (char *)malloc(len + 1);
188
- if (state->path == NULL) {
189
- free(state);
190
- return NULL;
191
- }
192
- #ifdef WIDECHAR
193
- if (fd == -2) {
194
- if (len)
195
- wcstombs(state->path, path, len + 1);
196
- else
197
- *(state->path) = 0;
198
- }
199
- else
200
- #endif
201
- {
202
- #if !defined(NO_snprintf) && !defined(NO_vsnprintf)
203
- (void)snprintf(state->path, len + 1, "%s", (const char *)path);
204
- #else
205
- strcpy(state->path, path);
206
- #endif
207
- }
208
-
209
- /* compute the flags for open() */
210
- oflag =
211
- #ifdef O_LARGEFILE
212
- O_LARGEFILE |
213
- #endif
214
- #ifdef O_BINARY
215
- O_BINARY |
216
- #endif
217
- #ifdef O_CLOEXEC
218
- (cloexec ? O_CLOEXEC : 0) |
219
- #endif
220
- (state->mode == GZ_READ ?
221
- O_RDONLY :
222
- (O_WRONLY | O_CREAT |
223
- #ifdef O_EXCL
224
- (exclusive ? O_EXCL : 0) |
225
- #endif
226
- (state->mode == GZ_WRITE ?
227
- O_TRUNC :
228
- O_APPEND)));
229
-
230
- /* open the file with the appropriate flags (or just use fd) */
231
- if (fd == -1)
232
- state->fd = open((const char *)path, oflag, 0666);
233
- #ifdef WIDECHAR
234
- else if (fd == -2)
235
- state->fd = _wopen(path, oflag, _S_IREAD | _S_IWRITE);
236
- #endif
237
- else
238
- state->fd = fd;
239
- if (state->fd == -1) {
240
- free(state->path);
241
- free(state);
242
- return NULL;
243
- }
244
- if (state->mode == GZ_APPEND) {
245
- LSEEK(state->fd, 0, SEEK_END); /* so gzoffset() is correct */
246
- state->mode = GZ_WRITE; /* simplify later checks */
247
- }
248
-
249
- /* save the current position for rewinding (only if reading) */
250
- if (state->mode == GZ_READ) {
251
- state->start = LSEEK(state->fd, 0, SEEK_CUR);
252
- if (state->start == -1) state->start = 0;
253
- }
254
-
255
- /* initialize stream */
256
- gz_reset(state);
257
-
258
- /* return stream */
259
- return (gzFile)state;
260
- }
261
-
262
- /* -- see zlib.h -- */
263
- gzFile ZEXPORT gzopen(const char *path, const char *mode) {
264
- return gz_open(path, -1, mode);
265
- }
266
-
267
- /* -- see zlib.h -- */
268
- gzFile ZEXPORT gzopen64(const char *path, const char *mode) {
269
- return gz_open(path, -1, mode);
270
- }
271
-
272
- /* -- see zlib.h -- */
273
- gzFile ZEXPORT gzdopen(int fd, const char *mode) {
274
- char *path; /* identifier for error messages */
275
- gzFile gz;
276
-
277
- if (fd == -1 || (path = (char *)malloc(7 + 3 * sizeof(int))) == NULL)
278
- return NULL;
279
- #if !defined(NO_snprintf) && !defined(NO_vsnprintf)
280
- (void)snprintf(path, 7 + 3 * sizeof(int), "<fd:%d>", fd);
281
- #else
282
- sprintf(path, "<fd:%d>", fd); /* for debugging */
283
- #endif
284
- gz = gz_open(path, fd, mode);
285
- free(path);
286
- return gz;
287
- }
288
-
289
- /* -- see zlib.h -- */
290
- #ifdef WIDECHAR
291
- gzFile ZEXPORT gzopen_w(const wchar_t *path, const char *mode) {
292
- return gz_open(path, -2, mode);
293
- }
294
- #endif
295
-
296
- /* -- see zlib.h -- */
297
- int ZEXPORT gzbuffer(gzFile file, unsigned size) {
298
- gz_statep state;
299
-
300
- /* get internal structure and check integrity */
301
- if (file == NULL)
302
- return -1;
303
- state = (gz_statep)file;
304
- if (state->mode != GZ_READ && state->mode != GZ_WRITE)
305
- return -1;
306
-
307
- /* make sure we haven't already allocated memory */
308
- if (state->size != 0)
309
- return -1;
310
-
311
- /* check and set requested size */
312
- if ((size << 1) < size)
313
- return -1; /* need to be able to double it */
314
- if (size < 8)
315
- size = 8; /* needed to behave well with flushing */
316
- state->want = size;
317
- return 0;
318
- }
319
-
320
- /* -- see zlib.h -- */
321
- int ZEXPORT gzrewind(gzFile file) {
322
- gz_statep state;
323
-
324
- /* get internal structure */
325
- if (file == NULL)
326
- return -1;
327
- state = (gz_statep)file;
328
-
329
- /* check that we're reading and that there's no error */
330
- if (state->mode != GZ_READ ||
331
- (state->err != Z_OK && state->err != Z_BUF_ERROR))
332
- return -1;
333
-
334
- /* back up and start over */
335
- if (LSEEK(state->fd, state->start, SEEK_SET) == -1)
336
- return -1;
337
- gz_reset(state);
338
- return 0;
339
- }
340
-
341
- /* -- see zlib.h -- */
342
- z_off64_t ZEXPORT gzseek64(gzFile file, z_off64_t offset, int whence) {
343
- unsigned n;
344
- z_off64_t ret;
345
- gz_statep state;
346
-
347
- /* get internal structure and check integrity */
348
- if (file == NULL)
349
- return -1;
350
- state = (gz_statep)file;
351
- if (state->mode != GZ_READ && state->mode != GZ_WRITE)
352
- return -1;
353
-
354
- /* check that there's no error */
355
- if (state->err != Z_OK && state->err != Z_BUF_ERROR)
356
- return -1;
357
-
358
- /* can only seek from start or relative to current position */
359
- if (whence != SEEK_SET && whence != SEEK_CUR)
360
- return -1;
361
-
362
- /* normalize offset to a SEEK_CUR specification */
363
- if (whence == SEEK_SET)
364
- offset -= state->x.pos;
365
- else if (state->seek)
366
- offset += state->skip;
367
- state->seek = 0;
368
-
369
- /* if within raw area while reading, just go there */
370
- if (state->mode == GZ_READ && state->how == COPY &&
371
- state->x.pos + offset >= 0) {
372
- ret = LSEEK(state->fd, offset - (z_off64_t)state->x.have, SEEK_CUR);
373
- if (ret == -1)
374
- return -1;
375
- state->x.have = 0;
376
- state->eof = 0;
377
- state->past = 0;
378
- state->seek = 0;
379
- gz_error(state, Z_OK, NULL);
380
- state->strm.avail_in = 0;
381
- state->x.pos += offset;
382
- return state->x.pos;
383
- }
384
-
385
- /* calculate skip amount, rewinding if needed for back seek when reading */
386
- if (offset < 0) {
387
- if (state->mode != GZ_READ) /* writing -- can't go backwards */
388
- return -1;
389
- offset += state->x.pos;
390
- if (offset < 0) /* before start of file! */
391
- return -1;
392
- if (gzrewind(file) == -1) /* rewind, then skip to offset */
393
- return -1;
394
- }
395
-
396
- /* if reading, skip what's in output buffer (one less gzgetc() check) */
397
- if (state->mode == GZ_READ) {
398
- n = GT_OFF(state->x.have) || (z_off64_t)state->x.have > offset ?
399
- (unsigned)offset : state->x.have;
400
- state->x.have -= n;
401
- state->x.next += n;
402
- state->x.pos += n;
403
- offset -= n;
404
- }
405
-
406
- /* request skip (if not zero) */
407
- if (offset) {
408
- state->seek = 1;
409
- state->skip = offset;
410
- }
411
- return state->x.pos + offset;
412
- }
413
-
414
- /* -- see zlib.h -- */
415
- z_off_t ZEXPORT gzseek(gzFile file, z_off_t offset, int whence) {
416
- z_off64_t ret;
417
-
418
- ret = gzseek64(file, (z_off64_t)offset, whence);
419
- return ret == (z_off_t)ret ? (z_off_t)ret : -1;
420
- }
421
-
422
- /* -- see zlib.h -- */
423
- z_off64_t ZEXPORT gztell64(gzFile file) {
424
- gz_statep state;
425
-
426
- /* get internal structure and check integrity */
427
- if (file == NULL)
428
- return -1;
429
- state = (gz_statep)file;
430
- if (state->mode != GZ_READ && state->mode != GZ_WRITE)
431
- return -1;
432
-
433
- /* return position */
434
- return state->x.pos + (state->seek ? state->skip : 0);
435
- }
436
-
437
- /* -- see zlib.h -- */
438
- z_off_t ZEXPORT gztell(gzFile file) {
439
- z_off64_t ret;
440
-
441
- ret = gztell64(file);
442
- return ret == (z_off_t)ret ? (z_off_t)ret : -1;
443
- }
444
-
445
- /* -- see zlib.h -- */
446
- z_off64_t ZEXPORT gzoffset64(gzFile file) {
447
- z_off64_t offset;
448
- gz_statep state;
449
-
450
- /* get internal structure and check integrity */
451
- if (file == NULL)
452
- return -1;
453
- state = (gz_statep)file;
454
- if (state->mode != GZ_READ && state->mode != GZ_WRITE)
455
- return -1;
456
-
457
- /* compute and return effective offset in file */
458
- offset = LSEEK(state->fd, 0, SEEK_CUR);
459
- if (offset == -1)
460
- return -1;
461
- if (state->mode == GZ_READ) /* reading */
462
- offset -= state->strm.avail_in; /* don't count buffered input */
463
- return offset;
464
- }
465
-
466
- /* -- see zlib.h -- */
467
- z_off_t ZEXPORT gzoffset(gzFile file) {
468
- z_off64_t ret;
469
-
470
- ret = gzoffset64(file);
471
- return ret == (z_off_t)ret ? (z_off_t)ret : -1;
472
- }
473
-
474
- /* -- see zlib.h -- */
475
- int ZEXPORT gzeof(gzFile file) {
476
- gz_statep state;
477
-
478
- /* get internal structure and check integrity */
479
- if (file == NULL)
480
- return 0;
481
- state = (gz_statep)file;
482
- if (state->mode != GZ_READ && state->mode != GZ_WRITE)
483
- return 0;
484
-
485
- /* return end-of-file state */
486
- return state->mode == GZ_READ ? state->past : 0;
487
- }
488
-
489
- /* -- see zlib.h -- */
490
- const char * ZEXPORT gzerror(gzFile file, int *errnum) {
491
- gz_statep state;
492
-
493
- /* get internal structure and check integrity */
494
- if (file == NULL)
495
- return NULL;
496
- state = (gz_statep)file;
497
- if (state->mode != GZ_READ && state->mode != GZ_WRITE)
498
- return NULL;
499
-
500
- /* return error information */
501
- if (errnum != NULL)
502
- *errnum = state->err;
503
- return state->err == Z_MEM_ERROR ? "out of memory" :
504
- (state->msg == NULL ? "" : state->msg);
505
- }
506
-
507
- /* -- see zlib.h -- */
508
- void ZEXPORT gzclearerr(gzFile file) {
509
- gz_statep state;
510
-
511
- /* get internal structure and check integrity */
512
- if (file == NULL)
513
- return;
514
- state = (gz_statep)file;
515
- if (state->mode != GZ_READ && state->mode != GZ_WRITE)
516
- return;
517
-
518
- /* clear error and end-of-file */
519
- if (state->mode == GZ_READ) {
520
- state->eof = 0;
521
- state->past = 0;
522
- }
523
- gz_error(state, Z_OK, NULL);
524
- }
525
-
526
- /* Create an error message in allocated memory and set state->err and
527
- state->msg accordingly. Free any previous error message already there. Do
528
- not try to free or allocate space if the error is Z_MEM_ERROR (out of
529
- memory). Simply save the error message as a static string. If there is an
530
- allocation failure constructing the error message, then convert the error to
531
- out of memory. */
532
- void ZLIB_INTERNAL gz_error(gz_statep state, int err, const char *msg) {
533
- /* free previously allocated message and clear */
534
- if (state->msg != NULL) {
535
- if (state->err != Z_MEM_ERROR)
536
- free(state->msg);
537
- state->msg = NULL;
538
- }
539
-
540
- /* if fatal, set state->x.have to 0 so that the gzgetc() macro fails */
541
- if (err != Z_OK && err != Z_BUF_ERROR)
542
- state->x.have = 0;
543
-
544
- /* set error code, and if no message, then done */
545
- state->err = err;
546
- if (msg == NULL)
547
- return;
548
-
549
- /* for an out of memory error, return literal string when requested */
550
- if (err == Z_MEM_ERROR)
551
- return;
552
-
553
- /* construct error message with path */
554
- if ((state->msg = (char *)malloc(strlen(state->path) + strlen(msg) + 3)) ==
555
- NULL) {
556
- state->err = Z_MEM_ERROR;
557
- return;
558
- }
559
- #if !defined(NO_snprintf) && !defined(NO_vsnprintf)
560
- (void)snprintf(state->msg, strlen(state->path) + strlen(msg) + 3,
561
- "%s%s%s", state->path, ": ", msg);
562
- #else
563
- strcpy(state->msg, state->path);
564
- strcat(state->msg, ": ");
565
- strcat(state->msg, msg);
566
- #endif
567
- }
568
-
569
- /* portably return maximum value for an int (when limits.h presumed not
570
- available) -- we need to do this to cover cases where 2's complement not
571
- used, since C standard permits 1's complement and sign-bit representations,
572
- otherwise we could just use ((unsigned)-1) >> 1 */
573
- unsigned ZLIB_INTERNAL gz_intmax(void) {
574
- #ifdef INT_MAX
575
- return INT_MAX;
576
- #else
577
- unsigned p = 1, q;
578
- do {
579
- q = p;
580
- p <<= 1;
581
- p++;
582
- } while (p > q);
583
- return q >> 1;
584
- #endif
585
- }
1
+ /* gzlib.c -- zlib functions common to reading and writing gzip files
2
+ * Copyright (C) 2004-2024 Mark Adler
3
+ * For conditions of distribution and use, see copyright notice in zlib.h
4
+ */
5
+
6
+ #include "gzguts.h"
7
+
8
+ #if defined(__DJGPP__)
9
+ # define LSEEK llseek
10
+ #elif defined(_WIN32) && !defined(__BORLANDC__) && !defined(UNDER_CE)
11
+ # define LSEEK _lseeki64
12
+ #elif defined(_LARGEFILE64_SOURCE) && _LFS64_LARGEFILE-0
13
+ # define LSEEK lseek64
14
+ #else
15
+ # define LSEEK lseek
16
+ #endif
17
+
18
+ #if defined UNDER_CE
19
+
20
+ /* Map the Windows error number in ERROR to a locale-dependent error message
21
+ string and return a pointer to it. Typically, the values for ERROR come
22
+ from GetLastError.
23
+
24
+ The string pointed to shall not be modified by the application, but may be
25
+ overwritten by a subsequent call to gz_strwinerror
26
+
27
+ The gz_strwinerror function does not change the current setting of
28
+ GetLastError. */
29
+ char ZLIB_INTERNAL *gz_strwinerror(DWORD error) {
30
+ static char buf[1024];
31
+
32
+ wchar_t *msgbuf;
33
+ DWORD lasterr = GetLastError();
34
+ DWORD chars = FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM
35
+ | FORMAT_MESSAGE_ALLOCATE_BUFFER,
36
+ NULL,
37
+ error,
38
+ 0, /* Default language */
39
+ (LPVOID)&msgbuf,
40
+ 0,
41
+ NULL);
42
+ if (chars != 0) {
43
+ /* If there is an \r\n appended, zap it. */
44
+ if (chars >= 2
45
+ && msgbuf[chars - 2] == '\r' && msgbuf[chars - 1] == '\n') {
46
+ chars -= 2;
47
+ msgbuf[chars] = 0;
48
+ }
49
+
50
+ if (chars > sizeof (buf) - 1) {
51
+ chars = sizeof (buf) - 1;
52
+ msgbuf[chars] = 0;
53
+ }
54
+
55
+ wcstombs(buf, msgbuf, chars + 1); // assumes buf is big enough
56
+ LocalFree(msgbuf);
57
+ }
58
+ else {
59
+ sprintf(buf, "unknown win32 error (%ld)", error);
60
+ }
61
+
62
+ SetLastError(lasterr);
63
+ return buf;
64
+ }
65
+
66
+ #endif /* UNDER_CE */
67
+
68
+ /* Reset gzip file state */
69
+ local void gz_reset(gz_statep state) {
70
+ state->x.have = 0; /* no output data available */
71
+ if (state->mode == GZ_READ) { /* for reading ... */
72
+ state->eof = 0; /* not at end of file */
73
+ state->past = 0; /* have not read past end yet */
74
+ state->how = LOOK; /* look for gzip header */
75
+ }
76
+ else /* for writing ... */
77
+ state->reset = 0; /* no deflateReset pending */
78
+ state->seek = 0; /* no seek request pending */
79
+ gz_error(state, Z_OK, NULL); /* clear error */
80
+ state->x.pos = 0; /* no uncompressed data yet */
81
+ state->strm.avail_in = 0; /* no input data yet */
82
+ }
83
+
84
+ /* Open a gzip file either by name or file descriptor. */
85
+ local gzFile gz_open(const void *path, int fd, const char *mode) {
86
+ gz_statep state;
87
+ z_size_t len;
88
+ int oflag;
89
+ #ifdef O_CLOEXEC
90
+ int cloexec = 0;
91
+ #endif
92
+ #ifdef O_EXCL
93
+ int exclusive = 0;
94
+ #endif
95
+
96
+ /* check input */
97
+ if (path == NULL)
98
+ return NULL;
99
+
100
+ /* allocate gzFile structure to return */
101
+ state = (gz_statep)malloc(sizeof(gz_state));
102
+ if (state == NULL)
103
+ return NULL;
104
+ state->size = 0; /* no buffers allocated yet */
105
+ state->want = GZBUFSIZE; /* requested buffer size */
106
+ state->msg = NULL; /* no error message yet */
107
+
108
+ /* interpret mode */
109
+ state->mode = GZ_NONE;
110
+ state->level = Z_DEFAULT_COMPRESSION;
111
+ state->strategy = Z_DEFAULT_STRATEGY;
112
+ state->direct = 0;
113
+ while (*mode) {
114
+ if (*mode >= '0' && *mode <= '9')
115
+ state->level = *mode - '0';
116
+ else
117
+ switch (*mode) {
118
+ case 'r':
119
+ state->mode = GZ_READ;
120
+ break;
121
+ #ifndef NO_GZCOMPRESS
122
+ case 'w':
123
+ state->mode = GZ_WRITE;
124
+ break;
125
+ case 'a':
126
+ state->mode = GZ_APPEND;
127
+ break;
128
+ #endif
129
+ case '+': /* can't read and write at the same time */
130
+ free(state);
131
+ return NULL;
132
+ case 'b': /* ignore -- will request binary anyway */
133
+ break;
134
+ #ifdef O_CLOEXEC
135
+ case 'e':
136
+ cloexec = 1;
137
+ break;
138
+ #endif
139
+ #ifdef O_EXCL
140
+ case 'x':
141
+ exclusive = 1;
142
+ break;
143
+ #endif
144
+ case 'f':
145
+ state->strategy = Z_FILTERED;
146
+ break;
147
+ case 'h':
148
+ state->strategy = Z_HUFFMAN_ONLY;
149
+ break;
150
+ case 'R':
151
+ state->strategy = Z_RLE;
152
+ break;
153
+ case 'F':
154
+ state->strategy = Z_FIXED;
155
+ break;
156
+ case 'T':
157
+ state->direct = 1;
158
+ break;
159
+ default: /* could consider as an error, but just ignore */
160
+ ;
161
+ }
162
+ mode++;
163
+ }
164
+
165
+ /* must provide an "r", "w", or "a" */
166
+ if (state->mode == GZ_NONE) {
167
+ free(state);
168
+ return NULL;
169
+ }
170
+
171
+ /* can't force transparent read */
172
+ if (state->mode == GZ_READ) {
173
+ if (state->direct) {
174
+ free(state);
175
+ return NULL;
176
+ }
177
+ state->direct = 1; /* for empty file */
178
+ }
179
+
180
+ /* save the path name for error messages */
181
+ #ifdef WIDECHAR
182
+ if (fd == -2)
183
+ len = wcstombs(NULL, path, 0);
184
+ else
185
+ #endif
186
+ len = strlen((const char *)path);
187
+ state->path = (char *)malloc(len + 1);
188
+ if (state->path == NULL) {
189
+ free(state);
190
+ return NULL;
191
+ }
192
+ #ifdef WIDECHAR
193
+ if (fd == -2) {
194
+ if (len)
195
+ wcstombs(state->path, path, len + 1);
196
+ else
197
+ *(state->path) = 0;
198
+ }
199
+ else
200
+ #endif
201
+ {
202
+ #if !defined(NO_snprintf) && !defined(NO_vsnprintf)
203
+ (void)snprintf(state->path, len + 1, "%s", (const char *)path);
204
+ #else
205
+ strcpy(state->path, path);
206
+ #endif
207
+ }
208
+
209
+ /* compute the flags for open() */
210
+ oflag =
211
+ #ifdef O_LARGEFILE
212
+ O_LARGEFILE |
213
+ #endif
214
+ #ifdef O_BINARY
215
+ O_BINARY |
216
+ #endif
217
+ #ifdef O_CLOEXEC
218
+ (cloexec ? O_CLOEXEC : 0) |
219
+ #endif
220
+ (state->mode == GZ_READ ?
221
+ O_RDONLY :
222
+ (O_WRONLY | O_CREAT |
223
+ #ifdef O_EXCL
224
+ (exclusive ? O_EXCL : 0) |
225
+ #endif
226
+ (state->mode == GZ_WRITE ?
227
+ O_TRUNC :
228
+ O_APPEND)));
229
+
230
+ /* open the file with the appropriate flags (or just use fd) */
231
+ if (fd == -1)
232
+ state->fd = open((const char *)path, oflag, 0666);
233
+ #ifdef WIDECHAR
234
+ else if (fd == -2)
235
+ state->fd = _wopen(path, oflag, _S_IREAD | _S_IWRITE);
236
+ #endif
237
+ else
238
+ state->fd = fd;
239
+ if (state->fd == -1) {
240
+ free(state->path);
241
+ free(state);
242
+ return NULL;
243
+ }
244
+ if (state->mode == GZ_APPEND) {
245
+ LSEEK(state->fd, 0, SEEK_END); /* so gzoffset() is correct */
246
+ state->mode = GZ_WRITE; /* simplify later checks */
247
+ }
248
+
249
+ /* save the current position for rewinding (only if reading) */
250
+ if (state->mode == GZ_READ) {
251
+ state->start = LSEEK(state->fd, 0, SEEK_CUR);
252
+ if (state->start == -1) state->start = 0;
253
+ }
254
+
255
+ /* initialize stream */
256
+ gz_reset(state);
257
+
258
+ /* return stream */
259
+ return (gzFile)state;
260
+ }
261
+
262
+ /* -- see zlib.h -- */
263
+ gzFile ZEXPORT gzopen(const char *path, const char *mode) {
264
+ return gz_open(path, -1, mode);
265
+ }
266
+
267
+ /* -- see zlib.h -- */
268
+ gzFile ZEXPORT gzopen64(const char *path, const char *mode) {
269
+ return gz_open(path, -1, mode);
270
+ }
271
+
272
+ /* -- see zlib.h -- */
273
+ gzFile ZEXPORT gzdopen(int fd, const char *mode) {
274
+ char *path; /* identifier for error messages */
275
+ gzFile gz;
276
+
277
+ if (fd == -1 || (path = (char *)malloc(7 + 3 * sizeof(int))) == NULL)
278
+ return NULL;
279
+ #if !defined(NO_snprintf) && !defined(NO_vsnprintf)
280
+ (void)snprintf(path, 7 + 3 * sizeof(int), "<fd:%d>", fd);
281
+ #else
282
+ sprintf(path, "<fd:%d>", fd); /* for debugging */
283
+ #endif
284
+ gz = gz_open(path, fd, mode);
285
+ free(path);
286
+ return gz;
287
+ }
288
+
289
+ /* -- see zlib.h -- */
290
+ #ifdef WIDECHAR
291
+ gzFile ZEXPORT gzopen_w(const wchar_t *path, const char *mode) {
292
+ return gz_open(path, -2, mode);
293
+ }
294
+ #endif
295
+
296
+ /* -- see zlib.h -- */
297
+ int ZEXPORT gzbuffer(gzFile file, unsigned size) {
298
+ gz_statep state;
299
+
300
+ /* get internal structure and check integrity */
301
+ if (file == NULL)
302
+ return -1;
303
+ state = (gz_statep)file;
304
+ if (state->mode != GZ_READ && state->mode != GZ_WRITE)
305
+ return -1;
306
+
307
+ /* make sure we haven't already allocated memory */
308
+ if (state->size != 0)
309
+ return -1;
310
+
311
+ /* check and set requested size */
312
+ if ((size << 1) < size)
313
+ return -1; /* need to be able to double it */
314
+ if (size < 8)
315
+ size = 8; /* needed to behave well with flushing */
316
+ state->want = size;
317
+ return 0;
318
+ }
319
+
320
+ /* -- see zlib.h -- */
321
+ int ZEXPORT gzrewind(gzFile file) {
322
+ gz_statep state;
323
+
324
+ /* get internal structure */
325
+ if (file == NULL)
326
+ return -1;
327
+ state = (gz_statep)file;
328
+
329
+ /* check that we're reading and that there's no error */
330
+ if (state->mode != GZ_READ ||
331
+ (state->err != Z_OK && state->err != Z_BUF_ERROR))
332
+ return -1;
333
+
334
+ /* back up and start over */
335
+ if (LSEEK(state->fd, state->start, SEEK_SET) == -1)
336
+ return -1;
337
+ gz_reset(state);
338
+ return 0;
339
+ }
340
+
341
+ /* -- see zlib.h -- */
342
+ z_off64_t ZEXPORT gzseek64(gzFile file, z_off64_t offset, int whence) {
343
+ unsigned n;
344
+ z_off64_t ret;
345
+ gz_statep state;
346
+
347
+ /* get internal structure and check integrity */
348
+ if (file == NULL)
349
+ return -1;
350
+ state = (gz_statep)file;
351
+ if (state->mode != GZ_READ && state->mode != GZ_WRITE)
352
+ return -1;
353
+
354
+ /* check that there's no error */
355
+ if (state->err != Z_OK && state->err != Z_BUF_ERROR)
356
+ return -1;
357
+
358
+ /* can only seek from start or relative to current position */
359
+ if (whence != SEEK_SET && whence != SEEK_CUR)
360
+ return -1;
361
+
362
+ /* normalize offset to a SEEK_CUR specification */
363
+ if (whence == SEEK_SET)
364
+ offset -= state->x.pos;
365
+ else if (state->seek)
366
+ offset += state->skip;
367
+ state->seek = 0;
368
+
369
+ /* if within raw area while reading, just go there */
370
+ if (state->mode == GZ_READ && state->how == COPY &&
371
+ state->x.pos + offset >= 0) {
372
+ ret = LSEEK(state->fd, offset - (z_off64_t)state->x.have, SEEK_CUR);
373
+ if (ret == -1)
374
+ return -1;
375
+ state->x.have = 0;
376
+ state->eof = 0;
377
+ state->past = 0;
378
+ state->seek = 0;
379
+ gz_error(state, Z_OK, NULL);
380
+ state->strm.avail_in = 0;
381
+ state->x.pos += offset;
382
+ return state->x.pos;
383
+ }
384
+
385
+ /* calculate skip amount, rewinding if needed for back seek when reading */
386
+ if (offset < 0) {
387
+ if (state->mode != GZ_READ) /* writing -- can't go backwards */
388
+ return -1;
389
+ offset += state->x.pos;
390
+ if (offset < 0) /* before start of file! */
391
+ return -1;
392
+ if (gzrewind(file) == -1) /* rewind, then skip to offset */
393
+ return -1;
394
+ }
395
+
396
+ /* if reading, skip what's in output buffer (one less gzgetc() check) */
397
+ if (state->mode == GZ_READ) {
398
+ n = GT_OFF(state->x.have) || (z_off64_t)state->x.have > offset ?
399
+ (unsigned)offset : state->x.have;
400
+ state->x.have -= n;
401
+ state->x.next += n;
402
+ state->x.pos += n;
403
+ offset -= n;
404
+ }
405
+
406
+ /* request skip (if not zero) */
407
+ if (offset) {
408
+ state->seek = 1;
409
+ state->skip = offset;
410
+ }
411
+ return state->x.pos + offset;
412
+ }
413
+
414
+ /* -- see zlib.h -- */
415
+ z_off_t ZEXPORT gzseek(gzFile file, z_off_t offset, int whence) {
416
+ z_off64_t ret;
417
+
418
+ ret = gzseek64(file, (z_off64_t)offset, whence);
419
+ return ret == (z_off_t)ret ? (z_off_t)ret : -1;
420
+ }
421
+
422
+ /* -- see zlib.h -- */
423
+ z_off64_t ZEXPORT gztell64(gzFile file) {
424
+ gz_statep state;
425
+
426
+ /* get internal structure and check integrity */
427
+ if (file == NULL)
428
+ return -1;
429
+ state = (gz_statep)file;
430
+ if (state->mode != GZ_READ && state->mode != GZ_WRITE)
431
+ return -1;
432
+
433
+ /* return position */
434
+ return state->x.pos + (state->seek ? state->skip : 0);
435
+ }
436
+
437
+ /* -- see zlib.h -- */
438
+ z_off_t ZEXPORT gztell(gzFile file) {
439
+ z_off64_t ret;
440
+
441
+ ret = gztell64(file);
442
+ return ret == (z_off_t)ret ? (z_off_t)ret : -1;
443
+ }
444
+
445
+ /* -- see zlib.h -- */
446
+ z_off64_t ZEXPORT gzoffset64(gzFile file) {
447
+ z_off64_t offset;
448
+ gz_statep state;
449
+
450
+ /* get internal structure and check integrity */
451
+ if (file == NULL)
452
+ return -1;
453
+ state = (gz_statep)file;
454
+ if (state->mode != GZ_READ && state->mode != GZ_WRITE)
455
+ return -1;
456
+
457
+ /* compute and return effective offset in file */
458
+ offset = LSEEK(state->fd, 0, SEEK_CUR);
459
+ if (offset == -1)
460
+ return -1;
461
+ if (state->mode == GZ_READ) /* reading */
462
+ offset -= state->strm.avail_in; /* don't count buffered input */
463
+ return offset;
464
+ }
465
+
466
+ /* -- see zlib.h -- */
467
+ z_off_t ZEXPORT gzoffset(gzFile file) {
468
+ z_off64_t ret;
469
+
470
+ ret = gzoffset64(file);
471
+ return ret == (z_off_t)ret ? (z_off_t)ret : -1;
472
+ }
473
+
474
+ /* -- see zlib.h -- */
475
+ int ZEXPORT gzeof(gzFile file) {
476
+ gz_statep state;
477
+
478
+ /* get internal structure and check integrity */
479
+ if (file == NULL)
480
+ return 0;
481
+ state = (gz_statep)file;
482
+ if (state->mode != GZ_READ && state->mode != GZ_WRITE)
483
+ return 0;
484
+
485
+ /* return end-of-file state */
486
+ return state->mode == GZ_READ ? state->past : 0;
487
+ }
488
+
489
+ /* -- see zlib.h -- */
490
+ const char * ZEXPORT gzerror(gzFile file, int *errnum) {
491
+ gz_statep state;
492
+
493
+ /* get internal structure and check integrity */
494
+ if (file == NULL)
495
+ return NULL;
496
+ state = (gz_statep)file;
497
+ if (state->mode != GZ_READ && state->mode != GZ_WRITE)
498
+ return NULL;
499
+
500
+ /* return error information */
501
+ if (errnum != NULL)
502
+ *errnum = state->err;
503
+ return state->err == Z_MEM_ERROR ? "out of memory" :
504
+ (state->msg == NULL ? "" : state->msg);
505
+ }
506
+
507
+ /* -- see zlib.h -- */
508
+ void ZEXPORT gzclearerr(gzFile file) {
509
+ gz_statep state;
510
+
511
+ /* get internal structure and check integrity */
512
+ if (file == NULL)
513
+ return;
514
+ state = (gz_statep)file;
515
+ if (state->mode != GZ_READ && state->mode != GZ_WRITE)
516
+ return;
517
+
518
+ /* clear error and end-of-file */
519
+ if (state->mode == GZ_READ) {
520
+ state->eof = 0;
521
+ state->past = 0;
522
+ }
523
+ gz_error(state, Z_OK, NULL);
524
+ }
525
+
526
+ /* Create an error message in allocated memory and set state->err and
527
+ state->msg accordingly. Free any previous error message already there. Do
528
+ not try to free or allocate space if the error is Z_MEM_ERROR (out of
529
+ memory). Simply save the error message as a static string. If there is an
530
+ allocation failure constructing the error message, then convert the error to
531
+ out of memory. */
532
+ void ZLIB_INTERNAL gz_error(gz_statep state, int err, const char *msg) {
533
+ /* free previously allocated message and clear */
534
+ if (state->msg != NULL) {
535
+ if (state->err != Z_MEM_ERROR)
536
+ free(state->msg);
537
+ state->msg = NULL;
538
+ }
539
+
540
+ /* if fatal, set state->x.have to 0 so that the gzgetc() macro fails */
541
+ if (err != Z_OK && err != Z_BUF_ERROR)
542
+ state->x.have = 0;
543
+
544
+ /* set error code, and if no message, then done */
545
+ state->err = err;
546
+ if (msg == NULL)
547
+ return;
548
+
549
+ /* for an out of memory error, return literal string when requested */
550
+ if (err == Z_MEM_ERROR)
551
+ return;
552
+
553
+ /* construct error message with path */
554
+ if ((state->msg = (char *)malloc(strlen(state->path) + strlen(msg) + 3)) ==
555
+ NULL) {
556
+ state->err = Z_MEM_ERROR;
557
+ return;
558
+ }
559
+ #if !defined(NO_snprintf) && !defined(NO_vsnprintf)
560
+ (void)snprintf(state->msg, strlen(state->path) + strlen(msg) + 3,
561
+ "%s%s%s", state->path, ": ", msg);
562
+ #else
563
+ strcpy(state->msg, state->path);
564
+ strcat(state->msg, ": ");
565
+ strcat(state->msg, msg);
566
+ #endif
567
+ }
568
+
569
+ /* portably return maximum value for an int (when limits.h presumed not
570
+ available) -- we need to do this to cover cases where 2's complement not
571
+ used, since C standard permits 1's complement and sign-bit representations,
572
+ otherwise we could just use ((unsigned)-1) >> 1 */
573
+ unsigned ZLIB_INTERNAL gz_intmax(void) {
574
+ #ifdef INT_MAX
575
+ return INT_MAX;
576
+ #else
577
+ unsigned p = 1, q;
578
+ do {
579
+ q = p;
580
+ p <<= 1;
581
+ p++;
582
+ } while (p > q);
583
+ return q >> 1;
584
+ #endif
585
+ }