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

« back to all changes in this revision

Viewing changes to subversion/include/svn_ra.h

  • 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:
134
134
                                 apr_pool_t *pool);
135
135
 
136
136
 
137
 
/** A function type for retrieving the youngest revision from a repos. */
 
137
/** A function type for retrieving the youngest revision from a repos.
 
138
 * @deprecated Provided for backward compatibility with the 1.8 API.
 
139
 */
 
140
/* ### It seems this type was never used by the API, since 1.0.0. */
138
141
typedef svn_error_t *(*svn_ra_get_latest_revnum_func_t)(
139
142
  void *session_baton,
140
143
  svn_revnum_t *latest_revnum);
267
270
  apr_hash_t *rev_props,
268
271
  apr_pool_t *pool);
269
272
 
 
273
 
 
274
/**
 
275
 * Callback function that checks if an ra_svn tunnel called
 
276
 * @a tunnel_name is handled by the callbakcs or the default
 
277
 * implementation.
 
278
 *
 
279
 * @a tunnel_baton is the baton as originally passed to ra_open.
 
280
 *
 
281
 * @since New in 1.9.
 
282
 */
 
283
typedef svn_boolean_t (*svn_ra_check_tunnel_func_t)(
 
284
    void *tunnel_baton, const char *tunnel_name);
 
285
 
 
286
/**
 
287
 * Callback function for closing a tunnel in ra_svn.
 
288
 *
 
289
 * This function will be called when the pool that owns the tunnel
 
290
 * connection is cleared or destroyed.
 
291
 *
 
292
 * @a close_baton is the baton as returned from the
 
293
 * svn_ra_open_tunnel_func_t.
 
294
 *
 
295
 * @a tunnel_baton was returned by the open-tunnel callback.
 
296
 *
 
297
 * @since New in 1.9.
 
298
 */
 
299
typedef void (*svn_ra_close_tunnel_func_t)(
 
300
    void *close_baton, void *tunnel_baton);
 
301
 
 
302
/**
 
303
 * Callback function for opening a tunnel in ra_svn.
 
304
 *
 
305
 * Given the @a tunnel_name, tunnel @a user and server @a hostname and
 
306
 * @a port, open a tunnel to the server and return its file handles,
 
307
 * which are owned by @a pool, in @a request and @a response.
 
308
 *
 
309
 * @a request and @a response represent the standard input and output,
 
310
 * respectively, of the process on the other end of the tunnel.
 
311
 *
 
312
 * If @a *close_func is set it will be called with @a close_baton when
 
313
 * the tunnel is closed.
 
314
 *
 
315
 * The optional @a cancel_func callback can be invoked as usual to allow
 
316
 * the user to preempt potentially lengthy operations.
 
317
 *
 
318
 * @a tunnel_baton is the baton as set in the callbacks.
 
319
 *
 
320
 * @since New in 1.9.
 
321
 */
 
322
typedef svn_error_t *(*svn_ra_open_tunnel_func_t)(
 
323
    svn_stream_t **request, svn_stream_t **response,
 
324
    svn_ra_close_tunnel_func_t *close_func, void **close_baton,
 
325
    void *tunnel_baton,
 
326
    const char *tunnel_name, const char *user,
 
327
    const char *hostname, int port,
 
328
    svn_cancel_func_t cancel_func, void *cancel_baton,
 
329
    apr_pool_t *pool);
 
330
 
270
331
 
271
332
/**
272
333
 * The update Reporter.
535
596
   */
536
597
  svn_ra_get_wc_contents_func_t get_wc_contents;
537
598
 
 
599
  /** Check-tunnel callback
 
600
   *
 
601
   * If not @c NULL, and open_tunnel_func is also not @c NULL, this
 
602
   * callback will be invoked to check if open_tunnel_func should be
 
603
   * used to create a specific tunnel, or if the default tunnel
 
604
   * implementation (either built-in or configured in the client
 
605
   * configuration file) should be used instead.
 
606
   * @since New in 1.9.
 
607
   */
 
608
  svn_ra_check_tunnel_func_t check_tunnel_func;
 
