[MacPorts] #40885: cyrus-sasl2 @2.1.25_4 doesn't contain LOGIN/PLAIN mechanism
#40885: cyrus-sasl2 @2.1.25_4 doesn't contain LOGIN/PLAIN mechanism ------------------------+-------------------------------- Reporter: congling@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: MacPorts 2.2.1 Component: ports | Version: 2.2.0 Keywords: sasl svn | Port: ------------------------+-------------------------------- Compile and run the following code after install cyrus-sasl2, it would show just "EXTERNAL". But when using cyrus-sasl 2.1.26 source from ftp://ftp.cyrusimap.org /cyrus-sasl/cyrus-sasl-2.1.26.tar.gz, it would return the following mechanism. This issue will let the svn client unable to connect to the server with LOGIN/PLAIN authentication mechanism mech:EXTERNAL mech:APOP mech:DHX mech:WEBDAV-DIGEST mech:ANONYMOUS mech:CRAM-MD5 mech:DIGEST-MD5 mech:GSSAPI mech:LOGIN mech:NTLM mech:OTP mech:PLAIN mech:PPS mech:MS-CHAPv2 mech:SMB-NT mech:SMB-NTLMv2 source code: #include <stdio.h> #include <sasl/sasl.h> int main(){ const char* np; const char** p; int result; result=sasl_client_init(NULL); /* check to see if that worked */ if (result!=SASL_OK) { printf("failed to init\n"); return 1; } else printf("success to init\n"); p = sasl_global_listmech(); for (np= *p; np != NULL; np=*(++p)) { printf("mech:%s\n",np); } return 0; } -- Ticket URL: <https://trac.macports.org/ticket/40885> MacPorts <http://www.macports.org/> Ports system for OS X
#40885: cyrus-sasl2 @2.1.25_4 doesn't contain LOGIN/PLAIN mechanism --------------------------+-------------------- Reporter: congling@… | Owner: jmpp@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.0 Resolution: | Keywords: Port: cyrus-sasl2 | --------------------------+-------------------- Changes (by ryandesign@…): * cc: landonf@… (added) * owner: macports-tickets@… => jmpp@… * milestone: MacPorts 2.2.1 => * keywords: sasl svn => * port: => cyrus-sasl2 Old description:
Compile and run the following code after install cyrus-sasl2, it would show just "EXTERNAL". But when using cyrus-sasl 2.1.26 source from ftp://ftp.cyrusimap.org /cyrus-sasl/cyrus-sasl-2.1.26.tar.gz, it would return the following mechanism. This issue will let the svn client unable to connect to the server with LOGIN/PLAIN authentication mechanism
mech:EXTERNAL mech:APOP mech:DHX mech:WEBDAV-DIGEST mech:ANONYMOUS mech:CRAM-MD5 mech:DIGEST-MD5 mech:GSSAPI mech:LOGIN mech:NTLM mech:OTP mech:PLAIN mech:PPS mech:MS-CHAPv2 mech:SMB-NT mech:SMB-NTLMv2
source code:
#include <stdio.h> #include <sasl/sasl.h>
int main(){ const char* np; const char** p; int result;
result=sasl_client_init(NULL);
/* check to see if that worked */ if (result!=SASL_OK) { printf("failed to init\n"); return 1; } else printf("success to init\n"); p = sasl_global_listmech(); for (np= *p; np != NULL; np=*(++p)) { printf("mech:%s\n",np); }
return 0; }
New description: Compile and run the following code after install cyrus-sasl2, it would show just "EXTERNAL". But when using cyrus-sasl 2.1.26 source from ftp://ftp.cyrusimap.org /cyrus-sasl/cyrus-sasl-2.1.26.tar.gz, it would return the following mechanism. This issue will let the svn client unable to connect to the server with LOGIN/PLAIN authentication mechanism {{{ mech:EXTERNAL mech:APOP mech:DHX mech:WEBDAV-DIGEST mech:ANONYMOUS mech:CRAM-MD5 mech:DIGEST-MD5 mech:GSSAPI mech:LOGIN mech:NTLM mech:OTP mech:PLAIN mech:PPS mech:MS-CHAPv2 mech:SMB-NT mech:SMB-NTLMv2 }}} source code: {{{ #include <stdio.h> #include <sasl/sasl.h> int main(){ const char* np; const char** p; int result; result=sasl_client_init(NULL); /* check to see if that worked */ if (result!=SASL_OK) { printf("failed to init\n"); return 1; } else printf("success to init\n"); p = sasl_global_listmech(); for (np= *p; np != NULL; np=*(++p)) { printf("mech:%s\n",np); } return 0; } }}} -- -- Ticket URL: <https://trac.macports.org/ticket/40885#comment:1> MacPorts <http://www.macports.org/> Ports system for OS X
#40885: cyrus-sasl2 @2.1.25_4 doesn't contain LOGIN/PLAIN mechanism --------------------------+-------------------- Reporter: congling@… | Owner: jmpp@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.0 Resolution: | Keywords: Port: cyrus-sasl2 | --------------------------+-------------------- Comment (by lwarxx@…): Same here (can be related to OS X Mavericks): {{{ $ /opt/local/sbin/saslauthd -v saslauthd 2.1.25 authentication mechanisms: getpwent kerberos5 pam rimap }}} -- Ticket URL: <https://trac.macports.org/ticket/40885#comment:2> MacPorts <http://www.macports.org/> Ports system for OS X
#40885: cyrus-sasl2 @2.1.25_4 doesn't contain LOGIN/PLAIN mechanism --------------------------+-------------------- Reporter: congling@… | Owner: jmpp@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.0 Resolution: | Keywords: Port: cyrus-sasl2 | --------------------------+-------------------- Comment (by carter.tjoseph@…): I just edited the Portfile to change version to 2.1.26, revision to 0, nuked all of the patch files (all of which show as previously applied), and updated the rmd160/sha256 checksums. Then I upgraded. SASL now works. :) Tested with mutt-devel and svn. -- Ticket URL: <https://trac.macports.org/ticket/40885#comment:3> MacPorts <http://www.macports.org/> Ports system for OS X
#40885: cyrus-sasl2 @2.1.25_4 doesn't contain LOGIN/PLAIN mechanism --------------------------+-------------------- Reporter: congling@… | Owner: jmpp@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.0 Resolution: | Keywords: Port: cyrus-sasl2 | --------------------------+-------------------- Comment (by carter.tjoseph@…): It's apparently not as simple as a new Portfile. This break's cyrus- sasl2's binaries because upstream uses a version of libtool 1.3.5. *sobs* I've gone through and quickly updated libtool in the port the quick and dirty way, but … it's quick and it's dirty. Basically I started with a distclean'd tree and ran glibtool --copy and did everything it told me I ought to do: AC_CONFIG_MACRO_DIR([config]) in configure.in, ACLOCAL_AMFLAGS = -I config in Makefile.am, abd adding several files to aclocal.m4. Didn't see something resembling autogen.sh/bootstrap.sh so I had to do that by hand. I did not generate one patch per file as is the custom because it'd be absolutely nuts to do it. This "fixes" cyrus-sasl2 as far as port is concerned, but recreates the original bug this ticket is trying to address. -- Ticket URL: <https://trac.macports.org/ticket/40885#comment:4> MacPorts <http://www.macports.org/> Ports system for OS X
#40885: cyrus-sasl2 @2.1.25_4 doesn't contain LOGIN/PLAIN mechanism --------------------------+-------------------- Reporter: congling@… | Owner: jmpp@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.0 Resolution: | Keywords: Port: cyrus-sasl2 | --------------------------+-------------------- Comment (by carter.tjoseph@…): BOOM! A one line patch fixes the 2.1.26 build. I'm not 100% sure this is the most "correct" solution, but it is the most correct solution given the upstream choice to use LD_RUN_PATH as if it contains a single directory. Mutt still works, and so now do the included utilities such as pluginviewer. -- Ticket URL: <https://trac.macports.org/ticket/40885#comment:5> MacPorts <http://www.macports.org/> Ports system for OS X
#40885: cyrus-sasl2 @2.1.25_4 doesn't contain LOGIN/PLAIN mechanism --------------------------+-------------------- Reporter: congling@… | Owner: jmpp@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.0 Resolution: | Keywords: Port: cyrus-sasl2 | --------------------------+-------------------- Comment (by JustinVallon@…): [Started looking at this last night, and just finished digging into the cause. It appears there might be a proposed patch, but I'll comment anyway] Previously, there were /opt/local/lib/sasl2/lib*.la files generated by GNU libtool. However, those files no longer exist (any of them). I have not looked into why. The plugin mechanism searches the plugin directory for *.la and *.plugin (strcmps around lib/dlopen.c:_sasl_load_plugins:509), but finds neither. With the *.la files, it scans them for /dlname='(.*)'/ to determine the name of the shared library. In my build, LA_SUFFIX=".la" and SO_SUFFIX=".plugin" (lib/dlopen.c). I copied libplain.la and libsasldb.la from backup, and PLAIN/sasldb started working again. -- Ticket URL: <https://trac.macports.org/ticket/40885#comment:6> MacPorts <http://www.macports.org/> Ports system for OS X
#40885: cyrus-sasl2 @2.1.25_4 doesn't contain LOGIN/PLAIN mechanism --------------------------+-------------------- Reporter: congling@… | Owner: jmpp@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.0 Resolution: | Keywords: Port: cyrus-sasl2 | --------------------------+-------------------- Comment (by perry@…): Variations on this are breaking libetpan's SASL support (which comes from cyrus-sasl2) and things that depend on it in turn like claws-mail. Any thoughts on a final fix? -- Ticket URL: <https://trac.macports.org/ticket/40885#comment:10> MacPorts <http://www.macports.org/> Ports system for OS X
#40885: cyrus-sasl2 @2.1.25_4 doesn't contain LOGIN/PLAIN mechanism --------------------------+-------------------- Reporter: congling@… | Owner: jmpp@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.0 Resolution: | Keywords: Port: cyrus-sasl2 | --------------------------+-------------------- Comment (by post@…): Cc Me! -- Ticket URL: <https://trac.macports.org/ticket/40885#comment:11> MacPorts <http://www.macports.org/> Ports system for OS X
#40885: cyrus-sasl2 @2.1.25_4 doesn't contain LOGIN/PLAIN mechanism --------------------------+-------------------- Reporter: congling@… | Owner: jmpp@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.0 Resolution: | Keywords: Port: cyrus-sasl2 | --------------------------+-------------------- Comment (by raimue@…): Replying to [comment:6 JustinVallon@…]:
Previously, there were /opt/local/lib/sasl2/lib*.la files generated by GNU libtool. However, those files no longer exist (any of them). I have not looked into why.
MacPorts >= 2.2.0 removes/modifies glibtool's `.la` files to prevent overlinking, see #38010 for the discussion and details. -- Ticket URL: <https://trac.macports.org/ticket/40885#comment:16> MacPorts <http://www.macports.org/> Ports system for OS X
#40885: cyrus-sasl2 @2.1.25_4 doesn't contain LOGIN/PLAIN mechanism --------------------------+-------------------- Reporter: congling@… | Owner: jmpp@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.0 Resolution: | Keywords: Port: cyrus-sasl2 | --------------------------+-------------------- Comment (by perry@…): Raimue: so what is the correct solution here? Is there a way to override the removal of the .la files during install? -- Ticket URL: <https://trac.macports.org/ticket/40885#comment:17> MacPorts <http://www.macports.org/> Ports system for OS X
#40885: cyrus-sasl2 @2.1.25_4 doesn't contain LOGIN/PLAIN mechanism --------------------------+-------------------- Reporter: congling@… | Owner: jmpp@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.0 Resolution: | Keywords: Port: cyrus-sasl2 | --------------------------+-------------------- Comment (by raimue@…): Yes, that can be changed using {{{ destroot.delete_la_files no }}} in the Portfile. I am not sure whether this would be a real solution. It is solved in different ways in other distributions. For example, [http://patch- tracker.debian.org/patch/series/view/cyrus- sasl2/2.1.25.dfsg1-6+deb7u1/0030-dont_use_la_files_for_opening_plugins.patch Debian patches cyrus-sasl2] to load plugins directly by the `*.so` name instead of looking for the `*.la` files. -- Ticket URL: <https://trac.macports.org/ticket/40885#comment:18> MacPorts <http://www.macports.org/> Ports system for OS X
#40885: cyrus-sasl2 @2.1.25_4 doesn't contain LOGIN/PLAIN mechanism --------------------------+-------------------- Reporter: congling@… | Owner: jmpp@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.0 Resolution: | Keywords: Port: cyrus-sasl2 | --------------------------+-------------------- Comment (by perry@…): Just adding that to the portfile doesn't seem to change the output of /opt/local/sbin/saslauthd -v to indicate (for example) cram-md5.... -- Ticket URL: <https://trac.macports.org/ticket/40885#comment:19> MacPorts <http://www.macports.org/> Ports system for OS X
#40885: cyrus-sasl2 @2.1.25_4 doesn't contain LOGIN/PLAIN mechanism --------------------------+-------------------- Reporter: congling@… | Owner: jmpp@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.0 Resolution: | Keywords: Port: cyrus-sasl2 | --------------------------+-------------------- Comment (by post@…): Thanks raimue, it solves my problem. Now subversion works again. -- Ticket URL: <https://trac.macports.org/ticket/40885#comment:20> MacPorts <http://www.macports.org/> Ports system for OS X
#40885: cyrus-sasl2 @2.1.25_4 doesn't contain LOGIN/PLAIN mechanism --------------------------+-------------------- Reporter: congling@… | Owner: jmpp@… Type: defect | Status: closed Priority: Normal | Milestone: Component: ports | Version: 2.2.0 Resolution: fixed | Keywords: Port: cyrus-sasl2 | --------------------------+-------------------- Changes (by raimue@…): * status: new => closed * resolution: => fixed Comment: Updated to cyrus-sasl2 to 2.1.26 in r112740. The test code given in the original report returns multiple mechanisms for me, marking as fixed. -- Ticket URL: <https://trac.macports.org/ticket/40885#comment:21> MacPorts <http://www.macports.org/> Ports system for OS X
#40885: cyrus-sasl2 @2.1.25_4 doesn't contain LOGIN/PLAIN mechanism --------------------------+-------------------- Reporter: congling@… | Owner: jmpp@… Type: defect | Status: closed Priority: Normal | Milestone: Component: ports | Version: 2.2.0 Resolution: fixed | Keywords: Port: cyrus-sasl2 | --------------------------+-------------------- Comment (by jmr@…): Are you sure it was OK to remove patch-utils_Makefile.in.diff? That change has not been applied in the new version. -- Ticket URL: <https://trac.macports.org/ticket/40885#comment:22> MacPorts <http://www.macports.org/> Ports system for OS X
#40885: cyrus-sasl2 @2.1.25_4 doesn't contain LOGIN/PLAIN mechanism --------------------------+-------------------- Reporter: congling@… | Owner: jmpp@… Type: defect | Status: closed Priority: Normal | Milestone: Component: ports | Version: 2.2.0 Resolution: fixed | Keywords: Port: cyrus-sasl2 | --------------------------+-------------------- Comment (by raimue@…): You are right, I restored it in r112766. -- Ticket URL: <https://trac.macports.org/ticket/40885#comment:23> MacPorts <http://www.macports.org/> Ports system for OS X
#40885: cyrus-sasl2 @2.1.25_4 doesn't contain LOGIN/PLAIN mechanism --------------------------+-------------------- Reporter: congling@… | Owner: jmpp@… Type: defect | Status: closed Priority: Normal | Milestone: Component: ports | Version: 2.2.0 Resolution: fixed | Keywords: Port: cyrus-sasl2 | --------------------------+-------------------- Comment (by JustinVallon@…): In 2.1.26_4, shared libs in /opt/local/lib/sasl2 are now named lib*.plugin, and the dlopen code finds and opens them. The PLAIN and SASLDB plugins are working for me (without needing the lib*.la files). In follow up to response #2: "saslauthd -v" output is unchanged, but I don't know either way what the correct output should be. -- Ticket URL: <https://trac.macports.org/ticket/40885#comment:24> MacPorts <http://www.macports.org/> Ports system for OS X
participants (1)
-
MacPorts