Using more than one SASLDB

Dan White dwhite at
Tue Mar 23 15:01:39 EDT 2010

On 22/03/10 18:33 -0700, Koaps wrote:
>I've been trying to figure out how to use a different sasldb2 for
>different instances of svn.
>I have a svn server that listenings on two different ports for two
>different repo areas(one is for testing some code for managing SVN)
>I wanted have the testing site use a different sasldb since there is the
>possibility that it could destroy or override the master sasldb, which
>would be very bad.
>I have different users the xinetd runs svnserve as, svn and svn-dev, and I
>tried making svn.conf and svn-dev.conf files in /etc/sasl2 but it doesn't
>seem to work and sasl just keeps looking at the master db.
>Is there a way to get this to work?
>I tried to see if it was something SVN related but it seems to be sasl.
>I'm not how to get it to read the other config file so it looks at the dev

The filename of the configuration file is set by the sasl_server_init call,
which is set in subversion by:

include/private/ra_svn_sasl.h:#define SVN_RA_SVN_SASL_NAME "svn"

The location can be changed in certain circumstances via the SASL_CONF_PATH
environment variable. See the sasl_getconfpath_t(3) man page, which states:

sasl_getconfpath_t is used if the application wishes to use a different
location for the SASL configuration files. If this callback is not used
SASL will either use the location in the environment variable
SASL_CONF_PATH (provided we are not SUID or SGID) or /etc/sasl2 by default.

I don't see sasl_getconfpath_t anywhere in the subversion code (1.6.9), so
you should be able to define a directory for your svn-dev to place a unique
svn.conf in, assuming you can set an environment variable in xinetd.

Dan White

More information about the Cyrus-sasl mailing list