Lines Matching full:buffers
47 struct PAC_INFO_BUFFER buffers[1]; member
125 krb5_set_error_message(context, ret, "PAC has too many buffers"); in pac_header_size()
133 krb5_set_error_message(context, ret, "PAC has too many buffers"); in pac_header_size()
194 ret = EINVAL; /* Too few buffers */ in krb5_pac_parse()
226 CHECK(ret, krb5_ret_uint32(sp, &p->pac->buffers[i].type), out); in krb5_pac_parse()
227 CHECK(ret, krb5_ret_uint32(sp, &p->pac->buffers[i].buffersize), out); in krb5_pac_parse()
228 CHECK(ret, krb5_ret_uint32(sp, &p->pac->buffers[i].offset_lo), out); in krb5_pac_parse()
229 CHECK(ret, krb5_ret_uint32(sp, &p->pac->buffers[i].offset_hi), out); in krb5_pac_parse()
232 if (p->pac->buffers[i].offset_lo & (PAC_ALIGNMENT - 1)) { in krb5_pac_parse()
238 if (p->pac->buffers[i].offset_hi) { in krb5_pac_parse()
244 if (p->pac->buffers[i].offset_lo > len) { in krb5_pac_parse()
250 if (p->pac->buffers[i].offset_lo < header_end) { in krb5_pac_parse()
254 (unsigned long)p->pac->buffers[i].offset_lo, in krb5_pac_parse()
258 if (p->pac->buffers[i].buffersize > len - p->pac->buffers[i].offset_lo){ in krb5_pac_parse()
265 if (p->pac->buffers[i].type == PAC_SERVER_CHECKSUM) { in krb5_pac_parse()
272 p->server_checksum = &p->pac->buffers[i]; in krb5_pac_parse()
273 } else if (p->pac->buffers[i].type == PAC_PRIVSVR_CHECKSUM) { in krb5_pac_parse()
280 p->privsvr_checksum = &p->pac->buffers[i]; in krb5_pac_parse()
281 } else if (p->pac->buffers[i].type == PAC_LOGON_NAME) { in krb5_pac_parse()
288 p->logon_name = &p->pac->buffers[i]; in krb5_pac_parse()
376 if (p->pac->buffers[i].offset_lo > UINT32_MAX - PAC_INFO_BUFFER_SIZE) { in krb5_pac_add_buffer()
382 p->pac->buffers[i].offset_lo += PAC_INFO_BUFFER_SIZE; in krb5_pac_add_buffer()
392 p->pac->buffers[num_buffers].type = type; in krb5_pac_add_buffer()
393 p->pac->buffers[num_buffers].buffersize = data->length; in krb5_pac_add_buffer()
394 p->pac->buffers[num_buffers].offset_lo = offset; in krb5_pac_add_buffer()
395 p->pac->buffers[num_buffers].offset_hi = 0; in krb5_pac_add_buffer()
459 const uint32_t len = p->pac->buffers[i].buffersize; in krb5_pac_get_buffer()
460 const uint32_t offset = p->pac->buffers[i].offset_lo; in krb5_pac_get_buffer()
462 if (p->pac->buffers[i].type != type) in krb5_pac_get_buffer()
495 (*types)[i] = p->pac->buffers[i].type; in krb5_pac_get_types()
1080 p->logon_name = &p->pac->buffers[p->pac->numbuffers++]; in _krb5_pac_sign()
1085 p->server_checksum = &p->pac->buffers[p->pac->numbuffers++]; in _krb5_pac_sign()
1090 p->privsvr_checksum = &p->pac->buffers[p->pac->numbuffers++]; in _krb5_pac_sign()
1137 if (p->pac->buffers[i].type == PAC_SERVER_CHECKSUM) { in _krb5_pac_sign()
1152 } else if (p->pac->buffers[i].type == PAC_PRIVSVR_CHECKSUM) { in _krb5_pac_sign()
1167 } else if (p->pac->buffers[i].type == PAC_LOGON_NAME) { in _krb5_pac_sign()
1174 len = p->pac->buffers[i].buffersize; in _krb5_pac_sign()
1175 ptr = (char *)p->data.data + p->pac->buffers[i].offset_lo; in _krb5_pac_sign()
1186 CHECK(ret, krb5_store_uint32(sp, p->pac->buffers[i].type), out); in _krb5_pac_sign()