hane 1.1.1 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (379) hide show
  1. package/README.md +32 -32
  2. package/binding.gyp +50 -50
  3. package/deps/win-nodeapi/node_api.def +158 -158
  4. package/package.json +34 -34
  5. package/src/native/addon.cc +183 -183
  6. package/src/native/zsign_driver.cc +86 -86
  7. package/src/native/zsign_driver.h +38 -38
  8. package/vendor/zlib/.cmake-format.yaml +245 -245
  9. package/vendor/zlib/.github/workflows/c-std.yml +230 -230
  10. package/vendor/zlib/.github/workflows/cmake.yml +112 -112
  11. package/vendor/zlib/.github/workflows/configure.yml +136 -136
  12. package/vendor/zlib/.github/workflows/fuzz.yml +25 -25
  13. package/vendor/zlib/.github/workflows/msys-cygwin.yml +77 -77
  14. package/vendor/zlib/BUILD.bazel +134 -134
  15. package/vendor/zlib/CMakeLists.txt +330 -330
  16. package/vendor/zlib/ChangeLog +1621 -1621
  17. package/vendor/zlib/FAQ +367 -367
  18. package/vendor/zlib/INDEX +68 -68
  19. package/vendor/zlib/LICENSE +22 -22
  20. package/vendor/zlib/MODULE.bazel +9 -9
  21. package/vendor/zlib/Makefile.in +419 -419
  22. package/vendor/zlib/README +115 -115
  23. package/vendor/zlib/README-cmake.md +83 -83
  24. package/vendor/zlib/adler32.c +164 -164
  25. package/vendor/zlib/amiga/Makefile.pup +69 -69
  26. package/vendor/zlib/amiga/Makefile.sas +68 -68
  27. package/vendor/zlib/compress.c +75 -75
  28. package/vendor/zlib/configure +966 -966
  29. package/vendor/zlib/contrib/README.contrib +57 -57
  30. package/vendor/zlib/contrib/ada/buffer_demo.adb +106 -106
  31. package/vendor/zlib/contrib/ada/mtest.adb +156 -156
  32. package/vendor/zlib/contrib/ada/read.adb +156 -156
  33. package/vendor/zlib/contrib/ada/readme.txt +65 -65
  34. package/vendor/zlib/contrib/ada/test.adb +463 -463
  35. package/vendor/zlib/contrib/ada/zlib-streams.adb +225 -225
  36. package/vendor/zlib/contrib/ada/zlib-streams.ads +114 -114
  37. package/vendor/zlib/contrib/ada/zlib-thin.adb +142 -142
  38. package/vendor/zlib/contrib/ada/zlib-thin.ads +450 -450
  39. package/vendor/zlib/contrib/ada/zlib.adb +701 -701
  40. package/vendor/zlib/contrib/ada/zlib.ads +328 -328
  41. package/vendor/zlib/contrib/ada/zlib.gpr +20 -20
  42. package/vendor/zlib/contrib/blast/Makefile +8 -8
  43. package/vendor/zlib/contrib/blast/README +4 -4
  44. package/vendor/zlib/contrib/blast/blast.c +466 -466
  45. package/vendor/zlib/contrib/blast/blast.h +83 -83
  46. package/vendor/zlib/contrib/delphi/ZLib.pas +557 -557
  47. package/vendor/zlib/contrib/delphi/ZLibConst.pas +11 -11
  48. package/vendor/zlib/contrib/delphi/readme.txt +76 -76
  49. package/vendor/zlib/contrib/delphi/zlibd32.mak +99 -99
  50. package/vendor/zlib/contrib/gcc_gvmat64/gvmat64.S +574 -574
  51. package/vendor/zlib/contrib/infback9/README +1 -1
  52. package/vendor/zlib/contrib/infback9/infback9.c +603 -603
  53. package/vendor/zlib/contrib/infback9/infback9.h +37 -37
  54. package/vendor/zlib/contrib/infback9/inffix9.h +107 -107
  55. package/vendor/zlib/contrib/infback9/inflate9.h +47 -47
  56. package/vendor/zlib/contrib/infback9/inftree9.c +319 -319
  57. package/vendor/zlib/contrib/infback9/inftree9.h +61 -61
  58. package/vendor/zlib/contrib/iostream/test.cpp +24 -24
  59. package/vendor/zlib/contrib/iostream/zfstream.cpp +329 -329
  60. package/vendor/zlib/contrib/iostream/zfstream.h +128 -128
  61. package/vendor/zlib/contrib/iostream2/zstream.h +307 -307
  62. package/vendor/zlib/contrib/iostream2/zstream_test.cpp +25 -25
  63. package/vendor/zlib/contrib/iostream3/README +35 -35
  64. package/vendor/zlib/contrib/iostream3/TODO +17 -17
  65. package/vendor/zlib/contrib/iostream3/test.cc +50 -50
  66. package/vendor/zlib/contrib/iostream3/zfstream.cc +479 -479
  67. package/vendor/zlib/contrib/iostream3/zfstream.h +466 -466
  68. package/vendor/zlib/contrib/minizip/CMakeLists.txt +380 -380
  69. package/vendor/zlib/contrib/minizip/Makefile +37 -37
  70. package/vendor/zlib/contrib/minizip/Makefile.am +45 -45
  71. package/vendor/zlib/contrib/minizip/MiniZip64_Changes.txt +6 -6
  72. package/vendor/zlib/contrib/minizip/MiniZip64_info.txt +74 -74
  73. package/vendor/zlib/contrib/minizip/configure.ac +32 -32
  74. package/vendor/zlib/contrib/minizip/crypt.h +128 -128
  75. package/vendor/zlib/contrib/minizip/ints.h +57 -57
  76. package/vendor/zlib/contrib/minizip/ioapi.c +231 -231
  77. package/vendor/zlib/contrib/minizip/ioapi.h +183 -183
  78. package/vendor/zlib/contrib/minizip/iowin32.c +448 -448
  79. package/vendor/zlib/contrib/minizip/iowin32.h +28 -28
  80. package/vendor/zlib/contrib/minizip/make_vms.com +25 -25
  81. package/vendor/zlib/contrib/minizip/miniunz.c +647 -647
  82. package/vendor/zlib/contrib/minizip/miniunzip.1 +63 -63
  83. package/vendor/zlib/contrib/minizip/minizip.1 +46 -46
  84. package/vendor/zlib/contrib/minizip/minizip.c +512 -512
  85. package/vendor/zlib/contrib/minizip/minizip.pc.in +12 -12
  86. package/vendor/zlib/contrib/minizip/minizip.pc.txt +13 -13
  87. package/vendor/zlib/contrib/minizip/minizipConfig.cmake.in +35 -35
  88. package/vendor/zlib/contrib/minizip/mztools.c +288 -288
  89. package/vendor/zlib/contrib/minizip/mztools.h +37 -37
  90. package/vendor/zlib/contrib/minizip/skipset.h +361 -361
  91. package/vendor/zlib/contrib/minizip/test/CMakeLists.txt +121 -121
  92. package/vendor/zlib/contrib/minizip/test/add_subdirectory_exclude_test.cmake.in +29 -29
  93. package/vendor/zlib/contrib/minizip/test/add_subdirectory_test.cmake.in +28 -28
  94. package/vendor/zlib/contrib/minizip/test/find_package_test.cmake.in +25 -25
  95. package/vendor/zlib/contrib/minizip/test/test_helper.cm +32 -32
  96. package/vendor/zlib/contrib/minizip/unzip.c +1981 -1981
  97. package/vendor/zlib/contrib/minizip/unzip.h +441 -441
  98. package/vendor/zlib/contrib/minizip/zip.c +2199 -2199
  99. package/vendor/zlib/contrib/minizip/zip.h +370 -370
  100. package/vendor/zlib/contrib/nuget/nuget.csproj +43 -43
  101. package/vendor/zlib/contrib/nuget/nuget.sln +22 -22
  102. package/vendor/zlib/contrib/pascal/example.pas +599 -599
  103. package/vendor/zlib/contrib/pascal/readme.txt +76 -76
  104. package/vendor/zlib/contrib/pascal/zlibd32.mak +99 -99
  105. package/vendor/zlib/contrib/pascal/zlibpas.pas +276 -276
  106. package/vendor/zlib/contrib/puff/Makefile +42 -42
  107. package/vendor/zlib/contrib/puff/README +63 -63
  108. package/vendor/zlib/contrib/puff/puff.c +840 -840
  109. package/vendor/zlib/contrib/puff/puff.h +35 -35
  110. package/vendor/zlib/contrib/puff/pufftest.c +169 -169
  111. package/vendor/zlib/contrib/untgz/Makefile +14 -14
  112. package/vendor/zlib/contrib/untgz/Makefile.msc +17 -17
  113. package/vendor/zlib/contrib/untgz/untgz.c +667 -667
  114. package/vendor/zlib/contrib/vstudio/readme.txt +81 -81
  115. package/vendor/zlib/contrib/vstudio/vc12/miniunz.vcxproj +315 -315
  116. package/vendor/zlib/contrib/vstudio/vc12/minizip.vcxproj +312 -312
  117. package/vendor/zlib/contrib/vstudio/vc12/testzlib.vcxproj +421 -421
  118. package/vendor/zlib/contrib/vstudio/vc12/testzlibdll.vcxproj +315 -315
  119. package/vendor/zlib/contrib/vstudio/vc12/zlib.rc +32 -32
  120. package/vendor/zlib/contrib/vstudio/vc12/zlibstat.vcxproj +458 -458
  121. package/vendor/zlib/contrib/vstudio/vc12/zlibvc.sln +119 -119
  122. package/vendor/zlib/contrib/vstudio/vc12/zlibvc.vcxproj +667 -667
  123. package/vendor/zlib/contrib/vstudio/vc14/miniunz.vcxproj +315 -315
  124. package/vendor/zlib/contrib/vstudio/vc14/minizip.vcxproj +312 -312
  125. package/vendor/zlib/contrib/vstudio/vc14/testzlib.vcxproj +421 -421
  126. package/vendor/zlib/contrib/vstudio/vc14/testzlibdll.vcxproj +315 -315
  127. package/vendor/zlib/contrib/vstudio/vc14/zlib.rc +32 -32
  128. package/vendor/zlib/contrib/vstudio/vc14/zlibstat.vcxproj +458 -458
  129. package/vendor/zlib/contrib/vstudio/vc14/zlibvc.sln +119 -119
  130. package/vendor/zlib/contrib/vstudio/vc14/zlibvc.vcxproj +667 -667
  131. package/vendor/zlib/contrib/vstudio/vc17/miniunz.vcxproj +408 -408
  132. package/vendor/zlib/contrib/vstudio/vc17/minizip.vcxproj +404 -404
  133. package/vendor/zlib/contrib/vstudio/vc17/testzlib.vcxproj +472 -472
  134. package/vendor/zlib/contrib/vstudio/vc17/testzlibdll.vcxproj +408 -408
  135. package/vendor/zlib/contrib/vstudio/vc17/zlib.rc +32 -32
  136. package/vendor/zlib/contrib/vstudio/vc17/zlibstat.vcxproj +601 -601
  137. package/vendor/zlib/contrib/vstudio/vc17/zlibvc.sln +179 -179
  138. package/vendor/zlib/contrib/vstudio/vc17/zlibvc.vcxproj +874 -874
  139. package/vendor/zlib/crc32.c +1049 -1049
  140. package/vendor/zlib/crc32.h +9446 -9446
  141. package/vendor/zlib/deflate.c +2152 -2152
  142. package/vendor/zlib/deflate.h +380 -380
  143. package/vendor/zlib/doc/algorithm.txt +209 -209
  144. package/vendor/zlib/doc/rfc1950.txt +619 -619
  145. package/vendor/zlib/doc/rfc1951.txt +955 -955
  146. package/vendor/zlib/doc/rfc1952.txt +675 -675
  147. package/vendor/zlib/doc/txtvsbin.txt +107 -107
  148. package/vendor/zlib/examples/README.examples +54 -54
  149. package/vendor/zlib/examples/enough.c +597 -597
  150. package/vendor/zlib/examples/fitblk.c +233 -233
  151. package/vendor/zlib/examples/gun.c +702 -702
  152. package/vendor/zlib/examples/gzappend.c +504 -504
  153. package/vendor/zlib/examples/gzjoin.c +449 -449
  154. package/vendor/zlib/examples/gzlog.c +1061 -1061
  155. package/vendor/zlib/examples/gzlog.h +91 -91
  156. package/vendor/zlib/examples/gznorm.c +474 -474
  157. package/vendor/zlib/examples/zlib_how.html +549 -549
  158. package/vendor/zlib/examples/zpipe.c +209 -209
  159. package/vendor/zlib/examples/zran.c +550 -550
  160. package/vendor/zlib/examples/zran.h +53 -53
  161. package/vendor/zlib/gzclose.c +23 -23
  162. package/vendor/zlib/gzguts.h +215 -215
  163. package/vendor/zlib/gzlib.c +585 -585
  164. package/vendor/zlib/gzread.c +603 -603
  165. package/vendor/zlib/gzwrite.c +631 -631
  166. package/vendor/zlib/infback.c +628 -628
  167. package/vendor/zlib/inffast.c +320 -320
  168. package/vendor/zlib/inffast.h +11 -11
  169. package/vendor/zlib/inffixed.h +94 -94
  170. package/vendor/zlib/inflate.c +1526 -1526
  171. package/vendor/zlib/inflate.h +126 -126
  172. package/vendor/zlib/inftrees.c +299 -299
  173. package/vendor/zlib/inftrees.h +62 -62
  174. package/vendor/zlib/make_vms.com +867 -867
  175. package/vendor/zlib/msdos/Makefile.bor +115 -115
  176. package/vendor/zlib/msdos/Makefile.dj2 +104 -104
  177. package/vendor/zlib/msdos/Makefile.emx +69 -69
  178. package/vendor/zlib/msdos/Makefile.msc +112 -112
  179. package/vendor/zlib/msdos/Makefile.tc +100 -100
  180. package/vendor/zlib/nintendods/Makefile +126 -126
  181. package/vendor/zlib/nintendods/README +5 -5
  182. package/vendor/zlib/old/Makefile.emx +69 -69
  183. package/vendor/zlib/old/Makefile.riscos +151 -151
  184. package/vendor/zlib/old/README +3 -3
  185. package/vendor/zlib/old/descrip.mms +48 -48
  186. package/vendor/zlib/old/os2/Makefile.os2 +136 -136
  187. package/vendor/zlib/old/os2/zlib.def +51 -51
  188. package/vendor/zlib/old/visual-basic.txt +160 -160
  189. package/vendor/zlib/os400/README400 +48 -48
  190. package/vendor/zlib/os400/bndsrc +133 -133
  191. package/vendor/zlib/os400/make.sh +366 -366
  192. package/vendor/zlib/os400/zlib.inc +531 -531
  193. package/vendor/zlib/qnx/package.qpg +141 -141
  194. package/vendor/zlib/test/CMakeLists.txt +265 -265
  195. package/vendor/zlib/test/add_subdirectory_exclude_test.cmake.in +29 -29
  196. package/vendor/zlib/test/add_subdirectory_test.cmake.in +28 -28
  197. package/vendor/zlib/test/example.c +552 -552
  198. package/vendor/zlib/test/find_package_test.cmake.in +26 -26
  199. package/vendor/zlib/test/infcover.c +672 -672
  200. package/vendor/zlib/test/minigzip.c +590 -590
  201. package/vendor/zlib/treebuild.xml +116 -116
  202. package/vendor/zlib/trees.c +1119 -1119
  203. package/vendor/zlib/trees.h +128 -128
  204. package/vendor/zlib/uncompr.c +85 -85
  205. package/vendor/zlib/watcom/watcom_f.mak +43 -43
  206. package/vendor/zlib/watcom/watcom_l.mak +43 -43
  207. package/vendor/zlib/win32/DLL_FAQ.txt +381 -381
  208. package/vendor/zlib/win32/Makefile.bor +109 -109
  209. package/vendor/zlib/win32/Makefile.gcc +177 -177
  210. package/vendor/zlib/win32/Makefile.msc +159 -159
  211. package/vendor/zlib/win32/README-WIN32.txt +103 -103
  212. package/vendor/zlib/win32/VisualC.txt +3 -3
  213. package/vendor/zlib/win32/zlib1.rc +37 -37
  214. package/vendor/zlib/zconf.h.in +544 -544
  215. package/vendor/zlib/zlib.3 +149 -149
  216. package/vendor/zlib/zlib.h +1957 -1957
  217. package/vendor/zlib/zlib.map +103 -103
  218. package/vendor/zlib/zlib.pc.cmakein +13 -13
  219. package/vendor/zlib/zlib.pc.in +13 -13
  220. package/vendor/zlib/zlibConfig.cmake.in +26 -26
  221. package/vendor/zlib/zutil.c +299 -299
  222. package/vendor/zlib/zutil.h +257 -257
  223. package/vendor/zsign/.gitattributes +3 -3
  224. package/vendor/zsign/LICENSE +20 -20
  225. package/vendor/zsign/README.md +142 -142
  226. package/vendor/zsign/build/linux/Makefile +43 -43
  227. package/vendor/zsign/build/macos/Makefile +43 -43
  228. package/vendor/zsign/build/windows/vs2022/include/minizip/crypt.h +128 -128
  229. package/vendor/zsign/build/windows/vs2022/include/minizip/ioapi.h +216 -216
  230. package/vendor/zsign/build/windows/vs2022/include/minizip/iowin32.h +28 -28
  231. package/vendor/zsign/build/windows/vs2022/include/minizip/mztools.h +37 -37
  232. package/vendor/zsign/build/windows/vs2022/include/minizip/unzip.h +437 -437
  233. package/vendor/zsign/build/windows/vs2022/include/minizip/zip.h +364 -364
  234. package/vendor/zsign/build/windows/vs2022/include/openssl/__DECC_INCLUDE_EPILOGUE.H +22 -22
  235. package/vendor/zsign/build/windows/vs2022/include/openssl/__DECC_INCLUDE_PROLOGUE.H +26 -26
  236. package/vendor/zsign/build/windows/vs2022/include/openssl/aes.h +111 -111
  237. package/vendor/zsign/build/windows/vs2022/include/openssl/applink.c +153 -153
  238. package/vendor/zsign/build/windows/vs2022/include/openssl/asn1_mac.h +10 -10
  239. package/vendor/zsign/build/windows/vs2022/include/openssl/asn1err.h +142 -142
  240. package/vendor/zsign/build/windows/vs2022/include/openssl/async.h +104 -104
  241. package/vendor/zsign/build/windows/vs2022/include/openssl/asyncerr.h +29 -29
  242. package/vendor/zsign/build/windows/vs2022/include/openssl/bioerr.h +72 -72
  243. package/vendor/zsign/build/windows/vs2022/include/openssl/blowfish.h +78 -78
  244. package/vendor/zsign/build/windows/vs2022/include/openssl/bn.h +590 -590
  245. package/vendor/zsign/build/windows/vs2022/include/openssl/bnerr.h +47 -47
  246. package/vendor/zsign/build/windows/vs2022/include/openssl/buffer.h +62 -62
  247. package/vendor/zsign/build/windows/vs2022/include/openssl/buffererr.h +25 -25
  248. package/vendor/zsign/build/windows/vs2022/include/openssl/camellia.h +117 -117
  249. package/vendor/zsign/build/windows/vs2022/include/openssl/cast.h +71 -71
  250. package/vendor/zsign/build/windows/vs2022/include/openssl/cmac.h +52 -52
  251. package/vendor/zsign/build/windows/vs2022/include/openssl/cmp_util.h +56 -56
  252. package/vendor/zsign/build/windows/vs2022/include/openssl/cmperr.h +131 -131
  253. package/vendor/zsign/build/windows/vs2022/include/openssl/cmserr.h +125 -125
  254. package/vendor/zsign/build/windows/vs2022/include/openssl/comperr.h +38 -38
  255. package/vendor/zsign/build/windows/vs2022/include/openssl/conf_api.h +46 -46
  256. package/vendor/zsign/build/windows/vs2022/include/openssl/conferr.h +52 -52
  257. package/vendor/zsign/build/windows/vs2022/include/openssl/conftypes.h +44 -44
  258. package/vendor/zsign/build/windows/vs2022/include/openssl/core.h +236 -236
  259. package/vendor/zsign/build/windows/vs2022/include/openssl/core_dispatch.h +1022 -1022
  260. package/vendor/zsign/build/windows/vs2022/include/openssl/core_object.h +41 -41
  261. package/vendor/zsign/build/windows/vs2022/include/openssl/crmferr.h +50 -50
  262. package/vendor/zsign/build/windows/vs2022/include/openssl/cryptoerr.h +56 -56
  263. package/vendor/zsign/build/windows/vs2022/include/openssl/cryptoerr_legacy.h +1466 -1466
  264. package/vendor/zsign/build/windows/vs2022/include/openssl/cterr.h +45 -45
  265. package/vendor/zsign/build/windows/vs2022/include/openssl/decoder.h +133 -133
  266. package/vendor/zsign/build/windows/vs2022/include/openssl/decodererr.h +28 -28
  267. package/vendor/zsign/build/windows/vs2022/include/openssl/des.h +211 -211
  268. package/vendor/zsign/build/windows/vs2022/include/openssl/dh.h +339 -339
  269. package/vendor/zsign/build/windows/vs2022/include/openssl/dherr.h +59 -59
  270. package/vendor/zsign/build/windows/vs2022/include/openssl/dsa.h +280 -280
  271. package/vendor/zsign/build/windows/vs2022/include/openssl/dsaerr.h +44 -44
  272. package/vendor/zsign/build/windows/vs2022/include/openssl/dtls1.h +57 -57
  273. package/vendor/zsign/build/windows/vs2022/include/openssl/e_os2.h +310 -310
  274. package/vendor/zsign/build/windows/vs2022/include/openssl/e_ostime.h +38 -38
  275. package/vendor/zsign/build/windows/vs2022/include/openssl/ebcdic.h +39 -39
  276. package/vendor/zsign/build/windows/vs2022/include/openssl/ec.h +1588 -1588
  277. package/vendor/zsign/build/windows/vs2022/include/openssl/ecdh.h +10 -10
  278. package/vendor/zsign/build/windows/vs2022/include/openssl/ecdsa.h +10 -10
  279. package/vendor/zsign/build/windows/vs2022/include/openssl/ecerr.h +104 -104
  280. package/vendor/zsign/build/windows/vs2022/include/openssl/encoder.h +124 -124
  281. package/vendor/zsign/build/windows/vs2022/include/openssl/encodererr.h +28 -28
  282. package/vendor/zsign/build/windows/vs2022/include/openssl/engine.h +833 -833
  283. package/vendor/zsign/build/windows/vs2022/include/openssl/engineerr.h +63 -63
  284. package/vendor/zsign/build/windows/vs2022/include/openssl/esserr.h +32 -32
  285. package/vendor/zsign/build/windows/vs2022/include/openssl/evp.h +2231 -2231
  286. package/vendor/zsign/build/windows/vs2022/include/openssl/evperr.h +140 -140
  287. package/vendor/zsign/build/windows/vs2022/include/openssl/fips_names.h +50 -50
  288. package/vendor/zsign/build/windows/vs2022/include/openssl/hmac.h +62 -62
  289. package/vendor/zsign/build/windows/vs2022/include/openssl/hpke.h +169 -169
  290. package/vendor/zsign/build/windows/vs2022/include/openssl/http.h +118 -118
  291. package/vendor/zsign/build/windows/vs2022/include/openssl/httperr.h +56 -56
  292. package/vendor/zsign/build/windows/vs2022/include/openssl/idea.h +82 -82
  293. package/vendor/zsign/build/windows/vs2022/include/openssl/indicator.h +31 -31
  294. package/vendor/zsign/build/windows/vs2022/include/openssl/kdf.h +138 -138
  295. package/vendor/zsign/build/windows/vs2022/include/openssl/kdferr.h +16 -16
  296. package/vendor/zsign/build/windows/vs2022/include/openssl/macros.h +338 -338
  297. package/vendor/zsign/build/windows/vs2022/include/openssl/md2.h +56 -56
  298. package/vendor/zsign/build/windows/vs2022/include/openssl/md4.h +63 -63
  299. package/vendor/zsign/build/windows/vs2022/include/openssl/md5.h +62 -62
  300. package/vendor/zsign/build/windows/vs2022/include/openssl/mdc2.h +55 -55
  301. package/vendor/zsign/build/windows/vs2022/include/openssl/modes.h +219 -219
  302. package/vendor/zsign/build/windows/vs2022/include/openssl/obj_mac.h +5820 -5820
  303. package/vendor/zsign/build/windows/vs2022/include/openssl/objects.h +184 -184
  304. package/vendor/zsign/build/windows/vs2022/include/openssl/objectserr.h +28 -28
  305. package/vendor/zsign/build/windows/vs2022/include/openssl/ocsperr.h +53 -53
  306. package/vendor/zsign/build/windows/vs2022/include/openssl/opensslconf.h +17 -17
  307. package/vendor/zsign/build/windows/vs2022/include/openssl/ossl_typ.h +16 -16
  308. package/vendor/zsign/build/windows/vs2022/include/openssl/param_build.h +63 -63
  309. package/vendor/zsign/build/windows/vs2022/include/openssl/params.h +160 -160
  310. package/vendor/zsign/build/windows/vs2022/include/openssl/pem.h +543 -543
  311. package/vendor/zsign/build/windows/vs2022/include/openssl/pem2.h +19 -19
  312. package/vendor/zsign/build/windows/vs2022/include/openssl/pemerr.h +58 -58
  313. package/vendor/zsign/build/windows/vs2022/include/openssl/pkcs12err.h +46 -46
  314. package/vendor/zsign/build/windows/vs2022/include/openssl/pkcs7err.h +63 -63
  315. package/vendor/zsign/build/windows/vs2022/include/openssl/prov_ssl.h +38 -38
  316. package/vendor/zsign/build/windows/vs2022/include/openssl/proverr.h +162 -162
  317. package/vendor/zsign/build/windows/vs2022/include/openssl/provider.h +66 -66
  318. package/vendor/zsign/build/windows/vs2022/include/openssl/quic.h +70 -70
  319. package/vendor/zsign/build/windows/vs2022/include/openssl/rand.h +125 -125
  320. package/vendor/zsign/build/windows/vs2022/include/openssl/randerr.h +69 -69
  321. package/vendor/zsign/build/windows/vs2022/include/openssl/rc2.h +68 -68
  322. package/vendor/zsign/build/windows/vs2022/include/openssl/rc4.h +47 -47
  323. package/vendor/zsign/build/windows/vs2022/include/openssl/rc5.h +79 -79
  324. package/vendor/zsign/build/windows/vs2022/include/openssl/ripemd.h +59 -59
  325. package/vendor/zsign/build/windows/vs2022/include/openssl/rsa.h +615 -615
  326. package/vendor/zsign/build/windows/vs2022/include/openssl/rsaerr.h +107 -107
  327. package/vendor/zsign/build/windows/vs2022/include/openssl/seed.h +113 -113
  328. package/vendor/zsign/build/windows/vs2022/include/openssl/self_test.h +98 -98
  329. package/vendor/zsign/build/windows/vs2022/include/openssl/sha.h +139 -139
  330. package/vendor/zsign/build/windows/vs2022/include/openssl/srtp.h +68 -68
  331. package/vendor/zsign/build/windows/vs2022/include/openssl/ssl2.h +30 -30
  332. package/vendor/zsign/build/windows/vs2022/include/openssl/ssl3.h +357 -357
  333. package/vendor/zsign/build/windows/vs2022/include/openssl/sslerr.h +379 -379
  334. package/vendor/zsign/build/windows/vs2022/include/openssl/sslerr_legacy.h +467 -467
  335. package/vendor/zsign/build/windows/vs2022/include/openssl/stack.h +90 -90
  336. package/vendor/zsign/build/windows/vs2022/include/openssl/store.h +377 -377
  337. package/vendor/zsign/build/windows/vs2022/include/openssl/storeerr.h +49 -49
  338. package/vendor/zsign/build/windows/vs2022/include/openssl/symhacks.h +39 -39
  339. package/vendor/zsign/build/windows/vs2022/include/openssl/thread.h +31 -31
  340. package/vendor/zsign/build/windows/vs2022/include/openssl/tls1.h +1220 -1220
  341. package/vendor/zsign/build/windows/vs2022/include/openssl/trace.h +320 -320
  342. package/vendor/zsign/build/windows/vs2022/include/openssl/ts.h +522 -522
  343. package/vendor/zsign/build/windows/vs2022/include/openssl/tserr.h +67 -67
  344. package/vendor/zsign/build/windows/vs2022/include/openssl/txt_db.h +63 -63
  345. package/vendor/zsign/build/windows/vs2022/include/openssl/types.h +245 -245
  346. package/vendor/zsign/build/windows/vs2022/include/openssl/uierr.h +38 -38
  347. package/vendor/zsign/build/windows/vs2022/include/openssl/whrlpool.h +62 -62
  348. package/vendor/zsign/build/windows/vs2022/include/openssl/x509err.h +70 -70
  349. package/vendor/zsign/build/windows/vs2022/include/openssl/x509v3err.h +96 -96
  350. package/vendor/zsign/src/archo.cpp +742 -742
  351. package/vendor/zsign/src/archo.h +61 -61
  352. package/vendor/zsign/src/bundle.cpp +589 -589
  353. package/vendor/zsign/src/bundle.h +46 -46
  354. package/vendor/zsign/src/common/archive.cpp +246 -246
  355. package/vendor/zsign/src/common/archive.h +22 -22
  356. package/vendor/zsign/src/common/common.h +56 -56
  357. package/vendor/zsign/src/common/fs.cpp +573 -573
  358. package/vendor/zsign/src/common/fs.h +50 -50
  359. package/vendor/zsign/src/common/log.cpp +145 -145
  360. package/vendor/zsign/src/common/log.h +37 -37
  361. package/vendor/zsign/src/common/mach-o.h +585 -585
  362. package/vendor/zsign/src/common/sha.cpp +133 -133
  363. package/vendor/zsign/src/common/sha.h +24 -24
  364. package/vendor/zsign/src/common/timer.cpp +28 -28
  365. package/vendor/zsign/src/common/timer.h +17 -17
  366. package/vendor/zsign/src/common/util.cpp +185 -185
  367. package/vendor/zsign/src/common/util.h +25 -25
  368. package/vendor/zsign/src/macho.cpp +273 -273
  369. package/vendor/zsign/src/macho.h +38 -38
  370. package/vendor/zsign/src/openssl.cpp +698 -698
  371. package/vendor/zsign/src/openssl.h +71 -71
  372. package/vendor/zsign/src/signing.cpp +745 -745
  373. package/vendor/zsign/src/signing.h +59 -59
  374. package/vendor/zsign/src/zsign.cpp +317 -317
  375. package/vendor/zsign/test/dylib/demo/Makefile +12 -12
  376. package/vendor/zsign/test/dylib/demo/control +9 -9
  377. package/vendor/zsign/test/dylib/demo/demo.m +21 -21
  378. package/vendor/zsign/test/linux/test.sh +19 -19
  379. package/vendor/zsign/test/macos/test.sh +19 -19
