<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 09:01:34 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>[JAVA-4236] Test serialization of BSON with embedded null bytes in strings</title>
                <link>https://jira.mongodb.org/browse/JAVA-4236</link>
                <project id="10006" key="JAVA">Java Driver</project>
                    <description>&lt;p&gt;Downstream changes: drivers should sync BSON corpus spec tests with &lt;a href=&quot;https://github.com/mongodb/specifications/commit/ff5d91fea80b9dcb40fb2fb3533fd1bbcee818b0&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;mongodb/specifications@ff5d91f&lt;/a&gt;. Specifically:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;There are new &lt;tt&gt;decodeErrors&lt;/tt&gt; tests for &lt;tt&gt;document.json&lt;/tt&gt;, &lt;tt&gt;regex.json&lt;/tt&gt;, and &lt;tt&gt;top.json&lt;/tt&gt;&lt;/li&gt;
	&lt;li&gt;There are new &lt;tt&gt;parseErrors&lt;/tt&gt; tests for &lt;tt&gt;top.json&lt;/tt&gt;&lt;/li&gt;
	&lt;li&gt;There are new prose tests for encoding BSON documents and regex types.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Existing language in the spec was also relaxed to no longer &lt;em&gt;require&lt;/em&gt; drivers to successfully parse &lt;tt&gt;parseErrors&lt;/tt&gt; tests in &lt;tt&gt;binary.json&lt;/tt&gt; and &lt;tt&gt;top.json&lt;/tt&gt; with a non-Extended JSON parser (to check for general JSON syntax errors). Also, an allowance was made for drivers that parse Extended JSON directly into language types (with regard to evaluating &lt;tt&gt;parseErrors&lt;/tt&gt;).&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;Per &lt;a href=&quot;https://jira.mongodb.org/browse/DRIVERS-101&quot; title=&quot;BSON cstring with null bytes should not be allowed&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DRIVERS-101&quot;&gt;&lt;del&gt;DRIVERS-101&lt;/del&gt;&lt;/a&gt;, drivers are expected to validate that C strings do not contain embedded null bytes.&lt;/p&gt;

&lt;p&gt;We should add spec or prose tests to verify BSON C strings with embedded null bytes are rejected when serialized.&lt;/p&gt;</description>
                <environment></environment>
        <key id="1821016">JAVA-4236</key>
            <summary>Test serialization of BSON with embedded null bytes in strings</summary>
                <type id="4" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14710&amp;avatarType=issuetype">Improvement</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="13201">Fixed</resolution>
                                        <assignee username="jeff.yemin@mongodb.com">Jeffrey Yemin</assignee>
                                    <reporter username="backlog-server-pm">Backlog - Core Eng Program Management Team</reporter>
                        <labels>
                            <label>spec-compliance</label>
                    </labels>
                <created>Thu, 15 Jul 2021 21:56:32 +0000</created>
                <updated>Sat, 28 Oct 2023 11:21:08 +0000</updated>
                            <resolved>Fri, 24 Sep 2021 20:07:45 +0000</resolved>
                                                    <fixVersion>4.4.0</fixVersion>
                                    <component>BSON</component>
                    <component>Test Coverage</component>
                                        <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="4084124" author="xgen-internal-githook" created="Fri, 24 Sep 2021 20:07:31 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Jeff Yemin&apos;, &apos;email&apos;: &apos;jeff.yemin@mongodb.com&apos;, &apos;username&apos;: &apos;jyemin&apos;}
&lt;p&gt;Message: Test for null byte in BSON cstring (#786)&lt;/p&gt;

&lt;p&gt;The driver already has the necessary checks&lt;/p&gt;

&lt;p&gt;One functional change to note though: this commit does remove the null byte check in BsonDocument#put, instead relying on BsonBinaryWriter&apos;s null byte checking in cstrings.  This is consistent with the lack of null byte checks in org.bson.Document and BsonRegularExpression, as well as other drivers that use plain old dictionaries to represent BSON.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/JAVA-4236&quot; title=&quot;Test serialization of BSON with embedded null bytes in strings&quot; class=&quot;issue-link&quot; data-issue-key=&quot;JAVA-4236&quot;&gt;&lt;del&gt;JAVA-4236&lt;/del&gt;&lt;/a&gt;&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-java-driver/commit/ee236be80b82c2a1cca27ae6245cfcd0b059e85d&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-java-driver/commit/ee236be80b82c2a1cca27ae6245cfcd0b059e85d&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10620">
                    <name>Issue split</name>
                                                                <inwardlinks description="split from">
                                                        </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_10257" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Documentation Changes</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="11861"><![CDATA[Not Needed]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_21553" key="com.atlassian.jira.plugin.system.customfieldtypes:labels">
                        <customfieldname>Quarter</customfieldname>
                        <customfieldvalues>
                                        <label>FY22Q3</label>
    
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hzix87:</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>