<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Wed Feb 07 21:20:23 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-4250] Create public API to expose mongoc_uri_finalize functions</title>
                <link>https://jira.mongodb.org/browse/CDRIVER-4250</link>
                <project id="10030" key="CDRIVER">C Driver</project>
                    <description>&lt;p&gt;I have some recollection of discussing this with &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=kevin.albertson&quot; class=&quot;user-hover&quot; rel=&quot;kevin.albertson&quot;&gt;kevin.albertson&lt;/a&gt; a while back, but I found no existing ticket.&lt;/p&gt;

&lt;p&gt;&lt;tt&gt;mongoc-uri.c&lt;/tt&gt; includes several internal functions to validate interactions between URI options:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;mongoc_uri_finalize_auth&lt;/li&gt;
	&lt;li&gt;mongoc_uri_finalize_directconnection&lt;/li&gt;
	&lt;li&gt;mongoc_uri_finalize_loadbalanced&lt;/li&gt;
	&lt;li&gt;mongoc_uri_finalize_srv&lt;/li&gt;
	&lt;li&gt;mongoc_uri_finalize_tls&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;These functions are only called from &lt;tt&gt;mongoc_uri_parse&lt;/tt&gt;. For wrapping drivers such as PHP, that means they will only apply to parsed URI strings. If those wrapping drivers later set URI options through functions such as &lt;tt&gt;mongoc_uri_set_option_as_int32&lt;/tt&gt;, those options will never be validated by libmongoc.&lt;/p&gt;

&lt;p&gt;Historically, PHPC has maintained its own copies of some of these functions; however, it looks like we missed introducing a copy of &lt;tt&gt;mongoc_uri_finalize_loadbalanced&lt;/tt&gt;. I only noticed this issue when working on &lt;a href=&quot;https://jira.mongodb.org/browse/PHPC-1900&quot; title=&quot;Allow custom service names with srvServiceName URI option&quot; class=&quot;issue-link&quot; data-issue-key=&quot;PHPC-1900&quot;&gt;&lt;del&gt;PHPC-1900&lt;/del&gt;&lt;/a&gt; and &lt;a href=&quot;https://jira.mongodb.org/browse/PHPC-1908&quot; title=&quot;Allow limiting mongos servers with srvMaxHosts option&quot; class=&quot;issue-link&quot; data-issue-key=&quot;PHPC-1908&quot;&gt;&lt;del&gt;PHPC-1908&lt;/del&gt;&lt;/a&gt; and realizing we&apos;d need to copy &lt;tt&gt;mongoc_uri_finalize_srv&lt;/tt&gt;.&lt;/p&gt;

&lt;p&gt;It&apos;s quite possible that these functions could depend on other private URI APIs to validate, so I think it&apos;d make the most sense for libmongoc to provide a common, public API that calls all of these methods. That could still be called from &lt;tt&gt;mongoc_uri_parse&lt;/tt&gt; but also be available for wrapping drivers to call &lt;em&gt;after&lt;/em&gt; they are done setting additional, individual options.&lt;/p&gt;</description>
                <environment></environment>
        <key id="1954548">CDRIVER-4250</key>
            <summary>Create public API to expose mongoc_uri_finalize functions</summary>
                <type id="4" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14710&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="10300" iconUrl="https://jira.mongodb.org/images/icons/priorities/medium.svg">Unknown</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="12300">Won&apos;t Do</resolution>
                                        <assignee username="jmikola@mongodb.com">Jeremy Mikola</assignee>
                                    <reporter username="jmikola@mongodb.com">Jeremy Mikola</reporter>
                        <labels>
                    </labels>
                <created>Mon, 20 Dec 2021 20:01:11 +0000</created>
                <updated>Tue, 28 Dec 2021 22:31:55 +0000</updated>
                            <resolved>Tue, 28 Dec 2021 22:31:55 +0000</resolved>
                                                                                        <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="4269267" author="jmikola@gmail.com" created="Tue, 28 Dec 2021 22:31:55 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-3723&quot; title=&quot;Validate URI options on client/client pool creation&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-3723&quot;&gt;&lt;del&gt;CDRIVER-3723&lt;/del&gt;&lt;/a&gt; will be implemented instead of this issue.&lt;/p&gt;</comment>
                            <comment id="4262086" author="jmikola@gmail.com" created="Tue, 21 Dec 2021 17:10:41 +0000"  >&lt;p&gt;&lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/pull/919&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-c-driver/pull/919&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                                                <inwardlinks description="is depended on by">
                                        <issuelink>
            <issuekey id="1955078">PHPC-2021</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="1612302">PHPC-1752</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1384145">CDRIVER-3723</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </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_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hzyh07:</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>