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

« back to all changes in this revision

Viewing changes to subversion/libsvn_delta/editor.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:
391
391
 
392
392
 
393
393
svn_error_t *
394
 
svn_editor_setcb_rotate(svn_editor_t *editor,
395
 
                        svn_editor_cb_rotate_t callback,
396
 
                        apr_pool_t *scratch_pool)
397
 
{
398
 
  editor->funcs.cb_rotate = callback;
399
 
  return SVN_NO_ERROR;
400
 
}
401
 
 
402
 
 
403
 
svn_error_t *
404
394
svn_editor_setcb_complete(svn_editor_t *editor,
405
395
                          svn_editor_cb_complete_t callback,
406
396
                          apr_pool_t *scratch_pool)
437
427
  COPY_CALLBACK(cb_delete);
438
428
  COPY_CALLBACK(cb_copy);
439
429
  COPY_CALLBACK(cb_move);
440
 
  COPY_CALLBACK(cb_rotate);
441
430
  COPY_CALLBACK(cb_complete);
442
431
  COPY_CALLBACK(cb_abort);
443
432
 
683
672
svn_editor_alter_file(svn_editor_t *editor,
684
673
                      const char *relpath,
685
674
                      svn_revnum_t revision,
686
 
                      apr_hash_t *props,
687
675
                      const svn_checksum_t *checksum,
688
 
                      svn_stream_t *contents)
 
676
                      svn_stream_t *contents,
 
677
                      apr_hash_t *props)
689
678
{
690
679
  svn_error_t *err = SVN_NO_ERROR;
691
680
 
705
694
    {
706
695
      START_CALLBACK(editor);
707
696
      err = editor->funcs.cb_alter_file(editor->baton,
708
 
                                        relpath, revision, props,
709
 
                                        checksum, contents,
 
697
                                        relpath, revision,
 
698
                                        checksum, contents, props,
710
699
                                        editor->scratch_pool);
711
700
      END_CALLBACK(editor);
712
701
    }
723
712
svn_editor_alter_symlink(svn_editor_t *editor,
724
713
                         const char *relpath,
725
714
                         svn_revnum_t revision,
726
 
                         apr_hash_t *props,
727
 
                         const char *target)
 
715
                         const char *target,
 
716
                         apr_hash_t *props)
728
717
{
729
718
  svn_error_t *err = SVN_NO_ERROR;
730
719
 
740
729
    {
741
730
      START_CALLBACK(editor);
742
731
      err = editor->funcs.cb_alter_symlink(editor->baton,
743
 
                                           relpath, revision, props,
744
 
                                           target,
 
732
                                           relpath, revision,
 
733
                                           target, props,
745
734
                                           editor->scratch_pool);
746
735
      END_CALLBACK(editor);
747
736
    }
862
851
 
863
852
 
864
853
svn_error_t *
865
 
svn_editor_rotate(svn_editor_t *editor,
866
 
                  const apr_array_header_t *relpaths,
867
 
                  const apr_array_header_t *revisions)
868
 
{
869
 
  svn_error_t *err = SVN_NO_ERROR;
870
 
 
871
 
  SHOULD_NOT_BE_FINISHED(editor);
872
 
#ifdef ENABLE_ORDERING_CHECK
873
 
  {
874
 
    int i;
875
 
    for (i = 0; i < relpaths->nelts; i++)
876
 
      {
877
 
        const char *relpath = APR_ARRAY_IDX(relpaths, i, const char *);
878
 
 
879
 
        SVN_ERR_ASSERT(svn_relpath_is_canonical(relpath));
880
 
        SHOULD_NOT_BE_COMPLETED(editor, relpath);
881
 
        VERIFY_PARENT_MAY_EXIST(editor, relpath);
882
 
        CHILD_DELETIONS_ALLOWED(editor, relpath);
883
 
      }
884
 
  }
885
 
#endif
886
 
 
887
 
  SVN_ERR(check_cancel(editor));
888
 
 
889
 
  if (editor->funcs.cb_rotate)
890
 
    {
891
 
      START_CALLBACK(editor);
892
 
      err = editor->funcs.cb_rotate(editor->baton, relpaths, revisions,
893
 
                                    editor->scratch_pool);
894
 
      END_CALLBACK(editor);
895
 
    }
896
 
 
897
 
#ifdef ENABLE_ORDERING_CHECK
898
 
  {
899
 
    int i;
900
 
    for (i = 0; i < relpaths->nelts; i++)
901
 
      {
902
 
        const char *relpath = APR_ARRAY_IDX(relpaths, i, const char *);
903
 
        MARK_ALLOW_ALTER(editor, relpath);
904
 
        MARK_PARENT_STABLE(editor, relpath);
905
 
      }
906
 
  }
907
 
#endif
908
 
 
909
 
  svn_pool_clear(editor->scratch_pool);
910
 
  return svn_error_trace(err);
911
 
}
912
 
 
913
 
 
914
 
svn_error_t *
915
854
svn_editor_complete(svn_editor_t *editor)
916
855
{
917
856
  svn_error_t *err = SVN_NO_ERROR;