Lines Matching defs:chap
227 struct chap *
230 struct chap *chap;
232 chap = calloc(1, sizeof(*chap));
233 if (chap == NULL)
239 arc4random_buf(chap->chap_challenge, sizeof(chap->chap_challenge));
240 arc4random_buf(&chap->chap_id, sizeof(chap->chap_id));
242 return (chap);
246 chap_get_id(const struct chap *chap)
251 ret = asprintf(&chap_i, "%d", chap->chap_id);
259 chap_get_challenge(const struct chap *chap)
263 chap_c = chap_bin2hex(chap->chap_challenge,
264 sizeof(chap->chap_challenge));
270 chap_receive_bin(struct chap *chap, void *response, size_t response_len)
273 if (response_len != sizeof(chap->chap_response)) {
276 response_len, sizeof(chap->chap_response));
280 memcpy(chap->chap_response, response, response_len);
285 chap_receive(struct chap *chap, const char *response)
298 error = chap_receive_bin(chap, response_bin, response_bin_len);
305 chap_authenticate(struct chap *chap, const char *secret)
309 chap_compute_md5(chap->chap_id, secret,
310 chap->chap_challenge, sizeof(chap->chap_challenge),
313 if (memcmp(chap->chap_response,
322 chap_delete(struct chap *chap)
325 free(chap);