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

Test mongocryptd is not spawned when shared library is loaded

    • Type: Icon: Task Task
    • Resolution: Done
    • Priority: Icon: Unknown Unknown
    • None
    • Component/s: Client Side Encryption
    • Labels:
      None
    • $i18n.getText("admin.common.words.hide")
      Key Status/Resolution FixVersion
      CDRIVER-4515 Fixed 1.24.0
      CXX-2608 Done 3.8.0
      CSHARP-4386 Fixed 2.19.0
      GODRIVER-2614 Fixed 1.12.0, 1.12.0-alpha1
      JAVA-4794 Done 4.10.0
      NODE-4772 Fixed 5.5.0
      MOTOR-1060 Duplicate
      PYTHON-3492 Fixed 4.4
      PHPLIB-1031 Fixed 1.16.0
      RUBY-3168 Fixed 2.19.0
      RUST-1528 Fixed 2.4.0
      SWIFT-1674 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-4515 Fixed 1.24.0 CXX-2608 Done 3.8.0 CSHARP-4386 Fixed 2.19.0 GODRIVER-2614 Fixed 1.12.0, 1.12.0-alpha1 JAVA-4794 Done 4.10.0 NODE-4772 Fixed 5.5.0 MOTOR-1060 Duplicate PYTHON-3492 Fixed 4.4 PHPLIB-1031 Fixed 1.16.0 RUBY-3168 Fixed 2.19.0 RUST-1528 Fixed 2.4.0 SWIFT-1674 Won't Do

      Summary

      Test mongocryptd is not spawned when shared library is loaded

      Motivation

      The CSFLE specification expects mongocryptd not to be spawned if the crypt_shared library is available.

      See Spawning mongocryptd:

      If the following conditions are met:

      • The user's ``MongoClient`` is configured for client-side encryption (i.e.
        `bypassAutoEncryption` is not |false|)
      • *AND* the user has not disabled `mongocryptd` spawning (i.e. by setting
        `extraOptions.mongocryptdBypassSpawn` to |true|),
      • *AND* the crypt_shared_ library is unavailable (Refer:
        `Detecting crypt_shared Availability`_),
      • *AND* the |opt-crypt_shared-required| option is |false|.

      *then* ``mongocryptd`` MUST be spawned by the driver.

      There is no prose test to check that mongocryptd is not spawned when the crypt_shared library is available.

      Who is the affected end user?

      Users of CSFLE with automatic encryption.

      How likely is it that this problem or use case will occur?

      Likely. Reviewing code suggests there is a bug in some drivers.

      If the problem does occur, what are the consequences and how severe are they?

      If a driver is incorrectly attempting to spawn mongocryptd. This may result in an error configuring a MongoClient with automatic encryption. mongocryptd may not be available to spawn.

      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:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: