<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 08:20:57 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>MongoDB Jira</title>
    <link>https://jira.mongodb.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.7.1</version>
        <build-number>970001</build-number>
        <build-date>13-04-2023</build-date>
    </build-info>


<item>
            <title>[DRIVERS-188] Make copydb work with SASL (SCRAM)</title>
                <link>https://jira.mongodb.org/browse/DRIVERS-188</link>
                <project id="10980" key="DRIVERS">Drivers</project>
                    <description>&lt;p&gt;See &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-15684&quot; title=&quot;Make copydb work with SASL (SCRAM)&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-15684&quot;&gt;&lt;del&gt;SERVER-15684&lt;/del&gt;&lt;/a&gt; for a description of the protocol. I assume drivers&apos; copy_database helper methods already accept five parameters named something like fromdb, todb, fromhost, username, and password.&lt;/p&gt;

&lt;p&gt;Drivers (PyMongo 2.8 and the next Ruby Driver 1.x release) should continue to support MONGODB-CR, and add support for SCRAM-SHA-1. No other SASL mechanisms should be supported (GSSAPI, CRAM-MD5, ...).&lt;/p&gt;

&lt;p&gt;Add SCRAM-SHA-1 support like so:&lt;/p&gt;

&lt;p&gt;1. Add a &quot;mechanism&quot; option to the copy_database helper method. For backwards compatibility, the user is &lt;b&gt;not&lt;/b&gt; required to specify the mechanism. Allowed values are &quot;MONGODB-CR&quot; and &quot;SCRAM-SHA-1&quot;. The default value is &quot;DEFAULT&quot; or null or some other special value.&lt;/p&gt;

&lt;p&gt;2. If the user has not specified a mechanism, choose based on the connected server&apos;s maxWireVersion: SCRAM-SHA-1 if maxWireVersion &amp;gt;= 3, otherwise MONGODB-CR. This is a heuristic, based on the assumption that people are likely to copy between mongods running the same version. We cannot tell what version fromhost is running. This heuristic fails if the connected server is modern but the fromhost mongod predates SCRAM-SHA-1. See step 4. (Note: copydb is impossible if the connected server predates SCRAM-SHA-1 and the fromhost mongod is modern and disables MONGODB-CR.)&lt;/p&gt;

&lt;p&gt;3. For SCRAM-SHA-1, begin with &quot;copydbsaslstart&quot; (all lowercase) instead of &quot;copydbgetnonce&quot;.&lt;/p&gt;

&lt;p&gt;4. If the server&apos;s reply to &quot;copydbsaslstart&quot; has ok: 0, and the &quot;errmsg&quot; field contains the substring &quot;no such cmd: saslStart&quot;, you know the fromhost predates SCRAM-SHA-1. Raise an informative error like &quot;&amp;lt;fromhost&amp;gt; doesn&apos;t support SCRAM-SHA-1, pass mechanism=&apos;MONGODB-CR&apos; to copy_database&quot;. Replace &amp;lt;fromhost&amp;gt; with the actual fromhost. Re-raise any other errors from &quot;copydbsaslstart&quot; normally. In particular, if the user explicitly sets mechanism to SCRAM-SHA-1 and the connected server is too old, you&apos;ll get a different error, &quot;no such cmd: copydbsaslstart&quot;, which you should re-raise like any other command failure.&lt;/p&gt;

&lt;p&gt;5. If &quot;copydbsaslstart&quot; works correctly, call &quot;copydb&quot; repeatedly until you receive done: true, according to the protocol described in &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-15684&quot; title=&quot;Make copydb work with SASL (SCRAM)&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-15684&quot;&gt;&lt;del&gt;SERVER-15684&lt;/del&gt;&lt;/a&gt;.&lt;/p&gt;</description>
                <environment></environment>
        <key id="163975">DRIVERS-188</key>
            <summary>Make copydb work with SASL (SCRAM)</summary>
                <type id="3" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14718&amp;avatarType=issuetype">Task</type>
                                            <priority id="3" iconUrl="https://jira.mongodb.org/images/icons/priorities/major.svg">Major - P3</priority>
                        <status id="6" iconUrl="https://jira.mongodb.org/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="9">Done</resolution>
                                        <assignee username="barrie">Barrie Segal</assignee>
                                    <reporter username="barrie">Barrie Segal</reporter>
                        <labels>
                    </labels>
                <created>Thu, 16 Oct 2014 16:02:54 +0000</created>
                <updated>Fri, 27 May 2022 01:33:54 +0000</updated>
                            <resolved>Tue, 21 Jun 2016 18:53:37 +0000</resolved>
                                                                            <votes>0</votes>
                                    <watches>10</watches>
                                                                                                                <comments>
                            <comment id="841727" author="acm" created="Tue, 3 Mar 2015 16:45:33 +0000"  >&lt;p&gt;Validating for C+&lt;ins&gt;11 because validated for C, and C&lt;/ins&gt;+11 does not offer a copyDb helper.&lt;/p&gt;</comment>
                            <comment id="840510" author="jesse" created="Mon, 2 Mar 2015 19:17:48 +0000"  >&lt;p&gt;C driver provides no copydb helper, validated.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                            <outwardlinks description="depends on">
                                        <issuelink>
            <issuekey id="164255">MOTOR-54</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="164264">PYTHON-777</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="165810">RUBY-835</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="163962">SERVER-15684</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="167048">CXX-389</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                                                                            <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_23952" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Driver Compliance</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[<style type='text/css'>
         #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;
            }
        </style>
<table id='scriptField'>
  <tr>
    <th>Key</th>
    <th>Status/Resolution</th>
    <th>FixVersion</th>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/MOTOR-54'>MOTOR-54</a>
    </td>
    <td>Won't Fix</td>
    <td class='hasFixVersion'>0.4</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/PYTHON-777'>PYTHON-777</a>
    </td>
    <td>Done</td>
    <td class='hasFixVersion'>2.8</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/RUBY-835'>RUBY-835</a>
    </td>
    <td>Done</td>
    <td class='hasFixVersion'>1.12</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/CXX-389'>CXX-389</a>
    </td>
    <td>Done</td>
    <td class='hasFixVersion'>legacy-1.0.0-rc4</td>
  </tr>
</table>]]></customfieldvalue>


                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hs34jr:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>143048</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_11150" key="com.atlassian.jira.plugin.system.customfieldtypes:multiselect">
                        <customfieldname>SERVER fixVersion</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10943"><![CDATA[3.0]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                    <customfield id="customfield_22279" key="com.atlassian.jira.plugin.system.customfieldtypes:labels">
                        <customfieldname>Server Compat</customfieldname>
                        <customfieldvalues>
                                        <label>2.8</label>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    </customfields>
    </item>
</channel>
</rss>