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,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.