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

« back to all changes in this revision

Viewing changes to subversion/include/svn_types.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:
32
32
#include <limits.h> /* for ULONG_MAX */
33
33
 
34
34
#include <apr.h>         /* for apr_size_t, apr_int64_t, ... */
 
35
#include <apr_version.h>
35
36
#include <apr_errno.h>   /* for apr_status_t */
36
37
#include <apr_pools.h>   /* for apr_pool_t */
37
38
#include <apr_hash.h>    /* for apr_hash_t */
64
65
#endif
65
66
 
66
67
 
 
68
/** Macro used to mark experimental functions.
 
69
 *
 
70
 * @since New in 1.9.
 
71
 */
 
72
#ifndef SVN_EXPERIMENTAL
 
73
# if !defined(SWIGPERL) && !defined(SWIGPYTHON) && !defined(SWIGRUBY)
 
74
#  if defined(__has_attribute)
 
75
#    if __has_attribute(__warning__)
 
76
#      define SVN_EXPERIMENTAL __attribute__((warning("experimental function used")))
 
77
#    else
 
78
#      define SVN_EXPERIMENTAL
 
79
#    endif
 
80
#  elif !defined(__llvm__) && defined(__GNUC__) \
 
81
      && (__GNUC__ >= 4 || (__GNUC__==3 && __GNUC_MINOR__>=1))
 
82
#   define SVN_EXPERIMENTAL __attribute__((warning("experimental function used")))
 
83
#  elif defined(_MSC_VER) && _MSC_VER >= 1300
 
84
#   define SVN_EXPERIMENTAL __declspec(deprecated("experimental function used"))
 
85
#  else
 
86
#   define SVN_EXPERIMENTAL
 
87
#  endif
 
88
# else
 
89
#  define SVN_EXPERIMENTAL
 
90
# endif
 
91
#endif
 
92
 
 
93
/** Macro used to mark functions that require a final null sentinel argument.
 
94
 *
 
95
 * @since New in 1.9.
 
96
 */
 
97
#ifndef SVN_NEEDS_SENTINEL_NULL
 
98
#  if defined(__has_attribute)
 
99
#    if __has_attribute(__sentinel__)
 
100
#      define SVN_NEEDS_SENTINEL_NULL __attribute__((sentinel))
 
101
#    else
 
102
#      define SVN_NEEDS_SENTINEL_NULL
 
103
#    endif
 
104
#  elif defined(__GNUC__) && (__GNUC__ >= 4)
 
105
#    define SVN_NEEDS_SENTINEL_NULL __attribute__((sentinel))
 
106
#  else
 
107
#    define SVN_NEEDS_SENTINEL_NULL
 
108
#  endif
 
109
#endif
 
110
 
 
111
 
67
112
/** Indicate whether the current platform supports unaligned data access.
68
113
 *
69
114
 * On the majority of machines running SVN (x86 / x64), unaligned access
105
150
 
106
151
 
107
152
 
 
153
/* Declaration of a unique type, never defined, for the SVN_VA_NULL macro.
 
154
 *
 
155
 * NOTE: Private. Not for direct use by third-party code.
 
156
 */
 
157
struct svn__null_pointer_constant_stdarg_sentinel_t;
 
158
 
 
159
/** Null pointer constant used as a sentinel in variable argument lists.
 
160
 *
 
161
 * Use of this macro ensures that the argument is of the correct size when a
 
162
 * pointer is expected. (The macro @c NULL is not defined as a pointer on
 
163
 * all systems, and the arguments to variadic functions are not converted
 
164
 * automatically to the expected type.)
 
165
 *
 
166
 * @since New in 1.9.
 
167
 */
 
168
#define SVN_VA_NULL ((struct svn__null_pointer_constant_stdarg_sentinel_t*)0)
 
169
/* See? (char*)NULL -- They have the same length, but the cast looks ugly. */
 
170
 
 
171
 
 
172
 
108
173
/** Subversion error object.
109
174
 *
110
175
 * Defined here, rather than in svn_error.h, to avoid a recursive @#include
186
251
 * These functions enable the caller to dereference an APR hash table index
187
252
 * without type casts or temporary variables.
188
253
 *
189
 
 * ### These are private, and may go away when APR implements them natively.
 
254
 * These functions are provided by APR itself from version 1.5.
 
255
 * Definitions are provided here for when using older versions of APR.
190
256
 * @{
191
257
 */
192
258
 
 
259
#if !APR_VERSION_AT_LEAST(1, 5, 0)
 
260
 
193
261
/** Return the key of the hash table entry indexed by @a hi. */
194
262
const void *
195
 
svn__apr_hash_index_key(const apr_hash_index_t *hi);
 
263
apr_hash_this_key(apr_hash_index_t *hi);
196
264
 
197
265
/** Return the key length of the hash table entry indexed by @a hi. */
198
266
apr_ssize_t
199
 
svn__apr_hash_index_klen(const apr_hash_index_t *hi);
 
267
apr_hash_this_key_len(apr_hash_index_t *hi);
200
268
 
201
269
/** Return the value of the hash table entry indexed by @a hi. */
202
270
void *
203
 
svn__apr_hash_index_val(const apr_hash_index_t *hi);
 
271
apr_hash_this_val(apr_hash_index_t *hi);
 
272
 
 
273
#endif
204
274
 
205
275
/** @} */
206
276
 
1001
1071
  const char *message,
1002
1072
  apr_pool_t *pool);
1003
1073
 
1004
 
 
1005
1074
 
1006
1075
/** Callback function type for commits.
1007
1076
 *