@point3/node-rdkafka 3.6.0-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 (707) hide show
  1. package/LICENSE.txt +20 -0
  2. package/README.md +636 -0
  3. package/binding.gyp +154 -0
  4. package/deps/librdkafka/.clang-format +136 -0
  5. package/deps/librdkafka/.clang-format-cpp +103 -0
  6. package/deps/librdkafka/.dir-locals.el +10 -0
  7. package/deps/librdkafka/.formatignore +33 -0
  8. package/deps/librdkafka/.gdbmacros +19 -0
  9. package/deps/librdkafka/.github/CODEOWNERS +1 -0
  10. package/deps/librdkafka/.github/ISSUE_TEMPLATE +34 -0
  11. package/deps/librdkafka/.semaphore/run-all-tests.yml +77 -0
  12. package/deps/librdkafka/.semaphore/semaphore-integration.yml +250 -0
  13. package/deps/librdkafka/.semaphore/semaphore.yml +378 -0
  14. package/deps/librdkafka/.semaphore/verify-linux-packages.yml +41 -0
  15. package/deps/librdkafka/CHANGELOG.md +2208 -0
  16. package/deps/librdkafka/CMakeLists.txt +291 -0
  17. package/deps/librdkafka/CODE_OF_CONDUCT.md +46 -0
  18. package/deps/librdkafka/CONFIGURATION.md +209 -0
  19. package/deps/librdkafka/CONTRIBUTING.md +431 -0
  20. package/deps/librdkafka/Doxyfile +2375 -0
  21. package/deps/librdkafka/INTRODUCTION.md +2481 -0
  22. package/deps/librdkafka/LICENSE +26 -0
  23. package/deps/librdkafka/LICENSE.cjson +22 -0
  24. package/deps/librdkafka/LICENSE.crc32c +28 -0
  25. package/deps/librdkafka/LICENSE.fnv1a +18 -0
  26. package/deps/librdkafka/LICENSE.hdrhistogram +27 -0
  27. package/deps/librdkafka/LICENSE.lz4 +26 -0
  28. package/deps/librdkafka/LICENSE.murmur2 +25 -0
  29. package/deps/librdkafka/LICENSE.nanopb +22 -0
  30. package/deps/librdkafka/LICENSE.opentelemetry +203 -0
  31. package/deps/librdkafka/LICENSE.pycrc +23 -0
  32. package/deps/librdkafka/LICENSE.queue +31 -0
  33. package/deps/librdkafka/LICENSE.regexp +5 -0
  34. package/deps/librdkafka/LICENSE.snappy +36 -0
  35. package/deps/librdkafka/LICENSE.tinycthread +26 -0
  36. package/deps/librdkafka/LICENSE.wingetopt +49 -0
  37. package/deps/librdkafka/LICENSES.txt +625 -0
  38. package/deps/librdkafka/Makefile +125 -0
  39. package/deps/librdkafka/README.md +199 -0
  40. package/deps/librdkafka/README.win32 +26 -0
  41. package/deps/librdkafka/STATISTICS.md +624 -0
  42. package/deps/librdkafka/configure +214 -0
  43. package/deps/librdkafka/configure.self +331 -0
  44. package/deps/librdkafka/debian/changelog +111 -0
  45. package/deps/librdkafka/debian/compat +1 -0
  46. package/deps/librdkafka/debian/control +71 -0
  47. package/deps/librdkafka/debian/copyright +99 -0
  48. package/deps/librdkafka/debian/gbp.conf +9 -0
  49. package/deps/librdkafka/debian/librdkafka++1.install +1 -0
  50. package/deps/librdkafka/debian/librdkafka-dev.examples +2 -0
  51. package/deps/librdkafka/debian/librdkafka-dev.install +9 -0
  52. package/deps/librdkafka/debian/librdkafka1.docs +5 -0
  53. package/deps/librdkafka/debian/librdkafka1.install +1 -0
  54. package/deps/librdkafka/debian/librdkafka1.symbols +135 -0
  55. package/deps/librdkafka/debian/rules +19 -0
  56. package/deps/librdkafka/debian/source/format +1 -0
  57. package/deps/librdkafka/debian/watch +2 -0
  58. package/deps/librdkafka/dev-conf.sh +123 -0
  59. package/deps/librdkafka/examples/CMakeLists.txt +79 -0
  60. package/deps/librdkafka/examples/Makefile +167 -0
  61. package/deps/librdkafka/examples/README.md +42 -0
  62. package/deps/librdkafka/examples/alter_consumer_group_offsets.c +338 -0
  63. package/deps/librdkafka/examples/consumer.c +271 -0
  64. package/deps/librdkafka/examples/delete_records.c +233 -0
  65. package/deps/librdkafka/examples/describe_cluster.c +322 -0
  66. package/deps/librdkafka/examples/describe_consumer_groups.c +455 -0
  67. package/deps/librdkafka/examples/describe_topics.c +427 -0
  68. package/deps/librdkafka/examples/elect_leaders.c +317 -0
  69. package/deps/librdkafka/examples/globals.json +11 -0
  70. package/deps/librdkafka/examples/idempotent_producer.c +344 -0
  71. package/deps/librdkafka/examples/incremental_alter_configs.c +347 -0
  72. package/deps/librdkafka/examples/kafkatest_verifiable_client.cpp +945 -0
  73. package/deps/librdkafka/examples/list_consumer_group_offsets.c +359 -0
  74. package/deps/librdkafka/examples/list_consumer_groups.c +365 -0
  75. package/deps/librdkafka/examples/list_offsets.c +327 -0
  76. package/deps/librdkafka/examples/misc.c +287 -0
  77. package/deps/librdkafka/examples/openssl_engine_example.cpp +248 -0
  78. package/deps/librdkafka/examples/producer.c +251 -0
  79. package/deps/librdkafka/examples/producer.cpp +228 -0
  80. package/deps/librdkafka/examples/rdkafka_complex_consumer_example.c +617 -0
  81. package/deps/librdkafka/examples/rdkafka_complex_consumer_example.cpp +467 -0
  82. package/deps/librdkafka/examples/rdkafka_consume_batch.cpp +264 -0
  83. package/deps/librdkafka/examples/rdkafka_example.c +853 -0
  84. package/deps/librdkafka/examples/rdkafka_example.cpp +679 -0
  85. package/deps/librdkafka/examples/rdkafka_performance.c +1781 -0
  86. package/deps/librdkafka/examples/transactions-older-broker.c +668 -0
  87. package/deps/librdkafka/examples/transactions.c +665 -0
  88. package/deps/librdkafka/examples/user_scram.c +491 -0
  89. package/deps/librdkafka/examples/win_ssl_cert_store.cpp +396 -0
  90. package/deps/librdkafka/lds-gen.py +73 -0
  91. package/deps/librdkafka/mainpage.doxy +40 -0
  92. package/deps/librdkafka/mklove/Makefile.base +329 -0
  93. package/deps/librdkafka/mklove/modules/configure.atomics +144 -0
  94. package/deps/librdkafka/mklove/modules/configure.base +2484 -0
  95. package/deps/librdkafka/mklove/modules/configure.builtin +70 -0
  96. package/deps/librdkafka/mklove/modules/configure.cc +186 -0
  97. package/deps/librdkafka/mklove/modules/configure.cxx +8 -0
  98. package/deps/librdkafka/mklove/modules/configure.fileversion +65 -0
  99. package/deps/librdkafka/mklove/modules/configure.gitversion +29 -0
  100. package/deps/librdkafka/mklove/modules/configure.good_cflags +18 -0
  101. package/deps/librdkafka/mklove/modules/configure.host +132 -0
  102. package/deps/librdkafka/mklove/modules/configure.lib +49 -0
  103. package/deps/librdkafka/mklove/modules/configure.libcurl +99 -0
  104. package/deps/librdkafka/mklove/modules/configure.libsasl2 +36 -0
  105. package/deps/librdkafka/mklove/modules/configure.libssl +147 -0
  106. package/deps/librdkafka/mklove/modules/configure.libzstd +58 -0
  107. package/deps/librdkafka/mklove/modules/configure.parseversion +95 -0
  108. package/deps/librdkafka/mklove/modules/configure.pic +16 -0
  109. package/deps/librdkafka/mklove/modules/configure.socket +20 -0
  110. package/deps/librdkafka/mklove/modules/configure.zlib +61 -0
  111. package/deps/librdkafka/mklove/modules/patches/README.md +8 -0
  112. package/deps/librdkafka/mklove/modules/patches/libcurl.0000-no-runtime-linking-check.patch +11 -0
  113. package/deps/librdkafka/mklove/modules/patches/libssl.0000-osx-rand-include-fix-OpenSSL-PR16409.patch +56 -0
  114. package/deps/librdkafka/packaging/RELEASE.md +319 -0
  115. package/deps/librdkafka/packaging/alpine/build-alpine.sh +38 -0
  116. package/deps/librdkafka/packaging/archlinux/PKGBUILD +30 -0
  117. package/deps/librdkafka/packaging/cmake/Config.cmake.in +37 -0
  118. package/deps/librdkafka/packaging/cmake/Modules/FindLZ4.cmake +38 -0
  119. package/deps/librdkafka/packaging/cmake/Modules/FindZSTD.cmake +27 -0
  120. package/deps/librdkafka/packaging/cmake/Modules/LICENSE.FindZstd +178 -0
  121. package/deps/librdkafka/packaging/cmake/README.md +38 -0
  122. package/deps/librdkafka/packaging/cmake/config.h.in +52 -0
  123. package/deps/librdkafka/packaging/cmake/parseversion.cmake +60 -0
  124. package/deps/librdkafka/packaging/cmake/rdkafka.pc.in +12 -0
  125. package/deps/librdkafka/packaging/cmake/try_compile/atomic_32_test.c +8 -0
  126. package/deps/librdkafka/packaging/cmake/try_compile/atomic_64_test.c +8 -0
  127. package/deps/librdkafka/packaging/cmake/try_compile/c11threads_test.c +14 -0
  128. package/deps/librdkafka/packaging/cmake/try_compile/crc32c_hw_test.c +27 -0
  129. package/deps/librdkafka/packaging/cmake/try_compile/dlopen_test.c +11 -0
  130. package/deps/librdkafka/packaging/cmake/try_compile/libsasl2_test.c +7 -0
  131. package/deps/librdkafka/packaging/cmake/try_compile/pthread_setname_darwin_test.c +6 -0
  132. package/deps/librdkafka/packaging/cmake/try_compile/pthread_setname_freebsd_test.c +7 -0
  133. package/deps/librdkafka/packaging/cmake/try_compile/pthread_setname_gnu_test.c +5 -0
  134. package/deps/librdkafka/packaging/cmake/try_compile/rand_r_test.c +7 -0
  135. package/deps/librdkafka/packaging/cmake/try_compile/rdkafka_setup.cmake +122 -0
  136. package/deps/librdkafka/packaging/cmake/try_compile/regex_test.c +10 -0
  137. package/deps/librdkafka/packaging/cmake/try_compile/strndup_test.c +5 -0
  138. package/deps/librdkafka/packaging/cmake/try_compile/sync_32_test.c +8 -0
  139. package/deps/librdkafka/packaging/cmake/try_compile/sync_64_test.c +8 -0
  140. package/deps/librdkafka/packaging/cp/README.md +16 -0
  141. package/deps/librdkafka/packaging/cp/check_features.c +72 -0
  142. package/deps/librdkafka/packaging/cp/verify-deb.sh +33 -0
  143. package/deps/librdkafka/packaging/cp/verify-packages.sh +69 -0
  144. package/deps/librdkafka/packaging/cp/verify-rpm.sh +32 -0
  145. package/deps/librdkafka/packaging/debian/changelog +66 -0
  146. package/deps/librdkafka/packaging/debian/compat +1 -0
  147. package/deps/librdkafka/packaging/debian/control +49 -0
  148. package/deps/librdkafka/packaging/debian/copyright +84 -0
  149. package/deps/librdkafka/packaging/debian/docs +5 -0
  150. package/deps/librdkafka/packaging/debian/gbp.conf +9 -0
  151. package/deps/librdkafka/packaging/debian/librdkafka-dev.dirs +2 -0
  152. package/deps/librdkafka/packaging/debian/librdkafka-dev.examples +2 -0
  153. package/deps/librdkafka/packaging/debian/librdkafka-dev.install +6 -0
  154. package/deps/librdkafka/packaging/debian/librdkafka-dev.substvars +1 -0
  155. package/deps/librdkafka/packaging/debian/librdkafka.dsc +16 -0
  156. package/deps/librdkafka/packaging/debian/librdkafka1-dbg.substvars +1 -0
  157. package/deps/librdkafka/packaging/debian/librdkafka1.dirs +1 -0
  158. package/deps/librdkafka/packaging/debian/librdkafka1.install +2 -0
  159. package/deps/librdkafka/packaging/debian/librdkafka1.postinst.debhelper +5 -0
  160. package/deps/librdkafka/packaging/debian/librdkafka1.postrm.debhelper +5 -0
  161. package/deps/librdkafka/packaging/debian/librdkafka1.symbols +64 -0
  162. package/deps/librdkafka/packaging/debian/rules +19 -0
  163. package/deps/librdkafka/packaging/debian/source/format +1 -0
  164. package/deps/librdkafka/packaging/debian/watch +2 -0
  165. package/deps/librdkafka/packaging/get_version.py +21 -0
  166. package/deps/librdkafka/packaging/homebrew/README.md +15 -0
  167. package/deps/librdkafka/packaging/homebrew/brew-update-pr.sh +31 -0
  168. package/deps/librdkafka/packaging/mingw-w64/configure-build-msys2-mingw-static.sh +52 -0
  169. package/deps/librdkafka/packaging/mingw-w64/configure-build-msys2-mingw.sh +21 -0
  170. package/deps/librdkafka/packaging/mingw-w64/export-variables.sh +13 -0
  171. package/deps/librdkafka/packaging/mingw-w64/run-tests.sh +6 -0
  172. package/deps/librdkafka/packaging/mingw-w64/semaphoreci-build.sh +38 -0
  173. package/deps/librdkafka/packaging/nuget/README.md +84 -0
  174. package/deps/librdkafka/packaging/nuget/artifact.py +177 -0
  175. package/deps/librdkafka/packaging/nuget/cleanup-s3.py +143 -0
  176. package/deps/librdkafka/packaging/nuget/common/p-common__plat-windows__arch-win32__bldtype-Release/msvcr120.zip +0 -0
  177. package/deps/librdkafka/packaging/nuget/common/p-common__plat-windows__arch-win32__bldtype-Release/msvcr140.zip +0 -0
  178. package/deps/librdkafka/packaging/nuget/common/p-common__plat-windows__arch-x64__bldtype-Release/msvcr120.zip +0 -0
  179. package/deps/librdkafka/packaging/nuget/common/p-common__plat-windows__arch-x64__bldtype-Release/msvcr140.zip +0 -0
  180. package/deps/librdkafka/packaging/nuget/nuget.sh +21 -0
  181. package/deps/librdkafka/packaging/nuget/nugetpackage.py +278 -0
  182. package/deps/librdkafka/packaging/nuget/packaging.py +448 -0
  183. package/deps/librdkafka/packaging/nuget/push-to-nuget.sh +21 -0
  184. package/deps/librdkafka/packaging/nuget/release.py +167 -0
  185. package/deps/librdkafka/packaging/nuget/requirements.txt +3 -0
  186. package/deps/librdkafka/packaging/nuget/staticpackage.py +178 -0
  187. package/deps/librdkafka/packaging/nuget/templates/librdkafka.redist.nuspec +21 -0
  188. package/deps/librdkafka/packaging/nuget/templates/librdkafka.redist.props +18 -0
  189. package/deps/librdkafka/packaging/nuget/templates/librdkafka.redist.targets +19 -0
  190. package/deps/librdkafka/packaging/nuget/zfile/__init__.py +0 -0
  191. package/deps/librdkafka/packaging/nuget/zfile/zfile.py +98 -0
  192. package/deps/librdkafka/packaging/rpm/Makefile +92 -0
  193. package/deps/librdkafka/packaging/rpm/README.md +23 -0
  194. package/deps/librdkafka/packaging/rpm/el7-x86_64.cfg +40 -0
  195. package/deps/librdkafka/packaging/rpm/librdkafka.spec +118 -0
  196. package/deps/librdkafka/packaging/rpm/mock-on-docker.sh +96 -0
  197. package/deps/librdkafka/packaging/rpm/tests/Makefile +25 -0
  198. package/deps/librdkafka/packaging/rpm/tests/README.md +8 -0
  199. package/deps/librdkafka/packaging/rpm/tests/run-test.sh +42 -0
  200. package/deps/librdkafka/packaging/rpm/tests/test-on-docker.sh +56 -0
  201. package/deps/librdkafka/packaging/rpm/tests/test.c +77 -0
  202. package/deps/librdkafka/packaging/rpm/tests/test.cpp +34 -0
  203. package/deps/librdkafka/packaging/tools/Dockerfile +31 -0
  204. package/deps/librdkafka/packaging/tools/build-configurations-checks.sh +12 -0
  205. package/deps/librdkafka/packaging/tools/build-deb-package.sh +64 -0
  206. package/deps/librdkafka/packaging/tools/build-debian.sh +65 -0
  207. package/deps/librdkafka/packaging/tools/build-manylinux.sh +68 -0
  208. package/deps/librdkafka/packaging/tools/build-release-artifacts.sh +139 -0
  209. package/deps/librdkafka/packaging/tools/distro-build.sh +38 -0
  210. package/deps/librdkafka/packaging/tools/gh-release-checksums.py +39 -0
  211. package/deps/librdkafka/packaging/tools/rdutcoverage.sh +25 -0
  212. package/deps/librdkafka/packaging/tools/requirements.txt +2 -0
  213. package/deps/librdkafka/packaging/tools/run-in-docker.sh +28 -0
  214. package/deps/librdkafka/packaging/tools/run-integration-tests.sh +31 -0
  215. package/deps/librdkafka/packaging/tools/run-style-check.sh +4 -0
  216. package/deps/librdkafka/packaging/tools/style-format.sh +149 -0
  217. package/deps/librdkafka/packaging/tools/update_rpcs_max_versions.py +100 -0
  218. package/deps/librdkafka/service.yml +172 -0
  219. package/deps/librdkafka/src/CMakeLists.txt +374 -0
  220. package/deps/librdkafka/src/Makefile +103 -0
  221. package/deps/librdkafka/src/README.lz4.md +30 -0
  222. package/deps/librdkafka/src/cJSON.c +2834 -0
  223. package/deps/librdkafka/src/cJSON.h +398 -0
  224. package/deps/librdkafka/src/crc32c.c +430 -0
  225. package/deps/librdkafka/src/crc32c.h +38 -0
  226. package/deps/librdkafka/src/generate_proto.sh +66 -0
  227. package/deps/librdkafka/src/librdkafka_cgrp_synch.png +0 -0
  228. package/deps/librdkafka/src/lz4.c +2727 -0
  229. package/deps/librdkafka/src/lz4.h +842 -0
  230. package/deps/librdkafka/src/lz4frame.c +2078 -0
  231. package/deps/librdkafka/src/lz4frame.h +692 -0
  232. package/deps/librdkafka/src/lz4frame_static.h +47 -0
  233. package/deps/librdkafka/src/lz4hc.c +1631 -0
  234. package/deps/librdkafka/src/lz4hc.h +413 -0
  235. package/deps/librdkafka/src/nanopb/pb.h +917 -0
  236. package/deps/librdkafka/src/nanopb/pb_common.c +388 -0
  237. package/deps/librdkafka/src/nanopb/pb_common.h +49 -0
  238. package/deps/librdkafka/src/nanopb/pb_decode.c +1727 -0
  239. package/deps/librdkafka/src/nanopb/pb_decode.h +193 -0
  240. package/deps/librdkafka/src/nanopb/pb_encode.c +1000 -0
  241. package/deps/librdkafka/src/nanopb/pb_encode.h +185 -0
  242. package/deps/librdkafka/src/opentelemetry/common.pb.c +32 -0
  243. package/deps/librdkafka/src/opentelemetry/common.pb.h +170 -0
  244. package/deps/librdkafka/src/opentelemetry/metrics.options +2 -0
  245. package/deps/librdkafka/src/opentelemetry/metrics.pb.c +67 -0
  246. package/deps/librdkafka/src/opentelemetry/metrics.pb.h +966 -0
  247. package/deps/librdkafka/src/opentelemetry/resource.pb.c +12 -0
  248. package/deps/librdkafka/src/opentelemetry/resource.pb.h +58 -0
  249. package/deps/librdkafka/src/queue.h +850 -0
  250. package/deps/librdkafka/src/rd.h +584 -0
  251. package/deps/librdkafka/src/rdaddr.c +255 -0
  252. package/deps/librdkafka/src/rdaddr.h +202 -0
  253. package/deps/librdkafka/src/rdatomic.h +230 -0
  254. package/deps/librdkafka/src/rdavg.h +260 -0
  255. package/deps/librdkafka/src/rdavl.c +210 -0
  256. package/deps/librdkafka/src/rdavl.h +250 -0
  257. package/deps/librdkafka/src/rdbase64.c +200 -0
  258. package/deps/librdkafka/src/rdbase64.h +43 -0
  259. package/deps/librdkafka/src/rdbuf.c +1884 -0
  260. package/deps/librdkafka/src/rdbuf.h +375 -0
  261. package/deps/librdkafka/src/rdcrc32.c +114 -0
  262. package/deps/librdkafka/src/rdcrc32.h +170 -0
  263. package/deps/librdkafka/src/rddl.c +179 -0
  264. package/deps/librdkafka/src/rddl.h +43 -0
  265. package/deps/librdkafka/src/rdendian.h +175 -0
  266. package/deps/librdkafka/src/rdfloat.h +67 -0
  267. package/deps/librdkafka/src/rdfnv1a.c +113 -0
  268. package/deps/librdkafka/src/rdfnv1a.h +35 -0
  269. package/deps/librdkafka/src/rdgz.c +120 -0
  270. package/deps/librdkafka/src/rdgz.h +46 -0
  271. package/deps/librdkafka/src/rdhdrhistogram.c +721 -0
  272. package/deps/librdkafka/src/rdhdrhistogram.h +87 -0
  273. package/deps/librdkafka/src/rdhttp.c +830 -0
  274. package/deps/librdkafka/src/rdhttp.h +101 -0
  275. package/deps/librdkafka/src/rdinterval.h +177 -0
  276. package/deps/librdkafka/src/rdkafka.c +5505 -0
  277. package/deps/librdkafka/src/rdkafka.h +10686 -0
  278. package/deps/librdkafka/src/rdkafka_admin.c +9794 -0
  279. package/deps/librdkafka/src/rdkafka_admin.h +661 -0
  280. package/deps/librdkafka/src/rdkafka_assignment.c +1010 -0
  281. package/deps/librdkafka/src/rdkafka_assignment.h +73 -0
  282. package/deps/librdkafka/src/rdkafka_assignor.c +1786 -0
  283. package/deps/librdkafka/src/rdkafka_assignor.h +402 -0
  284. package/deps/librdkafka/src/rdkafka_aux.c +409 -0
  285. package/deps/librdkafka/src/rdkafka_aux.h +174 -0
  286. package/deps/librdkafka/src/rdkafka_background.c +221 -0
  287. package/deps/librdkafka/src/rdkafka_broker.c +6337 -0
  288. package/deps/librdkafka/src/rdkafka_broker.h +744 -0
  289. package/deps/librdkafka/src/rdkafka_buf.c +543 -0
  290. package/deps/librdkafka/src/rdkafka_buf.h +1525 -0
  291. package/deps/librdkafka/src/rdkafka_cert.c +576 -0
  292. package/deps/librdkafka/src/rdkafka_cert.h +62 -0
  293. package/deps/librdkafka/src/rdkafka_cgrp.c +7587 -0
  294. package/deps/librdkafka/src/rdkafka_cgrp.h +477 -0
  295. package/deps/librdkafka/src/rdkafka_conf.c +4880 -0
  296. package/deps/librdkafka/src/rdkafka_conf.h +732 -0
  297. package/deps/librdkafka/src/rdkafka_confval.h +97 -0
  298. package/deps/librdkafka/src/rdkafka_coord.c +623 -0
  299. package/deps/librdkafka/src/rdkafka_coord.h +132 -0
  300. package/deps/librdkafka/src/rdkafka_error.c +228 -0
  301. package/deps/librdkafka/src/rdkafka_error.h +80 -0
  302. package/deps/librdkafka/src/rdkafka_event.c +502 -0
  303. package/deps/librdkafka/src/rdkafka_event.h +126 -0
  304. package/deps/librdkafka/src/rdkafka_feature.c +898 -0
  305. package/deps/librdkafka/src/rdkafka_feature.h +104 -0
  306. package/deps/librdkafka/src/rdkafka_fetcher.c +1422 -0
  307. package/deps/librdkafka/src/rdkafka_fetcher.h +44 -0
  308. package/deps/librdkafka/src/rdkafka_header.c +220 -0
  309. package/deps/librdkafka/src/rdkafka_header.h +76 -0
  310. package/deps/librdkafka/src/rdkafka_idempotence.c +807 -0
  311. package/deps/librdkafka/src/rdkafka_idempotence.h +144 -0
  312. package/deps/librdkafka/src/rdkafka_int.h +1260 -0
  313. package/deps/librdkafka/src/rdkafka_interceptor.c +819 -0
  314. package/deps/librdkafka/src/rdkafka_interceptor.h +104 -0
  315. package/deps/librdkafka/src/rdkafka_lz4.c +450 -0
  316. package/deps/librdkafka/src/rdkafka_lz4.h +49 -0
  317. package/deps/librdkafka/src/rdkafka_metadata.c +2209 -0
  318. package/deps/librdkafka/src/rdkafka_metadata.h +345 -0
  319. package/deps/librdkafka/src/rdkafka_metadata_cache.c +1183 -0
  320. package/deps/librdkafka/src/rdkafka_mock.c +3661 -0
  321. package/deps/librdkafka/src/rdkafka_mock.h +610 -0
  322. package/deps/librdkafka/src/rdkafka_mock_cgrp.c +1876 -0
  323. package/deps/librdkafka/src/rdkafka_mock_handlers.c +3113 -0
  324. package/deps/librdkafka/src/rdkafka_mock_int.h +710 -0
  325. package/deps/librdkafka/src/rdkafka_msg.c +2589 -0
  326. package/deps/librdkafka/src/rdkafka_msg.h +614 -0
  327. package/deps/librdkafka/src/rdkafka_msgbatch.h +62 -0
  328. package/deps/librdkafka/src/rdkafka_msgset.h +98 -0
  329. package/deps/librdkafka/src/rdkafka_msgset_reader.c +1806 -0
  330. package/deps/librdkafka/src/rdkafka_msgset_writer.c +1474 -0
  331. package/deps/librdkafka/src/rdkafka_offset.c +1565 -0
  332. package/deps/librdkafka/src/rdkafka_offset.h +150 -0
  333. package/deps/librdkafka/src/rdkafka_op.c +997 -0
  334. package/deps/librdkafka/src/rdkafka_op.h +858 -0
  335. package/deps/librdkafka/src/rdkafka_partition.c +4896 -0
  336. package/deps/librdkafka/src/rdkafka_partition.h +1182 -0
  337. package/deps/librdkafka/src/rdkafka_pattern.c +228 -0
  338. package/deps/librdkafka/src/rdkafka_pattern.h +70 -0
  339. package/deps/librdkafka/src/rdkafka_plugin.c +213 -0
  340. package/deps/librdkafka/src/rdkafka_plugin.h +41 -0
  341. package/deps/librdkafka/src/rdkafka_proto.h +736 -0
  342. package/deps/librdkafka/src/rdkafka_protocol.h +128 -0
  343. package/deps/librdkafka/src/rdkafka_queue.c +1230 -0
  344. package/deps/librdkafka/src/rdkafka_queue.h +1220 -0
  345. package/deps/librdkafka/src/rdkafka_range_assignor.c +1748 -0
  346. package/deps/librdkafka/src/rdkafka_request.c +7089 -0
  347. package/deps/librdkafka/src/rdkafka_request.h +732 -0
  348. package/deps/librdkafka/src/rdkafka_roundrobin_assignor.c +123 -0
  349. package/deps/librdkafka/src/rdkafka_sasl.c +530 -0
  350. package/deps/librdkafka/src/rdkafka_sasl.h +63 -0
  351. package/deps/librdkafka/src/rdkafka_sasl_cyrus.c +722 -0
  352. package/deps/librdkafka/src/rdkafka_sasl_int.h +89 -0
  353. package/deps/librdkafka/src/rdkafka_sasl_oauthbearer.c +1833 -0
  354. package/deps/librdkafka/src/rdkafka_sasl_oauthbearer.h +52 -0
  355. package/deps/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c +1666 -0
  356. package/deps/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.h +47 -0
  357. package/deps/librdkafka/src/rdkafka_sasl_plain.c +142 -0
  358. package/deps/librdkafka/src/rdkafka_sasl_scram.c +858 -0
  359. package/deps/librdkafka/src/rdkafka_sasl_win32.c +550 -0
  360. package/deps/librdkafka/src/rdkafka_ssl.c +2129 -0
  361. package/deps/librdkafka/src/rdkafka_ssl.h +86 -0
  362. package/deps/librdkafka/src/rdkafka_sticky_assignor.c +4785 -0
  363. package/deps/librdkafka/src/rdkafka_subscription.c +278 -0
  364. package/deps/librdkafka/src/rdkafka_telemetry.c +760 -0
  365. package/deps/librdkafka/src/rdkafka_telemetry.h +52 -0
  366. package/deps/librdkafka/src/rdkafka_telemetry_decode.c +1053 -0
  367. package/deps/librdkafka/src/rdkafka_telemetry_decode.h +59 -0
  368. package/deps/librdkafka/src/rdkafka_telemetry_encode.c +997 -0
  369. package/deps/librdkafka/src/rdkafka_telemetry_encode.h +301 -0
  370. package/deps/librdkafka/src/rdkafka_timer.c +402 -0
  371. package/deps/librdkafka/src/rdkafka_timer.h +117 -0
  372. package/deps/librdkafka/src/rdkafka_topic.c +2161 -0
  373. package/deps/librdkafka/src/rdkafka_topic.h +334 -0
  374. package/deps/librdkafka/src/rdkafka_transport.c +1309 -0
  375. package/deps/librdkafka/src/rdkafka_transport.h +99 -0
  376. package/deps/librdkafka/src/rdkafka_transport_int.h +100 -0
  377. package/deps/librdkafka/src/rdkafka_txnmgr.c +3256 -0
  378. package/deps/librdkafka/src/rdkafka_txnmgr.h +171 -0
  379. package/deps/librdkafka/src/rdkafka_zstd.c +226 -0
  380. package/deps/librdkafka/src/rdkafka_zstd.h +57 -0
  381. package/deps/librdkafka/src/rdlist.c +576 -0
  382. package/deps/librdkafka/src/rdlist.h +434 -0
  383. package/deps/librdkafka/src/rdlog.c +89 -0
  384. package/deps/librdkafka/src/rdlog.h +41 -0
  385. package/deps/librdkafka/src/rdmap.c +508 -0
  386. package/deps/librdkafka/src/rdmap.h +492 -0
  387. package/deps/librdkafka/src/rdmurmur2.c +167 -0
  388. package/deps/librdkafka/src/rdmurmur2.h +35 -0
  389. package/deps/librdkafka/src/rdports.c +61 -0
  390. package/deps/librdkafka/src/rdports.h +38 -0
  391. package/deps/librdkafka/src/rdposix.h +250 -0
  392. package/deps/librdkafka/src/rdrand.c +80 -0
  393. package/deps/librdkafka/src/rdrand.h +43 -0
  394. package/deps/librdkafka/src/rdregex.c +156 -0
  395. package/deps/librdkafka/src/rdregex.h +43 -0
  396. package/deps/librdkafka/src/rdsignal.h +57 -0
  397. package/deps/librdkafka/src/rdstring.c +645 -0
  398. package/deps/librdkafka/src/rdstring.h +98 -0
  399. package/deps/librdkafka/src/rdsysqueue.h +404 -0
  400. package/deps/librdkafka/src/rdtime.h +356 -0
  401. package/deps/librdkafka/src/rdtypes.h +86 -0
  402. package/deps/librdkafka/src/rdunittest.c +549 -0
  403. package/deps/librdkafka/src/rdunittest.h +232 -0
  404. package/deps/librdkafka/src/rdvarint.c +134 -0
  405. package/deps/librdkafka/src/rdvarint.h +165 -0
  406. package/deps/librdkafka/src/rdwin32.h +382 -0
  407. package/deps/librdkafka/src/rdxxhash.c +1030 -0
  408. package/deps/librdkafka/src/rdxxhash.h +328 -0
  409. package/deps/librdkafka/src/regexp.c +1352 -0
  410. package/deps/librdkafka/src/regexp.h +41 -0
  411. package/deps/librdkafka/src/snappy.c +1866 -0
  412. package/deps/librdkafka/src/snappy.h +62 -0
  413. package/deps/librdkafka/src/snappy_compat.h +138 -0
  414. package/deps/librdkafka/src/statistics_schema.json +444 -0
  415. package/deps/librdkafka/src/tinycthread.c +932 -0
  416. package/deps/librdkafka/src/tinycthread.h +503 -0
  417. package/deps/librdkafka/src/tinycthread_extra.c +199 -0
  418. package/deps/librdkafka/src/tinycthread_extra.h +212 -0
  419. package/deps/librdkafka/src/win32_config.h +58 -0
  420. package/deps/librdkafka/src-cpp/CMakeLists.txt +90 -0
  421. package/deps/librdkafka/src-cpp/ConfImpl.cpp +84 -0
  422. package/deps/librdkafka/src-cpp/ConsumerImpl.cpp +244 -0
  423. package/deps/librdkafka/src-cpp/HandleImpl.cpp +436 -0
  424. package/deps/librdkafka/src-cpp/HeadersImpl.cpp +48 -0
  425. package/deps/librdkafka/src-cpp/KafkaConsumerImpl.cpp +296 -0
  426. package/deps/librdkafka/src-cpp/Makefile +55 -0
  427. package/deps/librdkafka/src-cpp/MessageImpl.cpp +38 -0
  428. package/deps/librdkafka/src-cpp/MetadataImpl.cpp +170 -0
  429. package/deps/librdkafka/src-cpp/ProducerImpl.cpp +197 -0
  430. package/deps/librdkafka/src-cpp/QueueImpl.cpp +70 -0
  431. package/deps/librdkafka/src-cpp/README.md +16 -0
  432. package/deps/librdkafka/src-cpp/RdKafka.cpp +59 -0
  433. package/deps/librdkafka/src-cpp/TopicImpl.cpp +124 -0
  434. package/deps/librdkafka/src-cpp/TopicPartitionImpl.cpp +57 -0
  435. package/deps/librdkafka/src-cpp/rdkafkacpp.h +3797 -0
  436. package/deps/librdkafka/src-cpp/rdkafkacpp_int.h +1641 -0
  437. package/deps/librdkafka/tests/0000-unittests.c +72 -0
  438. package/deps/librdkafka/tests/0001-multiobj.c +102 -0
  439. package/deps/librdkafka/tests/0002-unkpart.c +244 -0
  440. package/deps/librdkafka/tests/0003-msgmaxsize.c +173 -0
  441. package/deps/librdkafka/tests/0004-conf.c +934 -0
  442. package/deps/librdkafka/tests/0005-order.c +133 -0
  443. package/deps/librdkafka/tests/0006-symbols.c +163 -0
  444. package/deps/librdkafka/tests/0007-autotopic.c +136 -0
  445. package/deps/librdkafka/tests/0008-reqacks.c +179 -0
  446. package/deps/librdkafka/tests/0009-mock_cluster.c +97 -0
  447. package/deps/librdkafka/tests/0011-produce_batch.c +753 -0
  448. package/deps/librdkafka/tests/0012-produce_consume.c +537 -0
  449. package/deps/librdkafka/tests/0013-null-msgs.c +473 -0
  450. package/deps/librdkafka/tests/0014-reconsume-191.c +512 -0
  451. package/deps/librdkafka/tests/0015-offset_seeks.c +172 -0
  452. package/deps/librdkafka/tests/0016-client_swname.c +181 -0
  453. package/deps/librdkafka/tests/0017-compression.c +140 -0
  454. package/deps/librdkafka/tests/0018-cgrp_term.c +338 -0
  455. package/deps/librdkafka/tests/0019-list_groups.c +289 -0
  456. package/deps/librdkafka/tests/0020-destroy_hang.c +162 -0
  457. package/deps/librdkafka/tests/0021-rkt_destroy.c +72 -0
  458. package/deps/librdkafka/tests/0022-consume_batch.c +279 -0
  459. package/deps/librdkafka/tests/0025-timers.c +147 -0
  460. package/deps/librdkafka/tests/0026-consume_pause.c +547 -0
  461. package/deps/librdkafka/tests/0028-long_topicnames.c +79 -0
  462. package/deps/librdkafka/tests/0029-assign_offset.c +202 -0
  463. package/deps/librdkafka/tests/0030-offset_commit.c +589 -0
  464. package/deps/librdkafka/tests/0031-get_offsets.c +235 -0
  465. package/deps/librdkafka/tests/0033-regex_subscribe.c +536 -0
  466. package/deps/librdkafka/tests/0034-offset_reset.c +398 -0
  467. package/deps/librdkafka/tests/0035-api_version.c +73 -0
  468. package/deps/librdkafka/tests/0036-partial_fetch.c +87 -0
  469. package/deps/librdkafka/tests/0037-destroy_hang_local.c +85 -0
  470. package/deps/librdkafka/tests/0038-performance.c +121 -0
  471. package/deps/librdkafka/tests/0039-event.c +284 -0
  472. package/deps/librdkafka/tests/0040-io_event.c +257 -0
  473. package/deps/librdkafka/tests/0041-fetch_max_bytes.c +97 -0
  474. package/deps/librdkafka/tests/0042-many_topics.c +252 -0
  475. package/deps/librdkafka/tests/0043-no_connection.c +77 -0
  476. package/deps/librdkafka/tests/0044-partition_cnt.c +94 -0
  477. package/deps/librdkafka/tests/0045-subscribe_update.c +1010 -0
  478. package/deps/librdkafka/tests/0046-rkt_cache.c +65 -0
  479. package/deps/librdkafka/tests/0047-partial_buf_tmout.c +98 -0
  480. package/deps/librdkafka/tests/0048-partitioner.c +283 -0
  481. package/deps/librdkafka/tests/0049-consume_conn_close.c +162 -0
  482. package/deps/librdkafka/tests/0050-subscribe_adds.c +145 -0
  483. package/deps/librdkafka/tests/0051-assign_adds.c +126 -0
  484. package/deps/librdkafka/tests/0052-msg_timestamps.c +238 -0
  485. package/deps/librdkafka/tests/0053-stats_cb.cpp +527 -0
  486. package/deps/librdkafka/tests/0054-offset_time.cpp +236 -0
  487. package/deps/librdkafka/tests/0055-producer_latency.c +539 -0
  488. package/deps/librdkafka/tests/0056-balanced_group_mt.c +315 -0
  489. package/deps/librdkafka/tests/0057-invalid_topic.cpp +112 -0
  490. package/deps/librdkafka/tests/0058-log.cpp +123 -0
  491. package/deps/librdkafka/tests/0059-bsearch.cpp +241 -0
  492. package/deps/librdkafka/tests/0060-op_prio.cpp +163 -0
  493. package/deps/librdkafka/tests/0061-consumer_lag.cpp +295 -0
  494. package/deps/librdkafka/tests/0062-stats_event.c +126 -0
  495. package/deps/librdkafka/tests/0063-clusterid.cpp +180 -0
  496. package/deps/librdkafka/tests/0064-interceptors.c +481 -0
  497. package/deps/librdkafka/tests/0065-yield.cpp +140 -0
  498. package/deps/librdkafka/tests/0066-plugins.cpp +129 -0
  499. package/deps/librdkafka/tests/0067-empty_topic.cpp +151 -0
  500. package/deps/librdkafka/tests/0068-produce_timeout.c +136 -0
  501. package/deps/librdkafka/tests/0069-consumer_add_parts.c +119 -0
  502. package/deps/librdkafka/tests/0070-null_empty.cpp +197 -0
  503. package/deps/librdkafka/tests/0072-headers_ut.c +448 -0
  504. package/deps/librdkafka/tests/0073-headers.c +381 -0
  505. package/deps/librdkafka/tests/0074-producev.c +87 -0
  506. package/deps/librdkafka/tests/0075-retry.c +290 -0
  507. package/deps/librdkafka/tests/0076-produce_retry.c +452 -0
  508. package/deps/librdkafka/tests/0077-compaction.c +363 -0
  509. package/deps/librdkafka/tests/0078-c_from_cpp.cpp +96 -0
  510. package/deps/librdkafka/tests/0079-fork.c +93 -0
  511. package/deps/librdkafka/tests/0080-admin_ut.c +3095 -0
  512. package/deps/librdkafka/tests/0081-admin.c +5633 -0
  513. package/deps/librdkafka/tests/0082-fetch_max_bytes.cpp +137 -0
  514. package/deps/librdkafka/tests/0083-cb_event.c +233 -0
  515. package/deps/librdkafka/tests/0084-destroy_flags.c +208 -0
  516. package/deps/librdkafka/tests/0085-headers.cpp +392 -0
  517. package/deps/librdkafka/tests/0086-purge.c +368 -0
  518. package/deps/librdkafka/tests/0088-produce_metadata_timeout.c +162 -0
  519. package/deps/librdkafka/tests/0089-max_poll_interval.c +511 -0
  520. package/deps/librdkafka/tests/0090-idempotence.c +171 -0
  521. package/deps/librdkafka/tests/0091-max_poll_interval_timeout.c +295 -0
  522. package/deps/librdkafka/tests/0092-mixed_msgver.c +103 -0
  523. package/deps/librdkafka/tests/0093-holb.c +200 -0
  524. package/deps/librdkafka/tests/0094-idempotence_msg_timeout.c +231 -0
  525. package/deps/librdkafka/tests/0095-all_brokers_down.cpp +122 -0
  526. package/deps/librdkafka/tests/0097-ssl_verify.cpp +658 -0
  527. package/deps/librdkafka/tests/0098-consumer-txn.cpp +1218 -0
  528. package/deps/librdkafka/tests/0099-commit_metadata.c +194 -0
  529. package/deps/librdkafka/tests/0100-thread_interceptors.cpp +195 -0
  530. package/deps/librdkafka/tests/0101-fetch-from-follower.cpp +446 -0
  531. package/deps/librdkafka/tests/0102-static_group_rebalance.c +836 -0
  532. package/deps/librdkafka/tests/0103-transactions.c +1383 -0
  533. package/deps/librdkafka/tests/0104-fetch_from_follower_mock.c +625 -0
  534. package/deps/librdkafka/tests/0105-transactions_mock.c +3930 -0
  535. package/deps/librdkafka/tests/0106-cgrp_sess_timeout.c +318 -0
  536. package/deps/librdkafka/tests/0107-topic_recreate.c +259 -0
  537. package/deps/librdkafka/tests/0109-auto_create_topics.cpp +278 -0
  538. package/deps/librdkafka/tests/0110-batch_size.cpp +182 -0
  539. package/deps/librdkafka/tests/0111-delay_create_topics.cpp +127 -0
  540. package/deps/librdkafka/tests/0112-assign_unknown_part.c +87 -0
  541. package/deps/librdkafka/tests/0113-cooperative_rebalance.cpp +3473 -0
  542. package/deps/librdkafka/tests/0114-sticky_partitioning.cpp +176 -0
  543. package/deps/librdkafka/tests/0115-producer_auth.cpp +182 -0
  544. package/deps/librdkafka/tests/0116-kafkaconsumer_close.cpp +216 -0
  545. package/deps/librdkafka/tests/0117-mock_errors.c +331 -0
  546. package/deps/librdkafka/tests/0118-commit_rebalance.c +154 -0
  547. package/deps/librdkafka/tests/0119-consumer_auth.cpp +167 -0
  548. package/deps/librdkafka/tests/0120-asymmetric_subscription.c +185 -0
  549. package/deps/librdkafka/tests/0121-clusterid.c +115 -0
  550. package/deps/librdkafka/tests/0122-buffer_cleaning_after_rebalance.c +227 -0
  551. package/deps/librdkafka/tests/0123-connections_max_idle.c +98 -0
  552. package/deps/librdkafka/tests/0124-openssl_invalid_engine.c +69 -0
  553. package/deps/librdkafka/tests/0125-immediate_flush.c +144 -0
  554. package/deps/librdkafka/tests/0126-oauthbearer_oidc.c +528 -0
  555. package/deps/librdkafka/tests/0127-fetch_queue_backoff.cpp +165 -0
  556. package/deps/librdkafka/tests/0128-sasl_callback_queue.cpp +125 -0
  557. package/deps/librdkafka/tests/0129-fetch_aborted_msgs.c +79 -0
  558. package/deps/librdkafka/tests/0130-store_offsets.c +178 -0
  559. package/deps/librdkafka/tests/0131-connect_timeout.c +81 -0
  560. package/deps/librdkafka/tests/0132-strategy_ordering.c +179 -0
  561. package/deps/librdkafka/tests/0133-ssl_keys.c +150 -0
  562. package/deps/librdkafka/tests/0134-ssl_provider.c +92 -0
  563. package/deps/librdkafka/tests/0135-sasl_credentials.cpp +143 -0
  564. package/deps/librdkafka/tests/0136-resolve_cb.c +181 -0
  565. package/deps/librdkafka/tests/0137-barrier_batch_consume.c +619 -0
  566. package/deps/librdkafka/tests/0138-admin_mock.c +281 -0
  567. package/deps/librdkafka/tests/0139-offset_validation_mock.c +950 -0
  568. package/deps/librdkafka/tests/0140-commit_metadata.cpp +108 -0
  569. package/deps/librdkafka/tests/0142-reauthentication.c +515 -0
  570. package/deps/librdkafka/tests/0143-exponential_backoff_mock.c +552 -0
  571. package/deps/librdkafka/tests/0144-idempotence_mock.c +373 -0
  572. package/deps/librdkafka/tests/0145-pause_resume_mock.c +119 -0
  573. package/deps/librdkafka/tests/0146-metadata_mock.c +505 -0
  574. package/deps/librdkafka/tests/0147-consumer_group_consumer_mock.c +952 -0
  575. package/deps/librdkafka/tests/0148-offset_fetch_commit_error_mock.c +563 -0
  576. package/deps/librdkafka/tests/0149-broker-same-host-port.c +140 -0
  577. package/deps/librdkafka/tests/0150-telemetry_mock.c +651 -0
  578. package/deps/librdkafka/tests/0151-purge-brokers.c +566 -0
  579. package/deps/librdkafka/tests/0152-rebootstrap.c +59 -0
  580. package/deps/librdkafka/tests/0153-memberid.c +128 -0
  581. package/deps/librdkafka/tests/1000-unktopic.c +164 -0
  582. package/deps/librdkafka/tests/8000-idle.cpp +60 -0
  583. package/deps/librdkafka/tests/8001-fetch_from_follower_mock_manual.c +113 -0
  584. package/deps/librdkafka/tests/CMakeLists.txt +170 -0
  585. package/deps/librdkafka/tests/LibrdkafkaTestApp.py +291 -0
  586. package/deps/librdkafka/tests/Makefile +182 -0
  587. package/deps/librdkafka/tests/README.md +509 -0
  588. package/deps/librdkafka/tests/autotest.sh +33 -0
  589. package/deps/librdkafka/tests/backtrace.gdb +30 -0
  590. package/deps/librdkafka/tests/broker_version_tests.py +315 -0
  591. package/deps/librdkafka/tests/buildbox.sh +17 -0
  592. package/deps/librdkafka/tests/cleanup-checker-tests.sh +20 -0
  593. package/deps/librdkafka/tests/cluster_testing.py +191 -0
  594. package/deps/librdkafka/tests/delete-test-topics.sh +56 -0
  595. package/deps/librdkafka/tests/fixtures/oauthbearer/jwt_assertion_template.json +10 -0
  596. package/deps/librdkafka/tests/fixtures/ssl/Makefile +8 -0
  597. package/deps/librdkafka/tests/fixtures/ssl/README.md +13 -0
  598. package/deps/librdkafka/tests/fixtures/ssl/client.keystore.intermediate.p12 +0 -0
  599. package/deps/librdkafka/tests/fixtures/ssl/client.keystore.p12 +0 -0
  600. package/deps/librdkafka/tests/fixtures/ssl/client2.certificate.intermediate.pem +72 -0
  601. package/deps/librdkafka/tests/fixtures/ssl/client2.certificate.pem +50 -0
  602. package/deps/librdkafka/tests/fixtures/ssl/client2.intermediate.key +46 -0
  603. package/deps/librdkafka/tests/fixtures/ssl/client2.key +46 -0
  604. package/deps/librdkafka/tests/fixtures/ssl/create_keys.sh +168 -0
  605. package/deps/librdkafka/tests/fuzzers/Makefile +12 -0
  606. package/deps/librdkafka/tests/fuzzers/README.md +31 -0
  607. package/deps/librdkafka/tests/fuzzers/fuzz_regex.c +74 -0
  608. package/deps/librdkafka/tests/fuzzers/helpers.h +90 -0
  609. package/deps/librdkafka/tests/gen-ssl-certs.sh +165 -0
  610. package/deps/librdkafka/tests/interactive_broker_version.py +170 -0
  611. package/deps/librdkafka/tests/interceptor_test/CMakeLists.txt +16 -0
  612. package/deps/librdkafka/tests/interceptor_test/Makefile +22 -0
  613. package/deps/librdkafka/tests/interceptor_test/interceptor_test.c +314 -0
  614. package/deps/librdkafka/tests/interceptor_test/interceptor_test.h +54 -0
  615. package/deps/librdkafka/tests/java/IncrementalRebalanceCli.java +97 -0
  616. package/deps/librdkafka/tests/java/Makefile +13 -0
  617. package/deps/librdkafka/tests/java/Murmur2Cli.java +46 -0
  618. package/deps/librdkafka/tests/java/README.md +14 -0
  619. package/deps/librdkafka/tests/java/TransactionProducerCli.java +162 -0
  620. package/deps/librdkafka/tests/java/run-class.sh +11 -0
  621. package/deps/librdkafka/tests/librdkafka.suppressions +483 -0
  622. package/deps/librdkafka/tests/lz4_manual_test.sh +59 -0
  623. package/deps/librdkafka/tests/multi-broker-version-test.sh +50 -0
  624. package/deps/librdkafka/tests/parse-refcnt.sh +43 -0
  625. package/deps/librdkafka/tests/performance_plot.py +115 -0
  626. package/deps/librdkafka/tests/plugin_test/Makefile +19 -0
  627. package/deps/librdkafka/tests/plugin_test/plugin_test.c +58 -0
  628. package/deps/librdkafka/tests/requirements.txt +2 -0
  629. package/deps/librdkafka/tests/run-all-tests.sh +79 -0
  630. package/deps/librdkafka/tests/run-consumer-tests.sh +16 -0
  631. package/deps/librdkafka/tests/run-producer-tests.sh +16 -0
  632. package/deps/librdkafka/tests/run-test-batches.py +157 -0
  633. package/deps/librdkafka/tests/run-test.sh +140 -0
  634. package/deps/librdkafka/tests/rusage.c +249 -0
  635. package/deps/librdkafka/tests/sasl_test.py +289 -0
  636. package/deps/librdkafka/tests/scenarios/README.md +6 -0
  637. package/deps/librdkafka/tests/scenarios/ak23.json +6 -0
  638. package/deps/librdkafka/tests/scenarios/default.json +5 -0
  639. package/deps/librdkafka/tests/scenarios/noautocreate.json +5 -0
  640. package/deps/librdkafka/tests/sockem.c +801 -0
  641. package/deps/librdkafka/tests/sockem.h +85 -0
  642. package/deps/librdkafka/tests/sockem_ctrl.c +145 -0
  643. package/deps/librdkafka/tests/sockem_ctrl.h +61 -0
  644. package/deps/librdkafka/tests/test.c +7778 -0
  645. package/deps/librdkafka/tests/test.conf.example +27 -0
  646. package/deps/librdkafka/tests/test.h +1028 -0
  647. package/deps/librdkafka/tests/testcpp.cpp +131 -0
  648. package/deps/librdkafka/tests/testcpp.h +388 -0
  649. package/deps/librdkafka/tests/testshared.h +416 -0
  650. package/deps/librdkafka/tests/tools/README.md +4 -0
  651. package/deps/librdkafka/tests/tools/stats/README.md +21 -0
  652. package/deps/librdkafka/tests/tools/stats/filter.jq +42 -0
  653. package/deps/librdkafka/tests/tools/stats/graph.py +150 -0
  654. package/deps/librdkafka/tests/tools/stats/requirements.txt +3 -0
  655. package/deps/librdkafka/tests/tools/stats/to_csv.py +124 -0
  656. package/deps/librdkafka/tests/trivup/trivup-0.14.0.tar.gz +0 -0
  657. package/deps/librdkafka/tests/until-fail.sh +87 -0
  658. package/deps/librdkafka/tests/xxxx-assign_partition.c +122 -0
  659. package/deps/librdkafka/tests/xxxx-metadata.cpp +159 -0
  660. package/deps/librdkafka/vcpkg.json +23 -0
  661. package/deps/librdkafka/win32/README.md +5 -0
  662. package/deps/librdkafka/win32/build-package.bat +3 -0
  663. package/deps/librdkafka/win32/build.bat +19 -0
  664. package/deps/librdkafka/win32/common.vcxproj +84 -0
  665. package/deps/librdkafka/win32/interceptor_test/interceptor_test.vcxproj +87 -0
  666. package/deps/librdkafka/win32/librdkafka.autopkg.template +54 -0
  667. package/deps/librdkafka/win32/librdkafka.master.testing.targets +13 -0
  668. package/deps/librdkafka/win32/librdkafka.sln +226 -0
  669. package/deps/librdkafka/win32/librdkafka.vcxproj +276 -0
  670. package/deps/librdkafka/win32/librdkafkacpp/librdkafkacpp.vcxproj +104 -0
  671. package/deps/librdkafka/win32/msbuild.ps1 +15 -0
  672. package/deps/librdkafka/win32/openssl_engine_example/openssl_engine_example.vcxproj +132 -0
  673. package/deps/librdkafka/win32/package-zip.ps1 +46 -0
  674. package/deps/librdkafka/win32/packages/repositories.config +4 -0
  675. package/deps/librdkafka/win32/push-package.bat +4 -0
  676. package/deps/librdkafka/win32/rdkafka_complex_consumer_example_cpp/rdkafka_complex_consumer_example_cpp.vcxproj +67 -0
  677. package/deps/librdkafka/win32/rdkafka_example/rdkafka_example.vcxproj +97 -0
  678. package/deps/librdkafka/win32/rdkafka_performance/rdkafka_performance.vcxproj +97 -0
  679. package/deps/librdkafka/win32/setup-msys2.ps1 +47 -0
  680. package/deps/librdkafka/win32/setup-vcpkg.ps1 +34 -0
  681. package/deps/librdkafka/win32/tests/test.conf.example +25 -0
  682. package/deps/librdkafka/win32/tests/tests.vcxproj +253 -0
  683. package/deps/librdkafka/win32/win_ssl_cert_store/win_ssl_cert_store.vcxproj +132 -0
  684. package/deps/librdkafka/win32/wingetopt.c +564 -0
  685. package/deps/librdkafka/win32/wingetopt.h +101 -0
  686. package/deps/librdkafka/win32/wintime.h +33 -0
  687. package/deps/librdkafka.gyp +62 -0
  688. package/lib/admin.js +233 -0
  689. package/lib/client.js +573 -0
  690. package/lib/error.js +500 -0
  691. package/lib/index.js +34 -0
  692. package/lib/kafka-consumer-stream.js +397 -0
  693. package/lib/kafka-consumer.js +698 -0
  694. package/lib/producer/high-level-producer.js +323 -0
  695. package/lib/producer-stream.js +307 -0
  696. package/lib/producer.js +375 -0
  697. package/lib/tools/ref-counter.js +52 -0
  698. package/lib/topic-partition.js +88 -0
  699. package/lib/topic.js +42 -0
  700. package/lib/util.js +29 -0
  701. package/package.json +61 -0
  702. package/prebuilds/darwin-arm64/@point3+node-rdkafka.node +0 -0
  703. package/prebuilds/linux-x64/@point3+node-rdkafka.node +0 -0
  704. package/util/configure.js +30 -0
  705. package/util/get-env.js +6 -0
  706. package/util/test-compile.js +11 -0
  707. package/util/test-producer-delivery.js +100 -0
