Regarding issue with auxprop plugin

Om Kale omkale68 at gmail.com
Mon May 21 20:15:53 EDT 2018


Hi Dilyan,
These are the contents of my /usr/lib/sasl2.
okale:/usr/local/lib/sasl2$ ls -lrth
total 904K
-rw-r--r-- 1 root root    4 May  9 18:11 berkeley_db.active
-rwxr-xr-x 1 root root  93K May 18 15:12 libcrammd5.so.3.0.0
lrwxrwxrwx 1 root root   19 May 18 15:12 libcrammd5.so.3 ->
libcrammd5.so.3.0.0
lrwxrwxrwx 1 root root   19 May 18 15:12 libcrammd5.so ->
libcrammd5.so.3.0.0
-rwxr-xr-x 1 root root  672 May 18 15:12 libcrammd5.la
-rwxr-xr-x 1 root root 232K May 18 15:12 libdigestmd5.so.3.0.0
lrwxrwxrwx 1 root root   21 May 18 15:12 libdigestmd5.so.3 ->
libdigestmd5.so.3.0.0
lrwxrwxrwx 1 root root   21 May 18 15:12 libdigestmd5.so ->
libdigestmd5.so.3.0.0
-rwxr-xr-x 1 root root  693 May 18 15:12 libdigestmd5.la
-rwxr-xr-x 1 root root 160K May 18 15:12 libscram.so.3.0.0
lrwxrwxrwx 1 root root   17 May 18 15:12 libscram.so.3 -> libscram.so.3.0.0
lrwxrwxrwx 1 root root   17 May 18 15:12 libscram.so -> libscram.so.3.0.0
-rwxr-xr-x 1 root root  669 May 18 15:12 libscram.la
-rwxr-xr-x 1 root root 214K May 18 15:12 libotp.so.3.0.0
lrwxrwxrwx 1 root root   15 May 18 15:12 libotp.so.3 -> libotp.so.3.0.0
lrwxrwxrwx 1 root root   15 May 18 15:12 libotp.so -> libotp.so.3.0.0
-rwxr-xr-x 1 root root  657 May 18 15:12 libotp.la
-rwxr-xr-x 1 root root  81K May 18 15:12 libplain.so.3.0.0
lrwxrwxrwx 1 root root   17 May 18 15:12 libplain.so.3 -> libplain.so.3.0.0
lrwxrwxrwx 1 root root   17 May 18 15:12 libplain.so -> libplain.so.3.0.0
-rwxr-xr-x 1 root root  668 May 18 15:12 libplain.la
-rwxr-xr-x 1 root root  79K May 18 15:12 libanonymous.so.3.0.0
lrwxrwxrwx 1 root root   21 May 18 15:12 libanonymous.so.3 ->
libanonymous.so.3.0.0
lrwxrwxrwx 1 root root   21 May 18 15:12 libanonymous.so ->
libanonymous.so.3.0.0
-rwxr-xr-x 1 root root  684 May 18 15:12 libanonymous.la
-rwxr-xr-x 1 root root   37 May 18 15:59 memcached-sasl-pwdb
-rw-r--r-- 1 root root  105 May 18 16:02 memcached.conf
okale:/usr/local/lib/sasl2$


Also I see pluginviewer looks in the same directory for the plugins:

open("/usr/lib/sasl2/libotp.so.3", O_RDONLY|O_CLOEXEC) = 4
read(4,
"\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P\331\0\0\0\0\0\0"..., 832)
= 832
fstat(4, {st_mode=S_IFREG|0755, st_size=218776, ...}) = 0
mmap(NULL, 2204424, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 4, 0) =
0x7f33d9d44000
mprotect(0x7f33d9d59000, 2097152, PROT_NONE) = 0
mmap(0x7f33d9f59000, 24576, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0x15000) = 0x7f33d9f59000
close(4)                                = 0
mprotect(0x7f33d9f59000, 4096, PROT_READ) = 0
open("/usr/lib/sasl2/libdigestmd5.la", O_RDONLY) = 4
close(4)                                = 0
open("/usr/lib/sasl2/libplain.la", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0755, st_size=668, ...}) = 0
read(4, "# libplain.la - a libtool librar"..., 4096) = 668
close(4)                                = 0
open("/usr/lib/sasl2/libplain.so.3", O_RDONLY|O_CLOEXEC) = 4

