<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Wed Feb 07 21:10:37 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-783] Add support for SASL plugins</title>
                <link>https://jira.mongodb.org/browse/CDRIVER-783</link>
                <project id="10030" key="CDRIVER">C Driver</project>
                    <description>&lt;p&gt;As of Cyrus-SASL 2.1.18, SASL_PATH cannot be used to set the plugin directory. &lt;/p&gt;</description>
                <environment></environment>
        <key id="224565">CDRIVER-783</key>
            <summary>Add support for SASL plugins</summary>
                <type id="2" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14711&amp;avatarType=issuetype">New Feature</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="9">Done</resolution>
                                        <assignee username="jesse@mongodb.com">A. Jesse Jiryu Davis</assignee>
                                    <reporter username="kevinl">Kevin Liew</reporter>
                        <labels>
                    </labels>
                <created>Fri, 7 Aug 2015 00:22:05 +0000</created>
                <updated>Wed, 3 May 2017 22:14:31 +0000</updated>
                            <resolved>Fri, 20 Nov 2015 20:15:44 +0000</resolved>
                                                    <fixVersion>TBD</fixVersion>
                                    <component>auth</component>
                                        <votes>0</votes>
                                    <watches>4</watches>
                                                                                                                <comments>
                            <comment id="1094638" author="jesse" created="Fri, 20 Nov 2015 20:15:29 +0000"  >&lt;p&gt;Great, thanks for letting us know!&lt;/p&gt;</comment>
                            <comment id="1094617" author="kevinl" created="Fri, 20 Nov 2015 19:56:37 +0000"  >&lt;p&gt;Hi Jesse, sasl_set_path works. Thanks&lt;/p&gt;</comment>
                            <comment id="1021880" author="jesse" created="Thu, 3 Sep 2015 18:27:28 +0000"  >&lt;p&gt;Note: using sasl_set_path, if the driver is compiled with GCC, will require additionally that the driver is compiled something like:&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;   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;make MONGOC_NO_AUTOMATIC_GLOBALS=1&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;... to prevent mongoc_init from being called &lt;b&gt;before&lt;/b&gt; main. This is yet another argument for doing &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-592&quot; title=&quot;Deprecate mongoc_init_ctor/dtor&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-592&quot;&gt;&lt;del&gt;CDRIVER-592&lt;/del&gt;&lt;/a&gt; as soon as possible, in the C Driver 2.0.&lt;/p&gt;</comment>
                            <comment id="1020686" author="jesse" created="Wed, 2 Sep 2015 15:32:48 +0000"  >&lt;p&gt;Hi Kevin, I believe the default SASL plugin path for Cyrus SASL is C:\CMU\bin\sasl2 on Windows. (And it&apos;s /usr/lib/sasl2 on Unix.)&lt;/p&gt;

&lt;p&gt;I think Cyrus SASL might provide the hook you need, without anything special from the C Driver. Can you include &quot;sasl/sasl.h&quot; in your code and call something like:&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;   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;sasl_set_path (SASL_PATH_TYPE_PLUGIN, &quot;C:\mypath&quot;);&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;Call it before mongoc_init ().&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://fossies.org/dox/cyrus-sasl-2.1.26/lib_2common_8c_source.html#l00205&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://fossies.org/dox/cyrus-sasl-2.1.26/lib_2common_8c_source.html#l00205&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1008674" author="kevinl" created="Tue, 18 Aug 2015 19:40:21 +0000"  >&lt;p&gt;Is the default SASL plugin path known? There is no documentation regarding&lt;/p&gt;</comment>
                            <comment id="1002267" author="bjori" created="Tue, 11 Aug 2015 18:16:52 +0000"  >&lt;p&gt;OK, so you really do want to get the SASL_CB_GETPATH callback?&lt;br/&gt;
