Lines Matching defs:data
27 void ClientHelloParser::Parse(const uint8_t* data, size_t avail) {
30 if (!ParseRecordHeader(data, avail))
34 ParseHeader(data, avail);
47 bool ClientHelloParser::ParseRecordHeader(const uint8_t* data, size_t avail) {
52 if (data[0] == kChangeCipherSpec ||
53 data[0] == kAlert ||
54 data[0] == kHandshake ||
55 data[0] == kApplicationData) {
56 frame_len_ = (data[3] << 8) + data[4];
75 void ClientHelloParser::ParseHeader(const uint8_t* data, size_t avail) {
95 if (data[body_offset_ + 4] != 0x03 ||
96 data[body_offset_ + 5] < 0x01 ||
97 data[body_offset_ + 5] > 0x03) {
101 if (data[body_offset_] == kClientHello) {
103 if (!ParseTLSClientHello(data, avail))
110 // Check if we overflowed (do not reply with any private data)
113 session_id_ + session_size_ > data + avail) {
129 const uint8_t* data,
133 // incoming data.
139 uint32_t server_names_len = (data[0] << 8) + data[1];
145 uint8_t name_type = data[offset];
148 uint16_t name_len = (data[offset + 1] << 8) + data[offset + 2];
152 servername_ = data + offset;
160 tls_ticket_ = data + len;
169 bool ClientHelloParser::ParseTLSClientHello(const uint8_t* data, size_t avail) {
172 // Skip frame header, hello header, protocol version and random data
178 body = data + session_offset;
189 (data[cipher_offset] << 8) + data[cipher_offset + 1];
196 uint8_t comp_len = data[comp_offset];
215 uint16_t ext_type = (data[ext_off] << 8) + data[ext_off + 1];
216 uint16_t ext_len = (data[ext_off + 2] << 8) + data[ext_off + 3];
224 data + ext_off,