Lines Matching defs:das
34 static struct radius_msg * radius_das_disconnect(struct radius_das_data *das,
147 res = das->disconnect(das->ctx, &attrs);
197 static struct radius_msg * radius_das_coa(struct radius_das_data *das,
232 if (!das->coa) {
341 res = das->coa(das->ctx, &attrs);
393 struct radius_das_data *das = eloop_ctx;
426 if (das->client_addr.u.v4.s_addr &&
427 das->client_addr.u.v4.s_addr != from.sin.sin_addr.s_addr) {
442 if (radius_msg_verify_das_req(msg, das->shared_secret,
443 das->shared_secret_len,
444 das->require_message_authenticator)) {
457 das->time_window) {
465 } else if (das->require_event_timestamp) {
475 reply = radius_das_disconnect(das, msg, abuf, from_port);
478 reply = radius_das_coa(das, msg, abuf, from_port);
496 if (radius_msg_finish_das_resp(reply, das->shared_secret,
497 das->shared_secret_len, hdr) <
507 res = sendto(das->sock, wpabuf_head(rbuf),
549 struct radius_das_data *das;
555 das = os_zalloc(sizeof(*das));
556 if (das == NULL)
559 das->time_window = conf->time_window;
560 das->require_event_timestamp = conf->require_event_timestamp;
561 das->require_message_authenticator =
563 das->ctx = conf->ctx;
564 das->disconnect = conf->disconnect;
565 das->coa = conf->coa;
567 os_memcpy(&das->client_addr, conf->client_addr,
568 sizeof(das->client_addr));
570 das->shared_secret = os_memdup(conf->shared_secret,
572 if (das->shared_secret == NULL) {
573 radius_das_deinit(das);
576 das->shared_secret_len = conf->shared_secret_len;
578 das->sock = radius_das_open_socket(conf->port);
579 if (das->sock < 0) {
582 radius_das_deinit(das);
586 if (eloop_register_read_sock(das->sock, radius_das_receive, das, NULL))
588 radius_das_deinit(das);
592 return das;
596 void radius_das_deinit(struct radius_das_data *das)
598 if (das == NULL)
601 if (das->sock >= 0) {
602 eloop_unregister_read_sock(das->sock);
603 close(das->sock);
606 os_free(das->shared_secret);
607 os_free(das);