Uploaded image for project: 'Drivers'
  1. Drivers
  2. DRIVERS-2465

Test crypt_shared with older server versions

    • Type: Icon: Task Task
    • Resolution: Done
    • Priority: Icon: Unknown Unknown
    • None
    • Component/s: Client Side Encryption
    • None
    • Needed
    • Hide

      See https://github.com/mongodb/specifications/commit/d90583f467cb406928c1e86eee7a258ae50b235e for updated test requirements for CSFLE. The following is a summary of the changes:

      • Drivers MUST run all tests with mongocryptd on at least one platform for all
        tested server versions (4.2+).
      • Drivers MUST run all tests with crypt_shared_ on at least one platform for all
        tested server versions (4.2+). For server versions < 6.0, drivers MUST test with the
        latest major release of crypt_shared_ (currently 6.0). Using the latest major release of
        crypt_shared_ is supported with older server versions.

      As of https://github.com/mongodb-labs/drivers-evergreen-tools/commit/1d7119eeb531e7fab60423e803a94f4a2f61ec0f, download-mongodb.sh downloads the latest major version of crypt_shared if the server version is less than 6.0.

      There may be no required driver changes if these requirements are already tested. The Go driver did not require changes. The Go driver tests with mongocryptd on separate variants. The other variants test with crypt_shared and include tests back to server versions 4.2.

      Drivers may manually verify the version of crypt_shared that is downloaded from the output of run-orchestration.sh where the URL is printed.

      Show
      See https://github.com/mongodb/specifications/commit/d90583f467cb406928c1e86eee7a258ae50b235e for updated test requirements for CSFLE. The following is a summary of the changes: Drivers MUST run all tests with mongocryptd on at least one platform for all tested server versions (4.2+). Drivers MUST run all tests with crypt_shared_ on at least one platform for all tested server versions (4.2+). For server versions < 6.0, drivers MUST test with the latest major release of crypt_shared_ (currently 6.0). Using the latest major release of crypt_shared_ is supported with older server versions. As of https://github.com/mongodb-labs/drivers-evergreen-tools/commit/1d7119eeb531e7fab60423e803a94f4a2f61ec0f , download-mongodb.sh downloads the latest major version of crypt_shared if the server version is less than 6.0. There may be no required driver changes if these requirements are already tested. The Go driver did not require changes. The Go driver tests with mongocryptd on separate variants . The other variants test with crypt_shared and include tests back to server versions 4.2. Drivers may manually verify the version of crypt_shared that is downloaded from the output of run-orchestration.sh where the URL is printed .
    • $i18n.getText("admin.common.words.hide")
      Key Status/Resolution FixVersion
      CDRIVER-4495 Fixed 1.24.0
      CXX-2596 Done 3.8.0
      CSHARP-4355 Fixed 2.19.0
      GODRIVER-2580 Works as Designed
      JAVA-4763 Fixed 4.10.0
      NODE-4698 Fixed 5.6.0
      MOTOR-1046 Duplicate
      PYTHON-3466 Done
      PHPLIB-1008 Fixed 1.17.0
      RUBY-3154 Fixed 2.19.0
      RUST-1503 Fixed 2.5.0
      SWIFT-1652 Won't Do
      $i18n.getText("admin.common.words.show")
      #scriptField, #scriptField *{ border: 1px solid black; } #scriptField{ border-collapse: collapse; } #scriptField td { text-align: center; /* Center-align text in table cells */ } #scriptField td.key { text-align: left; /* Left-align text in the Key column */ } #scriptField a { text-decoration: none; /* Remove underlines from links */ border: none; /* Remove border from links */ } /* Add green background color to cells with FixVersion */ #scriptField td.hasFixVersion { background-color: #00FF00; /* Green color code */ } /* Center-align the first row headers */ #scriptField th { text-align: center; } Key Status/Resolution FixVersion CDRIVER-4495 Fixed 1.24.0 CXX-2596 Done 3.8.0 CSHARP-4355 Fixed 2.19.0 GODRIVER-2580 Works as Designed JAVA-4763 Fixed 4.10.0 NODE-4698 Fixed 5.6.0 MOTOR-1046 Duplicate PYTHON-3466 Done PHPLIB-1008 Fixed 1.17.0 RUBY-3154 Fixed 2.19.0 RUST-1503 Fixed 2.5.0 SWIFT-1652 Won't Do

      Summary

      Test In-Use Encryption (IUE) with the latest stable release of the crypt_shared library and older supported MongoDB server versions. IUE was introduced in MongoDB 4.2.

      Motivation

      Drivers only test the crypt_shared library with the same version of the server per DRIVERS-2355. MongoDB does not document support for using crypt_shared an older server version. Functionally, new versions of crypt_shared are expected to work with older server versions. Testing will validate that expectation and enable documenting support of new crypt_shared with old server versions.

      mongocryptd is planned to be deprecated as part of PM-3039.

      Who is the affected end user?

      Users of IUE (aka Client-Side Encryption + Queryable Encryption).

      How does this affect the end user?

      Using the separate mongocryptd process may be a deployment barrier. This may enable users to use IUE in more environments.

      Is this issue urgent?

      No.

      Is this ticket only for tests?

      Yes.

            Assignee:
            kevin.albertson@mongodb.com Kevin Albertson
            Reporter:
            kevin.albertson@mongodb.com Kevin Albertson
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: