Author: gstein
Date: Wed Jan 25 17:15:05 2012
New Revision: 1235831
URL: http://svn.apache.org/viewvc?rev=1235831&view=rev
Log:
Improve the handle of the ssl-authority-files config option: allow
leading and trailing whitespace on the filenames to make it easier for
the user to format the list of files.
* subversion/libsvn_ra_serf/util.c:
(load_authorities): switch to svn_cstring_split() and use its
builtin param to trim whitespace. then process the resulting array.
Modified:
subversion/trunk/subversion/libsvn_ra_serf/util.c
Modified: subversion/trunk/subversion/libsvn_ra_serf/util.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_ra_serf/util.c?rev=1235831&r1=1235830&r2=1235831&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_ra_serf/util.c (original)
+++ subversion/trunk/subversion/libsvn_ra_serf/util.c Wed Jan 25 17:15:05 2012
@@ -386,20 +386,23 @@ static svn_error_t *
load_authorities(svn_ra_serf__connection_t *conn, const char *authorities,
apr_pool_t *pool)
{
- char *files, *file;
- files = apr_pstrdup(pool, authorities);
+ apr_array_header_t *files = svn_cstring_split(authorities, ";",
+ TRUE /* chop_whitespace */,
+ pool);
+ int i;
- while ((file = svn_cstring_tokenize(";", &files)) != NULL)
+ for (i = 0; i < files->nelts; ++i)
{
+ const char *file = APR_ARRAY_IDX(files, i, const char *);
serf_ssl_certificate_t *ca_cert;
apr_status_t status = serf_ssl_load_cert_file(&ca_cert, file, pool);
+
if (status == APR_SUCCESS)
status = serf_ssl_trust_cert(conn->ssl_context, ca_cert);
if (status != APR_SUCCESS)
{
- return svn_error_createf
- (SVN_ERR_BAD_CONFIG_VALUE, NULL,
+ return svn_error_createf(SVN_ERR_BAD_CONFIG_VALUE, NULL,
_("Invalid config: unable to load certificate file '%s'"),
svn_dirent_local_style(file, pool));
}