use krb5_appdefault_boolean instead of krb5_config_get_bool

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@14203 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Johan Danielsson
2004-09-08 09:02:59 +00:00
parent 4b6d038f2b
commit 03bae875ad
3 changed files with 58 additions and 55 deletions

View File

@@ -181,21 +181,19 @@ krb5_to4 (krb5_ccache id)
int get_v4_tgt;
get_v4_tgt = krb5_config_get_bool(context, NULL,
"libdefaults",
"krb4_get_tickets",
NULL);
ret = krb5_cc_get_principal(context, id, &princ);
if (ret == 0) {
get_v4_tgt = krb5_config_get_bool_default(context, NULL,
get_v4_tgt,
"realms",
*krb5_princ_realm(context,
princ),
"krb4_get_tickets",
NULL);
if(ret == 0) {
krb5_appdefault_boolean(context, "login",
krb5_principal_get_realm(context, princ),
"krb4_get_tickets", FALSE, &get_v4_tgt);
krb5_free_principal(context, princ);
} else {
krb5_realm realm = NULL;
krb5_get_default_realm(context, &realm);
krb5_appdefault_boolean(context, "login",
realm,
"krb4_get_tickets", FALSE, &get_v4_tgt);
free(realm);
}
if (get_v4_tgt) {

View File

@@ -579,6 +579,7 @@ verify_krb5(const char *password)
{
krb5_error_code ret;
krb5_ccache id;
krb5_boolean get_v4_tgt;
krb5_cc_default(context, &id);
ret = krb5_verify_user(context,
@@ -589,10 +590,10 @@ verify_krb5(const char *password)
NULL);
if (ret == 0){
#ifdef KRB4
if (krb5_config_get_bool(context, NULL,
"libdefaults",
"krb4_get_tickets",
NULL)) {
krb5_appdefault_boolean(context, "xnlock",
krb5_principal_get_realm(context, client),
"krb4_get_tickets", FALSE, &get_v4_tgt);
if(get_v4_tgt) {
CREDENTIALS c;
krb5_creds mcred, cred;

View File

@@ -163,22 +163,24 @@ verify_krb5(struct passwd *pwd,
}
#ifdef KRB4
if (krb5_config_get_bool(context, NULL,
"libdefaults",
"krb4_get_tickets",
NULL)) {
{
krb5_realm realm = NULL;
krb5_boolean get_v4_tgt;
krb5_get_default_realm(context, &realm);
krb5_appdefault_boolean(context, "afskauthlib",
realm,
"krb4_get_tickets", FALSE, &get_v4_tgt);
if (get_v4_tgt) {
CREDENTIALS c;
krb5_creds mcred, cred;
krb5_realm realm;
krb5_cc_clear_mcred(&mcred);
krb5_get_default_realm(context, &realm);
krb5_make_principal(context, &mcred.server, realm,
"krbtgt",
realm,
NULL);
free (realm);
ret = krb5_cc_retrieve_cred(context, ccache, 0, &mcred, &cred);
if(ret == 0) {
ret = krb524_convert_creds_kdc_ccache(context, ccache, &cred, &c);
@@ -196,6 +198,7 @@ verify_krb5(struct passwd *pwd,
krb5_free_principal(context, mcred.server);
}
free (realm);
if (!pag_set && k_hasafs()) {
k_setpag();
pag_set = 1;
@@ -204,8 +207,9 @@ verify_krb5(struct passwd *pwd,
if (pag_set)
krb5_afslog_uid_home(context, ccache, NULL, NULL,
pwd->pw_uid, pwd->pw_dir);
}
#endif
out:
out:
if(ret && !quiet)
printf ("%s\n", krb5_get_err_text (context, ret));
return ret;