diff options
Diffstat (limited to 'test/core/end2end/fixtures/h2_ssl.c')
-rw-r--r-- | test/core/end2end/fixtures/h2_ssl.c | 191 |
1 files changed, 91 insertions, 100 deletions
diff --git a/test/core/end2end/fixtures/h2_ssl.c b/test/core/end2end/fixtures/h2_ssl.c index 7752ff2703..9193a09b17 100644 --- a/test/core/end2end/fixtures/h2_ssl.c +++ b/test/core/end2end/fixtures/h2_ssl.c @@ -48,151 +48,142 @@ #include "test/core/util/port.h" #include "test/core/end2end/data/ssl_test_data.h" -typedef struct fullstack_secure_fixture_data -{ +typedef struct fullstack_secure_fixture_data { char *localaddr; } fullstack_secure_fixture_data; -static grpc_end2end_test_fixture -chttp2_create_fixture_secure_fullstack (grpc_channel_args * client_args, grpc_channel_args * server_args) -{ +static grpc_end2end_test_fixture chttp2_create_fixture_secure_fullstack( + grpc_channel_args *client_args, grpc_channel_args *server_args) { grpc_end2end_test_fixture f; - int port = grpc_pick_unused_port_or_die (); - fullstack_secure_fixture_data *ffd = gpr_malloc (sizeof (fullstack_secure_fixture_data)); - memset (&f, 0, sizeof (f)); + int port = grpc_pick_unused_port_or_die(); + fullstack_secure_fixture_data *ffd = + gpr_malloc(sizeof(fullstack_secure_fixture_data)); + memset(&f, 0, sizeof(f)); - gpr_join_host_port (&ffd->localaddr, "localhost", port); + gpr_join_host_port(&ffd->localaddr, "localhost", port); f.fixture_data = ffd; - f.cq = grpc_completion_queue_create (NULL); + f.cq = grpc_completion_queue_create(NULL); return f; } -static void -process_auth_failure (void *state, grpc_auth_context * ctx, const grpc_metadata * md, size_t md_count, grpc_process_auth_metadata_done_cb cb, void *user_data) -{ - GPR_ASSERT (state == NULL); - cb (user_data, NULL, 0, NULL, 0, GRPC_STATUS_UNAUTHENTICATED, NULL); +static void process_auth_failure(void *state, grpc_auth_context *ctx, + const grpc_metadata *md, size_t md_count, + grpc_process_auth_metadata_done_cb cb, + void *user_data) { + GPR_ASSERT(state == NULL); + cb(user_data, NULL, 0, NULL, 0, GRPC_STATUS_UNAUTHENTICATED, NULL); } -static void -chttp2_init_client_secure_fullstack (grpc_end2end_test_fixture * f, grpc_channel_args * client_args, grpc_credentials * creds) -{ +static void chttp2_init_client_secure_fullstack(grpc_end2end_test_fixture *f, + grpc_channel_args *client_args, + grpc_credentials *creds) { fullstack_secure_fixture_data *ffd = f->fixture_data; - f->client = grpc_secure_channel_create (creds, ffd->localaddr, client_args, NULL); - GPR_ASSERT (f->client != NULL); - grpc_credentials_release (creds); + f->client = + grpc_secure_channel_create(creds, ffd->localaddr, client_args, NULL); + GPR_ASSERT(f->client != NULL); + grpc_credentials_release(creds); } -static void -chttp2_init_server_secure_fullstack (grpc_end2end_test_fixture * f, grpc_channel_args * server_args, grpc_server_credentials * server_creds) -{ +static void chttp2_init_server_secure_fullstack( + grpc_end2end_test_fixture *f, grpc_channel_args *server_args, + grpc_server_credentials *server_creds) { fullstack_secure_fixture_data *ffd = f->fixture_data; - if (f->server) - { - grpc_server_destroy (f->server); - } - f->server = grpc_server_create (server_args, NULL); - grpc_server_register_completion_queue (f->server, f->cq, NULL); - GPR_ASSERT (grpc_server_add_secure_http2_port (f->server, ffd->localaddr, server_creds)); - grpc_server_credentials_release (server_creds); - grpc_server_start (f->server); + if (f->server) { + grpc_server_destroy(f->server); + } + f->server = grpc_server_create(server_args, NULL); + grpc_server_register_completion_queue(f->server, f->cq, NULL); + GPR_ASSERT(grpc_server_add_secure_http2_port(f->server, ffd->localaddr, + server_creds)); + grpc_server_credentials_release(server_creds); + grpc_server_start(f->server); } -void -chttp2_tear_down_secure_fullstack (grpc_end2end_test_fixture * f) -{ +void chttp2_tear_down_secure_fullstack(grpc_end2end_test_fixture *f) { fullstack_secure_fixture_data *ffd = f->fixture_data; - gpr_free (ffd->localaddr); - gpr_free (ffd); + gpr_free(ffd->localaddr); + gpr_free(ffd); } -static void -chttp2_init_client_simple_ssl_secure_fullstack (grpc_end2end_test_fixture * f, grpc_channel_args * client_args) -{ - grpc_credentials *ssl_creds = grpc_ssl_credentials_create (NULL, NULL, NULL); - grpc_arg ssl_name_override = { GRPC_ARG_STRING, - GRPC_SSL_TARGET_NAME_OVERRIDE_ARG, - {"foo.test.google.fr"} - }; - grpc_channel_args *new_client_args = grpc_channel_args_copy_and_add (client_args, &ssl_name_override, 1); - chttp2_init_client_secure_fullstack (f, new_client_args, ssl_creds); - grpc_channel_args_destroy (new_client_args); +static void chttp2_init_client_simple_ssl_secure_fullstack( + grpc_end2end_test_fixture *f, grpc_channel_args *client_args) { + grpc_credentials *ssl_creds = grpc_ssl_credentials_create(NULL, NULL, NULL); + grpc_arg ssl_name_override = {GRPC_ARG_STRING, + GRPC_SSL_TARGET_NAME_OVERRIDE_ARG, + {"foo.test.google.fr"}}; + grpc_channel_args *new_client_args = + grpc_channel_args_copy_and_add(client_args, &ssl_name_override, 1); + chttp2_init_client_secure_fullstack(f, new_client_args, ssl_creds); + grpc_channel_args_destroy(new_client_args); } -static int -fail_server_auth_check (grpc_channel_args * server_args) -{ +static int fail_server_auth_check(grpc_channel_args *server_args) { size_t i; - if (server_args == NULL) - return 0; - for (i = 0; i < server_args->num_args; i++) - { - if (strcmp (server_args->args[i].key, FAIL_AUTH_CHECK_SERVER_ARG_NAME) == 0) - { - return 1; - } + if (server_args == NULL) return 0; + for (i = 0; i < server_args->num_args; i++) { + if (strcmp(server_args->args[i].key, FAIL_AUTH_CHECK_SERVER_ARG_NAME) == + 0) { + return 1; } + } return 0; } -static void -chttp2_init_server_simple_ssl_secure_fullstack (grpc_end2end_test_fixture * f, grpc_channel_args * server_args) -{ - grpc_ssl_pem_key_cert_pair pem_cert_key_pair = { test_server1_key, - test_server1_cert - }; - grpc_server_credentials *ssl_creds = grpc_ssl_server_credentials_create (NULL, &pem_cert_key_pair, 1, 0, NULL); - if (fail_server_auth_check (server_args)) - { - grpc_auth_metadata_processor processor = { process_auth_failure, NULL, NULL }; - grpc_server_credentials_set_auth_metadata_processor (ssl_creds, processor); - } - chttp2_init_server_secure_fullstack (f, server_args, ssl_creds); +static void chttp2_init_server_simple_ssl_secure_fullstack( + grpc_end2end_test_fixture *f, grpc_channel_args *server_args) { + grpc_ssl_pem_key_cert_pair pem_cert_key_pair = {test_server1_key, + test_server1_cert}; + grpc_server_credentials *ssl_creds = + grpc_ssl_server_credentials_create(NULL, &pem_cert_key_pair, 1, 0, NULL); + if (fail_server_auth_check(server_args)) { + grpc_auth_metadata_processor processor = {process_auth_failure, NULL, NULL}; + grpc_server_credentials_set_auth_metadata_processor(ssl_creds, processor); + } + chttp2_init_server_secure_fullstack(f, server_args, ssl_creds); } /* All test configurations */ static grpc_end2end_test_config configs[] = { - {"chttp2/simple_ssl_fullstack", - FEATURE_MASK_SUPPORTS_DELAYED_CONNECTION | FEATURE_MASK_SUPPORTS_HOSTNAME_VERIFICATION | FEATURE_MASK_SUPPORTS_PER_CALL_CREDENTIALS, - chttp2_create_fixture_secure_fullstack, - chttp2_init_client_simple_ssl_secure_fullstack, - chttp2_init_server_simple_ssl_secure_fullstack, - chttp2_tear_down_secure_fullstack}, + {"chttp2/simple_ssl_fullstack", + FEATURE_MASK_SUPPORTS_DELAYED_CONNECTION | + FEATURE_MASK_SUPPORTS_HOSTNAME_VERIFICATION | + FEATURE_MASK_SUPPORTS_PER_CALL_CREDENTIALS, + chttp2_create_fixture_secure_fullstack, + chttp2_init_client_simple_ssl_secure_fullstack, + chttp2_init_server_simple_ssl_secure_fullstack, + chttp2_tear_down_secure_fullstack}, }; -int -main (int argc, char **argv) -{ +int main(int argc, char **argv) { size_t i; FILE *roots_file; - size_t roots_size = strlen (test_root_cert); + size_t roots_size = strlen(test_root_cert); char *roots_filename; - grpc_test_init (argc, argv); + grpc_test_init(argc, argv); /* Set the SSL roots env var. */ - roots_file = gpr_tmpfile ("chttp2_simple_ssl_fullstack_test", &roots_filename); - GPR_ASSERT (roots_filename != NULL); - GPR_ASSERT (roots_file != NULL); - GPR_ASSERT (fwrite (test_root_cert, 1, roots_size, roots_file) == roots_size); - fclose (roots_file); - gpr_setenv (GRPC_DEFAULT_SSL_ROOTS_FILE_PATH_ENV_VAR, roots_filename); - - grpc_init (); - - for (i = 0; i < sizeof (configs) / sizeof (*configs); i++) - { - grpc_end2end_tests (configs[i]); - } + roots_file = gpr_tmpfile("chttp2_simple_ssl_fullstack_test", &roots_filename); + GPR_ASSERT(roots_filename != NULL); + GPR_ASSERT(roots_file != NULL); + GPR_ASSERT(fwrite(test_root_cert, 1, roots_size, roots_file) == roots_size); + fclose(roots_file); + gpr_setenv(GRPC_DEFAULT_SSL_ROOTS_FILE_PATH_ENV_VAR, roots_filename); + + grpc_init(); + + for (i = 0; i < sizeof(configs) / sizeof(*configs); i++) { + grpc_end2end_tests(configs[i]); + } - grpc_shutdown (); + grpc_shutdown(); /* Cleanup. */ - remove (roots_filename); - gpr_free (roots_filename); + remove(roots_filename); + gpr_free(roots_filename); return 0; } |