<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 08:05:35 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>[DOCS-12574] Clarify required host/domain format for mongodb+srv connection strings</title>
                <link>https://jira.mongodb.org/browse/DOCS-12574</link>
                <project id="10380" key="DOCS">Documentation</project>
                    <description>&lt;h2&gt;&lt;a name=&quot;Description&quot;&gt;&lt;/a&gt;Description&lt;/h2&gt;

&lt;p&gt;A user in &lt;a href=&quot;https://github.com/mongodb/mongo-php-driver/issues/968&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;mongodb/mongo-php-driver#968&lt;/a&gt; encountered an exception attempting to use a hostname with less than two dots (e.g. &quot;mongo&quot; instead of &quot;mongo.example.com&quot;) in conjunction with a &lt;tt&gt;mongodb+srv&lt;/tt&gt; connection string scheme.&lt;/p&gt;

&lt;p&gt;I was attempting to dig up documentation about the required format of the SRV host/domain string but was unable to find anything across the following:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;https://docs.mongodb.com/manual/reference/connection-string/#dns-seedlist-connection-format&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://docs.mongodb.com/manual/reference/connection-string/#dns-seedlist-connection-format&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/SRV_record&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://en.wikipedia.org/wiki/SRV_record&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;https://tools.ietf.org/html/rfc2782&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://tools.ietf.org/html/rfc2782&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;AFAIK, the only place we explicitly mention this requirement is in the &lt;a href=&quot;https://github.com/mongodb/specifications/blob/master/source/initial-dns-seedlist-discovery/initial-dns-seedlist-discovery.rst#seedlist-discovery&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;driver specification&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Is this worth addressing in the MongoDB manual around existing SRV examples?&lt;/p&gt;
&lt;h2&gt;&lt;a name=&quot;Scopeofchanges&quot;&gt;&lt;/a&gt;Scope of changes&lt;/h2&gt;
&lt;ul&gt;
	&lt;li&gt;Update section to specify that the hostname *&lt;b&gt;must&lt;/b&gt;* be &lt;tt&gt;&amp;lt;hostname&amp;gt;.&amp;lt;domain&amp;gt;.&amp;lt;TLD&amp;gt;&lt;/tt&gt;. You cannot specify the hostname alone.&lt;/li&gt;
	&lt;li&gt;Update section to specify that the individual SRV records must be in &lt;tt&gt;_mongodb.tcp.&amp;lt;hostname&amp;gt;.&amp;lt;domainname&amp;gt;.&amp;lt;TLD&amp;gt;&lt;/tt&gt; format&lt;/li&gt;
	&lt;li&gt;Backport to 3.6&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;&lt;a name=&quot;%C2%A0&quot;&gt;&lt;/a&gt;&#160;&lt;/h2&gt;</description>
                <environment></environment>
        <key id="723427">DOCS-12574</key>
            <summary>Clarify required host/domain format for mongodb+srv connection strings</summary>
                <type id="3" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14718&amp;avatarType=issuetype">Task</type>
                                            <priority id="2" iconUrl="https://jira.mongodb.org/images/icons/priorities/critical.svg">Critical - P2</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="13201">Fixed</resolution>
                                        <assignee username="joseph.dougherty@mongodb.com">Joseph Dougherty</assignee>
                                    <reporter username="jmikola@mongodb.com">Jeremy Mikola</reporter>
                        <labels>
                            <label>reopened</label>
                            <label>triage</label>
                    </labels>
                <created>Tue, 26 Mar 2019 17:35:23 +0000</created>
                <updated>Mon, 30 Oct 2023 19:33:57 +0000</updated>
                            <resolved>Tue, 6 Jun 2023 13:45:31 +0000</resolved>
                                                    <fixVersion>Server_Docs_20231030</fixVersion>
                                    <component>manual</component>
                    <component>Server</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>6</watches>
                                                                                                                <comments>
                            <comment id="4942874" author="jmikola@gmail.com" created="Tue, 1 Nov 2022 02:15:30 +0000"  >&lt;p&gt;The changes in Ravind&apos;s last scope update still seem applicable to &lt;a href=&quot;https://www.mongodb.com/docs/manual/reference/connection-string/#std-label-connections-dns-seedlist&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://www.mongodb.com/docs/manual/reference/connection-string/#std-label-connections-dns-seedlist&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="4940485" author="edu.bot" created="Mon, 31 Oct 2022 16:06:07 +0000"  >&lt;p&gt;Hello! This ticket has been closed due to inactivity. If you believe this ticket is still important, please reopen it and leave a comment to explain why. Thank you!&lt;/p&gt;</comment>
                            <comment id="2192170" author="jmikola@gmail.com" created="Tue, 26 Mar 2019 18:03:43 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=ravind.kumar&quot; class=&quot;user-hover&quot; rel=&quot;ravind.kumar&quot;&gt;ravind.kumar&lt;/a&gt;: Perhaps a bit further down:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;A driver MUST verify that in addition to the {hostname}, the {domainname} consists of at least two parts: the domain name, and a TLD. Drivers MUST raise an error and MUST NOT contact the DNS server to obtain SRV (or TXT records) if the full URI does not consists of at least three parts.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=david.golden&quot; class=&quot;user-hover&quot; rel=&quot;david.golden&quot;&gt;david.golden&lt;/a&gt; clarified in Slack that the two (or more) dot requirement is likely something MongoDB is enforcing and not part of the SRV specification itself:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;IIRC, the number of dots requirement was a security-related issue, to try to guarantee subdomains.  So that &quot;good.com&quot; SRV record can&apos;t return &quot;db1.evil.com&quot;.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;we do have a suffix check, but we want to enforce that the suffix is &quot;long enough&quot; and we didn&apos;t want to have drivers use a TLD registry.&lt;/p&gt;

