diff --git a/lib/krb5/krb5_appdefault.3 b/lib/krb5/krb5_appdefault.3 new file mode 100644 index 000000000..2d21af73a --- /dev/null +++ b/lib/krb5/krb5_appdefault.3 @@ -0,0 +1,57 @@ +.\" Copyright (c) 2000 Kungliga Tekniska Högskolan +.\" $Id$ +.Dd July 25, 2000 +.Dt KRB5_APPDEFAULT 3 +.Os HEIMDAL +.Sh NAME +.Nm krb5_appdefault_boolean , +.Nm krb5_appdefault_string +.Nd Get application configuration value + +.Sh SYNOPSIS +.Fd #include + +.Ft void +.Fn krb5_appdefault_boolean "krb5_context context" "const char *appname" "krb5_realm realm" "const char *option" "krb5_boolean def_val" "krb5_boolean *ret_val" +.Ft void +.Fn krb5_appdefault_string "krb5_context context" "const char *appname" "krb5_realm realm" "const char *option" "const char *def_val" "char **ret_val" + +.Sh DESCRIPTION + +These functions get application application defaults from the +.Dv appdefaults section of the +.Xr krb5.conf 5 +configuration file. These defaults can be specified per application, +and/or per realm. + +These values will be looked for in +.Xr krb5.conf 5 , +in order of descending importance. +.Bd -literal -offset indent +[appdefaults] + appname = { + realm = { + option = value + } + } + appname = { + option = value + } + realm = { + option = value + } + option = value +.Ed + +.Fa appname +is the name of the application, and +.Fa realm +is the realm name. If the realm is omitted it will not be used for +resolving values. +.Fa def_val +is the value to return if no value is found in +.Xr krb5.conf 5 . + +.Sh SEE ALSO +.Xr krb5_config 3 , +.Xr krb5.conf 5 diff --git a/lib/krb5/krb5_config.3 b/lib/krb5/krb5_config.3 new file mode 100644 index 000000000..c500e5569 --- /dev/null +++ b/lib/krb5/krb5_config.3 @@ -0,0 +1,71 @@ +.\" Copyright (c) 2000 Kungliga Tekniska Högskolan +.\" $Id$ +.Dd July 25, 2000 +.Dt KRB5_CONFIG 3 +.Os HEIMDAL +.Sh NAME +.Nm krb5_config_get_bool_default , +.Nm krb5_config_get_int_default , +.Nm krb5_config_get_string_default , +.Nm krb5_config_get_time_default +.Nd Get configuration value + +.Sh SYNOPSIS +.Fd #include + +.Ft krb5_boolean +.Fn krb5_config_get_bool_default "krb5_context context" "krb5_config_section *c" "krb5_boolean def_value" "..." +.Ft int +.Fn krb5_config_get_int_default "krb5_context context" "krb5_config_section *c" "int def_value" "..." +.Ft const char* +.Fn krb5_config_get_string_default "krb5_context context" "krb5_config_section *c" "const char *def_value" "..." +.Ft int +.Fn krb5_config_get_time_default "krb5_context context" "krb5_config_section *c" "int def_value" "..." + +.Sh DESCRIPTION + +These functions get values from the +.Xr krb5.conf 5 +configuration file, or another configuration database specified by the +.Fa c +parameter. + +The variable arguments should be a list of strings naming each +subsection to look for. For example: + +.Bd -literal -offset indent +krb5_config_get_bool_default(context, NULL, FALSE, "libdefaults", "log_utc", NULL) +.Ed + +gets the boolean value for the +.Dv log_utc +option, defaulting to +.Dv FALSE . + +.Fn krb5_config_get_bool_default +will convert the option value to a boolean value, where +.Sq yes , +.Sq true , +and any non-zero number means +.Dv TRUE , +and any other value +.Dv FALSE . + +.Fn krb5_config_get_int_default +will convert the value to an integer. + +.Fn krb5_config_get_time_default +will convert the value to a period of time (not a time stamp) in +seconds, so the string +.Sq 2 weeks +will be converted to +1209600 (2 * 7 * 24 * 60 * 60). + +.Sh BUGS + +Other than for the string case, there's no way to tell whether there +was a value specified or not. + +.Sh SEE ALSO +.Xr krb5_appdefault 3 , +.Xr krb5.conf 5