<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Wed Feb 07 21:18:39 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>[CDRIVER-3642] Store scram secrets in topology scanner</title>
                <link>https://jira.mongodb.org/browse/CDRIVER-3642</link>
                <project id="10030" key="CDRIVER">C Driver</project>
                    <description>&lt;p&gt;Scram secrets are currently cached in &lt;tt&gt;mongoc_cluster_t&lt;/tt&gt;, which is not available when doing speculative auth for single-threaded clients in the topology scanner. To work around this limitation, scram secrets should no longer be cached in &lt;tt&gt;mongoc_cluster_t&lt;/tt&gt;, but rather &lt;tt&gt;mongoc_topology_scanner_t&lt;/tt&gt;.&lt;/p&gt;

&lt;p&gt;This came up during the code review for &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-3559&quot; title=&quot;Support speculative authentication attempts in isMaster&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-3559&quot;&gt;&lt;del&gt;CDRIVER-3559&lt;/del&gt;&lt;/a&gt; (see &lt;a href=&quot;https://mongodbcr.appspot.com/563660001/diff/561540009/src/libmongoc/src/mongoc/mongoc-cluster.c#newcode1361&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://mongodbcr.appspot.com/563660001/diff/561540009/src/libmongoc/src/mongoc/mongoc-cluster.c#newcode1361&lt;/a&gt;)&lt;/p&gt;</description>
                <environment></environment>
        <key id="1332737">CDRIVER-3642</key>
            <summary>Store scram secrets in topology scanner</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="10038" iconUrl="https://jira.mongodb.org/images/icons/subtask.gif" description="">Backlog</status>
                    <statusCategory id="2" key="new" colorName="default"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="andreas.braun@mongodb.com">Andreas Braun</reporter>
                        <labels>
                    </labels>
                <created>Wed, 29 Apr 2020 11:48:01 +0000</created>
                <updated>Fri, 5 May 2023 17:56:50 +0000</updated>
                                            <version>1.17.0-rc0</version>
                                                                        <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="5404921" author="xgen-internal-githook" created="Fri, 5 May 2023 17:56:50 +0000"  >&lt;p&gt;Author: &lt;/p&gt;
{&apos;name&apos;: &apos;Andreas Braun&apos;, &apos;email&apos;: &apos;alcaeus@users.noreply.github.com&apos;, &apos;username&apos;: &apos;alcaeus&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-4635&quot; title=&quot;Speculative authentication state is incorrectly kept&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-4635&quot;&gt;&lt;del&gt;CDRIVER-4635&lt;/del&gt;&lt;/a&gt; Reset speculative_auth_response when resetting auth state (#1258)&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-4635&quot; title=&quot;Speculative authentication state is incorrectly kept&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-4635&quot;&gt;&lt;del&gt;CDRIVER-4635&lt;/del&gt;&lt;/a&gt; add regression test&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;reset authentication state before creating stream&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;remove unnecessary state reset in `mongoc_topology_scanner_node_disconnect`&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;`mongoc_topology_scanner_node_disconnect` sets `stream` to NULL. That will result in the stream being recreated and state being reset in `mongoc_topology_scanner_node_setup`&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;skip `/Client/authenticate_cached/client` when using speculativeAuthentication&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;This previously passed because SCRAM would fail speculativeAuthentication and restart the authentication steps. The restart would use the SCRAM cache.&lt;/p&gt;

&lt;p&gt;Now speculativeAuthentication succeeds. speculativeAuthentication in the topology scanner does not use the SCRAM cache (refer: &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-3642&quot; title=&quot;Store scram secrets in topology scanner&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-3642&quot;&gt;CDRIVER-3642&lt;/a&gt;). This does not result in the expected error.&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Reset scram step along with speculative authentication&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;---------&lt;/p&gt;

&lt;p&gt;Co-authored-by: Kevin Albertson &amp;lt;kevin.albertson@mongodb.com&amp;gt;&lt;br/&gt;
Branch: r1.23&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/commit/42a818429d6d586a6abf22367ac6fea1e9ce3f2c&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-c-driver/commit/42a818429d6d586a6abf22367ac6fea1e9ce3f2c&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="5404876" author="xgen-internal-githook" created="Fri, 5 May 2023 17:45:06 +0000"  >&lt;p&gt;Author: &lt;/p&gt;
{&apos;name&apos;: &apos;Andreas Braun&apos;, &apos;email&apos;: &apos;alcaeus@users.noreply.github.com&apos;, &apos;username&apos;: &apos;alcaeus&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-4635&quot; title=&quot;Speculative authentication state is incorrectly kept&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-4635&quot;&gt;&lt;del&gt;CDRIVER-4635&lt;/del&gt;&lt;/a&gt; Reset speculative_auth_response when resetting auth state (#1258)&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-4635&quot; title=&quot;Speculative authentication state is incorrectly kept&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-4635&quot;&gt;&lt;del&gt;CDRIVER-4635&lt;/del&gt;&lt;/a&gt; add regression test&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;reset authentication state before creating stream&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;remove unnecessary state reset in `mongoc_topology_scanner_node_disconnect`&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;`mongoc_topology_scanner_node_disconnect` sets `stream` to NULL. That will result in the stream being recreated and state being reset in `mongoc_topology_scanner_node_setup`&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;skip `/Client/authenticate_cached/client` when using speculativeAuthentication&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;This previously passed because SCRAM would fail speculativeAuthentication and restart the authentication steps. The restart would use the SCRAM cache.&lt;/p&gt;

&lt;p&gt;Now speculativeAuthentication succeeds. speculativeAuthentication in the topology scanner does not use the SCRAM cache (refer: &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-3642&quot; title=&quot;Store scram secrets in topology scanner&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-3642&quot;&gt;CDRIVER-3642&lt;/a&gt;). This does not result in the expected error.&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Reset scram step along with speculative authentication&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;---------&lt;/p&gt;

&lt;p&gt;Co-authored-by: Kevin Albertson &amp;lt;kevin.albertson@mongodb.com&amp;gt;&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/commit/b2afc3d01940b133df1beb05b24c8970c9099df6&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-c-driver/commit/b2afc3d01940b133df1beb05b24c8970c9099df6&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                    <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_10857" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>CDRIVER-4575</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hx5p1z:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            </customfields>
    </item>
</channel>
</rss>