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);
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,