Skip some mergeinfo-related tests in merge_authz, switch, and update
[svn.git] / subversion / include / private / ra_svn_sasl.h
blob243d3cd71bcdea6c73b69fb39f475d9632acc1d3
1 /*
2 * ra_svn_sasl.h : SASL-related declarations shared between the
3 * ra_svn and svnserve module
5 * ====================================================================
6 * Copyright (c) 2006-2007 CollabNet. All rights reserved.
8 * This software is licensed as described in the file COPYING, which
9 * you should have received as part of this distribution. The terms
10 * are also available at http://subversion.tigris.org/license-1.html.
11 * If newer versions of this license are posted there, you may use a
12 * newer version instead, at your option.
14 * This software consists of voluntary contributions made by many
15 * individuals. For exact contribution history, see the revision
16 * history and logs, available at http://subversion.tigris.org/.
17 * ====================================================================
22 #ifndef RA_SVN_SASL_H
23 #define RA_SVN_SASL_H
25 #ifdef WIN32
26 /* This prevents sasl.h from redefining iovec, which is always defined by APR
27 on win32. */
28 #define STRUCT_IOVEC_DEFINED
29 #include <sasl.h>
30 #else
31 #include <sasl/sasl.h>
32 #endif
34 #ifdef __cplusplus
35 extern "C" {
36 #endif /* __cplusplus */
38 /** The application and service name used for sasl_client_new,
39 * sasl_server_init, and sasl_server_new. */
40 #define SVN_RA_SVN_SASL_NAME "svn"
42 extern volatile svn_atomic_t svn_ra_svn__sasl_status;
44 /* Initialize secprops with default values. */
45 void svn_ra_svn__default_secprops(sasl_security_properties_t *secprops);
47 /* This function is called by the client and the server before
48 calling sasl_{client, server}_init, pool is used for allocations. */
49 apr_status_t svn_ra_svn__sasl_common_init(apr_pool_t *pool);
51 /* Sets local_addrport and remote_addrport to a string containing the
52 remote and local IP address and port, formatted like this: a.b.c.d;port. */
53 svn_error_t *svn_ra_svn__get_addresses(const char **local_addrport,
54 const char **remote_addrport,
55 svn_ra_svn_conn_t *conn,
56 apr_pool_t *pool);
58 /* If a security layer was negotiated during the authentication exchange,
59 create an encrypted stream for conn. */
60 svn_error_t *svn_ra_svn__enable_sasl_encryption(svn_ra_svn_conn_t *conn,
61 sasl_conn_t *sasl_ctx,
62 apr_pool_t *pool);
64 #ifdef __cplusplus
66 #endif /* __cplusplus */
68 #endif /* RA_SVN_SASL_H */