> -----Original Message----- > From: stef...@apache.org [mailto:stef...@apache.org] > Sent: maandag 7 oktober 2013 07:02 > To: comm...@subversion.apache.org > Subject: svn commit: r1529748 - in /subversion/trunk/subversion/svnserve: > serve.c server.h > > Author: stefan2 > Date: Mon Oct 7 05:02:00 2013 > New Revision: 1529748 > > URL: http://svn.apache.org/r1529748 > Log: > Make authz and password config file readers in svnserve only depend on > repository information. Defer error logging to the caller level that > will have a server baton. > > * subversion/svnserve/server.h > (load_pwdb_config): remove from header > > * subversion/svnserve/serve.c > (load_pwdb_config, > load_authz_config): restrict parameters to repository-specific ones; > defer error logging to parent > (handle_config_error): new utility for deferred error logging > (find_repos): update and simplify caller > (serve): handle deferred error logging > > Modified: > subversion/trunk/subversion/svnserve/serve.c > subversion/trunk/subversion/svnserve/server.h > > Modified: subversion/trunk/subversion/svnserve/serve.c > URL: > http://svn.apache.org/viewvc/subversion/trunk/subversion/svnserve/serve > .c?rev=1529748&r1=1529747&r2=1529748&view=diff > ========================================================== > ==================== > --- subversion/trunk/subversion/svnserve/serve.c (original) > +++ subversion/trunk/subversion/svnserve/serve.c Mon Oct 7 05:02:00 2013 > @@ -283,16 +283,19 @@ log_authz_denied(const char *path, > return log_write(b->log_file, line, strlen(line), pool); > } > > - > -svn_error_t *load_pwdb_config(server_baton_t *server, > - svn_ra_svn_conn_t *conn, > - apr_pool_t *pool) > +/* If CFG specifies a path to the password DB, read that DB and store it > + * in REPOSITORY->PWDB. > + */ > +static svn_error_t * > +load_pwdb_config(repository_t *repository, > + svn_config_t *cfg, > + apr_pool_t *pool) > { > const char *pwdb_path; > svn_error_t *err; > - repository_t *repository = server->repository; > > - svn_config_get(repository->cfg, &pwdb_path, > SVN_CONFIG_SECTION_GENERAL, > + svn_config_get(cfg, &pwdb_path, > + SVN_CONFIG_SECTION_GENERAL, > SVN_CONFIG_OPTION_PASSWORD_DB, NULL); > > repository->pwdb = NULL; > @@ -305,8 +308,6 @@ svn_error_t *load_pwdb_config(server_bat > FALSE, FALSE, pool); > if (err) > { > - log_server_error(err, server, conn, pool); > - > /* Because it may be possible to read the pwdb file with some > access methods and not others, ignore errors reading the pwdb > file and just don't present password authentication as an > @@ -319,11 +320,7 @@ svn_error_t *load_pwdb_config(server_bat > if (err->apr_err != SVN_ERR_BAD_FILENAME > && ! APR_STATUS_IS_EACCES(err->apr_err)) > { > - /* Now that we've logged the error, clear it and return a > - * nice, generic error to the user: > - * http://subversion.tigris.org/issues/show_bug.cgi?id=2271 > */ > - svn_error_clear(err); > - return svn_error_create(SVN_ERR_AUTHN_FAILED, NULL, NULL); > + return svn_error_create(SVN_ERR_AUTHN_FAILED, err, NULL);
I like the change for debugging, but this clearly re-introduces issue #2271 " svnserve expose the path to the password file if it is not found" Is this message cleaned in a different place now? Bert