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

Reply via email to