&lt;p&gt;That might explain why I didn&apos;t find any mention of this in the RFC. Assuming the security motivations are correct, I think we (drivers) would do well to document this in our spec&apos;s &lt;a href=&quot;https://github.com/mongodb/specifications/blob/master/source/initial-dns-seedlist-discovery/initial-dns-seedlist-discovery.rst#justifications&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;Justifications&lt;/a&gt;. I&apos;ll make a separate ticket for that.&lt;/p&gt;</comment>
                            <comment id="2192120" author="ravind.kumar" created="Tue, 26 Mar 2019 17:41:33 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=jmikola&quot; class=&quot;user-hover&quot; rel=&quot;jmikola&quot;&gt;jmikola&lt;/a&gt; are you referencing this line?&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;In this preprocessing step, the driver will query the DNS server for SRV records on {hostname}.{domainname}, prefixed with _mongodb._tcp.:&lt;/p&gt;

&lt;p&gt;_mongodb._tcp.{hostname}.{domainname}&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;Which is to say, we should be explicit that we specifically look for &lt;tt&gt;_mongodb._tcp.&amp;lt;hostname&amp;gt;.&amp;lt;domain&amp;gt;&lt;/tt&gt; , not just &lt;tt&gt;&amp;lt;hostname&amp;gt;.&amp;lt;domain&amp;gt;&lt;/tt&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="723463">DRIVERS-2123</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>4.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Tue, 26 Mar 2019 17:41:33 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        1 year, 14 weeks, 2 days ago
    
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18254" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Dependencies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[]]></customfieldvalue>


                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_14876" key="com.atlassian.jira.plugin.system.customfieldtypes:userpicker">
                        <customfieldname>Docs Reviewer</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>jeffrey.allen@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                <customfield id="customfield_14873" key="com.atlassian.jira.plugin.system.customfieldtypes:multiuserpicker">
                        <customfieldname>External Reviewer</customfieldname>
                        <customfieldvalues>
                                    <customfieldvalue><![CDATA[jmikola@mongodb.com]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10057" key="com.atlassian.jira.toolkit:lastusercommented">
                        <customfieldname>Last comment by Customer</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>true</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10056" key="com.atlassian.jira.toolkit:lastupdaterorcommenter">
                        <customfieldname>Last commenter</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>emet.ozar@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            1 year, 14 weeks, 2 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                            <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>edu.bot</customfieldvalue>
            <customfieldvalue>jmikola@mongodb.com</customfieldvalue>
            <customfieldvalue>joseph.dougherty@mongodb.com</customfieldvalue>
            <customfieldvalue>ravind.kumar</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hurxsn:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|huhicv:</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>
                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10555" key="com.atlassian.jira.plugin.system.customfieldtypes:float">
                        <customfieldname>Story Points</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0.1</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_10053" key="com.atlassian.jira.ext.charting:timeinstatus">
                        <customfieldname>Time In Status</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_14350" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>serverRank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hurk1z:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                </customfields>
    </item>
</channel>
</rss>