hane 1.0.0 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (381) hide show
  1. package/README.md +32 -32
  2. package/binding.gyp +77 -50
  3. package/deps/win-nodeapi/node_api.def +158 -0
  4. package/deps/win-nodeapi/node_api.lib +0 -0
  5. package/dist/index.js +1 -1
  6. package/package.json +34 -33
  7. package/src/native/addon.cc +247 -207
  8. package/src/native/zsign_driver.cc +87 -87
  9. package/src/native/zsign_driver.h +38 -38
  10. package/vendor/zlib/.cmake-format.yaml +245 -245
  11. package/vendor/zlib/.github/workflows/c-std.yml +230 -230
  12. package/vendor/zlib/.github/workflows/cmake.yml +112 -112
  13. package/vendor/zlib/.github/workflows/configure.yml +136 -136
  14. package/vendor/zlib/.github/workflows/fuzz.yml +25 -25
  15. package/vendor/zlib/.github/workflows/msys-cygwin.yml +77 -77
  16. package/vendor/zlib/BUILD.bazel +134 -134
  17. package/vendor/zlib/CMakeLists.txt +330 -330
  18. package/vendor/zlib/ChangeLog +1621 -1621
  19. package/vendor/zlib/FAQ +367 -367
  20. package/vendor/zlib/INDEX +68 -68
  21. package/vendor/zlib/LICENSE +22 -22
  22. package/vendor/zlib/MODULE.bazel +9 -9
  23. package/vendor/zlib/Makefile.in +419 -419
  24. package/vendor/zlib/README +115 -115
  25. package/vendor/zlib/README-cmake.md +83 -83
  26. package/vendor/zlib/adler32.c +164 -164
  27. package/vendor/zlib/amiga/Makefile.pup +69 -69
  28. package/vendor/zlib/amiga/Makefile.sas +68 -68
  29. package/vendor/zlib/compress.c +75 -75
  30. package/vendor/zlib/configure +966 -966
  31. package/vendor/zlib/contrib/README.contrib +57 -57
  32. package/vendor/zlib/contrib/ada/buffer_demo.adb +106 -106
  33. package/vendor/zlib/contrib/ada/mtest.adb +156 -156
  34. package/vendor/zlib/contrib/ada/read.adb +156 -156
  35. package/vendor/zlib/contrib/ada/readme.txt +65 -65
  36. package/vendor/zlib/contrib/ada/test.adb +463 -463
  37. package/vendor/zlib/contrib/ada/zlib-streams.adb +225 -225
  38. package/vendor/zlib/contrib/ada/zlib-streams.ads +114 -114
  39. package/vendor/zlib/contrib/ada/zlib-thin.adb +142 -142
  40. package/vendor/zlib/contrib/ada/zlib-thin.ads +450 -450
  41. package/vendor/zlib/contrib/ada/zlib.adb +701 -701
  42. package/vendor/zlib/contrib/ada/zlib.ads +328 -328
  43. package/vendor/zlib/contrib/ada/zlib.gpr +20 -20
  44. package/vendor/zlib/contrib/blast/Makefile +8 -8
  45. package/vendor/zlib/contrib/blast/README +4 -4
  46. package/vendor/zlib/contrib/blast/blast.c +466 -466
  47. package/vendor/zlib/contrib/blast/blast.h +83 -83
  48. package/vendor/zlib/contrib/delphi/ZLib.pas +557 -557
  49. package/vendor/zlib/contrib/delphi/ZLibConst.pas +11 -11
  50. package/vendor/zlib/contrib/delphi/readme.txt +76 -76
  51. package/vendor/zlib/contrib/delphi/zlibd32.mak +99 -99
  52. package/vendor/zlib/contrib/gcc_gvmat64/gvmat64.S +574 -574
  53. package/vendor/zlib/contrib/infback9/README +1 -1
  54. package/vendor/zlib/contrib/infback9/infback9.c +603 -603
  55. package/vendor/zlib/contrib/infback9/infback9.h +37 -37
  56. package/vendor/zlib/contrib/infback9/inffix9.h +107 -107
  57. package/vendor/zlib/contrib/infback9/inflate9.h +47 -47
  58. package/vendor/zlib/contrib/infback9/inftree9.c +319 -319
  59. package/vendor/zlib/contrib/infback9/inftree9.h +61 -61
  60. package/vendor/zlib/contrib/iostream/test.cpp +24 -24
  61. package/vendor/zlib/contrib/iostream/zfstream.cpp +329 -329
  62. package/vendor/zlib/contrib/iostream/zfstream.h +128 -128
  63. package/vendor/zlib/contrib/iostream2/zstream.h +307 -307
  64. package/vendor/zlib/contrib/iostream2/zstream_test.cpp +25 -25
  65. package/vendor/zlib/contrib/iostream3/README +35 -35
  66. package/vendor/zlib/contrib/iostream3/TODO +17 -17
  67. package/vendor/zlib/contrib/iostream3/test.cc +50 -50
  68. package/vendor/zlib/contrib/iostream3/zfstream.cc +479 -479
  69. package/vendor/zlib/contrib/iostream3/zfstream.h +466 -466
  70. package/vendor/zlib/contrib/minizip/CMakeLists.txt +380 -380
  71. package/vendor/zlib/contrib/minizip/Makefile +37 -37
  72. package/vendor/zlib/contrib/minizip/Makefile.am +45 -45
  73. package/vendor/zlib/contrib/minizip/MiniZip64_Changes.txt +6 -6
  74. package/vendor/zlib/contrib/minizip/MiniZip64_info.txt +74 -74
  75. package/vendor/zlib/contrib/minizip/configure.ac +32 -32
  76. package/vendor/zlib/contrib/minizip/crypt.h +128 -128
  77. package/vendor/zlib/contrib/minizip/ints.h +57 -57
  78. package/vendor/zlib/contrib/minizip/ioapi.c +231 -231
  79. package/vendor/zlib/contrib/minizip/ioapi.h +183 -183
  80. package/vendor/zlib/contrib/minizip/iowin32.c +448 -448
  81. package/vendor/zlib/contrib/minizip/iowin32.h +28 -28
  82. package/vendor/zlib/contrib/minizip/make_vms.com +25 -25
  83. package/vendor/zlib/contrib/minizip/miniunz.c +647 -647
  84. package/vendor/zlib/contrib/minizip/miniunzip.1 +63 -63
  85. package/vendor/zlib/contrib/minizip/minizip.1 +46 -46
  86. package/vendor/zlib/contrib/minizip/minizip.c +512 -512
  87. package/vendor/zlib/contrib/minizip/minizip.pc.in +12 -12
  88. package/vendor/zlib/contrib/minizip/minizip.pc.txt +13 -13
  89. package/vendor/zlib/contrib/minizip/minizipConfig.cmake.in +35 -35
  90. package/vendor/zlib/contrib/minizip/mztools.c +288 -288
  91. package/vendor/zlib/contrib/minizip/mztools.h +37 -37
  92. package/vendor/zlib/contrib/minizip/skipset.h +361 -361
  93. package/vendor/zlib/contrib/minizip/test/CMakeLists.txt +121 -121
  94. package/vendor/zlib/contrib/minizip/test/add_subdirectory_exclude_test.cmake.in +29 -29
  95. package/vendor/zlib/contrib/minizip/test/add_subdirectory_test.cmake.in +28 -28
  96. package/vendor/zlib/contrib/minizip/test/find_package_test.cmake.in +25 -25
  97. package/vendor/zlib/contrib/minizip/test/test_helper.cm +32 -32
  98. package/vendor/zlib/contrib/minizip/unzip.c +1981 -1981
  99. package/vendor/zlib/contrib/minizip/unzip.h +441 -441
  100. package/vendor/zlib/contrib/minizip/zip.c +2199 -2199
  101. package/vendor/zlib/contrib/minizip/zip.h +370 -370
  102. package/vendor/zlib/contrib/nuget/nuget.csproj +43 -43
  103. package/vendor/zlib/contrib/nuget/nuget.sln +22 -22
  104. package/vendor/zlib/contrib/pascal/example.pas +599 -599
  105. package/vendor/zlib/contrib/pascal/readme.txt +76 -76
  106. package/vendor/zlib/contrib/pascal/zlibd32.mak +99 -99
  107. package/vendor/zlib/contrib/pascal/zlibpas.pas +276 -276
  108. package/vendor/zlib/contrib/puff/Makefile +42 -42
  109. package/vendor/zlib/contrib/puff/README +63 -63
  110. package/vendor/zlib/contrib/puff/puff.c +840 -840
  111. package/vendor/zlib/contrib/puff/puff.h +35 -35
  112. package/vendor/zlib/contrib/puff/pufftest.c +169 -169
  113. package/vendor/zlib/contrib/untgz/Makefile +14 -14
  114. package/vendor/zlib/contrib/untgz/Makefile.msc +17 -17
  115. package/vendor/zlib/contrib/untgz/untgz.c +667 -667
  116. package/vendor/zlib/contrib/vstudio/readme.txt +81 -81
  117. package/vendor/zlib/contrib/vstudio/vc12/miniunz.vcxproj +315 -315
  118. package/vendor/zlib/contrib/vstudio/vc12/minizip.vcxproj +312 -312
  119. package/vendor/zlib/contrib/vstudio/vc12/testzlib.vcxproj +421 -421
  120. package/vendor/zlib/contrib/vstudio/vc12/testzlibdll.vcxproj +315 -315
  121. package/vendor/zlib/contrib/vstudio/vc12/zlib.rc +32 -32
  122. package/vendor/zlib/contrib/vstudio/vc12/zlibstat.vcxproj +458 -458
  123. package/vendor/zlib/contrib/vstudio/vc12/zlibvc.sln +119 -119
  124. package/vendor/zlib/contrib/vstudio/vc12/zlibvc.vcxproj +667 -667
  125. package/vendor/zlib/contrib/vstudio/vc14/miniunz.vcxproj +315 -315
  126. package/vendor/zlib/contrib/vstudio/vc14/minizip.vcxproj +312 -312
  127. package/vendor/zlib/contrib/vstudio/vc14/testzlib.vcxproj +421 -421
  128. package/vendor/zlib/contrib/vstudio/vc14/testzlibdll.vcxproj +315 -315
  129. package/vendor/zlib/contrib/vstudio/vc14/zlib.rc +32 -32
  130. package/vendor/zlib/contrib/vstudio/vc14/zlibstat.vcxproj +458 -458
  131. package/vendor/zlib/contrib/vstudio/vc14/zlibvc.sln +119 -119
  132. package/vendor/zlib/contrib/vstudio/vc14/zlibvc.vcxproj +667 -667
  133. package/vendor/zlib/contrib/vstudio/vc17/miniunz.vcxproj +408 -408
  134. package/vendor/zlib/contrib/vstudio/vc17/minizip.vcxproj +404 -404
  135. package/vendor/zlib/contrib/vstudio/vc17/testzlib.vcxproj +472 -472
  136. package/vendor/zlib/contrib/vstudio/vc17/testzlibdll.vcxproj +408 -408
  137. package/vendor/zlib/contrib/vstudio/vc17/zlib.rc +32 -32
  138. package/vendor/zlib/contrib/vstudio/vc17/zlibstat.vcxproj +601 -601
  139. package/vendor/zlib/contrib/vstudio/vc17/zlibvc.sln +179 -179
  140. package/vendor/zlib/contrib/vstudio/vc17/zlibvc.vcxproj +874 -874
  141. package/vendor/zlib/crc32.c +1049 -1049
  142. package/vendor/zlib/crc32.h +9446 -9446
  143. package/vendor/zlib/deflate.c +2152 -2152
  144. package/vendor/zlib/deflate.h +380 -380
  145. package/vendor/zlib/doc/algorithm.txt +209 -209
  146. package/vendor/zlib/doc/rfc1950.txt +619 -619
  147. package/vendor/zlib/doc/rfc1951.txt +955 -955
  148. package/vendor/zlib/doc/rfc1952.txt +675 -675
  149. package/vendor/zlib/doc/txtvsbin.txt +107 -107
  150. package/vendor/zlib/examples/README.examples +54 -54
  151. package/vendor/zlib/examples/enough.c +597 -597
  152. package/vendor/zlib/examples/fitblk.c +233 -233
  153. package/vendor/zlib/examples/gun.c +702 -702
  154. package/vendor/zlib/examples/gzappend.c +504 -504
  155. package/vendor/zlib/examples/gzjoin.c +449 -449
  156. package/vendor/zlib/examples/gzlog.c +1061 -1061
  157. package/vendor/zlib/examples/gzlog.h +91 -91
  158. package/vendor/zlib/examples/gznorm.c +474 -474
  159. package/vendor/zlib/examples/zlib_how.html +549 -549
  160. package/vendor/zlib/examples/zpipe.c +209 -209
  161. package/vendor/zlib/examples/zran.c +550 -550
  162. package/vendor/zlib/examples/zran.h +53 -53
  163. package/vendor/zlib/gzclose.c +23 -23
  164. package/vendor/zlib/gzguts.h +215 -215
  165. package/vendor/zlib/gzlib.c +585 -585
  166. package/vendor/zlib/gzread.c +603 -603
  167. package/vendor/zlib/gzwrite.c +631 -631
  168. package/vendor/zlib/infback.c +628 -628
  169. package/vendor/zlib/inffast.c +320 -320
  170. package/vendor/zlib/inffast.h +11 -11
  171. package/vendor/zlib/inffixed.h +94 -94
  172. package/vendor/zlib/inflate.c +1526 -1526
  173. package/vendor/zlib/inflate.h +126 -126
  174. package/vendor/zlib/inftrees.c +299 -299
  175. package/vendor/zlib/inftrees.h +62 -62
  176. package/vendor/zlib/make_vms.com +867 -867
  177. package/vendor/zlib/msdos/Makefile.bor +115 -115
  178. package/vendor/zlib/msdos/Makefile.dj2 +104 -104
  179. package/vendor/zlib/msdos/Makefile.emx +69 -69
  180. package/vendor/zlib/msdos/Makefile.msc +112 -112
  181. package/vendor/zlib/msdos/Makefile.tc +100 -100
  182. package/vendor/zlib/nintendods/Makefile +126 -126
  183. package/vendor/zlib/nintendods/README +5 -5
  184. package/vendor/zlib/old/Makefile.emx +69 -69
  185. package/vendor/zlib/old/Makefile.riscos +151 -151
  186. package/vendor/zlib/old/README +3 -3
  187. package/vendor/zlib/old/descrip.mms +48 -48
  188. package/vendor/zlib/old/os2/Makefile.os2 +136 -136
  189. package/vendor/zlib/old/os2/zlib.def +51 -51
  190. package/vendor/zlib/old/visual-basic.txt +160 -160
  191. package/vendor/zlib/os400/README400 +48 -48
  192. package/vendor/zlib/os400/bndsrc +133 -133
  193. package/vendor/zlib/os400/make.sh +366 -366
  194. package/vendor/zlib/os400/zlib.inc +531 -531
  195. package/vendor/zlib/qnx/package.qpg +141 -141
  196. package/vendor/zlib/test/CMakeLists.txt +265 -265
  197. package/vendor/zlib/test/add_subdirectory_exclude_test.cmake.in +29 -29
  198. package/vendor/zlib/test/add_subdirectory_test.cmake.in +28 -28
  199. package/vendor/zlib/test/example.c +552 -552
  200. package/vendor/zlib/test/find_package_test.cmake.in +26 -26
  201. package/vendor/zlib/test/infcover.c +672 -672
  202. package/vendor/zlib/test/minigzip.c +590 -590
  203. package/vendor/zlib/treebuild.xml +116 -116
  204. package/vendor/zlib/trees.c +1119 -1119
  205. package/vendor/zlib/trees.h +128 -128
  206. package/vendor/zlib/uncompr.c +85 -85
  207. package/vendor/zlib/watcom/watcom_f.mak +43 -43
  208. package/vendor/zlib/watcom/watcom_l.mak +43 -43
  209. package/vendor/zlib/win32/DLL_FAQ.txt +381 -381
  210. package/vendor/zlib/win32/Makefile.bor +109 -109
  211. package/vendor/zlib/win32/Makefile.gcc +177 -177
  212. package/vendor/zlib/win32/Makefile.msc +159 -159
  213. package/vendor/zlib/win32/README-WIN32.txt +103 -103
  214. package/vendor/zlib/win32/VisualC.txt +3 -3
  215. package/vendor/zlib/win32/zlib1.rc +37 -37
  216. package/vendor/zlib/zconf.h.in +544 -544
  217. package/vendor/zlib/zlib.3 +149 -149
  218. package/vendor/zlib/zlib.h +1957 -1957
  219. package/vendor/zlib/zlib.map +103 -103
  220. package/vendor/zlib/zlib.pc.cmakein +13 -13
  221. package/vendor/zlib/zlib.pc.in +13 -13
  222. package/vendor/zlib/zlibConfig.cmake.in +26 -26
  223. package/vendor/zlib/zutil.c +299 -299
  224. package/vendor/zlib/zutil.h +257 -257
  225. package/vendor/zsign/.gitattributes +3 -3
  226. package/vendor/zsign/LICENSE +20 -20
  227. package/vendor/zsign/README.md +142 -142
  228. package/vendor/zsign/build/linux/Makefile +43 -43
  229. package/vendor/zsign/build/macos/Makefile +43 -43
  230. package/vendor/zsign/build/windows/vs2022/include/minizip/crypt.h +128 -128
  231. package/vendor/zsign/build/windows/vs2022/include/minizip/ioapi.h +216 -216
  232. package/vendor/zsign/build/windows/vs2022/include/minizip/iowin32.h +28 -28
  233. package/vendor/zsign/build/windows/vs2022/include/minizip/mztools.h +37 -37
  234. package/vendor/zsign/build/windows/vs2022/include/minizip/unzip.h +437 -437
  235. package/vendor/zsign/build/windows/vs2022/include/minizip/zip.h +364 -364
  236. package/vendor/zsign/build/windows/vs2022/include/openssl/__DECC_INCLUDE_EPILOGUE.H +22 -22
  237. package/vendor/zsign/build/windows/vs2022/include/openssl/__DECC_INCLUDE_PROLOGUE.H +26 -26
  238. package/vendor/zsign/build/windows/vs2022/include/openssl/aes.h +111 -111
  239. package/vendor/zsign/build/windows/vs2022/include/openssl/applink.c +153 -153
  240. package/vendor/zsign/build/windows/vs2022/include/openssl/asn1_mac.h +10 -10
  241. package/vendor/zsign/build/windows/vs2022/include/openssl/asn1err.h +142 -142
  242. package/vendor/zsign/build/windows/vs2022/include/openssl/async.h +104 -104
  243. package/vendor/zsign/build/windows/vs2022/include/openssl/asyncerr.h +29 -29
  244. package/vendor/zsign/build/windows/vs2022/include/openssl/bioerr.h +72 -72
  245. package/vendor/zsign/build/windows/vs2022/include/openssl/blowfish.h +78 -78
  246. package/vendor/zsign/build/windows/vs2022/include/openssl/bn.h +590 -590
  247. package/vendor/zsign/build/windows/vs2022/include/openssl/bnerr.h +47 -47
  248. package/vendor/zsign/build/windows/vs2022/include/openssl/buffer.h +62 -62
  249. package/vendor/zsign/build/windows/vs2022/include/openssl/buffererr.h +25 -25
  250. package/vendor/zsign/build/windows/vs2022/include/openssl/camellia.h +117 -117
  251. package/vendor/zsign/build/windows/vs2022/include/openssl/cast.h +71 -71
  252. package/vendor/zsign/build/windows/vs2022/include/openssl/cmac.h +52 -52
  253. package/vendor/zsign/build/windows/vs2022/include/openssl/cmp_util.h +56 -56
  254. package/vendor/zsign/build/windows/vs2022/include/openssl/cmperr.h +131 -131
  255. package/vendor/zsign/build/windows/vs2022/include/openssl/cmserr.h +125 -125
  256. package/vendor/zsign/build/windows/vs2022/include/openssl/comperr.h +38 -38
  257. package/vendor/zsign/build/windows/vs2022/include/openssl/conf_api.h +46 -46
  258. package/vendor/zsign/build/windows/vs2022/include/openssl/conferr.h +52 -52
  259. package/vendor/zsign/build/windows/vs2022/include/openssl/conftypes.h +44 -44
  260. package/vendor/zsign/build/windows/vs2022/include/openssl/core.h +236 -236
  261. package/vendor/zsign/build/windows/vs2022/include/openssl/core_dispatch.h +1022 -1022
  262. package/vendor/zsign/build/windows/vs2022/include/openssl/core_object.h +41 -41
  263. package/vendor/zsign/build/windows/vs2022/include/openssl/crmferr.h +50 -50
  264. package/vendor/zsign/build/windows/vs2022/include/openssl/cryptoerr.h +56 -56
  265. package/vendor/zsign/build/windows/vs2022/include/openssl/cryptoerr_legacy.h +1466 -1466
  266. package/vendor/zsign/build/windows/vs2022/include/openssl/cterr.h +45 -45
  267. package/vendor/zsign/build/windows/vs2022/include/openssl/decoder.h +133 -133
  268. package/vendor/zsign/build/windows/vs2022/include/openssl/decodererr.h +28 -28
  269. package/vendor/zsign/build/windows/vs2022/include/openssl/des.h +211 -211
  270. package/vendor/zsign/build/windows/vs2022/include/openssl/dh.h +339 -339
  271. package/vendor/zsign/build/windows/vs2022/include/openssl/dherr.h +59 -59
  272. package/vendor/zsign/build/windows/vs2022/include/openssl/dsa.h +280 -280
  273. package/vendor/zsign/build/windows/vs2022/include/openssl/dsaerr.h +44 -44
  274. package/vendor/zsign/build/windows/vs2022/include/openssl/dtls1.h +57 -57
  275. package/vendor/zsign/build/windows/vs2022/include/openssl/e_os2.h +310 -310
  276. package/vendor/zsign/build/windows/vs2022/include/openssl/e_ostime.h +38 -38
  277. package/vendor/zsign/build/windows/vs2022/include/openssl/ebcdic.h +39 -39
  278. package/vendor/zsign/build/windows/vs2022/include/openssl/ec.h +1588 -1588
  279. package/vendor/zsign/build/windows/vs2022/include/openssl/ecdh.h +10 -10
  280. package/vendor/zsign/build/windows/vs2022/include/openssl/ecdsa.h +10 -10
  281. package/vendor/zsign/build/windows/vs2022/include/openssl/ecerr.h +104 -104
  282. package/vendor/zsign/build/windows/vs2022/include/openssl/encoder.h +124 -124
  283. package/vendor/zsign/build/windows/vs2022/include/openssl/encodererr.h +28 -28
  284. package/vendor/zsign/build/windows/vs2022/include/openssl/engine.h +833 -833
  285. package/vendor/zsign/build/windows/vs2022/include/openssl/engineerr.h +63 -63
  286. package/vendor/zsign/build/windows/vs2022/include/openssl/esserr.h +32 -32
  287. package/vendor/zsign/build/windows/vs2022/include/openssl/evp.h +2231 -2231
  288. package/vendor/zsign/build/windows/vs2022/include/openssl/evperr.h +140 -140
  289. package/vendor/zsign/build/windows/vs2022/include/openssl/fips_names.h +50 -50
  290. package/vendor/zsign/build/windows/vs2022/include/openssl/hmac.h +62 -62
  291. package/vendor/zsign/build/windows/vs2022/include/openssl/hpke.h +169 -169
  292. package/vendor/zsign/build/windows/vs2022/include/openssl/http.h +118 -118
  293. package/vendor/zsign/build/windows/vs2022/include/openssl/httperr.h +56 -56
  294. package/vendor/zsign/build/windows/vs2022/include/openssl/idea.h +82 -82
  295. package/vendor/zsign/build/windows/vs2022/include/openssl/indicator.h +31 -31
  296. package/vendor/zsign/build/windows/vs2022/include/openssl/kdf.h +138 -138
  297. package/vendor/zsign/build/windows/vs2022/include/openssl/kdferr.h +16 -16
  298. package/vendor/zsign/build/windows/vs2022/include/openssl/macros.h +338 -338
  299. package/vendor/zsign/build/windows/vs2022/include/openssl/md2.h +56 -56
  300. package/vendor/zsign/build/windows/vs2022/include/openssl/md4.h +63 -63
  301. package/vendor/zsign/build/windows/vs2022/include/openssl/md5.h +62 -62
  302. package/vendor/zsign/build/windows/vs2022/include/openssl/mdc2.h +55 -55
  303. package/vendor/zsign/build/windows/vs2022/include/openssl/modes.h +219 -219
  304. package/vendor/zsign/build/windows/vs2022/include/openssl/obj_mac.h +5820 -5820
  305. package/vendor/zsign/build/windows/vs2022/include/openssl/objects.h +184 -184
  306. package/vendor/zsign/build/windows/vs2022/include/openssl/objectserr.h +28 -28
  307. package/vendor/zsign/build/windows/vs2022/include/openssl/ocsperr.h +53 -53
  308. package/vendor/zsign/build/windows/vs2022/include/openssl/opensslconf.h +17 -17
  309. package/vendor/zsign/build/windows/vs2022/include/openssl/ossl_typ.h +16 -16
  310. package/vendor/zsign/build/windows/vs2022/include/openssl/param_build.h +63 -63
  311. package/vendor/zsign/build/windows/vs2022/include/openssl/params.h +160 -160
  312. package/vendor/zsign/build/windows/vs2022/include/openssl/pem.h +543 -543
  313. package/vendor/zsign/build/windows/vs2022/include/openssl/pem2.h +19 -19
  314. package/vendor/zsign/build/windows/vs2022/include/openssl/pemerr.h +58 -58
  315. package/vendor/zsign/build/windows/vs2022/include/openssl/pkcs12err.h +46 -46
  316. package/vendor/zsign/build/windows/vs2022/include/openssl/pkcs7err.h +63 -63
  317. package/vendor/zsign/build/windows/vs2022/include/openssl/prov_ssl.h +38 -38
  318. package/vendor/zsign/build/windows/vs2022/include/openssl/proverr.h +162 -162
  319. package/vendor/zsign/build/windows/vs2022/include/openssl/provider.h +66 -66
  320. package/vendor/zsign/build/windows/vs2022/include/openssl/quic.h +70 -70
  321. package/vendor/zsign/build/windows/vs2022/include/openssl/rand.h +125 -125
  322. package/vendor/zsign/build/windows/vs2022/include/openssl/randerr.h +69 -69
  323. package/vendor/zsign/build/windows/vs2022/include/openssl/rc2.h +68 -68
  324. package/vendor/zsign/build/windows/vs2022/include/openssl/rc4.h +47 -47
  325. package/vendor/zsign/build/windows/vs2022/include/openssl/rc5.h +79 -79
  326. package/vendor/zsign/build/windows/vs2022/include/openssl/ripemd.h +59 -59
  327. package/vendor/zsign/build/windows/vs2022/include/openssl/rsa.h +615 -615
  328. package/vendor/zsign/build/windows/vs2022/include/openssl/rsaerr.h +107 -107
  329. package/vendor/zsign/build/windows/vs2022/include/openssl/seed.h +113 -113
  330. package/vendor/zsign/build/windows/vs2022/include/openssl/self_test.h +98 -98
  331. package/vendor/zsign/build/windows/vs2022/include/openssl/sha.h +139 -139
  332. package/vendor/zsign/build/windows/vs2022/include/openssl/srtp.h +68 -68
  333. package/vendor/zsign/build/windows/vs2022/include/openssl/ssl2.h +30 -30
  334. package/vendor/zsign/build/windows/vs2022/include/openssl/ssl3.h +357 -357
  335. package/vendor/zsign/build/windows/vs2022/include/openssl/sslerr.h +379 -379
  336. package/vendor/zsign/build/windows/vs2022/include/openssl/sslerr_legacy.h +467 -467
  337. package/vendor/zsign/build/windows/vs2022/include/openssl/stack.h +90 -90
  338. package/vendor/zsign/build/windows/vs2022/include/openssl/store.h +377 -377
  339. package/vendor/zsign/build/windows/vs2022/include/openssl/storeerr.h +49 -49
  340. package/vendor/zsign/build/windows/vs2022/include/openssl/symhacks.h +39 -39
  341. package/vendor/zsign/build/windows/vs2022/include/openssl/thread.h +31 -31
  342. package/vendor/zsign/build/windows/vs2022/include/openssl/tls1.h +1220 -1220
  343. package/vendor/zsign/build/windows/vs2022/include/openssl/trace.h +320 -320
  344. package/vendor/zsign/build/windows/vs2022/include/openssl/ts.h +522 -522
  345. package/vendor/zsign/build/windows/vs2022/include/openssl/tserr.h +67 -67
  346. package/vendor/zsign/build/windows/vs2022/include/openssl/txt_db.h +63 -63
  347. package/vendor/zsign/build/windows/vs2022/include/openssl/types.h +245 -245
  348. package/vendor/zsign/build/windows/vs2022/include/openssl/uierr.h +38 -38
  349. package/vendor/zsign/build/windows/vs2022/include/openssl/whrlpool.h +62 -62
  350. package/vendor/zsign/build/windows/vs2022/include/openssl/x509err.h +70 -70
  351. package/vendor/zsign/build/windows/vs2022/include/openssl/x509v3err.h +96 -96
  352. package/vendor/zsign/src/archo.cpp +742 -742
  353. package/vendor/zsign/src/archo.h +61 -61
  354. package/vendor/zsign/src/bundle.cpp +589 -589
  355. package/vendor/zsign/src/bundle.h +46 -46
  356. package/vendor/zsign/src/common/archive.cpp +246 -246
  357. package/vendor/zsign/src/common/archive.h +22 -22
  358. package/vendor/zsign/src/common/common.h +56 -56
  359. package/vendor/zsign/src/common/fs.cpp +573 -573
  360. package/vendor/zsign/src/common/fs.h +50 -50
  361. package/vendor/zsign/src/common/log.cpp +145 -145
  362. package/vendor/zsign/src/common/log.h +37 -37
  363. package/vendor/zsign/src/common/mach-o.h +585 -585
  364. package/vendor/zsign/src/common/sha.cpp +133 -133
  365. package/vendor/zsign/src/common/sha.h +24 -24
  366. package/vendor/zsign/src/common/timer.cpp +28 -28
  367. package/vendor/zsign/src/common/timer.h +17 -17
  368. package/vendor/zsign/src/common/util.cpp +185 -185
  369. package/vendor/zsign/src/common/util.h +25 -25
  370. package/vendor/zsign/src/macho.cpp +273 -273
  371. package/vendor/zsign/src/macho.h +38 -38
  372. package/vendor/zsign/src/openssl.cpp +698 -698
  373. package/vendor/zsign/src/openssl.h +71 -71
  374. package/vendor/zsign/src/signing.cpp +745 -745
  375. package/vendor/zsign/src/signing.h +59 -59
  376. package/vendor/zsign/src/zsign.cpp +317 -317
  377. package/vendor/zsign/test/dylib/demo/Makefile +12 -12
  378. package/vendor/zsign/test/dylib/demo/control +9 -9
  379. package/vendor/zsign/test/dylib/demo/demo.m +21 -21
  380. package/vendor/zsign/test/linux/test.sh +19 -19
  381. package/vendor/zsign/test/macos/test.sh +19 -19
