Lines Matching defs:attr

282 	const struct radius_attr_type *attr;
287 attr = radius_get_attr_type(hdr->type);
290 hdr->type, attr ? attr->name : "?Unknown?", hdr->length);
292 if (attr == NULL || hdr->length < sizeof(struct radius_attr_hdr))
298 switch (attr->data_type) {
361 struct radius_attr_hdr *attr = radius_get_attr_hdr(msg, i);
362 radius_msg_dump_attr(attr);
372 struct radius_attr_hdr *attr;
375 attr = radius_msg_add_attr(msg,
378 if (attr == NULL) {
385 wpabuf_len(msg->buf), (u8 *) (attr + 1));
402 struct radius_attr_hdr *attr;
407 attr = radius_msg_add_attr(msg, RADIUS_ATTR_MESSAGE_AUTHENTICATOR,
409 if (attr == NULL) {
417 wpabuf_len(msg->buf), (u8 *) (attr + 1));
446 struct radius_attr_hdr *attr;
449 attr = radius_msg_add_attr(msg, RADIUS_ATTR_MESSAGE_AUTHENTICATOR,
451 if (attr == NULL) {
459 wpabuf_len(msg->buf), (u8 *) (attr + 1));
553 struct radius_attr_hdr *attr = NULL, *tmp;
572 if (attr != NULL) {
578 attr = tmp;
582 if (attr == NULL) {
591 os_memcpy(orig, attr + 1, MD5_MAC_LEN);
592 os_memset(attr + 1, 0, MD5_MAC_LEN);
599 os_memcpy(attr + 1, orig, MD5_MAC_LEN);
608 struct radius_attr_hdr *attr)
624 (unsigned char *) attr - wpabuf_head_u8(msg->buf);
634 struct radius_attr_hdr *attr;
645 buf_needed = sizeof(*attr) + data_len;
654 attr = wpabuf_put(msg->buf, sizeof(struct radius_attr_hdr));
655 attr->type = type;
656 attr->length = sizeof(*attr) + data_len;
659 if (radius_msg_add_attr_to_array(msg, attr))
662 return attr;
679 struct radius_attr_hdr *attr;
714 if ((size_t) (end - pos) < sizeof(*attr))
717 attr = (struct radius_attr_hdr *) pos;
719 if (attr->length > end - pos || attr->length < sizeof(*attr))
722 /* TODO: check that attr->length is suitable for attr->type */
724 if (radius_msg_add_attr_to_array(msg, attr))
727 pos += attr->length;
766 struct radius_attr_hdr *attr;
773 attr = radius_get_attr_hdr(msg, i);
774 if (attr->type == RADIUS_ATTR_EAP_MESSAGE &&
775 attr->length > sizeof(struct radius_attr_hdr))
776 len += attr->length - sizeof(struct radius_attr_hdr);
787 attr = radius_get_attr_hdr(msg, i);
788 if (attr->type == RADIUS_ATTR_EAP_MESSAGE &&
789 attr->length > sizeof(struct radius_attr_hdr)) {
790 int flen = attr->length - sizeof(*attr);
791 wpabuf_put_data(eap, attr + 1, flen);
804 struct radius_attr_hdr *attr = NULL, *tmp;
810 if (attr != NULL) {
814 attr = tmp;
818 if (attr == NULL) {
823 os_memcpy(orig, attr + 1, MD5_MAC_LEN);
824 os_memset(attr + 1, 0, MD5_MAC_LEN);
834 os_memcpy(attr + 1, orig, MD5_MAC_LEN);
889 struct radius_attr_hdr *attr;
894 attr = radius_get_attr_hdr(src, i);
895 if (attr->type == type && attr->length >= sizeof(*attr)) {
896 if (!radius_msg_add_attr(dst, type, (u8 *) (attr + 1),
897 attr->length - sizeof(*attr)))
933 struct radius_attr_hdr *attr = radius_get_attr_hdr(msg, i);
938 if (attr->type != RADIUS_ATTR_VENDOR_SPECIFIC ||
939 attr->length < sizeof(*attr))
942 left = attr->length - sizeof(*attr);
946 pos = (u8 *) (attr + 1);
1192 struct radius_attr_hdr *attr;
1225 attr = radius_msg_add_attr(msg, RADIUS_ATTR_VENDOR_SPECIFIC,
1228 if (attr == NULL) {
1250 attr = radius_msg_add_attr(msg, RADIUS_ATTR_VENDOR_SPECIFIC,
1253 if (attr == NULL) {
1264 struct radius_attr_hdr *attr;
1278 attr = radius_msg_add_attr(msg, RADIUS_ATTR_VENDOR_SPECIFIC,
1281 if (attr == NULL)
1361 struct radius_attr_hdr *attr = NULL, *tmp;
1367 attr = tmp;
1372 if (!attr || attr->length < sizeof(*attr))
1375 dlen = attr->length - sizeof(*attr);
1377 os_memcpy(buf, (attr + 1), dlen > len ? len : dlen);
1386 struct radius_attr_hdr *attr = NULL, *tmp;
1392 attr = tmp;
1397 if (!attr || attr->length < sizeof(*attr))
1400 *buf = (u8 *) (attr + 1);
1401 *len = attr->length - sizeof(*attr);
1412 struct radius_attr_hdr *attr = radius_get_attr_hdr(msg, i);
1413 if (attr->type == type &&
1414 attr->length >= sizeof(struct radius_attr_hdr) + min_len)
1457 struct radius_attr_hdr *attr = NULL;
1469 attr = radius_get_attr_hdr(msg, i);
1470 if (attr->length < sizeof(*attr))
1472 data = (const u8 *) (attr + 1);
1473 dlen = attr->length - sizeof(*attr);
1474 if (attr->length < 3)
1481 switch (attr->type) {
1483 if (attr->length != 6)
1489 if (attr->length != 6)
1510 if (attr->length != 6)
1568 struct radius_attr_hdr *attr;
1577 attr = radius_get_attr_hdr(msg, i);
1578 if (attr == NULL ||
1579 attr->type != RADIUS_ATTR_TUNNEL_PASSWORD) {
1582 if (attr->length <= 5)
1584 data = (const u8 *) (attr + 1);
1585 dlen = attr->length - sizeof(*attr);
1667 os_free(c->attr[i].data);
1668 os_free(c->attr);
1669 c->attr = NULL;
1679 if (src->attr == NULL)
1682 dst->attr = os_calloc(src->count, sizeof(struct radius_attr_data));
1683 if (dst->attr == NULL)
1689 dst->attr[i].data = os_memdup(src->attr[i].data,
1690 src->attr[i].len);
1691 if (dst->attr[i].data == NULL)
1694 dst->attr[i].len = src->attr[i].len;
1704 struct radius_attr_hdr *attr;
1707 attr = radius_get_attr_hdr(msg, i);
1710 if (attr->type == attrs[j])
1715 return attr->type; /* unlisted attr */