libmongocrypt-helper 1.12.0.0.1001 → 1.14.0.0.1001

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 (648) hide show
  1. checksums.yaml +4 -4
  2. data/ext/libmongocrypt/libmongocrypt/CHANGELOG.md +27 -0
  3. data/ext/libmongocrypt/libmongocrypt/CMakeLists.txt +15 -1
  4. data/ext/libmongocrypt/libmongocrypt/CODEOWNERS +3 -3
  5. data/ext/libmongocrypt/libmongocrypt/CONTRIBUTING.md +14 -0
  6. data/ext/libmongocrypt/libmongocrypt/Earthfile +50 -50
  7. data/ext/libmongocrypt/libmongocrypt/README.md +8 -17
  8. data/ext/libmongocrypt/libmongocrypt/bindings/python/CHANGELOG.rst +13 -0
  9. data/ext/libmongocrypt/libmongocrypt/bindings/python/CONTRIBUTING.md +34 -0
  10. data/ext/libmongocrypt/libmongocrypt/bindings/python/README.rst +1 -1
  11. data/ext/libmongocrypt/libmongocrypt/bindings/python/pymongocrypt/asynchronous/state_machine.py +6 -2
  12. data/ext/libmongocrypt/libmongocrypt/bindings/python/pymongocrypt/binding.py +57 -3
  13. data/ext/libmongocrypt/libmongocrypt/bindings/python/pymongocrypt/mongocrypt.py +40 -0
  14. data/ext/libmongocrypt/libmongocrypt/bindings/python/pymongocrypt/options.py +14 -0
  15. data/ext/libmongocrypt/libmongocrypt/bindings/python/pymongocrypt/synchronous/state_machine.py +6 -2
  16. data/ext/libmongocrypt/libmongocrypt/bindings/python/pymongocrypt/version.py +1 -1
  17. data/ext/libmongocrypt/libmongocrypt/bindings/python/sbom.json +8 -8
  18. data/ext/libmongocrypt/libmongocrypt/bindings/python/scripts/libmongocrypt-version.txt +1 -0
  19. data/ext/libmongocrypt/libmongocrypt/bindings/python/{release.sh → scripts/release.sh} +9 -3
  20. data/ext/libmongocrypt/libmongocrypt/bindings/python/{synchro.py → scripts/synchro.py} +16 -9
  21. data/ext/libmongocrypt/libmongocrypt/bindings/python/scripts/synchro.sh +8 -0
  22. data/ext/libmongocrypt/libmongocrypt/bindings/python/scripts/update-version.sh +27 -0
  23. data/ext/libmongocrypt/libmongocrypt/bindings/python/scripts/update_binding.py +78 -0
  24. data/ext/libmongocrypt/libmongocrypt/bindings/python/test/data/compact/success/encrypted-field-config-map.json +0 -1
  25. data/ext/libmongocrypt/libmongocrypt/bindings/python/test/data/encrypted-field-config-map.json +0 -2
  26. data/ext/libmongocrypt/libmongocrypt/bindings/python/test/test_mongocrypt.py +26 -11
  27. data/ext/libmongocrypt/libmongocrypt/cmake/FetchMongoC.cmake +4 -2
  28. data/ext/libmongocrypt/libmongocrypt/cmake/ImportBSON.cmake +3 -5
  29. data/ext/libmongocrypt/libmongocrypt/doc/releasing.md +37 -43
  30. data/ext/libmongocrypt/libmongocrypt/etc/calc_release_version.py +39 -13
  31. data/ext/libmongocrypt/libmongocrypt/etc/calc_release_version_selftest.sh +1 -1
  32. data/ext/libmongocrypt/libmongocrypt/etc/cyclonedx.sbom.json +9 -9
  33. data/ext/libmongocrypt/libmongocrypt/etc/format.sh +0 -2
  34. data/ext/libmongocrypt/libmongocrypt/etc/libbson-remove-GCC-diagnostic-in-functions.patch +158 -0
  35. data/ext/libmongocrypt/libmongocrypt/etc/libbson-remove-GCC-diagnostic-pragma.patch +3 -3
  36. data/ext/libmongocrypt/libmongocrypt/etc/purls.txt +1 -1
  37. data/ext/libmongocrypt/libmongocrypt/integrating.md +42 -11
  38. data/ext/libmongocrypt/libmongocrypt/kms-message/CMakeLists.txt +1 -1
  39. data/ext/libmongocrypt/libmongocrypt/kms-message/src/hexlify.c +5 -0
  40. data/ext/libmongocrypt/libmongocrypt/kms-message/src/hexlify.h +1 -1
  41. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_azure_request.c +1 -1
  42. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_crypto_windows.c +2 -2
  43. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_gcp_request.c +1 -1
  44. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_kmip_reader_writer.c +4 -2
  45. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_kmip_request.c +1 -2
  46. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_message.c +1 -1
  47. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_message_private.h +7 -3
  48. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_request.c +4 -4
  49. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_request_opt.c +1 -1
  50. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_request_str.c +2 -8
  51. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_request_str.h +9 -0
  52. data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_response_parser.c +0 -1
  53. data/ext/libmongocrypt/libmongocrypt/kms-message/src/sort.c +7 -3
  54. data/ext/libmongocrypt/libmongocrypt/kms-message/src/sort.h +2 -0
  55. data/ext/libmongocrypt/libmongocrypt/kms-message/test/test_kmip_reader_writer.c +13 -6
  56. data/ext/libmongocrypt/libmongocrypt/kms-message/test/test_kms_assert.h +29 -11
  57. data/ext/libmongocrypt/libmongocrypt/kms-message/test/test_kms_azure_online.c +3 -3
  58. data/ext/libmongocrypt/libmongocrypt/kms-message/test/test_kms_gcp_online.c +4 -4
  59. data/ext/libmongocrypt/libmongocrypt/kms-message/test/test_kms_kmip_request.c +4 -0
  60. data/ext/libmongocrypt/libmongocrypt/kms-message/test/test_kms_kmip_response.c +3 -0
  61. data/ext/libmongocrypt/libmongocrypt/kms-message/test/test_kms_kmip_response_parser.c +4 -0
  62. data/ext/libmongocrypt/libmongocrypt/kms-message/test/test_kms_online_util.c +1 -1
  63. data/ext/libmongocrypt/libmongocrypt/kms-message/test/test_kms_online_util.h +1 -1
  64. data/ext/libmongocrypt/libmongocrypt/kms-message/test/test_kms_request.c +50 -48
  65. data/ext/libmongocrypt/libmongocrypt/src/crypto/libcrypto.c +235 -65
  66. data/ext/libmongocrypt/libmongocrypt/src/crypto/none.c +1 -1
  67. data/ext/libmongocrypt/libmongocrypt/src/csfle-markup.cpp +4 -2
  68. data/ext/libmongocrypt/libmongocrypt/src/mc-dec128.h +2 -2
  69. data/ext/libmongocrypt/libmongocrypt/src/mc-dec128.test.cpp +2 -2
  70. data/ext/libmongocrypt/libmongocrypt/src/mc-efc-private.h +6 -4
  71. data/ext/libmongocrypt/libmongocrypt/src/mc-efc.c +44 -12
  72. data/ext/libmongocrypt/libmongocrypt/src/mc-fle-blob-subtype-private.h +5 -1
  73. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-encryption-placeholder-private.h +89 -8
  74. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-encryption-placeholder.c +346 -131
  75. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-find-equality-payload-v2.c +6 -18
  76. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-find-equality-payload.c +6 -18
  77. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-find-range-payload-private-v2.h +1 -1
  78. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-find-range-payload-v2.c +25 -26
  79. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-find-range-payload.c +2 -1
  80. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-find-text-payload-private.h +122 -0
  81. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-find-text-payload.c +477 -0
  82. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-insert-update-payload-private-v2.h +35 -3
  83. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-insert-update-payload-v2.c +193 -44
  84. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-insert-update-payload.c +6 -18
  85. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-payload-iev-private-v2.h +105 -7
  86. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-payload-iev-v2.c +386 -74
  87. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-payload-iev.c +13 -10
  88. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-payload-uev-common.c +3 -2
  89. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-rfds.c +7 -6
  90. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-tag-and-encrypted-metadata-block-private.h +7 -2
  91. data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-tag-and-encrypted-metadata-block.c +21 -3
  92. data/ext/libmongocrypt/libmongocrypt/src/mc-optional-private.h +1 -1
  93. data/ext/libmongocrypt/libmongocrypt/{bindings/java/mongocrypt/benchmarks/build.gradle.kts → src/mc-parse-utils-private.h} +10 -11
  94. data/ext/libmongocrypt/libmongocrypt/src/mc-parse-utils.c +48 -0
  95. data/ext/libmongocrypt/libmongocrypt/src/mc-range-edge-generation-private.h +5 -5
  96. data/ext/libmongocrypt/libmongocrypt/src/mc-range-edge-generation.c +15 -20
  97. data/ext/libmongocrypt/libmongocrypt/src/mc-range-encoding-private.h +4 -6
  98. data/ext/libmongocrypt/libmongocrypt/src/mc-range-encoding.c +9 -18
  99. data/ext/libmongocrypt/libmongocrypt/src/mc-range-mincover-generator.template.h +4 -5
  100. data/ext/libmongocrypt/libmongocrypt/src/mc-range-mincover-private.h +5 -9
  101. data/ext/libmongocrypt/libmongocrypt/src/mc-range-mincover.c +14 -19
  102. data/ext/libmongocrypt/libmongocrypt/src/mc-rangeopts-private.h +2 -4
  103. data/ext/libmongocrypt/libmongocrypt/src/mc-rangeopts.c +109 -119
  104. data/ext/libmongocrypt/libmongocrypt/src/mc-reader-private.h +2 -2
  105. data/ext/libmongocrypt/libmongocrypt/src/mc-reader.c +4 -2
  106. data/ext/libmongocrypt/libmongocrypt/src/mc-schema-broker-private.h +123 -0
  107. data/ext/libmongocrypt/libmongocrypt/src/mc-schema-broker.c +1065 -0
  108. data/ext/libmongocrypt/libmongocrypt/src/mc-str-encode-string-sets-private.h +95 -0
  109. data/ext/libmongocrypt/libmongocrypt/src/mc-str-encode-string-sets.c +304 -0
  110. data/ext/libmongocrypt/libmongocrypt/src/mc-text-search-str-encode-private.h +52 -0
  111. data/ext/libmongocrypt/libmongocrypt/src/mc-text-search-str-encode.c +324 -0
  112. data/ext/libmongocrypt/libmongocrypt/src/mc-tokens-private.h +130 -2
  113. data/ext/libmongocrypt/libmongocrypt/src/mc-tokens.c +159 -3
  114. data/ext/libmongocrypt/libmongocrypt/src/mc-writer-private.h +1 -1
  115. data/ext/libmongocrypt/libmongocrypt/src/mc-writer.c +4 -2
  116. data/ext/libmongocrypt/libmongocrypt/src/mlib/error.h +1 -1
  117. data/ext/libmongocrypt/libmongocrypt/src/mlib/int128.h +12 -1
  118. data/ext/libmongocrypt/libmongocrypt/src/mlib/int128.test.cpp +5 -0
  119. data/ext/libmongocrypt/libmongocrypt/src/mlib/path.h +5 -5
  120. data/ext/libmongocrypt/libmongocrypt/src/mlib/path.test.c +2 -5
  121. data/ext/libmongocrypt/libmongocrypt/src/mlib/str.h +65 -58
  122. data/ext/libmongocrypt/libmongocrypt/src/mlib/str.test.c +3 -3
  123. data/ext/libmongocrypt/libmongocrypt/src/mlib/thread.h +1 -1
  124. data/ext/libmongocrypt/libmongocrypt/src/mlib/user-check.h +1 -1
  125. data/ext/libmongocrypt/libmongocrypt/src/mlib/windows-lean.h +2 -0
  126. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-buffer-private.h +11 -0
  127. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-buffer.c +36 -3
  128. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-cache-collinfo-private.h +1 -1
  129. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-cache-collinfo.c +4 -0
  130. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-ciphertext-private.h +1 -1
  131. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-crypto-private.h +4 -4
  132. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-crypto.c +29 -25
  133. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-ctx-datakey.c +3 -2
  134. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-ctx-decrypt.c +14 -7
  135. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-ctx-encrypt.c +463 -900
  136. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-ctx-private.h +5 -19
  137. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-ctx-rewrap-many-datakey.c +12 -0
  138. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-ctx.c +5 -13
  139. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-dll-private.h +19 -2
  140. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-key-broker.c +9 -9
  141. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-kms-ctx.c +1 -1
  142. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-marking-private.h +3 -4
  143. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-marking.c +773 -584
  144. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-opts-private.h +0 -6
  145. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-opts.c +0 -1
  146. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-private.h +8 -13
  147. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-traverse-util.c +1 -1
  148. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-util.c +7 -2
  149. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt.c +53 -40
  150. data/ext/libmongocrypt/libmongocrypt/src/mongocrypt.h +17 -0
  151. data/ext/libmongocrypt/libmongocrypt/src/os_posix/os_dll.c +5 -1
  152. data/ext/libmongocrypt/libmongocrypt/src/os_posix/os_mutex.c +1 -1
  153. data/ext/libmongocrypt/libmongocrypt/src/os_win/os_dll.c +3 -1
  154. data/ext/libmongocrypt/libmongocrypt/src/os_win/os_mutex.c +1 -1
  155. data/ext/libmongocrypt/libmongocrypt/src/unicode/case-fold-map.c +1434 -0
  156. data/ext/libmongocrypt/libmongocrypt/src/unicode/diacritic-fold-map.c +2884 -0
  157. data/ext/libmongocrypt/libmongocrypt/src/unicode/fold.c +139 -0
  158. data/ext/libmongocrypt/libmongocrypt/src/unicode/fold.h +58 -0
  159. data/ext/libmongocrypt/libmongocrypt/test/crypt_shared-stub.cpp +0 -14
  160. data/ext/libmongocrypt/libmongocrypt/test/data/bulkWrite/unencrypted/payload.json +2 -2
  161. data/ext/libmongocrypt/libmongocrypt/test/data/cleanup/missing-key-id/collinfo.json +1 -0
  162. data/ext/libmongocrypt/libmongocrypt/test/data/cleanup/no-fields/collinfo.json +1 -0
  163. data/ext/libmongocrypt/libmongocrypt/test/data/cleanup/success/collinfo.json +1 -0
  164. data/ext/libmongocrypt/libmongocrypt/test/data/compact/anchor-pad/collinfo.json +1 -1
  165. data/ext/libmongocrypt/libmongocrypt/test/data/compact/anchor-pad/encrypted-payload-range-v2.json +20 -21
  166. data/ext/libmongocrypt/libmongocrypt/test/data/compact/missing-key-id/collinfo.json +2 -2
  167. data/ext/libmongocrypt/libmongocrypt/test/data/compact/no-fields/collinfo.json +1 -1
  168. data/ext/libmongocrypt/libmongocrypt/test/data/compact/no-range/collinfo.json +1 -1
  169. data/ext/libmongocrypt/libmongocrypt/test/data/compact/success/collinfo.json +1 -1
  170. data/ext/libmongocrypt/libmongocrypt/test/data/compact/success/encrypted-field-config-map.json +6 -2
  171. data/ext/libmongocrypt/libmongocrypt/test/data/compact/success/encrypted-payload-range-v2.json +20 -21
  172. data/ext/libmongocrypt/libmongocrypt/test/data/dollardb/omitted/cmd-to-mongocryptd.json +1 -2
  173. data/ext/libmongocrypt/libmongocrypt/test/data/dollardb/omitted/collinfo.json +2 -2
  174. data/ext/libmongocrypt/libmongocrypt/test/data/dollardb/omitted/encrypted-payload.json +2 -3
  175. data/ext/libmongocrypt/libmongocrypt/test/data/dollardb/omitted/mongocryptd-reply.json +1 -2
  176. data/ext/libmongocrypt/libmongocrypt/test/data/dollardb/preserved/cmd-to-mongocryptd.json +1 -2
  177. data/ext/libmongocrypt/libmongocrypt/test/data/dollardb/preserved/collinfo.json +2 -2
  178. data/ext/libmongocrypt/libmongocrypt/test/data/dollardb/preserved/encrypted-payload.json +2 -3
  179. data/ext/libmongocrypt/libmongocrypt/test/data/dollardb/preserved/mongocryptd-reply.json +1 -2
  180. data/ext/libmongocrypt/libmongocrypt/test/data/dollardb/preserved_empty/cmd-to-mongocryptd.json +1 -2
  181. data/ext/libmongocrypt/libmongocrypt/test/data/dollardb/preserved_empty/collinfo.json +2 -2
  182. data/ext/libmongocrypt/libmongocrypt/test/data/dollardb/preserved_empty/mongocryptd-reply.json +1 -2
  183. data/ext/libmongocrypt/libmongocrypt/test/data/dollardb/preserved_fle1/collinfo.json +2 -1
  184. data/ext/libmongocrypt/libmongocrypt/test/data/efc/efc-extraField.json +0 -1
  185. data/ext/libmongocrypt/libmongocrypt/test/data/efc/efc-missingKeyId.json +0 -1
  186. data/ext/libmongocrypt/libmongocrypt/test/data/efc/efc-oneField-badVersionSet.json +23 -0
  187. data/ext/libmongocrypt/libmongocrypt/test/data/efc/efc-oneField-goodVersionSet.json +23 -0
  188. data/ext/libmongocrypt/libmongocrypt/test/data/efc/efc-oneField.json +0 -1
  189. data/ext/libmongocrypt/libmongocrypt/test/data/efc/efc-textSearchFields-badVersionSet.json +48 -0
  190. data/ext/libmongocrypt/libmongocrypt/test/data/efc/efc-textSearchFields-goodVersionSet.json +48 -0
  191. data/ext/libmongocrypt/libmongocrypt/test/data/efc/efc-textSearchFields.json +47 -0
  192. data/ext/libmongocrypt/libmongocrypt/test/data/efc/efc-twoFields.json +0 -1
  193. data/ext/libmongocrypt/libmongocrypt/test/data/encrypted-field-config-map.json +1 -3
  194. data/ext/libmongocrypt/libmongocrypt/test/data/explicit-decrypt/FLE1DeterministicEncryptedValue.json +8 -0
  195. data/ext/libmongocrypt/libmongocrypt/test/data/explicit-decrypt/FLE1EncryptionPlaceholder.json +8 -0
  196. data/ext/libmongocrypt/libmongocrypt/test/data/explicit-decrypt/FLE1RandomEncryptedValue.json +8 -0
  197. data/ext/libmongocrypt/libmongocrypt/test/data/explicit-decrypt/FLE2EncryptionPlaceholder.json +8 -0
  198. data/ext/libmongocrypt/libmongocrypt/test/data/explicit-decrypt/FLE2FindEqualityPayloadV2.json +8 -0
  199. data/ext/libmongocrypt/libmongocrypt/test/data/explicit-decrypt/FLE2IndexedEqualityEncryptedValue.json +8 -0
  200. data/ext/libmongocrypt/libmongocrypt/test/data/explicit-decrypt/FLE2IndexedEqualityEncryptedValueV2.json +8 -0
  201. data/ext/libmongocrypt/libmongocrypt/test/data/explicit-decrypt/FLE2IndexedRangeEncryptedValue.json +8 -0
  202. data/ext/libmongocrypt/libmongocrypt/test/data/explicit-decrypt/FLE2IndexedRangeEncryptedValueV2.json +8 -0
  203. data/ext/libmongocrypt/libmongocrypt/test/data/explicit-decrypt/FLE2InsertUpdatePayload-RangeV1.json +8 -0
  204. data/ext/libmongocrypt/libmongocrypt/test/data/{fle2-explicit/insert-indexed.json → explicit-decrypt/FLE2InsertUpdatePayload.json} +1 -1
  205. data/ext/libmongocrypt/libmongocrypt/test/data/explicit-decrypt/FLE2InsertUpdatePayloadV2-RangeV1.json +8 -0
  206. data/ext/libmongocrypt/libmongocrypt/test/data/explicit-decrypt/FLE2InsertUpdatePayloadV2-RangeV2.json +8 -0
  207. data/ext/libmongocrypt/libmongocrypt/test/data/explicit-decrypt/FLE2InsertUpdatePayloadV2.json +8 -0
  208. data/ext/libmongocrypt/libmongocrypt/test/data/explicit-decrypt/FLE2UnindexedEncryptedValue.json +8 -0
  209. data/ext/libmongocrypt/libmongocrypt/test/data/explicit-decrypt/FLE2UnindexedEncryptedValueV2.json +8 -0
  210. data/ext/libmongocrypt/libmongocrypt/test/data/find-with-encryptionInformation.json +0 -1
  211. data/ext/libmongocrypt/libmongocrypt/test/data/fle1-explain/with-csfle/collinfo.json +2 -1
  212. data/ext/libmongocrypt/libmongocrypt/test/data/fle1-explain/with-mongocryptd/collinfo.json +2 -1
  213. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-bad-str-encode-version/bad-collinfo.json +26 -0
  214. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-bad-str-encode-version/bad-create-cmd-mongocryptd-reply.json +51 -0
  215. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-bad-str-encode-version/bad-create-cmd-to-mongocryptd.json +45 -0
  216. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-bad-str-encode-version/bad-create-cmd.json +18 -0
  217. data/ext/libmongocrypt/libmongocrypt/test/data/{fle2-find-range/int32/encrypted-field-map.json → fle2-bad-str-encode-version/bad-encrypted-field-config-map.json} +7 -12
  218. data/ext/libmongocrypt/libmongocrypt/test/data/{fle2-insert → fle2-bad-str-encode-version}/encrypted-payload.json +4 -4
  219. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-create/cmd-to-mongocryptd.json +1 -2
  220. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-create/encrypted-field-config-map.json +1 -2
  221. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-create-encrypted-collection/cmd-to-mongocryptd.json +44 -0
  222. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-create-encrypted-collection/cmd.json +17 -0
  223. data/ext/libmongocrypt/libmongocrypt/test/data/{fle2-find-equality/encrypted-field-map.json → fle2-create-encrypted-collection/encrypted-field-config-map.json} +9 -8
  224. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-create-encrypted-collection/encrypted-payload.json +17 -0
  225. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-create-encrypted-collection/mongocryptd-reply.json +50 -0
  226. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-create-encrypted-collection-encrypted-fields-unset-str-encode-version/cmd-to-mongocryptd.json +45 -0
  227. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-create-encrypted-collection-encrypted-fields-unset-str-encode-version/mongocryptd-reply.json +51 -0
  228. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-create-encrypted-collection-with-str-encode-version/cmd-to-mongocryptd.json +46 -0
  229. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-create-encrypted-collection-with-str-encode-version/cmd.json +18 -0
  230. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-create-encrypted-collection-with-str-encode-version/encrypted-field-config-map.json +25 -0
  231. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-create-encrypted-collection-with-str-encode-version/encrypted-payload.json +18 -0
  232. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-create-encrypted-collection-with-str-encode-version/mongocryptd-reply.json +52 -0
  233. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-delete/empty/collinfo.json +1 -1
  234. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-delete/empty/encrypted-field-config-map.json +0 -1
  235. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-delete/empty/encrypted-payload-v2.json +57 -59
  236. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-delete/empty/mongocryptd-reply.json +63 -64
  237. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-delete/success/collinfo.json +1 -1
  238. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-delete/success/encrypted-field-config-map.json +0 -1
  239. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-delete/success/encrypted-payload-v2.json +64 -66
  240. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-delete/success/mongocryptd-reply.json +69 -70
  241. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-explain/with-csfle/collinfo.json +1 -1
  242. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-explain/with-csfle/encrypted-payload.json +1 -2
  243. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-explain/with-mongocryptd/cmd-to-mongocryptd.json +1 -2
  244. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-explain/with-mongocryptd/collinfo.json +2 -2
  245. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-explain/with-mongocryptd/encrypted-payload.json +2 -3
  246. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-explain/with-mongocryptd/mongocryptd-reply.json +1 -2
  247. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-explicit/cmd-to-mongocryptd.json +0 -1
  248. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-explicit/cmd-to-mongod.json +0 -1
  249. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-explicit/reply-from-mongocryptd.json +0 -1
  250. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/date-v2/encrypted-field-map.json +1 -1
  251. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/date-v2/encrypted-payload.json +6 -4
  252. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/date-v2/mongocryptd-reply.json +1 -1
  253. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/decimal128-precision-v2/encrypted-field-map.json +1 -1
  254. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/decimal128-precision-v2/encrypted-payload.json +6 -4
  255. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/decimal128-precision-v2/mongocryptd-reply.json +2 -2
  256. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/decimal128-v2/encrypted-field-map.json +1 -1
  257. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/decimal128-v2/encrypted-payload.json +6 -4
  258. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/decimal128-v2/mongocryptd-reply.json +1 -1
  259. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/double-precision-v2/encrypted-payload.json +14 -6
  260. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/double-v2/encrypted-field-map.json +1 -1
  261. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/double-v2/encrypted-payload.json +6 -4
  262. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/double-v2/mongocryptd-reply.json +1 -1
  263. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/int32-v2/encrypted-field-map.json +1 -1
  264. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/int32-v2/encrypted-payload.json +6 -4
  265. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/int32-v2/mongocryptd-reply.json +1 -1
  266. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/int64-v2/encrypted-field-map.json +1 -1
  267. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/int64-v2/encrypted-payload.json +6 -4
  268. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/int64-v2/mongocryptd-reply.json +1 -1
  269. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range-explicit/double/encrypted-payload-v2.json +1 -1
  270. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range-explicit/double-precision/encrypted-payload-v2.json +1 -1
  271. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range-explicit/int32/encrypted-payload-v2.json +1 -1
  272. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range-explicit/int32-openinterval/encrypted-payload-v2.json +1 -1
  273. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/date-v2/encrypted-field-map.json +1 -1
  274. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/date-v2/encrypted-payload.json +6 -4
  275. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/date-v2/mongocryptd-reply.json +1 -1
  276. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/decimal128-precision-v2/encrypted-field-map.json +1 -1
  277. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/decimal128-precision-v2/encrypted-payload.json +6 -4
  278. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/decimal128-precision-v2/mongocryptd-reply.json +1 -1
  279. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/decimal128-v2/encrypted-field-map.json +1 -1
  280. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/decimal128-v2/encrypted-payload.json +6 -4
  281. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/decimal128-v2/mongocryptd-reply.json +1 -1
  282. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/double-precision-v2/encrypted-payload.json +14 -6
  283. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/double-v2/encrypted-field-map.json +1 -1
  284. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/double-v2/encrypted-payload.json +6 -4
  285. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/double-v2/mongocryptd-reply.json +1 -1
  286. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/int32/encrypted-field-map.json +0 -1
  287. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/int32-v2/encrypted-field-map.json +1 -1
  288. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/int32-v2/encrypted-payload.json +3 -3
  289. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/int32-v2/mongocryptd-reply.json +1 -1
  290. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/int64-v2/encrypted-field-map.json +1 -1
  291. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/int64-v2/encrypted-payload.json +6 -4
  292. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/int64-v2/mongocryptd-reply.json +1 -1
  293. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range-explicit/double/encrypted-payload-v2.json +1 -1
  294. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range-explicit/double-precision/encrypted-payload-v2.json +1 -1
  295. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range-explicit/int32/encrypted-payload-v2.json +1 -1
  296. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range-explicit/sparsity-2/encrypted-payload-v2.json +1 -1
  297. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-text-search/cmd.json +9 -0
  298. data/ext/libmongocrypt/libmongocrypt/test/data/{fle2-find-range/double → fle2-insert-text-search}/encrypted-field-map.json +10 -9
  299. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-text-search/encrypted-payload.json +47 -0
  300. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-text-search/mongocryptd-reply.json +55 -0
  301. data/ext/libmongocrypt/libmongocrypt/test/data/{fle2-find-range/double-precision → fle2-insert-text-search-with-str-encode-version}/encrypted-field-map.json +12 -13
  302. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-text-search-with-str-encode-version/encrypted-payload.json +47 -0
  303. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-text-search-with-str-encode-version/mongocryptd-reply.json +55 -0
  304. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-v2-with-str-encode-version/cmd.json +9 -0
  305. data/ext/libmongocrypt/libmongocrypt/test/data/{fle2-insert → fle2-insert-v2-with-str-encode-version}/encrypted-field-map.json +2 -2
  306. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-v2-with-str-encode-version/encrypted-payload.json +40 -0
  307. data/ext/libmongocrypt/libmongocrypt/test/data/{fle2-insert → fle2-insert-v2-with-str-encode-version}/mongocryptd-reply.json +2 -2
  308. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-text-search-create-encrypted-collection/cmd-to-mongocryptd.json +55 -0
  309. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-text-search-create-encrypted-collection/cmd.json +22 -0
  310. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-text-search-create-encrypted-collection/encrypted-field-config-map.json +29 -0
  311. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-text-search-create-encrypted-collection/encrypted-payload.json +23 -0
  312. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-text-search-create-encrypted-collection/mongocryptd-reply.json +61 -0
  313. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-text-search-create-encrypted-collection-with-str-encode-version/cmd-to-mongocryptd.json +56 -0
  314. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-text-search-create-encrypted-collection-with-str-encode-version/cmd.json +23 -0
  315. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-text-search-create-encrypted-collection-with-str-encode-version/encrypted-field-config-map.json +30 -0
  316. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-text-search-create-encrypted-collection-with-str-encode-version/encrypted-payload.json +23 -0
  317. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-text-search-create-encrypted-collection-with-str-encode-version/mongocryptd-reply.json +62 -0
  318. data/ext/libmongocrypt/libmongocrypt/test/data/iev-v2/FLECrudTest-insertOneText.json +20 -0
  319. data/ext/libmongocrypt/libmongocrypt/test/data/iev-v2/FLECrudTest-insertOneTextLarge.json +930 -0
  320. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/csfle/cmd-to-mongocryptd.json +60 -0
  321. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/csfle/cmd.json +14 -0
  322. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/csfle/collInfo-c1.json +39 -0
  323. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/csfle/collInfo-c2.json +39 -0
  324. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/csfle-facet/cmd.json +20 -0
  325. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/csfle-mismatch/cmd.json +14 -0
  326. data/ext/libmongocrypt/libmongocrypt/{bindings/java/mongocrypt/src/test/resources/collection-info.json → test/data/lookup/csfle-mismatch/collInfo-c1.json} +13 -11
  327. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/csfle-mismatch/collInfo-c3.json +39 -0
  328. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/csfle-nested/cmd.json +24 -0
  329. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/csfle-only-schemaMap/cmd-to-mongocryptd.json +60 -0
  330. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/csfle-only-schemaMap/cmd.json +14 -0
  331. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/csfle-only-schemaMap/schemaMap.json +40 -0
  332. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/csfle-schemaMap/cmd-to-mongocryptd.json +60 -0
  333. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/csfle-schemaMap/cmd.json +14 -0
  334. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/csfle-schemaMap/collInfo-c1.json +39 -0
  335. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/csfle-schemaMap/schemaMap.json +21 -0
  336. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/csfle-self/cmd-to-mongocryptd.json +34 -0
  337. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/csfle-self/cmd.json +14 -0
  338. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/csfle-self/collInfo-c1.json +39 -0
  339. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/csfle-sibling/cmd-to-mongocryptd.json +49 -0
  340. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/csfle-sibling/cmd.json +14 -0
  341. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/csfle-sibling/collInfo-c1.json +39 -0
  342. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/csfle-sibling/collInfo-c2.json +29 -0
  343. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/csfle-sibling/reply-from-mongocryptd.json +18 -0
  344. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/csfle-unionWith/cmd.json +21 -0
  345. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/csfle-view/cmd.json +14 -0
  346. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/csfle-view/collInfo-c1.json +39 -0
  347. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/csfle-view/collInfo-v1.json +11 -0
  348. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/csfle/csfle/cmd-to-mongocryptd.json +65 -0
  349. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/csfle/csfle/cmd-to-mongod.json +26 -0
  350. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/csfle/csfle/cmd.json +19 -0
  351. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/csfle/csfle/collInfo-c1.json +39 -0
  352. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/csfle/csfle/collInfo-c2.json +39 -0
  353. data/ext/libmongocrypt/libmongocrypt/{bindings/java/mongocrypt/src/test/resources/keys/ABCDEFAB123498761234123456789012-local-document.json → test/data/lookup/mixed/csfle/csfle/key-doc.json} +4 -4
  354. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/csfle/csfle/reply-from-mongocryptd.json +33 -0
  355. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/csfle/no-schema/cmd-to-mongocryptd.json +47 -0
  356. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/csfle/no-schema/cmd-to-mongod.json +26 -0
  357. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/csfle/no-schema/cmd.json +19 -0
  358. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/csfle/no-schema/collInfo-c1.json +39 -0
  359. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/csfle/no-schema/collInfo-c2.json +17 -0
  360. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/csfle/no-schema/key-doc.json +30 -0
  361. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/csfle/no-schema/reply-from-mongocryptd.json +33 -0
  362. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/csfle/qe/cmd-to-mongocryptd.json +70 -0
  363. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/csfle/qe/cmd.json +19 -0
  364. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/csfle/qe/collInfo-c1.json +39 -0
  365. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/csfle/qe/collInfo-c2.json +42 -0
  366. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/no-schema/csfle/cmd-to-mongocryptd.json +47 -0
  367. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/no-schema/csfle/cmd-to-mongod.json +26 -0
  368. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/no-schema/csfle/cmd.json +19 -0
  369. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/no-schema/csfle/collInfo-c1.json +17 -0
  370. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/no-schema/csfle/collInfo-c2.json +39 -0
  371. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/no-schema/csfle/key-doc.json +30 -0
  372. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/no-schema/csfle/reply-from-mongocryptd.json +33 -0
  373. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/no-schema/no-schema/cmd-to-mongocryptd.json +29 -0
  374. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/no-schema/no-schema/cmd-to-mongod.json +19 -0
  375. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/no-schema/no-schema/cmd.json +19 -0
  376. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/no-schema/no-schema/collInfo-c1.json +17 -0
  377. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/no-schema/no-schema/collInfo-c2.json +17 -0
  378. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/no-schema/no-schema/reply-from-mongocryptd.json +26 -0
  379. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/no-schema/qe/cmd-to-mongocryptd.json +53 -0
  380. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/no-schema/qe/cmd-to-mongod.json +58 -0
  381. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/no-schema/qe/cmd.json +19 -0
  382. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/no-schema/qe/collInfo-c1.json +17 -0
  383. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/no-schema/qe/collInfo-c2.json +42 -0
  384. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/no-schema/qe/key-doc.json +30 -0
  385. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/no-schema/qe/reply-from-mongocryptd.json +65 -0
  386. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/qe/csfle/cmd-to-mongocryptd.json +70 -0
  387. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/qe/csfle/cmd.json +19 -0
  388. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/qe/csfle/collInfo-c1.json +42 -0
  389. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/qe/csfle/collInfo-c2.json +39 -0
  390. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/qe/no-schema/cmd-to-mongocryptd.json +53 -0
  391. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/qe/no-schema/cmd-to-mongod.json +56 -0
  392. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/qe/no-schema/cmd.json +19 -0
  393. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/qe/no-schema/collInfo-c1.json +42 -0
  394. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/qe/no-schema/collInfo-c2.json +17 -0
  395. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/qe/no-schema/key-doc.json +30 -0
  396. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/qe/no-schema/reply-from-mongocryptd.json +63 -0
  397. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/qe/qe/cmd-to-mongocryptd.json +66 -0
  398. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/qe/qe/cmd-to-mongod.json +71 -0
  399. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/qe/qe/cmd.json +19 -0
  400. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/qe/qe/collInfo-c1.json +42 -0
  401. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/qe/qe/collInfo-c2.json +42 -0
  402. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/qe/qe/key-doc.json +30 -0
  403. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/qe/qe/reply-from-mongocryptd.json +78 -0
  404. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/qe/cmd-to-mongocryptd.json +61 -0
  405. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/qe/cmd-to-mongod.json +14 -0
  406. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/qe/cmd.json +14 -0
  407. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/qe/collInfo-c1.json +42 -0
  408. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/qe/collInfo-c2.json +42 -0
  409. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/qe/reply-from-mongocryptd.json +68 -0
  410. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/qe-encryptedFieldsMap/cmd-to-mongocryptd.json +66 -0
  411. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/qe-encryptedFieldsMap/cmd-to-mongod.json +71 -0
  412. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/qe-encryptedFieldsMap/cmd.json +19 -0
  413. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/qe-encryptedFieldsMap/collInfo-c1.json +42 -0
  414. data/ext/libmongocrypt/libmongocrypt/test/data/{fle2-insert-unindexed/encrypted-field-map.json → lookup/qe-encryptedFieldsMap/encryptedFieldsMap.json} +6 -7
  415. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/qe-encryptedFieldsMap/key-doc.json +30 -0
  416. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/qe-encryptedFieldsMap/reply-from-mongocryptd.json +78 -0
  417. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/qe-self/cmd-to-mongocryptd.json +46 -0
  418. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/qe-self/cmd-to-mongod.json +53 -0
  419. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/qe-self/cmd.json +19 -0
  420. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/qe-self/collInfo-c1.json +42 -0
  421. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/qe-self/key-doc.json +30 -0
  422. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/qe-self/reply-from-mongocryptd.json +58 -0
  423. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/qe-with-payload/cmd-to-mongocryptd.json +66 -0
  424. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/qe-with-payload/cmd-to-mongod.json +75 -0
  425. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/qe-with-payload/cmd.json +19 -0
  426. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/qe-with-payload/collInfo-c1.json +42 -0
  427. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/qe-with-payload/collInfo-c2.json +42 -0
  428. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/qe-with-payload/key-doc.json +30 -0
  429. data/ext/libmongocrypt/libmongocrypt/test/data/lookup/qe-with-payload/reply-from-mongocryptd.json +78 -0
  430. data/ext/libmongocrypt/libmongocrypt/test/data/{fle2-create/mongocryptd-ismaster.json → mongocryptd-ismaster-17.json} +1 -1
  431. data/ext/libmongocrypt/libmongocrypt/test/data/mongocryptd-ismaster-26.json +12 -0
  432. data/ext/libmongocrypt/libmongocrypt/test/data/schema-broker/collinfo-encryptedFields.json +42 -0
  433. data/ext/libmongocrypt/libmongocrypt/test/data/schema-broker/collinfo-encryptedFields2.json +42 -0
  434. data/ext/libmongocrypt/libmongocrypt/test/data/schema-broker/collinfo-jsonSchema.json +43 -0
  435. data/ext/libmongocrypt/libmongocrypt/test/data/schema-broker/collinfo-noSchema.json +21 -0
  436. data/ext/libmongocrypt/libmongocrypt/test/data/schema-broker/create-with-jsonSchema.json +24 -0
  437. data/ext/libmongocrypt/libmongocrypt/test/data/schema-broker/encryptedFields.json +20 -0
  438. data/ext/libmongocrypt/libmongocrypt/test/data/schema-broker/encryptedFields2.json +20 -0
  439. data/ext/libmongocrypt/libmongocrypt/test/data/schema-broker/encryptedFieldsMap.json +42 -0
  440. data/ext/libmongocrypt/libmongocrypt/test/data/schema-broker/jsonSchema.json +19 -0
  441. data/ext/libmongocrypt/libmongocrypt/test/data/schema-broker/jsonSchema2.json +19 -0
  442. data/ext/libmongocrypt/libmongocrypt/test/data/schema-broker/schemaMap.json +40 -0
  443. data/ext/libmongocrypt/libmongocrypt/test/data/tokens/mc.json +36 -2
  444. data/ext/libmongocrypt/libmongocrypt/test/data/tokens/server.json +36 -2
  445. data/ext/libmongocrypt/libmongocrypt/test/example-state-machine.c +5 -5
  446. data/ext/libmongocrypt/libmongocrypt/test/test-dll.cpp +11 -5
  447. data/ext/libmongocrypt/libmongocrypt/test/test-gcp-auth.c +2 -2
  448. data/ext/libmongocrypt/libmongocrypt/test/test-mc-efc.c +74 -6
  449. data/ext/libmongocrypt/libmongocrypt/test/test-mc-fle2-encryption-placeholder.c +457 -0
  450. data/ext/libmongocrypt/libmongocrypt/test/test-mc-fle2-find-equality-payload-v2.c +20 -1
  451. data/ext/libmongocrypt/libmongocrypt/test/test-mc-fle2-find-range-payload-v2.c +2 -18
  452. data/ext/libmongocrypt/libmongocrypt/test/test-mc-fle2-find-text-payload.c +320 -0
  453. data/ext/libmongocrypt/libmongocrypt/test/test-mc-fle2-payload-iev-v2.c +286 -24
  454. data/ext/libmongocrypt/libmongocrypt/test/test-mc-fle2-payload-iev.c +1 -1
  455. data/ext/libmongocrypt/libmongocrypt/test/test-mc-fle2-payload-iup-v2.c +24 -17
  456. data/ext/libmongocrypt/libmongocrypt/test/test-mc-fle2-payload-iup.c +24 -1
  457. data/ext/libmongocrypt/libmongocrypt/test/test-mc-fle2-payload-uev.c +2 -2
  458. data/ext/libmongocrypt/libmongocrypt/test/test-mc-fle2-rfds.c +10 -7
  459. data/ext/libmongocrypt/libmongocrypt/test/test-mc-fle2-tag-and-encrypted-metadata-block.c +36 -1
  460. data/ext/libmongocrypt/libmongocrypt/test/test-mc-range-edge-generation.c +12 -17
  461. data/ext/libmongocrypt/libmongocrypt/test/test-mc-range-encoding.c +58 -63
  462. data/ext/libmongocrypt/libmongocrypt/test/test-mc-range-mincover.c +69 -85
  463. data/ext/libmongocrypt/libmongocrypt/test/test-mc-rangeopts.c +7 -22
  464. data/ext/libmongocrypt/libmongocrypt/test/test-mc-reader.c +5 -5
  465. data/ext/libmongocrypt/libmongocrypt/test/test-mc-schema-broker.c +1124 -0
  466. data/ext/libmongocrypt/libmongocrypt/test/test-mc-text-search-str-encode.c +1336 -0
  467. data/ext/libmongocrypt/libmongocrypt/test/test-mc-tokens.c +165 -37
  468. data/ext/libmongocrypt/libmongocrypt/test/test-mc-writer.c +10 -10
  469. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-assert-match-bson.c +16 -21
  470. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-assert.h +55 -26
  471. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-buffer.c +29 -4
  472. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-cache.c +5 -4
  473. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-ciphertext.c +13 -13
  474. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-cleanup.c +49 -55
  475. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-compact.c +64 -67
  476. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-crypto-hooks.c +19 -19
  477. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-crypto-std-hooks.c +4 -0
  478. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-crypto.c +41 -10
  479. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-csfle-lib.c +33 -2
  480. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-ctx-decrypt.c +247 -149
  481. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-ctx-encrypt.c +1342 -1229
  482. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-ctx-rewrap-many-datakey.c +28 -1
  483. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-ctx-setopt.c +50 -91
  484. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-datakey.c +1 -1
  485. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-dll.c +7 -4
  486. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-endpoint.c +1 -1
  487. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-kek.c +2 -2
  488. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-key-cache.c +9 -11
  489. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-kms-ctx.c +2 -2
  490. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-kms-responses.c +2 -2
  491. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-local-kms.c +1 -1
  492. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-log.c +2 -2
  493. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-marking.c +1101 -161
  494. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-status.c +1 -1
  495. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt.c +157 -82
  496. data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt.h +38 -6
  497. data/ext/libmongocrypt/libmongocrypt/test/test-named-kms-providers.c +11 -11
  498. data/ext/libmongocrypt/libmongocrypt/test/test-unicode-fold.c +101 -0
  499. data/ext/libmongocrypt/libmongocrypt/test/util/HELP.autogen +1 -1
  500. data/ext/libmongocrypt/libmongocrypt/test/util/csfle.c +1 -1
  501. data/ext/libmongocrypt/libmongocrypt/test/util/util.c +5 -5
  502. data/ext/libmongocrypt/libmongocrypt/test/util/util.h +7 -6
  503. data/lib/libmongocrypt_helper/version.rb +2 -2
  504. metadata +219 -165
  505. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/README.md +0 -36
  506. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/benchmarks/src/main/java/com/mongodb/crypt/benchmark/BenchmarkRunner.java +0 -217
  507. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/benchmarks/src/main/resources/keyDocument.json +0 -24
  508. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/build.gradle.kts +0 -354
  509. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/gradle/wrapper/gradle-wrapper.jar +0 -0
  510. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/gradle/wrapper/gradle-wrapper.properties +0 -5
  511. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/gradlew +0 -234
  512. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/gradlew.bat +0 -89
  513. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/settings.gradle.kts +0 -1
  514. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/BinaryHolder.java +0 -45
  515. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/CAPI.java +0 -1165
  516. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/CAPIHelper.java +0 -96
  517. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/CipherCallback.java +0 -92
  518. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/DisposableMemory.java +0 -31
  519. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/JULLogger.java +0 -130
  520. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/Logger.java +0 -144
  521. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/Loggers.java +0 -50
  522. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/MacCallback.java +0 -60
  523. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/MessageDigestCallback.java +0 -55
  524. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/MongoAwsKmsProviderOptions.java +0 -104
  525. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/MongoCrypt.java +0 -100
  526. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/MongoCryptContext.java +0 -137
  527. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/MongoCryptContextImpl.java +0 -164
  528. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/MongoCryptException.java +0 -67
  529. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/MongoCryptImpl.java +0 -423
  530. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/MongoCryptOptions.java +0 -284
  531. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/MongoCrypts.java +0 -38
  532. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/MongoDataKeyOptions.java +0 -125
  533. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/MongoExplicitEncryptOptions.java +0 -227
  534. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/MongoKeyDecryptor.java +0 -76
  535. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/MongoKeyDecryptorImpl.java +0 -105
  536. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/MongoLocalKmsProviderOptions.java +0 -83
  537. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/MongoRewrapManyDataKeyOptions.java +0 -104
  538. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/SLF4JLogger.java +0 -110
  539. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/SecureRandomCallback.java +0 -51
  540. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/SigningRSAESPKCSCallback.java +0 -76
  541. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/package-info.java +0 -18
  542. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/resources/META-INF/native-image/jni-config.json +0 -180
  543. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/resources/META-INF/native-image/reflect-config.json +0 -134
  544. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/java/com/mongodb/crypt/capi/MongoCryptTest.java +0 -389
  545. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/resources/command-reply.json +0 -13
  546. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/resources/command.json +0 -6
  547. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/resources/encrypted-command-reply.json +0 -16
  548. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/resources/encrypted-command.json +0 -11
  549. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/resources/encrypted-value.json +0 -6
  550. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/resources/fle2-find-range-explicit-v2/int32/encrypted-payload.json +0 -26
  551. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/resources/fle2-find-range-explicit-v2/int32/key-filter.json +0 -19
  552. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/resources/fle2-find-range-explicit-v2/int32/rangeopts.json +0 -14
  553. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/resources/fle2-find-range-explicit-v2/int32/value-to-encrypt.json +0 -20
  554. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/resources/json-schema.json +0 -15
  555. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/resources/key-document.json +0 -36
  556. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/resources/key-filter-keyAltName.json +0 -14
  557. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/resources/key-filter.json +0 -19
  558. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/resources/kms-reply.txt +0 -6
  559. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/resources/list-collections-filter.json +0 -3
  560. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/resources/mongocryptd-command.json +0 -22
  561. data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/resources/mongocryptd-reply.json +0 -18
  562. data/ext/libmongocrypt/libmongocrypt/bindings/python/libmongocrypt-version.txt +0 -1
  563. data/ext/libmongocrypt/libmongocrypt/bindings/python/strip_header.py +0 -50
  564. data/ext/libmongocrypt/libmongocrypt/bindings/python/update-sbom.sh +0 -14
  565. data/ext/libmongocrypt/libmongocrypt/etc/silk-create-asset-group.sh +0 -70
  566. data/ext/libmongocrypt/libmongocrypt/test/data/bulkWrite/jsonSchema/cmd.json +0 -20
  567. data/ext/libmongocrypt/libmongocrypt/test/data/cleanup/success/encrypted-payload.json +0 -29
  568. data/ext/libmongocrypt/libmongocrypt/test/data/collection-info-no-schema.json +0 -19
  569. data/ext/libmongocrypt/libmongocrypt/test/data/compact/no-range/encrypted-field-config-map.json +0 -47
  570. data/ext/libmongocrypt/libmongocrypt/test/data/compact/success/encrypted-payload.json +0 -29
  571. data/ext/libmongocrypt/libmongocrypt/test/data/fle1-collMod/insert/cmd.json +0 -8
  572. data/ext/libmongocrypt/libmongocrypt/test/data/fle1-collMod/insert/collinfo.json +0 -9
  573. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-create/ismaster-to-mongocryptd.json +0 -3
  574. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-delete/empty/encrypted-payload.json +0 -91
  575. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-delete/success/encrypted-payload.json +0 -98
  576. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-explicit/find-indexed-contentionFactor1.json +0 -8
  577. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-explicit/insert-indexed-contentionFactor1.json +0 -8
  578. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-explicit/insert-indexed-same-user-and-index-key.json +0 -8
  579. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-equality/cmd.json +0 -6
  580. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-equality/encrypted-payload.json +0 -41
  581. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-equality/mongocryptd-reply.json +0 -19
  582. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/date/cmd.json +0 -10
  583. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/date/encrypted-field-map.json +0 -28
  584. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/date/encrypted-payload.json +0 -42
  585. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/date/mongocryptd-reply.json +0 -50
  586. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/decimal128/cmd.json +0 -6
  587. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/decimal128/encrypted-field-map.json +0 -28
  588. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/decimal128/encrypted-payload.json +0 -42
  589. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/decimal128/mongocryptd-reply.json +0 -50
  590. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/decimal128-precision/cmd.json +0 -6
  591. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/decimal128-precision/encrypted-field-map.json +0 -31
  592. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/decimal128-precision/encrypted-payload.json +0 -51
  593. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/decimal128-precision/mongocryptd-reply.json +0 -59
  594. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/double/cmd.json +0 -8
  595. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/double/encrypted-payload.json +0 -42
  596. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/double/mongocryptd-reply.json +0 -50
  597. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/double-precision/cmd.json +0 -8
  598. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/double-precision/encrypted-payload.json +0 -45
  599. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/double-precision/mongocryptd-reply.json +0 -53
  600. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/int32/cmd.json +0 -8
  601. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/int32/encrypted-payload.json +0 -42
  602. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/int32/mongocryptd-reply.json +0 -50
  603. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/int64/cmd.json +0 -8
  604. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/int64/encrypted-field-map.json +0 -28
  605. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/int64/encrypted-payload.json +0 -42
  606. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/int64/mongocryptd-reply.json +0 -50
  607. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range-explicit/double/encrypted-payload.json +0 -26
  608. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range-explicit/double-precision/encrypted-payload.json +0 -26
  609. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range-explicit/int32/encrypted-payload.json +0 -26
  610. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range-explicit/int32-nominmax/encrypted-payload-v2.json +0 -26
  611. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range-explicit/int32-openinterval/encrypted-payload.json +0 -16
  612. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/date/cmd.json +0 -13
  613. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/date/encrypted-field-map.json +0 -28
  614. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/date/encrypted-payload.json +0 -45
  615. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/date/mongocryptd-reply.json +0 -53
  616. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/decimal128/cmd.json +0 -9
  617. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/decimal128/encrypted-field-map.json +0 -28
  618. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/decimal128/encrypted-payload.json +0 -45
  619. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/decimal128/mongocryptd-reply.json +0 -53
  620. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/decimal128-precision/cmd.json +0 -9
  621. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/decimal128-precision/encrypted-field-map.json +0 -31
  622. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/decimal128-precision/encrypted-payload.json +0 -54
  623. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/decimal128-precision/mongocryptd-reply.json +0 -62
  624. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/double/cmd.json +0 -11
  625. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/double/encrypted-field-map.json +0 -28
  626. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/double/encrypted-payload.json +0 -45
  627. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/double/mongocryptd-reply.json +0 -53
  628. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/double-precision/cmd.json +0 -11
  629. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/double-precision/encrypted-field-map.json +0 -31
  630. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/double-precision/encrypted-payload.json +0 -48
  631. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/double-precision/mongocryptd-reply.json +0 -56
  632. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/int32/encrypted-payload.json +0 -45
  633. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/int32/mongocryptd-reply.json +0 -53
  634. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/int64/cmd.json +0 -11
  635. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/int64/encrypted-field-map.json +0 -28
  636. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/int64/encrypted-payload.json +0 -45
  637. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/int64/mongocryptd-reply.json +0 -53
  638. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range-explicit/double/encrypted-payload.json +0 -8
  639. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range-explicit/double-precision/encrypted-payload.json +0 -8
  640. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range-explicit/int32-nominmax/encrypted-payload-v2.json +0 -8
  641. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range-explicit/sparsity-2/encrypted-payload.json +0 -8
  642. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-unindexed/cmd.json +0 -9
  643. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-unindexed/encrypted-payload.json +0 -14
  644. data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-unindexed/mongocryptd-reply.json +0 -46
  645. data/ext/libmongocrypt/libmongocrypt/test/data/schema.json +0 -19
  646. /data/ext/libmongocrypt/libmongocrypt/bindings/python/{build-manylinux-wheel.sh → scripts/build-manylinux-wheel.sh} +0 -0
  647. /data/ext/libmongocrypt/libmongocrypt/test/data/{fle2-explicit/find-indexed.json → explicit-decrypt/FLE2FindEqualityPayload.json} +0 -0
  648. /data/ext/libmongocrypt/libmongocrypt/test/data/{fle2-insert → fle2-insert-text-search-with-str-encode-version}/cmd.json +0 -0