@@ -1,320 +1,320 @@
1
- /*
2
- * Copyright 2019-2023 The OpenSSL Project Authors. All Rights Reserved.
3
- *
4
- * Licensed under the Apache License 2.0 (the "License"). You may not use
5
- * this file except in compliance with the License. You can obtain a copy
6
- * in the file LICENSE in the source distribution or at
7
- * https://www.openssl.org/source/license.html
8
- */
9
-
10
- #ifndef OPENSSL_TRACE_H
11
- # define OPENSSL_TRACE_H
12
- # pragma once
13
-
14
- # include <stdarg.h>
15
-
16
- # include <openssl/bio.h>
17
-
18
- # ifdef __cplusplus
19
- extern "C" {
20
- # endif
21
-
22
- /*
23
- * TRACE CATEGORIES
24
- */
25
-
26
- /*
27
- * The trace messages of the OpenSSL libraries are organized into different
28
- * categories. For every trace category, the application can register a separate
29
- * tracer callback. When a callback is registered, a so called trace channel is
30
- * created for this category. This channel consists essentially of an internal
31
- * BIO which sends all trace output it receives to the registered application
32
- * callback.
33
- *
34
- * The ALL category can be used as a fallback category to register a single
35
- * channel which receives the output from all categories. However, if the
36
- * application intends to print the trace channel name in the line prefix,
37
- * it is better to register channels for all categories separately.
38
- * (This is how the openssl application does it.)
39
- */
40
- # define OSSL_TRACE_CATEGORY_ALL 0 /* The fallback */
41
- # define OSSL_TRACE_CATEGORY_TRACE 1
42
- # define OSSL_TRACE_CATEGORY_INIT 2
43
- # define OSSL_TRACE_CATEGORY_TLS 3
44
- # define OSSL_TRACE_CATEGORY_TLS_CIPHER 4
45
- # define OSSL_TRACE_CATEGORY_CONF 5
46
- # define OSSL_TRACE_CATEGORY_ENGINE_TABLE 6
47
- # define OSSL_TRACE_CATEGORY_ENGINE_REF_COUNT 7
48
- # define OSSL_TRACE_CATEGORY_PKCS5V2 8
49
- # define OSSL_TRACE_CATEGORY_PKCS12_KEYGEN 9
50
- # define OSSL_TRACE_CATEGORY_PKCS12_DECRYPT 10
51
- # define OSSL_TRACE_CATEGORY_X509V3_POLICY 11
52
- # define OSSL_TRACE_CATEGORY_BN_CTX 12
53
- # define OSSL_TRACE_CATEGORY_CMP 13
54
- # define OSSL_TRACE_CATEGORY_STORE 14
55
- # define OSSL_TRACE_CATEGORY_DECODER 15
56
- # define OSSL_TRACE_CATEGORY_ENCODER 16
57
- # define OSSL_TRACE_CATEGORY_REF_COUNT 17
58
- # define OSSL_TRACE_CATEGORY_HTTP 18
59
- /* Count of available categories. */
60
- # define OSSL_TRACE_CATEGORY_NUM 19
61
- /* KEEP THIS LIST IN SYNC with trace_categories[] in crypto/trace.c */
62
-
63
- /* Returns the trace category number for the given |name| */
64
- int OSSL_trace_get_category_num(const char *name);
65
-
66
- /* Returns the trace category name for the given |num| */
67
- const char *OSSL_trace_get_category_name(int num);
68
-
69
- /*
70
- * TRACE CONSUMERS
71
- */
72
-
73
- /*
74
- * Enables tracing for the given |category| by providing a BIO sink
75
- * as |channel|. If a null pointer is passed as |channel|, an existing
76
- * trace channel is removed and tracing for the category is disabled.
77
- *
78
- * Returns 1 on success and 0 on failure
79
- */
80
- int OSSL_trace_set_channel(int category, BIO* channel);
81
-
82
- /*
83
- * Attach a prefix and a suffix to the given |category|, to be printed at the
84
- * beginning and at the end of each trace output group, i.e. when
85
- * OSSL_trace_begin() and OSSL_trace_end() are called.
86
- * If a null pointer is passed as argument, the existing prefix or suffix is
87
- * removed.
88
- *
89
- * They return 1 on success and 0 on failure
90
- */
91
- int OSSL_trace_set_prefix(int category, const char *prefix);
92
- int OSSL_trace_set_suffix(int category, const char *suffix);
93
-
94
- /*
95
- * OSSL_trace_cb is the type tracing callback provided by the application.
96
- * It MUST return the number of bytes written, or 0 on error (in other words,
97
- * it can never write zero bytes).
98
- *
99
- * The |buffer| will always contain text, which may consist of several lines.
100
- * The |data| argument points to whatever data was provided by the application
101
- * when registering the tracer function.
102
- *
103
- * The |category| number is given, as well as a |cmd| number, described below.
104
- */
105
- typedef size_t (*OSSL_trace_cb)(const char *buffer, size_t count,
106
- int category, int cmd, void *data);
107
- /*
108
- * Possible |cmd| numbers.
109
- */
110
- # define OSSL_TRACE_CTRL_BEGIN 0
111
- # define OSSL_TRACE_CTRL_WRITE 1
112
- # define OSSL_TRACE_CTRL_END 2
113
-
114
- /*
115
- * Enables tracing for the given |category| by creating an internal
116
- * trace channel which sends the output to the given |callback|.
117
- * If a null pointer is passed as callback, an existing trace channel
118
- * is removed and tracing for the category is disabled.
119
- *
120
- * NOTE: OSSL_trace_set_channel() and OSSL_trace_set_callback() are mutually
121
- * exclusive.
122
- *
123
- * Returns 1 on success and 0 on failure
124
- */
125
- int OSSL_trace_set_callback(int category, OSSL_trace_cb callback, void *data);
126
-
127
- /*
128
- * TRACE PRODUCERS
129
- */
130
-
131
- /*
132
- * Returns 1 if tracing for the specified category is enabled, otherwise 0
133
- */
134
- int OSSL_trace_enabled(int category);
135
-
136
- /*
137
- * Wrap a group of tracing output calls. OSSL_trace_begin() locks tracing and
138
- * returns the trace channel associated with the given category, or NULL if no
139
- * channel is associated with the category. OSSL_trace_end() unlocks tracing.
140
- *
141
- * Usage:
142
- *
143
- * BIO *out;
144
- * if ((out = OSSL_trace_begin(category)) != NULL) {
145
- * ...
146
- * BIO_fprintf(out, ...);
147
- * ...
148
- * OSSL_trace_end(category, out);
149
- * }
150
- *
151
- * See also the convenience macros OSSL_TRACE_BEGIN and OSSL_TRACE_END below.
152
- */
153
- BIO *OSSL_trace_begin(int category);
154
- void OSSL_trace_end(int category, BIO *channel);
155
-
156
- /*
157
- * OSSL_TRACE* Convenience Macros
158
- */
159
-
160
- /*
161
- * When the tracing feature is disabled, these macros are defined to
162
- * produce dead code, which a good compiler should eliminate.
163
- */
164
-
165
- /*
166
- * OSSL_TRACE_BEGIN, OSSL_TRACE_END - Define a Trace Group
167
- *
168
- * These two macros can be used to create a block which is executed only
169
- * if the corresponding trace category is enabled. Inside this block, a
170
- * local variable named |trc_out| is defined, which points to the channel
171
- * associated with the given trace category.
172
- *
173
- * Usage: (using 'TLS' as an example category)
174
- *
175
- * OSSL_TRACE_BEGIN(TLS) {
176
- *
177
- * BIO_fprintf(trc_out, ... );
178
- *
179
- * } OSSL_TRACE_END(TLS);
180
- *
181
- *
182
- * This expands to the following code
183
- *
184
- * do {
185
- * BIO *trc_out = OSSL_trace_begin(OSSL_TRACE_CATEGORY_TLS);
186
- * if (trc_out != NULL) {
187
- * ...
188
- * BIO_fprintf(trc_out, ...);
189
- * }
190
- * OSSL_trace_end(OSSL_TRACE_CATEGORY_TLS, trc_out);
191
- * } while (0);
192
- *
193
- * The use of the inner '{...}' group and the trailing ';' is enforced
194
- * by the definition of the macros in order to make the code look as much
195
- * like C code as possible.
196
- *
197
- * Before returning from inside the trace block, it is necessary to
198
- * call OSSL_TRACE_CANCEL(category).
199
- */
200
-
201
- # if !defined OPENSSL_NO_TRACE && !defined FIPS_MODULE
202
-
203
- # define OSSL_TRACE_BEGIN(category) \
204
- do { \
205
- BIO *trc_out = OSSL_trace_begin(OSSL_TRACE_CATEGORY_##category); \
206
- \
207
- if (trc_out != NULL)
208
-
209
- # define OSSL_TRACE_END(category) \
210
- OSSL_trace_end(OSSL_TRACE_CATEGORY_##category, trc_out); \
211
- } while (0)
212
-
213
- # define OSSL_TRACE_CANCEL(category) \
214
- OSSL_trace_end(OSSL_TRACE_CATEGORY_##category, trc_out) \
215
-
216
- # else
217
-
218
- # define OSSL_TRACE_BEGIN(category) \
219
- do { \
220
- BIO *trc_out = NULL; \
221
- if (0)
222
-
223
- # define OSSL_TRACE_END(category) \
224
- } while(0)
225
-
226
- # define OSSL_TRACE_CANCEL(category) \
227
- ((void)0)
228
-
229
- # endif
230
-
231
- /*
232
- * OSSL_TRACE_ENABLED() - Check whether tracing is enabled for |category|
233
- *
234
- * Usage:
235
- *
236
- * if (OSSL_TRACE_ENABLED(TLS)) {
237
- * ...
238
- * }
239
- */
240
- # if !defined OPENSSL_NO_TRACE && !defined FIPS_MODULE
241
-
242
- # define OSSL_TRACE_ENABLED(category) \
243
- OSSL_trace_enabled(OSSL_TRACE_CATEGORY_##category)
244
-
245
- # else
246
-
247
- # define OSSL_TRACE_ENABLED(category) (0)
248
-
249
- # endif
250
-
251
- /*
252
- * OSSL_TRACE*() - OneShot Trace Macros
253
- *
254
- * These macros are intended to produce a simple printf-style trace output.
255
- * Unfortunately, C90 macros don't support variable arguments, so the
256
- * "vararg" OSSL_TRACEV() macro has a rather weird usage pattern:
257
- *
258
- * OSSL_TRACEV(category, (trc_out, "format string", ...args...));
259
- *
260
- * Where 'channel' is the literal symbol of this name, not a variable.
261
- * For that reason, it is currently not intended to be used directly,
262
- * but only as helper macro for the other oneshot trace macros
263
- * OSSL_TRACE(), OSSL_TRACE1(), OSSL_TRACE2(), ...
264
- *
265
- * Usage:
266
- *
267
- * OSSL_TRACE(INIT, "Hello world!\n");
268
- * OSSL_TRACE1(TLS, "The answer is %d\n", 42);
269
- * OSSL_TRACE2(TLS, "The ultimate question to answer %d is '%s'\n",
270
- * 42, "What do you get when you multiply six by nine?");
271
- */
272
-
273
- # if !defined OPENSSL_NO_TRACE && !defined FIPS_MODULE
274
-
275
- # define OSSL_TRACEV(category, args) \
276
- OSSL_TRACE_BEGIN(category) \
277
- BIO_printf args; \
278
- OSSL_TRACE_END(category)
279
-
280
- # else
281
-
282
- # define OSSL_TRACEV(category, args) ((void)0)
283
-
284
- # endif
285
-
286
- # define OSSL_TRACE(category, text) \
287
- OSSL_TRACEV(category, (trc_out, "%s", text))
288
-
289
- # define OSSL_TRACE1(category, format, arg1) \
290
- OSSL_TRACEV(category, (trc_out, format, arg1))
291
- # define OSSL_TRACE2(category, format, arg1, arg2) \
292
- OSSL_TRACEV(category, (trc_out, format, arg1, arg2))
293
- # define OSSL_TRACE3(category, format, arg1, arg2, arg3) \
294
- OSSL_TRACEV(category, (trc_out, format, arg1, arg2, arg3))
295
- # define OSSL_TRACE4(category, format, arg1, arg2, arg3, arg4) \
296
- OSSL_TRACEV(category, (trc_out, format, arg1, arg2, arg3, arg4))
297
- # define OSSL_TRACE5(category, format, arg1, arg2, arg3, arg4, arg5) \
298
- OSSL_TRACEV(category, (trc_out, format, arg1, arg2, arg3, arg4, arg5))
299
- # define OSSL_TRACE6(category, format, arg1, arg2, arg3, arg4, arg5, arg6) \
300
- OSSL_TRACEV(category, (trc_out, format, arg1, arg2, arg3, arg4, arg5, arg6))
301
- # define OSSL_TRACE7(category, format, arg1, arg2, arg3, arg4, arg5, arg6, arg7) \
302
- OSSL_TRACEV(category, (trc_out, format, arg1, arg2, arg3, arg4, arg5, arg6, arg7))
303
- # define OSSL_TRACE8(category, format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) \
304
- OSSL_TRACEV(category, (trc_out, format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8))
305
- # define OSSL_TRACE9(category, format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) \
306
- OSSL_TRACEV(category, (trc_out, format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9))
307
-
308
- #define OSSL_TRACE_STRING_MAX 80
309
- int OSSL_trace_string(BIO *out, int text, int full,
310
- const unsigned char *data, size_t size);
311
- #define OSSL_TRACE_STRING(category, text, full, data, len) \
312
- OSSL_TRACE_BEGIN(category) { \
313
- OSSL_trace_string(trc_out, text, full, data, len); \
314
- } OSSL_TRACE_END(category)
315
-
316
- # ifdef __cplusplus
317
- }
318
- # endif
319
-
320
- #endif
1
+ /*
2
+ * Copyright 2019-2023 The OpenSSL Project Authors. All Rights Reserved.
3
+ *
4
+ * Licensed under the Apache License 2.0 (the "License"). You may not use
5
+ * this file except in compliance with the License. You can obtain a copy
6
+ * in the file LICENSE in the source distribution or at
7
+ * https://www.openssl.org/source/license.html
8
+ */
9
+
10
+ #ifndef OPENSSL_TRACE_H
11
+ # define OPENSSL_TRACE_H
12
+ # pragma once
13
+
14
+ # include <stdarg.h>
15
+
16
+ # include <openssl/bio.h>
17
+
18
+ # ifdef __cplusplus
19
+ extern "C" {
20
+ # endif
21
+
22
+ /*
23
+ * TRACE CATEGORIES
24
+ */
25
+
26
+ /*
27
+ * The trace messages of the OpenSSL libraries are organized into different
28
+ * categories. For every trace category, the application can register a separate
29
+ * tracer callback. When a callback is registered, a so called trace channel is
30
+ * created for this category. This channel consists essentially of an internal
31
+ * BIO which sends all trace output it receives to the registered application
32
+ * callback.
33
+ *
34
+ * The ALL category can be used as a fallback category to register a single
35
+ * channel which receives the output from all categories. However, if the
36
+ * application intends to print the trace channel name in the line prefix,
37
+ * it is better to register channels for all categories separately.
38
+ * (This is how the openssl application does it.)
39
+ */
40
+ # define OSSL_TRACE_CATEGORY_ALL 0 /* The fallback */
41
+ # define OSSL_TRACE_CATEGORY_TRACE 1
42
+ # define OSSL_TRACE_CATEGORY_INIT 2
43
+ # define OSSL_TRACE_CATEGORY_TLS 3
44
+ # define OSSL_TRACE_CATEGORY_TLS_CIPHER 4
45
+ # define OSSL_TRACE_CATEGORY_CONF 5
46
+ # define OSSL_TRACE_CATEGORY_ENGINE_TABLE 6
47
+ # define OSSL_TRACE_CATEGORY_ENGINE_REF_COUNT 7
48
+ # define OSSL_TRACE_CATEGORY_PKCS5V2 8
49
+ # define OSSL_TRACE_CATEGORY_PKCS12_KEYGEN 9
50
+ # define OSSL_TRACE_CATEGORY_PKCS12_DECRYPT 10
51
+ # define OSSL_TRACE_CATEGORY_X509V3_POLICY 11
52
+ # define OSSL_TRACE_CATEGORY_BN_CTX 12
53
+ # define OSSL_TRACE_CATEGORY_CMP 13
54
+ # define OSSL_TRACE_CATEGORY_STORE 14
55
+ # define OSSL_TRACE_CATEGORY_DECODER 15
56
+ # define OSSL_TRACE_CATEGORY_ENCODER 16
57
+ # define OSSL_TRACE_CATEGORY_REF_COUNT 17
58
+ # define OSSL_TRACE_CATEGORY_HTTP 18
59
+ /* Count of available categories. */
60
+ # define OSSL_TRACE_CATEGORY_NUM 19
61
+ /* KEEP THIS LIST IN SYNC with trace_categories[] in crypto/trace.c */
62
+
63
+ /* Returns the trace category number for the given |name| */
64
+ int OSSL_trace_get_category_num(const char *name);
65
+
66
+ /* Returns the trace category name for the given |num| */
67
+ const char *OSSL_trace_get_category_name(int num);
68
+
69
+ /*
70
+ * TRACE CONSUMERS
71
+ */
72
+
73
+ /*
74
+ * Enables tracing for the given |category| by providing a BIO sink
75
+ * as |channel|. If a null pointer is passed as |channel|, an existing
76
+ * trace channel is removed and tracing for the category is disabled.
77
+ *
78
+ * Returns 1 on success and 0 on failure
79
+ */
80
+ int OSSL_trace_set_channel(int category, BIO* channel);
81
+
82
+ /*
83
+ * Attach a prefix and a suffix to the given |category|, to be printed at the
84
+ * beginning and at the end of each trace output group, i.e. when
85
+ * OSSL_trace_begin() and OSSL_trace_end() are called.
86
+ * If a null pointer is passed as argument, the existing prefix or suffix is
87
+ * removed.
88
+ *
89
+ * They return 1 on success and 0 on failure
90
+ */
91
+ int OSSL_trace_set_prefix(int category, const char *prefix);
92
+ int OSSL_trace_set_suffix(int category, const char *suffix);
93
+
94
+ /*
95
+ * OSSL_trace_cb is the type tracing callback provided by the application.
96
+ * It MUST return the number of bytes written, or 0 on error (in other words,
97
+ * it can never write zero bytes).
98
+ *
99
+ * The |buffer| will always contain text, which may consist of several lines.
100
+ * The |data| argument points to whatever data was provided by the application
101
+ * when registering the tracer function.
102
+ *
103
+ * The |category| number is given, as well as a |cmd| number, described below.
104
+ */
105
+ typedef size_t (*OSSL_trace_cb)(const char *buffer, size_t count,
106
+ int category, int cmd, void *data);
107
+ /*
108
+ * Possible |cmd| numbers.
109
+ */
110
+ # define OSSL_TRACE_CTRL_BEGIN 0
111
+ # define OSSL_TRACE_CTRL_WRITE 1
112
+ # define OSSL_TRACE_CTRL_END 2
113
+
114
+ /*
115
+ * Enables tracing for the given |category| by creating an internal
116
+ * trace channel which sends the output to the given |callback|.
117
+ * If a null pointer is passed as callback, an existing trace channel
118
+ * is removed and tracing for the category is disabled.
119
+ *
120
+ * NOTE: OSSL_trace_set_channel() and OSSL_trace_set_callback() are mutually
121
+ * exclusive.
122
+ *
123
+ * Returns 1 on success and 0 on failure
124
+ */
125
+ int OSSL_trace_set_callback(int category, OSSL_trace_cb callback, void *data);
126
+
127
+ /*
128
+ * TRACE PRODUCERS
129
+ */
130
+
131
+ /*
132
+ * Returns 1 if tracing for the specified category is enabled, otherwise 0
133
+ */
134
+ int OSSL_trace_enabled(int category);
135
+
136
+ /*
137
+ * Wrap a group of tracing output calls. OSSL_trace_begin() locks tracing and
138
+ * returns the trace channel associated with the given category, or NULL if no
139
+ * channel is associated with the category. OSSL_trace_end() unlocks tracing.
140
+ *
141
+ * Usage:
142
+ *
143
+ * BIO *out;
144
+ * if ((out = OSSL_trace_begin(category)) != NULL) {
145
+ * ...
146
+ * BIO_fprintf(out, ...);
147
+ * ...
148
+ * OSSL_trace_end(category, out);
149
+ * }
150
+ *
151
+ * See also the convenience macros OSSL_TRACE_BEGIN and OSSL_TRACE_END below.
152
+ */
153
+ BIO *OSSL_trace_begin(int category);
154
+ void OSSL_trace_end(int category, BIO *channel);
155
+
156
+ /*
157
+ * OSSL_TRACE* Convenience Macros
158
+ */
159
+
160
+ /*
161
+ * When the tracing feature is disabled, these macros are defined to
162
+ * produce dead code, which a good compiler should eliminate.
163
+ */
164
+
165
+ /*
166
+ * OSSL_TRACE_BEGIN, OSSL_TRACE_END - Define a Trace Group
167
+ *
168
+ * These two macros can be used to create a block which is executed only
169
+ * if the corresponding trace category is enabled. Inside this block, a
170
+ * local variable named |trc_out| is defined, which points to the channel
171
+ * associated with the given trace category.
172
+ *
173
+ * Usage: (using 'TLS' as an example category)
174
+ *
175
+ * OSSL_TRACE_BEGIN(TLS) {
176
+ *
177
+ * BIO_fprintf(trc_out, ... );
178
+ *
179
+ * } OSSL_TRACE_END(TLS);
180
+ *
181
+ *
182
+ * This expands to the following code
183
+ *
184
+ * do {
185
+ * BIO *trc_out = OSSL_trace_begin(OSSL_TRACE_CATEGORY_TLS);
186
+ * if (trc_out != NULL) {
187
+ * ...
188
+ * BIO_fprintf(trc_out, ...);
189
+ * }
190
+ * OSSL_trace_end(OSSL_TRACE_CATEGORY_TLS, trc_out);
191
+ * } while (0);
192
+ *
193
+ * The use of the inner '{...}' group and the trailing ';' is enforced
194
+ * by the definition of the macros in order to make the code look as much
195
+ * like C code as possible.
196
+ *
197
+ * Before returning from inside the trace block, it is necessary to
198
+ * call OSSL_TRACE_CANCEL(category).
199
+ */
200
+
201
+ # if !defined OPENSSL_NO_TRACE && !defined FIPS_MODULE
202
+
203
+ # define OSSL_TRACE_BEGIN(category) \
204
+ do { \
205
+ BIO *trc_out = OSSL_trace_begin(OSSL_TRACE_CATEGORY_##category); \
206
+ \
207
+ if (trc_out != NULL)
208
+
209
+ # define OSSL_TRACE_END(category) \
210
+ OSSL_trace_end(OSSL_TRACE_CATEGORY_##category, trc_out); \
211
+ } while (0)
212
+
213
+ # define OSSL_TRACE_CANCEL(category) \
214
+ OSSL_trace_end(OSSL_TRACE_CATEGORY_##category, trc_out) \
215
+
216
+ # else
217
+
218
+ # define OSSL_TRACE_BEGIN(category) \
219
+ do { \
220
+ BIO *trc_out = NULL; \
221
+ if (0)
222
+
223
+ # define OSSL_TRACE_END(category) \
224
+ } while(0)
225
+
226
+ # define OSSL_TRACE_CANCEL(category) \
227
+ ((void)0)
228
+
229
+ # endif
230
+
231
+ /*
232
+ * OSSL_TRACE_ENABLED() - Check whether tracing is enabled for |category|
233
+ *
234
+ * Usage:
235
+ *
236
+ * if (OSSL_TRACE_ENABLED(TLS)) {
237
+ * ...
238
+ * }
239
+ */
240
+ # if !defined OPENSSL_NO_TRACE && !defined FIPS_MODULE
241
+
242
+ # define OSSL_TRACE_ENABLED(category) \
243
+ OSSL_trace_enabled(OSSL_TRACE_CATEGORY_##category)
244
+
245
+ # else
246
+
247
+ # define OSSL_TRACE_ENABLED(category) (0)
248
+
249
+ # endif
250
+
251
+ /*
252
+ * OSSL_TRACE*() - OneShot Trace Macros
253
+ *
254
+ * These macros are intended to produce a simple printf-style trace output.
255
+ * Unfortunately, C90 macros don't support variable arguments, so the
256
+ * "vararg" OSSL_TRACEV() macro has a rather weird usage pattern:
257
+ *
258
+ * OSSL_TRACEV(category, (trc_out, "format string", ...args...));
259
+ *
260
+ * Where 'channel' is the literal symbol of this name, not a variable.
261
+ * For that reason, it is currently not intended to be used directly,
262
+ * but only as helper macro for the other oneshot trace macros
263
+ * OSSL_TRACE(), OSSL_TRACE1(), OSSL_TRACE2(), ...
264
+ *
265
+ * Usage:
266
+ *
267
+ * OSSL_TRACE(INIT, "Hello world!\n");
268
+ * OSSL_TRACE1(TLS, "The answer is %d\n", 42);
269
+ * OSSL_TRACE2(TLS, "The ultimate question to answer %d is '%s'\n",
270
+ * 42, "What do you get when you multiply six by nine?");
271
+ */
272
+
273
+ # if !defined OPENSSL_NO_TRACE && !defined FIPS_MODULE
274
+
275
+ # define OSSL_TRACEV(category, args) \
276
+ OSSL_TRACE_BEGIN(category) \
277
+ BIO_printf args; \
278
+ OSSL_TRACE_END(category)
279
+
280
+ # else
281
+
282
+ # define OSSL_TRACEV(category, args) ((void)0)
283
+
284
+ # endif
285
+
286
+ # define OSSL_TRACE(category, text) \
287
+ OSSL_TRACEV(category, (trc_out, "%s", text))
288
+
289
+ # define OSSL_TRACE1(category, format, arg1) \
290
+ OSSL_TRACEV(category, (trc_out, format, arg1))
291
+ # define OSSL_TRACE2(category, format, arg1, arg2) \
292
+ OSSL_TRACEV(category, (trc_out, format, arg1, arg2))
293
+ # define OSSL_TRACE3(category, format, arg1, arg2, arg3) \
294
+ OSSL_TRACEV(category, (trc_out, format, arg1, arg2, arg3))
295
+ # define OSSL_TRACE4(category, format, arg1, arg2, arg3, arg4) \
296
+ OSSL_TRACEV(category, (trc_out, format, arg1, arg2, arg3, arg4))
297
+ # define OSSL_TRACE5(category, format, arg1, arg2, arg3, arg4, arg5) \
298
+ OSSL_TRACEV(category, (trc_out, format, arg1, arg2, arg3, arg4, arg5))
299
+ # define OSSL_TRACE6(category, format, arg1, arg2, arg3, arg4, arg5, arg6) \
300
+ OSSL_TRACEV(category, (trc_out, format, arg1, arg2, arg3, arg4, arg5, arg6))
301
+ # define OSSL_TRACE7(category, format, arg1, arg2, arg3, arg4, arg5, arg6, arg7) \
302
+ OSSL_TRACEV(category, (trc_out, format, arg1, arg2, arg3, arg4, arg5, arg6, arg7))
303
+ # define OSSL_TRACE8(category, format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) \
304
+ OSSL_TRACEV(category, (trc_out, format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8))
305
+ # define OSSL_TRACE9(category, format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) \
306
+ OSSL_TRACEV(category, (trc_out, format, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9))
307
+
308
+ #define OSSL_TRACE_STRING_MAX 80
309
+ int OSSL_trace_string(BIO *out, int text, int full,
310
+ const unsigned char *data, size_t size);
311
+ #define OSSL_TRACE_STRING(category, text, full, data, len) \
312
+ OSSL_TRACE_BEGIN(category) { \
313
+ OSSL_trace_string(trc_out, text, full, data, len); \
314
+ } OSSL_TRACE_END(category)
315
+
316
+ # ifdef __cplusplus
317
+ }
318
+ # endif
319
+
320
+ #endif