• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/contrib/wpa/src/eap_common/

Lines Matching refs:msg

189 	wpa_hexdump(MSG_MSGDUMP, "EAP-SIM: Verify MAC - msg",
204 void eap_sim_add_mac(const u8 *k_aut, const u8 *msg, size_t msg_len, u8 *mac,
211 addr[0] = msg;
218 wpa_hexdump(MSG_MSGDUMP, "EAP-SIM: Add MAC - msg", msg, msg_len);
383 wpa_hexdump(MSG_MSGDUMP, "EAP-AKA': Verify MAC - msg",
398 void eap_sim_add_mac_sha256(const u8 *k_aut, const u8 *msg, size_t msg_len,
405 addr[0] = msg;
412 wpa_hexdump(MSG_MSGDUMP, "EAP-AKA': Add MAC - msg", msg, msg_len);
982 struct eap_sim_msg *msg;
986 msg = os_zalloc(sizeof(*msg));
987 if (msg == NULL)
990 msg->buf = wpabuf_alloc(EAP_SIM_INIT_LEN);
991 if (msg->buf == NULL) {
992 os_free(msg);
995 eap = wpabuf_put(msg->buf, sizeof(*eap));
999 pos = wpabuf_put(msg->buf, 4);
1005 return msg;
1009 struct wpabuf * eap_sim_msg_finish(struct eap_sim_msg *msg, int type,
1016 if (msg == NULL)
1019 eap = wpabuf_mhead(msg->buf);
1020 eap->length = host_to_be16(wpabuf_len(msg->buf));
1023 if (k_aut && msg->mac && type == EAP_TYPE_AKA_PRIME) {
1024 eap_sim_add_mac_sha256(k_aut, (u8 *) wpabuf_head(msg->buf),
1025 wpabuf_len(msg->buf),
1026 (u8 *) wpabuf_mhead(msg->buf) +
1027 msg->mac, extra, extra_len);
1030 if (k_aut && msg->mac) {
1031 eap_sim_add_mac(k_aut, (u8 *) wpabuf_head(msg->buf),
1032 wpabuf_len(msg->buf),
1033 (u8 *) wpabuf_mhead(msg->buf) + msg->mac,
1037 buf = msg->buf;
1038 os_free(msg);
1043 void eap_sim_msg_free(struct eap_sim_msg *msg)
1045 if (msg) {
1046 wpabuf_free(msg->buf);
1047 os_free(msg);
1052 u8 * eap_sim_msg_add_full(struct eap_sim_msg *msg, u8 attr,
1059 if (msg == NULL)
1064 if (wpabuf_resize(&msg->buf, attr_len))
1066 start = wpabuf_put(msg->buf, 0);
1067 wpabuf_put_u8(msg->buf, attr);
1068 wpabuf_put_u8(msg->buf, attr_len / 4);
1069 wpabuf_put_data(msg->buf, data, len);
1071 os_memset(wpabuf_put(msg->buf, pad_len), 0, pad_len);
1076 u8 * eap_sim_msg_add(struct eap_sim_msg *msg, u8 attr, u16 value,
1083 if (msg == NULL)
1088 if (wpabuf_resize(&msg->buf, attr_len))
1090 start = wpabuf_put(msg->buf, 0);
1091 wpabuf_put_u8(msg->buf, attr);
1092 wpabuf_put_u8(msg->buf, attr_len / 4);
1093 wpabuf_put_be16(msg->buf, value);
1095 wpabuf_put_data(msg->buf, data, len);
1097 wpabuf_put(msg->buf, len);
1099 os_memset(wpabuf_put(msg->buf, pad_len), 0, pad_len);
1104 u8 * eap_sim_msg_add_mac(struct eap_sim_msg *msg, u8 attr)
1106 u8 *pos = eap_sim_msg_add(msg, attr, 0, NULL, EAP_SIM_MAC_LEN);
1108 msg->mac = (pos - wpabuf_head_u8(msg->buf)) + 4;
1113 int eap_sim_msg_add_encr_start(struct eap_sim_msg *msg, u8 attr_iv,
1116 u8 *pos = eap_sim_msg_add(msg, attr_iv, 0, NULL, EAP_SIM_IV_LEN);
1119 msg->iv = (pos - wpabuf_head_u8(msg->buf)) + 4;
1120 if (random_get_bytes(wpabuf_mhead_u8(msg->buf) + msg->iv,
1122 msg->iv = 0;
1126 pos = eap_sim_msg_add(msg, attr_encr, 0, NULL, 0);
1128 msg->iv = 0;
1131 msg->encr = pos - wpabuf_head_u8(msg->buf);
1137 int eap_sim_msg_add_encr_end(struct eap_sim_msg *msg, u8 *k_encr, int attr_pad)
1141 if (msg == NULL || k_encr == NULL || msg->iv == 0 || msg->encr == 0)
1144 encr_len = wpabuf_len(msg->buf) - msg->encr - 4;
1155 pos = eap_sim_msg_add(msg, attr_pad, 0, NULL, pad_len - 4);
1163 wpabuf_mhead_u8(msg->buf)[msg->encr + 1] = encr_len / 4 + 1;
1164 return aes_128_cbc_encrypt(k_encr, wpabuf_head_u8(msg->buf) + msg->iv,
1165 wpabuf_mhead_u8(msg->buf) + msg->encr + 4,