609
 
 
610
  /** Open-tunnel callback
 
611
   *
 
612
   * If not @c NULL, this callback will be invoked to create a tunnel
 
613
   * for a ra_svn connection that needs one, overriding any tunnel
 
614
   * definitions in the client config file. This callback is used only
 
615
   * for ra_svn and ignored by the other RA modules.
 
616
   * @since New in 1.9.
 
617
   */
 
618
  svn_ra_open_tunnel_func_t open_tunnel_func;
 
619
 
 
620
  /** A baton used with open_tunnel_func and close_tunnel_func.
 
621
   * @since New in 1.9.
 
622
   */
 
623
  void *tunnel_baton;
538
624
} svn_ra_callbacks2_t;
539
625
 
540
626
/** Similar to svn_ra_callbacks2_t, except that the progress
899
985
 * Use @a pool for memory allocation.
900
986
 *
901
987
 * @since New in 1.5.
 
988
 *
 
989
 * @note Like most commit editors, the returned editor requires that the
 
990
 * @c copyfrom_path parameter passed to its @c add_file and @c add_directory
 
991
 * methods is a URL, not a relative path.
902
992
 */
903
993
svn_error_t *
904
994
svn_ra_get_commit_editor3(svn_ra_session_t *session,
1004
1094
 * callers want to know, and some don't.)
1005
1095
 *
1006
1096
 * If @a props is non @c NULL, set @a *props to contain the properties of
1007
 
 * the directory.  This means @em all properties: not just ones controlled by
1008
 
 * the user and stored in the repository fs, but non-tweakable ones
1009
 
 * generated by the SCM system itself (e.g. 'wcprops', 'entryprops',
1010
 
 * etc.)  The keys are <tt>const char *</tt>, values are
1011
 
 * <tt>@c svn_string_t *</tt>.
 
1097
 * the directory, including properties that are non-tweakable and
 
1098
 * generated by the SCM system itself (such as #svn_prop_wc_kind and
 
1099
 * #svn_prop_entry_kind properties).  The keys are <tt>const char *</tt>,
 
1100
 * values are <tt>@c svn_string_t *</tt>.
1012
1101
 *
1013
1102
 * @since New in 1.4.
1014
1103
 */
1463
1552
 * was added or deleted).  Each path is an <tt>const char *</tt>, relative
1464
1553
 * to the @a session's common parent.
1465
1554
 *
1466
 
 * If @a limit is non-zero only invoke @a receiver on the first @a limit
1467
 
 * logs.
 
1555
 * If @a limit is greater than zero only invoke @a receiver on the first
 
1556
 * @a limit logs.
1468
1557
 *
1469
1558
 * If @a discover_changed_paths, then each call to @a receiver passes a
1470
1559
 * <tt>const apr_hash_t *</tt> for the receiver's @a changed_paths argument;
1507
1596
 *
1508
1597
 * @since New in 1.5.
1509
1598
 */
1510
 
 
1511
1599
svn_error_t *
1512
1600
svn_ra_get_log2(svn_ra_session_t *session,
1513
1601
                const apr_array_header_t *paths,
1708
1796
 * to support reversion of the revision range for @a include_merged_revision
1709
1797
 * @c FALSE reporting by switching  @a end with @a start.
1710
1798
 *
 
1799
 * @note Prior to Subversion 1.9, this function may request delta handlers
 
1800
 * from @a handler even for empty text deltas.  Starting with 1.9, the
 
1801
 * delta handler / baton return arguments passed to @a handler will be
 
1802
 * #NULL unless there is an actual difference in the file contents between
 
1803
 * the current and the previous call.
 
1804
 *
1711
1805
 * @since New in 1.5.
1712
1806
 */
1713
1807
svn_error_t *
1811
1905
 
1812
1906
/**
1813
1907
 * If @a path is locked, set @a *lock to an svn_lock_t which
1814
 
 * represents the lock, allocated in @a pool.  If @a path is not
1815
 
 * locked, set @a *lock to NULL.
 
1908
 * represents the lock, allocated in @a pool.
 
1909
 *
 
1910
 * If @a path is not locked or does not exist in HEAD, set @a *lock to NULL.
 
1911
 *
 
1912
 * @note Before 1.9, this function could return SVN_ERR_FS_NOT_FOUND
 
1913
 * when @a path didn't exist in HEAD on specific ra layers.
1816
1914
 *
1817
1915
 * @since New in 1.2.
1818
1916
 */