~ubuntu-branches/debian/sid/subversion/sid

« back to all changes in this revision

Viewing changes to subversion/mod_dav_svn/reports/file-revs.c

  • Committer: Package Import Robot
  • Author(s): James McCoy
  • Date: 2015-08-07 21:32:47 UTC
  • mfrom: (0.2.15) (4.1.7 experimental)
  • Revision ID: package-import@ubuntu.com-20150807213247-ozyewtmgsr6tkewl
Tags: 1.9.0-1
* Upload to unstable
* New upstream release.
  + Security fixes
    - CVE-2015-3184: Mixed anonymous/authenticated path-based authz with
      httpd 2.4
    - CVE-2015-3187: svn_repos_trace_node_locations() reveals paths hidden
      by authz
* Add >= 2.7 requirement for python-all-dev Build-Depends, needed to run
  tests.
* Remove Build-Conflicts against ruby-test-unit.  (Closes: #791844)
* Remove patches/apache_module_dependency in favor of expressing the
  dependencies in authz_svn.load/dav_svn.load.
* Build-Depend on apache2-dev (>= 2.4.16) to ensure ap_some_authn_required()
  is available when building mod_authz_svn and Depend on apache2-bin (>=
  2.4.16) for runtime support.

Show diffs side-by-side

added added

removed removed

Lines of Context:
149
149
                 apr_pool_t *pool)
150
150
{
151
151
  struct file_rev_baton *frb = baton;
152
 
  apr_pool_t *subpool = svn_pool_create(pool);
 
152
  apr_pool_t *iterpool = svn_pool_create(pool);
153
153
  apr_hash_index_t *hi;
154
154
  int i;
155
155
 
169
169
      const char *pname;
170
170
      const svn_string_t *pval;
171
171
 
172
 
      svn_pool_clear(subpool);
 
172
      svn_pool_clear(iterpool);
173
173
      apr_hash_this(hi, &key, NULL, &val);
174
174
      pname = key;
175
175
      pval = val;
176
 
      SVN_ERR(send_prop(frb, "rev-prop", pname, pval, subpool));
 
176
      SVN_ERR(send_prop(frb, "rev-prop", pname, pval, iterpool));
177
177
    }
178
178
 
179
179
  /* Send file prop changes. */
181
181
    {
182
182
      const svn_prop_t *prop = &APR_ARRAY_IDX(props, i, svn_prop_t);
183
183
 
184
 
      svn_pool_clear(subpool);
 
184
      svn_pool_clear(iterpool);
185
185
      if (prop->value)
186
186
        SVN_ERR(send_prop(frb, "set-prop", prop->name, prop->value,
187
 
                          subpool));
 
187
                          iterpool));
188
188
      else
189
189
        {
190
190
          /* Property was removed. */
191
191
          SVN_ERR(dav_svn__brigade_printf(frb->bb, frb->output,
192
192
                                          "<S:remove-prop name=\"%s\"/>"
193
193
                                          DEBUG_CR,
194
 
                                          apr_xml_quote_string(subpool,
 
194
                                          apr_xml_quote_string(iterpool,
195
195
                                                               prop->name,
196
196
                                                               1)));
197
197
        }
223
223
    SVN_ERR(dav_svn__brigade_puts(frb->bb, frb->output,
224
224
                                  "</S:file-rev>" DEBUG_CR));
225
225
 
226
 
  svn_pool_destroy(subpool);
 
226
  svn_pool_destroy(iterpool);
227
227
 
228
228
  return SVN_NO_ERROR;
229
229
}
262
262
     in this namespace, so is this necessary at all? */
263
263
  if (ns == -1)
264
264
    {
265
 
      return dav_svn__new_error_tag(resource->pool, HTTP_BAD_REQUEST, 0,
 
265
      return dav_svn__new_error_svn(resource->pool, HTTP_BAD_REQUEST, 0,
266
266
                                    "The request does not contain the 'svn:' "
267
267
                                    "namespace, so it is not going to have "
268
 
                                    "certain required elements.",
269
 
                                    SVN_DAV_ERROR_NAMESPACE,
270
 
                                    SVN_DAV_ERROR_TAG);
 
268
                                    "certain required elements");
271
269
    }
272
270
 
273
271
  /* Get request information. */
302
300
 
303
301
  /* Check that all parameters are present and valid. */
304
302
  if (! abs_path)
305
 
    return dav_svn__new_error_tag(resource->pool, HTTP_BAD_REQUEST, 0,
306
 
                                  "Not all parameters passed.",
307
 
                                  SVN_DAV_ERROR_NAMESPACE,
308
 
                                  SVN_DAV_ERROR_TAG);
 
303
    return dav_svn__new_error_svn(resource->pool, HTTP_BAD_REQUEST, 0,
 
304
                                  "Not all parameters passed");
309
305
 
310
306
  frb.bb = apr_brigade_create(resource->pool,
311
307
                              output->c->bucket_alloc);
331
327
         right then, so r->status remains 0, hence HTTP status 200
332
328
         would be misleadingly returned. */
333
329
      return (dav_svn__convert_err(serr, HTTP_INTERNAL_SERVER_ERROR,
334
 
                                   serr->message, resource->pool));
 
330
                                   NULL, resource->pool));
335
331
    }
336
332
 
337
333
  if ((serr = maybe_send_header(&frb)))