libmongocrypt-helper 1.12.0.0.1001 → 1.13.2.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.
- checksums.yaml +4 -4
- data/ext/libmongocrypt/libmongocrypt/CHANGELOG.md +19 -0
- data/ext/libmongocrypt/libmongocrypt/CMakeLists.txt +10 -0
- data/ext/libmongocrypt/libmongocrypt/CODEOWNERS +1 -4
- data/ext/libmongocrypt/libmongocrypt/CONTRIBUTING.md +14 -0
- data/ext/libmongocrypt/libmongocrypt/Earthfile +49 -50
- data/ext/libmongocrypt/libmongocrypt/README.md +8 -17
- data/ext/libmongocrypt/libmongocrypt/bindings/python/CHANGELOG.rst +6 -0
- data/ext/libmongocrypt/libmongocrypt/bindings/python/README.rst +1 -1
- data/ext/libmongocrypt/libmongocrypt/bindings/python/libmongocrypt-version.txt +1 -1
- data/ext/libmongocrypt/libmongocrypt/bindings/python/pymongocrypt/binding.py +39 -1
- data/ext/libmongocrypt/libmongocrypt/bindings/python/pymongocrypt/mongocrypt.py +32 -0
- data/ext/libmongocrypt/libmongocrypt/bindings/python/pymongocrypt/version.py +1 -1
- data/ext/libmongocrypt/libmongocrypt/bindings/python/release.sh +1 -1
- data/ext/libmongocrypt/libmongocrypt/bindings/python/sbom.json +8 -8
- data/ext/libmongocrypt/libmongocrypt/bindings/python/test/data/compact/success/encrypted-field-config-map.json +0 -1
- data/ext/libmongocrypt/libmongocrypt/bindings/python/test/data/encrypted-field-config-map.json +0 -2
- data/ext/libmongocrypt/libmongocrypt/bindings/python/test/test_mongocrypt.py +11 -11
- data/ext/libmongocrypt/libmongocrypt/cmake/FetchMongoC.cmake +4 -2
- data/ext/libmongocrypt/libmongocrypt/cmake/ImportBSON.cmake +3 -5
- data/ext/libmongocrypt/libmongocrypt/doc/releasing.md +14 -27
- data/ext/libmongocrypt/libmongocrypt/etc/cyclonedx.sbom.json +9 -9
- data/ext/libmongocrypt/libmongocrypt/etc/format.sh +0 -2
- data/ext/libmongocrypt/libmongocrypt/etc/libbson-remove-GCC-diagnostic-in-functions.patch +158 -0
- data/ext/libmongocrypt/libmongocrypt/etc/libbson-remove-GCC-diagnostic-pragma.patch +3 -3
- data/ext/libmongocrypt/libmongocrypt/etc/purls.txt +1 -1
- data/ext/libmongocrypt/libmongocrypt/integrating.md +42 -11
- data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_crypto_windows.c +2 -2
- data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_message.c +1 -1
- data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_message_private.h +2 -2
- data/ext/libmongocrypt/libmongocrypt/kms-message/src/kms_request.c +3 -3
- data/ext/libmongocrypt/libmongocrypt/kms-message/test/test_kmip_reader_writer.c +5 -5
- data/ext/libmongocrypt/libmongocrypt/kms-message/test/test_kms_assert.h +25 -8
- data/ext/libmongocrypt/libmongocrypt/kms-message/test/test_kms_azure_online.c +2 -2
- data/ext/libmongocrypt/libmongocrypt/kms-message/test/test_kms_gcp_online.c +3 -3
- data/ext/libmongocrypt/libmongocrypt/kms-message/test/test_kms_request.c +12 -10
- data/ext/libmongocrypt/libmongocrypt/src/mc-efc-private.h +5 -0
- data/ext/libmongocrypt/libmongocrypt/src/mc-efc.c +35 -1
- data/ext/libmongocrypt/libmongocrypt/src/mc-fle-blob-subtype-private.h +4 -1
- data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-encryption-placeholder-private.h +79 -0
- data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-encryption-placeholder.c +226 -2
- data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-find-equality-payload-v2.c +0 -1
- data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-find-equality-payload.c +0 -1
- data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-insert-update-payload-private-v2.h +34 -0
- data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-insert-update-payload-v2.c +165 -1
- data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-insert-update-payload.c +0 -1
- data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-payload-iev-private-v2.h +105 -7
- data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-payload-iev-v2.c +381 -70
- data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-tag-and-encrypted-metadata-block-private.h +7 -2
- data/ext/libmongocrypt/libmongocrypt/src/mc-fle2-tag-and-encrypted-metadata-block.c +17 -0
- data/ext/libmongocrypt/libmongocrypt/src/mc-schema-broker-private.h +126 -0
- data/ext/libmongocrypt/libmongocrypt/src/mc-schema-broker.c +1075 -0
- data/ext/libmongocrypt/libmongocrypt/src/mc-str-encode-string-sets-private.h +95 -0
- data/ext/libmongocrypt/libmongocrypt/src/mc-str-encode-string-sets.c +304 -0
- data/ext/libmongocrypt/libmongocrypt/src/mc-text-search-str-encode-private.h +45 -0
- data/ext/libmongocrypt/libmongocrypt/src/mc-text-search-str-encode.c +248 -0
- data/ext/libmongocrypt/libmongocrypt/src/mc-tokens-private.h +112 -2
- data/ext/libmongocrypt/libmongocrypt/src/mc-tokens.c +166 -2
- data/ext/libmongocrypt/libmongocrypt/src/mlib/windows-lean.h +2 -0
- data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-buffer-private.h +11 -0
- data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-buffer.c +36 -3
- data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-ctx-decrypt.c +8 -4
- data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-ctx-encrypt.c +430 -857
- data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-ctx-private.h +5 -19
- data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-kms-ctx.c +1 -1
- data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-marking.c +516 -523
- data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-opts-private.h +0 -4
- data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-private.h +7 -12
- data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-traverse-util.c +1 -1
- data/ext/libmongocrypt/libmongocrypt/src/mongocrypt-util.c +3 -1
- data/ext/libmongocrypt/libmongocrypt/src/mongocrypt.c +6 -9
- data/ext/libmongocrypt/libmongocrypt/src/mongocrypt.h +17 -0
- data/ext/libmongocrypt/libmongocrypt/src/os_posix/os_dll.c +3 -1
- data/ext/libmongocrypt/libmongocrypt/src/unicode/case-fold-map.c +1434 -0
- data/ext/libmongocrypt/libmongocrypt/src/unicode/diacritic-fold-map.c +2884 -0
- data/ext/libmongocrypt/libmongocrypt/src/unicode/fold.c +139 -0
- data/ext/libmongocrypt/libmongocrypt/src/unicode/fold.h +58 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/bulkWrite/unencrypted/payload.json +2 -2
- data/ext/libmongocrypt/libmongocrypt/test/data/cleanup/missing-key-id/collinfo.json +1 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/cleanup/no-fields/collinfo.json +1 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/cleanup/success/collinfo.json +1 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/compact/anchor-pad/collinfo.json +1 -1
- data/ext/libmongocrypt/libmongocrypt/test/data/compact/anchor-pad/encrypted-payload-range-v2.json +20 -21
- data/ext/libmongocrypt/libmongocrypt/test/data/compact/missing-key-id/collinfo.json +2 -2
- data/ext/libmongocrypt/libmongocrypt/test/data/compact/no-fields/collinfo.json +1 -1
- data/ext/libmongocrypt/libmongocrypt/test/data/compact/no-range/collinfo.json +1 -1
- data/ext/libmongocrypt/libmongocrypt/test/data/compact/success/collinfo.json +1 -1
- data/ext/libmongocrypt/libmongocrypt/test/data/compact/success/encrypted-field-config-map.json +0 -1
- data/ext/libmongocrypt/libmongocrypt/test/data/compact/success/encrypted-payload-range-v2.json +20 -21
- data/ext/libmongocrypt/libmongocrypt/test/data/dollardb/omitted/cmd-to-mongocryptd.json +1 -2
- data/ext/libmongocrypt/libmongocrypt/test/data/dollardb/omitted/collinfo.json +2 -2
- data/ext/libmongocrypt/libmongocrypt/test/data/dollardb/omitted/encrypted-payload.json +2 -3
- data/ext/libmongocrypt/libmongocrypt/test/data/dollardb/omitted/mongocryptd-reply.json +1 -2
- data/ext/libmongocrypt/libmongocrypt/test/data/dollardb/preserved/cmd-to-mongocryptd.json +1 -2
- data/ext/libmongocrypt/libmongocrypt/test/data/dollardb/preserved/collinfo.json +2 -2
- data/ext/libmongocrypt/libmongocrypt/test/data/dollardb/preserved/encrypted-payload.json +2 -3
- data/ext/libmongocrypt/libmongocrypt/test/data/dollardb/preserved/mongocryptd-reply.json +1 -2
- data/ext/libmongocrypt/libmongocrypt/test/data/dollardb/preserved_empty/cmd-to-mongocryptd.json +1 -2
- data/ext/libmongocrypt/libmongocrypt/test/data/dollardb/preserved_empty/collinfo.json +2 -2
- data/ext/libmongocrypt/libmongocrypt/test/data/dollardb/preserved_empty/mongocryptd-reply.json +1 -2
- data/ext/libmongocrypt/libmongocrypt/test/data/dollardb/preserved_fle1/collinfo.json +2 -1
- data/ext/libmongocrypt/libmongocrypt/test/data/efc/efc-extraField.json +0 -1
- data/ext/libmongocrypt/libmongocrypt/test/data/efc/efc-missingKeyId.json +0 -1
- data/ext/libmongocrypt/libmongocrypt/test/data/efc/efc-oneField-badVersionSet.json +23 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/efc/efc-oneField-goodVersionSet.json +23 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/efc/efc-oneField.json +0 -1
- data/ext/libmongocrypt/libmongocrypt/test/data/efc/efc-textSearchFields-badVersionSet.json +48 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/efc/efc-textSearchFields-goodVersionSet.json +48 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/efc/efc-textSearchFields.json +47 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/efc/efc-twoFields.json +0 -1
- data/ext/libmongocrypt/libmongocrypt/test/data/encrypted-field-config-map.json +1 -3
- data/ext/libmongocrypt/libmongocrypt/test/data/explicit-decrypt/FLE1DeterministicEncryptedValue.json +8 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/explicit-decrypt/FLE1EncryptionPlaceholder.json +8 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/explicit-decrypt/FLE1RandomEncryptedValue.json +8 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/explicit-decrypt/FLE2EncryptionPlaceholder.json +8 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/explicit-decrypt/FLE2EqualityIndexedValueV2.json +8 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/explicit-decrypt/FLE2FindEqualityPayloadV2.json +8 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/explicit-decrypt/FLE2IndexedEqualityEncryptedValue.json +8 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/explicit-decrypt/FLE2IndexedEqualityEncryptedValueV2.json +8 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/explicit-decrypt/FLE2IndexedRangeEncryptedValue.json +8 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/explicit-decrypt/FLE2IndexedRangeEncryptedValueV2.json +8 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/explicit-decrypt/FLE2InsertUpdatePayload-with-edges-V2.json +8 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/explicit-decrypt/FLE2InsertUpdatePayload-with-edges.json +8 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/{fle2-explicit/insert-indexed.json → explicit-decrypt/FLE2InsertUpdatePayload.json} +1 -1
- data/ext/libmongocrypt/libmongocrypt/test/data/explicit-decrypt/FLE2InsertUpdatePayloadV2.json +8 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/explicit-decrypt/FLE2RangeIndexedValueV2.json +8 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/explicit-decrypt/FLE2UnindexedEncryptedValue.json +8 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/explicit-decrypt/FLE2UnindexedEncryptedValueV2.json +8 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/find-with-encryptionInformation.json +0 -1
- data/ext/libmongocrypt/libmongocrypt/test/data/fle1-explain/with-csfle/collinfo.json +2 -1
- data/ext/libmongocrypt/libmongocrypt/test/data/fle1-explain/with-mongocryptd/collinfo.json +2 -1
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-bad-str-encode-version/bad-collinfo.json +26 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-bad-str-encode-version/bad-create-cmd-mongocryptd-reply.json +51 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-bad-str-encode-version/bad-create-cmd-to-mongocryptd.json +45 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-bad-str-encode-version/bad-create-cmd.json +18 -0
- 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
- data/ext/libmongocrypt/libmongocrypt/test/data/{fle2-insert → fle2-bad-str-encode-version}/encrypted-payload.json +4 -4
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-create/cmd-to-mongocryptd.json +1 -2
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-create/encrypted-field-config-map.json +1 -2
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-create-encrypted-collection/cmd-to-mongocryptd.json +44 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-create-encrypted-collection/cmd.json +17 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/{fle2-find-equality/encrypted-field-map.json → fle2-create-encrypted-collection/encrypted-field-config-map.json} +9 -8
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-create-encrypted-collection/encrypted-payload.json +17 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-create-encrypted-collection/mongocryptd-reply.json +50 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-create-encrypted-collection-encrypted-fields-unset-str-encode-version/cmd-to-mongocryptd.json +45 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-create-encrypted-collection-encrypted-fields-unset-str-encode-version/mongocryptd-reply.json +51 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-create-encrypted-collection-with-str-encode-version/cmd-to-mongocryptd.json +46 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-create-encrypted-collection-with-str-encode-version/cmd.json +18 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-create-encrypted-collection-with-str-encode-version/encrypted-field-config-map.json +25 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-create-encrypted-collection-with-str-encode-version/encrypted-payload.json +18 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-create-encrypted-collection-with-str-encode-version/mongocryptd-reply.json +52 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-delete/empty/collinfo.json +1 -1
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-delete/empty/encrypted-field-config-map.json +0 -1
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-delete/empty/encrypted-payload-v2.json +57 -59
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-delete/empty/mongocryptd-reply.json +63 -64
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-delete/success/collinfo.json +1 -1
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-delete/success/encrypted-field-config-map.json +0 -1
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-delete/success/encrypted-payload-v2.json +64 -66
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-delete/success/mongocryptd-reply.json +69 -70
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-explain/with-csfle/collinfo.json +1 -1
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-explain/with-csfle/encrypted-payload.json +1 -2
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-explain/with-mongocryptd/cmd-to-mongocryptd.json +1 -2
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-explain/with-mongocryptd/collinfo.json +2 -2
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-explain/with-mongocryptd/encrypted-payload.json +2 -3
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-explain/with-mongocryptd/mongocryptd-reply.json +1 -2
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-explicit/cmd-to-mongocryptd.json +0 -1
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-explicit/cmd-to-mongod.json +0 -1
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-explicit/reply-from-mongocryptd.json +0 -1
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/int32/encrypted-field-map.json +0 -1
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-text-search/cmd.json +9 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/{fle2-find-range/date → fle2-insert-text-search}/encrypted-field-map.json +10 -9
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-text-search/encrypted-payload.json +47 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-text-search/mongocryptd-reply.json +55 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/{fle2-find-range/double → fle2-insert-text-search-with-str-encode-version}/encrypted-field-map.json +12 -10
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-text-search-with-str-encode-version/encrypted-payload.json +47 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-text-search-with-str-encode-version/mongocryptd-reply.json +55 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-v2-with-str-encode-version/cmd.json +9 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/{fle2-insert → fle2-insert-v2-with-str-encode-version}/encrypted-field-map.json +2 -2
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-v2-with-str-encode-version/encrypted-payload.json +40 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/{fle2-insert → fle2-insert-v2-with-str-encode-version}/mongocryptd-reply.json +2 -2
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-text-search-create-encrypted-collection/cmd-to-mongocryptd.json +55 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-text-search-create-encrypted-collection/cmd.json +22 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-text-search-create-encrypted-collection/encrypted-field-config-map.json +29 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-text-search-create-encrypted-collection/encrypted-payload.json +23 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-text-search-create-encrypted-collection/mongocryptd-reply.json +61 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-text-search-create-encrypted-collection-with-str-encode-version/cmd-to-mongocryptd.json +56 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-text-search-create-encrypted-collection-with-str-encode-version/cmd.json +23 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-text-search-create-encrypted-collection-with-str-encode-version/encrypted-field-config-map.json +30 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-text-search-create-encrypted-collection-with-str-encode-version/encrypted-payload.json +23 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-text-search-create-encrypted-collection-with-str-encode-version/mongocryptd-reply.json +62 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/iev-v2/FLECrudTest-insertOneText.json +20 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/iev-v2/FLECrudTest-insertOneTextLarge.json +930 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/csfle/cmd-to-mongocryptd.json +60 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/csfle/cmd.json +14 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/csfle/collInfo-c1.json +39 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/csfle/collInfo-c2.json +39 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/csfle-facet/cmd.json +20 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/csfle-mismatch/cmd.json +14 -0
- data/ext/libmongocrypt/libmongocrypt/{bindings/java/mongocrypt/src/test/resources/collection-info.json → test/data/lookup/csfle-mismatch/collInfo-c1.json} +13 -11
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/csfle-mismatch/collInfo-c3.json +39 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/csfle-nested/cmd.json +24 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/csfle-only-schemaMap/cmd-to-mongocryptd.json +60 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/csfle-only-schemaMap/cmd.json +14 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/csfle-only-schemaMap/schemaMap.json +40 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/csfle-schemaMap/cmd-to-mongocryptd.json +60 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/csfle-schemaMap/cmd.json +14 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/csfle-schemaMap/collInfo-c1.json +39 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/csfle-schemaMap/schemaMap.json +21 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/csfle-self/cmd-to-mongocryptd.json +34 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/csfle-self/cmd.json +14 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/csfle-self/collInfo-c1.json +39 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/csfle-sibling/cmd-to-mongocryptd.json +49 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/csfle-sibling/cmd.json +14 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/csfle-sibling/collInfo-c1.json +39 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/csfle-sibling/collInfo-c2.json +29 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/csfle-sibling/reply-from-mongocryptd.json +18 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/csfle-unionWith/cmd.json +21 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/csfle-view/cmd.json +14 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/csfle-view/collInfo-c1.json +39 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/csfle-view/collInfo-v1.json +11 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/csfle/csfle/cmd-to-mongocryptd.json +65 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/csfle/csfle/cmd-to-mongod.json +26 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/csfle/csfle/cmd.json +19 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/csfle/csfle/collInfo-c1.json +39 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/csfle/csfle/collInfo-c2.json +39 -0
- 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
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/csfle/csfle/reply-from-mongocryptd.json +33 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/csfle/no-schema/cmd-to-mongocryptd.json +47 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/csfle/no-schema/cmd-to-mongod.json +26 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/csfle/no-schema/cmd.json +19 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/csfle/no-schema/collInfo-c1.json +39 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/csfle/no-schema/collInfo-c2.json +17 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/csfle/no-schema/key-doc.json +30 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/csfle/no-schema/reply-from-mongocryptd.json +33 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/csfle/qe/cmd-to-mongocryptd.json +70 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/csfle/qe/cmd.json +19 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/csfle/qe/collInfo-c1.json +39 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/csfle/qe/collInfo-c2.json +42 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/no-schema/csfle/cmd-to-mongocryptd.json +47 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/no-schema/csfle/cmd-to-mongod.json +26 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/no-schema/csfle/cmd.json +19 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/no-schema/csfle/collInfo-c1.json +17 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/no-schema/csfle/collInfo-c2.json +39 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/no-schema/csfle/key-doc.json +30 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/no-schema/csfle/reply-from-mongocryptd.json +33 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/no-schema/no-schema/cmd-to-mongocryptd.json +29 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/no-schema/no-schema/cmd-to-mongod.json +19 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/no-schema/no-schema/cmd.json +19 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/no-schema/no-schema/collInfo-c1.json +17 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/no-schema/no-schema/collInfo-c2.json +17 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/no-schema/no-schema/reply-from-mongocryptd.json +26 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/no-schema/qe/cmd-to-mongocryptd.json +53 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/no-schema/qe/cmd-to-mongod.json +58 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/no-schema/qe/cmd.json +19 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/no-schema/qe/collInfo-c1.json +17 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/no-schema/qe/collInfo-c2.json +42 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/no-schema/qe/key-doc.json +30 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/no-schema/qe/reply-from-mongocryptd.json +65 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/qe/csfle/cmd-to-mongocryptd.json +70 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/qe/csfle/cmd.json +19 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/qe/csfle/collInfo-c1.json +42 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/qe/csfle/collInfo-c2.json +39 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/qe/no-schema/cmd-to-mongocryptd.json +53 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/qe/no-schema/cmd-to-mongod.json +56 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/qe/no-schema/cmd.json +19 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/qe/no-schema/collInfo-c1.json +42 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/qe/no-schema/collInfo-c2.json +17 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/qe/no-schema/key-doc.json +30 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/qe/no-schema/reply-from-mongocryptd.json +63 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/qe/qe/cmd-to-mongocryptd.json +66 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/qe/qe/cmd-to-mongod.json +71 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/qe/qe/cmd.json +19 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/qe/qe/collInfo-c1.json +42 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/qe/qe/collInfo-c2.json +42 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/qe/qe/key-doc.json +30 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/mixed/qe/qe/reply-from-mongocryptd.json +78 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/qe/cmd-to-mongocryptd.json +61 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/qe/cmd-to-mongod.json +14 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/qe/cmd.json +14 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/qe/collInfo-c1.json +42 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/qe/collInfo-c2.json +42 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/qe/reply-from-mongocryptd.json +68 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/qe-encryptedFieldsMap/cmd-to-mongocryptd.json +66 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/qe-encryptedFieldsMap/cmd-to-mongod.json +71 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/qe-encryptedFieldsMap/cmd.json +19 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/qe-encryptedFieldsMap/collInfo-c1.json +42 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/{fle2-insert-unindexed/encrypted-field-map.json → lookup/qe-encryptedFieldsMap/encryptedFieldsMap.json} +6 -7
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/qe-encryptedFieldsMap/key-doc.json +30 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/qe-encryptedFieldsMap/reply-from-mongocryptd.json +78 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/qe-self/cmd-to-mongocryptd.json +46 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/qe-self/cmd-to-mongod.json +53 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/qe-self/cmd.json +19 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/qe-self/collInfo-c1.json +42 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/qe-self/key-doc.json +30 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/qe-self/reply-from-mongocryptd.json +58 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/qe-with-payload/cmd-to-mongocryptd.json +66 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/qe-with-payload/cmd-to-mongod.json +75 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/qe-with-payload/cmd.json +19 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/qe-with-payload/collInfo-c1.json +42 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/qe-with-payload/collInfo-c2.json +42 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/qe-with-payload/key-doc.json +30 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/lookup/qe-with-payload/reply-from-mongocryptd.json +78 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/{fle2-create/mongocryptd-ismaster.json → mongocryptd-ismaster-17.json} +1 -1
- data/ext/libmongocrypt/libmongocrypt/test/data/mongocryptd-ismaster-26.json +12 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/schema-broker/collinfo-encryptedFields.json +42 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/schema-broker/collinfo-encryptedFields2.json +42 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/schema-broker/collinfo-jsonSchema.json +43 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/schema-broker/collinfo-noSchema.json +21 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/schema-broker/create-with-jsonSchema.json +24 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/schema-broker/encryptedFields.json +20 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/schema-broker/encryptedFields2.json +20 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/schema-broker/encryptedFieldsMap.json +42 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/schema-broker/jsonSchema.json +19 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/schema-broker/jsonSchema2.json +19 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/schema-broker/schemaMap.json +40 -0
- data/ext/libmongocrypt/libmongocrypt/test/data/tokens/mc.json +28 -2
- data/ext/libmongocrypt/libmongocrypt/test/data/tokens/server.json +28 -2
- data/ext/libmongocrypt/libmongocrypt/test/test-mc-efc.c +70 -0
- data/ext/libmongocrypt/libmongocrypt/test/test-mc-fle2-encryption-placeholder.c +468 -0
- data/ext/libmongocrypt/libmongocrypt/test/test-mc-fle2-find-equality-payload-v2.c +20 -1
- data/ext/libmongocrypt/libmongocrypt/test/test-mc-fle2-payload-iev-v2.c +286 -24
- data/ext/libmongocrypt/libmongocrypt/test/test-mc-fle2-payload-iev.c +1 -1
- data/ext/libmongocrypt/libmongocrypt/test/test-mc-fle2-payload-iup-v2.c +23 -1
- data/ext/libmongocrypt/libmongocrypt/test/test-mc-fle2-payload-iup.c +24 -1
- data/ext/libmongocrypt/libmongocrypt/test/test-mc-fle2-payload-uev.c +2 -2
- data/ext/libmongocrypt/libmongocrypt/test/test-mc-fle2-rfds.c +2 -2
- data/ext/libmongocrypt/libmongocrypt/test/test-mc-fle2-tag-and-encrypted-metadata-block.c +36 -1
- data/ext/libmongocrypt/libmongocrypt/test/test-mc-range-edge-generation.c +6 -7
- data/ext/libmongocrypt/libmongocrypt/test/test-mc-range-encoding.c +32 -33
- data/ext/libmongocrypt/libmongocrypt/test/test-mc-range-mincover.c +58 -66
- data/ext/libmongocrypt/libmongocrypt/test/test-mc-rangeopts.c +2 -2
- data/ext/libmongocrypt/libmongocrypt/test/test-mc-schema-broker.c +1124 -0
- data/ext/libmongocrypt/libmongocrypt/test/test-mc-text-search-str-encode.c +1207 -0
- data/ext/libmongocrypt/libmongocrypt/test/test-mc-tokens.c +144 -37
- data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-assert-match-bson.c +13 -14
- data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-assert.h +21 -4
- data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-buffer.c +25 -0
- data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-cache.c +3 -2
- data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-crypto-hooks.c +1 -1
- data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-crypto.c +37 -7
- data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-csfle-lib.c +21 -0
- data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-ctx-decrypt.c +226 -146
- data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-ctx-encrypt.c +1330 -1200
- data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-kek.c +1 -1
- data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-key-cache.c +6 -6
- data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-kms-responses.c +2 -2
- data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt-marking.c +744 -106
- data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt.c +119 -33
- data/ext/libmongocrypt/libmongocrypt/test/test-mongocrypt.h +27 -4
- data/ext/libmongocrypt/libmongocrypt/test/test-unicode-fold.c +97 -0
- data/lib/libmongocrypt_helper/version.rb +2 -2
- metadata +207 -157
- data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/README.md +0 -36
- data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/benchmarks/build.gradle.kts +0 -28
- data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/benchmarks/src/main/java/com/mongodb/crypt/benchmark/BenchmarkRunner.java +0 -217
- data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/benchmarks/src/main/resources/keyDocument.json +0 -24
- data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/build.gradle.kts +0 -354
- data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/gradle/wrapper/gradle-wrapper.jar +0 -0
- data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/gradle/wrapper/gradle-wrapper.properties +0 -5
- data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/gradlew +0 -234
- data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/gradlew.bat +0 -89
- data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/settings.gradle.kts +0 -1
- data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/BinaryHolder.java +0 -45
- data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/CAPI.java +0 -1165
- data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/CAPIHelper.java +0 -96
- data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/CipherCallback.java +0 -92
- data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/DisposableMemory.java +0 -31
- data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/JULLogger.java +0 -130
- data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/Logger.java +0 -144
- data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/Loggers.java +0 -50
- data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/MacCallback.java +0 -60
- data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/MessageDigestCallback.java +0 -55
- data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/MongoAwsKmsProviderOptions.java +0 -104
- data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/MongoCrypt.java +0 -100
- data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/MongoCryptContext.java +0 -137
- data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/MongoCryptContextImpl.java +0 -164
- data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/MongoCryptException.java +0 -67
- data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/MongoCryptImpl.java +0 -423
- data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/MongoCryptOptions.java +0 -284
- data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/MongoCrypts.java +0 -38
- data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/MongoDataKeyOptions.java +0 -125
- data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/MongoExplicitEncryptOptions.java +0 -227
- data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/MongoKeyDecryptor.java +0 -76
- data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/MongoKeyDecryptorImpl.java +0 -105
- data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/MongoLocalKmsProviderOptions.java +0 -83
- data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/MongoRewrapManyDataKeyOptions.java +0 -104
- data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/SLF4JLogger.java +0 -110
- data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/SecureRandomCallback.java +0 -51
- data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/SigningRSAESPKCSCallback.java +0 -76
- data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/java/com/mongodb/crypt/capi/package-info.java +0 -18
- data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/resources/META-INF/native-image/jni-config.json +0 -180
- data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/main/resources/META-INF/native-image/reflect-config.json +0 -134
- data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/java/com/mongodb/crypt/capi/MongoCryptTest.java +0 -389
- data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/resources/command-reply.json +0 -13
- data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/resources/command.json +0 -6
- data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/resources/encrypted-command-reply.json +0 -16
- data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/resources/encrypted-command.json +0 -11
- data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/resources/encrypted-value.json +0 -6
- data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/resources/fle2-find-range-explicit-v2/int32/encrypted-payload.json +0 -26
- data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/resources/fle2-find-range-explicit-v2/int32/key-filter.json +0 -19
- data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/resources/fle2-find-range-explicit-v2/int32/rangeopts.json +0 -14
- data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/resources/fle2-find-range-explicit-v2/int32/value-to-encrypt.json +0 -20
- data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/resources/json-schema.json +0 -15
- data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/resources/key-document.json +0 -36
- data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/resources/key-filter-keyAltName.json +0 -14
- data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/resources/key-filter.json +0 -19
- data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/resources/kms-reply.txt +0 -6
- data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/resources/list-collections-filter.json +0 -3
- data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/resources/mongocryptd-command.json +0 -22
- data/ext/libmongocrypt/libmongocrypt/bindings/java/mongocrypt/src/test/resources/mongocryptd-reply.json +0 -18
- data/ext/libmongocrypt/libmongocrypt/etc/silk-create-asset-group.sh +0 -70
- data/ext/libmongocrypt/libmongocrypt/test/data/bulkWrite/jsonSchema/cmd.json +0 -20
- data/ext/libmongocrypt/libmongocrypt/test/data/collection-info-no-schema.json +0 -19
- data/ext/libmongocrypt/libmongocrypt/test/data/compact/no-range/encrypted-field-config-map.json +0 -47
- data/ext/libmongocrypt/libmongocrypt/test/data/fle1-collMod/insert/cmd.json +0 -8
- data/ext/libmongocrypt/libmongocrypt/test/data/fle1-collMod/insert/collinfo.json +0 -9
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-create/ismaster-to-mongocryptd.json +0 -3
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-delete/empty/encrypted-payload.json +0 -91
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-delete/success/encrypted-payload.json +0 -98
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-explicit/find-indexed-contentionFactor1.json +0 -8
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-explicit/insert-indexed-contentionFactor1.json +0 -8
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-explicit/insert-indexed-same-user-and-index-key.json +0 -8
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-equality/cmd.json +0 -6
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-equality/encrypted-payload.json +0 -41
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-equality/mongocryptd-reply.json +0 -19
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/date/cmd.json +0 -10
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/date/encrypted-payload.json +0 -42
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/date/mongocryptd-reply.json +0 -50
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/decimal128/cmd.json +0 -6
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/decimal128/encrypted-field-map.json +0 -28
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/decimal128/encrypted-payload.json +0 -42
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/decimal128/mongocryptd-reply.json +0 -50
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/decimal128-precision/cmd.json +0 -6
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/decimal128-precision/encrypted-field-map.json +0 -31
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/decimal128-precision/encrypted-payload.json +0 -51
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/decimal128-precision/mongocryptd-reply.json +0 -59
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/double/cmd.json +0 -8
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/double/encrypted-payload.json +0 -42
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/double/mongocryptd-reply.json +0 -50
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/double-precision/cmd.json +0 -8
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/double-precision/encrypted-field-map.json +0 -31
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/double-precision/encrypted-payload.json +0 -45
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/double-precision/mongocryptd-reply.json +0 -53
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/int32/cmd.json +0 -8
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/int32/encrypted-payload.json +0 -42
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/int32/mongocryptd-reply.json +0 -50
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/int64/cmd.json +0 -8
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/int64/encrypted-field-map.json +0 -28
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/int64/encrypted-payload.json +0 -42
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/int64/mongocryptd-reply.json +0 -50
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range-explicit/double/encrypted-payload.json +0 -26
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range-explicit/double-precision/encrypted-payload.json +0 -26
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range-explicit/int32/encrypted-payload.json +0 -26
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range-explicit/int32-nominmax/encrypted-payload-v2.json +0 -26
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range-explicit/int32-openinterval/encrypted-payload.json +0 -16
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/date/cmd.json +0 -13
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/date/encrypted-field-map.json +0 -28
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/date/encrypted-payload.json +0 -45
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/date/mongocryptd-reply.json +0 -53
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/decimal128/cmd.json +0 -9
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/decimal128/encrypted-field-map.json +0 -28
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/decimal128/encrypted-payload.json +0 -45
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/decimal128/mongocryptd-reply.json +0 -53
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/decimal128-precision/cmd.json +0 -9
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/decimal128-precision/encrypted-field-map.json +0 -31
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/decimal128-precision/encrypted-payload.json +0 -54
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/decimal128-precision/mongocryptd-reply.json +0 -62
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/double/cmd.json +0 -11
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/double/encrypted-field-map.json +0 -28
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/double/encrypted-payload.json +0 -45
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/double/mongocryptd-reply.json +0 -53
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/double-precision/cmd.json +0 -11
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/double-precision/encrypted-field-map.json +0 -31
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/double-precision/encrypted-payload.json +0 -48
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/double-precision/mongocryptd-reply.json +0 -56
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/int32/encrypted-payload.json +0 -45
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/int32/mongocryptd-reply.json +0 -53
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/int64/cmd.json +0 -11
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/int64/encrypted-field-map.json +0 -28
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/int64/encrypted-payload.json +0 -45
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/int64/mongocryptd-reply.json +0 -53
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range-explicit/double/encrypted-payload.json +0 -8
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range-explicit/double-precision/encrypted-payload.json +0 -8
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range-explicit/int32-nominmax/encrypted-payload-v2.json +0 -8
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range-explicit/sparsity-2/encrypted-payload.json +0 -8
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-unindexed/cmd.json +0 -9
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-unindexed/encrypted-payload.json +0 -14
- data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-unindexed/mongocryptd-reply.json +0 -46
- data/ext/libmongocrypt/libmongocrypt/test/data/schema.json +0 -19
- /data/ext/libmongocrypt/libmongocrypt/test/data/{fle2-explicit/find-indexed.json → explicit-decrypt/FLE2FindEqualityPayload.json} +0 -0
- /data/ext/libmongocrypt/libmongocrypt/test/data/{fle2-insert → fle2-insert-text-search-with-str-encode-version}/cmd.json +0 -0
@@ -22,7 +22,7 @@
|
|
22
22
|
F(value) \
|
23
23
|
F(collectionsLevel1Token) \
|
24
24
|
F(serverDataEncryptionLevel1Token) \
|
25
|
-
F(
|
25
|
+
F(ServerTokenDerivationLevel1Token) \
|
26
26
|
F(EDCToken) \
|
27
27
|
F(ESCToken) \
|
28
28
|
F(ECCToken) \
|
@@ -39,7 +39,33 @@
|
|
39
39
|
F(ESCTwiceDerivedValueToken) \
|
40
40
|
F(serverCountAndContentionFactorEncryptionToken) \
|
41
41
|
F(serverZerosEncryptionToken) \
|
42
|
-
F(AnchorPaddingTokenRoot)
|
42
|
+
F(AnchorPaddingTokenRoot) \
|
43
|
+
F(AnchorPaddingKeyToken) \
|
44
|
+
F(AnchorPaddingValueToken) \
|
45
|
+
F(EDCTextExactToken) \
|
46
|
+
F(EDCTextSubstringToken) \
|
47
|
+
F(EDCTextSuffixToken) \
|
48
|
+
F(EDCTextPrefixToken) \
|
49
|
+
F(ESCTextExactToken) \
|
50
|
+
F(ESCTextSubstringToken) \
|
51
|
+
F(ESCTextSuffixToken) \
|
52
|
+
F(ESCTextPrefixToken) \
|
53
|
+
F(ServerTextExactToken) \
|
54
|
+
F(ServerTextSubstringToken) \
|
55
|
+
F(ServerTextSuffixToken) \
|
56
|
+
F(ServerTextPrefixToken) \
|
57
|
+
F(EDCTextExactDerivedFromDataTokenAndContentionFactorToken) \
|
58
|
+
F(EDCTextSubstringDerivedFromDataTokenAndContentionFactorToken) \
|
59
|
+
F(EDCTextSuffixDerivedFromDataTokenAndContentionFactorToken) \
|
60
|
+
F(EDCTextPrefixDerivedFromDataTokenAndContentionFactorToken) \
|
61
|
+
F(ESCTextExactDerivedFromDataTokenAndContentionFactorToken) \
|
62
|
+
F(ESCTextSubstringDerivedFromDataTokenAndContentionFactorToken) \
|
63
|
+
F(ESCTextSuffixDerivedFromDataTokenAndContentionFactorToken) \
|
64
|
+
F(ESCTextPrefixDerivedFromDataTokenAndContentionFactorToken) \
|
65
|
+
F(ServerTextExactDerivedFromDataToken) \
|
66
|
+
F(ServerTextSubstringDerivedFromDataToken) \
|
67
|
+
F(ServerTextSuffixDerivedFromDataToken) \
|
68
|
+
F(ServerTextPrefixDerivedFromDataToken)
|
43
69
|
|
44
70
|
typedef struct {
|
45
71
|
#define DECLARE_FIELD(f) _mongocrypt_buffer_t f;
|
@@ -55,7 +81,7 @@ static void _mc_token_test_cleanup(_mc_token_test *test) {
|
|
55
81
|
}
|
56
82
|
|
57
83
|
static void _mc_token_test_run(_mongocrypt_tester_t *tester, const char *path) {
|
58
|
-
|
84
|
+
TEST_PRINTF("Loading test from %s...\n", path);
|
59
85
|
|
60
86
|
mongocrypt_binary_t *test_bin = TEST_FILE(path);
|
61
87
|
if (!test_bin) {
|
@@ -121,11 +147,11 @@ static void _mc_token_test_run(_mongocrypt_tester_t *tester, const char *path) {
|
|
121
147
|
test.serverDataEncryptionLevel1Token);
|
122
148
|
|
123
149
|
// ServerTokenDerivationLevel1Token
|
124
|
-
mc_ServerTokenDerivationLevel1Token_t *
|
150
|
+
mc_ServerTokenDerivationLevel1Token_t *ServerTokenDerivationLevel1Token =
|
125
151
|
mc_ServerTokenDerivationLevel1Token_new(crypt->crypto, &test.root, status);
|
126
|
-
ASSERT_OR_PRINT(
|
127
|
-
ASSERT_CMPBUF(*mc_ServerTokenDerivationLevel1Token_get(
|
128
|
-
test.
|
152
|
+
ASSERT_OR_PRINT(ServerTokenDerivationLevel1Token, status);
|
153
|
+
ASSERT_CMPBUF(*mc_ServerTokenDerivationLevel1Token_get(ServerTokenDerivationLevel1Token),
|
154
|
+
test.ServerTokenDerivationLevel1Token);
|
129
155
|
|
130
156
|
// (EDC|ESC|ECC|ECOC)Token
|
131
157
|
#define TEST_COLL_TOKEN(Name) \
|
@@ -138,32 +164,25 @@ static void _mc_token_test_run(_mongocrypt_tester_t *tester, const char *path) {
|
|
138
164
|
TEST_COLL_TOKEN(ECOC)
|
139
165
|
#undef TEST_COLL_TOKEN
|
140
166
|
|
167
|
+
#define TEST_HELPER(Base, BaseSuffix, TokenSuffix, ExtraArgsToNew) \
|
168
|
+
mc_##Base##TokenSuffix##_t *Base##TokenSuffix = \
|
169
|
+
mc_##Base##TokenSuffix##_new(crypt->crypto, Base##BaseSuffix, ExtraArgsToNew status); \
|
170
|
+
ASSERT_OR_PRINT(Base##TokenSuffix, status); \
|
171
|
+
ASSERT_CMPBUF(*mc_##Base##TokenSuffix##_get(Base##TokenSuffix), test.Base##TokenSuffix)
|
172
|
+
|
173
|
+
#define COMMA ,
|
174
|
+
|
141
175
|
// (EDC|ESC|ECC)DerivedFromDataToken(AndContentionFactor)?
|
142
176
|
#define TEST_DERIVED(Name) \
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
Name##DerivedFromDataToken, \
|
150
|
-
test.contentionFactor, \
|
151
|
-
status); \
|
152
|
-
ASSERT_OR_PRINT(Name##DerivedFromDataTokenAndContentionFactor, status); \
|
153
|
-
ASSERT_CMPBUF( \
|
154
|
-
*mc_##Name##DerivedFromDataTokenAndContentionFactor_get(Name##DerivedFromDataTokenAndContentionFactor), \
|
155
|
-
test.Name##DerivedFromDataTokenAndContentionFactor);
|
156
|
-
TEST_DERIVED(EDC)
|
157
|
-
TEST_DERIVED(ESC)
|
158
|
-
TEST_DERIVED(ECC)
|
159
|
-
#undef TEST_DERIVED_FROM_DATA_TOKEN
|
177
|
+
TEST_HELPER(Name, Token, DerivedFromDataToken, &test.value COMMA); \
|
178
|
+
TEST_HELPER(Name, DerivedFromDataToken, DerivedFromDataTokenAndContentionFactor, test.contentionFactor COMMA)
|
179
|
+
TEST_DERIVED(EDC);
|
180
|
+
TEST_DERIVED(ESC);
|
181
|
+
TEST_DERIVED(ECC);
|
182
|
+
#undef TEST_DERIVED
|
160
183
|
|
161
184
|
// (EDC|ESC)TwiceDerivedToken(Tag|Value)?
|
162
|
-
#define TEST_TWICE(Name, Suffix)
|
163
|
-
mc_##Name##TwiceDerived##Suffix##_t *Name##TwiceDerived##Suffix = \
|
164
|
-
mc_##Name##TwiceDerived##Suffix##_new(crypt->crypto, Name##DerivedFromDataTokenAndContentionFactor, status); \
|
165
|
-
ASSERT_OR_PRINT(Name##TwiceDerived##Suffix, status); \
|
166
|
-
ASSERT_CMPBUF(*mc_##Name##TwiceDerived##Suffix##_get(Name##TwiceDerived##Suffix), test.Name##TwiceDerived##Suffix);
|
185
|
+
#define TEST_TWICE(Name, Suffix) TEST_HELPER(Name, DerivedFromDataTokenAndContentionFactor, TwiceDerived##Suffix, )
|
167
186
|
TEST_TWICE(EDC, Token);
|
168
187
|
TEST_TWICE(ESC, TagToken);
|
169
188
|
TEST_TWICE(ESC, ValueToken);
|
@@ -171,7 +190,7 @@ static void _mc_token_test_run(_mongocrypt_tester_t *tester, const char *path) {
|
|
171
190
|
|
172
191
|
// ServerDerivedFromDataToken
|
173
192
|
mc_ServerDerivedFromDataToken_t *serverDerivedFromDataToken =
|
174
|
-
mc_ServerDerivedFromDataToken_new(crypt->crypto,
|
193
|
+
mc_ServerDerivedFromDataToken_new(crypt->crypto, ServerTokenDerivationLevel1Token, &test.value, status);
|
175
194
|
ASSERT_OR_PRINT(serverDerivedFromDataToken, status);
|
176
195
|
ASSERT_CMPBUF(*mc_ServerDerivedFromDataToken_get(serverDerivedFromDataToken), test.serverDerivedFromDataToken);
|
177
196
|
|
@@ -193,7 +212,88 @@ static void _mc_token_test_run(_mongocrypt_tester_t *tester, const char *path) {
|
|
193
212
|
ASSERT_OR_PRINT(padding, status);
|
194
213
|
ASSERT_CMPBUF(*mc_AnchorPaddingTokenRoot_get(padding), test.AnchorPaddingTokenRoot);
|
195
214
|
|
215
|
+
mc_AnchorPaddingKeyToken_t *paddingKey = mc_AnchorPaddingKeyToken_new(crypt->crypto, padding, status);
|
216
|
+
ASSERT_OR_PRINT(paddingKey, status);
|
217
|
+
ASSERT_CMPBUF(*mc_AnchorPaddingKeyToken_get(paddingKey), test.AnchorPaddingKeyToken);
|
218
|
+
|
219
|
+
mc_AnchorPaddingValueToken_t *paddingValue = mc_AnchorPaddingValueToken_new(crypt->crypto, padding, status);
|
220
|
+
ASSERT_OR_PRINT(paddingValue, status);
|
221
|
+
ASSERT_CMPBUF(*mc_AnchorPaddingValueToken_get(paddingValue), test.AnchorPaddingValueToken);
|
222
|
+
|
223
|
+
#define TEST_TEXT(Name, Suffix) TEST_HELPER(Name, Token, Text##Suffix##Token, )
|
224
|
+
#define TEST_TEXT_EXTRA(Name, Suffix, BaseSuffix) TEST_HELPER(Name, BaseSuffix##Token, Text##Suffix##Token, )
|
225
|
+
#define TEST_TEXT_DERIVED_FROM_BOTH(Name) \
|
226
|
+
TEST_HELPER(Name, \
|
227
|
+
Token, \
|
228
|
+
DerivedFromDataTokenAndContentionFactorToken, \
|
229
|
+
&test.value COMMA test.contentionFactor COMMA)
|
230
|
+
#define TEST_TEXT_DERIVED_FROM_DATA(Name) TEST_HELPER(Name, Token, DerivedFromDataToken, &test.value COMMA)
|
231
|
+
|
232
|
+
TEST_TEXT(EDC, Exact);
|
233
|
+
TEST_TEXT(EDC, Substring);
|
234
|
+
TEST_TEXT(EDC, Suffix);
|
235
|
+
TEST_TEXT(EDC, Prefix);
|
236
|
+
|
237
|
+
TEST_TEXT(ESC, Exact);
|
238
|
+
TEST_TEXT(ESC, Substring);
|
239
|
+
TEST_TEXT(ESC, Suffix);
|
240
|
+
TEST_TEXT(ESC, Prefix);
|
241
|
+
|
242
|
+
TEST_TEXT_EXTRA(Server, Exact, TokenDerivationLevel1);
|
243
|
+
TEST_TEXT_EXTRA(Server, Substring, TokenDerivationLevel1);
|
244
|
+
TEST_TEXT_EXTRA(Server, Suffix, TokenDerivationLevel1);
|
245
|
+
TEST_TEXT_EXTRA(Server, Prefix, TokenDerivationLevel1);
|
246
|
+
|
247
|
+
TEST_TEXT_DERIVED_FROM_BOTH(EDCTextExact);
|
248
|
+
TEST_TEXT_DERIVED_FROM_BOTH(EDCTextSubstring);
|
249
|
+
TEST_TEXT_DERIVED_FROM_BOTH(EDCTextPrefix);
|
250
|
+
TEST_TEXT_DERIVED_FROM_BOTH(EDCTextSuffix);
|
251
|
+
|
252
|
+
TEST_TEXT_DERIVED_FROM_BOTH(ESCTextExact);
|
253
|
+
TEST_TEXT_DERIVED_FROM_BOTH(ESCTextSubstring);
|
254
|
+
TEST_TEXT_DERIVED_FROM_BOTH(ESCTextPrefix);
|
255
|
+
TEST_TEXT_DERIVED_FROM_BOTH(ESCTextSuffix);
|
256
|
+
|
257
|
+
TEST_TEXT_DERIVED_FROM_DATA(ServerTextExact);
|
258
|
+
TEST_TEXT_DERIVED_FROM_DATA(ServerTextSubstring);
|
259
|
+
TEST_TEXT_DERIVED_FROM_DATA(ServerTextPrefix);
|
260
|
+
TEST_TEXT_DERIVED_FROM_DATA(ServerTextSuffix);
|
261
|
+
|
196
262
|
// Done.
|
263
|
+
mc_ServerTextPrefixDerivedFromDataToken_destroy(ServerTextPrefixDerivedFromDataToken);
|
264
|
+
mc_ServerTextSuffixDerivedFromDataToken_destroy(ServerTextSuffixDerivedFromDataToken);
|
265
|
+
mc_ServerTextSubstringDerivedFromDataToken_destroy(ServerTextSubstringDerivedFromDataToken);
|
266
|
+
mc_ServerTextExactDerivedFromDataToken_destroy(ServerTextExactDerivedFromDataToken);
|
267
|
+
mc_ESCTextPrefixDerivedFromDataTokenAndContentionFactorToken_destroy(
|
268
|
+
ESCTextPrefixDerivedFromDataTokenAndContentionFactorToken);
|
269
|
+
mc_ESCTextSuffixDerivedFromDataTokenAndContentionFactorToken_destroy(
|
270
|
+
ESCTextSuffixDerivedFromDataTokenAndContentionFactorToken);
|
271
|
+
mc_ESCTextSubstringDerivedFromDataTokenAndContentionFactorToken_destroy(
|
272
|
+
ESCTextSubstringDerivedFromDataTokenAndContentionFactorToken);
|
273
|
+
mc_ESCTextExactDerivedFromDataTokenAndContentionFactorToken_destroy(
|
274
|
+
ESCTextExactDerivedFromDataTokenAndContentionFactorToken);
|
275
|
+
mc_EDCTextPrefixDerivedFromDataTokenAndContentionFactorToken_destroy(
|
276
|
+
EDCTextPrefixDerivedFromDataTokenAndContentionFactorToken);
|
277
|
+
mc_EDCTextSuffixDerivedFromDataTokenAndContentionFactorToken_destroy(
|
278
|
+
EDCTextSuffixDerivedFromDataTokenAndContentionFactorToken);
|
279
|
+
mc_EDCTextSubstringDerivedFromDataTokenAndContentionFactorToken_destroy(
|
280
|
+
EDCTextSubstringDerivedFromDataTokenAndContentionFactorToken);
|
281
|
+
mc_EDCTextExactDerivedFromDataTokenAndContentionFactorToken_destroy(
|
282
|
+
EDCTextExactDerivedFromDataTokenAndContentionFactorToken);
|
283
|
+
mc_ServerTextPrefixToken_destroy(ServerTextPrefixToken);
|
284
|
+
mc_ServerTextSuffixToken_destroy(ServerTextSuffixToken);
|
285
|
+
mc_ServerTextSubstringToken_destroy(ServerTextSubstringToken);
|
286
|
+
mc_ServerTextExactToken_destroy(ServerTextExactToken);
|
287
|
+
mc_ESCTextPrefixToken_destroy(ESCTextPrefixToken);
|
288
|
+
mc_ESCTextSuffixToken_destroy(ESCTextSuffixToken);
|
289
|
+
mc_ESCTextSubstringToken_destroy(ESCTextSubstringToken);
|
290
|
+
mc_ESCTextExactToken_destroy(ESCTextExactToken);
|
291
|
+
mc_EDCTextPrefixToken_destroy(EDCTextPrefixToken);
|
292
|
+
mc_EDCTextSuffixToken_destroy(EDCTextSuffixToken);
|
293
|
+
mc_EDCTextSubstringToken_destroy(EDCTextSubstringToken);
|
294
|
+
mc_EDCTextExactToken_destroy(EDCTextExactToken);
|
295
|
+
mc_AnchorPaddingValueToken_destroy(paddingValue);
|
296
|
+
mc_AnchorPaddingKeyToken_destroy(paddingKey);
|
197
297
|
mc_AnchorPaddingTokenRoot_destroy(padding);
|
198
298
|
mc_ServerZerosEncryptionToken_destroy(serverZeros);
|
199
299
|
mc_ServerCountAndContentionFactorEncryptionToken_destroy(serverCACFET);
|
@@ -211,14 +311,14 @@ static void _mc_token_test_run(_mongocrypt_tester_t *tester, const char *path) {
|
|
211
311
|
mc_ECCToken_destroy(ECCToken);
|
212
312
|
mc_ESCToken_destroy(ESCToken);
|
213
313
|
mc_EDCToken_destroy(EDCToken);
|
214
|
-
mc_ServerTokenDerivationLevel1Token_destroy(
|
314
|
+
mc_ServerTokenDerivationLevel1Token_destroy(ServerTokenDerivationLevel1Token);
|
215
315
|
mc_ServerDataEncryptionLevel1Token_destroy(serverDataEncryptionLevel1Token);
|
216
316
|
mc_CollectionsLevel1Token_destroy(collectionsLevel1Token);
|
217
317
|
_mc_token_test_cleanup(&test);
|
218
318
|
mongocrypt_destroy(crypt);
|
219
319
|
mongocrypt_status_destroy(status);
|
220
320
|
|
221
|
-
|
321
|
+
TEST_PRINTF("Finished tests in %s\n", path);
|
222
322
|
}
|
223
323
|
|
224
324
|
static void _test_mc_tokens(_mongocrypt_tester_t *tester) {
|
@@ -247,14 +347,16 @@ static void _test_mc_tokens_error(_mongocrypt_tester_t *tester) {
|
|
247
347
|
}
|
248
348
|
|
249
349
|
static void _test_mc_tokens_raw_buffer(_mongocrypt_tester_t *tester) {
|
250
|
-
mc_ServerDataEncryptionLevel1Token_t *
|
350
|
+
mc_ServerDataEncryptionLevel1Token_t *token1;
|
351
|
+
mc_ServerDataEncryptionLevel1Token_t *token2;
|
251
352
|
_mongocrypt_buffer_t test_input;
|
252
353
|
_mongocrypt_buffer_t expected;
|
253
354
|
|
254
355
|
_mongocrypt_buffer_copy_from_hex(&test_input, "6c6a349956c19f9c5e638e612011a71fbb71921edb540310c17cd0208b7f548b");
|
255
356
|
|
256
357
|
/* Make a token from a raw buffer */
|
257
|
-
|
358
|
+
token1 = mc_ServerDataEncryptionLevel1Token_new_from_buffer(&test_input);
|
359
|
+
token2 = mc_ServerDataEncryptionLevel1Token_new_from_buffer_copy(&test_input);
|
258
360
|
|
259
361
|
/* Assert new_from_buffer did not steal ownership. */
|
260
362
|
ASSERT(test_input.owned);
|
@@ -262,16 +364,21 @@ static void _test_mc_tokens_raw_buffer(_mongocrypt_tester_t *tester) {
|
|
262
364
|
|
263
365
|
_mongocrypt_buffer_copy_from_hex(&expected, "6c6a349956c19f9c5e638e612011a71fbb71921edb540310c17cd0208b7f548b");
|
264
366
|
|
265
|
-
ASSERT_CMPBUF(*mc_ServerDataEncryptionLevel1Token_get(
|
367
|
+
ASSERT_CMPBUF(*mc_ServerDataEncryptionLevel1Token_get(token1), expected);
|
368
|
+
ASSERT_CMPBUF(*mc_ServerDataEncryptionLevel1Token_get(token2), expected);
|
266
369
|
|
267
370
|
/* Assert new_from_buffer references original buffer instead of a copy. */
|
268
371
|
test_input.data[0] = '0';
|
269
372
|
expected.data[0] = '0';
|
270
|
-
ASSERT_CMPBUF(*mc_ServerDataEncryptionLevel1Token_get(
|
373
|
+
ASSERT_CMPBUF(*mc_ServerDataEncryptionLevel1Token_get(token1), expected);
|
374
|
+
|
375
|
+
// Assert new_from_buffer_copy references a new buffer.
|
376
|
+
ASSERT_CMPUINT8(mc_ServerDataEncryptionLevel1Token_get(token2)->data[0], !=, expected.data[0]);
|
271
377
|
|
272
378
|
_mongocrypt_buffer_cleanup(&test_input);
|
273
379
|
_mongocrypt_buffer_cleanup(&expected);
|
274
|
-
mc_ServerDataEncryptionLevel1Token_destroy(
|
380
|
+
mc_ServerDataEncryptionLevel1Token_destroy(token1);
|
381
|
+
mc_ServerDataEncryptionLevel1Token_destroy(token2);
|
275
382
|
}
|
276
383
|
|
277
384
|
void _mongocrypt_tester_install_mc_tokens(_mongocrypt_tester_t *tester) {
|
@@ -167,7 +167,7 @@ bool match_json(const bson_t *doc,
|
|
167
167
|
pattern = bson_new_from_json((const uint8_t *)double_quoted, -1, &error);
|
168
168
|
|
169
169
|
if (!pattern) {
|
170
|
-
|
170
|
+
TEST_STDERR_PRINTF("couldn't parse JSON: %s\n", error.message);
|
171
171
|
abort();
|
172
172
|
}
|
173
173
|
|
@@ -176,18 +176,17 @@ bool match_json(const bson_t *doc,
|
|
176
176
|
|
177
177
|
if (!matches) {
|
178
178
|
char *as_string = doc ? bson_as_canonical_extended_json(doc, NULL) : NULL;
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
funcname);
|
179
|
+
TEST_STDERR_PRINTF("ASSERT_MATCH failed with document:\n\n"
|
180
|
+
"%s\n"
|
181
|
+
"pattern:\n%s\n"
|
182
|
+
"%s\n"
|
183
|
+
"%s:%d %s()\n",
|
184
|
+
as_string ? as_string : "{}",
|
185
|
+
double_quoted,
|
186
|
+
ctx.errmsg,
|
187
|
+
filename,
|
188
|
+
lineno,
|
189
|
+
funcname);
|
191
190
|
bson_free(as_string);
|
192
191
|
}
|
193
192
|
|
@@ -580,7 +579,7 @@ static bool get_type_operator(const bson_value_t *value, bson_type_t *out) {
|
|
580
579
|
} else if (0 == strcasecmp("maxKey", value_string)) {
|
581
580
|
*out = BSON_TYPE_MAXKEY;
|
582
581
|
} else {
|
583
|
-
|
582
|
+
TEST_STDERR_PRINTF("unrecognized $$type value: %s\n", value_string);
|
584
583
|
abort();
|
585
584
|
}
|
586
585
|
return true;
|
@@ -25,12 +25,29 @@
|
|
25
25
|
|
26
26
|
#include <stdio.h>
|
27
27
|
|
28
|
-
|
29
|
-
|
30
|
-
|
28
|
+
// TEST_PRINTF ensures stdout and stderr are flushed.
|
29
|
+
#define TEST_PRINTF(...) \
|
30
|
+
if (1) { \
|
31
|
+
fflush(stderr); \
|
32
|
+
fprintf(stdout, __VA_ARGS__); \
|
33
|
+
fflush(stdout); \
|
34
|
+
} else \
|
35
|
+
((void)0)
|
36
|
+
|
37
|
+
// TEST_STDERR_PRINTF ensures stdout and stderr are flushed.
|
38
|
+
#define TEST_STDERR_PRINTF(...) \
|
39
|
+
if (1) { \
|
40
|
+
fflush(stdout); \
|
31
41
|
fprintf(stderr, __VA_ARGS__); \
|
32
|
-
fprintf(stderr, "\n"); \
|
33
42
|
fflush(stderr); \
|
43
|
+
} else \
|
44
|
+
((void)0)
|
45
|
+
|
46
|
+
#define TEST_ERROR(...) \
|
47
|
+
do { \
|
48
|
+
TEST_STDERR_PRINTF("test error %s:%d %s(): ", __FILE__, __LINE__, __FUNCTION__); \
|
49
|
+
TEST_STDERR_PRINTF(__VA_ARGS__); \
|
50
|
+
TEST_STDERR_PRINTF("\n"); \
|
34
51
|
abort(); \
|
35
52
|
} while (0)
|
36
53
|
|
@@ -16,6 +16,7 @@
|
|
16
16
|
|
17
17
|
#include <mongocrypt-marking-private.h>
|
18
18
|
|
19
|
+
#include "mongocrypt-buffer-private.h"
|
19
20
|
#include "test-mongocrypt-assert.h"
|
20
21
|
#include "test-mongocrypt.h"
|
21
22
|
|
@@ -232,6 +233,29 @@ static void _test_mongocrypt_buffer_from_subrange(_mongocrypt_tester_t *tester)
|
|
232
233
|
_mongocrypt_buffer_cleanup(&input);
|
233
234
|
}
|
234
235
|
|
236
|
+
static void _test_mongocrypt_buffer_copy_from_string_as_bson_value(_mongocrypt_tester_t *tester) {
|
237
|
+
_mongocrypt_buffer_t buf;
|
238
|
+
_mongocrypt_buffer_t expectedLenBuf;
|
239
|
+
const char *data = "foobar";
|
240
|
+
|
241
|
+
// expect output to contain 4-byte length + data + null string terminator
|
242
|
+
size_t expectedLen = sizeof(int32_t) + strlen(data) + sizeof(uint8_t);
|
243
|
+
_mongocrypt_buffer_copy_from_hex(&expectedLenBuf, "07000000");
|
244
|
+
|
245
|
+
_mongocrypt_buffer_copy_from_string_as_bson_value(&buf, data, (int)strlen(data));
|
246
|
+
ASSERT(buf.len == expectedLen);
|
247
|
+
|
248
|
+
// check 4-byte length
|
249
|
+
ASSERT_CMPBYTES(expectedLenBuf.data, expectedLenBuf.len, buf.data, expectedLenBuf.len);
|
250
|
+
// check data + null byte
|
251
|
+
ASSERT_CMPBYTES((const uint8_t *)data,
|
252
|
+
strlen(data) + 1,
|
253
|
+
buf.data + expectedLenBuf.len,
|
254
|
+
buf.len - expectedLenBuf.len);
|
255
|
+
_mongocrypt_buffer_cleanup(&buf);
|
256
|
+
_mongocrypt_buffer_cleanup(&expectedLenBuf);
|
257
|
+
}
|
258
|
+
|
235
259
|
void _mongocrypt_tester_install_buffer(_mongocrypt_tester_t *tester) {
|
236
260
|
INSTALL_TEST(_test_mongocrypt_buffer_from_iter);
|
237
261
|
INSTALL_TEST(_test_mongocrypt_buffer_copy_from_data_and_size);
|
@@ -239,4 +263,5 @@ void _mongocrypt_tester_install_buffer(_mongocrypt_tester_t *tester) {
|
|
239
263
|
INSTALL_TEST(_test_mongocrypt_buffer_steal_from_string);
|
240
264
|
INSTALL_TEST(_test_mongocrypt_buffer_copy_from_uint64_le);
|
241
265
|
INSTALL_TEST(_test_mongocrypt_buffer_from_subrange);
|
266
|
+
INSTALL_TEST(_test_mongocrypt_buffer_copy_from_string_as_bson_value);
|
242
267
|
}
|
@@ -86,8 +86,9 @@ static void _test_cache_expiration(_mongocrypt_tester_t *tester) {
|
|
86
86
|
BSON_ASSERT(bson_equal(entry, tmp));
|
87
87
|
bson_destroy(tmp);
|
88
88
|
|
89
|
-
|
90
|
-
|
89
|
+
// Sleep to trigger cache expiration.
|
90
|
+
// Cache entries expire after 1ms, but use 20ms to avoid timing errors observed on Windows distros: CDRIVER-4526
|
91
|
+
_usleep(20 * 1000);
|
91
92
|
|
92
93
|
BSON_ASSERT(_mongocrypt_cache_get(&cache, "1", (void **)&tmp));
|
93
94
|
BSON_ASSERT(!tmp);
|
@@ -813,7 +813,7 @@ static void test_setting_only_ctr_hook(_mongocrypt_tester_t *tester) {
|
|
813
813
|
// macOS <= 10.14 does not support native CTR encryption.
|
814
814
|
|
815
815
|
if (!_aes_ctr_is_supported_by_os) {
|
816
|
-
|
816
|
+
TEST_PRINTF("Common Crypto with no CTR support detected. Skipping.");
|
817
817
|
return;
|
818
818
|
}
|
819
819
|
|
@@ -17,6 +17,7 @@
|
|
17
17
|
#include <mongocrypt-crypto-private.h>
|
18
18
|
#include <mongocrypt.h>
|
19
19
|
|
20
|
+
#include "test-mongocrypt-assert.h"
|
20
21
|
#include "test-mongocrypt.h"
|
21
22
|
|
22
23
|
typedef struct {
|
@@ -49,11 +50,11 @@ static bool _test_uses_ctr(const _test_mc_crypto_roundtrip_t *test) {
|
|
49
50
|
|
50
51
|
static void _test_roundtrip_single(const _test_mc_crypto_roundtrip_t *test) {
|
51
52
|
if (!_aes_ctr_is_supported_by_os && _test_uses_ctr(test)) {
|
52
|
-
|
53
|
+
TEST_PRINTF("Common Crypto with no CTR support detected. Skipping %s", test->name);
|
53
54
|
return;
|
54
55
|
}
|
55
56
|
|
56
|
-
|
57
|
+
TEST_PRINTF("Begin %s...\n", test->name);
|
57
58
|
|
58
59
|
mongocrypt_t *crypt = _mongocrypt_tester_mongocrypt(TESTER_MONGOCRYPT_DEFAULT);
|
59
60
|
mongocrypt_status_t *const status = mongocrypt_status_new();
|
@@ -125,7 +126,7 @@ done:
|
|
125
126
|
mongocrypt_status_destroy(status);
|
126
127
|
mongocrypt_destroy(crypt);
|
127
128
|
|
128
|
-
|
129
|
+
TEST_PRINTF("End %s...\n", test->name);
|
129
130
|
}
|
130
131
|
|
131
132
|
static const _mongocrypt_value_encryption_algorithm_t *get_algo_by_name(const char *name) {
|
@@ -233,7 +234,7 @@ static void _test_mc_crypto_roundtrip_destroy(_test_mc_crypto_roundtrip_t *test)
|
|
233
234
|
}
|
234
235
|
|
235
236
|
static void _test_roundtrip_set(_mongocrypt_tester_t *tester, const char *path) {
|
236
|
-
|
237
|
+
TEST_PRINTF("Loading tests from %s...\n", path);
|
237
238
|
|
238
239
|
mongocrypt_binary_t *test_bin = TEST_FILE(path);
|
239
240
|
if (!test_bin) {
|
@@ -259,7 +260,7 @@ static void _test_roundtrip_set(_mongocrypt_tester_t *tester, const char *path)
|
|
259
260
|
_test_mc_crypto_roundtrip_destroy(&test);
|
260
261
|
}
|
261
262
|
|
262
|
-
|
263
|
+
TEST_PRINTF("Finished tests in %s\n", path);
|
263
264
|
}
|
264
265
|
|
265
266
|
static void _test_roundtrip(_mongocrypt_tester_t *tester) {
|
@@ -324,7 +325,7 @@ void _test_native_crypto_hmac_sha_256(_mongocrypt_tester_t *tester) {
|
|
324
325
|
_mongocrypt_buffer_t got;
|
325
326
|
mongocrypt_status_t *status;
|
326
327
|
|
327
|
-
|
328
|
+
TEST_PRINTF("Begin test '%s'.\n", test->testname);
|
328
329
|
|
329
330
|
_mongocrypt_buffer_copy_from_hex(&key, test->key);
|
330
331
|
_mongocrypt_buffer_copy_from_hex(&input, test->input);
|
@@ -347,7 +348,7 @@ void _test_native_crypto_hmac_sha_256(_mongocrypt_tester_t *tester) {
|
|
347
348
|
_mongocrypt_buffer_cleanup(&input);
|
348
349
|
_mongocrypt_buffer_cleanup(&key);
|
349
350
|
|
350
|
-
|
351
|
+
TEST_PRINTF("End test '%s'.\n", test->testname);
|
351
352
|
}
|
352
353
|
|
353
354
|
mongocrypt_destroy(crypt);
|
@@ -432,9 +433,38 @@ static void _test_random_int64(_mongocrypt_tester_t *tester) {
|
|
432
433
|
mongocrypt_destroy(crypt);
|
433
434
|
}
|
434
435
|
|
436
|
+
static void _test_aes_256_aead_steps_consistent(_mongocrypt_tester_t *tester) {
|
437
|
+
mongocrypt_status_t *status = mongocrypt_status_new();
|
438
|
+
// Tests a key assumption we make that if 16k <= a <= b <= 16k + 15 (a, b, k integers), a plaintext of length a and
|
439
|
+
// a plaintext of length b produce a ciphertext of the same length, and a plaintext of length 16k produces a
|
440
|
+
// ciphertext 16 bytes longer than one of length 16(k-1). This is very important for the leakage profile of QE text
|
441
|
+
// search.
|
442
|
+
const _mongocrypt_value_encryption_algorithm_t *alg = _mcFLE2v2AEADAlgorithm();
|
443
|
+
size_t ciphertext_len = 0;
|
444
|
+
for (int i = 0; i <= 16; i++) {
|
445
|
+
size_t new_ct_len = alg->get_ciphertext_len(i * 16, status);
|
446
|
+
if (new_ct_len == 0) {
|
447
|
+
TEST_ERROR("get_ciphertext_len failed");
|
448
|
+
}
|
449
|
+
if (i != 0) {
|
450
|
+
ASSERT_CMPSIZE_T(new_ct_len, ==, ciphertext_len + 16);
|
451
|
+
}
|
452
|
+
ciphertext_len = new_ct_len;
|
453
|
+
for (int j = 1; j < 16; j++) {
|
454
|
+
size_t ct_len = alg->get_ciphertext_len(i * 16 + j, status);
|
455
|
+
if (ct_len == 0) {
|
456
|
+
TEST_ERROR("get_ciphertext_len failed");
|
457
|
+
}
|
458
|
+
ASSERT_CMPSIZE_T(ct_len, ==, ciphertext_len);
|
459
|
+
}
|
460
|
+
}
|
461
|
+
mongocrypt_status_destroy(status);
|
462
|
+
}
|
463
|
+
|
435
464
|
void _mongocrypt_tester_install_crypto(_mongocrypt_tester_t *tester) {
|
436
465
|
INSTALL_TEST(_test_roundtrip);
|
437
466
|
INSTALL_TEST(_test_native_crypto_hmac_sha_256);
|
438
467
|
INSTALL_TEST_CRYPTO(_test_mongocrypt_hmac_sha_256_hook, CRYPTO_OPTIONAL);
|
439
468
|
INSTALL_TEST(_test_random_int64);
|
469
|
+
INSTALL_TEST(_test_aes_256_aead_steps_consistent);
|
440
470
|
}
|
@@ -170,6 +170,26 @@ static void _test_override_error_includes_reason(_mongocrypt_tester_t *tester) {
|
|
170
170
|
mongocrypt_destroy(crypt);
|
171
171
|
}
|
172
172
|
|
173
|
+
static void _test_lookup_version_check(_mongocrypt_tester_t *tester) {
|
174
|
+
if (!TEST_MONGOCRYPT_HAVE_REAL_CRYPT_SHARED_LIB) {
|
175
|
+
TEST_STDERR_PRINTF("No 'real' csfle library is available. The %s test is a no-op.\n", BSON_FUNC);
|
176
|
+
return;
|
177
|
+
}
|
178
|
+
|
179
|
+
#define CRYPT_SHARED_8_1 0x0008000100000000ull
|
180
|
+
mongocrypt_t *crypt = _mongocrypt_tester_mongocrypt(TESTER_MONGOCRYPT_WITH_CRYPT_SHARED_LIB);
|
181
|
+
uint64_t version = crypt->csfle.get_version();
|
182
|
+
mongocrypt_ctx_t *ctx = mongocrypt_ctx_new(crypt);
|
183
|
+
mongocrypt_binary_t *cmd = TEST_FILE("./test/data/lookup/csfle/01-cmd.json");
|
184
|
+
if (version >= CRYPT_SHARED_8_1) {
|
185
|
+
ASSERT_OK(mongocrypt_ctx_encrypt_init(ctx, "db", -1, cmd), ctx);
|
186
|
+
} else {
|
187
|
+
ASSERT_FAILS(mongocrypt_ctx_encrypt_init(ctx, "db", -1, cmd), ctx, "Upgrade crypt_shared");
|
188
|
+
}
|
189
|
+
mongocrypt_ctx_destroy(ctx);
|
190
|
+
mongocrypt_destroy(crypt);
|
191
|
+
}
|
192
|
+
|
173
193
|
void _mongocrypt_tester_install_csfle_lib(_mongocrypt_tester_t *tester) {
|
174
194
|
INSTALL_TEST(_test_csfle_no_paths);
|
175
195
|
INSTALL_TEST(_test_csfle_not_found);
|
@@ -181,4 +201,5 @@ void _mongocrypt_tester_install_csfle_lib(_mongocrypt_tester_t *tester) {
|
|
181
201
|
INSTALL_TEST(_test_cur_exe_path);
|
182
202
|
INSTALL_TEST(_test_csfle_not_loaded_with_bypassqueryanalysis);
|
183
203
|
INSTALL_TEST(_test_override_error_includes_reason);
|
204
|
+
INSTALL_TEST(_test_lookup_version_check);
|
184
205
|
}
|