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 sasldb.
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