#include <apr_pools.h>
#include "svn_types.h"
#include "svn_error.h"
Go to the source code of this file.
Client configuration files strings | |
Strings for the names of files, sections, and options in the client configuration files. | |
#define | SVN_CONFIG_CATEGORY_SERVERS "servers" |
#define | SVN_CONFIG_SECTION_GROUPS "groups" |
#define | SVN_CONFIG_SECTION_GLOBAL "global" |
#define | SVN_CONFIG_OPTION_HTTP_PROXY_HOST "http-proxy-host" |
#define | SVN_CONFIG_OPTION_HTTP_PROXY_PORT "http-proxy-port" |
#define | SVN_CONFIG_OPTION_HTTP_PROXY_USERNAME "http-proxy-username" |
#define | SVN_CONFIG_OPTION_HTTP_PROXY_PASSWORD "http-proxy-password" |
#define | SVN_CONFIG_OPTION_HTTP_PROXY_EXCEPTIONS "http-proxy-exceptions" |
#define | SVN_CONFIG_OPTION_HTTP_TIMEOUT "http-timeout" |
#define | SVN_CONFIG_OPTION_HTTP_COMPRESSION "http-compression" |
#define | SVN_CONFIG_OPTION_NEON_DEBUG_MASK "neon-debug-mask" |
#define | SVN_CONFIG_OPTION_SSL_AUTHORITY_FILES "ssl-authority-files" |
#define | SVN_CONFIG_OPTION_SSL_TRUST_DEFAULT_CA "ssl-trust-default-ca" |
#define | SVN_CONFIG_OPTION_SSL_CLIENT_CERT_FILE "ssl-client-cert-file" |
#define | SVN_CONFIG_OPTION_SSL_CLIENT_CERT_PASSWORD "ssl-client-cert-password" |
#define | SVN_CONFIG_CATEGORY_CONFIG "config" |
#define | SVN_CONFIG_SECTION_AUTH "auth" |
#define | SVN_CONFIG_OPTION_STORE_PASSWORDS "store-passwords" |
#define | SVN_CONFIG_OPTION_STORE_AUTH_CREDS "store-auth-creds" |
#define | SVN_CONFIG_SECTION_HELPERS "helpers" |
#define | SVN_CONFIG_OPTION_EDITOR_CMD "editor-cmd" |
#define | SVN_CONFIG_OPTION_DIFF_CMD "diff-cmd" |
#define | SVN_CONFIG_OPTION_DIFF3_CMD "diff3-cmd" |
#define | SVN_CONFIG_OPTION_DIFF3_HAS_PROGRAM_ARG "diff3-has-program-arg" |
#define | SVN_CONFIG_SECTION_MISCELLANY "miscellany" |
#define | SVN_CONFIG_OPTION_GLOBAL_IGNORES "global-ignores" |
#define | SVN_CONFIG_OPTION_LOG_ENCODING "log-encoding" |
#define | SVN_CONFIG_OPTION_USE_COMMIT_TIMES "use-commit-times" |
#define | SVN_CONFIG_OPTION_TEMPLATE_ROOT "template-root" |
#define | SVN_CONFIG_OPTION_ENABLE_AUTO_PROPS "enable-auto-props" |
#define | SVN_CONFIG_OPTION_NO_UNLOCK "no-unlock" |
#define | SVN_CONFIG_SECTION_TUNNELS "tunnels" |
#define | SVN_CONFIG_SECTION_AUTO_PROPS "auto-props" |
Repository conf directory configuration files strings | |
Strings for the names of sections and options in the repository conf directory configuration files. | |
#define | SVN_CONFIG_SECTION_GENERAL "general" |
#define | SVN_CONFIG_OPTION_ANON_ACCESS "anon-access" |
#define | SVN_CONFIG_OPTION_AUTH_ACCESS "auth-access" |
#define | SVN_CONFIG_OPTION_PASSWORD_DB "password-db" |
#define | SVN_CONFIG_OPTION_REALM "realm" |
#define | SVN_CONFIG_OPTION_AUTHZ_DB "authz-db" |
#define | SVN_CONFIG_SECTION_USERS "users" |
Defines | |
#define | SVN_CONFIG_DEFAULT_GLOBAL_IGNORES "*.o *.lo *.la #*# .*.rej *.rej .*~ *~ .#* .DS_Store" |
#define | SVN_CONFIG_TRUE "true" |
#define | SVN_CONFIG_FALSE "false" |
#define | SVN_CONFIG_REALMSTRING_KEY "svn:realmstring" |
A hash-key pointing to a realmstring. | |
Typedefs | |
typedef svn_config_t | svn_config_t |
Opaque structure describing a set of configuration options. | |
typedef svn_boolean_t(*) | svn_config_section_enumerator_t (const char *name, void *baton) |
Similar to svn_config_section_enumerator2_t , but is not provided with a memory pool argument. | |
typedef svn_boolean_t(*) | svn_config_section_enumerator2_t (const char *name, void *baton, apr_pool_t *pool) |
A callback function used in enumerating config sections. | |
typedef svn_boolean_t(*) | svn_config_enumerator_t (const char *name, const char *value, void *baton) |
Similar to svn_config_enumerator2_t , but is not provided with a memory pool argument. | |
typedef svn_boolean_t(*) | svn_config_enumerator2_t (const char *name, const char *value, void *baton, apr_pool_t *pool) |
A callback function used in enumerating config options. | |
Functions | |
svn_error_t * | svn_config_get_config (apr_hash_t **cfg_hash, const char *config_dir, apr_pool_t *pool) |
Read configuration information from the standard sources and merge it into the hash *cfg_hash. | |
svn_error_t * | svn_config_read (svn_config_t **cfgp, const char *file, svn_boolean_t must_exist, apr_pool_t *pool) |
Read configuration data from file (a file or registry path) into *cfgp, allocated in pool. | |
svn_error_t * | svn_config_merge (svn_config_t *cfg, const char *file, svn_boolean_t must_exist) |
Like svn_config_read(), but merges the configuration data from file (a file or registry path) into *cfg, which was previously returned from svn_config_read(). | |
void | svn_config_get (svn_config_t *cfg, const char **valuep, const char *section, const char *option, const char *default_value) |
Find the value of a (section, option) pair in cfg, set *valuep to the value. | |
void | svn_config_set (svn_config_t *cfg, const char *section, const char *option, const char *value) |
Add or replace the value of a (section, option) pair in cfg with value. | |
svn_error_t * | svn_config_get_bool (svn_config_t *cfg, svn_boolean_t *valuep, const char *section, const char *option, svn_boolean_t default_value) |
Like svn_config_get(), but for boolean values. | |
void | svn_config_set_bool (svn_config_t *cfg, const char *section, const char *option, svn_boolean_t value) |
Like svn_config_set(), but for boolean values. | |
int | svn_config_enumerate_sections (svn_config_t *cfg, svn_config_section_enumerator_t callback, void *baton) |
Similar to svn_config_enumerate_sections2(), but uses a memory pool of cfg instead of one that is explicitely provided. | |
int | svn_config_enumerate_sections2 (svn_config_t *cfg, svn_config_section_enumerator2_t callback, void *baton, apr_pool_t *pool) |
Enumerate the sections, passing baton and the current section's name to callback. | |
int | svn_config_enumerate (svn_config_t *cfg, const char *section, svn_config_enumerator_t callback, void *baton) |
Similar to svn_config_enumerate2(), but uses a memory pool of cfg instead of one that is explicitely provided. | |
int | svn_config_enumerate2 (svn_config_t *cfg, const char *section, svn_config_enumerator2_t callback, void *baton, apr_pool_t *pool) |
Enumerate the options in section, passing baton and the current option's name and value to callback. | |
svn_boolean_t | svn_config_has_section (svn_config_t *cfg, const char *section) |
Return TRUE if section exists in config, FALSE otherwise. | |
const char * | svn_config_find_group (svn_config_t *cfg, const char *key, const char *master_section, apr_pool_t *pool) |
Enumerate the group master_section in cfg. | |
const char * | svn_config_get_server_setting (svn_config_t *cfg, const char *server_group, const char *option_name, const char *default_value) |
Retrieve value corresponding to option_name for a given server_group in cfg , or return default_value if none is found. | |
svn_error_t * | svn_config_get_server_setting_int (svn_config_t *cfg, const char *server_group, const char *option_name, apr_int64_t default_value, apr_int64_t *result_value, apr_pool_t *pool) |
Retrieve value into result_value corresponding to option_name for a given server_group in cfg, or return default_value if none is found. | |
svn_error_t * | svn_config_ensure (const char *config_dir, apr_pool_t *pool) |
Try to ensure that the user's ~/.subversion/ area exists, and create no-op template files for any absent config files. | |
svn_error_t * | svn_config_read_auth_data (apr_hash_t **hash, const char *cred_kind, const char *realmstring, const char *config_dir, apr_pool_t *pool) |
Use cred_kind and realmstring to locate a file within the ~/.subversion/auth/ area. | |
svn_error_t * | svn_config_write_auth_data (apr_hash_t *hash, const char *cred_kind, const char *realmstring, const char *config_dir, apr_pool_t *pool) |
Use cred_kind and realmstring to create or overwrite a file within the ~/.subversion/auth/ area. |
Definition in file svn_config.h.
typedef svn_boolean_t(*) svn_config_enumerator2_t(const char *name, const char *value, void *baton, apr_pool_t *pool) |
A callback function used in enumerating config options.
See svn_config_enumerate2() for the details of this type.
Definition at line 276 of file svn_config.h.
typedef svn_boolean_t(*) svn_config_enumerator_t(const char *name, const char *value, void *baton) |
Similar to svn_config_enumerator2_t
, but is not provided with a memory pool argument.
See svn_config_enumerate() for the details of this type.
Definition at line 257 of file svn_config.h.
typedef svn_boolean_t(*) svn_config_section_enumerator2_t(const char *name, void *baton, apr_pool_t *pool) |
A callback function used in enumerating config sections.
See svn_config_enumerate_sections2() for the details of this type.
Definition at line 231 of file svn_config.h.
typedef svn_boolean_t(*) svn_config_section_enumerator_t(const char *name, void *baton) |
Similar to svn_config_section_enumerator2_t
, but is not provided with a memory pool argument.
See svn_config_enumerate_sections() for the details of this type.
Definition at line 213 of file svn_config.h.
svn_error_t* svn_config_ensure | ( | const char * | config_dir, | |
apr_pool_t * | pool | |||
) |
Try to ensure that the user's ~/.subversion/ area exists, and create no-op template files for any absent config files.
Use pool for any temporary allocation. If config_dir is not NULL
it specifies a directory from which to read the config overriding all other sources.
Don't error if something exists but is the wrong kind (for example, ~/.subversion exists but is a file, or ~/.subversion/servers exists but is a directory).
Also don't error if trying to create something and failing -- it's okay for the config area or its contents not to be created. However, if creating a config template file succeeds, return an error if unable to initialize its contents.
int svn_config_enumerate | ( | svn_config_t * | cfg, | |
const char * | section, | |||
svn_config_enumerator_t | callback, | |||
void * | baton | |||
) |
Similar to svn_config_enumerate2(), but uses a memory pool of cfg instead of one that is explicitely provided.
int svn_config_enumerate2 | ( | svn_config_t * | cfg, | |
const char * | section, | |||
svn_config_enumerator2_t | callback, | |||
void * | baton, | |||
apr_pool_t * | pool | |||
) |
Enumerate the options in section, passing baton and the current option's name and value to callback.
Continue the enumeration if callback returns TRUE
. Return the number of times callback was called.
### kff asks: A more usual interface is to continue enumerating while callback does not return error, and if callback does return error, to return the same error (or a wrapping of it) from svn_config_enumerate(). What's the use case for svn_config_enumerate()? Is it more likely to need to break out of an enumeration early, with no error, than an invocation of callback is likely to need to return an error? ###
callback's name and value parameters are only valid for the duration of the call.
int svn_config_enumerate_sections | ( | svn_config_t * | cfg, | |
svn_config_section_enumerator_t | callback, | |||
void * | baton | |||
) |
Similar to svn_config_enumerate_sections2(), but uses a memory pool of cfg instead of one that is explicitely provided.
int svn_config_enumerate_sections2 | ( | svn_config_t * | cfg, | |
svn_config_section_enumerator2_t | callback, | |||
void * | baton, | |||
apr_pool_t * | pool | |||
) |
Enumerate the sections, passing baton and the current section's name to callback.
Continue the enumeration if callback returns TRUE
. Return the number of times callback was called.
### See kff's comment to svn_config_enumerate2(). It applies to this function, too. ###
callback's name and name parameters are only valid for the duration of the call.
const char* svn_config_find_group | ( | svn_config_t * | cfg, | |
const char * | key, | |||
const char * | master_section, | |||
apr_pool_t * | pool | |||
) |
Enumerate the group master_section in cfg.
Each variable value is interpreted as a list of glob patterns (separated by comma and optional whitespace). Return the name of the first variable whose value matches key, or NULL
if no variable matches.
void svn_config_get | ( | svn_config_t * | cfg, | |
const char ** | valuep, | |||
const char * | section, | |||
const char * | option, | |||
const char * | default_value | |||
) |
Find the value of a (section, option) pair in cfg, set *valuep to the value.
If cfg is NULL
, just sets *valuep to default_value. If the value does not exist, expand and return default_value. default_value can be NULL.
The returned value will be valid at least until the next call to svn_config_get(), or for the lifetime of default_value. It is safest to consume the returned value immediately.
This function may change cfg by expanding option values.
svn_error_t* svn_config_get_bool | ( | svn_config_t * | cfg, | |
svn_boolean_t * | valuep, | |||
const char * | section, | |||
const char * | option, | |||
svn_boolean_t | default_value | |||
) |
Like svn_config_get(), but for boolean values.
Parses the option as a boolean value. The recognized representations are 'true'/'false', 'yes'/'no', 'on'/'off', '1'/'0'; case does not matter. Returns an error if the option doesn't contain a known string.
svn_error_t* svn_config_get_config | ( | apr_hash_t ** | cfg_hash, | |
const char * | config_dir, | |||
apr_pool_t * | pool | |||
) |
Read configuration information from the standard sources and merge it into the hash *cfg_hash.
If config_dir is not NULL it specifies a directory from which to read the configuration files, overriding all other sources. Otherwise, first read any system-wide configurations (from a file or from the registry), then merge in personal configurations (again from file or registry). The hash and all its data are allocated in pool.
*cfg_hash is a hash whose keys are const
char * configuration categories (SVN_CONFIG_CATEGORY_SERVERS
, SVN_CONFIG_CATEGORY_CONFIG
, etc.) and whose values are the svn_config_t
* items representing the configuration values for that category.
const char* svn_config_get_server_setting | ( | svn_config_t * | cfg, | |
const char * | server_group, | |||
const char * | option_name, | |||
const char * | default_value | |||
) |
Retrieve value corresponding to option_name for a given server_group in cfg , or return default_value if none is found.
The config will first be checked for a default, then will be checked for an override in a server group.
svn_error_t* svn_config_get_server_setting_int | ( | svn_config_t * | cfg, | |
const char * | server_group, | |||
const char * | option_name, | |||
apr_int64_t | default_value, | |||
apr_int64_t * | result_value, | |||
apr_pool_t * | pool | |||
) |
Retrieve value into result_value corresponding to option_name for a given server_group in cfg, or return default_value if none is found.
The config will first be checked for a default, then will be checked for an override in a server group. If the value found is not a valid integer, a svn_error_t*
will be returned.
svn_boolean_t svn_config_has_section | ( | svn_config_t * | cfg, | |
const char * | section | |||
) |
Return TRUE
if section exists in config, FALSE
otherwise.
svn_error_t* svn_config_merge | ( | svn_config_t * | cfg, | |
const char * | file, | |||
svn_boolean_t | must_exist | |||
) |
Like svn_config_read(), but merges the configuration data from file (a file or registry path) into *cfg, which was previously returned from svn_config_read().
This function invalidates all value expansions in cfg, so that the next svn_config_get() takes the modifications into account.
svn_error_t* svn_config_read | ( | svn_config_t ** | cfgp, | |
const char * | file, | |||
svn_boolean_t | must_exist, | |||
apr_pool_t * | pool | |||
) |
Read configuration data from file (a file or registry path) into *cfgp, allocated in pool.
If file does not exist, then if must_exist, return an error, otherwise return an empty svn_config_t
.
void svn_config_set | ( | svn_config_t * | cfg, | |
const char * | section, | |||
const char * | option, | |||
const char * | value | |||
) |
Add or replace the value of a (section, option) pair in cfg with value.
This function invalidates all value expansions in cfg.
void svn_config_set_bool | ( | svn_config_t * | cfg, | |
const char * | section, | |||
const char * | option, | |||
svn_boolean_t | value | |||
) |
Like svn_config_set(), but for boolean values.
Sets the option to 'true'/'false', depending on value.