64 args->handshake_buffer_size =
fixture->handshake_buffer_size;
65 args->handshake_buffer =
66 static_cast<unsigned char*
>(
gpr_zalloc(
args->handshake_buffer_size));
67 args->is_client = is_client;
94 const unsigned char*
bytes =
nullptr;
95 size_t bytes_size = 0;
97 result_with_unused_bytes, &
bytes, &bytes_size) ==
TSI_OK);
101 result_without_unused_bytes, &
bytes, &bytes_size) ==
TSI_OK);
113 if (
fixture->test_unused_bytes) {
115 if (
fixture->server_result !=
nullptr &&
116 fixture->client_result !=
nullptr) {
119 channel->bytes_written_to_server_channel = 0;
120 channel->bytes_written_to_client_channel = 0;
121 channel->bytes_read_from_client_channel = 0;
122 channel->bytes_read_from_server_channel = 0;
127 const unsigned char*
buf,
size_t buf_size,
148 if (
fixture->test_unused_bytes && !
args->appended_unused_bytes) {
149 args->appended_unused_bytes =
true;
154 if (
fixture->client_result !=
nullptr &&
155 fixture->server_result ==
nullptr) {
156 fixture->has_client_finished_first =
true;
162 unsigned char**
buf,
size_t* buf_size,
194 unsigned char* protected_buffer =
196 size_t message_size =
197 is_client ?
config->client_message_size :
config->server_message_size;
199 is_client ?
config->client_message :
config->server_message;
201 const unsigned char* message_bytes =
202 reinterpret_cast<unsigned char*
>(
message);
206 size_t protected_buffer_size_to_send =
config->protected_buffer_size;
207 size_t processed_message_size = message_size;
210 protector, message_bytes, &processed_message_size, protected_buffer,
211 &protected_buffer_size_to_send);
216 message_bytes += processed_message_size;
217 message_size -= processed_message_size;
219 if (message_size == 0) {
220 size_t still_pending_size;
222 protected_buffer_size_to_send =
config->protected_buffer_size;
224 protector, protected_buffer, &protected_buffer_size_to_send,
225 &still_pending_size);
228 protected_buffer_size_to_send, is_client);
247 size_t read_offset = 0;
248 size_t message_offset = 0;
249 size_t read_from_peer_size = 0;
252 unsigned char* read_buffer =
static_cast<unsigned char*
>(
254 unsigned char* message_buffer =
static_cast<unsigned char*
>(
259 if (read_from_peer_size == 0) {
260 read_from_peer_size =
config->read_buffer_allocated_size;
265 if (read_from_peer_size == 0) {
269 size_t message_buffer_size;
271 message_buffer_size =
config->message_buffer_allocated_size;
272 size_t processed_size = read_from_peer_size;
274 protector, read_buffer + read_offset, &processed_size, message_buffer,
275 &message_buffer_size);
277 if (message_buffer_size > 0) {
278 memcpy(
message + message_offset, message_buffer, message_buffer_size);
279 message_offset += message_buffer_size;
281 read_offset += processed_size;
282 read_from_peer_size -= processed_size;
283 }
while ((read_from_peer_size > 0 || message_buffer_size > 0) &&
313 if (handshaker_result !=
nullptr) {
317 *result_to_write = handshaker_result;
320 if (bytes_to_send_size > 0) {
323 args->transferred_data =
true;
325 if (handshaker_result !=
nullptr) {
337 bytes_to_send_size, handshaker_result);
344 return (
args->is_client &&
fixture->client_result !=
nullptr) ||
345 (!
args->is_client &&
fixture->server_result !=
nullptr);
359 unsigned char* bytes_to_send =
nullptr;
360 size_t bytes_to_send_size = 0;
364 size_t buf_size =
args->handshake_buffer_size;
366 &buf_size,
args->is_client);
368 args->transferred_data =
true;
372 handshaker,
args->handshake_buffer, buf_size,
373 const_cast<const unsigned char**
>(&bytes_to_send), &bytes_to_send_size,
377 result,
args, bytes_to_send, bytes_to_send_size, handshaker_result);
406 }
while (
fixture->client_result ==
nullptr ||
407 fixture->server_result ==
nullptr);
421 GPR_ASSERT(client_frame_protector !=
nullptr);
422 GPR_ASSERT(server_frame_protector !=
nullptr);
426 unsigned char* server_received_message =
428 size_t server_received_message_size = 0;
430 config,
channel, server_frame_protector, server_received_message,
431 &server_received_message_size,
false );
434 server_received_message_size) == 0);
438 unsigned char* client_received_message =
440 size_t client_received_message_size = 0;
442 config,
channel, client_frame_protector, client_received_message,
443 &client_received_message_size,
true );
446 client_received_message_size) == 0);
455 fixture->client_frame_protector,
456 fixture->server_frame_protector);
469 size_t client_max_output_protected_frame_size =
470 config->client_max_output_protected_frame_size;
473 client_max_output_protected_frame_size == 0
475 : &client_max_output_protected_frame_size,
476 &client_frame_protector) ==
TSI_OK);
477 size_t server_max_output_protected_frame_size =
478 config->server_max_output_protected_frame_size;
481 server_max_output_protected_frame_size == 0
483 : &server_max_output_protected_frame_size,
484 &server_frame_protector) ==
TSI_OK);
486 server_frame_protector);
494 unsigned char chars[] =
"abcdefghijklmnopqrstuvwxyz1234567890";
496 static_cast<unsigned char*
>(
gpr_zalloc(
sizeof(
unsigned char) *
size));
497 for (
i = 0;
i <
size - 1; ++
i) {
498 output[
i] = chars[rand() %
static_cast<int>(
sizeof(chars) - 1)];
504 bool use_default_read_buffer_allocated_size,
505 bool use_default_message_buffer_allocated_size,
506 bool use_default_protected_buffer_size,
bool use_default_client_message,
507 bool use_default_server_message,
508 bool use_default_client_max_output_protected_frame_size,
509 bool use_default_server_max_output_protected_frame_size) {
514 config->read_buffer_allocated_size =
515 use_default_read_buffer_allocated_size
519 config->message_buffer_allocated_size =
520 use_default_message_buffer_allocated_size
524 config->protected_buffer_size = use_default_protected_buffer_size
528 config->client_message_size = use_default_client_message
532 use_default_client_message
536 config->server_message_size = use_default_server_message
540 use_default_server_message
546 config->client_max_output_protected_frame_size =
547 use_default_client_max_output_protected_frame_size
553 config->server_max_output_protected_frame_size =
554 use_default_server_max_output_protected_frame_size
562 size_t message_buffer_allocated_size,
size_t protected_buffer_size,
563 size_t client_max_output_protected_frame_size,
564 size_t server_max_output_protected_frame_size) {
566 config->read_buffer_allocated_size = read_buffer_allocated_size;
567 config->message_buffer_allocated_size = message_buffer_allocated_size;
568 config->protected_buffer_size = protected_buffer_size;
569 config->client_max_output_protected_frame_size =
570 client_max_output_protected_frame_size;
571 config->server_max_output_protected_frame_size =
572 server_max_output_protected_frame_size;
591 channel->bytes_written_to_client_channel = 0;
592 channel->bytes_written_to_server_channel = 0;
593 channel->bytes_read_from_client_channel = 0;
594 channel->bytes_read_from_server_channel = 0;
610 true,
true,
true,
true,
true,
true,
true);
613 fixture->test_unused_bytes =
true;
614 fixture->has_client_finished_first =
false;
642 true,
true,
true,
true,
true,
true,
true);
652 fixture->client_frame_protector = client_frame_protector;
653 fixture->server_frame_protector = server_frame_protector;