--- D:/subversion-1.6.9/subversion/svnserve/cyrus_auth.c Âò àâã 18 01:34:52 2009 +++ D:/subversion-1.6.9/subversion/svnserve/cyrus_auth.c Ñð ìàð 3 09:51:28 2010 @@ -262,7 +262,7 @@ /* Create a SASL context. SASL_SUCCESS_DATA tells SASL that the protocol supports sending data along with the final "success" message. */ - result = sasl_server_new(SVN_RA_SVN_SASL_NAME, + result = sasl_server_new(b->sasl_service_name, hostname, b->realm, localaddrport, remoteaddrport, NULL, SASL_SUCCESS_DATA, --- D:/subversion-1.6.9/subversion/svnserve/serve.c Ïí ìàé 4 19:02:01 2009 +++ D:/subversion-1.6.9/subversion/svnserve/serve.c Ñð ìàð 3 10:08:46 2010 @@ -46,6 +46,7 @@ #include "private/svn_log.h" #include "private/svn_mergeinfo_private.h" +#include "private/ra_svn_sasl.h" #ifdef HAVE_UNISTD_H #include /* For getpid() */ @@ -2877,6 +2878,9 @@ /* Should we use Cyrus SASL? */ svn_config_get_bool(b->cfg, &b->use_sasl, SVN_CONFIG_SECTION_SASL, SVN_CONFIG_OPTION_USE_SASL, FALSE); + + svn_config_get(b->cfg, &b->sasl_service_name, SVN_CONFIG_SECTION_SASL, + SVN_CONFIG_OPTION_SASL_SERVICE_NAME, SVN_RA_SVN_SASL_NAME); #endif /* Use the repository UUID as the default realm. */ @@ -2943,6 +2947,7 @@ b.log_file = params->log_file; b.pool = pool; b.use_sasl = FALSE; + b.sasl_service_name = NULL; /* Send greeting. We don't support version 1 any more, so we can * send an empty mechlist. */ --- D:/subversion-1.6.9/subversion/svnserve/server.h Âò àïð 29 14:57:35 2008 +++ D:/subversion-1.6.9/subversion/svnserve/server.h Ñð ìàð 3 10:05:42 2010 @@ -48,6 +48,7 @@ svn_boolean_t read_only; /* Disallow write access (global flag) */ svn_boolean_t use_sasl; /* Use Cyrus SASL for authentication; always false if SVN_HAVE_SASL not defined */ + const char *sasl_service_name; /* Service name for SASL auth, default "svn" */ apr_file_t *log_file; /* Log filehandle. */ apr_pool_t *pool; } server_baton_t; --- D:/subversion-1.6.9/subversion/include/svn_config.h Ïò ÿíâ 23 23:30:04 2009 +++ D:/subversion-1.6.9/subversion/include/svn_config.h Ñð ìàð 3 10:12:03 2010 @@ -115,14 +115,15 @@ * @{ */ /* For repository svnserve.conf files */ -#define SVN_CONFIG_SECTION_GENERAL "general" +#define SVN_CONFIG_SECTION_GENERAL "general" #define SVN_CONFIG_OPTION_ANON_ACCESS "anon-access" #define SVN_CONFIG_OPTION_AUTH_ACCESS "auth-access" #define SVN_CONFIG_OPTION_PASSWORD_DB "password-db" #define SVN_CONFIG_OPTION_REALM "realm" #define SVN_CONFIG_OPTION_AUTHZ_DB "authz-db" -#define SVN_CONFIG_SECTION_SASL "sasl" +#define SVN_CONFIG_SECTION_SASL "sasl" #define SVN_CONFIG_OPTION_USE_SASL "use-sasl" +#define SVN_CONFIG_OPTION_SASL_SERVICE_NAME "sasl-service-name" #define SVN_CONFIG_OPTION_MIN_SSF "min-encryption" #define SVN_CONFIG_OPTION_MAX_SSF "max-encryption"