<div style="font-family: Verdana; font-size: 12;">Hi, I&#39;m trying to follow your suggestion.<br>So, first I changed openldap configuration with &quot;sasl-secprops  none&quot; to have also plain auth enabled.<br>Running pluginviewer to see the plugins:<br><br><font face="courier new">Sonicle XStream Server (XStreamOS/illumos) SunOS 5.11 xs_153 Apr 2014<br>sonicle@www:~$ pluginviewer -m PLAIN<br>Installed and properly configured auxprop mechanisms are:<br>sasldb<br>List of auxprop plugins follows<br>Plugin &quot;sasldb&quot; ,       API version: 8<br>        supports store: yes<br><br>Installed and properly configured SASL (server side) mechanisms are:<br>  SCRAM-SHA-1 GS2-IAKERB GS2-KRB5 GSSAPI DIGEST-MD5 EXTERNAL OTP CRAM-MD5 PLAIN ANONYMOUS<br>Available SASL (server side) mechanisms matching your criteria are:<br>  PLAIN<br>List of server plugins follows<br>Plugin &quot;plain&quot; [loaded],        API version: 4<br>        SASL mechanism: PLAIN, best SSF: 0, supports setpass: no<br>        security flags: NO_ANONYMOUS|PASS_CREDENTIALS<br>        features: WANT_CLIENT_FIRST|PROXY_AUTHENTICATION<br>Installed and properly configured SASL (client side) mechanisms are:<br>  SCRAM-SHA-1 GS2-IAKERB GS2-KRB5 GSSAPI DIGEST-MD5 EXTERNAL OTP CRAM-MD5 PLAIN ANONYMOUS<br>Available SASL (client side) mechanisms matching your criteria are:<br>  SCRAM-SHA-1 GS2-IAKERB GS2-KRB5 GSSAPI DIGEST-MD5 EXTERNAL OTP CRAM-MD5 PLAIN ANONYMOUS<br>List of client plugins follows<br>Plugin &quot;plain&quot; [loaded],        API version: 4<br>        SASL mechanism: PLAIN, best SSF: 0<br>        security flags: NO_ANONYMOUS|PASS_CREDENTIALS<br>        features: WANT_CLIENT_FIRST|PROXY_AUTHENTICATION<br></font><br><div><br>Now running a search of SASL mechs:<br><font face="courier new"><br>sonicle@www:~$ ldapsearch -xLLLH &#39;ldap://localhost/&#39; -s base -b &#39;&#39; &#39;supportedSASLMechanisms&#39;<br>dn:<br>supportedSASLMechanisms: SCRAM-SHA-1<br>supportedSASLMechanisms: GS2-IAKERB<br>supportedSASLMechanisms: GS2-KRB5<br>supportedSASLMechanisms: GSSAPI<br>supportedSASLMechanisms: DIGEST-MD5<br>supportedSASLMechanisms: OTP<br>supportedSASLMechanisms: CRAM-MD5<br>supportedSASLMechanisms: PLAIN<br>supportedSASLMechanisms: ANONYMOUS<br></font><br><br>Now, try plain auth doing a earch of an existing user:<br><br>sonicle@www:~$ ldapsearch -Y PLAIN -U test.user@sonicle.com -H ldap://localhost -W<br>Enter LDAP Password: <br>ldap_sasl_interactive_bind_s: Unknown authentication method (-6)<br>        additional info: SASL(-4): no mechanism available: No worthy mechs found<br><br><br>Can&#39;t find a reason for ldapsearch not finding the plain mech.<br>Also, slapd has been built with sasl:<br><br>sonicle@www:~$ ldd /sonicle/libexec/slapd<br>        libdb-4.8.so =&gt;  /sonicle/lib/libdb-4.8.so<br>        libpthread.so.1 =&gt;       /lib/libpthread.so.1<br>        libsasl2.so.2 =&gt;         /sonicle/lib/libsasl2.so.2<br>        libdl.so.1 =&gt;    /lib/libdl.so.1<br>        libssl.so.0.9.8 =&gt;       /lib/libssl.so.0.9.8<br>        libcrypto.so.0.9.8 =&gt;    /lib/libcrypto.so.0.9.8<br>        libresolv.so.2 =&gt;        /lib/libresolv.so.2<br>        libgen.so.1 =&gt;   /lib/libgen.so.1<br>        libnsl.so.1 =&gt;   /lib/libnsl.so.1<br>        libsocket.so.1 =&gt;        /lib/libsocket.so.1<br>        libc.so.1 =&gt;     /lib/libc.so.1<br>        libgcc_s.so.1 =&gt;         /usr/sfw/lib/libgcc_s.so.1<br>        libmd.so.1 =&gt;    /lib/libmd.so.1<br>        libmp.so.2 =&gt;    /lib/libmp.so.2<br>        libm.so.2 =&gt;     /lib/libm.so.2<br><br><br>Any clue? Or...any simpler way to let saslauthd do multiple search base takes?...or maybe let it choose the correct search base<br>depending on the number of dc arguments determined?<br><br>Thanks for your help!<br>Gabriele.<br></div><tt><br><br><br>----------------------------------------------------------------------------------<br><br>Da: Dan White &lt;dwhite@olp.net&gt;<br>A: Willy Offermans &lt;Willy@Offermans.Rompen.nl&gt; <br>Cc: Gabriele Bulfon &lt;gbulfon@sonicle.com&gt; Raffaele Fullone &lt;raffaele.fullone@sonicle.com&gt; info-cyrus@lists.andrew.cmu.edu <br>Data: 23 dicembre 2014 16.52.46 CET<br>Oggetto: Re: saslauthd and multiple dc levels<br><br></tt><blockquote style="BORDER-LEFT: #000080 2px solid; MARGIN-LEFT: 5px; PADDING-LEFT: 5px"><tt>On 12/23/14 16:07 +0100, Willy Offermans wrote:<br>&gt;Hello Dan,<br>&gt;<br>&gt;On Tue, Dec 23, 2014 at 08:50:07AM -0600, Dan White wrote:<br>&gt;&gt; On 12/23/14 15:22 +0100, Gabriele Bulfon wrote:<br>&gt;&gt; &gt;How can I let saslauthd support both configurations?<br>&gt;&gt;<br>&gt;&gt; Is the server OpenLDAP? If so, using olcAuthzRegexp would be a far more<br>&gt;&gt; flexible way to handle this scenario. Within saslauthd&#39;s ldap config, use<br>&gt;&gt; &#39;ldap_use_sasl&#39; without specifying a search filter or base.<br>&gt;&gt;<br>&gt;&gt; Within slapd, your regex rules could perform a subtree search, or a simple<br>&gt;&gt; string replacement for each domain. See<br>&gt;&gt; http://www.openldap.org/doc/admin24/sasl.html and slapd-config(5).<br>&gt;<br>&gt;I don&#39;t understand how this works.<br>&gt;<br>&gt;ldap_use_sasl in saslauthd.conf tells saslauthd to contact OpenLDAP server<br>&gt;via sasl protocol directly. Is this correct?<br><br>Correct. The ldap backend to saslauthd itself performs sasl authentication.<br><br>&gt;And what happens then? How do saslauthd and slapd communicate and how is<br>&gt;authentication performed?<br><br>The communication between Cyrus IMAP and saslauthd would not change. imapd<br>would still communicate with saslauthd in the same manor, by submitting a<br>username and password via the saslauthd mux.<br><br>The ldap backend to saslauthd can be configured to perform SASL over LDAP<br>authentication to slapd (not to be confused with SASL over IMAP<br>authentication). slapd would simply return a successful bind code back to<br>the saslauthd backend, which in turn would respond with an &#39;OK&#39; to cyrus<br>IMAP.<br><br>Using SASL within the LDAP saslauthd backend is a much simpler<br>configuration. i.e.:<br><br>ldap_servers: ldap://ldap.example.com<br>ldap_use_sasl: yes<br>ldap_mech: PLAIN<br><br>(This may require you to configure olcSaslSecProps)<br><br>The &#39;-r&#39; option to saslauthd may be necessary, if you&#39;re not already using<br>it.<br><br>Use ldapwhoami to test your slapd config:<br><br>ldapsearch -Y PLAIN -U jsmith@example.com -H ldap://ldap.example.com \<br> -W<br><br>And if that works, verify your saslauthd configuration with:<br><br>testsaslauthd -u jsmith@example.com -p password<br><br>-- <br>Dan White<br><br><br></tt></blockquote></div>