VALUE Cache-Status-Only no 0
VALUE Cache-Status-Only yes 1
+
+ATTRIBUTE EAP-Session-Id 1146 octets
+
#
# Range: 1200-1279
# EAP-SIM (and other EAP type) weirdness.
RDEBUG("WARNING: Not adding MPPE keys because there is no PRF label");
}
+ eaptls_gen_eap_key(tls_session->ssl->session,
+ handler->eap_type, request);
return 1;
}
void eaptls_gen_mppe_keys(VALUE_PAIR **reply_vps, SSL *s,
const char *prf_label);
void eapttls_gen_challenge(SSL *s, uint8_t *buffer, size_t size);
+void eaptls_gen_eap_key(SSL *s, uint32_t header, REQUEST *request);
#define BUFFER_SIZE 1024
memcpy(buffer, out, size);
}
+
+/*
+ * Actually generates EAP-Session-Id, which is an internal server
+ * attribute. Not all systems want to send EAP-Key-Nam
+ */
+void eaptls_gen_eap_key(SSL *s, uint32_t header, REQUEST *request)
+{
+ VALUE_PAIR *vp;
+
+ vp = radius_paircreate(request, &request->reply->vps,
+ PW_EAP_SESSION_ID, PW_TYPE_OCTETS);
+ if (!vp) return;
+
+ vp->vp_octets[0] = header & 0xff;
+ memcpy(vp->vp_octets + 1, s->s3->client_random, SSL3_RANDOM_SIZE);
+ memcpy(vp->vp_octets + 1 + SSL3_RANDOM_SIZE,
+ s->s3->server_random, SSL3_RANDOM_SIZE);
+}