• Type: Icon: Epic Epic
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • 2.18.1
    • Affects Version/s: None
    • Component/s: Spec Comp
    • None
    • Done
    • FLE 1.0 Shared Library
    • Hide

      Completed

      Show
      Completed
    • Hide

      DRIVERS-1950:
      Note: the following instructions do not account for the rename of the shared library. Please also see DRIVERS-2338.

      The csfle shared library is a new component that replaces the mongocryptd process. csfle is loaded by libmongocrypt at runtime.

      Please see the following specifications PRs for a description of the driver changes:

      Please see the C driver implementation for reference.

      Bindings changes

      Upgrade libmongocrypt dependency to 1.5.0. Drivers can use 1.5.0-alpha0 to test. Binaries are available from this upload-all task.

      Update the bindings to libmongocrypt to add the new functions:

      • mongocrypt_csfle_version_string
      • mongocrypt_csfle_version
      • mongocrypt_setopt_append_csfle_search_path
      • mongocrypt_setopt_set_csfle_lib_path_override

      Driver changes

      Pass AutoEncryptionOpts.extraOptions.csflePath to libmongocrypt with {} mongocrypt_setopt_set_crypt_shared_lib_path_override.

      If AutoEncryptionOpts.bypassAutoEncryption is unset or false, pass "$SYSTEM" to mongocrypt_setopt_append_csfle_search_path for the mongocrypt_t in a MongoClient configured with AutoEncryptionOpts.

      If AutoEncryptionOpts.extraOptions.csfleRequired is true, error if csfle is not loaded. Determine if csfle is loaded by checking if mongocrypt_csfle_version_string is NULL.

      Do not attempt to spawn mongocryptd if csfle is loaded.

      Test changes

      Please see https://github.com/mongodb/specifications/pull/1199 for a description of test changes.

      Please see https://github.com/mongodb-labs/drivers-evergreen-tools/pull/196 for a script to download the csfle shared library.

      Show
      DRIVERS-1950 : Note : the following instructions do not account for the rename of the shared library. Please also see DRIVERS-2338. The csfle shared library is a new component that replaces the mongocryptd process. csfle is loaded by libmongocrypt at runtime. Please see the following specifications PRs for a description of the driver changes: https://github.com/mongodb/specifications/pull/1165 https://github.com/mongodb/specifications/pull/1185 Please see the C driver implementation for reference. Bindings changes Upgrade libmongocrypt dependency to 1.5.0. Drivers can use 1.5.0-alpha0 to test. Binaries are available from this upload-all task . Update the bindings to libmongocrypt to add the new functions: mongocrypt_csfle_version_string mongocrypt_csfle_version mongocrypt_setopt_append_csfle_search_path mongocrypt_setopt_set_csfle_lib_path_override Driver changes Pass AutoEncryptionOpts.extraOptions.csflePath to libmongocrypt with { } mongocrypt_setopt_set_crypt_shared_lib_path_override . If AutoEncryptionOpts.bypassAutoEncryption is unset or false, pass "$SYSTEM" to mongocrypt_setopt_append_csfle_search_path for the mongocrypt_t in a MongoClient configured with AutoEncryptionOpts . If AutoEncryptionOpts.extraOptions.csfleRequired is true, error if csfle is not loaded. Determine if csfle is loaded by checking if mongocrypt_csfle_version_string is NULL. Do not attempt to spawn mongocryptd if csfle is loaded. Test changes Please see https://github.com/mongodb/specifications/pull/1199 for a description of test changes. Please see https://github.com/mongodb-labs/drivers-evergreen-tools/pull/196 for a script to download the csfle shared library.

      This ticket was split from DRIVERS-1950, please see that ticket for a detailed description.

            Assignee:
            Unassigned Unassigned
            Reporter:
            dbeng-pm-bot PM Bot
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved:
              0 minutes