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

Disallow comma character in authMechanismProperties connection string value

    • Type: Icon: Bug Bug
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Component/s: Authentication
    • None
    • $i18n.getText("admin.common.words.hide")
      Key Status/Resolution FixVersion
      CDRIVER-5580 Backlog
      CXX-3036 Backlog
      CSHARP-5106 Fixed 2.27.0
      GODRIVER-3226 Fixed 1.17.0
      JAVA-5486 Fixed 5.1.1, 5.2.0
      NODE-6194 Fixed 6.7.0
      MOTOR-1321 Duplicate
      PYTHON-4463 Fixed 4.7.4
      PHPC-2397 Blocked
      RUBY-3482 Backlog
      RUST-1954 Backlog
      $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-5580 Backlog CXX-3036 Backlog CSHARP-5106 Fixed 2.27.0 GODRIVER-3226 Fixed 1.17.0 JAVA-5486 Fixed 5.1.1, 5.2.0 NODE-6194 Fixed 6.7.0 MOTOR-1321 Duplicate PYTHON-4463 Fixed 4.7.4 PHPC-2397 Blocked RUBY-3482 Backlog RUST-1954 Backlog

      Summary

      As part of DRIVERS-2836, https://github.com/mongodb/specifications/pull/1569/ changed the parsing behavior for connection strings in a way that diverges further from standard URL behavior.

      We discussed this in https://mongodb.slack.com/archives/C04PGGEFCNM/p1715183576564499 and settled on reverting this PR for now and instead documenting that, if an auth mechanism property value contains a comma, it must be passed in the connection options and not be part of the connection string.

      Motivation

      Who is the affected end user?

      Any user who interacts with connection strings programmatically.

      How does this affect the end user?

      It breaks with existing guarantees about connection string parsing behavior.

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

      Somewhat.

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

      Different drivers and different libraries will parse connection strings ambiguously.

      Is this issue urgent?

      We should address this issue before users start relying on the behavior specified in the PR mentioned above.

      Is this ticket required by a downstream team?

      Needed to complete OIDC work in drivers such as Node.js and downstream products of that driver.

      Is this ticket only for tests?

      No.

      Acceptance Criteria

      • Revert https://github.com/mongodb/specifications/pull/1569/
      • Clarify expectations about TOKEN_RESOURCE connection string behavior:
        • Document that commas (,) may not be included in the values of key-value lists in the connection string.
        • Keep/add a spec test that ensures that values in key-value lists can contain colon characters (:)

            Assignee:
            steve.silvester@mongodb.com Steve Silvester
            Reporter:
            anna.henningsen@mongodb.com Anna Henningsen
            James Kovacs James Kovacs
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: