<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Wed Feb 07 21:21: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-4691] Sync KMS sources with libmongocrypt</title>
                <link>https://jira.mongodb.org/browse/CDRIVER-4691</link>
                <project id="10030" key="CDRIVER">C Driver</project>
                    <description>&lt;p&gt;Both libmongoc and libmongocrypt contain KMS sources:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;&lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/tree/master/src/kms-message/src&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-c-driver/tree/master/src/kms-message/src&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;https://github.com/mongodb/libmongocrypt/tree/master/kms-message/src&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/libmongocrypt/tree/master/kms-message/src&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;The libmongoc sources were originally vendored from libmongocrypt, but have since diverged. This will require some care to pull in changes from libmongocrypt (e.g. code audit work), while preserving any libmongoc-specific changes that were made (which may warrant porting over to libmongocrypt).&lt;/p&gt;

&lt;p&gt;Going forward, libmongoc should &lt;em&gt;not&lt;/em&gt; modify its KMS sources directly and should maintain a copy of the libmongocrypt version.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;This divergence was discovered when testing the PHP driver with MONGODB-AWS and encountering an assertion failure unique to libmongocrypt&apos;s KMS sources (see: &lt;a href=&quot;https://jira.mongodb.org/browse/MONGOCRYPT-581&quot; title=&quot;Allow passing negative len to kms_request_append_payload() for strlen() calculation&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MONGOCRYPT-581&quot;&gt;&lt;del&gt;MONGOCRYPT-581&lt;/del&gt;&lt;/a&gt;).&lt;/p&gt;</description>
                <environment></environment>
        <key id="2393948">CDRIVER-4691</key>
            <summary>Sync KMS sources with libmongocrypt</summary>
                <type id="3" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14718&amp;avatarType=issuetype">Task</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="13201">Fixed</resolution>
                                        <assignee username="roberto.sanchez@mongodb.com">Roberto Sanchez</assignee>
                                    <reporter username="jmikola@mongodb.com">Jeremy Mikola</reporter>
                        <labels>
                    </labels>
                <created>Mon, 17 Jul 2023 19:28:05 +0000</created>
                <updated>Sat, 28 Oct 2023 11:27:47 +0000</updated>
                            <resolved>Thu, 17 Aug 2023 19:45:38 +0000</resolved>
                                                    <fixVersion>1.25.0</fixVersion>
                                                        <votes>0</votes>
                                    <watches>3</watches>
                                                                                                                <comments>
                            <comment id="5641449" author="xgen-internal-githook" created="Thu, 17 Aug 2023 19:45:07 +0000"  >&lt;p&gt;Author: &lt;/p&gt;
{&apos;name&apos;: &apos;Roberto C. S&#225;nchez&apos;, &apos;email&apos;: &apos;roberto@connexer.com&apos;, &apos;username&apos;: &apos;rcsanchez97&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-4691&quot; title=&quot;Sync KMS sources with libmongocrypt&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-4691&quot;&gt;&lt;del&gt;CDRIVER-4691&lt;/del&gt;&lt;/a&gt; sync KMS sources with libmongocrypt&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/commit/cff75a217492d52d0e74b420cb4a4c4f448209be&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-c-driver/commit/cff75a217492d52d0e74b420cb4a4c4f448209be&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="5637637" author="roberto.sanchez" created="Wed, 16 Aug 2023 13:51:48 +0000"  >&lt;p&gt;&lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/pull/1381&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-c-driver/pull/1381&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="5573782" author="roberto.sanchez" created="Tue, 18 Jul 2023 13:24:57 +0000"  >&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=kevin.albertson%40mongodb.com&quot; class=&quot;user-hover&quot; rel=&quot;kevin.albertson@mongodb.com&quot;&gt;kevin.albertson@mongodb.com&lt;/a&gt;, I am curious to know if you have any thoughts about how we might implemented some sort of protection against modifications to the KMS source in the C driver. A couple of possibilities come to my mind. The one that I think would be the most useful/straightforward to implement would be a task in the C driver that does something like this:&lt;/p&gt;

&lt;p/&gt;
&lt;div id=&quot;syntaxplugin&quot; class=&quot;syntaxplugin&quot; style=&quot;border: 1px dashed #bbb; border-radius: 5px !important; overflow: auto; max-height: 30em;&quot;&gt;
&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; width=&quot;100%&quot; style=&quot;font-size: 1em; line-height: 1.4em !important; font-weight: normal; font-style: normal; color: black;&quot;&gt;
		&lt;tbody &gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;  margin-top: 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;git clone (libmongocrypt-URL) ../libmongocrypt&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;if [[ $(diff -uNr ../libmongocrypt/kms-message/ src/kms-message/ | wc -l) -ne 0 ]]; then&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;    (fail the task)&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   margin-bottom: 10px;  width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;fi&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
			&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p/&gt;

&lt;p&gt;This will protect us in two ways:&lt;/p&gt;

&lt;p&gt;1. if KMS is updated in libmongocrypt and we don&apos;t bring the changes over to the C driver, the next build in the C driver will have this task failing&lt;br/&gt;
2. if we forget and make a change in the C driver KMS that isn&apos;t in the libmongocrypt KMS, then the task will fail&lt;/p&gt;

&lt;p&gt;The only thing will be that we&apos;d have to think about is how this will be handled on release branches. The easiest approach to me seems to be that we assume KMS will not change in the C driver once we have branched for a release and so on the release branch the task I am proposing would be updated to clone a specific commit of the libmongocrypt repo.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="2394561">CDRIVER-4694</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2410794">MONGOCRYPT-586</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="2393917">MONGOCRYPT-581</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|i20f1c:</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>