I had changed the symbolic links as mentioned in the cyrus wiki like this:

ln -s /usr/local/lib/sasl2 /usr/lib/sasl2


In spite of this, I see the following error in my memcached server log:

mech:  ``PLAIN'' with 26 bytes of data
SASL (severity 5): could not find auxprop plugin, was searching for 'sasldb'
SASL (severity 5): could not find auxprop plugin, was searching for 'sasldb'

My memcached.conf looks as below:
pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list: plain
log_level: 5
sasldb_path: /usr/lib/sasl2

What I can't understand is how I enable the auxprop plugin with berkeley db
for cyrus to read the config correctly?



Thanks and Regards,
Om Kale


On Sat, May 19, 2018 at 5:47 AM, Dilyan Palauzov <Dilyan.Palauzov at aegee.org>
wrote:

> Hello,
>
> sasl installs the plugins in $prefix/lib/sasl2, which defaults to /usr/
> local/lib/sasl2, but looks for them in $plugindir, which defaults to
> /usr/lib/sasl2 . So "./configure && make install" does not work.
>
> To check if this is related to you, find the directory containing the
> plugins are installed, e.g.     /usr/local/lib/sasl2 and the
> directory checked by pluginviewer, e.g. by running it behind strace.
>
> It could be something completely different, however, I don't recall the
> details now.
>
> This patch:
>
>      - ensures a usable system after "./configure && make install", in
> particular
>        it abolishes the possibility to install plugins in one directory
> and load
>        them from another;
>      - installs the plugins by default in $(libdir)/sasl2;
>      - looks for configuration files by default in the directory, where
> plugins are
>        installed, as de jure it has always been, and in
> ${sysconfdir}/sasl2 instead
>        of /etc/sasl2;
>      - updates ./configure --help accordingly;
>
>         $(mkinstalldirs) $(framedir)/Versions/A/Resources
> diff --git a/configure.ac b/configure.ac
> --- a/configure.ac
> +++ b/configure.ac
> @@ -1124,17 +1124,15 @@ AC_SUBST(SASL_STATIC_OBJS)
>  AC_SUBST(SASL_STATIC_LIBS)
>
>  AC_ARG_WITH(plugindir, [  --with-plugindir=DIR    set the directory
> where plugins will
> -                          be found [[/usr/lib/sasl2]] ],
> +                          be found [[LIBDIR/sasl2]] ],
>    plugindir=$withval,
> -  plugindir=/usr/lib/sasl2)
> -AC_DEFINE_UNQUOTED(PLUGINDIR, "$plugindir", [Runtime plugin location])
> +  plugindir='${libdir}/sasl2')
>  AC_SUBST(plugindir)
>
>  AC_ARG_WITH(configdir, [   --with-configdir=DIR    set the directory
> where config files will
> -                          be found [/usr/lib/sasl2] ],
> +                          be found [PLUGINDIR:SYSCONFDIR/sasl2] ],
>    configdir=$withval,
> -  configdir=$plugindir:/etc/sasl2)
> -AC_DEFINE_UNQUOTED(CONFIGDIR, "$configdir", [Runtime config file
> location])
> +  configdir='${plugindir}:${sysconfdir}/sasl2')
>  AC_SUBST(configdir)
>
>  dnl look for rc4 libraries. we accept the CMU one or one from openSSL
> diff --git a/lib/Makefile.am b/lib/Makefile.am
> --- a/lib/Makefile.am
> +++ b/lib/Makefile.am
> @@ -46,8 +46,7 @@
>  sasl_version = 3:0:0
>
>  AM_CPPFLAGS=-DLIBSASL_EXPORTS=1 -I$(top_srcdir)/include
> -I$(top_srcdir)/plugins \
> -            -I$(top_builddir)/include -I$(top_srcdir)/sasldb
> -I$(top_srcdir)/common
> -
> +               -I$(top_builddir)/include -I$(top_srcdir)/sasldb
> -I$(top_srcdir)/common -DCONFIGDIR='"${configdir}"'
> -DPLUGINDIR='"${plugindir}"'
>  PLUGIN_COMMON_OBJS = $(top_builddir)/common/libplugin_common.la
>
>  EXTRA_DIST = windlopen.c dlopen.c staticopen.h NTMakefile
>  EXTRA_DIST = windlopen.c dlopen.c staticopen.h NTMakefile
> diff --git a/plugins/Makefile.am b/plugins/Makefile.am
> --- a/plugins/Makefile.am
> +++ b/plugins/Makefile.am
> @@ -64,9 +64,8 @@ noinst_SCRIPTS = makeinit.sh
>  LIB_MYSQL = @LIB_MYSQL@
>
>  plugindir = @plugindir@
> +plugin_LTLIBRARIES = @SASL_MECHS@
>
> -sasldir = $(prefix)/lib/sasl2
> -sasl_LTLIBRARIES = @SASL_MECHS@
>  EXTRA_LTLIBRARIES = libplain.la libanonymous.la libkerberos4.la
> libcrammd5.la \
>         libgs2.la libgssapiv2.la libdigestmd5.la liblogin.la libsrp.la
> libotp.la \
>         libscram.la libntlm.la libpassdss.la libsasldb.la libsql.la
> libldapdb.la
> diff --git a/sample/Makefile.am b/sample/Makefile.am
> index 6b41b49..f907d2a 100644
> --- a/sample/Makefile.am
> +++ b/sample/Makefile.am
> @@ -42,7 +42,7 @@
>  #
>  ################################################################
>
> -AM_CPPFLAGS=-I$(top_srcdir)/include
> +AM_CPPFLAGS=-I$(top_srcdir)/include -DPLUGINDIR='"${plugindir}"'
>
>  noinst_PROGRAMS = client server http_digest_client
>  EXTRA_PROGRAMS = sample-client sample-server
>
> On Fri, 2018-05-18 at 14:46 -0700, Om Kale wrote:
> > Hey Dan,
> > Thanks for the inputs. I have the sasldb folder (I presume sasldb
> > library is something different. If yes, where do I find this) inside
> > the cyrus-sasl installation folder. The contents of sasldb folder are
> > as below:
> > /sasldb$ ls -lrt
> > total 176
> > -rw-rw-r-- 1 cisco cisco  4750 Jan 27  2012 sasldb.h
> > -rw-rw-r-- 1 cisco cisco  2527 Jan 27  2012 NTMakefile
> > -rw-rw-r-- 1 cisco cisco  2606 Jan 27  2012 Makefile.am
> > -rw-rw-r-- 1 cisco cisco  3882 Jan 27  2012 db_none.c
> > -rw-rw-r-- 1 cisco cisco  9451 Jan 27  2012 db_ndbm.c
> > -rw-rw-r-- 1 cisco cisco  9366 Jan 27  2012 db_gdbm.c
> > -rw-rw-r-- 1 cisco cisco  7235 Jan 27  2012 allockey.c
> > -rw-rw-r-- 1 cisco cisco 12505 Oct 12  2012 db_berkeley.c
> > -rw-rw-r-- 1 cisco cisco 19194 Nov  6  2012 Makefile.in
> > -rw-rw-r-- 1 cisco cisco 14104 May  9 16:17 db_none.o
> > -rw-rw-r-- 1 cisco cisco 18533 May 18 14:12 Makefile
> > -rw-r--r-- 1 root  root  31336 May 18 14:12 allockey.lo
> > -rw-r--r-- 1 root  root  14136 May 18 14:12 db_none.lo
> > -rw-r--r-- 1 root  root    600 May 18 14:12 libsasldb.la
> >
> > I have configured using
> > --with-dblib=BERKELEY as well..didn't give me any issues. Initially,
> > I had used '--with-dbpath=/etc/sasldb2', but later understood that
> > this cannot be used for MD5 auth.
> >
> > However, 'pluginviewer -a' gives none.
> > dd17-ubuntu-okale:/usr/local/sbin$ pluginviewer -a
> > Installed and properly configured auxprop mechanisms are:
> > <none>
> >
> >
> > The ldd on pluginviewer looks like this:
> > dd17-ubuntu-okale:/usr/local/sbin$ ldd pluginviewer
> >       linux-vdso.so.1 =>  (0x00007ffcc87e3000)
> >       libsasl2.so.3 => /usr/local/lib/libsasl2.so.3
> > (0x00007f9f3a2e4000)
> >       libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6
> > (0x00007f9f39f1a000)
> >       libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2
> > (0x00007f9f39d16000)
> >       /lib64/ld-linux-x86-64.so.2 (0x00007f9f3a501000)
> >
> >
> > The ldd on my memcached binary looks like this:
> > dd17-ubuntu-okale:~/Downloads/memcached-1.5.7$ ldd memcached
> >       linux-vdso.so.1 =>  (0x00007ffd6bfb8000)
> >       libevent-2.0.so.5 => /usr/lib/x86_64-linux-gnu/libevent-
> > 2.0.so.5 (0x00007f270c40e000)
> >       libsasl2.so.3 => /usr/local/lib/libsasl2.so.3
> > (0x00007f270c1f1000)
> >       libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0
> > (0x00007f270bfd4000)
> >       libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6
> > (0x00007f270bc0a000)
> >       libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2
> > (0x00007f270ba06000)
> >       /lib64/ld-linux-x86-64.so.2 (0x00007f270c654000)
> >
> > So they are pointing to the same location.
> >
> > For installation of cyrus, I have downloaded the tar.gz, untarred it
> > and then configured it using ./configure, followed by make, make
> > install and adding the symbolic link as mentioned in the
> > documentation.
> > However, for the server side application (in my case memcached) using
> > cyrus-sasl, I don't see any generalized way, I only see documentation
> > for postfix server application.
> > W
> >
> > Thanks and Regards,
> > Om Kale
> >
> >
> > On Thu, May 17, 2018 at 7:08 PM, Dan White <dwhite at olp.net> wrote:
> > > On 05/17/18 18:41 -0700, Om Kale wrote:
> > > > Hi All,
> > > > I am trying to integrate cyrus-sasl with memcached. I am
> > > > repeatedly seeing
> > > > the following error on the memcached application server:
> > > > SASL (severity 5): could not find auxprop plugin, was searching
> > > > for 'sasldb'
> > > > SASL (severity 5): could not find auxprop plugin, was searching
> > > > for 'sasldb'
> > > >
> > > >
> > > > Could someone please help me with the same.
> > > >
> > > > I have created a config file named memcached.conf inside
> > > > /usr/lib/sasl2/
> > > > that looks like follows:
> > > > pwcheck_method: auxprop
> > > > auxprop_plugin: sasldb
> > > > mech_list: plain
> > > > log_level: 5
> > > > sasldb_path: /usr/lib/sasl2
> > > >
> > > > I have also configured cyrus-sasl using:
> > > > ./configure --with-plugindir=/usr/lib/sasl2 --with-
> > > > configdir=/usr/lib/sasl2
> > > >
> > >
> > > Assuming that you compiled dynamically, does the sasldb shared
> > > library
> > > exist? If not, you may need to check it's build dependencies and
> > > you may
> > > need to specify --with-dblib and/or CPPFLAGS/LDFLAGS if berkerly
> > > cannot be
> > > found.
> > >
> > > Use 'pluginviewer -a' to verify that the glue library can find
> > > sasldb.
> > > strace or another system call trace tool should verify the
> > > directory path
> > > being searched.
> > >
> > > If using shared libraries, ldd on both pluginview and your
> > > memcached binary
> > > should point to the same location for libsasl2.so.2.
> >
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.andrew.cmu.edu/pipermail/cyrus-devel/attachments/20180521/728b6bc3/attachment-0001.html>


More information about the Cyrus-devel mailing list