Skip to content

Commit 24d39e4

Browse files
committed
Merge branch 'master' of github.com:mongodb/mongo-python-driver
2 parents 8a0decd + b820685 commit 24d39e4

File tree

2 files changed

+26
-12
lines changed

2 files changed

+26
-12
lines changed

pymongo/asynchronous/encryption.py

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -385,9 +385,9 @@ def _get_internal_client(
385385
)
386386
self._auto_encrypter = AsyncAutoEncrypter(
387387
io_callbacks,
388-
MongoCryptOptions(
389-
opts._kms_providers,
390-
schema_map,
388+
_create_mongocrypt_options(
389+
kms_providers=opts._kms_providers,
390+
schema_map=schema_map,
391391
crypt_shared_lib_path=opts._crypt_shared_lib_path,
392392
crypt_shared_lib_required=opts._crypt_shared_lib_required,
393393
bypass_encryption=opts._bypass_auto_encryption,
@@ -473,9 +473,15 @@ class QueryType(str, enum.Enum):
473473
"""Used to encrypt a value for an equality query."""
474474

475475
RANGE = "range"
476-
"""Used to encrypt a value for a range query.
476+
"""Used to encrypt a value for a range query."""
477477

478-
"""
478+
479+
def _create_mongocrypt_options(**kwargs: Any) -> MongoCryptOptions:
480+
opts = MongoCryptOptions(**kwargs)
481+
# Opt into range V2 encryption.
482+
if hasattr(opts, "enable_range_v2"):
483+
opts.enable_range_v2 = True
484+
return opts
479485

480486

481487
class ClientEncryption(Generic[_DocumentType]):
@@ -585,7 +591,8 @@ def __init__(
585591
None, key_vault_coll, None, opts
586592
)
587593
self._encryption = AsyncExplicitEncrypter(
588-
self._io_callbacks, MongoCryptOptions(kms_providers, None)
594+
self._io_callbacks,
595+
_create_mongocrypt_options(kms_providers=kms_providers, schema_map=None),
589596
)
590597
# Use the same key vault collection as the callback.
591598
assert self._io_callbacks.key_vault_coll is not None

pymongo/synchronous/encryption.py

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -383,9 +383,9 @@ def _get_internal_client(
383383
)
384384
self._auto_encrypter = AutoEncrypter(
385385
io_callbacks,
386-
MongoCryptOptions(
387-
opts._kms_providers,
388-
schema_map,
386+
_create_mongocrypt_options(
387+
kms_providers=opts._kms_providers,
388+
schema_map=schema_map,
389389
crypt_shared_lib_path=opts._crypt_shared_lib_path,
390390
crypt_shared_lib_required=opts._crypt_shared_lib_required,
391391
bypass_encryption=opts._bypass_auto_encryption,
@@ -471,9 +471,15 @@ class QueryType(str, enum.Enum):
471471
"""Used to encrypt a value for an equality query."""
472472

473473
RANGE = "range"
474-
"""Used to encrypt a value for a range query.
474+
"""Used to encrypt a value for a range query."""
475475

476-
"""
476+
477+
def _create_mongocrypt_options(**kwargs: Any) -> MongoCryptOptions:
478+
opts = MongoCryptOptions(**kwargs)
479+
# Opt into range V2 encryption.
480+
if hasattr(opts, "enable_range_v2"):
481+
opts.enable_range_v2 = True
482+
return opts
477483

478484

479485
class ClientEncryption(Generic[_DocumentType]):
@@ -583,7 +589,8 @@ def __init__(
583589
None, key_vault_coll, None, opts
584590
)
585591
self._encryption = ExplicitEncrypter(
586-
self._io_callbacks, MongoCryptOptions(kms_providers, None)
592+
self._io_callbacks,
593+
_create_mongocrypt_options(kms_providers=kms_providers, schema_map=None),
587594
)
588595
# Use the same key vault collection as the callback.
589596
assert self._io_callbacks.key_vault_coll is not None

0 commit comments

Comments
 (0)