aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGreg Hudson <ghudson@mit.edu>2013-01-11 10:13:25 -0500
committerTom Yu <tlyu@mit.edu>2013-02-22 18:24:03 -0500
commit8b03510d5e919ce2047b64d9a4b4d3a9fe6a07a4 (patch)
tree9309dc69f969029a713c2b464b869cac22f3e880 /src
parentadf07b060c57ce900656d9ac6f491a84ede7bcc6 (diff)
downloadkrb5-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.c13
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),