<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Wed Feb 07 21:15:45 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-2605] OpenSSL thread and id callbacks should be unset independently</title>
                <link>https://jira.mongodb.org/browse/CDRIVER-2605</link>
                <project id="10030" key="CDRIVER">C Driver</project>
                    <description>&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/PHPC-1158&quot; title=&quot;Segfault during OpenSSL cleanup routines&quot; class=&quot;issue-link&quot; data-issue-key=&quot;PHPC-1158&quot;&gt;&lt;del&gt;PHPC-1158&lt;/del&gt;&lt;/a&gt; describes a situation where multiple PHP extensions interacting with OpenSSL resulted in a dangling function pointer to libmongoc&apos;s thread id callback being left in place. This ultimately produced a segfault during cURL&apos;s shutdown routines, which also interacted with OpenSSL and attempted to invoke that callback after libmongoc had already been unloaded (i.e. &lt;tt&gt;dlclose()&lt;/tt&gt;).&lt;/p&gt;

&lt;p&gt;This previously came up in &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-555&quot; title=&quot;Segfault during OpenSSL cleanup routines&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-555&quot;&gt;&lt;del&gt;CDRIVER-555&lt;/del&gt;&lt;/a&gt;. The fix (&lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/commit/746d2509a24e0e3e708dd944ab6e75927f3cc8de&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;746d250&lt;/a&gt;, released in 1.1.2) introduced the logic we see today that checks the locking callback before assigning or unsetting libmongoc&apos;s callbacks.&lt;/p&gt;

&lt;p&gt;I propose that &lt;tt&gt;_mongoc_openssl_thread_cleanup()&lt;/tt&gt; be improved to clear the locking and id callbacks independently if either is still assigned to the libmongoc function. &lt;tt&gt;_mongoc_openssl_thread_startup()&lt;/tt&gt; can be left as-is and only assign locking and id callbacks if the locking callback is currently unset.&lt;/p&gt;</description>
                <environment>PHP (mongodb, curl, and openssl extensions), OpenSSL 1.0.2m</environment>
        <key id="525323">CDRIVER-2605</key>
            <summary>OpenSSL thread and id callbacks should be unset independently</summary>
                <type id="1" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14703&amp;avatarType=issuetype">Bug</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="jmikola@mongodb.com">Jeremy Mikola</assignee>
                                    <reporter username="jmikola@mongodb.com">Jeremy Mikola</reporter>
                        <labels>
                    </labels>
                <created>Wed, 11 Apr 2018 15:26:49 +0000</created>
                <updated>Sat, 28 Oct 2023 11:29:56 +0000</updated>
                            <resolved>Wed, 11 Apr 2018 20:46:53 +0000</resolved>
                                    <version>1.9.3</version>
                                    <fixVersion>1.10.0</fixVersion>
                                                        <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="1861934" author="xgen-internal-githook" created="Wed, 11 Apr 2018 20:46:08 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;email&apos;: &apos;jmikola@gmail.com&apos;, &apos;name&apos;: &apos;Jeremy Mikola&apos;, &apos;username&apos;: &apos;jmikola&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-2605&quot; title=&quot;OpenSSL thread and id callbacks should be unset independently&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-2605&quot;&gt;&lt;del&gt;CDRIVER-2605&lt;/del&gt;&lt;/a&gt; unset OpenSSL id callback independently&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/commit/4236b470baaa512cf8abdbea09ffa04e727b72e7&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-c-driver/commit/4236b470baaa512cf8abdbea09ffa04e727b72e7&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1861475" author="jmikola@gmail.com" created="Wed, 11 Apr 2018 15:38:26 +0000"  >&lt;p&gt;&lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/pull/490&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-c-driver/pull/490&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                                                <inwardlinks description="is depended on by">
                                        <issuelink>
            <issuekey id="525317">PHPC-1158</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="187309">CDRIVER-555</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|htm4un:</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>