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
data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range/int64/encrypted-field-map.json
DELETED
@@ -1,28 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"db.test": {
|
3
|
-
"escCollection": "fle2.test.esc",
|
4
|
-
"eccCollection": "fle2.test.ecc",
|
5
|
-
"ecocCollection": "fle2.test.ecoc",
|
6
|
-
"fields": [
|
7
|
-
{
|
8
|
-
"keyId": {
|
9
|
-
"$binary": {
|
10
|
-
"base64": "EjRWeBI0mHYSNBI0VniQEg==",
|
11
|
-
"subType": "04"
|
12
|
-
}
|
13
|
-
},
|
14
|
-
"path": "encrypted",
|
15
|
-
"bsonType": "long",
|
16
|
-
"queries": {
|
17
|
-
"queryType": "rangePreview",
|
18
|
-
"contention": {
|
19
|
-
"$numberInt": "0"
|
20
|
-
},
|
21
|
-
"sparsity": {
|
22
|
-
"$numberInt": "1"
|
23
|
-
}
|
24
|
-
}
|
25
|
-
}
|
26
|
-
]
|
27
|
-
}
|
28
|
-
}
|
@@ -1,42 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"find": "test",
|
3
|
-
"filter": {
|
4
|
-
"encrypted": {
|
5
|
-
"$binary": {
|
6
|
-
"base64": "CoENAAADcGF5bG9hZABRDQAABGcAFQ0AAAMwAH0AAAAFZAAgAAAAAKfR876j77BmHaWxFf7Px/B695Rn7JAN3upnEpaEqFT+BXMAIAAAAACXqoD16/Q8tNDRR7gP222DxV0SBOSZ4bqsxYILo8a/0wVjACAAAAAAFAp92kX7YI+mD8PNYqm41Kd3P11+jOfwGIyrjlrQBE0AAzEAfQAAAAVkACAAAAAAFZrNM5FCAtSO/byGlttV1cOPi0WkP2/PuoQZjFHeUUkFcwAgAAAAAE5nD0Zrfehl/s1tgryKVHVZnuEV3drVvEHiAjCUVMAJBWMAIAAAAACUXD1tRPTmwNr8nWQevjbZJrygI62wUVVIT+rDBdyqXgADMgB9AAAABWQAIAAAAADLBfodwqoK85mqO/RBZbe11FQ1WMQ5TriafX3dp41FCwVzACAAAAAA9l023mGXbvO8y/gDYxhLivYrcJtaByLnKh8S51oaZZoFYwAgAAAAAOE42obpG12fXarlAeYvcujOue4Tdu6O/vQLCY7jtRaeAAMzAH0AAAAFZAAgAAAAAO9plUESIDneHgrY/f9U5lTjbWRSZntI8KlP6TXZF/9UBXMAIAAAAAB9XQ9jWdACGGIZZJiYisZoSPo9Pj3Rvh8oKD4VxtctfAVjACAAAAAAdsb7NATJoLocpE4UcbOUrGRXR6YeGq+3Q9UYtj5biS4AAzQAfQAAAAVkACAAAAAA2hcCWxWnjhfXg7/S554dgILGwLkmZrIpxzBaA/bwJ5oFcwAgAAAAAFtSEQT8Tmivj7gjtqVemg3K7XGM1WvMKLlivDODwitvBWMAIAAAAADgfqF+2GnrpHg3GnGTSgd1S0w4mCAEU8oc20NkCw+N8AADNQB9AAAABWQAIAAAAACnMpO0W88naATkzyBQbehLUzI1chrFIceAWoFLEZ2umgVzACAAAAAAl2n3B1kjP4XqBUhRmD5+xpWu2XDHDH7LnD/7Q7hoTqgFYwAgAAAAADzLJntWHAcfhwSx/n9q5DNPp0XsxoOsg47wsJS6miPZAAM2AH0AAAAFZAAgAAAAAAluaRdNRjUWvKqF8hBzAbi/PQo2X4xFpZtmltnA5WZ6BXMAIAAAAADPTpEz3N5BvgrfWg0cSexVcIT9QBcxXDUGeljLfn7roAVjACAAAAAAmyM6LNM0OrwIPh4UN2W3BHHFpjxdi/eCcvEC9asFrOMAAzcAfQAAAAVkACAAAAAA8YSXVUGvEmCPtyA4aM2g4PTEnROr6m/JqWFPz/I3fNkFcwAgAAAAAAg10q0rDXgxGNT93Jwc1dIZEUHt3s+ob2/8/ad8Y+SNBWMAIAAAAABzjITTVbDICxRwIGYSTgGwdREKWh1KLHv9yIefqDcC+QADOAB9AAAABWQAIAAAAADmqAGoXjLDxOFsLAMyPXOkt3EJF3RKqRBZlKYEBec+KwVzACAAAAAAUC6SJGlCoU6dOWSPAAP79aAb/KIZnJpuyvv7I6hzGIMFYwAgAAAAAESJgoI9amE820gbiuN4qYDrIiO9hPuoKaP0YTo7UyEFAAM5AH0AAAAFZAAgAAAAAN/vipid0wavMuYm6q0Qej8I+0MZPIO/sysW2fAMMRgtBXMAIAAAAABhgUDVegsnV78ZNmD8Ad+G+L7bhvFs+T+LY3zDTjEchAVjACAAAAAAONMa+/sTdL3er5zvo8LNerVJB6z+4N7fo88SRleSTGEAAzEwAH0AAAAFZAAgAAAAAJzIrJiV6IdouJe+T3EVegGE973goofh4QLPb3I4F+cqBXMAIAAAAAB56y67x2z8Pd/3ChjAw69wuFnahdqfyxfnvW7QvOsEKAVjACAAAAAAMYFvkHV3Pa7mzYv1qJ6Q/nh9q5TioFiWhJjuwvqLHTcAAzExAH0AAAAFZAAgAAAAABZvmCekYSVglzFe5FL+CoV0i5KjmDwvqMHVGApZe5vTBXMAIAAAAAAC91Pt03x+pRD80ZVX/7smx2TyCpnqAy4lVvF3TyspaAVjACAAAAAABrwH8KjsVAkShU9+0YSZmWhEGmWn8i6Sx3ODgFeyHAwAAzEyAH0AAAAFZAAgAAAAANzRchBZFlSsxneCNq4hBVa6QRPrYW+tB8AV+SQ/evNLBXMAIAAAAADMCXCbGCnmG0B8hyy5/vqT5TaA+0eQv9ihkS3uyELDJgVjACAAAAAAO8wlam7tk3vl+ISmdoxwTftl3WkgFsGM3xqSEU+vzasAAzEzAH0AAAAFZAAgAAAAAJlfE4PVSVhiV0MUCkADagHeWmJXo3a3fokzKYIhIVeJBXMAIAAAAACr2IKAxCfGSCun4izvMYY3Y9Fs4wh6dtTmi2bW0DvZ2wVjACAAAAAA7Si5K8UPqjl7lQzmLHvQVrwnX6JFAiYfDo03TyVPkaIAAzE0AH0AAAAFZAAgAAAAAARBx5KrGgivFwv1HncHI5PakuJTFlFbQpgx8GLDoTjQBXMAIAAAAABLs2xM85oCKAFHh8f9a6ZI53LcCd1b4+RwqeCvU3Y8XAVjACAAAAAAxsbeHaMAboz9/RZIoPxSezcz1c3ucLBglxZuAtr5h20AAzE1AH0AAAAFZAAgAAAAADa3sc1oraS1k+f5kz0bP/VAI8whsZmKx61wL9H92XicBXMAIAAAAAAnwxVX0gAxYFOoP14PKCtOPDksSfR++d/CjffYBVurdwVjACAAAAAAxeAEJN8stpVE/ipzfnSMBIe4tdz+M3RaE1JGzckxrREAAzE2AH0AAAAFZAAgAAAAAIVM7+M9JwZPQACwNIHkD/ZqlNA2FZQFdXJdo8bfUX4PBXMAIAAAAABpG3yn1N8JwanquFi3vUaLWKjzi1HUSMfIPM/xlCBqnAVjACAAAAAAq+SH8fEMQaOe9Mccbrd6gBbhf4O54LzhNWmCDxxJCoYAAzE3AH0AAAAFZAAgAAAAAKYYm2QnEs1cBoODhk/EUTIypw+w/Y6f+K1sgpcZDLQmBXMAIAAAAAB+95xrWxV4hFxipmtk8sLCkc1pLMB7vS4j8CNw8/+HOwVjACAAAAAAE66/IdQZw4uYxW7vbCIa/wGAP1zlp6vOIMQ3Qh9nYwIAAzE4AH0AAAAFZAAgAAAAAOBpiNsiKVq1JOV5dWF0I+nUJ2sH9vy0ewv62mnGtLFaBXMAIAAAAABe6yzBO7bUcbs+RzTzLr9BGeY12mLXpCStrMB0urFteAVjACAAAAAA/3V9aUUXdf3EkiK/w0eo6Lm7Te1EE8rVZEiQgIpb5JgAAzE5AH0AAAAFZAAgAAAAAP2IBZxLNspoTPMraca0CfKhEocv/NcyyQQq9ZTGoNv/BXMAIAAAAACoq5/5PJ1s1LRwmrtanxViywKp9jERF1mGcGrhjUkX2AVjACAAAAAAzB9DiKSfF7j0/DdhjasFfYIbZw8l9MIFFB4euADgpEEAAzIwAH0AAAAFZAAgAAAAALBNlrMGNjhHwk8Lx97PYFZXx7QfDQhxKBYR3kLHr1IyBXMAIAAAAAA2jChQugSYMZBSW7hV5sEL9Hwp6jWd5Sucdwb1ByzS3gVjACAAAAAAgeW3+2hAKq7Dg3yX2hBfuu7sGNBaWvb549TqyjqhJgkAAzIxAH0AAAAFZAAgAAAAAEnZRVntb1MzQky6eD0K3tCySiGf4FLoyRlW56KnCog7BXMAIAAAAAAd1n7PJbc7BiAU3yvDmy4Ht51tJqE6papne4i/xxlkfQVjACAAAAAAakmV4lUZUtRJf61pC1IWxVKe7ZvSatyq8qAFFsEB7rEAAzIyAH0AAAAFZAAgAAAAAKhexbhP3PeY6EBPmujthzaosaSSZFIMq5HnQwtFWWveBXMAIAAAAADMqCakj5/y4l6RZH7VjFd6cgHeE1NlLyRdCOFpHxGXQQVjACAAAAAAA7VfozBi3zNch9dT/OjSKXEsQUfBkM+XlnPGvt7hNSwAAzIzAH0AAAAFZAAgAAAAABnSfdBCATnGexxKQV7swwfxf2nk/wxIfjvffm3k4coFBXMAIAAAAADaPqt/BvDx4Nt6U22nZDYIBGR5jvRR/ba0UkqFYGOscQVjACAAAAAA56banTwJUhHR3rWcm3m1YVapVrfnr1JBFf7jLvBt/pgAAzI0AH0AAAAFZAAgAAAAAPmG04KhEpPRHPRRnfAwWJ5k2wbAjLkqt6yHwMKeV6A2BXMAIAAAAABpgK5RiOaz3M0GgZrDahUXZwGxolwCh9hEp+/G2VI9GwVjACAAAAAAeXoV+dv/WBs6IT43YBChS9YK8phITnXIfHE9fVbqF10AAzI1AH0AAAAFZAAgAAAAAFIxOj92Wi83wPyQ02iWdWdurZwzFndnx5pq3pY1w/4nBXMAIAAAAAASXgOXGFzKOyaetG1s/ZUGyNdW0X+5wRE8ln0fFudoxQVjACAAAAAAknJZl52juhXN0Npu5zYsR8qOtnQQ5sA1GqQHgFKzG8IAAAVlACAAAAAA65pz95EthqQpfoHS9nWvdCh05AV+OokP7GUaI+7j8+wSY20AAAAAAAAAAAAAEHBheWxvYWRJZADSBAAAEGZpcnN0T3BlcmF0b3IAAQAAAAA=",
|
7
|
-
"subType": "6"
|
8
|
-
}
|
9
|
-
}
|
10
|
-
},
|
11
|
-
"encryptionInformation": {
|
12
|
-
"type": 1,
|
13
|
-
"schema": {
|
14
|
-
"db.test": {
|
15
|
-
"escCollection": "fle2.test.esc",
|
16
|
-
"eccCollection": "fle2.test.ecc",
|
17
|
-
"ecocCollection": "fle2.test.ecoc",
|
18
|
-
"fields": [
|
19
|
-
{
|
20
|
-
"keyId": {
|
21
|
-
"$binary": {
|
22
|
-
"base64": "EjRWeBI0mHYSNBI0VniQEg==",
|
23
|
-
"subType": "04"
|
24
|
-
}
|
25
|
-
},
|
26
|
-
"path": "encrypted",
|
27
|
-
"bsonType": "long",
|
28
|
-
"queries": {
|
29
|
-
"queryType": "rangePreview",
|
30
|
-
"contention": {
|
31
|
-
"$numberInt": "0"
|
32
|
-
},
|
33
|
-
"sparsity": {
|
34
|
-
"$numberInt": "1"
|
35
|
-
}
|
36
|
-
}
|
37
|
-
}
|
38
|
-
]
|
39
|
-
}
|
40
|
-
}
|
41
|
-
}
|
42
|
-
}
|
@@ -1,50 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"ok": {
|
3
|
-
"$numberInt": "1"
|
4
|
-
},
|
5
|
-
"result": {
|
6
|
-
"find": "test",
|
7
|
-
"filter": {
|
8
|
-
"encrypted": {
|
9
|
-
"$binary": {
|
10
|
-
"base64": "A/wAAAAQdAACAAAAEGEAAwAAAAVraQAQAAAABBI0VngSNJh2EjQSNFZ4kBIFa3UAEAAAAASrze+rEjSYdhI0EjRWeJASA3YAnQAAAANlZGdlc0luZm8AawAAABJsb3dlckJvdW5kAAAAAAAAAAAACGxiSW5jbHVkZWQAARJ1cHBlckJvdW5kABWB6X30ECIRCHViSW5jbHVkZWQAARJpbmRleE1pbgAAAAAAAAAAABJpbmRleE1heAAVgel99BAiEQAQcGF5bG9hZElkANIEAAAQZmlyc3RPcGVyYXRvcgABAAAAABJjbQAAAAAAAAAAABJzAAEAAAAAAAAAAA==",
|
11
|
-
"subType": "6"
|
12
|
-
}
|
13
|
-
}
|
14
|
-
},
|
15
|
-
"encryptionInformation": {
|
16
|
-
"type": {
|
17
|
-
"$numberInt": "1"
|
18
|
-
},
|
19
|
-
"schema": {
|
20
|
-
"db.test": {
|
21
|
-
"escCollection": "fle2.test.esc",
|
22
|
-
"eccCollection": "fle2.test.ecc",
|
23
|
-
"ecocCollection": "fle2.test.ecoc",
|
24
|
-
"fields": [
|
25
|
-
{
|
26
|
-
"keyId": {
|
27
|
-
"$binary": {
|
28
|
-
"base64": "EjRWeBI0mHYSNBI0VniQEg==",
|
29
|
-
"subType": "04"
|
30
|
-
}
|
31
|
-
},
|
32
|
-
"path": "encrypted",
|
33
|
-
"bsonType": "int",
|
34
|
-
"queries": {
|
35
|
-
"queryType": "rangePreview",
|
36
|
-
"contention": {
|
37
|
-
"$numberInt": "0"
|
38
|
-
},
|
39
|
-
"sparsity": {
|
40
|
-
"$numberInt": "1"
|
41
|
-
}
|
42
|
-
}
|
43
|
-
}
|
44
|
-
]
|
45
|
-
}
|
46
|
-
}
|
47
|
-
}
|
48
|
-
},
|
49
|
-
"hasEncryptedPlaceholders": true
|
50
|
-
}
|
@@ -1,26 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"v": {
|
3
|
-
"$and": [
|
4
|
-
{
|
5
|
-
"age": {
|
6
|
-
"$gte": {
|
7
|
-
"$binary": {
|
8
|
-
"base64": "Co8KAAADcGF5bG9hZABLCgAABGcADwoAAAMwAH0AAAAFZAAgAAAAAKjyYbddQjM3unhlf2quKIb351iO6gUouYlPwZEbRRIvBXMAIAAAAACcNOimZxgC3MriUQZbaB5aB7fOk/csood/dR9v1DZwagVjACAAAAAAmVeeGMNRSzhcDCcuxNH1DmhWX/T53Qt57DZh5Cbrkr4AAzEAfQAAAAVkACAAAAAAFpbm1UI6g17tS9XfxfiIoQKpeait/v0c24ZdJCQ9YHgFcwAgAAAAAMIqaYbV0SchLBxNVqxGE1abwaPsH2x6JWrTow3iPocYBWMAIAAAAACvn7wPCJZK+JErT06x231qMhp1n6xCe3gvn1EaTakaYgADMgB9AAAABWQAIAAAAADl9z37bSa8ku8FizKteHXa0nhjuJb3cW7/JzhE7YJpvgVzACAAAAAAA7JVTRajm4a3JJXW1yMKNbN143mLg262zznf+HK+RGgFYwAgAAAAAEZr1R0BazlaKccF2iGtnNV3TH1cnQexmW/n0/CPTk3OAAMzAH0AAAAFZAAgAAAAAAqb/AUDlZJLgswHri9bpxQNsmaRdt/wr/lSwgpSkAC2BXMAIAAAAABMPrNEf/hlt6codWN/FS4vMj56Pn8Wbu/3CxHVv489RAVjACAAAAAAMeESt9m+/Xjd5LL06eD8SPVe4Sbt2SeQaQ44gaPbds4AAzQAfQAAAAVkACAAAAAAQEvEOdf3Zq01VPZmgdo4esmzCn4z+ek23++yY/fxO74FcwAgAAAAAK5mdkvy8gJfXgvLHHwSH3t4NUbR7Si4yloXSkxadxs5BWMAIAAAAADvjUiHssvZ03SfQjahNILkKw92DLJj/8gytN8oh7RyTQADNQB9AAAABWQAIAAAAABQ4AGfQopOuDX4DyMRad03MiknwSj0hSSRd7QX2EEyDwVzACAAAAAAJ1cCUgDsUz8HKA8f9CaRAsp6jDI0lMhyDRMeU6atI7UFYwAgAAAAAL0el9r5dKoH56Aw6NRqTVlaqZB68iSkUTbY1yxVGVA6AAM2AH0AAAAFZAAgAAAAADX6syUAnSa9FHTtSFAJul97Dg6re+caP7VBb4LJ849XBXMAIAAAAACqAfrbJNrpdiTOqhFb4Vo1p+sstWDEBVm0lJSVbzhY0AVjACAAAAAAHr1bAo8ti1znuA8Pr67+/E/4aPlsq8GT19QUJkJkkFEAAzcAfQAAAAVkACAAAAAAkL1is/V49itFRCxU5y2AS03aFRJooLgnCWasB1YBayIFcwAgAAAAAFCpRTpotv8guvvZHZoPaxImoEmZ8TQN0nGBltBiKex5BWMAIAAAAABYFRq8nPWZVMgAZWxg2CTRb5jW3dGJ6G43OKd1KBa6hgADOAB9AAAABWQAIAAAAAAwYH++XsPut4t7WGvRILU/KpmG5/EIgquCROSlO8/6kQVzACAAAAAAW08l2xPMm3nIkrJV1h+6PZXknO2TiSE9nVfISZPMz74FYwAgAAAAAME3gXL6mA/P4uMyLhHGpwDZ0GiIRC5HWSn4zWZv4OFcAAM5AH0AAAAFZAAgAAAAAIMiv50gCX3g5gyZgV20O1DICwbROm/Nr0ysP/U/baiJBXMAIAAAAACsdkuxrEGu5o0sb4bpKjZ0zcwYf4vc5bqbxQT7IJMgyAVjACAAAAAA5aO+WwF/LZxTcvtcSj5C1u3gW25M8CVQTRcfSHor6gMAAzEwAH0AAAAFZAAgAAAAAHO0Kr5J2pI2jkWh699+mD9sY84G+IMpToBzuwGCGxokBXMAIAAAAABBSJQXgm7HFvIWmg3tQZqJkRDcRDFdeMipxeK5u4VHLAVjACAAAAAAUcAQHz/BmUlSkhhbmdbK8a+io7RQCaK6OQmWtEBAnwYAAzExAH0AAAAFZAAgAAAAAFjL68XhdEfTPdwIAdG1qBga1Y4yutqnHZVyxxpbX2O1BXMAIAAAAABV2u1hZNVDCLUoNJryqKeC3e5nyGewuJUSJSghZvivlgVjACAAAAAAzBopEmpd8qlKk4j/2Chd4LXJXvTBPIgYG6s6feL/Nv8AAzEyAH0AAAAFZAAgAAAAANR4bVfACRREURXbp96tNAn+3WU3YsIZQIZVqJpl+8b9BXMAIAAAAADBv2UvqRD6wGwbId0ol35fgyvI94ERtCZX/QFKUa5ABQVjACAAAAAAqQtfbfrsoyU1hoAGVv0qXGC4A+Acj5Pvko9K7z9xPZQAAzEzAH0AAAAFZAAgAAAAADoF20NQtyrvwwClRPm2clA1Y9E9naEqU9auyPUkUdBwBXMAIAAAAADi1Lk6jGXj/jG0WJUEIOEWsdok0xp2BiDDtBurxHZQ6wVjACAAAAAA7OS4GZ3upqrwHH3zdTpT1gqhf+jMQgNXzu8fGn7WPVMAAzE0AH0AAAAFZAAgAAAAALaE09ewNg6CKPx9CTJxvXSJFXrWnx+Y8MRFDx0RbycoBXMAIAAAAABcgY6uTuOYfIYndYLgJHkN4KprImZdouvhhv4JGv9AEQVjACAAAAAAVO3foLzU10z4b3T2Ovl5kmlUaWBRTv5H7H7+ZJW49B4AAzE1AH0AAAAFZAAgAAAAAHzqlVzP3vapF4qQIPpjdopGV4ItxjKuE41/vUGNrC+LBXMAIAAAAABq3xrm2yy4m6JLkV4XwItK6yY2fLfQTYrjn6K8fmL7awVjACAAAAAATgTu2OlrxV4hFYwh+qtt5BE2UyFltCT96TeL3QP7HSAAAzE2AH0AAAAFZAAgAAAAAJpglO5I9J9OgUmEb7cO9QpyAcEIpWWkpxae+SV0iMyOBXMAIAAAAADIFoPbs61iLkuY6Ye44trcQB9BYIwZeu8/2DlEnzph2wVjACAAAAAARMuvKQ8b4z1euXABGUzZ9739O8NFyiyGXapxKfX8S6AAAzE3AH0AAAAFZAAgAAAAAPpIg6THnglKjr2IcFqza0aQGMIWWvTv3RBFH0z8Pz2tBXMAIAAAAACXgVfeCWY7MksU4nKUS5gHYMbNsJ7GcGndM/Dz9/c/ngVjACAAAAAAqXr8QNEOsD7wsXjQ91WyKY1kkg30FiQdk772GqLCO3kAAzE4AH0AAAAFZAAgAAAAABetpMcGVSig0WWocP4xTDOW4BLowBgDNxKKR9w+HK1kBXMAIAAAAADlix9y3sfL4jnU5AnZlNFn6KfH0iT8SH8eh4Qn6CBrKwVjACAAAAAAIL2dwayvU0oeU3033NjXn/EuGgCLiaRIR8Ya4VIS2eQAAzE5AH0AAAAFZAAgAAAAANg0Cm+7k0RwY1XtTCSTemZ57SLJL+w0ZBcopiTUn0gYBXMAIAAAAADLoG6/csHYF0MGOAmJE0sBuVlOo5i2o4qa5EymICO1DgVjACAAAAAADXDlvd/XyL+AvpEvRPRnx6Q/d9TLutEgfTwmY+C5JzEAAAVlACAAAAAA65pz95EthqQpfoHS9nWvdCh05AV+OokP7GUaI+7j8+wSY20AAAAAAAAAAAAAEHBheWxvYWRJZAAAAAAAEGZpcnN0T3BlcmF0b3IAAgAAABBzZWNvbmRPcGVyYXRvcgAEAAAAAA==",
|
9
|
-
"subType": "6"
|
10
|
-
}
|
11
|
-
}
|
12
|
-
}
|
13
|
-
},
|
14
|
-
{
|
15
|
-
"age": {
|
16
|
-
"$lte": {
|
17
|
-
"$binary": {
|
18
|
-
"base64": "CjsAAAAQcGF5bG9hZElkAAAAAAAQZmlyc3RPcGVyYXRvcgACAAAAEHNlY29uZE9wZXJhdG9yAAQAAAAA",
|
19
|
-
"subType": "6"
|
20
|
-
}
|
21
|
-
}
|
22
|
-
}
|
23
|
-
}
|
24
|
-
]
|
25
|
-
}
|
26
|
-
}
|
@@ -1,26 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"v": {
|
3
|
-
"$and": [
|
4
|
-
{
|
5
|
-
"age": {
|
6
|
-
"$gte": {
|
7
|
-
"$binary": {
|
8
|
-
"base64": "CoUFAAADcGF5bG9hZABBBQAABGcABQUAAAMwAH0AAAAFZAAgAAAAAA5O5YOmDnNEzt4VzOdPJoBsorBvi4P38NSXFCQXBT7lBXMAIAAAAAAlCbJrLprhv7PZAWfpe1J77kmxxrTm5d+VIAzQ1t0f9wVjACAAAAAAWgCKXI9Zv1w6Ih/R7YUNVDl5G4rCw79EsH8AXt1G0EAAAzEAfQAAAAVkACAAAAAAwVdX7uREzGJG5YAlsRvkOq5eddbRwIMXoUyBxtTOWyMFcwAgAAAAAH7tQpElOGJxNW3nBA/KvOwRjEttzL4Yj7QxAKdseG83BWMAIAAAAAAZ//NEY1gl9NFowTY85t1Sl0YtlLsPmcMi/myX2zF3/gADMgB9AAAABWQAIAAAAAB/r0rye8dC3m4mih9d9oBcoQ6Zz99MQLXO5RvpPQ0CxAVzACAAAAAAyAOYAbhDJ52goQxGqSffPOA68Z5ST6MHehKnzrW4NxgFYwAgAAAAAJD7sEeaXZruynaQaENueMTELjhUiXEIUSFF/xsBfuIDAAMzAH0AAAAFZAAgAAAAAO2Hv6Qd4XbjLmDbLe2/dufbhh+Bc1myy7VrNWQswguHBXMAIAAAAACskbeGL2j0dhv3JUYGLto/8kBwO/CS6CSy2Fz01Qd/oAVjACAAAAAArd9dYph7UV6PnRIGBIm8wUtKJEzkZm+kTHoLJV/CtLkAAzQAfQAAAAVkACAAAAAAtTHP+RbNcKHQQitmLFjax5jU3lSvUFioevRqvngmVrgFcwAgAAAAAJ1FzPG89m3duUQlzzhr10u2bHkrcVrXSqTdRTQRwbuIBWMAIAAAAACG46GzSKZuc+P7uN6ez5p1z8A5TRu4f4GVmSZ/prumOAADNQB9AAAABWQAIAAAAACx7BgZhTiIgBbhrGj1nd8jicXeBh2kUEYz4icmc9ujpAVzACAAAAAAWAUKWWlejF5rygbpZmfnmFlKKi605/AAgxC6jhE+MdgFYwAgAAAAAGNcfwI+QXm8fYMBvdZZU63YQO3gqC4ogapSmHLOmT7QAAM2AH0AAAAFZAAgAAAAAEyLWJxrA6BmuzegYLP4kUmvxoT1dvr7RttUcJ9+VL81BXMAIAAAAAAUA36oeKJKKyAvckEDg3qz6JDJmyWJzL/PXzUYhrJMUQVjACAAAAAAeO2lrYUCC3VJYoBoZYv7e6e5htw6cFaf80WgPmaljhMAAzcAfQAAAAVkACAAAAAAxwM1EBD2yYprO6DgSL/hf7nNswGChKMzNRrdcVAX0QEFcwAgAAAAAPq9JZtWNg4/ZGHjkzpMQx0mwyp0WQQE8lp0l33dC1dzBWMAIAAAAADnBfvrFoXD1lu55RrXVrhHEPtvRz1IYT1wGU8wEG+NPwADOAB9AAAABWQAIAAAAADgeS5YwHbBJYHjnE9rdIFOXCWa4MZgksnq9BCKEBNCQgVzACAAAAAA0ShFMpOeEFx3gMLQEIMhvlkYQJ6DXk/ryqYFXSt0oMAFYwAgAAAAAPMpROg3ve6XwuVsNYP1bJhnFd0bts5doKo/G1ZgLIYXAAM5AH0AAAAFZAAgAAAAAKOQKnHWdirTeER0VaLHcH9Gam5QOhil1vpk11GqLVYsBXMAIAAAAACvxg5olIv89aG/3AhBg4yw2ZJqPMYppPJ8eY1dCIlbIAVjACAAAAAAZYC1B4xKOw1zCs68dAJf7z1koE/8drbcMbM6RSBbkAoAAAVlACAAAAAA65pz95EthqQpfoHS9nWvdCh05AV+OokP7GUaI+7j8+wSY20AAAAAAAAAAAAAEHBheWxvYWRJZAAAAAAAEGZpcnN0T3BlcmF0b3IAAgAAABBzZWNvbmRPcGVyYXRvcgAEAAAAAA==",
|
9
|
-
"subType": "6"
|
10
|
-
}
|
11
|
-
}
|
12
|
-
}
|
13
|
-
},
|
14
|
-
{
|
15
|
-
"age": {
|
16
|
-
"$lte": {
|
17
|
-
"$binary": {
|
18
|
-
"base64": "CjsAAAAQcGF5bG9hZElkAAAAAAAQZmlyc3RPcGVyYXRvcgACAAAAEHNlY29uZE9wZXJhdG9yAAQAAAAA",
|
19
|
-
"subType": "6"
|
20
|
-
}
|
21
|
-
}
|
22
|
-
}
|
23
|
-
}
|
24
|
-
]
|
25
|
-
}
|
26
|
-
}
|
data/ext/libmongocrypt/libmongocrypt/test/data/fle2-find-range-explicit/int32/encrypted-payload.json
DELETED
@@ -1,26 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"v": {
|
3
|
-
"$and": [
|
4
|
-
{
|
5
|
-
"age": {
|
6
|
-
"$gte": {
|
7
|
-
"$binary": {
|
8
|
-
"base64": "CgUCAAADcGF5bG9hZADBAQAABGcAhQEAAAMwAH0AAAAFZAAgAAAAAInd0noBhIiJMv8QTjcfgRqnnVhxRJRRACLfvgT+CTR/BXMAIAAAAADm0EjqF/T4EmR6Dw6NaPLrL0OuzS4AFvm90czFluAAygVjACAAAAAA0d8XgDtErXhD2Il47RZ6es9tJjjenynp6roL00NDzzwAAzEAfQAAAAVkACAAAAAA7lkNtT6RLw91aJ07K/blwlFs5wi9pQjqUXDcaCTxe98FcwAgAAAAAPwySffuLQihmF70Ot93KtaUMNU8KpmA+niyPRcvarNMBWMAIAAAAADH7BDBCS/7LwB7NYkxPNDb5QXXROFnh2+7z8JFwX7wnQADMgB9AAAABWQAIAAAAACcMWVTbZC4ox5VdjWeYKLgf4oBjpPlbTTAkucm9JPK0wVzACAAAAAA3tIww4ZTytkxFsUKyJbc3zwQ2w7DhkOqaNvX9g8pi3gFYwAgAAAAAOK5ETACEX4i+2e0dDtUeGozbxKNlqmkRK5IEZCrv7M5AAAFZQAgAAAAAL7iv5ju6p02+CadotQZUkgqtSIYD2HaywGsizUpIBYMEmNtAAQAAAAAAAAAABBwYXlsb2FkSWQAAAAAABBmaXJzdE9wZXJhdG9yAAIAAAAQc2Vjb25kT3BlcmF0b3IABAAAAAA=",
|
9
|
-
"subType": "6"
|
10
|
-
}
|
11
|
-
}
|
12
|
-
}
|
13
|
-
},
|
14
|
-
{
|
15
|
-
"age": {
|
16
|
-
"$lte": {
|
17
|
-
"$binary": {
|
18
|
-
"base64": "CjsAAAAQcGF5bG9hZElkAAAAAAAQZmlyc3RPcGVyYXRvcgACAAAAEHNlY29uZE9wZXJhdG9yAAQAAAAA",
|
19
|
-
"subType": "6"
|
20
|
-
}
|
21
|
-
}
|
22
|
-
}
|
23
|
-
}
|
24
|
-
]
|
25
|
-
}
|
26
|
-
}
|
@@ -1,26 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"v": {
|
3
|
-
"$and": [
|
4
|
-
{
|
5
|
-
"age": {
|
6
|
-
"$gte": {
|
7
|
-
"$binary": {
|
8
|
-
"base64": "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",
|
9
|
-
"subType": "06"
|
10
|
-
}
|
11
|
-
}
|
12
|
-
}
|
13
|
-
},
|
14
|
-
{
|
15
|
-
"age": {
|
16
|
-
"$lte": {
|
17
|
-
"$binary": {
|
18
|
-
"base64": "DTsAAAAQcGF5bG9hZElkAAAAAAAQZmlyc3RPcGVyYXRvcgACAAAAEHNlY29uZE9wZXJhdG9yAAQAAAAA",
|
19
|
-
"subType": "06"
|
20
|
-
}
|
21
|
-
}
|
22
|
-
}
|
23
|
-
}
|
24
|
-
]
|
25
|
-
}
|
26
|
-
}
|
@@ -1,16 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"v": {
|
3
|
-
"$and": [
|
4
|
-
{
|
5
|
-
"age": {
|
6
|
-
"$gte": {
|
7
|
-
"$binary": {
|
8
|
-
"base64": "CvEDAAADcGF5bG9hZADBAwAABGcAhQMAAAMwAH0AAAAFZAAgAAAAAInd0noBhIiJMv8QTjcfgRqnnVhxRJRRACLfvgT+CTR/BXMAIAAAAADm0EjqF/T4EmR6Dw6NaPLrL0OuzS4AFvm90czFluAAygVjACAAAAAA0d8XgDtErXhD2Il47RZ6es9tJjjenynp6roL00NDzzwAAzEAfQAAAAVkACAAAAAA7lkNtT6RLw91aJ07K/blwlFs5wi9pQjqUXDcaCTxe98FcwAgAAAAAPwySffuLQihmF70Ot93KtaUMNU8KpmA+niyPRcvarNMBWMAIAAAAADH7BDBCS/7LwB7NYkxPNDb5QXXROFnh2+7z8JFwX7wnQADMgB9AAAABWQAIAAAAACmksDgWv8fh8j4HvZ2U+eC/2+PvEsGhl1YIr04t8MEyQVzACAAAAAA42J2JBPJI5iRZbKCaLoDKJkz6sEYtwRqbXWCQFnROhAFYwAgAAAAAPGrreW4FbgwiinI2yi9ZxPNKzAGyleu6L4h79FAXn2rAAMzAH0AAAAFZAAgAAAAAEpcX7iBiGknOl/okkdqJbUlcVEAgVwNnusmHGfcnWiyBXMAIAAAAABt4YtHuLEMj8mq3Sm7x9LlPoLn44VwwYXzsy9O+CY7mQVjACAAAAAA3WTx8oIz7cfpEn/ldtCPsNOhnVHDlV/kJl4sw9a7QiUAAzQAfQAAAAVkACAAAAAAiNNHQVRYZQZIyyzCQ2/QGRA1NJK2PkJ+nonrNMR8M+kFcwAgAAAAAFjXVHdBrcFBymh2M52BuuY8s54hG4YmNrLlQsDOpt0+BWMAIAAAAACFMsZ7+rMdSQwP/XjTie0q7l/t0QIbD2XcgQyMRGDamgADNQB9AAAABWQAIAAAAABZunJQk5/sMjTmxIeZpwTF010+V434ybhEM5MCLZXvHgVzACAAAAAAzg+BvL6K2ym0OFtQU9TUrDaJd2fMgY9Z8hp1QJnDwF4FYwAgAAAAAK1MWHGICHeCPaKzDtODjO2Z6WBamLcK7A4TLtbvCozLAAM2AH0AAAAFZAAgAAAAAEKk7WGoX0IXnKUDtmjVP3J8cOIatQEPrEoyH2APyETuBXMAIAAAAAAOQ2aEYoMGhGhkY0E1hPctbPmpdQ/A2ZKJ82Gv6Ec4agVjACAAAAAAJ/rTmL4dcKZ3w4uM33LlmcXmFJ19WmGDGoHcgfvT3j8AAAVlACAAAAAAvuK/mO7qnTb4Jp2i1BlSSCq1IhgPYdrLAayLNSkgFgwSY20AAAAAAAAAAAAAEHBheWxvYWRJZAAAAAAAEGZpcnN0T3BlcmF0b3IAAgAAAAA=",
|
9
|
-
"subType": "06"
|
10
|
-
}
|
11
|
-
}
|
12
|
-
}
|
13
|
-
}
|
14
|
-
]
|
15
|
-
}
|
16
|
-
}
|
data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/date/encrypted-field-map.json
DELETED
@@ -1,28 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"db.test": {
|
3
|
-
"escCollection": "fle2.test.esc",
|
4
|
-
"eccCollection": "fle2.test.ecc",
|
5
|
-
"ecocCollection": "fle2.test.ecoc",
|
6
|
-
"fields": [
|
7
|
-
{
|
8
|
-
"keyId": {
|
9
|
-
"$binary": {
|
10
|
-
"base64": "EjRWeBI0mHYSNBI0VniQEg==",
|
11
|
-
"subType": "04"
|
12
|
-
}
|
13
|
-
},
|
14
|
-
"path": "encrypted",
|
15
|
-
"bsonType": "date",
|
16
|
-
"queries": {
|
17
|
-
"queryType": "rangePreview",
|
18
|
-
"contention": {
|
19
|
-
"$numberInt": "0"
|
20
|
-
},
|
21
|
-
"sparsity": {
|
22
|
-
"$numberInt": "1"
|
23
|
-
}
|
24
|
-
}
|
25
|
-
}
|
26
|
-
]
|
27
|
-
}
|
28
|
-
}
|
data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/date/encrypted-payload.json
DELETED
@@ -1,45 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"insert": "test",
|
3
|
-
"documents": [
|
4
|
-
{
|
5
|
-
"plainText": "sample",
|
6
|
-
"encrypted": {
|
7
|
-
"$binary": {
|
8
|
-
"base64": "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",
|
9
|
-
"subType": "6"
|
10
|
-
}
|
11
|
-
}
|
12
|
-
}
|
13
|
-
],
|
14
|
-
"encryptionInformation": {
|
15
|
-
"type": 1,
|
16
|
-
"schema": {
|
17
|
-
"db.test": {
|
18
|
-
"escCollection": "fle2.test.esc",
|
19
|
-
"eccCollection": "fle2.test.ecc",
|
20
|
-
"ecocCollection": "fle2.test.ecoc",
|
21
|
-
"fields": [
|
22
|
-
{
|
23
|
-
"keyId": {
|
24
|
-
"$binary": {
|
25
|
-
"base64": "EjRWeBI0mHYSNBI0VniQEg==",
|
26
|
-
"subType": "04"
|
27
|
-
}
|
28
|
-
},
|
29
|
-
"path": "encrypted",
|
30
|
-
"bsonType": "date",
|
31
|
-
"queries": {
|
32
|
-
"queryType": "rangePreview",
|
33
|
-
"contention": {
|
34
|
-
"$numberInt": "0"
|
35
|
-
},
|
36
|
-
"sparsity": {
|
37
|
-
"$numberInt": "1"
|
38
|
-
}
|
39
|
-
}
|
40
|
-
}
|
41
|
-
]
|
42
|
-
}
|
43
|
-
}
|
44
|
-
}
|
45
|
-
}
|
data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/date/mongocryptd-reply.json
DELETED
@@ -1,53 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"ok": {
|
3
|
-
"$numberInt": "1"
|
4
|
-
},
|
5
|
-
"result": {
|
6
|
-
"insert": "test",
|
7
|
-
"documents": [
|
8
|
-
{
|
9
|
-
"plainText": "sample",
|
10
|
-
"encrypted": {
|
11
|
-
"$binary": {
|
12
|
-
"base64": "A4kAAAAQdAABAAAAEGEAAwAAAAVraQAQAAAABBI0VngSNJh2EjQSNFZ4kBIFa3UAEAAAAASrze+rEjSYdhI0EjRWeJASA3YAKgAAAAl2ADkwAAAAAAAACW1pbgAAAAAAAAAAAAltYXgAFYHpffQQIhEAEmNtAAAAAAAAAAAAEnMAAQAAAAAAAAAA",
|
13
|
-
"subType": "6"
|
14
|
-
}
|
15
|
-
}
|
16
|
-
}
|
17
|
-
],
|
18
|
-
"encryptionInformation": {
|
19
|
-
"type": {
|
20
|
-
"$numberInt": "1"
|
21
|
-
},
|
22
|
-
"schema": {
|
23
|
-
"db.test": {
|
24
|
-
"escCollection": "fle2.test.esc",
|
25
|
-
"eccCollection": "fle2.test.ecc",
|
26
|
-
"ecocCollection": "fle2.test.ecoc",
|
27
|
-
"fields": [
|
28
|
-
{
|
29
|
-
"keyId": {
|
30
|
-
"$binary": {
|
31
|
-
"base64": "EjRWeBI0mHYSNBI0VniQEg==",
|
32
|
-
"subType": "04"
|
33
|
-
}
|
34
|
-
},
|
35
|
-
"path": "encrypted",
|
36
|
-
"bsonType": "long",
|
37
|
-
"queries": {
|
38
|
-
"queryType": "rangePreview",
|
39
|
-
"contention": {
|
40
|
-
"$numberInt": "0"
|
41
|
-
},
|
42
|
-
"sparsity": {
|
43
|
-
"$numberInt": "1"
|
44
|
-
}
|
45
|
-
}
|
46
|
-
}
|
47
|
-
]
|
48
|
-
}
|
49
|
-
}
|
50
|
-
}
|
51
|
-
},
|
52
|
-
"hasEncryptedPlaceholders": true
|
53
|
-
}
|
data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/decimal128/encrypted-field-map.json
DELETED
@@ -1,28 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"db.test": {
|
3
|
-
"escCollection": "fle2.test.esc",
|
4
|
-
"eccCollection": "fle2.test.ecc",
|
5
|
-
"ecocCollection": "fle2.test.ecoc",
|
6
|
-
"fields": [
|
7
|
-
{
|
8
|
-
"keyId": {
|
9
|
-
"$binary": {
|
10
|
-
"base64": "EjRWeBI0mHYSNBI0VniQEg==",
|
11
|
-
"subType": "04"
|
12
|
-
}
|
13
|
-
},
|
14
|
-
"path": "encrypted",
|
15
|
-
"bsonType": "decimal",
|
16
|
-
"queries": {
|
17
|
-
"queryType": "rangePreview",
|
18
|
-
"contention": {
|
19
|
-
"$numberInt": "0"
|
20
|
-
},
|
21
|
-
"sparsity": {
|
22
|
-
"$numberInt": "1"
|
23
|
-
}
|
24
|
-
}
|
25
|
-
}
|
26
|
-
]
|
27
|
-
}
|
28
|
-
}
|
data/ext/libmongocrypt/libmongocrypt/test/data/fle2-insert-range/decimal128/encrypted-payload.json
DELETED
@@ -1,45 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"insert": "test",
|
3
|
-
"documents": [
|
4
|
-
{
|
5
|
-
"plainText": "sample",
|
6
|
-
"encrypted": {
|
7
|
-
"$binary": {
|
8
|
-
"base64": "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",
|
9
|
-
"subType": "6"
|
10
|
-
}
|
11
|
-
}
|
12
|
-
}
|
13
|
-
],
|
14
|
-
"encryptionInformation": {
|
15
|
-
"type": 1,
|
16
|
-
"schema": {
|
17
|
-
"db.test": {
|
18
|
-
"escCollection": "fle2.test.esc",
|
19
|
-
"eccCollection": "fle2.test.ecc",
|
20
|
-
"ecocCollection": "fle2.test.ecoc",
|
21
|
-
"fields": [
|
22
|
-
{
|
23
|
-
"keyId": {
|
24
|
-
"$binary": {
|
25
|
-
"base64": "EjRWeBI0mHYSNBI0VniQEg==",
|
26
|
-
"subType": "04"
|
27
|
-
}
|
28
|
-
},
|
29
|
-
"path": "encrypted",
|
30
|
-
"bsonType": "decimal",
|
31
|
-
"queries": {
|
32
|
-
"queryType": "rangePreview",
|
33
|
-
"contention": {
|
34
|
-
"$numberInt": "0"
|
35
|
-
},
|
36
|
-
"sparsity": {
|
37
|
-
"$numberInt": "1"
|
38
|
-
}
|
39
|
-
}
|
40
|
-
}
|
41
|
-
]
|
42
|
-
}
|
43
|
-
}
|
44
|
-
}
|
45
|
-
}
|