@@ -21,7 +21,8 @@
21
21
  #define CHECK_AND_RETURN(x) \
22
22
  if (!(x)) { \
23
23
  return false; \
24
- }
24
+ } else \
25
+ ((void)0)
25
26
 
26
27
  #define CHECK_REMAINING_BUFFER_AND_RET(write_size) \
27
28
  if ((write_size) > writer->len - writer->pos) { \
@@ -30,7 +31,8 @@
30
31
  (writer->len - writer->pos), \
31
32
  (uint64_t)(write_size)); \
32
33
  return false; \
33
- }
34
+ } else \
35
+ ((void)0)
34
36
 
35
37
  void mc_writer_init(mc_writer_t *writer, uint8_t *ptr, uint64_t len, const char *parser_name) {
36
38
  BSON_ASSERT_PARAM(writer);
@@ -51,4 +51,4 @@ static inline mstr merror_system_error_string(int errn) {
51
51
  #endif
52
52
  }
53
53
 
54
- #endif // MLIB_ERROR_PRIVATE_H
54
+ #endif // MLIB_ERROR_PRIVATE_H
@@ -9,6 +9,12 @@
9
9
  #include <stdlib.h>
10
10
  #include <string.h>
11
11
 
12
+ // Deliberately using old-style casts for C and C++ compatibility.
13
+ #if defined(__cplusplus) && defined(__clang__)
14
+ _Pragma("clang diagnostic push");
15
+ _Pragma("clang diagnostic ignored \"-Wold-style-cast\"");
16
+ #endif
17
+
12
18
  MLIB_C_LINKAGE_BEGIN
13
19
 
14
20
  /**
@@ -496,7 +502,7 @@ static mlib_constexpr_fn mlib_int128_divmod_result mlib_int128_divmod(mlib_int12
496
502
  u[2] |= (uint32_t)(numer.r.lo >> (64 - d));
497
503
  u[4] |= (uint32_t)(numer.r.hi >> (64 - d));
498
504
  v[2] |= (uint32_t)(denom.r.lo >> (64 - d));
499
- };
505
+ }
500
506
 
501
507
  uint32_t q[2] = {0};
502
508
  if (has_three) {
@@ -644,4 +650,9 @@ static mlib_constexpr_fn mlib_int128_charbuf mlib_int128_format(mlib_int128 i) {
644
650
 
645
651
  MLIB_C_LINKAGE_END
646
652
 
653
+ // Deliberately using old-style casts for C and C++ compatibility.
654
+ #if defined(__cplusplus) && defined(__clang__)
655
+ _Pragma("clang diagnostic pop");
656
+ #endif
657
+
647
658
  #endif // MLIB_INT128_H_INCLUDED
@@ -10,6 +10,11 @@
10
10
  #include <thread>
11
11
  #include <vector>
12
12
 
13
+ // Deliberately using old-style casts for C and C++ compatibility.
14
+ #if defined(__clang__)
15
+ _Pragma("clang diagnostic ignored \"-Wold-style-cast\"");
16
+ #endif
17
+
13
18
  #if (defined(__GNUC__) && __GNUC__ < 7 && !defined(__clang__)) || (defined(_MSC_VER) && _MSC_VER < 1920)
14
19
  // Old GCC and old MSVC have partially-broken constexpr that prevents us from
15
20
  // properly using static_assert with from_string()
@@ -60,7 +60,7 @@ static inline char mpath_preferred_sep(mpath_format f) {
60
60
  * @return mstr A new string which must be freed with mstr_free()
61
61
  */
62
62
  static inline mstr mpath_current_path(void) {
63
- #if _WIN32
63
+ #if defined(_WIN32)
64
64
  while (1) {
65
65
  DWORD len = GetCurrentDirectoryW(0, NULL);
66
66
  wchar_t *wstr = calloc(sizeof(wchar_t), len);
@@ -76,12 +76,12 @@ static inline mstr mpath_current_path(void) {
76
76
  }
77
77
  #else
78
78
  mstr_mut mut = mstr_new(8096);
79
- char *p = getcwd(mut.data, mut.len);
79
+ char *p = getcwd(mut.raw.data, mut.raw.len);
80
80
  if (p == NULL) {
81
81
  mstr_free(mut.mstr);
82
82
  return MSTR_NULL;
83
83
  }
84
- mstr ret = mstr_copy_cstr(mut.data);
84
+ mstr ret = mstr_copy_cstr(mut.raw.data);
85
85
  mstr_free(mut.mstr);
86
86
  return ret;
87
87
  #endif
@@ -167,7 +167,7 @@ static inline mstr mpath_join(mstr_view base, mstr_view suffix, mpath_format f)
167
167
  // We must insert a path separator between the two strings
168
168
  assert(base.len <= SIZE_MAX - suffix.len - 1u);
169
169
  mstr_mut r = mstr_new(base.len + suffix.len + 1);
170
- char *p = r.data;
170
+ char *p = r.raw.data;
171
171
  memcpy(p, base.data, base.len);
172
172
  p += base.len;
173
173
  *p++ = mpath_preferred_sep(f);
@@ -255,7 +255,7 @@ static inline mstr_view mpath_relative_path(mstr_view path, mpath_format f) {
255
255
  static inline mstr mpath_to_format(mpath_format from, mstr_view path, mpath_format to) {
256
256
  mstr_mut ret = mstr_new(path.len);
257
257
  const char *p = path.data;
258
- char *out = ret.data;
258
+ char *out = ret.raw.data;
259
259
  const char *stop = path.data + path.len;
260
260
  for (; p != stop; ++p, ++out) {
261
261
  if (mpath_is_sep(*p, from)) {
@@ -1,8 +1,5 @@
1
1
  #include "./path.h"
2
2
 
3
- #define CHECK(Expr) \
4
- ((Expr) ? 0 : ((fprintf(stderr, "%s:%d: Check '%s' failed\n", __FILE__, __LINE__, #Expr), abort()), 0))
5
-
6
3
  #define TEST_DECOMP(Part, Given, Expect) \
7
4
  MSTR_ASSERT_EQ(mpath_##Part(mstrv_view_cstr(Given), MPATH_NATIVE), mstrv_view_cstr(Expect))
8
5
 
@@ -12,7 +9,7 @@ static void test_make_absolute(mpath_format f, const char *part, const char *bas
12
9
  mstr_free(result);
13
10
  }
14
11
 
15
- int main() {
12
+ int main(void) {
16
13
  mstr s = mstr_copy_cstr("/foo/bar/baz.txt");
17
14
  MSTR_ASSERT_EQ(mpath_parent(s.view, MPATH_NATIVE), mstrv_lit("/foo/bar"));
18
15
  MSTR_ASSERT_EQ(mpath_parent(mpath_parent(s.view, MPATH_NATIVE), MPATH_NATIVE), mstrv_lit("/foo"));
@@ -67,4 +64,4 @@ int main() {
67
64
  mstr_assign(&s, mpath_absolute(mstrv_lit("Z:/foo"), MPATH_POSIX));
68
65
 
69
66
  mstr_free(s);
70
- }
67
+ }
@@ -17,6 +17,12 @@
17
17
  #include <strings.h> /* For strncasecmp. */
18
18
  #endif
19
19
 
20
+ // Deliberately using old-style casts for C and C++ compatibility.
21
+ #if defined(__cplusplus) && defined(__clang__)
22
+ _Pragma("clang diagnostic push");
23
+ _Pragma("clang diagnostic ignored \"-Wold-style-cast\"");
24
+ #endif
25
+
20
26
  MLIB_C_LINKAGE_BEGIN
21
27
 
22
28
  /**
@@ -70,28 +76,26 @@ typedef struct mstr_view {
70
76
  * relinquish ownership of that `mstr` to the callee/caller, respectively.
71
77
  * Passing or returning an `mstr_view` is non-owning.
72
78
  */
73
- typedef struct mstr {
74
- union {
75
- struct {
76
- /**
77
- * @brief Pointer to the beginning of the code unit array.
78
- *
79
- * @note DO NOT MODIFY
80
- */
81
- const char *data;
82
- /**
83
- * @brief Length of the pointed-to code unit array
84
- *
85
- * @note DO NOT MODIFY
86
- */
87
- size_t len;
88
- };
89
-
79
+ typedef union mstr {
80
+ struct {
90
81
  /**
91
- * @brief A non-owning `mstr_view` of the string
82
+ * @brief Pointer to the beginning of the code unit array.
83
+ *
84
+ * @note DO NOT MODIFY
92
85
  */
93
- mstr_view view;
94
- };
86
+ const char *data;
87
+ /**
88
+ * @brief Length of the pointed-to code unit array
89
+ *
90
+ * @note DO NOT MODIFY
91
+ */
92
+ size_t len;
93
+ } raw;
94
+
95
+ /**
96
+ * @brief A non-owning `mstr_view` of the string
97
+ */
98
+ mstr_view view;
95
99
  } mstr;
96
100
 
97
101
  /**
@@ -100,34 +104,32 @@ typedef struct mstr {
100
104
  * Returned by @ref mstr_new(). Once initialization is complete, the result can
101
105
  * be used as an @ref mstr by accessing the @ref mstr_mut::mstr member.
102
106
  */
103
- typedef struct mstr_mut {
104
- union {
105
- struct {
106
- /**
107
- * @brief Pointer to the beginning of the mutable code unit array.
108
- *
109
- * @note DO NOT MODIFY THE POINTER VALUE. Only modify the pointed-to
110
- * characters.
111
- */
112
- char *data;
113
- /**
114
- * @brief Length of the pointed-to code unit array.
115
- *
116
- * @note DO NOT MODIFY
117
- */
118
- size_t len;
119
- };
120
- /// Convert the mutable string to an immutable string
121
- struct mstr mstr;
122
- /// Convert the mutable string to an immutable string view
123
- mstr_view view;
124
- };
107
+ typedef union mstr_mut {
108
+ struct {
109
+ /**
110
+ * @brief Pointer to the beginning of the mutable code unit array.
111
+ *
112
+ * @note DO NOT MODIFY THE POINTER VALUE. Only modify the pointed-to
113
+ * characters.
114
+ */
115
+ char *data;
116
+ /**
117
+ * @brief Length of the pointed-to code unit array.
118
+ *
119
+ * @note DO NOT MODIFY
120
+ */
121
+ size_t len;
122
+ } raw;
123
+ /// Convert the mutable string to an immutable string
124
+ union mstr mstr;
125
+ /// Convert the mutable string to an immutable string view
126
+ mstr_view view;
125
127
  } mstr_mut;
126
128
 
127
129
  /**
128
130
  * @brief A null @ref mstr
129
131
  */
130
- #define MSTR_NULL (MLIB_INIT(mstr){{{NULL, 0}}})
132
+ #define MSTR_NULL (MLIB_INIT(mstr){{NULL, 0}})
131
133
  /**
132
134
  * @brief A null @ref mstr_view
133
135
  */
@@ -153,7 +155,7 @@ typedef struct mstr_mut {
153
155
  static inline mstr_mut mstr_new(size_t len) {
154
156
  #ifndef __clang_analyzer__
155
157
  assert(len < SIZE_MAX);
156
- return MLIB_INIT(mstr_mut){{{(char *)calloc(1, len + 1), len}}};
158
+ return MLIB_INIT(mstr_mut){{(char *)calloc(1, len + 1), len}};
157
159
  #else
158
160
  // Clang-analyzer is smart enough to see the calloc(), but not smart enough
159
161
  // to link it to the free() in mstr_free()
@@ -195,7 +197,7 @@ static inline mstr_view mstrv_view_cstr(const char *s) {
195
197
  */
196
198
  static inline mstr mstr_copy_data(const char *s, size_t len) {
197
199
  mstr_mut r = mstr_new(len);
198
- memcpy(r.data, s, len);
200
+ memcpy(r.raw.data, s, len);
199
201
  return r.mstr;
200
202
  }
201
203
 
@@ -225,7 +227,7 @@ static inline mstr mstr_copy(mstr_view s) {
225
227
  * @param s The string to free
226
228
  */
227
229
  static inline void mstr_free(mstr s) {
228
- free((char *)s.data);
230
+ free((char *)s.raw.data);
229
231
  }
230
232
 
231
233
  /**
@@ -236,21 +238,21 @@ static inline void mstr_free(mstr s) {
236
238
  * @param new_len The new length of the string
237
239
  */
238
240
  static inline void mstrm_resize(mstr_mut *s, size_t new_len) {
239
- if (new_len <= s->len) {
240
- s->len = new_len;
241
+ if (new_len <= s->raw.len) {
242
+ s->raw.len = new_len;
241
243
  } else {
242
- const size_t old_len = s->len;
244
+ const size_t old_len = s->raw.len;
243
245
  #ifndef __clang_analyzer__
244
246
  // Clang-analyzer is smart enough to see the calloc(), but not smart
245
247
  // enough to link it to the free() in mstr_free()
246
248
  assert(new_len < SIZE_MAX);
247
- s->data = (char *)realloc((char *)s->data, new_len + 1);
249
+ s->raw.data = (char *)realloc((char *)s->raw.data, new_len + 1);
248
250
  #endif
249
- s->len = new_len;
251
+ s->raw.len = new_len;
250
252
  assert(new_len >= old_len);
251
- memset(s->data + old_len, 0, new_len - old_len);
253
+ memset(s->raw.data + old_len, 0, new_len - old_len);
252
254
  }
253
- s->data[new_len] = (char)0;
255
+ s->raw.data[new_len] = (char)0;
254
256
  }
255
257
 
256
258
  /**
@@ -369,7 +371,7 @@ static inline mstr mstr_splice(mstr_view s, size_t at, size_t del_count, mstr_vi
369
371
  assert(s.len - del_count <= SIZE_MAX - insert.len);
370
372
  const size_t new_size = s.len - del_count + insert.len;
371
373
  mstr_mut ret = mstr_new(new_size);
372
- char *p = ret.data;
374
+ char *p = ret.raw.data;
373
375
  memcpy(p, s.data, at);
374
376
  p += at;
375
377
  if (insert.data) {
@@ -451,7 +453,7 @@ static inline mstr mstr_substr(mstr_view s, size_t at, size_t len) {
451
453
  len = remain;
452
454
  }
453
455
  mstr_mut r = mstr_new(len);
454
- memcpy(r.data, s.data + at, len);
456
+ memcpy(r.raw.data, s.data + at, len);
455
457
  return r.mstr;
456
458
  }
457
459
 
@@ -607,7 +609,7 @@ static inline void _mstr_assert_(mstr_view left,
607
609
  if (!B) {
608
610
  mstr_assign(&pstr, mstr_prepend(pstr.view, mstrv_lit("not ")));
609
611
  }
610
- _mstr_assert_fail_(left, pstr.data, right, file, line);
612
+ _mstr_assert_fail_(left, pstr.raw.data, right, file, line);
611
613
  }
612
614
  }
613
615
 
@@ -767,9 +769,9 @@ static inline mstr_narrow_result mstr_win32_narrow(const wchar_t *wstring) {
767
769
  wcflags,
768
770
  wstring,
769
771
  -1,
770
- ret.data,
772
+ ret.raw.data,
771
773
  // Plus one byte for the NUL
772
- (int)(ret.len + 1),
774
+ (int)(ret.raw.len + 1),
773
775
  NULL,
774
776
  NULL);
775
777
  assert(length == got_len);
@@ -906,4 +908,9 @@ static mlib_constexpr_fn size_t mlib_strnmcopy(char *dst, size_t dst_bufsize, co
906
908
 
907
909
  MLIB_C_LINKAGE_END
908
910
 
911
+ // Deliberately using old-style casts for C and C++ compatibility.
912
+ #if defined(__cplusplus) && defined(__clang__)
913
+ _Pragma("clang diagnostic pop");
914
+ #endif
915
+
909
916
  #endif // MONGOCRYPT_STR_PRIVATE_H
@@ -5,16 +5,16 @@
5
5
 
6
6
  #define test_predicate(Bool, Left, Pred, Right) MSTR_ASSERT(Bool, mstrv_lit(Left), Pred, mstrv_lit(Right))
7
7
 
8
- int main() {
8
+ int main(void) {
9
9
  // Test the null-initializers:
10
10
  mstr str = MSTR_NULL;
11
11
  mstr_view null_view = MSTRV_NULL;
12
12
  (void)null_view;
13
13
 
14
14
  str = mstr_copy_cstr("foo");
15
- CHECK(str.len == 3);
15
+ CHECK(str.raw.len == 3);
16
16
  MSTR_ASSERT_EQ(str.view, mstrv_lit("foo"));
17
- CHECK(strncmp(str.data, "foo", 3) == 0);
17
+ CHECK(strncmp(str.raw.data, "foo", 3) == 0);
18
18
 
19
19
  mstr_inplace_append(&str, mstrv_lit("bar"));
20
20
  MSTR_ASSERT_EQ(str.view, mstrv_lit("foobar"));
@@ -40,7 +40,7 @@ typedef struct mlib_once_flag {
40
40
  */
41
41
  typedef void (*mlib_init_once_fn_t)(void);
42
42
 
43
- #if _WIN32
43
+ #if defined(_WIN32)
44
44
  /**
45
45
  * An indirection layer for mlib_once on Windows platforms. Do not use directly.
46
46
  */
@@ -1,4 +1,4 @@
1
1
  #ifndef MLIB_USER
2
2
  #error \
3
3
  "The file being compiled transitively #include'd a mongo-mlib header, but is not a direct consumer of mlib, which is a private library for MongoDB C driver libraries"
4
- #endif
4
+ #endif
@@ -12,6 +12,8 @@
12
12
  #endif
13
13
 
14
14
  #pragma push_macro("WIN32_LEAN_AND_MEAN")
15
+ // Disable macro redefinition warning
16
+ #undef WIN32_LEAN_AND_MEAN
15
17
  #define WIN32_LEAN_AND_MEAN 1
16
18
  #include <windows.h>
17
19
  #pragma pop_macro("WIN32_LEAN_AND_MEAN")
@@ -142,6 +142,11 @@ bool _mongocrypt_buffer_steal_from_string(_mongocrypt_buffer_t *buf, char *str)
142
142
  * - Caller must call _mongocrypt_buffer_cleanup. */
143
143
  bool _mongocrypt_buffer_from_string(_mongocrypt_buffer_t *buf, const char *str) MONGOCRYPT_WARN_UNUSED_RESULT;
144
144
 
145
+ /* _mongocrypt_buffer_from_ initializes @buf from @data with length @len.
146
+ * @buf retains a pointer to @data.
147
+ * @data must outlive @buf. */
148
+ void _mongocrypt_buffer_from_data(_mongocrypt_buffer_t *buf, const uint8_t *data, uint32_t len);
149
+
145
150
  /* _mongocrypt_buffer_copy_from_uint64_le initializes @buf from the
146
151
  * little-endian byte representation of @value. Caller must call
147
152
  * _mongocrypt_buffer_cleanup.
@@ -157,4 +162,10 @@ bool _mongocrypt_buffer_from_subrange(_mongocrypt_buffer_t *out,
157
162
  uint32_t offset,
158
163
  uint32_t len) MONGOCRYPT_WARN_UNUSED_RESULT;
159
164
 
165
+ /* _mongocrypt_buffer_copy_from_string_as_bson_value initializes @out, wraps the provided string
166
+ * into a BSON value, and copies the BSON value to @out. No BSON validation is performed on @str.
167
+ * Caller must call _mongocrypt_buffer_cleanup.
168
+ */
169
+ void _mongocrypt_buffer_copy_from_string_as_bson_value(_mongocrypt_buffer_t *out, const char *str, int len);
170
+
160
171
  #endif /* MONGOCRYPT_BUFFER_H */
@@ -317,7 +317,10 @@ fail:
317
317
  return ret;
318
318
  }
319
319
 
320
- void _mongocrypt_buffer_from_iter(_mongocrypt_buffer_t *plaintext, bson_iter_t *iter) {
320
+ static void _mongocrypt_buffer_copy_as_bson_value(_mongocrypt_buffer_t *plaintext,
321
+ bool (*append_func)(bson_t *bson, const void *data, int len),
322
+ const void *data,
323
+ int len) {
321
324
  bson_t wrapper = BSON_INITIALIZER;
322
325
  int32_t offset = INT32_LEN /* skips document size */
323
326
  + TYPE_LEN /* element type */
@@ -326,13 +329,14 @@ void _mongocrypt_buffer_from_iter(_mongocrypt_buffer_t *plaintext, bson_iter_t *
326
329
  uint8_t *wrapper_data;
327
330
 
328
331
  BSON_ASSERT_PARAM(plaintext);
329
- BSON_ASSERT_PARAM(iter);
332
+ BSON_ASSERT_PARAM(append_func);
330
333
 
331
334
  /* It is not straightforward to transform a bson_value_t to a string of
332
335
  * bytes. As a workaround, we wrap the value in a bson document with an empty
333
336
  * key, then use the raw buffer from inside the new bson_t, skipping the
334
337
  * length and type header information and the key name. */
335
- bson_append_iter(&wrapper, "", 0, iter);
338
+ append_func(&wrapper, data, len);
339
+
336
340
  wrapper_data = ((uint8_t *)bson_get_data(&wrapper));
337
341
  BSON_ASSERT(wrapper.len >= (uint32_t)offset + NULL_BYTE_LEN);
338
342
  plaintext->len = wrapper.len - (uint32_t)offset - NULL_BYTE_LEN; /* the final null byte */
@@ -345,6 +349,25 @@ void _mongocrypt_buffer_from_iter(_mongocrypt_buffer_t *plaintext, bson_iter_t *
345
349
  bson_destroy(&wrapper);
346
350
  }
347
351
 
352
+ static bool _append_iter(bson_t *bson, const void *iter, int len) {
353
+ return bson_append_iter(bson, "", 0, (const bson_iter_t *)iter);
354
+ }
355
+
356
+ static bool _append_utf8(bson_t *bson, const void *str, int len) {
357
+ return bson_append_utf8(bson, "", 0, (const char *)str, len);
358
+ }
359
+
360
+ void _mongocrypt_buffer_copy_from_string_as_bson_value(_mongocrypt_buffer_t *plaintext, const char *str, int len) {
361
+ BSON_ASSERT_PARAM(str);
362
+ BSON_ASSERT(len >= 0);
363
+ _mongocrypt_buffer_copy_as_bson_value(plaintext, _append_utf8, str, len);
364
+ }
365
+
366
+ void _mongocrypt_buffer_from_iter(_mongocrypt_buffer_t *plaintext, bson_iter_t *iter) {
367
+ BSON_ASSERT_PARAM(iter);
368
+ _mongocrypt_buffer_copy_as_bson_value(plaintext, _append_iter, iter, 0);
369
+ }
370
+
348
371
  bool _mongocrypt_buffer_from_uuid_iter(_mongocrypt_buffer_t *buf, bson_iter_t *iter) {
349
372
  const uint8_t *data;
350
373
  bson_subtype_t subtype;
@@ -540,6 +563,16 @@ bool _mongocrypt_buffer_from_string(_mongocrypt_buffer_t *buf, const char *str)
540
563
  return true;
541
564
  }
542
565
 
566
+ void _mongocrypt_buffer_from_data(_mongocrypt_buffer_t *buf, const uint8_t *data, uint32_t len) {
567
+ BSON_ASSERT_PARAM(buf);
568
+ BSON_ASSERT_PARAM(data);
569
+
570
+ _mongocrypt_buffer_init(buf);
571
+ buf->data = (uint8_t *)data;
572
+ buf->len = len;
573
+ buf->owned = false;
574
+ }
575
+
543
576
  void _mongocrypt_buffer_copy_from_uint64_le(_mongocrypt_buffer_t *buf, uint64_t value) {
544
577
  uint64_t value_le = MONGOCRYPT_UINT64_TO_LE(value);
545
578
 
@@ -20,4 +20,4 @@
20
20
 
21
21
  void _mongocrypt_cache_collinfo_init(_mongocrypt_cache_t *cache);
22
22
 
23
- #endif /* MONGOCRYPT_CACHE_COLLINFO_PRIVATE_H */
23
+ #endif /* MONGOCRYPT_CACHE_COLLINFO_PRIVATE_H */
@@ -14,6 +14,10 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
+ #include "mongocrypt-cache-collinfo-private.h"
18
+
19
+ //
20
+
17
21
  #include "mongocrypt-cache-private.h"
18
22
 
19
23
  /* The collinfo cache.
@@ -22,7 +22,7 @@
22
22
  #include "mongocrypt.h"
23
23
 
24
24
  /**
25
- * Produced by mongocrypt-marking.c from _mongocrypt_marking_t
25
+ * Produced by mongocrypt-marking.u.fle1.c from _mongocrypt_marking_t
26
26
  * as encrypted payloads for blob_subtypes:
27
27
  * FLE1DeterministicEncryptedValue(1)
28
28
  * FLE1RandomEncryptedValue(2)
@@ -77,18 +77,18 @@ typedef struct {
77
77
  // FLE1 algorithm: AES-256-CBC HMAC/SHA-512-256 (SHA-512 truncated to 256 bits)
78
78
  // Algorithm is documented in [FLE and
79
79
  // AEAD](https://docs.google.com/document/d/1D8xTXWo1B1dunO0bDZhPdolKTMbbD5fUIgsERubWRmY)
80
- const _mongocrypt_value_encryption_algorithm_t *_mcFLE1Algorithm();
80
+ const _mongocrypt_value_encryption_algorithm_t *_mcFLE1Algorithm(void);
81
81
 
82
82
  // FLE2 general algorithm: AES-256-CTR HMAC/SHA-256
83
83
  // Algorithm is documented in [AEAD with
84
84
  // CTR](https://docs.google.com/document/d/1eCU7R8Kjr-mdyz6eKvhNIDVmhyYQcAaLtTfHeK7a_vE/).
85
- const _mongocrypt_value_encryption_algorithm_t *_mcFLE2AEADAlgorithm();
85
+ const _mongocrypt_value_encryption_algorithm_t *_mcFLE2AEADAlgorithm(void);
86
86
 
87
87
  // FLE2 used with FLE2IndexedEncryptedValue: AES-256-CTR no HMAC
88
- const _mongocrypt_value_encryption_algorithm_t *_mcFLE2Algorithm();
88
+ const _mongocrypt_value_encryption_algorithm_t *_mcFLE2Algorithm(void);
89
89
 
90
90
  // FLE2AEAD general algorithm: AES-256-CBC HMAC/SHA-256
91
- const _mongocrypt_value_encryption_algorithm_t *_mcFLE2v2AEADAlgorithm();
91
+ const _mongocrypt_value_encryption_algorithm_t *_mcFLE2v2AEADAlgorithm(void);
92
92
 
93
93
  bool _mongocrypt_random(_mongocrypt_crypto_t *crypto,
94
94
  _mongocrypt_buffer_t *out,