• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/router/wpa_supplicant/src/eap_server/

Lines Matching refs:tncs

20 #include "tncs.h"
195 struct tncs_data *tncs;
200 tncs = tncs_global_data->connections;
201 while (tncs) {
202 if (tncs->connectionID == connectionID)
203 return tncs;
204 tncs = tncs->next;
255 struct tncs_data *tncs;
268 tncs = tncs_get_conn(connectionID);
269 if (tncs == NULL)
276 os_free(tncs->imv_data[imvID].imv_send);
277 tncs->imv_data[imvID].imv_send_len = 0;
278 tncs->imv_data[imvID].imv_send = os_zalloc(b64len + 100);
279 if (tncs->imv_data[imvID].imv_send == NULL) {
284 tncs->imv_data[imvID].imv_send_len =
285 os_snprintf((char *) tncs->imv_data[imvID].imv_send,
314 struct tncs_data *tncs;
324 tncs = tncs_get_conn(connectionID);
325 if (tncs == NULL)
328 tncs->imv_data[imvID].recommendation = recommendation;
329 tncs->imv_data[imvID].recommendation_set = 1;
585 static void tncs_send_to_imvs(struct tncs_data *tncs, unsigned int type,
593 for (imv = tncs->imv; imv; imv = imv->next) {
600 res = imv->ReceiveMessage(imv->imvID, tncs->connectionID,
609 static void tncs_batch_ending(struct tncs_data *tncs)
614 for (imv = tncs->imv; imv; imv = imv->next) {
620 res = imv->BatchEnding(imv->imvID, tncs->connectionID);
627 static void tncs_solicit_recommendation(struct tncs_data *tncs)
632 for (imv = tncs->imv; imv; imv = imv->next) {
633 if (tncs->imv_data[imv->imvID].recommendation_set)
639 tncs->connectionID);
646 void tncs_init_connection(struct tncs_data *tncs)
651 for (imv = tncs->imv; imv; imv = imv->next) {
653 imv, tncs->connectionID, TNC_CONNECTION_STATE_CREATE);
655 imv, tncs->connectionID,
660 os_free(tncs->imv_data[i].imv_send);
661 tncs->imv_data[i].imv_send = NULL;
662 tncs->imv_data[i].imv_send_len = 0;
667 size_t tncs_total_send_len(struct tncs_data *tncs)
673 len += tncs->imv_data[i].imv_send_len;
674 if (tncs->tncs_message)
675 len += os_strlen(tncs->tncs_message);
680 u8 * tncs_copy_send_buf(struct tncs_data *tncs, u8 *pos)
685 if (tncs->imv_data[i].imv_send == NULL)
688 os_memcpy(pos, tncs->imv_data[i].imv_send,
689 tncs->imv_data[i].imv_send_len);
690 pos += tncs->imv_data[i].imv_send_len;
691 os_free(tncs->imv_data[i].imv_send);
692 tncs->imv_data[i].imv_send = NULL;
693 tncs->imv_data[i].imv_send_len = 0;
696 if (tncs->tncs_message) {
697 size_t len = os_strlen(tncs->tncs_message);
698 os_memcpy(pos, tncs->tncs_message, len);
700 os_free(tncs->tncs_message);
701 tncs->tncs_message = NULL;
708 char * tncs_if_tnccs_start(struct tncs_data *tncs)
713 tncs->last_batchid++;
714 os_snprintf(buf, 1000, IF_TNCCS_START, tncs->last_batchid);
766 static enum tncs_process_res tncs_derive_recommendation(struct tncs_data *tncs)
775 if (tncs->done)
778 tncs_solicit_recommendation(tncs);
782 for (imv = tncs->imv; imv; imv = imv->next) {
784 irec = tncs->imv_data[imv->imvID].recommendation;
796 tncs->recommendation = rec;
797 tncs->done = 1;
820 os_free(tncs->tncs_message);
821 tncs->tncs_message = os_zalloc(200);
822 if (tncs->tncs_message) {
823 os_snprintf(tncs->tncs_message, 199,
832 for (imv = tncs->imv; imv; imv = imv->next) {
833 tncs_imv_notify_connection_change(imv, tncs->connectionID,
852 enum tncs_process_res tncs_process_if_tnccs(struct tncs_data *tncs,
890 if (batch_id != tncs->last_batchid + 1) {
893 batch_id, tncs->last_batchid + 1);
897 tncs->last_batchid = batch_id;
944 tncs_send_to_imvs(tncs, type, decoded, decoded_len);
1026 tncs_batch_ending(tncs);
1028 if (tncs_total_send_len(tncs) == 0)
1029 return tncs_derive_recommendation(tncs);
1141 struct tncs_data *tncs;
1146 tncs = os_zalloc(sizeof(*tncs));
1147 if (tncs == NULL)
1149 tncs->imv = tncs_global_data->imv;
1150 tncs->connectionID = tncs_global_data->next_conn_id++;
1151 tncs->next = tncs_global_data->connections;
1152 tncs_global_data->connections = tncs;
1154 return tncs;
1158 void tncs_deinit(struct tncs_data *tncs)
1163 if (tncs == NULL)
1167 os_free(tncs->imv_data[i].imv_send);
1172 if (conn == tncs) {
1174 prev->next = tncs->next;
1176 tncs_global_data->connections = tncs->next;
1183 os_free(tncs->tncs_message);
1184 os_free(tncs);