Lines Matching refs:pos
24 const u8 *pos)
28 switch (pos[0]) {
31 if (pos[1] != 2 + EAP_SAKE_RAND_LEN) {
33 "invalid length %d", pos[1]);
36 attr->rand_s = pos + 2;
40 if (pos[1] != 2 + EAP_SAKE_RAND_LEN) {
42 "invalid length %d", pos[1]);
45 attr->rand_p = pos + 2;
49 if (pos[1] != 2 + EAP_SAKE_MIC_LEN) {
51 "invalid length %d", pos[1]);
54 attr->mic_s = pos + 2;
58 if (pos[1] != 2 + EAP_SAKE_MIC_LEN) {
60 "invalid length %d", pos[1]);
63 attr->mic_p = pos + 2;
67 attr->serverid = pos + 2;
68 attr->serverid_len = pos[1] - 2;
72 attr->peerid = pos + 2;
73 attr->peerid_len = pos[1] - 2;
77 attr->spi_s = pos + 2;
78 attr->spi_s_len = pos[1] - 2;
82 attr->spi_p = pos + 2;
83 attr->spi_p_len = pos[1] - 2;
87 if (pos[1] != 4) {
89 " length %d", pos[1]);
92 attr->any_id_req = pos + 2;
96 if (pos[1] != 4) {
98 "AT_PERM_ID_REQ length %d", pos[1]);
101 attr->perm_id_req = pos + 2;
105 attr->encr_data = pos + 2;
106 attr->encr_data_len = pos[1] - 2;
110 attr->iv = pos + 2;
111 attr->iv_len = pos[1] - 2;
115 for (i = 2; i < pos[1]; i++) {
116 if (pos[i]) {
125 attr->next_tmpid = pos + 2;
126 attr->next_tmpid_len = pos[1] - 2;
130 if (pos[1] != 6) {
132 "AT_MSK_LIFE length %d", pos[1]);
135 attr->msk_life = pos + 2;
138 if (pos[0] < 128) {
140 " attribute %d", pos[0]);
144 "attribute %d", pos[0]);
168 const u8 *pos = buf, *end = buf + len;
171 while (pos < end) {
172 if (end - pos < 2) {
177 if (pos[1] < 2) {
179 "length (%d)", pos[1]);
183 if (pos + pos[1] > end) {
188 if (eap_sake_parse_add_attr(attr, pos))
191 pos += pos[1];
219 size_t pos, plen;
234 pos = 0;
235 while (pos < buf_len) {
236 plen = buf_len - pos;
239 &buf[pos]);
240 pos += SHA1_MAC_LEN;
244 os_memcpy(&buf[pos], hash, plen);
329 u8 *tmp, *pos;
336 pos = tmp;
339 os_memcpy(pos, peerid, peerid_len);
340 pos += peerid_len;
342 *pos++ = 0x00;
344 os_memcpy(pos, serverid, serverid_len);
345 pos += serverid_len;
347 *pos++ = 0x00;
354 os_memcpy(pos, serverid, serverid_len);
355 pos += serverid_len;
357 *pos++ = 0x00;
359 os_memcpy(pos, peerid, peerid_len);
360 pos += peerid_len;
362 *pos++ = 0x00;
369 os_memcpy(pos, eap, eap_len);
370 os_memset(pos + (mic_pos - eap), 0, EAP_SAKE_MIC_LEN);