Lines Matching defs:sa

66 iked_radius_request(struct iked *env, struct iked_sa *sa,
82 if ((sa->sa_radreq = calloc(1,
89 timer_set(env, &sa->sa_radreq->rr_timer,
90 iked_radius_request_send, sa->sa_radreq);
91 sa->sa_radreq->rr_user = strdup(msg->msg_eap.eam_identity);
102 sa->sa_radreq->rr_user);
103 if (sa->sa_radreq->rr_state != NULL)
105 ibuf_data(sa->sa_radreq->rr_state),
106 ibuf_size(sa->sa_radreq->rr_state));
115 iked_radius_fill_attributes(sa, pkt);
118 if (sa->sa_radreq->rr_reqpkt != NULL)
119 radius_delete_packet(sa->sa_radreq->rr_reqpkt);
120 sa->sa_radreq->rr_reqpkt = pkt;
121 sa->sa_radreq->rr_sa = sa;
122 sa->sa_radreq->rr_ntry = 0;
124 iked_radius_request_send(env, sa->sa_radreq);
510 iked_radius_fill_attributes(struct iked_sa *sa, RADIUS_PACKET *pkt)
523 print_addr(&sa->sa_local.addr));
525 print_addr(&sa->sa_peer.addr));
533 struct iked_sa *sa = req->rr_sa;
541 for (i = 0; i < sa->sa_policy->pol_ncfg; i++) {
542 ikecfg = &sa->sa_policy->pol_cfg[i];
568 if (sa->sa_rad_addr == NULL) {
581 sa->sa_rad_addr->addr_mask = 0;
583 sa->sa_rad_addr->addr_mask =
585 if (sa->sa_rad_addr->addr_mask < 32)
586 sa->sa_rad_addr->addr_net = 1;
593 sa->sa_rad_addr = addr;
625 sa->sa_rad_addr = addr;
661 iked_radius_acct_start(struct iked *env, struct iked_sa *sa)
663 iked_radius_acct_request(env, sa, RADIUS_ACCT_STATUS_TYPE_START);
667 iked_radius_acct_stop(struct iked *env, struct iked_sa *sa)
669 iked_radius_acct_request(env, sa, RADIUS_ACCT_STATUS_TYPE_STOP);
673 iked_radius_acct_request(struct iked *env, struct iked_sa *sa, uint8_t stype)
691 if (sa != NULL && sa->sa_eapid == NULL) {
693 if (ikev2_print_id(IKESA_DSTID(sa), sa_id, sizeof(sa_id)) != -1)
694 sa->sa_eapid = strdup(sa_id);
695 if (sa->sa_eapid == NULL)
719 if (sa == NULL) {
728 iked_radius_fill_attributes(sa, pkt);
730 radius_put_string_attr(pkt, RADIUS_TYPE_USER_NAME, sa->sa_eapid);
734 (unsigned long long)sa->sa_hdr.sh_ispi);
738 addr4 = sa->sa_addrpool;
749 addr6 = sa->sa_addrpool6;
756 (sa->sa_radreq != NULL)? RADIUS_ACCT_AUTHENTIC_RADIUS :
769 timespecsub(&now, &sa->sa_starttime, &now);
774 if (sa->sa_reason) {
775 if (strcmp(sa->sa_reason, "received delete") == 0) {
777 } else if (strcmp(sa->sa_reason, "SA rekeyed") == 0) {
779 } else if (strncmp(sa->sa_reason, "retransmit",
782 } else if (strcmp(sa->sa_reason,
791 sa->sa_stats.sas_ipackets);
793 sa->sa_stats.sas_opackets);
795 sa->sa_stats.sas_ibytes & 0xffffffffUL);
797 sa->sa_stats.sas_obytes & 0xffffffffUL);
799 sa->sa_stats.sas_ibytes >> 32);
801 sa->sa_stats.sas_obytes >> 32);
818 struct iked_sa *sa = NULL;
892 RB_FOREACH(sa, iked_sas, &env->sc_sas) {
893 if (sa->sa_hdr.sh_ispi == ispi)
896 if (sa == NULL)
898 if (username[0] != '\0' && (sa->sa_eapid == NULL ||
899 strcmp(username, sa->sa_eapid) != 0)) {
905 ikev2_ike_sa_setreason(sa, reason);
906 ikev2_ike_sa_delete(env, sa);
909 RB_FOREACH(sa, iked_sas, &env->sc_sas) {
910 if (sa->sa_eapid != NULL &&
911 strcmp(sa->sa_eapid, username) == 0) {
912 ikev2_ike_sa_setreason(sa, reason);
913 ikev2_ike_sa_delete(env, sa);
919 RB_FOREACH(sa, iked_sas, &env->sc_sas) {
920 addr4 = sa->sa_addrpool;
924 ikev2_ike_sa_setreason(sa, reason);
925 ikev2_ike_sa_delete(env, sa);