(env_data->chap_challenge.vb_length >= inst->min_challenge_len)) {
challenge = env_data->chap_challenge.vb_octets;
challenge_len = env_data->chap_challenge.vb_length;
-
} else {
- if (env_data->chap_challenge.type == FR_TYPE_OCTETS) {
+ if (env_data->chap_challenge.type == FR_TYPE_OCTETS)
RWDEBUG("&request.CHAP-Challenge shorter than minimum length (%ld)", inst->min_challenge_len);
- }
- challenge = request->packet->data + 4;
+ challenge = request->packet->vector;
challenge_len = RADIUS_AUTH_VECTOR_LENGTH;
}
fr_chap_encode(chap_password, (uint8_t)(fr_rand() & 0xff), challenge, challenge_len,
RDEBUG2("Creating %s from request authenticator", env_data->chap_challenge_tmpl->name);
MEM(vp = fr_pair_afrom_da(request->request_ctx, tmpl_attr_tail_da(env_data->chap_challenge_tmpl)));
- fr_pair_value_memdup(vp, request->packet->data + 4, RADIUS_AUTH_VECTOR_LENGTH, true);
+ fr_pair_value_memdup(vp, request->packet->vector, sizeof(request->packet->vector), true);
fr_pair_append(&request->request_pairs, vp);
}
challenge = env_data->chap_challenge.vb_octets;
challenge_len = env_data->chap_challenge.vb_length;
} else {
- if (env_data->chap_challenge.type == FR_TYPE_OCTETS) {
+ if (env_data->chap_challenge.type == FR_TYPE_OCTETS)
RWDEBUG("&request.CHAP-Challenge shorter than minimum length (%ld)", inst->min_challenge_len);
- }
- challenge = request->packet->data + 4;
+ challenge = request->packet->vector;
challenge_len = RADIUS_AUTH_VECTOR_LENGTH;
}
fr_chap_encode(pass_str, env_data->chap_password.vb_octets[0], challenge, challenge_len,
length = env_data->chap_challenge.vb_length;
} else {
RDEBUG2("Using challenge from authenticator field");
- p = request->packet->data + 4;
- length = RADIUS_AUTH_VECTOR_LENGTH;
+ p = request->packet->vector;
+ length = sizeof(request->packet->vector);
}
RINDENT();
#include <freeradius-devel/server/modpriv.h>
#include <freeradius-devel/util/debug.h>
#include <freeradius-devel/util/dlist.h>
-#include <freeradius-devel/util/chap.h>
#include "rlm_radius.h"
if (fr_pair_find_by_da(&request->request_pairs, NULL, attr_chap_password) &&
!fr_pair_find_by_da(&request->request_pairs, NULL, attr_chap_challenge)) {
MEM(pair_append_request(&vp, attr_chap_challenge) >= 0);
- fr_pair_value_memdup(vp, request->packet->data + 4, FR_CHAP_CHALLENGE_LENGTH, true);
+ fr_pair_value_memdup(vp, request->packet->vector, sizeof(request->packet->vector), true);
}
}