[BINGO! ... IT'S A BUG] Re: imtest fails w/ "Authentication failed. no mechanism available"

Ken Murchison ken at oceana.com
Tue Nov 2 14:55:15 EST 2004


You should bugzilla this.



OpenMacNews wrote:

> hi earl,
> 
> -- On Tuesday, November 2, 2004 8:17 AM -0500  Earl R Shannon 
> <ershanno at unity.ncsu.edu> wrote:
> 
>> I see the PLAIN mech being advertised by the server. I'd check and 
>> make sure the SASL libraries can be found by the imtest client.
>>
>> Regards,
>> Earl Shannon
> 
> 
> well, I'll be ... I thought I'd proactively fixed this !?
> 
> i'll share what i've found. BOTTOM LINE:  i think (?) there's a bug that 
> needs to be fixed ... or at least behavior that needs to be better 
> clarified.
> 
> on my system (OSX 10.3.5), cyrus-sasl-2.1.19 has been built/installed in 
> cd /usr/local/cyrus-sasl (the OSX SASL2.framework still gets installed 
> in /Library/Frameworks ... i'll worry abt this later) with (among other 
> settings):
> 
>     ./configure \
>       --prefix=/usr/local/cyrus-sasl \
>       --with-plugindir=/usr/local/cyrus-sasl/lib/sasl2 \
>       ...
>       --with-openssl=/usr/local/ssl \
>       ...
>       --with-dblib=berkeley \
>       --with-bdb-libdir=/usr/lib \
>       --with-bdb-incdir=/usr/include \
>       ...
> 
> of course, per numerous messages on the board, in building cyrus-imap 
> you've got to make sure to pick up the right sasl2 libs ... NOT the OSX 
> 'native' installs in /usr.
> 
> to that end, i SPECIFICALLY built cyrus-imapd-2.2.8 with:
> 
>     setenv LDFLAGS "-L/usr/local/cyrus-sasl/lib -lsasl2"
>     setenv CPPFLAGS "-I/usr/local/cyrus-sasl/include/sasl"
> 
> and
> 
>       --with-sasl=/usr/local/cyrus-sasl \
> 
> as:
> 
>     ./configure \
>       --prefix=/usr/local/cyrus-imap \
>       --with-cyrus-prefix=/usr/local/cyrus-imap/bin \
>       --with-service-path=/usr/local/cyrus-imap/libexec \
>       --with-sasl=/usr/local/cyrus-sasl \
>       --with-snmp=/usr/local/net-snmp \
>     --with-auth=unix \
>     --enable-listext \
>     --with-bdb \
>     --with-bdb-libdir=/usr/lib \
>     --with-bdb-incdir=/usr/include \
>     --with-openssl=/usr/local/ssl \
>     --with-syslogfacility=LOCAL6 \
>     --with-perl=/usr/bin/perl \
>     --with-libwrap \
>     --enable-sieve \
>     --enable-server \
>     --disable-gssapi \
>     --with-syslogfacility=LOCAL6
> 
> then
> 
>     make depend
>     make all
> 
> changing
> 
>     # this is another issue for later ...
>     --------------------------------------
>     (EDITOR) perl/imap/Makefile perl/sieve/managesieve/Makefile
>     
>     ---    PERLPREFIX = $(PREFIX)
>     +++    PERLPREFIX = /
>     --------------------------------------
> 
> followed by
> 
>     make install
> 
> all was (so i thought) OK.
> 
> per your mail message, tho i checked AGAIN:
> 
>     otool -L /usr/local/cyrus-imap/bin/imtest
> 
> to find:
> 
>         Load command 5
>         cmd LC_LOAD_DYLIB
>         cmdsize 56
>         name /usr/lib/libsasl2.2.0.1.dylib (offset 24)
> 
> STILL linked against the wrong library!
> 
> some digging finds multiple ocurrences of:
> 
>     EXTRALIBS = -L/usr/lib -ldb-4.2 -L/usr/local/cyrus-sasl/lib -lsasl2 
> -L/usr/local/ssl/lib -L/usr/local/ssl/lib -lssl -lcrypto
> 
> and
> 
>     LDLOADLIBS = -L/usr/lib -ldb-4.2 -L/usr/local/cyrus-sasl/lib -lsasl2 
> -L/usr/local/ssl/lib -L/usr/local/ssl/lib -lssl -lcrypto
> 
> 
> note the "-ldb-4.2" PREPENDED by "-L/usr/lib"!
> 
> this seems to be picked up from the specification of:
> 
>     --with-bdb \
>     --with-bdb-libdir=/usr/lib \
>     --with-bdb-incdir=/usr/include \
> 
> in configure.
> 
> if I remove the libdir/incdir lines from configure, and reconfigure with 
> just
> 
>     --with-bdb \
> 
> after:
> 
>     make depend
>     make all
> 
> i find:
> 
>     EXTRALIBS = -ldb-4.2 -L/usr/local/cyrus-sasl/lib -lsasl2 
> -L/usr/local/ssl/lib -L/usr/local/ssl/lib -lssl -lcrypto
> 
> and
> 
>     LDLOADLIBS = -ldb-4.2 -L/usr/local/cyrus-sasl/lib -lsasl2 
> -L/usr/local/ssl/lib -L/usr/local/ssl/lib -lssl -lcrypto
> 
> NOTE: *NO* prepended "-L/usr/lib"
> 
> a subsequent:
> 
>     make install
> 
> goes smoothly, and a check of the rebuilt bin:
> 
>     otool -L /usr/local/cyrus-imap/bin/imtest
> 
> shows what I expected the first time around:
> 
>                Load command 5
>         cmd LC_LOAD_DYLIB
>                cmdsize 80
>         name /usr/local/cyrus-sasl/lib/libsasl2.2.dylib (offset 24)
> 
> now linked against the SASL *I* built ...
> 
> I'd suggest that the code should be mod'd to pull SASL2 from where it's 
> told to EVEN IN THE EVENT that another lib (e.g., dbd) is being pulled 
> from /usr.
> 
> thanks for the 'thump' on the head!
> 
> richard
> 
> 
> ---
> Cyrus Home Page: http://asg.web.cmu.edu/cyrus
> Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu
> List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
> 


-- 
Kenneth Murchison     Oceana Matrix Ltd.
Software Engineer     21 Princeton Place
716-662-8973 x26      Orchard Park, NY 14127
--PGP Public Key--    http://www.oceana.com/~ken/ksm.pgp
---
Cyrus Home Page: http://asg.web.cmu.edu/cyrus
Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html




More information about the Info-cyrus mailing list