Home | History | Annotate | Download | only in radius

Lines Matching refs:attr

260 	struct radius_attr_type *attr;
264 attr = radius_get_attr_type(hdr->type);
267 hdr->type, attr ? attr->name : "?Unknown?", hdr->length);
269 if (attr == NULL)
275 switch (attr->data_type) {
335 struct radius_attr_hdr *attr = radius_get_attr_hdr(msg, i);
336 radius_msg_dump_attr(attr);
346 struct radius_attr_hdr *attr;
349 attr = radius_msg_add_attr(msg,
352 if (attr == NULL) {
359 wpabuf_len(msg->buf), (u8 *) (attr + 1));
376 struct radius_attr_hdr *attr;
381 attr = radius_msg_add_attr(msg, RADIUS_ATTR_MESSAGE_AUTHENTICATOR,
383 if (attr == NULL) {
391 wpabuf_len(msg->buf), (u8 *) (attr + 1));
435 struct radius_attr_hdr *attr)
451 (unsigned char *) attr - wpabuf_head_u8(msg->buf);
461 struct radius_attr_hdr *attr;
469 buf_needed = sizeof(*attr) + data_len;
478 attr = wpabuf_put(msg->buf, sizeof(struct radius_attr_hdr));
479 attr->type = type;
480 attr->length = sizeof(*attr) + data_len;
483 if (radius_msg_add_attr_to_array(msg, attr))
486 return attr;
503 struct radius_attr_hdr *attr;
538 if ((size_t) (end - pos) < sizeof(*attr))
541 attr = (struct radius_attr_hdr *) pos;
543 if (pos + attr->length > end || attr->length < sizeof(*attr))
546 /* TODO: check that attr->length is suitable for attr->type */
548 if (radius_msg_add_attr_to_array(msg, attr))
551 pos += attr->length;
590 struct radius_attr_hdr *attr;
597 attr = radius_get_attr_hdr(msg, i);
598 if (attr->type == RADIUS_ATTR_EAP_MESSAGE)
599 len += attr->length - sizeof(struct radius_attr_hdr);
611 attr = radius_get_attr_hdr(msg, i);
612 if (attr->type == RADIUS_ATTR_EAP_MESSAGE) {
613 int flen = attr->length - sizeof(*attr);
614 os_memcpy(pos, attr + 1, flen);
631 struct radius_attr_hdr *attr = NULL, *tmp;
637 if (attr != NULL) {
642 attr = tmp;
646 attr == NULL) {
651 os_memcpy(orig, attr + 1, MD5_MAC_LEN);
652 os_memset(attr + 1, 0, MD5_MAC_LEN);
661 os_memcpy(attr + 1, orig, MD5_MAC_LEN);
716 struct radius_attr_hdr *attr;
721 attr = radius_get_attr_hdr(src, i);
722 if (attr->type == type) {
723 if (!radius_msg_add_attr(dst, type, (u8 *) (attr + 1),
724 attr->length - sizeof(*attr)))
774 struct radius_attr_hdr *attr = radius_get_attr_hdr(msg, i);
779 if (attr->type != RADIUS_ATTR_VENDOR_SPECIFIC)
782 left = attr->length - sizeof(*attr);
786 pos = (u8 *) (attr + 1);
1020 struct radius_attr_hdr *attr;
1049 attr = radius_msg_add_attr(msg, RADIUS_ATTR_VENDOR_SPECIFIC,
1052 if (attr == NULL) {
1074 attr = radius_msg_add_attr(msg, RADIUS_ATTR_VENDOR_SPECIFIC,
1077 if (attr == NULL) {
1142 struct radius_attr_hdr *attr = NULL, *tmp;
1148 attr = tmp;
1153 if (!attr)
1156 dlen = attr->length - sizeof(*attr);
1158 os_memcpy(buf, (attr + 1), dlen > len ? len : dlen);
1167 struct radius_attr_hdr *attr = NULL, *tmp;
1173 attr = tmp;
1178 if (!attr)
1181 *buf = (u8 *) (attr + 1);
1182 *len = attr->length - sizeof(*attr);
1193 struct radius_attr_hdr *attr = radius_get_attr_hdr(msg, i);
1194 if (attr->type == type &&
1195 attr->length >= sizeof(struct radius_attr_hdr) + min_len)
1220 struct radius_attr_hdr *attr = NULL;
1228 attr = radius_get_attr_hdr(msg, i);
1229 data = (const u8 *) (attr + 1);
1230 dlen = attr->length - sizeof(*attr);
1231 if (attr->length < 3)
1238 switch (attr->type) {
1240 if (attr->length != 6)
1246 if (attr->length != 6)
1285 os_free(c->attr[i].data);
1286 os_free(c->attr);
1287 c->attr = NULL;
1297 if (src->attr == NULL)
1300 dst->attr = os_zalloc(src->count * sizeof(struct radius_attr_data));
1301 if (dst->attr == NULL)
1307 dst->attr[i].data = os_malloc(src->attr[i].len);
1308 if (dst->attr[i].data == NULL)
1311 os_memcpy(dst->attr[i].data, src->attr[i].data,
1312 src->attr[i].len);
1313 dst->attr[i].len = src->attr[i].len;