@@ -0,0 +1,72 @@
1
+ Bag Attributes
2
+ friendlyName: client2
3
+ localKeyID: 54 69 6D 65 20 31 37 33 33 33 39 37 39 33 32 32 30 34
4
+ subject=C=, ST=, L=, O=, OU=, CN=client2
5
+ issuer=CN=caintermediate
6
+ -----BEGIN CERTIFICATE-----
7
+ MIID0zCCArugAwIBAgIUVoJRGAe9c4D8vIy3Q+Vc/2c7+5EwDQYJKoZIhvcNAQEL
8
+ BQAwGTEXMBUGA1UEAwwOY2FpbnRlcm1lZGlhdGUwIBcNMjQxMjA1MTEyNTMxWhgP
9
+ MjA1MjA0MjExMTI1MzFaMEkxCTAHBgNVBAYTADEJMAcGA1UECBMAMQkwBwYDVQQH
10
+ EwAxCTAHBgNVBAoTADEJMAcGA1UECxMAMRAwDgYDVQQDEwdjbGllbnQyMIIBojAN
11
+ BgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAt7Vw+t0d1kaUPk16pcpelrZ6vCIc
12
+ XO16ZOxV9aQw+PVBKuTYAJHVCEeW0YViT5Ww5QVSuHTfFgCJPPfXKwgJIUP9izDj
13
+ alFnp7kguAFzg+3P1atLMGV3sYljKPI+4FZzpRJdPpSrVUhUWawAnjHO/gn5eZl4
14
+ 86GdsZqw+Ui/eOqjXCvRMpznF8bugbCkgB0wUSL2UN82axTsu+n+nc0ejLoerQ4W
15
+ cBbzrt0lO0OvbIxBATXWFLbsek9LAJOAaWUizAxvzG3grnJY/Gl0c+cv8hCJgWP0
16
+ COFxPsmK/gctxBTrEvWMaV0JhnjMiNKYjxKUKXDN6Rq7XGEfvFo6HHt9MKAlPQ2i
17
+ kUOtBpY56wRxGo6wTclYgOm/xw3V6mnT1a21B03/hGtpatFGNCR5pxmJADSd8G50
18
+ SgiqRPOvYgfzudzy4kpsYR8DFQyJf3d0zr20I1lNU2KQsD9Lci331Og7B8PRDJoK
19
+ ecJCPR8eHWk0TOQUvqfrPJuvdC7Cg/850ayDAgMBAAGjYTBfMB0GA1UdEQQWMBSC
20
+ B2NsaWVudDKCCWxvY2FsaG9zdDAdBgNVHQ4EFgQU9tPxo+fe36GLolPAq3vVPw1v
21
+ YRUwHwYDVR0jBBgwFoAUiGB7UOmXkgIJPg+fUePUvJbOcOowDQYJKoZIhvcNAQEL
22
+ BQADggEBAG2xnVx5vK3heP5yeifP3p5vCB4fp8JmRBcwLSfpN0waA12jfTJYNSC1
23
+ XQELWKrdeHYmZ2fLCgWN45ztsW3cAV1q4kdQAF/4mZlQKadzSWD2iMGtaJzbKqjU
24
+ sEBuu7Z40ES10qek3GxYXx/+kCFb/f+g10R2+kiFj2QavcQ6bKmafDJnGekgAYV5
25
+ UaIlBv7/WGFg3JGIS3qjQ7xjIiDA+4Uo6TxZ3PQ0rA5I07skLh5jn8fibRli1125
26
+ Cmi4E/l0tvDsxblcS4EQa0hxdc9VOcmkVq5p5HX5inlzS977uvCNXkVG5SqZ1Ha5
27
+ 3RKol0N9ox+VJDS+Z5Ed9A9og/NyUVA=
28
+ -----END CERTIFICATE-----
29
+ Bag Attributes
30
+ friendlyName: CN=caintermediate
31
+ subject=CN=caintermediate
32
+ issuer=CN=caroot
33
+ -----BEGIN CERTIFICATE-----
34
+ MIIC+jCCAeKgAwIBAgIUTz8YA5VECgKhbOiJnM+9bLMQUlcwDQYJKoZIhvcNAQEL
35
+ BQAwETEPMA0GA1UEAwwGY2Fyb290MB4XDTI0MTIwNTExMjUxOFoXDTM0MTIwMzEx
36
+ MjUxOFowGTEXMBUGA1UEAwwOY2FpbnRlcm1lZGlhdGUwggEiMA0GCSqGSIb3DQEB
37
+ AQUAA4IBDwAwggEKAoIBAQCdNNgDcocxK8rBsXjDja2XIsfX1dIvvhVbtCH/aAap
38
+ +ZrpEOybRtbts627N/bAx+kQw/gX2gzJe2MgOeA/G7SDxdl8HO9jJngbow0Nb8Ne
39
+ PmI4kabFFjGqhxgVBAbxX21lJ/F/CgyIaFGddr3rT+S9RcX8IxZbDD1kMFotrSDL
40
+ SyS6UFEYDK5L2hxw9e5NlGjttnXvIVGJo93hNOh1ScsiBj50xaw643Dq3zIzd6X6
41
+ urGpwnZzqUbs0gBvnNEbjqk8+t4M2HMviLb9g7aXYPvNIPdbmnxyHhLfvmnsVnb/
42
+ U7sbf1NdS0HogH+rgUlg9Vat4srtY8iawhQc5tgYcfHrAgMBAAGjQjBAMB0GA1Ud
43
+ DgQWBBSIYHtQ6ZeSAgk+D59R49S8ls5w6jAfBgNVHSMEGDAWgBQarga3f9IwY5mp
44
+ 614dyWCMnW74FjANBgkqhkiG9w0BAQsFAAOCAQEAECeH9/m0O1tAPRji9zEDgzCR
45
+ GZyB4LRIhG249vfCDp8IUCYqyEDe4pYezF1c1VfYVHas7CsvBcgB2mh9/zQDzASZ
46
+ 2szHKmdOAroX57jyKNDzWuRu+X3z7DVKsUFB59iR3zGxsTZqPVtH1+C3f6qnB79B
47
+ P4HQza+kIX/fkfysQF1ekItFbWI9uzN/zPJktuekhC+6lsuS8KiM752EvUV9+vdJ
48
+ X5wb0MH4XSPgCIzN6WNf/tpse+EqbTBO5v8L/MqOF1Pr/tJNx644+e01t4DPVyEF
49
+ 5G7e3aLApPmzAMTgpLnbZ1E7AiSaMnaqFwwcU9k7hl/12C0l09ZXEzJIHBhJhg==
50
+ -----END CERTIFICATE-----
51
+ Bag Attributes
52
+ friendlyName: CN=caroot
53
+ subject=CN=caroot
54
+ issuer=CN=caroot
55
+ -----BEGIN CERTIFICATE-----
56
+ MIIC0TCCAbmgAwIBAgIUMkCrt6VwuFKkq2u3jR+nM6uV1BMwDQYJKoZIhvcNAQEL
57
+ BQAwETEPMA0GA1UEAwwGY2Fyb290MB4XDTI0MTIwNTExMjUxN1oXDTI1MDEwNDEx
58
+ MjUxN1owETEPMA0GA1UEAwwGY2Fyb290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
59
+ MIIBCgKCAQEArL32r0FPpZArzoRi62K27uLp407qTT9Qux2FwdFHxNJCy2nhSaHg
60
+ SFsvKaSio3J2xF8y0R6NG9U0iA630ZUXXJBcGWy4BdjIiFPJPaC7nKzdVEIpOezT
61
+ u+/VmsTamNRngNvLQi1o2OPne4V0TlSito9KOhZMEd8eJT+WQtgw5x+LpEFAdUD9
62
+ urHVYYGq5+locfiN/P9BWvTjYoYJ8YFcpzxuNQA82r/j8h0o8L6pwtWa1xchcR2b
63
+ mq2ME8gm1bPX7ZndpKW5zdBc7hwThuTwB0RpuucdsYmfFoSTCBZ3EBlI3Ta2XwGw
64
+ q2E3XJhtW5ceovxHihAIvHRuXCtWT8GIdwIDAQABoyEwHzAdBgNVHQ4EFgQUGq4G
65
+ t3/SMGOZqeteHclgjJ1u+BYwDQYJKoZIhvcNAQELBQADggEBACtArlYP9sLQDxzF
66
+ 7MbYKPt8dsRYsbO2TlIaB7OEMUVbAKyetizGFcW8I7ezqPYn4uEQqdZmo1mMu6ou
67
+ D1nK0sUsWSq5n1rgZJJoi+o6h71pfBlLYeyKZ5bhnKLkt5s50sInTGdqkUfJdM05
68
+ 3HTV6TdVN71Jd8U/Pp2vu0+UteuLBFuDbYaHiyZunUL/tH6FR2CzkR/NxiytPwE2
69
+ KxTp3KdaMXq6+Hf9OBzCbhrv+o/S8OCWLHCt+caWhsOk8/xvn+78mn+2bFwH+uG8
70
+ KB4ynut6hO/ms0hIcTJZD1uqtdollsvzoN2OEj3WI+LWYTkmAQF7H3A9juT3l8GT
71
+ 0+w5Qoc=
72
+ -----END CERTIFICATE-----
@@ -0,0 +1,50 @@
1
+ Bag Attributes
2
+ friendlyName: client2
3
+ localKeyID: 54 69 6D 65 20 31 37 33 33 33 39 37 39 33 36 31 30 32
4
+ subject=C=, ST=, L=, O=, OU=, CN=client2
5
+ issuer=CN=caroot
6
+ -----BEGIN CERTIFICATE-----
7
+ MIIDyzCCArOgAwIBAgIUGkcIgpCjxPTE/eGyCgJ6vrd7kCswDQYJKoZIhvcNAQEL
8
+ BQAwETEPMA0GA1UEAwwGY2Fyb290MCAXDTI0MTIwNTExMjUzNVoYDzIwNTIwNDIx
9
+ MTEyNTM1WjBJMQkwBwYDVQQGEwAxCTAHBgNVBAgTADEJMAcGA1UEBxMAMQkwBwYD
10
+ VQQKEwAxCTAHBgNVBAsTADEQMA4GA1UEAxMHY2xpZW50MjCCAaIwDQYJKoZIhvcN
11
+ AQEBBQADggGPADCCAYoCggGBALhtqMJYhf6IwmShmQcOJ8sSvxl7F8RZdtI/PvoP
12
+ +TXtAZO6q65fo7hPq7fjK/2YQIwd8VHrgDsMN4vNCzG6w4GnxnOhTuTevoE6Zwlf
13
+ 1duaWIilUU7vYNth5Qz5Z2MB4hPEqxGBTMO8N7LMMVi4gRvleL3Q71+kGoK0+4KU
14
+ aj1MfOssGsDAiIyKxAZutR7bB0nTfLD7AmbOwSo7IlPCTqRN8/aAa3Ibship1ggB
15
+ W5lLKweROXpEvcVXFDzM4nYq/aHbNDtm9ZvJ4r0WYHwxfdohe5J+kMqcukQCTKxM
16
+ K3vdTPj132Xz7VjuoblajZrS3mAzFGdNi/bHuvDQe29FDwFxztg4tc+/eWEfgTGT
17
+ /hbr78sX7vzdKn8GyESXxhdH7xK/6Q32Bgfc6W0Oy7oFjnUd90i8eX65MT74/Cu5
18
+ BGK/xZIJASSqwWiWJEQSOaUxKqivAVkBhSJb2vK3dlmEzmRZmsgoeXsAyEWdKTCP
19
+ DGNMHieSnyqBfaUvoe1+EjJYXQIDAQABo2EwXzAdBgNVHREEFjAUggdjbGllbnQy
20
+ gglsb2NhbGhvc3QwHQYDVR0OBBYEFOiCs1wbf8Cl3rF1CpVD/Et6GJESMB8GA1Ud
21
+ IwQYMBaAFBquBrd/0jBjmanrXh3JYIydbvgWMA0GCSqGSIb3DQEBCwUAA4IBAQCj
22
+ +mE/fvOrjf2ij82aA9pMx5+s6SI/ntFY+uVFKIvNITqNINuFiTTlHmudXoGFES5X
23
+ dP9bawSctd6icq/Ek1qlyDdcbRC6CLrPDds83OtJc3s0XAa3cuhLZ7g3LveuAHzj
24
+ 55JW26NTWd8NAMsuNx0CY/bD/HtoX44R08NhvYEaumOeNdMeC0wL9PL4ia8xCqxt
25
+ baN2+t0nEpK4f9IP+dZlw9t4FJiEgg7iqW9wFDgqlcqsnmweSxfqat2a3uTv+hTG
26
+ mLWultOgt9Fc6xdiP2dyL/sMQiNIVA4tqaxY75arm/gjohx6s7hyr8FrcXig3ooM
27
+ 3PtZVuHGCcd3Wy5wdsLJ
28
+ -----END CERTIFICATE-----
29
+ Bag Attributes
30
+ friendlyName: CN=caroot
31
+ subject=CN=caroot
32
+ issuer=CN=caroot
33
+ -----BEGIN CERTIFICATE-----
34
+ MIIC0TCCAbmgAwIBAgIUMkCrt6VwuFKkq2u3jR+nM6uV1BMwDQYJKoZIhvcNAQEL
35
+ BQAwETEPMA0GA1UEAwwGY2Fyb290MB4XDTI0MTIwNTExMjUxN1oXDTI1MDEwNDEx
36
+ MjUxN1owETEPMA0GA1UEAwwGY2Fyb290MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
37
+ MIIBCgKCAQEArL32r0FPpZArzoRi62K27uLp407qTT9Qux2FwdFHxNJCy2nhSaHg
38
+ SFsvKaSio3J2xF8y0R6NG9U0iA630ZUXXJBcGWy4BdjIiFPJPaC7nKzdVEIpOezT
39
+ u+/VmsTamNRngNvLQi1o2OPne4V0TlSito9KOhZMEd8eJT+WQtgw5x+LpEFAdUD9
40
+ urHVYYGq5+locfiN/P9BWvTjYoYJ8YFcpzxuNQA82r/j8h0o8L6pwtWa1xchcR2b
41
+ mq2ME8gm1bPX7ZndpKW5zdBc7hwThuTwB0RpuucdsYmfFoSTCBZ3EBlI3Ta2XwGw
42
+ q2E3XJhtW5ceovxHihAIvHRuXCtWT8GIdwIDAQABoyEwHzAdBgNVHQ4EFgQUGq4G
43
+ t3/SMGOZqeteHclgjJ1u+BYwDQYJKoZIhvcNAQELBQADggEBACtArlYP9sLQDxzF
44
+ 7MbYKPt8dsRYsbO2TlIaB7OEMUVbAKyetizGFcW8I7ezqPYn4uEQqdZmo1mMu6ou
45
+ D1nK0sUsWSq5n1rgZJJoi+o6h71pfBlLYeyKZ5bhnKLkt5s50sInTGdqkUfJdM05
46
+ 3HTV6TdVN71Jd8U/Pp2vu0+UteuLBFuDbYaHiyZunUL/tH6FR2CzkR/NxiytPwE2
47
+ KxTp3KdaMXq6+Hf9OBzCbhrv+o/S8OCWLHCt+caWhsOk8/xvn+78mn+2bFwH+uG8
48
+ KB4ynut6hO/ms0hIcTJZD1uqtdollsvzoN2OEj3WI+LWYTkmAQF7H3A9juT3l8GT
49
+ 0+w5Qoc=
50
+ -----END CERTIFICATE-----
@@ -0,0 +1,46 @@
1
+ Bag Attributes
2
+ friendlyName: client2
3
+ localKeyID: 54 69 6D 65 20 31 37 33 33 33 39 37 39 33 32 32 30 34
4
+ Key Attributes: <No Attributes>
5
+ -----BEGIN ENCRYPTED PRIVATE KEY-----
6
+ MIIHdTBfBgkqhkiG9w0BBQ0wUjAxBgkqhkiG9w0BBQwwJAQQttSrkKEakyqMMpd9
7
+ nyNcuwICCAAwDAYIKoZIhvcNAgkFADAdBglghkgBZQMEASoEEMxo0Wbr9Wczwj4Z
8
+ qPTAOWsEggcQSVVSucnbW4WaPfyzwOe1dDQUokczL9yBh9sCPo0yFj25N/S9Vt0P
9
+ MjXT3tGL/L4m2XqSXUpxfpQZq+86p37QOQLGpR93tkk3qD3r66LejbA1SU2MA9/j
10
+ opaGkHNrF+1yvoB6GllkaGSnAFalJ0H6hZ5AFf4yFtNRdBsuFkbd9NceEU5/tj0K
11
+ YngZUGnqj+Ptja6ZSO8lpddGYlrz6EhmiGWFawXkcj/erou3gwvIVqINZFOsUIDm
12
+ SlyPOrsehXxNp10GVOsLac0U1FOaAAYl08eRtJ9QpJtH5OaY5mnvkyWsoMwlfmd/
13
+ BlzVDOOonF6JShvh3CEXnws6c1QlpdX4qe9lzQV+fnhbKFWQvm14580MTbsCbdpp
14
+ gCwHXoPTDaBAx6zKaejGWWHZs5NqKgRtULQyX9UUEjZ2TUCIk+TqOEHtTMzuoVGO
15
+ /BcGdoSH78y/AjYwPNt54GscujeqLcLkWh/6ASbjX32nkKTGQd28bb1nr/CrDKqR
16
+ 2y++zgY6Ola5NrCQg0DzHzn+peF9iGJuccCGihW2FhLlHd9TFKGX9C7eairPi3Al
17
+ 9WqDT06DnRJ36Lh7Kty5NKVyBp/xB0admC170eWEtO5uTvyw3yh7VHlGJRZC73fA
18
+ ZveB1x41odVhToDyXMdVirmuWt8XBWshbSk7Vylxj7U58WcNA0WUXnTb2ZXIgz+K
19
+ V2NrMLMxRSE6f82EDWkemdzO2jxxtswFHgpUN7neOTA0Pk9DUC84MdqW/3OSKHH3
20
+ dp7nAM8rKLG33/A8ByK9mwvWVzDu9YVro+kzTueHyPM3XcxgaKtgZ8tilx4+5bWT
21
+ TDhaHDGScTmBd/wrNnywFLEeBCOZeN+UZ8IPhoQccLcix0j7Y+NLCo74js7E6leO
22
+ lNyeI5pOT7M2HmCHoMJo8Ud+B1CDw5yiRGAmUqhTxDDuUTtvPGo9WffKWlKxB+Cs
23
+ H0bn0gx3kWMtTbGmtSPjB+5gS4T3iBW0h2Pj0AaTSKAnm55ALgimjWsufv8XwceY
24
+ PjTYG2ZS+tq+80bE8X6tElFaCeCMwFmcSlzhYhTzYObMEjb38M8EplisrEf8Zehh
25
+ yN8GYLbIHR9ZzIbKQfCYGkEgCkS/2tr5UqXZ16+1pQGVI+FKctNB5YiiXJtIKV2m
26
+ YLcEE3KNTVgIxMzAsauTxHull5c+43gsE27hSTQuJMxh081BGRSpilwXn41O0/zR
27
+ tSlxXKz6FWs5GVw36V52ExiWmsOncMtYMIUIY29Qf4VeUHJ0D8vCnXpKWDKmXPlI
28
+ hljXidEUTaYstkYG4n2KLu0Dzqzv570gaYIpLRBMLnDlSjDjn7KflFklYLj/b351
29
+ bz2oUY7mfqwFCFYnyp7gG2cvvwEr0qapp3MLO0kM7VCyhlQZn/8joizjOr7Y2P1B
30
+ EpP4HVzDjQBE+zLXnXih0KPz2Tw3Ts/NwN9wn1UUZTAMhSPcMjDb5wjVcFghss7V
31
+ wB0WTgEpPn3tjw3RX6quph/cVlbHEP02MKWrrevGD5PioH85QlamYeaHZqkWn2l1
32
+ ob38wmN+D92OLCYHv6xkeOzOrTEW8a6Trg6POu6snYgveFnmk4CsjhRIDoBNTjkZ
33
+ fR6pPo/1+tp8z0P65qd6yCDaMKNbEuMgPR+808SSylUypZk7c+jxADmhV3fPmVFf
34
+ 7284jX+C0lx9BXy14WZFXB0WDMlFAp+h/IGoaayVp9sKCPBCLru9N7JzmRfThygv
35
+ 9qwLOv7CU0dPTV5QRIbmc8qHvqt4v2Fm9bqwht3LuXguqXNyf1EfIA/j2m97j0y2
36
+ Ql9quOkpG0CQL6ZjGBy3dFHQW371460Xr+bG0RETUGHm4NqKvjue2qBiEp8/zDvx
37
+ JhC3L0nV2kBbyagVmfJqs+1i/Wj15dcQ4ZMUardLGl6CImz0FawX79tcLJVvXlin
38
+ mQJe9DceCOGJGz0IY9M34rkzU4sgBKj7CMVQ5cEaS2wJScITfuAAmD7hKo2UK0mv
39
+ 8f+LstvQ5SM8k/yd6V5+ftqm26gXvANAf4QZSSPD+GG9GXvd6jN2PKbKbLMcgEy2
40
+ Gue9jErvpOaBbuFWfQ52yTHvnRsLbjQ7mYh1dZAZie1rIXZ+a3LQ1zjlixESlAp0
41
+ kbOkHC19bhIFny/NRBOdSf0xfW4ezCyxn7obhFNF7LZrmiRq/zRsKY0pHRidH3nd
42
+ 5z4zgh1rLRqf0Zel2DPnWouGdOUG6Z2239a8mTk6Cqt89c+VF9etMTiAGrpmWbTK
43
+ HHEGczzPBL7suzpYypiXbTp1AymFo36a1K4QSLhEg3a6pPMtOFCvksPRKkG/3h+H
44
+ +9zwzhDoCNpOppr5rA9h2muDlDlSxbOyrM6qwIyw+7WrwL3e/rZHHYwr+7Yn9kVm
45
+ MPDi+twVLqlndIn+UZMy4Ksu6mUejSlksUWbTc2Dd2E7z4NFz7p6EC8=
46
+ -----END ENCRYPTED PRIVATE KEY-----
@@ -0,0 +1,46 @@
1
+ Bag Attributes
2
+ friendlyName: client2
3
+ localKeyID: 54 69 6D 65 20 31 37 33 33 33 39 37 39 33 36 31 30 32
4
+ Key Attributes: <No Attributes>
5
+ -----BEGIN ENCRYPTED PRIVATE KEY-----
6
+ MIIHdTBfBgkqhkiG9w0BBQ0wUjAxBgkqhkiG9w0BBQwwJAQQ5VKl2GoPWlCQDc2M
7
+ mZINzgICCAAwDAYIKoZIhvcNAgkFADAdBglghkgBZQMEASoEEFouYsX+vbQT2naZ
8
+ g9t5OG4EggcQl51YlGIeFACn7mnH+YDwdi0ECLyHBQLaQz5XaVdeUQY/GGeIQpQf
9
+ gF+oTwZoTbLKDW6K7txo4WFv1TNHZTg2NnN7wYU0kAyeMH3DB4m+BZpVQz0lm5/8
10
+ tegKKaRlMe6Mx9fiRLfdCLJDXgakZRJkxphl6Rr/U42CmSSXvFVDoG5SO94knSoU
11
+ 3dzpNh1txqLy8EY2vUuYQ458ubWmMWlfi14ZOSTQgGp70EqW0YzzyJYpf+y+3NfK
12
+ JHW22RTDjEDwbCvVxdok/TQ3DFulIZmVWGpskDEGJmYwGHWZBUtQGRMKjlqQg6ZK
13
+ 6TPXLi9RLxDkW9429I6lhvkR/kFDvPnGzaqB+aGGVlTbvDLLCykgBUoJKEeHCrnI
14
+ hVR7+K/SFt+Jy3miVOotnsHmR7//YlmDSC7hqch86N9Ikvp4MMGgLOpPgcgy+Wzr
15
+ H4jlfYtKubm3ycaZX7QTtGvlv3vrT1uzA53rX8ERUXeD/KatvEdCEVbYPod45LoO
16
+ FU7Dv7FRnusFNQqSDATve5X8ILm8SfpXcR/XZS/U09I9XkVt1ocuz+81WZIrgBO4
17
+ LsjhusO7PAN7gp4CWtegDEMEo6TYxFUnWRip6Sbgq70Z9XOinVPt2hX8alVE4UBL
18
+ Hny1s4suTqAFKz8xGhSYXq/qBpjgFaP/e3ErdO859H11IDLptAe+QvmysZxYAHPi
19
+ A5PDq3oB/SFcVfYN0w63n9ToLzV0tQwi2fA4YnAoFXAwf2UD9vGkyf+ONFr1y6jI
20
+ w5QkXQ29di2eumg10BnUwrglqE8g7IVDtlvt3G4gWkxkQbNlDu7lr433xhIILMUH
21
+ jaFqFCwcLtDYul45N4NJrHTZLFahqDYFR9MbQPwag8z4SYVXiZ+eIF57wbXlgnS2
22
+ uT04TPqbfyImoTaysaQVGezmqWDhXei/JaunM/bz5+hm0XWrXW+5yfutkz2GMSNb
23
+ ULGEWbB6Fk1GG5EOZKUFKGBM2gJtzzfk5DOWozuJKrD15oajy/q859vKBfMbRdE5
24
+ Ozw6HXTR8BQAYc+8DxIfv+yFn5n7bacLWS+Ij+g5fAFy1RX0IpI3Ro3noRqr8C9u
25
+ c9vA9t597rK88AUK7J9s66grQc4Lz6ho8h34yvNT3XiRN2ModBj/tS3zRNkbK8VV
26
+ qyfxQBMKfRZzPb5LTV13tDJifzb1s9hfcrbxV7YhfupR6hbsL+eNvli4W8mKKmzx
27
+ QEZall77CI27QEvA2rcE7MdZNqIjg84FCv7K3znxJE8Tbc4ZaqUqP+6eVugPM0oe
28
+ 46tMXzatCHzZVC4oBEBZahK/te0xtq1VOT3j7laq8rP/+mZdjJeAknR7XWaBFB9w
29
+ mjUl1YhMbad4cLhQ2Rjv3N8Ck7K2m7JOfqMCQADjQEpvGBiNocjIcf7prW10iXLx
30
+ r41hq4/SikBvqcZxlA7bvNaUTCX4gPqfwsjYDjubT79RrPk9gu7TJX781NWtD1m0
31
+ 5f7JDdESZ2qTEBhL5oHIHjLmAFEvNSrk7mBrNJ57a1sAy5C9NrGMQ5PSah2/UyJ/
32
+ plYTMwUDdBMSA2wsyY0SzfeSFl8v2+bb0Z01+0FyppcVBjDuwc5XS9+Zw2xRBJcm
33
+ eLqqxoJEzMG1hNOw4eC3dvgSWNaaiekclhGAVLdzHs2HBB3eK6RUdcDxiY2vnRgE
34
+ jdAmLhosaepCx++5qPYennox/LB8oYlbMnC13SDw69ak6tVqzPszkUP4Sc/LVFck
35
+ v3zkTB/GIRQFvW0D6qQzrXp31CopoMVPphGbhoui/rgdoaAzQF6FuEPV6zEuNMzg
36
+ cXEMzzkhsFYfDnqgeHiWBXsGhHOz6HCaGdIAxqUlzeazvMAHhFhmHyeQYNcApDr0
37
+ bj1LX+4hCZxiPy3Gva50Cz4gEtxtX4rb8HSnmJX/XS0wKeQLBmgOn8Ut6iwUVukd
38
+ /O8EbPjHEb7MIkE+zLah//BpUA2GSBJF5V00zx8WpHC8RvGsyJCEoffM7143TFRT
39
+ rWKzB1+eHsI5WDAqkg5EqQyhHEotzgCreqZ6O5wj3W2fBQ6PC+Zn+jASHlSrq90u
40
+ TjP8JnvGD/7ezu2s3kHZlCTTl9BUJGcJHM6U34YvnStSjQeLtPHCXc8qvnJH/hqs
41
+ ojyl+l7A4KtKZUNyIxeY4t4Ns+Jh8QqMvWd1/vas1Zkq062hB4fPQIH3gD0tAKLg
42
+ /X5LJQhEQGceoDgBWWPPUmZKyeCpC2ThDzLXRYb3lNzkUWadG3GODpzQJy58mRHQ
43
+ Xv666W90/eP6hjuc7D5CPFluEh4seFkJ+AThMnnCjHX9C9nnYEfx28qfP46+Diw3
44
+ yMRbgUBCHhlmyKkTfG8/B9Q5wx/tKZraWwPgD+Shnb4nZRpW5Ts/EbpiPKM21mLd
45
+ 0Vpd2/+VJP3iAxnI+/1m/wW8ykaGlkD/GCFm7sCj128/e+Clwz/56XM=
46
+ -----END ENCRYPTED PRIVATE KEY-----
@@ -0,0 +1,168 @@
1
+ #!/bin/sh
2
+ set -e
3
+ CA_PASSWORD="${CA_PASSWORD:-use_strong_password_ca}"
4
+ CA_INTERMEDIATE_PASSWORD="${CA_INTERMEDIATE_PASSWORD:-use_strong_password_intermediate_ca}"
5
+ KEYSTORE_PASSWORD="${KEYSTORE_PASSWORD:-use_strong_password_keystore}"
6
+ TRUSTSTORE_PASSWORD="${TRUSTSTORE_PASSWORD:-use_strong_password_truststore}"
7
+ OUTPUT_FOLDER=${OUTPUT_FOLDER:-$( dirname "$0" )}
8
+ CNS=${@:-client}
9
+
10
+ cd ${OUTPUT_FOLDER}
11
+ CA_ROOT_KEY=${CA_ROOT_KEY:-caroot.key}
12
+ CA_ROOT_CRT=${CA_ROOT_CRT:-caroot.crt}
13
+ CA_INTERMEDIATE_KEY=intermediate.key
14
+ CA_INTERMEDIATE_CSR=intermediate.csr
15
+ CA_INTERMEDIATE_CRT=intermediate.crt
16
+
17
+ generate_ca_extfile() {
18
+ echo "# $1: Generate extfile"
19
+ cat << EOF > extfile
20
+ [req]
21
+ distinguished_name=dn
22
+ [ dn ]
23
+ CN=$1
24
+ [ ext ]
25
+ basicConstraints=CA:TRUE,pathlen:0
26
+ subjectKeyIdentifier = hash
27
+ authorityKeyIdentifier = keyid:always, issuer:always
28
+ keyUsage = critical, cRLSign, digitalSignature, keyCertSign
29
+ extendedKeyUsage = clientAuth
30
+ EOF
31
+ }
32
+
33
+ generate_client_certificate_extfile() {
34
+ local CN=$1
35
+ echo "# $CN: Generate extfile"
36
+ cat << EOF > extfile
37
+ [req]
38
+ distinguished_name = req_distinguished_name
39
+ x509_extensions = v3_req
40
+ prompt = no
41
+ [req_distinguished_name]
42
+ CN = $CN
43
+ [v3_req]
44
+ subjectAltName = @alt_names
45
+ [alt_names]
46
+ DNS.1 = $CN
47
+ DNS.2 = localhost
48
+ EOF
49
+ }
50
+
51
+ if [ ! -f $CA_ROOT_KEY -o ! -f $CA_ROOT_CRT ]; then
52
+ echo "# Generate CA"
53
+ generate_ca_extfile caroot
54
+ openssl req -new -x509 -config extfile -keyout $CA_ROOT_KEY \
55
+ -out $CA_ROOT_CRT -subj \
56
+ '/CN=caroot/OU=/O=/L=/ST=/C=' -passin "pass:${CA_PASSWORD}" \
57
+ -passout "pass:${CA_PASSWORD}"
58
+ fi
59
+
60
+ echo "# caintermediate: Generate CSR"
61
+ openssl req -new -keyout $CA_INTERMEDIATE_KEY \
62
+ -out $CA_INTERMEDIATE_CSR -subj \
63
+ '/CN=caintermediate/OU=/O=/L=/ST=/C=' \
64
+ -passin "pass:${CA_INTERMEDIATE_PASSWORD}" \
65
+ -passout "pass:${CA_INTERMEDIATE_PASSWORD}"
66
+
67
+ generate_ca_extfile caintermediate
68
+
69
+ echo "# caintermediate: Sign request"
70
+ openssl x509 -req -extfile extfile \
71
+ -passin "pass:${CA_PASSWORD}" \
72
+ -in "${CA_INTERMEDIATE_CSR}" \
73
+ -CA "${CA_ROOT_CRT}" \
74
+ -CAkey "${CA_ROOT_KEY}" \
75
+ -days 3650 \
76
+ -out "${CA_INTERMEDIATE_CRT}"
77
+
78
+ for CN in $CNS; do
79
+ for INTERMEDIATE in true false; do
80
+ INTERMEDIATE_PREFIX=""
81
+ if [ $INTERMEDIATE = "true" ]; then
82
+ INTERMEDIATE_PREFIX=".intermediate"
83
+ fi
84
+
85
+ KEYSTORE=${CN}.keystore${INTERMEDIATE_PREFIX}.p12
86
+ TRUSTSTORE=${CN}.truststore${INTERMEDIATE_PREFIX}.p12
87
+ CSR=${CN}${INTERMEDIATE_PREFIX}.csr
88
+ SIGNED_CRT=${CN}-ca-signed${INTERMEDIATE_PREFIX}.crt
89
+ CERTIFICATE=${CN}.certificate${INTERMEDIATE_PREFIX}.pem
90
+ KEY=${CN}${INTERMEDIATE_PREFIX}.key
91
+ # Get specific password for this CN
92
+ CN_KEYSTORE_PASSWORD="$(eval echo \$${CN}_KEYSTORE_PASSWORD)"
93
+ if [ -z "$CN_KEYSTORE_PASSWORD" ]; then
94
+ CN_KEYSTORE_PASSWORD=${KEYSTORE_PASSWORD}_$CN
95
+ fi
96
+
97
+ echo "# $CN: Generate Keystore"
98
+ keytool -genkey -noprompt \
99
+ -alias $CN \
100
+ -dname "CN=$CN,OU=,O=,L=,S=,C=" \
101
+ -ext "SAN=dns:$CN,dns:localhost" \
102
+ -keystore $KEYSTORE \
103
+ -keyalg RSA \
104
+ -storepass "${CN_KEYSTORE_PASSWORD}" \
105
+ -storetype pkcs12
106
+
107
+ echo "# $CN: Generate Truststore"
108
+ keytool -noprompt -keystore \
109
+ $TRUSTSTORE -alias caroot -import \
110
+ -file $CA_ROOT_CRT -storepass "${TRUSTSTORE_PASSWORD}"
111
+
112
+ echo "# $CN: Generate CSR"
113
+ keytool -keystore $KEYSTORE -alias $CN \
114
+ -certreq -file $CSR -storepass "${CN_KEYSTORE_PASSWORD}" \
115
+ -keypass "${CN_KEYSTORE_PASSWORD}" \
116
+ -ext "SAN=dns:$CN,dns:localhost"
117
+
118
+ generate_client_certificate_extfile $CN
119
+
120
+ echo "# $CN: Import root certificate"
121
+ keytool -noprompt -keystore $KEYSTORE \
122
+ -alias caroot -import -file $CA_ROOT_CRT -storepass "${CN_KEYSTORE_PASSWORD}"
123
+
124
+ if [ $INTERMEDIATE = "true" ]; then
125
+ echo "# $CN: Sign the certificate with the intermediate CA"
126
+ openssl x509 -req -CA $CA_INTERMEDIATE_CRT -CAkey $CA_INTERMEDIATE_KEY \
127
+ -in $CSR \
128
+ -out $SIGNED_CRT -days 9999 \
129
+ -CAcreateserial -passin "pass:${CA_INTERMEDIATE_PASSWORD}" \
130
+ -extensions v3_req -extfile extfile
131
+
132
+ echo "# $CN: Import intermediate CA certificate"
133
+ keytool -noprompt -keystore $KEYSTORE \
134
+ -alias caintermediate -import -file $CA_INTERMEDIATE_CRT \
135
+ -storepass "${CN_KEYSTORE_PASSWORD}"
136
+ else
137
+ echo "# $CN: Sign the certificate with the CA"
138
+ openssl x509 -req -CA $CA_ROOT_CRT -CAkey $CA_ROOT_KEY \
139
+ -in $CSR \
140
+ -out $SIGNED_CRT -days 9999 \
141
+ -CAcreateserial -passin "pass:${CA_PASSWORD}" \
142
+ -extensions v3_req -extfile extfile
143
+ fi
144
+
145
+ echo "# $CN: Import signed certificate"
146
+ keytool -noprompt -keystore $KEYSTORE -alias $CN \
147
+ -import -file $SIGNED_CRT -storepass "${CN_KEYSTORE_PASSWORD}" \
148
+ -ext "SAN=dns:$CN,dns:localhost"
149
+
150
+ # Delete imported certificates as they were only used to import the
151
+ # signed certificate.
152
+ keytool -delete -alias caroot -keystore $KEYSTORE \
153
+ -storepass "${CN_KEYSTORE_PASSWORD}"
154
+ if [ $INTERMEDIATE = "true" ]; then
155
+ keytool -delete -alias caintermediate -keystore $KEYSTORE \
156
+ -storepass "${CN_KEYSTORE_PASSWORD}"
157
+ fi
158
+
159
+ echo "# $CN: Export PEM certificate"
160
+ openssl pkcs12 -in "$KEYSTORE" -out "$CERTIFICATE" \
161
+ -nokeys -passin "pass:${CN_KEYSTORE_PASSWORD}"
162
+
163
+ echo "# $CN: Export PEM key"
164
+ openssl pkcs12 -in "$KEYSTORE" -out "$KEY" \
165
+ -nocerts -passin "pass:${CN_KEYSTORE_PASSWORD}" \
166
+ -passout "pass:${CN_KEYSTORE_PASSWORD}"
167
+ done
168
+ done
@@ -0,0 +1,12 @@
1
+ PROGRAMS?=fuzz_regex
2
+
3
+ all: $(PROGRAMS)
4
+
5
+
6
+ fuzz_%:
7
+ $(CC) -fsanitize=address -D WITH_MAIN -g -Wall \
8
+ -I../../src $@.c -o $@ ../../src/librdkafka.a
9
+
10
+
11
+ clean:
12
+ rm -f $(PROGRAMS)
@@ -0,0 +1,31 @@
1
+ # Fuzzing
2
+ librdkafka supports fuzzing by way of Libfuzzer and OSS-Fuzz. This is ongoing work.
3
+
4
+ ## Launching the fuzzers
5
+ The easiest way to launch the fuzzers are to go through OSS-Fuzz. The only prerequisite to this is having Docker installed.
6
+
7
+ With Docker installed, the following commands will build and run the fuzzers in this directory:
8
+
9
+ ```
10
+ git clone https://github.com/google/oss-fuzz
11
+ cd oss-fuzz
12
+ python3 infra/helper.py build_image librdkafka
13
+ python3 infra/helper.py build_fuzzers librdkafka
14
+ python3 infra/helper.py run_fuzzer librdkafka FUZZ_NAME
15
+ ```
16
+ where FUZZ_NAME references the name of the fuzzer. Currently the only fuzzer we have is fuzz_regex
17
+
18
+ Notice that the OSS-Fuzz `helper.py` script above will create a Docker image in which the code of librdkafka will be built. As such, depending on how you installed Docker, you may be asked to have root access (i.e. run with `sudo`).
19
+
20
+
21
+ ## Running a single reproducer
22
+
23
+ Download the reproducer file from the OSS-Fuzz issue tracker, then build
24
+ the failed test case by running `make` in this directory, and then
25
+ run the test case and pass it the reproducer files, e.g:
26
+
27
+ $ make
28
+ $ ./fuzz_regex ~/Downloads/clusterfuzz-testcase-...
29
+
30
+ **Note:** Some test cases, such as fuzz_regex, requires specific librdkafka
31
+ build configuration. See the test case source for details.
@@ -0,0 +1,74 @@
1
+ /*
2
+ * librdkafka - Apache Kafka C library
3
+ *
4
+ * Copyright (c) 2020-2022, Magnus Edenhill
5
+ * All rights reserved.
6
+ *
7
+ * Redistribution and use in source and binary forms, with or without
8
+ * modification, are permitted provided that the following conditions are met:
9
+ *
10
+ * 1. Redistributions of source code must retain the above copyright notice,
11
+ * this list of conditions and the following disclaimer.
12
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
13
+ * this list of conditions and the following disclaimer in the documentation
14
+ * and/or other materials provided with the distribution.
15
+ *
16
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
20
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26
+ * POSSIBILITY OF SUCH DAMAGE.
27
+ */
28
+
29
+
30
+ /**
31
+ * Fuzzer test case for the builtin regexp engine in src/regexp.c
32
+ *
33
+ * librdkafka must be built with --disable-regex-ext
34
+ */
35
+
36
+ #include "rd.h"
37
+
38
+ #include <stdlib.h>
39
+ #include <string.h>
40
+ #include <stdio.h>
41
+
42
+ #include "regexp.h"
43
+
44
+ int LLVMFuzzerTestOneInput(uint8_t *data, size_t size) {
45
+ /* wrap random data in a null-terminated string */
46
+ char *null_terminated = malloc(size + 1);
47
+ memcpy(null_terminated, data, size);
48
+ null_terminated[size] = '\0';
49
+
50
+ const char *error;
51
+ Reprog *p = re_regcomp(null_terminated, 0, &error);
52
+ if (p != NULL) {
53
+ re_regfree(p);
54
+ }
55
+
56
+ /* cleanup */
57
+ free(null_terminated);
58
+
59
+ return 0;
60
+ }
61
+
62
+ #if WITH_MAIN
63
+ #include "helpers.h"
64
+
65
+ int main(int argc, char **argv) {
66
+ int i;
67
+ for (i = 1; i < argc; i++) {
68
+ size_t size;
69
+ uint8_t *buf = read_file(argv[i], &size);
70
+ LLVMFuzzerTestOneInput(buf, size);
71
+ free(buf);
72
+ }
73
+ }
74
+ #endif
@@ -0,0 +1,90 @@
1
+ /*
2
+ * librdkafka - Apache Kafka C library
3
+ *
4
+ * Copyright (c) 2020-2022, Magnus Edenhill
5
+ * All rights reserved.
6
+ *
7
+ * Redistribution and use in source and binary forms, with or without
8
+ * modification, are permitted provided that the following conditions are met:
9
+ *
10
+ * 1. Redistributions of source code must retain the above copyright notice,
11
+ * this list of conditions and the following disclaimer.
12
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
13
+ * this list of conditions and the following disclaimer in the documentation
14
+ * and/or other materials provided with the distribution.
15
+ *
16
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
20
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26
+ * POSSIBILITY OF SUCH DAMAGE.
27
+ */
28
+
29
+ #ifndef _HELPERS_H_
30
+ #define _HELPERS_H_
31
+
32
+ #include <stdio.h>
33
+ #include <sys/stat.h>
34
+ #include <unistd.h>
35
+ #include <string.h>
36
+ #include <errno.h>
37
+
38
+
39
+ /**
40
+ * Fuzz program helpers
41
+ */
42
+
43
+ static __attribute__((unused)) uint8_t *read_file(const char *path,
44
+ size_t *sizep) {
45
+ int fd;
46
+ uint8_t *buf;
47
+ struct stat st;
48
+
49
+ if ((fd = open(path, O_RDONLY)) == -1) {
50
+ fprintf(stderr, "Failed to open %s: %s\n", path,
51
+ strerror(errno));
52
+ exit(2);
53
+ return NULL; /* NOTREACHED */
54
+ }
55
+
56
+ if (fstat(fd, &st) == -1) {
57
+ fprintf(stderr, "Failed to stat %s: %s\n", path,
58
+ strerror(errno));
59
+ close(fd);
60
+ exit(2);
61
+ return NULL; /* NOTREACHED */
62
+ }
63
+
64
+
65
+ buf = malloc(st.st_size + 1);
66
+ if (!buf) {
67
+ fprintf(stderr, "Failed to malloc %d bytes for %s\n",
68
+ (int)st.st_size, path);
69
+ close(fd);
70
+ exit(2);
71
+ return NULL; /* NOTREACHED */
72
+ }
73
+
74
+ buf[st.st_size] = '\0';
75
+
76
+ *sizep = read(fd, buf, st.st_size);
77
+ if (*sizep != st.st_size) {
78
+ fprintf(stderr, "Could only read %d/%d bytes from %s\n",
79
+ (int)*sizep, (int)st.st_size, path);
80
+ free(buf);
81
+ close(fd);
82
+ exit(2);
83
+ return NULL; /* NOTREACHED */
84
+ }
85
+
86
+ return buf;
87
+ }
88
+
89
+
90
+ #endif /* _HELPERS_H_ */