@@ -1,599 +1,599 @@
1
- (* example.c -- usage example of the zlib compression library
2
- * Copyright (C) 1995-2003 Jean-loup Gailly.
3
- * For conditions of distribution and use, see copyright notice in zlib.h
4
- *
5
- * Pascal translation
6
- * Copyright (C) 1998 by Jacques Nomssi Nzali.
7
- * For conditions of distribution and use, see copyright notice in readme.txt
8
- *
9
- * Adaptation to the zlibpas interface
10
- * Copyright (C) 2003 by Cosmin Truta.
11
- * For conditions of distribution and use, see copyright notice in readme.txt
12
- *)
13
-
14
- program example;
15
-
16
- {$DEFINE TEST_COMPRESS}
17
- {DO NOT $DEFINE TEST_GZIO}
18
- {$DEFINE TEST_DEFLATE}
19
- {$DEFINE TEST_INFLATE}
20
- {$DEFINE TEST_FLUSH}
21
- {$DEFINE TEST_SYNC}
22
- {$DEFINE TEST_DICT}
23
-
24
- uses SysUtils, zlibpas;
25
-
26
- const TESTFILE = 'foo.gz';
27
-
28
- (* "hello world" would be more standard, but the repeated "hello"
29
- * stresses the compression code better, sorry...
30
- *)
31
- const hello: PChar = 'hello, hello!';
32
-
33
- const dictionary: PChar = 'hello';
34
-
35
- var dictId: LongInt; (* Adler32 value of the dictionary *)
36
-
37
- procedure CHECK_ERR(err: Integer; msg: String);
38
- begin
39
- if err <> Z_OK then
40
- begin
41
- WriteLn(msg, ' error: ', err);
42
- Halt(1);
43
- end;
44
- end;
45
-
46
- procedure EXIT_ERR(const msg: String);
47
- begin
48
- WriteLn('Error: ', msg);
49
- Halt(1);
50
- end;
51
-
52
- (* ===========================================================================
53
- * Test compress and uncompress
54
- *)
55
- {$IFDEF TEST_COMPRESS}
56
- procedure test_compress(compr: Pointer; comprLen: LongInt;
57
- uncompr: Pointer; uncomprLen: LongInt);
58
- var err: Integer;
59
- len: LongInt;
60
- begin
61
- len := StrLen(hello)+1;
62
-
63
- err := compress(compr, comprLen, hello, len);
64
- CHECK_ERR(err, 'compress');
65
-
66
- StrCopy(PChar(uncompr), 'garbage');
67
-
68
- err := uncompress(uncompr, uncomprLen, compr, comprLen);
69
- CHECK_ERR(err, 'uncompress');
70
-
71
- if StrComp(PChar(uncompr), hello) <> 0 then
72
- EXIT_ERR('bad uncompress')
73
- else
74
- WriteLn('uncompress(): ', PChar(uncompr));
75
- end;
76
- {$ENDIF}
77
-
78
- (* ===========================================================================
79
- * Test read/write of .gz files
80
- *)
81
- {$IFDEF TEST_GZIO}
82
- procedure test_gzio(const fname: PChar; (* compressed file name *)
83
- uncompr: Pointer;
84
- uncomprLen: LongInt);
85
- var err: Integer;
86
- len: Integer;
87
- zfile: gzFile;
88
- pos: LongInt;
89
- begin
90
- len := StrLen(hello)+1;
91
-
92
- zfile := gzopen(fname, 'wb');
93
- if zfile = NIL then
94
- begin
95
- WriteLn('gzopen error');
96
- Halt(1);
97
- end;
98
- gzputc(zfile, 'h');
99
- if gzputs(zfile, 'ello') <> 4 then
100
- begin
101
- WriteLn('gzputs err: ', gzerror(zfile, err));
102
- Halt(1);
103
- end;
104
- {$IFDEF GZ_FORMAT_STRING}
105
- if gzprintf(zfile, ', %s!', 'hello') <> 8 then
106
- begin
107
- WriteLn('gzprintf err: ', gzerror(zfile, err));
108
- Halt(1);
109
- end;
110
- {$ELSE}
111
- if gzputs(zfile, ', hello!') <> 8 then
112
- begin
113
- WriteLn('gzputs err: ', gzerror(zfile, err));
114
- Halt(1);
115
- end;
116
- {$ENDIF}
117
- gzseek(zfile, 1, SEEK_CUR); (* add one zero byte *)
118
- gzclose(zfile);
119
-
120
- zfile := gzopen(fname, 'rb');
121
- if zfile = NIL then
122
- begin
123
- WriteLn('gzopen error');
124
- Halt(1);
125
- end;
126
-
127
- StrCopy(PChar(uncompr), 'garbage');
128
-
129
- if gzread(zfile, uncompr, uncomprLen) <> len then
130
- begin
131
- WriteLn('gzread err: ', gzerror(zfile, err));
132
- Halt(1);
133
- end;
134
- if StrComp(PChar(uncompr), hello) <> 0 then
135
- begin
136
- WriteLn('bad gzread: ', PChar(uncompr));
137
- Halt(1);
138
- end
139
- else
140
- WriteLn('gzread(): ', PChar(uncompr));
141
-
142
- pos := gzseek(zfile, -8, SEEK_CUR);
143
- if (pos <> 6) or (gztell(zfile) <> pos) then
144
- begin
145
- WriteLn('gzseek error, pos=', pos, ', gztell=', gztell(zfile));
146
- Halt(1);
147
- end;
148
-
149
- if gzgetc(zfile) <> ' ' then
150
- begin
151
- WriteLn('gzgetc error');
152
- Halt(1);
153
- end;
154
-
155
- if gzungetc(' ', zfile) <> ' ' then
156
- begin
157
- WriteLn('gzungetc error');
158
- Halt(1);
159
- end;
160
-
161
- gzgets(zfile, PChar(uncompr), uncomprLen);
162
- uncomprLen := StrLen(PChar(uncompr));
163
- if uncomprLen <> 7 then (* " hello!" *)
164
- begin
165
- WriteLn('gzgets err after gzseek: ', gzerror(zfile, err));
166
- Halt(1);
167
- end;
168
- if StrComp(PChar(uncompr), hello + 6) <> 0 then
169
- begin
170
- WriteLn('bad gzgets after gzseek');
171
- Halt(1);
172
- end
173
- else
174
- WriteLn('gzgets() after gzseek: ', PChar(uncompr));
175
-
176
- gzclose(zfile);
177
- end;
178
- {$ENDIF}
179
-
180
- (* ===========================================================================
181
- * Test deflate with small buffers
182
- *)
183
- {$IFDEF TEST_DEFLATE}
184
- procedure test_deflate(compr: Pointer; comprLen: LongInt);
185
- var c_stream: z_stream; (* compression stream *)
186
- err: Integer;
187
- len: LongInt;
188
- begin
189
- len := StrLen(hello)+1;
190
-
191
- c_stream.zalloc := NIL;
192
- c_stream.zfree := NIL;
193
- c_stream.opaque := NIL;
194
-
195
- err := deflateInit(c_stream, Z_DEFAULT_COMPRESSION);
196
- CHECK_ERR(err, 'deflateInit');
197
-
198
- c_stream.next_in := hello;
199
- c_stream.next_out := compr;
200
-
201
- while (c_stream.total_in <> len) and
202
- (c_stream.total_out < comprLen) do
203
- begin
204
- c_stream.avail_out := 1; { force small buffers }
205
- c_stream.avail_in := 1;
206
- err := deflate(c_stream, Z_NO_FLUSH);
207
- CHECK_ERR(err, 'deflate');
208
- end;
209
-
210
- (* Finish the stream, still forcing small buffers: *)
211
- while TRUE do
212
- begin
213
- c_stream.avail_out := 1;
214
- err := deflate(c_stream, Z_FINISH);
215
- if err = Z_STREAM_END then
216
- break;
217
- CHECK_ERR(err, 'deflate');
218
- end;
219
-
220
- err := deflateEnd(c_stream);
221
- CHECK_ERR(err, 'deflateEnd');
222
- end;
223
- {$ENDIF}
224
-
225
- (* ===========================================================================
226
- * Test inflate with small buffers
227
- *)
228
- {$IFDEF TEST_INFLATE}
229
- procedure test_inflate(compr: Pointer; comprLen : LongInt;
230
- uncompr: Pointer; uncomprLen : LongInt);
231
- var err: Integer;
232
- d_stream: z_stream; (* decompression stream *)
233
- begin
234
- StrCopy(PChar(uncompr), 'garbage');
235
-
236
- d_stream.zalloc := NIL;
237
- d_stream.zfree := NIL;
238
- d_stream.opaque := NIL;
239
-
240
- d_stream.next_in := compr;
241
- d_stream.avail_in := 0;
242
- d_stream.next_out := uncompr;
243
-
244
- err := inflateInit(d_stream);
245
- CHECK_ERR(err, 'inflateInit');
246
-
247
- while (d_stream.total_out < uncomprLen) and
248
- (d_stream.total_in < comprLen) do
249
- begin
250
- d_stream.avail_out := 1; (* force small buffers *)
251
- d_stream.avail_in := 1;
252
- err := inflate(d_stream, Z_NO_FLUSH);
253
- if err = Z_STREAM_END then
254
- break;
255
- CHECK_ERR(err, 'inflate');
256
- end;
257
-
258
- err := inflateEnd(d_stream);
259
- CHECK_ERR(err, 'inflateEnd');
260
-
261
- if StrComp(PChar(uncompr), hello) <> 0 then
262
- EXIT_ERR('bad inflate')
263
- else
264
- WriteLn('inflate(): ', PChar(uncompr));
265
- end;
266
- {$ENDIF}
267
-
268
- (* ===========================================================================
269
- * Test deflate with large buffers and dynamic change of compression level
270
- *)
271
- {$IFDEF TEST_DEFLATE}
272
- procedure test_large_deflate(compr: Pointer; comprLen: LongInt;
273
- uncompr: Pointer; uncomprLen: LongInt);
274
- var c_stream: z_stream; (* compression stream *)
275
- err: Integer;
276
- begin
277
- c_stream.zalloc := NIL;
278
- c_stream.zfree := NIL;
279
- c_stream.opaque := NIL;
280
-
281
- err := deflateInit(c_stream, Z_BEST_SPEED);
282
- CHECK_ERR(err, 'deflateInit');
283
-
284
- c_stream.next_out := compr;
285
- c_stream.avail_out := Integer(comprLen);
286
-
287
- (* At this point, uncompr is still mostly zeroes, so it should compress
288
- * very well:
289
- *)
290
- c_stream.next_in := uncompr;
291
- c_stream.avail_in := Integer(uncomprLen);
292
- err := deflate(c_stream, Z_NO_FLUSH);
293
- CHECK_ERR(err, 'deflate');
294
- if c_stream.avail_in <> 0 then
295
- EXIT_ERR('deflate not greedy');
296
-
297
- (* Feed in already compressed data and switch to no compression: *)
298
- deflateParams(c_stream, Z_NO_COMPRESSION, Z_DEFAULT_STRATEGY);
299
- c_stream.next_in := compr;
300
- c_stream.avail_in := Integer(comprLen div 2);
301
- err := deflate(c_stream, Z_NO_FLUSH);
302
- CHECK_ERR(err, 'deflate');
303
-
304
- (* Switch back to compressing mode: *)
305
- deflateParams(c_stream, Z_BEST_COMPRESSION, Z_FILTERED);
306
- c_stream.next_in := uncompr;
307
- c_stream.avail_in := Integer(uncomprLen);
308
- err := deflate(c_stream, Z_NO_FLUSH);
309
- CHECK_ERR(err, 'deflate');
310
-
311
- err := deflate(c_stream, Z_FINISH);
312
- if err <> Z_STREAM_END then
313
- EXIT_ERR('deflate should report Z_STREAM_END');
314
-
315
- err := deflateEnd(c_stream);
316
- CHECK_ERR(err, 'deflateEnd');
317
- end;
318
- {$ENDIF}
319
-
320
- (* ===========================================================================
321
- * Test inflate with large buffers
322
- *)
323
- {$IFDEF TEST_INFLATE}
324
- procedure test_large_inflate(compr: Pointer; comprLen: LongInt;
325
- uncompr: Pointer; uncomprLen: LongInt);
326
- var err: Integer;
327
- d_stream: z_stream; (* decompression stream *)
328
- begin
329
- StrCopy(PChar(uncompr), 'garbage');
330
-
331
- d_stream.zalloc := NIL;
332
- d_stream.zfree := NIL;
333
- d_stream.opaque := NIL;
334
-
335
- d_stream.next_in := compr;
336
- d_stream.avail_in := Integer(comprLen);
337
-
338
- err := inflateInit(d_stream);
339
- CHECK_ERR(err, 'inflateInit');
340
-
341
- while TRUE do
342
- begin
343
- d_stream.next_out := uncompr; (* discard the output *)
344
- d_stream.avail_out := Integer(uncomprLen);
345
- err := inflate(d_stream, Z_NO_FLUSH);
346
- if err = Z_STREAM_END then
347
- break;
348
- CHECK_ERR(err, 'large inflate');
349
- end;
350
-
351
- err := inflateEnd(d_stream);
352
- CHECK_ERR(err, 'inflateEnd');
353
-
354
- if d_stream.total_out <> 2 * uncomprLen + comprLen div 2 then
355
- begin
356
- WriteLn('bad large inflate: ', d_stream.total_out);
357
- Halt(1);
358
- end
359
- else
360
- WriteLn('large_inflate(): OK');
361
- end;
362
- {$ENDIF}
363
-
364
- (* ===========================================================================
365
- * Test deflate with full flush
366
- *)
367
- {$IFDEF TEST_FLUSH}
368
- procedure test_flush(compr: Pointer; var comprLen : LongInt);
369
- var c_stream: z_stream; (* compression stream *)
370
- err: Integer;
371
- len: Integer;
372
- begin
373
- len := StrLen(hello)+1;
374
-
375
- c_stream.zalloc := NIL;
376
- c_stream.zfree := NIL;
377
- c_stream.opaque := NIL;
378
-
379
- err := deflateInit(c_stream, Z_DEFAULT_COMPRESSION);
380
- CHECK_ERR(err, 'deflateInit');
381
-
382
- c_stream.next_in := hello;
383
- c_stream.next_out := compr;
384
- c_stream.avail_in := 3;
385
- c_stream.avail_out := Integer(comprLen);
386
- err := deflate(c_stream, Z_FULL_FLUSH);
387
- CHECK_ERR(err, 'deflate');
388
-
389
- Inc(PByteArray(compr)^[3]); (* force an error in first compressed block *)
390
- c_stream.avail_in := len - 3;
391
-
392
- err := deflate(c_stream, Z_FINISH);
393
- if err <> Z_STREAM_END then
394
- CHECK_ERR(err, 'deflate');
395
-
396
- err := deflateEnd(c_stream);
397
- CHECK_ERR(err, 'deflateEnd');
398
-
399
- comprLen := c_stream.total_out;
400
- end;
401
- {$ENDIF}
402
-
403
- (* ===========================================================================
404
- * Test inflateSync()
405
- *)
406
- {$IFDEF TEST_SYNC}
407
- procedure test_sync(compr: Pointer; comprLen: LongInt;
408
- uncompr: Pointer; uncomprLen : LongInt);
409
- var err: Integer;
410
- d_stream: z_stream; (* decompression stream *)
411
- begin
412
- StrCopy(PChar(uncompr), 'garbage');
413
-
414
- d_stream.zalloc := NIL;
415
- d_stream.zfree := NIL;
416
- d_stream.opaque := NIL;
417
-
418
- d_stream.next_in := compr;
419
- d_stream.avail_in := 2; (* just read the zlib header *)
420
-
421
- err := inflateInit(d_stream);
422
- CHECK_ERR(err, 'inflateInit');
423
-
424
- d_stream.next_out := uncompr;
425
- d_stream.avail_out := Integer(uncomprLen);
426
-
427
- inflate(d_stream, Z_NO_FLUSH);
428
- CHECK_ERR(err, 'inflate');
429
-
430
- d_stream.avail_in := Integer(comprLen-2); (* read all compressed data *)
431
- err := inflateSync(d_stream); (* but skip the damaged part *)
432
- CHECK_ERR(err, 'inflateSync');
433
-
434
- err := inflate(d_stream, Z_FINISH);
435
- if err <> Z_DATA_ERROR then
436
- EXIT_ERR('inflate should report DATA_ERROR');
437
- (* Because of incorrect adler32 *)
438
-
439
- err := inflateEnd(d_stream);
440
- CHECK_ERR(err, 'inflateEnd');
441
-
442
- WriteLn('after inflateSync(): hel', PChar(uncompr));
443
- end;
444
- {$ENDIF}
445
-
446
- (* ===========================================================================
447
- * Test deflate with preset dictionary
448
- *)
449
- {$IFDEF TEST_DICT}
450
- procedure test_dict_deflate(compr: Pointer; comprLen: LongInt);
451
- var c_stream: z_stream; (* compression stream *)
452
- err: Integer;
453
- begin
454
- c_stream.zalloc := NIL;
455
- c_stream.zfree := NIL;
456
- c_stream.opaque := NIL;
457
-
458
- err := deflateInit(c_stream, Z_BEST_COMPRESSION);
459
- CHECK_ERR(err, 'deflateInit');
460
-
461
- err := deflateSetDictionary(c_stream, dictionary, StrLen(dictionary));
462
- CHECK_ERR(err, 'deflateSetDictionary');
463
-
464
- dictId := c_stream.adler;
465
- c_stream.next_out := compr;
466
- c_stream.avail_out := Integer(comprLen);
467
-
468
- c_stream.next_in := hello;
469
- c_stream.avail_in := StrLen(hello)+1;
470
-
471
- err := deflate(c_stream, Z_FINISH);
472
- if err <> Z_STREAM_END then
473
- EXIT_ERR('deflate should report Z_STREAM_END');
474
-
475
- err := deflateEnd(c_stream);
476
- CHECK_ERR(err, 'deflateEnd');
477
- end;
478
- {$ENDIF}
479
-
480
- (* ===========================================================================
481
- * Test inflate with a preset dictionary
482
- *)
483
- {$IFDEF TEST_DICT}
484
- procedure test_dict_inflate(compr: Pointer; comprLen: LongInt;
485
- uncompr: Pointer; uncomprLen: LongInt);
486
- var err: Integer;
487
- d_stream: z_stream; (* decompression stream *)
488
- begin
489
- StrCopy(PChar(uncompr), 'garbage');
490
-
491
- d_stream.zalloc := NIL;
492
- d_stream.zfree := NIL;
493
- d_stream.opaque := NIL;
494
-
495
- d_stream.next_in := compr;
496
- d_stream.avail_in := Integer(comprLen);
497
-
498
- err := inflateInit(d_stream);
499
- CHECK_ERR(err, 'inflateInit');
500
-
501
- d_stream.next_out := uncompr;
502
- d_stream.avail_out := Integer(uncomprLen);
503
-
504
- while TRUE do
505
- begin
506
- err := inflate(d_stream, Z_NO_FLUSH);
507
- if err = Z_STREAM_END then
508
- break;
509
- if err = Z_NEED_DICT then
510
- begin
511
- if d_stream.adler <> dictId then
512
- EXIT_ERR('unexpected dictionary');
513
- err := inflateSetDictionary(d_stream, dictionary, StrLen(dictionary));
514
- end;
515
- CHECK_ERR(err, 'inflate with dict');
516
- end;
517
-
518
- err := inflateEnd(d_stream);
519
- CHECK_ERR(err, 'inflateEnd');
520
-
521
- if StrComp(PChar(uncompr), hello) <> 0 then
522
- EXIT_ERR('bad inflate with dict')
523
- else
524
- WriteLn('inflate with dictionary: ', PChar(uncompr));
525
- end;
526
- {$ENDIF}
527
-
528
- var compr, uncompr: Pointer;
529
- comprLen, uncomprLen: LongInt;
530
-
531
- begin
532
- if zlibVersion^ <> ZLIB_VERSION[1] then
533
- EXIT_ERR('Incompatible zlib version');
534
-
535
- WriteLn('zlib version: ', zlibVersion);
536
- WriteLn('zlib compile flags: ', Format('0x%x', [zlibCompileFlags]));
537
-
538
- comprLen := 10000 * SizeOf(Integer); (* don't overflow on MSDOS *)
539
- uncomprLen := comprLen;
540
- GetMem(compr, comprLen);
541
- GetMem(uncompr, uncomprLen);
542
- if (compr = NIL) or (uncompr = NIL) then
543
- EXIT_ERR('Out of memory');
544
- (* compr and uncompr are cleared to avoid reading uninitialized
545
- * data and to ensure that uncompr compresses well.
546
- *)
547
- FillChar(compr^, comprLen, 0);
548
- FillChar(uncompr^, uncomprLen, 0);
549
-
550
- {$IFDEF TEST_COMPRESS}
551
- WriteLn('** Testing compress');
552
- test_compress(compr, comprLen, uncompr, uncomprLen);
553
- {$ENDIF}
554
-
555
- {$IFDEF TEST_GZIO}
556
- WriteLn('** Testing gzio');
557
- if ParamCount >= 1 then
558
- test_gzio(ParamStr(1), uncompr, uncomprLen)
559
- else
560
- test_gzio(TESTFILE, uncompr, uncomprLen);
561
- {$ENDIF}
562
-
563
- {$IFDEF TEST_DEFLATE}
564
- WriteLn('** Testing deflate with small buffers');
565
- test_deflate(compr, comprLen);
566
- {$ENDIF}
567
- {$IFDEF TEST_INFLATE}
568
- WriteLn('** Testing inflate with small buffers');
569
- test_inflate(compr, comprLen, uncompr, uncomprLen);
570
- {$ENDIF}
571
-
572
- {$IFDEF TEST_DEFLATE}
573
- WriteLn('** Testing deflate with large buffers');
574
- test_large_deflate(compr, comprLen, uncompr, uncomprLen);
575
- {$ENDIF}
576
- {$IFDEF TEST_INFLATE}
577
- WriteLn('** Testing inflate with large buffers');
578
- test_large_inflate(compr, comprLen, uncompr, uncomprLen);
579
- {$ENDIF}
580
-
581
- {$IFDEF TEST_FLUSH}
582
- WriteLn('** Testing deflate with full flush');
583
- test_flush(compr, comprLen);
584
- {$ENDIF}
585
- {$IFDEF TEST_SYNC}
586
- WriteLn('** Testing inflateSync');
587
- test_sync(compr, comprLen, uncompr, uncomprLen);
588
- {$ENDIF}
589
- comprLen := uncomprLen;
590
-
591
- {$IFDEF TEST_DICT}
592
- WriteLn('** Testing deflate and inflate with preset dictionary');
593
- test_dict_deflate(compr, comprLen);
594
- test_dict_inflate(compr, comprLen, uncompr, uncomprLen);
595
- {$ENDIF}
596
-
597
- FreeMem(compr, comprLen);
598
- FreeMem(uncompr, uncomprLen);
599
- end.
1
+ (* example.c -- usage example of the zlib compression library
2
+ * Copyright (C) 1995-2003 Jean-loup Gailly.
3
+ * For conditions of distribution and use, see copyright notice in zlib.h
4
+ *
5
+ * Pascal translation
6
+ * Copyright (C) 1998 by Jacques Nomssi Nzali.
7
+ * For conditions of distribution and use, see copyright notice in readme.txt
8
+ *
9
+ * Adaptation to the zlibpas interface
10
+ * Copyright (C) 2003 by Cosmin Truta.
11
+ * For conditions of distribution and use, see copyright notice in readme.txt
12
+ *)
13
+
14
+ program example;
15
+
16
+ {$DEFINE TEST_COMPRESS}
17
+ {DO NOT $DEFINE TEST_GZIO}
18
+ {$DEFINE TEST_DEFLATE}
19
+ {$DEFINE TEST_INFLATE}
20
+ {$DEFINE TEST_FLUSH}
21
+ {$DEFINE TEST_SYNC}
22
+ {$DEFINE TEST_DICT}
23
+
24
+ uses SysUtils, zlibpas;
25
+
26
+ const TESTFILE = 'foo.gz';
27
+
28
+ (* "hello world" would be more standard, but the repeated "hello"
29
+ * stresses the compression code better, sorry...
30
+ *)
31
+ const hello: PChar = 'hello, hello!';
32
+
33
+ const dictionary: PChar = 'hello';
34
+
35
+ var dictId: LongInt; (* Adler32 value of the dictionary *)
36
+
37
+ procedure CHECK_ERR(err: Integer; msg: String);
38
+ begin
39
+ if err <> Z_OK then
40
+ begin
41
+ WriteLn(msg, ' error: ', err);
42
+ Halt(1);
43
+ end;
44
+ end;
45
+
46
+ procedure EXIT_ERR(const msg: String);
47
+ begin
48
+ WriteLn('Error: ', msg);
49
+ Halt(1);
50
+ end;
51
+
52
+ (* ===========================================================================
53
+ * Test compress and uncompress
54
+ *)
55
+ {$IFDEF TEST_COMPRESS}
56
+ procedure test_compress(compr: Pointer; comprLen: LongInt;
57
+ uncompr: Pointer; uncomprLen: LongInt);
58
+ var err: Integer;
59
+ len: LongInt;
60
+ begin
61
+ len := StrLen(hello)+1;
62
+
63
+ err := compress(compr, comprLen, hello, len);
64
+ CHECK_ERR(err, 'compress');
65
+
66
+ StrCopy(PChar(uncompr), 'garbage');
67
+
68
+ err := uncompress(uncompr, uncomprLen, compr, comprLen);
69
+ CHECK_ERR(err, 'uncompress');
70
+
71
+ if StrComp(PChar(uncompr), hello) <> 0 then
72
+ EXIT_ERR('bad uncompress')
73
+ else
74
+ WriteLn('uncompress(): ', PChar(uncompr));
75
+ end;
76
+ {$ENDIF}
77
+
78
+ (* ===========================================================================
79
+ * Test read/write of .gz files
80
+ *)
81
+ {$IFDEF TEST_GZIO}
82
+ procedure test_gzio(const fname: PChar; (* compressed file name *)
83
+ uncompr: Pointer;
84
+ uncomprLen: LongInt);
85
+ var err: Integer;
86
+ len: Integer;
87
+ zfile: gzFile;
88
+ pos: LongInt;
89
+ begin
90
+ len := StrLen(hello)+1;
91
+
92
+ zfile := gzopen(fname, 'wb');
93
+ if zfile = NIL then
94
+ begin
95
+ WriteLn('gzopen error');
96
+ Halt(1);
97
+ end;
98
+ gzputc(zfile, 'h');
99
+ if gzputs(zfile, 'ello') <> 4 then
100
+ begin
101
+ WriteLn('gzputs err: ', gzerror(zfile, err));
102
+ Halt(1);
103
+ end;
104
+ {$IFDEF GZ_FORMAT_STRING}
105
+ if gzprintf(zfile, ', %s!', 'hello') <> 8 then
106
+ begin
107
+ WriteLn('gzprintf err: ', gzerror(zfile, err));
108
+ Halt(1);
109
+ end;
110
+ {$ELSE}
111
+ if gzputs(zfile, ', hello!') <> 8 then
112
+ begin
113
+ WriteLn('gzputs err: ', gzerror(zfile, err));
114
+ Halt(1);
115
+ end;
116
+ {$ENDIF}
117
+ gzseek(zfile, 1, SEEK_CUR); (* add one zero byte *)
118
+ gzclose(zfile);
119
+
120
+ zfile := gzopen(fname, 'rb');
121
+ if zfile = NIL then
122
+ begin
123
+ WriteLn('gzopen error');
124
+ Halt(1);
125
+ end;
126
+
127
+ StrCopy(PChar(uncompr), 'garbage');
128
+
129
+ if gzread(zfile, uncompr, uncomprLen) <> len then
130
+ begin
131
+ WriteLn('gzread err: ', gzerror(zfile, err));
132
+ Halt(1);
133
+ end;
134
+ if StrComp(PChar(uncompr), hello) <> 0 then
135
+ begin
136
+ WriteLn('bad gzread: ', PChar(uncompr));
137
+ Halt(1);
138
+ end
139
+ else
140
+ WriteLn('gzread(): ', PChar(uncompr));
141
+
142
+ pos := gzseek(zfile, -8, SEEK_CUR);
143
+ if (pos <> 6) or (gztell(zfile) <> pos) then
144
+ begin
145
+ WriteLn('gzseek error, pos=', pos, ', gztell=', gztell(zfile));
146
+ Halt(1);
147
+ end;
148
+
149
+ if gzgetc(zfile) <> ' ' then
150
+ begin
151
+ WriteLn('gzgetc error');
152
+ Halt(1);
153
+ end;
154
+
155
+ if gzungetc(' ', zfile) <> ' ' then
156
+ begin
157
+ WriteLn('gzungetc error');
158
+ Halt(1);
159
+ end;
160
+
161
+ gzgets(zfile, PChar(uncompr), uncomprLen);
162
+ uncomprLen := StrLen(PChar(uncompr));
163
+ if uncomprLen <> 7 then (* " hello!" *)
164
+ begin
165
+ WriteLn('gzgets err after gzseek: ', gzerror(zfile, err));
166
+ Halt(1);
167
+ end;
168
+ if StrComp(PChar(uncompr), hello + 6) <> 0 then
169
+ begin
170
+ WriteLn('bad gzgets after gzseek');
171
+ Halt(1);
172
+ end
173
+ else
174
+ WriteLn('gzgets() after gzseek: ', PChar(uncompr));
175
+
176
+ gzclose(zfile);
177
+ end;
178
+ {$ENDIF}
179
+
180
+ (* ===========================================================================
181
+ * Test deflate with small buffers
182
+ *)
183
+ {$IFDEF TEST_DEFLATE}
184
+ procedure test_deflate(compr: Pointer; comprLen: LongInt);
185
+ var c_stream: z_stream; (* compression stream *)
186
+ err: Integer;
187
+ len: LongInt;
188
+ begin
189
+ len := StrLen(hello)+1;
190
+
191
+ c_stream.zalloc := NIL;
192
+ c_stream.zfree := NIL;
193
+ c_stream.opaque := NIL;
194
+
195
+ err := deflateInit(c_stream, Z_DEFAULT_COMPRESSION);
196
+ CHECK_ERR(err, 'deflateInit');
197
+
198
+ c_stream.next_in := hello;
199
+ c_stream.next_out := compr;
200
+
201
+ while (c_stream.total_in <> len) and
202
+ (c_stream.total_out < comprLen) do
203
+ begin
204
+ c_stream.avail_out := 1; { force small buffers }
205
+ c_stream.avail_in := 1;
206
+ err := deflate(c_stream, Z_NO_FLUSH);
207
+ CHECK_ERR(err, 'deflate');
208
+ end;
209
+
210
+ (* Finish the stream, still forcing small buffers: *)
211
+ while TRUE do
212
+ begin
213
+ c_stream.avail_out := 1;
214
+ err := deflate(c_stream, Z_FINISH);
215
+ if err = Z_STREAM_END then
216
+ break;
217
+ CHECK_ERR(err, 'deflate');
218
+ end;
219
+
220
+ err := deflateEnd(c_stream);
221
+ CHECK_ERR(err, 'deflateEnd');
222
+ end;
223
+ {$ENDIF}
224
+
225
+ (* ===========================================================================
226
+ * Test inflate with small buffers
227
+ *)
228
+ {$IFDEF TEST_INFLATE}
229
+ procedure test_inflate(compr: Pointer; comprLen : LongInt;
230
+ uncompr: Pointer; uncomprLen : LongInt);
231
+ var err: Integer;
232
+ d_stream: z_stream; (* decompression stream *)
233
+ begin
234
+ StrCopy(PChar(uncompr), 'garbage');
235
+
236
+ d_stream.zalloc := NIL;
237
+ d_stream.zfree := NIL;
238
+ d_stream.opaque := NIL;
239
+
240
+ d_stream.next_in := compr;
241
+ d_stream.avail_in := 0;
242
+ d_stream.next_out := uncompr;
243
+
244
+ err := inflateInit(d_stream);
245
+ CHECK_ERR(err, 'inflateInit');
246
+
247
+ while (d_stream.total_out < uncomprLen) and
248
+ (d_stream.total_in < comprLen) do
249
+ begin
250
+ d_stream.avail_out := 1; (* force small buffers *)
251
+ d_stream.avail_in := 1;
252
+ err := inflate(d_stream, Z_NO_FLUSH);
253
+ if err = Z_STREAM_END then
254
+ break;
255
+ CHECK_ERR(err, 'inflate');
256
+ end;
257
+
258
+ err := inflateEnd(d_stream);
259
+ CHECK_ERR(err, 'inflateEnd');
260
+
261
+ if StrComp(PChar(uncompr), hello) <> 0 then
262
+ EXIT_ERR('bad inflate')
263
+ else
264
+ WriteLn('inflate(): ', PChar(uncompr));
265
+ end;
266
+ {$ENDIF}
267
+
268
+ (* ===========================================================================
269
+ * Test deflate with large buffers and dynamic change of compression level
270
+ *)
271
+ {$IFDEF TEST_DEFLATE}
272
+ procedure test_large_deflate(compr: Pointer; comprLen: LongInt;
273
+ uncompr: Pointer; uncomprLen: LongInt);
274
+ var c_stream: z_stream; (* compression stream *)
275
+ err: Integer;
276
+ begin
277
+ c_stream.zalloc := NIL;
278
+ c_stream.zfree := NIL;
279
+ c_stream.opaque := NIL;
280
+
281
+ err := deflateInit(c_stream, Z_BEST_SPEED);
282
+ CHECK_ERR(err, 'deflateInit');
283
+
284
+ c_stream.next_out := compr;
285
+ c_stream.avail_out := Integer(comprLen);
286
+
287
+ (* At this point, uncompr is still mostly zeroes, so it should compress
288
+ * very well:
289
+ *)
290
+ c_stream.next_in := uncompr;
291
+ c_stream.avail_in := Integer(uncomprLen);
292
+ err := deflate(c_stream, Z_NO_FLUSH);
293
+ CHECK_ERR(err, 'deflate');
294
+ if c_stream.avail_in <> 0 then
295
+ EXIT_ERR('deflate not greedy');
296
+
297
+ (* Feed in already compressed data and switch to no compression: *)
298
+ deflateParams(c_stream, Z_NO_COMPRESSION, Z_DEFAULT_STRATEGY);
299
+ c_stream.next_in := compr;
300
+ c_stream.avail_in := Integer(comprLen div 2);
301
+ err := deflate(c_stream, Z_NO_FLUSH);
302
+ CHECK_ERR(err, 'deflate');
303
+
304
+ (* Switch back to compressing mode: *)
305
+ deflateParams(c_stream, Z_BEST_COMPRESSION, Z_FILTERED);
306
+ c_stream.next_in := uncompr;
307
+ c_stream.avail_in := Integer(uncomprLen);
308
+ err := deflate(c_stream, Z_NO_FLUSH);
309
+ CHECK_ERR(err, 'deflate');
310
+
311
+ err := deflate(c_stream, Z_FINISH);
312
+ if err <> Z_STREAM_END then
313
+ EXIT_ERR('deflate should report Z_STREAM_END');
314
+
315
+ err := deflateEnd(c_stream);
316
+ CHECK_ERR(err, 'deflateEnd');
317
+ end;
318
+ {$ENDIF}
319
+
320
+ (* ===========================================================================
321
+ * Test inflate with large buffers
322
+ *)
323
+ {$IFDEF TEST_INFLATE}
324
+ procedure test_large_inflate(compr: Pointer; comprLen: LongInt;
325
+ uncompr: Pointer; uncomprLen: LongInt);
326
+ var err: Integer;
327
+ d_stream: z_stream; (* decompression stream *)
328
+ begin
329
+ StrCopy(PChar(uncompr), 'garbage');
330
+
331
+ d_stream.zalloc := NIL;
332
+ d_stream.zfree := NIL;
333
+ d_stream.opaque := NIL;
334
+
335
+ d_stream.next_in := compr;
336
+ d_stream.avail_in := Integer(comprLen);
337
+
338
+ err := inflateInit(d_stream);
339
+ CHECK_ERR(err, 'inflateInit');
340
+
341
+ while TRUE do
342
+ begin
343
+ d_stream.next_out := uncompr; (* discard the output *)
344
+ d_stream.avail_out := Integer(uncomprLen);
345
+ err := inflate(d_stream, Z_NO_FLUSH);
346
+ if err = Z_STREAM_END then
347
+ break;
348
+ CHECK_ERR(err, 'large inflate');
349
+ end;
350
+
351
+ err := inflateEnd(d_stream);
352
+ CHECK_ERR(err, 'inflateEnd');
353
+
354
+ if d_stream.total_out <> 2 * uncomprLen + comprLen div 2 then
355
+ begin
356
+ WriteLn('bad large inflate: ', d_stream.total_out);
357
+ Halt(1);
358
+ end
359
+ else
360
+ WriteLn('large_inflate(): OK');
361
+ end;
362
+ {$ENDIF}
363
+
364
+ (* ===========================================================================
365
+ * Test deflate with full flush
366
+ *)
367
+ {$IFDEF TEST_FLUSH}
368
+ procedure test_flush(compr: Pointer; var comprLen : LongInt);
369
+ var c_stream: z_stream; (* compression stream *)
370
+ err: Integer;
371
+ len: Integer;
372
+ begin
373
+ len := StrLen(hello)+1;
374
+
375
+ c_stream.zalloc := NIL;
376
+ c_stream.zfree := NIL;
377
+ c_stream.opaque := NIL;
378
+
379
+ err := deflateInit(c_stream, Z_DEFAULT_COMPRESSION);
380
+ CHECK_ERR(err, 'deflateInit');
381
+
382
+ c_stream.next_in := hello;
383
+ c_stream.next_out := compr;
384
+ c_stream.avail_in := 3;
385
+ c_stream.avail_out := Integer(comprLen);
386
+ err := deflate(c_stream, Z_FULL_FLUSH);
387
+ CHECK_ERR(err, 'deflate');
388
+
389
+ Inc(PByteArray(compr)^[3]); (* force an error in first compressed block *)
390
+ c_stream.avail_in := len - 3;
391
+
392
+ err := deflate(c_stream, Z_FINISH);
393
+ if err <> Z_STREAM_END then
394
+ CHECK_ERR(err, 'deflate');
395
+
396
+ err := deflateEnd(c_stream);
397
+ CHECK_ERR(err, 'deflateEnd');
398
+
399
+ comprLen := c_stream.total_out;
400
+ end;
401
+ {$ENDIF}
402
+
403
+ (* ===========================================================================
404
+ * Test inflateSync()
405
+ *)
406
+ {$IFDEF TEST_SYNC}
407
+ procedure test_sync(compr: Pointer; comprLen: LongInt;
408
+ uncompr: Pointer; uncomprLen : LongInt);
409
+ var err: Integer;
410
+ d_stream: z_stream; (* decompression stream *)
411
+ begin
412
+ StrCopy(PChar(uncompr), 'garbage');
413
+
414
+ d_stream.zalloc := NIL;
415
+ d_stream.zfree := NIL;
416
+ d_stream.opaque := NIL;
417
+
418
+ d_stream.next_in := compr;
419
+ d_stream.avail_in := 2; (* just read the zlib header *)
420
+
421
+ err := inflateInit(d_stream);
422
+ CHECK_ERR(err, 'inflateInit');
423
+
424
+ d_stream.next_out := uncompr;
425
+ d_stream.avail_out := Integer(uncomprLen);
426
+
427
+ inflate(d_stream, Z_NO_FLUSH);
428
+ CHECK_ERR(err, 'inflate');
429
+
430
+ d_stream.avail_in := Integer(comprLen-2); (* read all compressed data *)
431
+ err := inflateSync(d_stream); (* but skip the damaged part *)
432
+ CHECK_ERR(err, 'inflateSync');
433
+
434
+ err := inflate(d_stream, Z_FINISH);
435
+ if err <> Z_DATA_ERROR then
436
+ EXIT_ERR('inflate should report DATA_ERROR');
437
+ (* Because of incorrect adler32 *)
438
+
439
+ err := inflateEnd(d_stream);
440
+ CHECK_ERR(err, 'inflateEnd');
441
+
442
+ WriteLn('after inflateSync(): hel', PChar(uncompr));
443
+ end;
444
+ {$ENDIF}
445
+
446
+ (* ===========================================================================
447
+ * Test deflate with preset dictionary
448
+ *)
449
+ {$IFDEF TEST_DICT}
450
+ procedure test_dict_deflate(compr: Pointer; comprLen: LongInt);
451
+ var c_stream: z_stream; (* compression stream *)
452
+ err: Integer;
453
+ begin
454
+ c_stream.zalloc := NIL;
455
+ c_stream.zfree := NIL;
456
+ c_stream.opaque := NIL;
457
+
458
+ err := deflateInit(c_stream, Z_BEST_COMPRESSION);
459
+ CHECK_ERR(err, 'deflateInit');
460
+
461
+ err := deflateSetDictionary(c_stream, dictionary, StrLen(dictionary));
462
+ CHECK_ERR(err, 'deflateSetDictionary');
463
+
464
+ dictId := c_stream.adler;
465
+ c_stream.next_out := compr;
466
+ c_stream.avail_out := Integer(comprLen);
467
+
468
+ c_stream.next_in := hello;
469
+ c_stream.avail_in := StrLen(hello)+1;
470
+
471
+ err := deflate(c_stream, Z_FINISH);
472
+ if err <> Z_STREAM_END then
473
+ EXIT_ERR('deflate should report Z_STREAM_END');
474
+
475
+ err := deflateEnd(c_stream);
476
+ CHECK_ERR(err, 'deflateEnd');
477
+ end;
478
+ {$ENDIF}
479
+
480
+ (* ===========================================================================
481
+ * Test inflate with a preset dictionary
482
+ *)
483
+ {$IFDEF TEST_DICT}
484
+ procedure test_dict_inflate(compr: Pointer; comprLen: LongInt;
485
+ uncompr: Pointer; uncomprLen: LongInt);
486
+ var err: Integer;
487
+ d_stream: z_stream; (* decompression stream *)
488
+ begin
489
+ StrCopy(PChar(uncompr), 'garbage');
490
+
491
+ d_stream.zalloc := NIL;
492
+ d_stream.zfree := NIL;
493
+ d_stream.opaque := NIL;
494
+
495
+ d_stream.next_in := compr;
496
+ d_stream.avail_in := Integer(comprLen);
497
+
498
+ err := inflateInit(d_stream);
499
+ CHECK_ERR(err, 'inflateInit');
500
+
501
+ d_stream.next_out := uncompr;
502
+ d_stream.avail_out := Integer(uncomprLen);
503
+
504
+ while TRUE do
505
+ begin
506
+ err := inflate(d_stream, Z_NO_FLUSH);
507
+ if err = Z_STREAM_END then
508
+ break;
509
+ if err = Z_NEED_DICT then
510
+ begin
511
+ if d_stream.adler <> dictId then
512
+ EXIT_ERR('unexpected dictionary');
513
+ err := inflateSetDictionary(d_stream, dictionary, StrLen(dictionary));
514
+ end;
515
+ CHECK_ERR(err, 'inflate with dict');
516
+ end;
517
+
518
+ err := inflateEnd(d_stream);
519
+ CHECK_ERR(err, 'inflateEnd');
520
+
521
+ if StrComp(PChar(uncompr), hello) <> 0 then
522
+ EXIT_ERR('bad inflate with dict')
523
+ else
524
+ WriteLn('inflate with dictionary: ', PChar(uncompr));
525
+ end;
526
+ {$ENDIF}
527
+
528
+ var compr, uncompr: Pointer;
529
+ comprLen, uncomprLen: LongInt;
530
+
531
+ begin
532
+ if zlibVersion^ <> ZLIB_VERSION[1] then
533
+ EXIT_ERR('Incompatible zlib version');
534
+
535
+ WriteLn('zlib version: ', zlibVersion);
536
+ WriteLn('zlib compile flags: ', Format('0x%x', [zlibCompileFlags]));
537
+
538
+ comprLen := 10000 * SizeOf(Integer); (* don't overflow on MSDOS *)
539
+ uncomprLen := comprLen;
540
+ GetMem(compr, comprLen);
541
+ GetMem(uncompr, uncomprLen);
542
+ if (compr = NIL) or (uncompr = NIL) then
543
+ EXIT_ERR('Out of memory');
544
+ (* compr and uncompr are cleared to avoid reading uninitialized
545
+ * data and to ensure that uncompr compresses well.
546
+ *)
547
+ FillChar(compr^, comprLen, 0);
548
+ FillChar(uncompr^, uncomprLen, 0);
549
+
550
+ {$IFDEF TEST_COMPRESS}
551
+ WriteLn('** Testing compress');
552
+ test_compress(compr, comprLen, uncompr, uncomprLen);
553
+ {$ENDIF}
554
+
555
+ {$IFDEF TEST_GZIO}
556
+ WriteLn('** Testing gzio');
557
+ if ParamCount >= 1 then
558
+ test_gzio(ParamStr(1), uncompr, uncomprLen)
559
+ else
560
+ test_gzio(TESTFILE, uncompr, uncomprLen);
561
+ {$ENDIF}
562
+
563
+ {$IFDEF TEST_DEFLATE}
564
+ WriteLn('** Testing deflate with small buffers');
565
+ test_deflate(compr, comprLen);
566
+ {$ENDIF}
567
+ {$IFDEF TEST_INFLATE}
568
+ WriteLn('** Testing inflate with small buffers');
569
+ test_inflate(compr, comprLen, uncompr, uncomprLen);
570
+ {$ENDIF}
571
+
572
+ {$IFDEF TEST_DEFLATE}
573
+ WriteLn('** Testing deflate with large buffers');
574
+ test_large_deflate(compr, comprLen, uncompr, uncomprLen);
575
+ {$ENDIF}
576
+ {$IFDEF TEST_INFLATE}
577
+ WriteLn('** Testing inflate with large buffers');
578
+ test_large_inflate(compr, comprLen, uncompr, uncomprLen);
579
+ {$ENDIF}
580
+
581
+ {$IFDEF TEST_FLUSH}
582
+ WriteLn('** Testing deflate with full flush');
583
+ test_flush(compr, comprLen);
584
+ {$ENDIF}
585
+ {$IFDEF TEST_SYNC}
586
+ WriteLn('** Testing inflateSync');
587
+ test_sync(compr, comprLen, uncompr, uncomprLen);
588
+ {$ENDIF}
589
+ comprLen := uncomprLen;
590
+
591
+ {$IFDEF TEST_DICT}
592
+ WriteLn('** Testing deflate and inflate with preset dictionary');
593
+ test_dict_deflate(compr, comprLen);
594
+ test_dict_inflate(compr, comprLen, uncompr, uncomprLen);
595
+ {$ENDIF}
596
+
597
+ FreeMem(compr, comprLen);
598
+ FreeMem(uncompr, uncomprLen);
599
+ end.