diff options
author | Greg Hudson <ghudson@mit.edu> | 2013-01-11 10:13:25 -0500 |
---|---|---|
committer | Tom Yu <tlyu@mit.edu> | 2013-02-22 18:24:03 -0500 |
commit | 8b03510d5e919ce2047b64d9a4b4d3a9fe6a07a4 (patch) | |
tree | 9309dc69f969029a713c2b464b869cac22f3e880 /src | |
parent | adf07b060c57ce900656d9ac6f491a84ede7bcc6 (diff) | |
download | krb5-8b03510d5e919ce2047b64d9a4b4d3a9fe6a07a4.zip krb5-8b03510d5e919ce2047b64d9a4b4d3a9fe6a07a4.tar.gz krb5-8b03510d5e919ce2047b64d9a4b4d3a9fe6a07a4.tar.bz2 |
Fix no_host_referral concatention in KDC
If no_host_referral is set in both [kdcdefaults] and the realm
subsection, we're supposed to concatenate their values. But the logic
in handle_referral_params would overwrite the value with the
non-concatenated realm value. Similar bugs of this nature were fixed
in 639c9d0f5a7c68dc98a2a452abc05ca32443cddf (r22037) but this one was
missed.
(cherry picked from commit 6338d039cbd0b138642e3b123ac58dc802d1d907)
ticket: 7580 (new)
version_fixed: 1.10.4
status: resolved
Diffstat (limited to 'src')
-rw-r--r-- | src/kdc/main.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/kdc/main.c b/src/kdc/main.c index 8d4df87..b56ec19 100644 --- a/src/kdc/main.c +++ b/src/kdc/main.c @@ -207,12 +207,13 @@ handle_referral_params(krb5_realm_params *rparams, rdp->realm_no_host_referral = strdup(KRB5_CONF_ASTERISK); if (!rdp->realm_no_host_referral) retval = ENOMEM; - } else if (no_refrls && (asprintf(&(rdp->realm_no_host_referral), - "%s%s%s%s%s", " ", no_refrls," ", - rparams->realm_no_host_referral, " ") < 0)) - retval = ENOMEM; - else if (asprintf(&(rdp->realm_no_host_referral),"%s%s%s", " ", - rparams->realm_no_host_referral, " ") < 0) + } else if (no_refrls) { + if (asprintf(&(rdp->realm_no_host_referral), + "%s%s%s%s%s", " ", no_refrls," ", + rparams->realm_no_host_referral, " ") < 0) + retval = ENOMEM; + } else if (asprintf(&(rdp->realm_no_host_referral),"%s%s%s", " ", + rparams->realm_no_host_referral, " ") < 0) retval = ENOMEM; } else if( no_refrls != NULL) { if ( asprintf(&(rdp->realm_no_host_referral), |