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 * ====================================================================
26 /* This prevents sasl.h from redefining iovec, which is always defined by APR
28 #define STRUCT_IOVEC_DEFINED
31 #include <sasl/sasl.h>
36 #endif /* __cplusplus */
38 extern volatile svn_atomic_t svn_ra_svn__sasl_status
;
40 /* Initialize secprops with default values. */
41 void svn_ra_svn__default_secprops(sasl_security_properties_t
*secprops
);
43 /* This function is called by the client and the server before
44 calling sasl_{client, server}_init, pool is used for allocations. */
45 apr_status_t
svn_ra_svn__sasl_common_init(apr_pool_t
*pool
);
47 /* Sets local_addrport and remote_addrport to a string containing the
48 remote and local IP address and port, formatted like this: a.b.c.d;port. */
49 svn_error_t
*svn_ra_svn__get_addresses(const char **local_addrport
,
50 const char **remote_addrport
,
51 svn_ra_svn_conn_t
*conn
,
54 /* If a security layer was negotiated during the authentication exchange,
55 create an encrypted stream for conn. */
56 svn_error_t
*svn_ra_svn__enable_sasl_encryption(svn_ra_svn_conn_t
*conn
,
57 sasl_conn_t
*sasl_ctx
,
62 #endif /* __cplusplus */
64 #endif /* RA_SVN_SASL_H */