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

« back to all changes in this revision

Viewing changes to subversion/libsvn_subr/auth.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:
41
41
                    const char *config_dir,
42
42
                    apr_pool_t *pool);
43
43
 
 
44
#if (defined(WIN32) && !defined(__MINGW32__)) || defined(DOXYGEN)
 
45
/**
 
46
 * Set @a *provider to an authentication provider of type @c
 
47
 * svn_auth_cred_simple_t that gets/sets information from the user's
 
48
 * ~/.subversion configuration directory.  Allocate @a *provider in
 
49
 * @a pool.
 
50
 *
 
51
 * This is like svn_auth_get_simple_provider(), except that, when
 
52
 * running on Window 2000 or newer (or any other Windows version that
 
53
 * includes the CryptoAPI), the provider encrypts the password before
 
54
 * storing it to disk. On earlier versions of Windows, the provider
 
55
 * does nothing.
 
56
 *
 
57
 * @note This function is only available on Windows.
 
58
 *
 
59
 * @note An administrative password reset may invalidate the account's
 
60
 * secret key. This function will detect that situation and behave as
 
61
 * if the password were not cached at all.
 
62
 */
 
63
void
 
64
svn_auth__get_windows_simple_provider(svn_auth_provider_object_t **provider,
 
65
                                      apr_pool_t *pool);
 
66
 
 
67
/**
 
68
 * Set @a *provider to an authentication provider of type @c
 
69
 * svn_auth_cred_ssl_client_cert_pw_t that gets/sets information from the
 
70
 * user's ~/.subversion configuration directory.  Allocate @a *provider in
 
71
 * @a pool.
 
72
 *
 
73
 * This is like svn_auth_get_ssl_client_cert_pw_file_provider(), except that
 
74
 * when running on Window 2000 or newer, the provider encrypts the password
 
75
 * before storing it to disk. On earlier versions of Windows, the provider
 
76
 * does nothing.
 
77
 *
 
78
 * @note This function is only available on Windows.
 
79
 *
 
80
 * @note An administrative password reset may invalidate the account's
 
81
 * secret key. This function will detect that situation and behave as
 
82
 * if the password were not cached at all.
 
83
 */
 
84
void
 
85
svn_auth__get_windows_ssl_client_cert_pw_provider(
 
86
  svn_auth_provider_object_t **provider,
 
87
  apr_pool_t *pool);
 
88
 
 
89
/**
 
90
 * Set @a *provider to an authentication provider of type @c
 
91
 * svn_auth_cred_ssl_server_trust_t, allocated in @a pool.
 
92
 *
 
93
 * This provider automatically validates ssl server certificates with
 
94
 * the CryptoApi, like Internet Explorer and the Windows network API do.
 
95
 * This allows the rollout of root certificates via Windows Domain
 
96
 * policies, instead of Subversion specific configuration.
 
97
 *
 
98
 * @note This function is only available on Windows.
 
99
 */
 
100
void
 
101
svn_auth__get_windows_ssl_server_trust_provider(
 
102
  svn_auth_provider_object_t **provider,
 
103
  apr_pool_t *pool);
 
104
#endif /* WIN32 && !__MINGW32__ || DOXYGEN */
 
105
 
 
106
#if defined(DARWIN) || defined(DOXYGEN)
 
107
/**
 
108
 * Set @a *provider to an authentication provider of type @c
 
109
 * svn_auth_cred_simple_t that gets/sets information from the user's
 
110
 * ~/.subversion configuration directory.  Allocate @a *provider in
 
111
 * @a pool.
 
112
 *
 
113
 * This is like svn_auth_get_simple_provider(), except that the
 
114
 * password is stored in the Mac OS KeyChain.
 
115
 *
 
116
 * @note This function is only available on Mac OS 10.2 and higher.
 
117
 */
 
118
void
 
119
svn_auth__get_keychain_simple_provider(svn_auth_provider_object_t **provider,
 
120
                                      apr_pool_t *pool);
 
121
 
 
122
/**
 
123
 * Set @a *provider to an authentication provider of type @c
 
124
 * svn_auth_cred_ssl_client_cert_pw_t that gets/sets information from the
 
125
 * user's ~/.subversion configuration directory.  Allocate @a *provider in
 
126
 * @a pool.
 
127
 *
 
128
 * This is like svn_auth_get_ssl_client_cert_pw_file_provider(), except
 
129
 * that the password is stored in the Mac OS KeyChain.
 
130
 *
 
131
 * @note This function is only available on Mac OS 10.2 and higher.
 
132
 */
 
133
void
 
134
svn_auth__get_keychain_ssl_client_cert_pw_provider(
 
135
  svn_auth_provider_object_t **provider,
 
136
  apr_pool_t *pool);
 
137
#endif /* DARWIN || DOXYGEN */
 
138
 
 
139
#if !defined(WIN32) || defined(DOXYGEN)
 
140
/**
 
141
 * Set @a *provider to an authentication provider of type @c
 
142
 * svn_auth_cred_simple_t that gets/sets information from the user's
 
143
 * ~/.subversion configuration directory.
 
144
 *
 
145
 * This is like svn_client_get_simple_provider(), except that the
 
146
 * password is obtained from gpg_agent, which will keep it in
 
147
 * a memory cache.
 
148
 *
 
149
 * Allocate @a *provider in @a pool.
 
150
 *
 
151
 * @note This function actually works only on systems with
 
152
 * GNU Privacy Guard installed.
 
153
 */
 
154
void
 
155
svn_auth__get_gpg_agent_simple_provider
 
156
    (svn_auth_provider_object_t **provider,
 
157
     apr_pool_t *pool);
 
158
#endif /* !defined(WIN32) || defined(DOXYGEN) */
44
159
 
45
160
#ifdef __cplusplus
46
161
}