I would have to look into if that has any side effects.&lt;br/&gt;
Like, what would happen if you executed a mongodb query to find which path you are supposed to use....&lt;br/&gt;
Maybe we can just document that as a programming error.&lt;/p&gt;</comment>
                            <comment id="1002264" author="kevinl" created="Tue, 11 Aug 2015 18:12:25 +0000"  >&lt;p&gt;We will distribute one compiled driver to our users who choose between MIT Kerberos or Windows Active Directory by setting a registry variable. Our use case requires a function that can be called during run-time to set the sasl plugin path before initializing the sasl client.&lt;/p&gt;</comment>
                            <comment id="1002127" author="bjori" created="Tue, 11 Aug 2015 16:40:26 +0000"  >&lt;p&gt;Ah OK.&lt;br/&gt;
You want to be able to provide alternative directory for cyrus-sasl to search for the GSSAPI plugin.&lt;/p&gt;

&lt;p&gt;Currently you can compile the driver, with GSSAPI support, as long the plugin is installed in the expected &quot;default path&quot;.&lt;/p&gt;

&lt;p&gt;I don&apos;t think we would want to expose the actual SASL_CB_GETPATH callback, but instead we could provide a configure setting, --with-sasl-plugins-dir, which you could provide and point to the path we would provide to SASL_CB_GETPATH?&lt;/p&gt;

&lt;p&gt;Considering this is isn&apos;t a blocker (you can compile it properly) I don&apos;t believe we will be able to implement this before 1.2.&lt;/p&gt;</comment>
                            <comment id="999669" author="kevinl" created="Fri, 7 Aug 2015 18:19:25 +0000"  >&lt;p&gt;We want to be able to use a GSSAPI plugin for either Windows Active Directory, or MIT Kerberos depending on the user&apos;s configuration. Cyrus-Sasl uses the first plugin it finds in a directory, so we need to have the plugins in separate directories. Thus we would like the plugin path to be controllable at runtime.&lt;/p&gt;</comment>
                            <comment id="999586" author="kevinl" created="Fri, 7 Aug 2015 17:26:03 +0000"  >&lt;p&gt;The use case is: connecting a Windows client to a UNIX MIT Kerberos server. &lt;/p&gt;</comment>
                            <comment id="999571" author="kevinl" created="Fri, 7 Aug 2015 17:13:23 +0000"  >&lt;p&gt;Previously SASL_PATH could be used to set the plugin directory path, but it was removed from the Cyrus-Sasl libraries and cannot be used any longer. &lt;/p&gt;

&lt;p&gt;Now the plugin path must be set by the SASL_CB_GETPATH callback before sasl_client_init. &lt;/p&gt;

&lt;p&gt;We are asking for a function to set the sasl plugin path because Windows needs a plugin to use GSSAPI.&lt;/p&gt;
</comment>
                            <comment id="999022" author="bjori" created="Fri, 7 Aug 2015 02:13:52 +0000"  >&lt;p&gt;I&apos;m a littlebit confused over what exactly you are asking for.&lt;/p&gt;

&lt;p&gt;The MongoDB C driver doesn&apos;t actively allow you, or disallow, setting SASL_PATH, nor do I think we should.&lt;br/&gt;
This is dealt with in cyrus-sasl, and you should be running 2.1.26 which does not have this problem.&lt;/p&gt;

&lt;p&gt;As for which SASL plugins we support, we only support the mechanisms the MongoDB server supports... You wouldn&apos;t gain much if the driver supported more mechanisms without the server doing so too. &lt;/p&gt;</comment>
                            <comment id="998961" author="kevinl" created="Fri, 7 Aug 2015 00:26:14 +0000"  >&lt;p&gt;Information on SASL_PATH:&lt;br/&gt;
&lt;a href=&quot;https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2004-0884&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2004-0884&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="191911">CDRIVER-592</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="287026">CDRIVER-1233</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="122296">CDRIVER-299</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="224945">CDRIVER-791</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_10857" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>CDRIVER-797</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hscds7:</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>