-----Original Message-----
From: Stefan Sperling [mailto:[email protected]]
Sent: Wednesday, March 03, 2010 5:15 PM
To: Катаргин Алексей
Cc: [email protected]; [email protected]
Subject: Re: [PATCH] sasl service name for svnserve
On Wed, Mar 03, 2010 at 03:22:55PM +0500, Катаргин Алексей wrote:
> Diff files attached to mail
They didn't make it to the list.
Maybe try a .txt extension?
Stefan
>--------------------------------------------------
Ok, trying again with .txt ext.
--- 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.new Ñð ìàð 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.new Ñð ìàð 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 <unistd.h> /* 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.new Ñð ìàð 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.new Ñð ìàð 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"