X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=mech_eap%2Faccept_sec_context.c;h=1cbf2752a11289722ad43130c932bd316e5b525f;hb=9d54a114c8dd823a5f308da85dd1a4ffbf682f7e;hp=95e0e0d2a50e6a647d0c2703800ef35abd60258c;hpb=b858c8f8860b4e3a0307d4e4d2f91642d0f45a2c;p=mech_eap.git diff --git a/mech_eap/accept_sec_context.c b/mech_eap/accept_sec_context.c index 95e0e0d..1cbf275 100644 --- a/mech_eap/accept_sec_context.c +++ b/mech_eap/accept_sec_context.c @@ -345,7 +345,7 @@ setAcceptorIdentity(OM_uint32 *minor, krbPrinc = ctx->acceptorName->krbPrincipal; GSSEAP_ASSERT(krbPrinc != NULL); - GSSEAP_ASSERT(KRB_PRINC_LENGTH(krbPrinc) >= 2); + GSSEAP_ASSERT(KRB_PRINC_LENGTH(krbPrinc) >= 1); /* Acceptor-Service-Name */ krbPrincComponentToGssBuffer(krbPrinc, 0, &nameBuf); @@ -358,15 +358,16 @@ setAcceptorIdentity(OM_uint32 *minor, return major; /* Acceptor-Host-Name */ - krbPrincComponentToGssBuffer(krbPrinc, 1, &nameBuf); - - major = gssEapRadiusAddAvp(minor, req, - PW_GSS_ACCEPTOR_HOST_NAME, - 0, - &nameBuf); - if (GSS_ERROR(major)) - return major; - + if (KRB_PRINC_LENGTH(krbPrinc) >= 2) { + krbPrincComponentToGssBuffer(krbPrinc, 1, &nameBuf); + + major = gssEapRadiusAddAvp(minor, req, + PW_GSS_ACCEPTOR_HOST_NAME, + 0, + &nameBuf); + if (GSS_ERROR(major)) + return major; + } if (KRB_PRINC_LENGTH(krbPrinc) > 2) { /* Acceptor-Service-Specific */ *minor = krbPrincUnparseServiceSpecifics(krbContext,