uint8_t eap_type;
char buffer[256];
- if (!data || (data_len <= 1)) {
+ /*
+ * No data, OR only 1 byte of EAP type.
+ */
+ if (!data || (data_len == 0) ||
+ ((data_len <= 1) && (data[0] != PW_EAP_IDENTITY))) {
return 0;
}
eap_type = *data;
switch (eap_type) {
case PW_EAP_IDENTITY:
+ if (data_len == 1) {
+ RDEBUG2("Identity - ");
+ return 1;
+ }
RDEBUG2("Identity - %*s",
data_len - 1, data + 1);
return 1;
return rcode;
}
-
+#ifdef WITH_PROXY
/*
* Do post-proxy processing,
*/
request_free(&request);
}
+#endif
+
static void print_tunneled_data(uint8_t *data, size_t data_len)
{
*/
switch (fake->reply->code) {
case 0: /* No reply code, must be proxied... */
+#ifdef WITH_PROXY
vp = pairfind(fake->config_items, PW_PROXY_TO_REALM);
if (vp) {
*/
rcode = RLM_MODULE_UPDATED;
- } else {
+ } else
+#endif /* WITH_PROXY */
+ {
DEBUG2(" PEAP: Unknown RADIUS packet type %d: rejecting tunneled user", fake->reply->code);
rcode = RLM_MODULE_REJECT;
- }
+ }
break;
default:
if ((debug_flag > 2) && fr_log_fp) {
for (i = 0; i < total; i++) {
- if ((i & 0x0f) == 0) fprintf(fr_log_fp, " TTLS tunnel data out %04x: ", i);
+ if ((i & 0x0f) == 0) fprintf(fr_log_fp, " TTLS tunnel data out %04x: ", (int) i);
fprintf(fr_log_fp, "%02x ", buffer[i]);
* Use the tunneled reply, but not now.
*/
if (t->use_tunneled_reply) {
- t->reply = reply->vps;
+ t->accept_vps = reply->vps;
reply->vps = NULL;
}
}
+#ifdef WITH_PROXY
/*
* Do post-proxy processing,
*/
request_free(&request);
}
-
+#endif /* WITH_PROXY */
/*
* Process the "diameter" contents of the tunneled data.
size_t i;
for (i = 0; i < data_len; i++) {
- if ((i & 0x0f) == 0) fprintf(fr_log_fp, " TTLS tunnel data in %04x: ", i);
+ if ((i & 0x0f) == 0) fprintf(fr_log_fp, " TTLS tunnel data in %04x: ", (int) i);
fprintf(fr_log_fp, "%02x ", data[i]);
*/
switch (fake->reply->code) {
case 0: /* No reply code, must be proxied... */
+#ifdef WITH_PROXY
vp = pairfind(fake->config_items, PW_PROXY_TO_REALM);
if (vp) {
eap_tunnel_data_t *tunnel;
*/
rcode = PW_STATUS_CLIENT;
- } else {
+ } else
+#endif /* WITH_PROXY */
+ {
RDEBUG("No tunneled reply was found for request %d , and the request was not proxied: rejecting the user.",
request->number);
rcode = PW_AUTHENTICATION_REJECT;