aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/core
diff options
context:
space:
mode:
authorGravatar Craig Tiller <craig.tiller@gmail.com>2015-02-24 21:11:26 -0800
committerGravatar Craig Tiller <craig.tiller@gmail.com>2015-02-24 21:11:26 -0800
commit36ccead4039872e02b85f6c99e899fc9739bc743 (patch)
tree5863090ab020415d9fada86bc96c279bdac08df8 /test/core
parent783eddfd6b56a9d13c31fc41b38c15fd4d71ab59 (diff)
parent0170a6c662337a1d9c741fa466d3a26723f2d5cf (diff)
Merge pull request #735 from jboeuf/fix_ssl_san
Verifying the peer name on the X509 Certs correctly.
Diffstat (limited to 'test/core')
-rw-r--r--test/core/end2end/dualstack_socket_test.c4
-rw-r--r--test/core/end2end/fixtures/chttp2_simple_ssl_fullstack.c2
-rw-r--r--test/core/end2end/fixtures/chttp2_simple_ssl_with_oauth2_fullstack.c2
-rw-r--r--test/core/end2end/tests/cancel_after_accept.c2
-rw-r--r--test/core/end2end/tests/cancel_after_accept_and_writes_closed.c4
-rw-r--r--test/core/end2end/tests/cancel_after_accept_and_writes_closed_legacy.c4
-rw-r--r--test/core/end2end/tests/cancel_after_accept_legacy.c4
-rw-r--r--test/core/end2end/tests/cancel_after_invoke.c2
-rw-r--r--test/core/end2end/tests/cancel_after_invoke_legacy.c2
-rw-r--r--test/core/end2end/tests/cancel_before_invoke.c2
-rw-r--r--test/core/end2end/tests/cancel_before_invoke_legacy.c2
-rw-r--r--test/core/end2end/tests/cancel_in_a_vacuum.c2
-rw-r--r--test/core/end2end/tests/cancel_in_a_vacuum_legacy.c2
-rw-r--r--test/core/end2end/tests/census_simple_request.c4
-rw-r--r--test/core/end2end/tests/census_simple_request_legacy.c4
-rw-r--r--test/core/end2end/tests/disappearing_server.c4
-rw-r--r--test/core/end2end/tests/disappearing_server_legacy.c4
-rw-r--r--test/core/end2end/tests/early_server_shutdown_finishes_inflight_calls.c4
-rw-r--r--test/core/end2end/tests/early_server_shutdown_finishes_inflight_calls_legacy.c4
-rw-r--r--test/core/end2end/tests/empty_batch.c2
-rw-r--r--test/core/end2end/tests/graceful_server_shutdown.c4
-rw-r--r--test/core/end2end/tests/graceful_server_shutdown_legacy.c4
-rw-r--r--test/core/end2end/tests/invoke_large_request.c4
-rw-r--r--test/core/end2end/tests/invoke_large_request_legacy.c4
-rw-r--r--test/core/end2end/tests/max_concurrent_streams.c12
-rw-r--r--test/core/end2end/tests/max_concurrent_streams_legacy.c12
-rw-r--r--test/core/end2end/tests/ping_pong_streaming.c4
-rw-r--r--test/core/end2end/tests/ping_pong_streaming_legacy.c4
-rw-r--r--test/core/end2end/tests/request_response_with_binary_metadata_and_payload.c4
-rw-r--r--test/core/end2end/tests/request_response_with_binary_metadata_and_payload_legacy.c4
-rw-r--r--test/core/end2end/tests/request_response_with_metadata_and_payload.c4
-rw-r--r--test/core/end2end/tests/request_response_with_metadata_and_payload_legacy.c4
-rw-r--r--test/core/end2end/tests/request_response_with_payload.c4
-rw-r--r--test/core/end2end/tests/request_response_with_payload_legacy.c4
-rw-r--r--test/core/end2end/tests/request_response_with_trailing_metadata_and_payload.c4
-rw-r--r--test/core/end2end/tests/request_response_with_trailing_metadata_and_payload_legacy.c4
-rw-r--r--test/core/end2end/tests/request_with_large_metadata.c4
-rw-r--r--test/core/end2end/tests/request_with_large_metadata_legacy.c4
-rw-r--r--test/core/end2end/tests/request_with_payload.c4
-rw-r--r--test/core/end2end/tests/request_with_payload_legacy.c4
-rw-r--r--test/core/end2end/tests/simple_delayed_request.c4
-rw-r--r--test/core/end2end/tests/simple_delayed_request_legacy.c4
-rw-r--r--test/core/end2end/tests/simple_request.c4
-rw-r--r--test/core/end2end/tests/simple_request_legacy.c8
-rw-r--r--test/core/end2end/tests/thread_stress.c2
-rw-r--r--test/core/end2end/tests/thread_stress_legacy.c2
-rw-r--r--test/core/end2end/tests/writes_done_hangs_with_pending_read.c4
-rw-r--r--test/core/end2end/tests/writes_done_hangs_with_pending_read_legacy.c4
-rw-r--r--test/core/tsi/transport_security_test.c303
49 files changed, 397 insertions, 94 deletions
diff --git a/test/core/end2end/dualstack_socket_test.c b/test/core/end2end/dualstack_socket_test.c
index 2c4c3b7746..62676d01e0 100644
--- a/test/core/end2end/dualstack_socket_test.c
+++ b/test/core/end2end/dualstack_socket_test.c
@@ -112,7 +112,7 @@ void test_connect(const char *server_host, const char *client_host, int port,
}
/* Send a trivial request. */
- c = grpc_channel_create_call_old(client, "/foo", "foo.test.google.com",
+ c = grpc_channel_create_call_old(client, "/foo", "foo.test.google.fr",
deadline);
GPR_ASSERT(c);
@@ -126,7 +126,7 @@ void test_connect(const char *server_host, const char *client_host, int port,
GPR_ASSERT(GRPC_CALL_OK == grpc_server_request_call_old(server, tag(100)));
cq_expect_server_rpc_new(v_server, &s, tag(100), "/foo",
- "foo.test.google.com", deadline, NULL);
+ "foo.test.google.fr", deadline, NULL);
cq_verify(v_server);
GPR_ASSERT(GRPC_CALL_OK ==
diff --git a/test/core/end2end/fixtures/chttp2_simple_ssl_fullstack.c b/test/core/end2end/fixtures/chttp2_simple_ssl_fullstack.c
index 1db9e727b8..9343eb5a42 100644
--- a/test/core/end2end/fixtures/chttp2_simple_ssl_fullstack.c
+++ b/test/core/end2end/fixtures/chttp2_simple_ssl_fullstack.c
@@ -105,7 +105,7 @@ static void chttp2_init_client_simple_ssl_secure_fullstack(
grpc_ssl_credentials_create(NULL, NULL);
grpc_arg ssl_name_override = {GRPC_ARG_STRING,
GRPC_SSL_TARGET_NAME_OVERRIDE_ARG,
- {"foo.test.google.com"}};
+ {"foo.test.google.fr"}};
grpc_channel_args *new_client_args =
grpc_channel_args_copy_and_add(client_args, &ssl_name_override);
chttp2_init_client_secure_fullstack(f, new_client_args, ssl_creds);
diff --git a/test/core/end2end/fixtures/chttp2_simple_ssl_with_oauth2_fullstack.c b/test/core/end2end/fixtures/chttp2_simple_ssl_with_oauth2_fullstack.c
index 35e022c494..9fb95c95d9 100644
--- a/test/core/end2end/fixtures/chttp2_simple_ssl_with_oauth2_fullstack.c
+++ b/test/core/end2end/fixtures/chttp2_simple_ssl_with_oauth2_fullstack.c
@@ -107,7 +107,7 @@ static void chttp2_init_client_simple_ssl_with_oauth2_secure_fullstack(
grpc_composite_credentials_create(ssl_creds, oauth2_creds);
grpc_arg ssl_name_override = {GRPC_ARG_STRING,
GRPC_SSL_TARGET_NAME_OVERRIDE_ARG,
- {"foo.test.google.com"}};
+ {"foo.test.google.fr"}};
grpc_channel_args *new_client_args =
grpc_channel_args_copy_and_add(client_args, &ssl_name_override);
chttp2_init_client_secure_fullstack(f, new_client_args, ssl_oauth2_creds);
diff --git a/test/core/end2end/tests/cancel_after_accept.c b/test/core/end2end/tests/cancel_after_accept.c
index faaa14727c..1aeb723553 100644
--- a/test/core/end2end/tests/cancel_after_accept.c
+++ b/test/core/end2end/tests/cancel_after_accept.c
@@ -132,7 +132,7 @@ static void test_cancel_after_accept(grpc_end2end_test_config config,
int was_cancelled = 2;
c = grpc_channel_create_call(f.client, f.client_cq, "/foo",
- "foo.test.google.com", deadline);
+ "foo.test.google.fr", deadline);
GPR_ASSERT(c);
grpc_metadata_array_init(&initial_metadata_recv);
diff --git a/test/core/end2end/tests/cancel_after_accept_and_writes_closed.c b/test/core/end2end/tests/cancel_after_accept_and_writes_closed.c
index c6fb8b3ea2..a69f86a327 100644
--- a/test/core/end2end/tests/cancel_after_accept_and_writes_closed.c
+++ b/test/core/end2end/tests/cancel_after_accept_and_writes_closed.c
@@ -113,7 +113,7 @@ static void test_cancel_after_accept_and_writes_closed(
cq_verifier *v_client = cq_verifier_create(f.client_cq);
cq_verifier *v_server = cq_verifier_create(f.server_cq);
- c = grpc_channel_create_call_old(f.client, "/foo", "foo.test.google.com",
+ c = grpc_channel_create_call_old(f.client, "/foo", "foo.test.google.fr",
deadline);
GPR_ASSERT(c);
@@ -122,7 +122,7 @@ static void test_cancel_after_accept_and_writes_closed(
GPR_ASSERT(GRPC_CALL_OK == grpc_server_request_call_old(f.server, tag(100)));
cq_expect_server_rpc_new(v_server, &s, tag(100), "/foo",
- "foo.test.google.com", deadline, NULL);
+ "foo.test.google.fr", deadline, NULL);
cq_verify(v_server);
GPR_ASSERT(GRPC_CALL_OK ==
diff --git a/test/core/end2end/tests/cancel_after_accept_and_writes_closed_legacy.c b/test/core/end2end/tests/cancel_after_accept_and_writes_closed_legacy.c
index 85b7599b19..6a3a6528b9 100644
--- a/test/core/end2end/tests/cancel_after_accept_and_writes_closed_legacy.c
+++ b/test/core/end2end/tests/cancel_after_accept_and_writes_closed_legacy.c
@@ -113,7 +113,7 @@ static void test_cancel_after_accept_and_writes_closed(
cq_verifier *v_client = cq_verifier_create(f.client_cq);
cq_verifier *v_server = cq_verifier_create(f.server_cq);
- c = grpc_channel_create_call_old(f.client, "/foo", "foo.test.google.com",
+ c = grpc_channel_create_call_old(f.client, "/foo", "foo.test.google.fr",
deadline);
GPR_ASSERT(c);
@@ -121,7 +121,7 @@ static void test_cancel_after_accept_and_writes_closed(
grpc_call_invoke_old(c, f.client_cq, tag(2), tag(3), 0));
GPR_ASSERT(GRPC_CALL_OK == grpc_server_request_call_old(f.server, tag(100)));
- cq_expect_server_rpc_new(v_server, &s, tag(100), "/foo", "foo.test.google.com",
+ cq_expect_server_rpc_new(v_server, &s, tag(100), "/foo", "foo.test.google.fr",
deadline, NULL);
cq_verify(v_server);
diff --git a/test/core/end2end/tests/cancel_after_accept_legacy.c b/test/core/end2end/tests/cancel_after_accept_legacy.c
index 345c31d31f..15338b5c7a 100644
--- a/test/core/end2end/tests/cancel_after_accept_legacy.c
+++ b/test/core/end2end/tests/cancel_after_accept_legacy.c
@@ -113,7 +113,7 @@ static void test_cancel_after_accept(grpc_end2end_test_config config,
cq_verifier *v_client = cq_verifier_create(f.client_cq);
cq_verifier *v_server = cq_verifier_create(f.server_cq);
- c = grpc_channel_create_call_old(f.client, "/foo", "foo.test.google.com",
+ c = grpc_channel_create_call_old(f.client, "/foo", "foo.test.google.fr",
deadline);
GPR_ASSERT(c);
@@ -121,7 +121,7 @@ static void test_cancel_after_accept(grpc_end2end_test_config config,
grpc_call_invoke_old(c, f.client_cq, tag(2), tag(3), 0));
GPR_ASSERT(GRPC_CALL_OK == grpc_server_request_call_old(f.server, tag(100)));
- cq_expect_server_rpc_new(v_server, &s, tag(100), "/foo", "foo.test.google.com",
+ cq_expect_server_rpc_new(v_server, &s, tag(100), "/foo", "foo.test.google.fr",
deadline, NULL);
cq_verify(v_server);
diff --git a/test/core/end2end/tests/cancel_after_invoke.c b/test/core/end2end/tests/cancel_after_invoke.c
index 3c75024922..71d241ffee 100644
--- a/test/core/end2end/tests/cancel_after_invoke.c
+++ b/test/core/end2end/tests/cancel_after_invoke.c
@@ -125,7 +125,7 @@ static void test_cancel_after_invoke(grpc_end2end_test_config config,
grpc_byte_buffer_create(&request_payload_slice, 1);
c = grpc_channel_create_call(f.client, f.client_cq, "/foo",
- "foo.test.google.com", deadline);
+ "foo.test.google.fr", deadline);
GPR_ASSERT(c);
grpc_metadata_array_init(&initial_metadata_recv);
diff --git a/test/core/end2end/tests/cancel_after_invoke_legacy.c b/test/core/end2end/tests/cancel_after_invoke_legacy.c
index 64af7cd3db..092b35d0a9 100644
--- a/test/core/end2end/tests/cancel_after_invoke_legacy.c
+++ b/test/core/end2end/tests/cancel_after_invoke_legacy.c
@@ -111,7 +111,7 @@ static void test_cancel_after_invoke(grpc_end2end_test_config config,
gpr_timespec deadline = five_seconds_time();
cq_verifier *v_client = cq_verifier_create(f.client_cq);
- c = grpc_channel_create_call_old(f.client, "/foo", "foo.test.google.com",
+ c = grpc_channel_create_call_old(f.client, "/foo", "foo.test.google.fr",
deadline);
GPR_ASSERT(c);
diff --git a/test/core/end2end/tests/cancel_before_invoke.c b/test/core/end2end/tests/cancel_before_invoke.c
index bee6dd2e7b..0ab9ac6c2f 100644
--- a/test/core/end2end/tests/cancel_before_invoke.c
+++ b/test/core/end2end/tests/cancel_before_invoke.c
@@ -123,7 +123,7 @@ static void test_cancel_before_invoke(grpc_end2end_test_config config, int test_
grpc_byte_buffer_create(&request_payload_slice, 1);
c = grpc_channel_create_call(f.client, f.client_cq, "/foo",
- "foo.test.google.com", deadline);
+ "foo.test.google.fr", deadline);
GPR_ASSERT(c);
GPR_ASSERT(GRPC_CALL_OK == grpc_call_cancel(c));
diff --git a/test/core/end2end/tests/cancel_before_invoke_legacy.c b/test/core/end2end/tests/cancel_before_invoke_legacy.c
index 23e82cf268..0c308acde0 100644
--- a/test/core/end2end/tests/cancel_before_invoke_legacy.c
+++ b/test/core/end2end/tests/cancel_before_invoke_legacy.c
@@ -109,7 +109,7 @@ static void test_cancel_before_invoke(grpc_end2end_test_config config) {
gpr_timespec deadline = five_seconds_time();
cq_verifier *v_client = cq_verifier_create(f.client_cq);
- c = grpc_channel_create_call_old(f.client, "/foo", "foo.test.google.com",
+ c = grpc_channel_create_call_old(f.client, "/foo", "foo.test.google.fr",
deadline);
GPR_ASSERT(c);
diff --git a/test/core/end2end/tests/cancel_in_a_vacuum.c b/test/core/end2end/tests/cancel_in_a_vacuum.c
index 8228353b09..6cb87525d0 100644
--- a/test/core/end2end/tests/cancel_in_a_vacuum.c
+++ b/test/core/end2end/tests/cancel_in_a_vacuum.c
@@ -110,7 +110,7 @@ static void test_cancel_in_a_vacuum(grpc_end2end_test_config config,
cq_verifier *v_client = cq_verifier_create(f.client_cq);
c = grpc_channel_create_call(f.client, f.client_cq, "/foo",
- "foo.test.google.com", deadline);
+ "foo.test.google.fr", deadline);
GPR_ASSERT(c);
GPR_ASSERT(GRPC_CALL_OK == mode.initiate_cancel(c));
diff --git a/test/core/end2end/tests/cancel_in_a_vacuum_legacy.c b/test/core/end2end/tests/cancel_in_a_vacuum_legacy.c
index 869f091180..cc6297b133 100644
--- a/test/core/end2end/tests/cancel_in_a_vacuum_legacy.c
+++ b/test/core/end2end/tests/cancel_in_a_vacuum_legacy.c
@@ -109,7 +109,7 @@ static void test_cancel_in_a_vacuum(grpc_end2end_test_config config,
gpr_timespec deadline = five_seconds_time();
cq_verifier *v_client = cq_verifier_create(f.client_cq);
- c = grpc_channel_create_call_old(f.client, "/foo", "foo.test.google.com",
+ c = grpc_channel_create_call_old(f.client, "/foo", "foo.test.google.fr",
deadline);
GPR_ASSERT(c);
diff --git a/test/core/end2end/tests/census_simple_request.c b/test/core/end2end/tests/census_simple_request.c
index 003a8bef9b..98244db541 100644
--- a/test/core/end2end/tests/census_simple_request.c
+++ b/test/core/end2end/tests/census_simple_request.c
@@ -106,7 +106,7 @@ static void test_body(grpc_end2end_test_fixture f) {
cq_verifier *v_client = cq_verifier_create(f.client_cq);
cq_verifier *v_server = cq_verifier_create(f.server_cq);
- c = grpc_channel_create_call_old(f.client, "/foo", "foo.test.google.com",
+ c = grpc_channel_create_call_old(f.client, "/foo", "foo.test.google.fr",
deadline);
GPR_ASSERT(c);
tag(1);
@@ -118,7 +118,7 @@ static void test_body(grpc_end2end_test_fixture f) {
cq_verify(v_client);
GPR_ASSERT(GRPC_CALL_OK == grpc_server_request_call_old(f.server, tag(100)));
- cq_expect_server_rpc_new(v_server, &s, tag(100), "/foo", "foo.test.google.com",
+ cq_expect_server_rpc_new(v_server, &s, tag(100), "/foo", "foo.test.google.fr",
deadline, NULL);
cq_verify(v_server);
diff --git a/test/core/end2end/tests/census_simple_request_legacy.c b/test/core/end2end/tests/census_simple_request_legacy.c
index 003a8bef9b..98244db541 100644
--- a/test/core/end2end/tests/census_simple_request_legacy.c
+++ b/test/core/end2end/tests/census_simple_request_legacy.c
@@ -106,7 +106,7 @@ static void test_body(grpc_end2end_test_fixture f) {
cq_verifier *v_client = cq_verifier_create(f.client_cq);
cq_verifier *v_server = cq_verifier_create(f.server_cq);
- c = grpc_channel_create_call_old(f.client, "/foo", "foo.test.google.com",
+ c = grpc_channel_create_call_old(f.client, "/foo", "foo.test.google.fr",
deadline);
GPR_ASSERT(c);
tag(1);
@@ -118,7 +118,7 @@ static void test_body(grpc_end2end_test_fixture f) {
cq_verify(v_client);
GPR_ASSERT(GRPC_CALL_OK == grpc_server_request_call_old(f.server, tag(100)));
- cq_expect_server_rpc_new(v_server, &s, tag(100), "/foo", "foo.test.google.com",
+ cq_expect_server_rpc_new(v_server, &s, tag(100), "/foo", "foo.test.google.fr",
deadline, NULL);
cq_verify(v_server);
diff --git a/test/core/end2end/tests/disappearing_server.c b/test/core/end2end/tests/disappearing_server.c
index 611589678f..d5d1550f90 100644
--- a/test/core/end2end/tests/disappearing_server.c
+++ b/test/core/end2end/tests/disappearing_server.c
@@ -97,7 +97,7 @@ static void do_request_and_shutdown_server(grpc_end2end_test_fixture *f,
grpc_call *s;
gpr_timespec deadline = five_seconds_time();
- c = grpc_channel_create_call_old(f->client, "/foo", "foo.test.google.com",
+ c = grpc_channel_create_call_old(f->client, "/foo", "foo.test.google.fr",
deadline);
GPR_ASSERT(c);
@@ -110,7 +110,7 @@ static void do_request_and_shutdown_server(grpc_end2end_test_fixture *f,
GPR_ASSERT(GRPC_CALL_OK == grpc_server_request_call_old(f->server, tag(100)));
cq_expect_server_rpc_new(v_server, &s, tag(100), "/foo",
- "foo.test.google.com", deadline, NULL);
+ "foo.test.google.fr", deadline, NULL);
cq_verify(v_server);
GPR_ASSERT(GRPC_CALL_OK ==
diff --git a/test/core/end2end/tests/disappearing_server_legacy.c b/test/core/end2end/tests/disappearing_server_legacy.c
index ff8832a231..7dd6804b38 100644
--- a/test/core/end2end/tests/disappearing_server_legacy.c
+++ b/test/core/end2end/tests/disappearing_server_legacy.c
@@ -97,7 +97,7 @@ static void do_request_and_shutdown_server(grpc_end2end_test_fixture *f,
grpc_call *s;
gpr_timespec deadline = five_seconds_time();
- c = grpc_channel_create_call_old(f->client, "/foo", "foo.test.google.com",
+ c = grpc_channel_create_call_old(f->client, "/foo", "foo.test.google.fr",
deadline);
GPR_ASSERT(c);
@@ -109,7 +109,7 @@ static void do_request_and_shutdown_server(grpc_end2end_test_fixture *f,
cq_verify(v_client);
GPR_ASSERT(GRPC_CALL_OK == grpc_server_request_call_old(f->server, tag(100)));
- cq_expect_server_rpc_new(v_server, &s, tag(100), "/foo", "foo.test.google.com",
+ cq_expect_server_rpc_new(v_server, &s, tag(100), "/foo", "foo.test.google.fr",
deadline, NULL);
cq_verify(v_server);
diff --git a/test/core/end2end/tests/early_server_shutdown_finishes_inflight_calls.c b/test/core/end2end/tests/early_server_shutdown_finishes_inflight_calls.c
index 49ec4715cc..d65617c473 100644
--- a/test/core/end2end/tests/early_server_shutdown_finishes_inflight_calls.c
+++ b/test/core/end2end/tests/early_server_shutdown_finishes_inflight_calls.c
@@ -111,7 +111,7 @@ static void test_early_server_shutdown_finishes_inflight_calls(
cq_verifier *v_client = cq_verifier_create(f.client_cq);
cq_verifier *v_server = cq_verifier_create(f.server_cq);
- c = grpc_channel_create_call_old(f.client, "/foo", "foo.test.google.com",
+ c = grpc_channel_create_call_old(f.client, "/foo", "foo.test.google.fr",
deadline);
GPR_ASSERT(c);
@@ -124,7 +124,7 @@ static void test_early_server_shutdown_finishes_inflight_calls(
GPR_ASSERT(GRPC_CALL_OK == grpc_server_request_call_old(f.server, tag(100)));
cq_expect_server_rpc_new(v_server, &s, tag(100), "/foo",
- "foo.test.google.com", deadline, NULL);
+ "foo.test.google.fr", deadline, NULL);
cq_verify(v_server);
GPR_ASSERT(GRPC_CALL_OK ==
diff --git a/test/core/end2end/tests/early_server_shutdown_finishes_inflight_calls_legacy.c b/test/core/end2end/tests/early_server_shutdown_finishes_inflight_calls_legacy.c
index 2e3a05e669..09ddfc1671 100644
--- a/test/core/end2end/tests/early_server_shutdown_finishes_inflight_calls_legacy.c
+++ b/test/core/end2end/tests/early_server_shutdown_finishes_inflight_calls_legacy.c
@@ -111,7 +111,7 @@ static void test_early_server_shutdown_finishes_inflight_calls(
cq_verifier *v_client = cq_verifier_create(f.client_cq);
cq_verifier *v_server = cq_verifier_create(f.server_cq);
- c = grpc_channel_create_call_old(f.client, "/foo", "foo.test.google.com",
+ c = grpc_channel_create_call_old(f.client, "/foo", "foo.test.google.fr",
deadline);
GPR_ASSERT(c);
@@ -123,7 +123,7 @@ static void test_early_server_shutdown_finishes_inflight_calls(
cq_verify(v_client);
GPR_ASSERT(GRPC_CALL_OK == grpc_server_request_call_old(f.server, tag(100)));
- cq_expect_server_rpc_new(v_server, &s, tag(100), "/foo", "foo.test.google.com",
+ cq_expect_server_rpc_new(v_server, &s, tag(100), "/foo", "foo.test.google.fr",
deadline, NULL);
cq_verify(v_server);
diff --git a/test/core/end2end/tests/empty_batch.c b/test/core/end2end/tests/empty_batch.c
index 7faeeaa889..de22518301 100644
--- a/test/core/end2end/tests/empty_batch.c
+++ b/test/core/end2end/tests/empty_batch.c
@@ -111,7 +111,7 @@ static void empty_batch_body(grpc_end2end_test_fixture f) {
grpc_op *op = NULL;
c = grpc_channel_create_call(f.client, f.client_cq, "/foo",
- "foo.test.google.com", deadline);
+ "foo.test.google.fr", deadline);
GPR_ASSERT(c);
GPR_ASSERT(GRPC_CALL_OK == grpc_call_start_batch(c, op, 0, tag(1)));
diff --git a/test/core/end2end/tests/graceful_server_shutdown.c b/test/core/end2end/tests/graceful_server_shutdown.c
index ab9792e40a..9227d3bd46 100644
--- a/test/core/end2end/tests/graceful_server_shutdown.c
+++ b/test/core/end2end/tests/graceful_server_shutdown.c
@@ -110,7 +110,7 @@ static void test_early_server_shutdown_finishes_inflight_calls(
cq_verifier *v_client = cq_verifier_create(f.client_cq);
cq_verifier *v_server = cq_verifier_create(f.server_cq);
- c = grpc_channel_create_call_old(f.client, "/foo", "foo.test.google.com",
+ c = grpc_channel_create_call_old(f.client, "/foo", "foo.test.google.fr",
deadline);
GPR_ASSERT(c);
@@ -123,7 +123,7 @@ static void test_early_server_shutdown_finishes_inflight_calls(
GPR_ASSERT(GRPC_CALL_OK == grpc_server_request_call_old(f.server, tag(100)));
cq_expect_server_rpc_new(v_server, &s, tag(100), "/foo",
- "foo.test.google.com", deadline, NULL);
+ "foo.test.google.fr", deadline, NULL);
cq_verify(v_server);
GPR_ASSERT(GRPC_CALL_OK ==
diff --git a/test/core/end2end/tests/graceful_server_shutdown_legacy.c b/test/core/end2end/tests/graceful_server_shutdown_legacy.c
index 852a153acc..19c895eaa2 100644
--- a/test/core/end2end/tests/graceful_server_shutdown_legacy.c
+++ b/test/core/end2end/tests/graceful_server_shutdown_legacy.c
@@ -110,7 +110,7 @@ static void test_early_server_shutdown_finishes_inflight_calls(
cq_verifier *v_client = cq_verifier_create(f.client_cq);
cq_verifier *v_server = cq_verifier_create(f.server_cq);
- c = grpc_channel_create_call_old(f.client, "/foo", "foo.test.google.com",
+ c = grpc_channel_create_call_old(f.client, "/foo", "foo.test.google.fr",
deadline);
GPR_ASSERT(c);
@@ -122,7 +122,7 @@ static void test_early_server_shutdown_finishes_inflight_calls(
cq_verify(v_client);
GPR_ASSERT(GRPC_CALL_OK == grpc_server_request_call_old(f.server, tag(100)));
- cq_expect_server_rpc_new(v_server, &s, tag(100), "/foo", "foo.test.google.com",
+ cq_expect_server_rpc_new(v_server, &s, tag(100), "/foo", "foo.test.google.fr",
deadline, NULL);
cq_verify(v_server);
diff --git a/test/core/end2end/tests/invoke_large_request.c b/test/core/end2end/tests/invoke_large_request.c
index 2a302e2b13..86a0fbdb70 100644
--- a/test/core/end2end/tests/invoke_large_request.c
+++ b/test/core/end2end/tests/invoke_large_request.c
@@ -122,7 +122,7 @@ static void test_invoke_large_request(grpc_end2end_test_config config) {
GPR_ASSERT(GRPC_CALL_OK == grpc_server_request_call_old(f.server, tag(100)));
- c = grpc_channel_create_call_old(f.client, "/foo", "foo.test.google.com",
+ c = grpc_channel_create_call_old(f.client, "/foo", "foo.test.google.fr",
deadline);
GPR_ASSERT(c);
@@ -139,7 +139,7 @@ static void test_invoke_large_request(grpc_end2end_test_config config) {
cq_verify_empty(v_client);
cq_expect_server_rpc_new(v_server, &s, tag(100), "/foo",
- "foo.test.google.com", deadline, NULL);
+ "foo.test.google.fr", deadline, NULL);
cq_verify(v_server);
GPR_ASSERT(GRPC_CALL_OK ==
diff --git a/test/core/end2end/tests/invoke_large_request_legacy.c b/test/core/end2end/tests/invoke_large_request_legacy.c
index 875458e7f8..d0a1cebfcb 100644
--- a/test/core/end2end/tests/invoke_large_request_legacy.c
+++ b/test/core/end2end/tests/invoke_large_request_legacy.c
@@ -122,7 +122,7 @@ static void test_invoke_large_request(grpc_end2end_test_config config) {
GPR_ASSERT(GRPC_CALL_OK == grpc_server_request_call_old(f.server, tag(100)));
- c = grpc_channel_create_call_old(f.client, "/foo", "foo.test.google.com",
+ c = grpc_channel_create_call_old(f.client, "/foo", "foo.test.google.fr",
deadline);
GPR_ASSERT(c);
@@ -138,7 +138,7 @@ static void test_invoke_large_request(grpc_end2end_test_config config) {
request (as this request is very large) */
cq_verify_empty(v_client);
- cq_expect_server_rpc_new(v_server, &s, tag(100), "/foo", "foo.test.google.com",
+ cq_expect_server_rpc_new(v_server, &s, tag(100), "/foo", "foo.test.google.fr",
deadline, NULL);
cq_verify(v_server);
diff --git a/test/core/end2end/tests/max_concurrent_streams.c b/test/core/end2end/tests/max_concurrent_streams.c
index 85369b5aac..743048881d 100644
--- a/test/core/end2end/tests/max_concurrent_streams.c
+++ b/test/core/end2end/tests/max_concurrent_streams.c
@@ -109,7 +109,7 @@ static void simple_request_body(grpc_end2end_test_fixture f) {
cq_verifier *v_client = cq_verifier_create(f.client_cq);
cq_verifier *v_server = cq_verifier_create(f.server_cq);
- c = grpc_channel_create_call_old(f.client, "/foo", "foo.test.google.com",
+ c = grpc_channel_create_call_old(f.client, "/foo", "foo.test.google.fr",
deadline);
GPR_ASSERT(c);
@@ -122,7 +122,7 @@ static void simple_request_body(grpc_end2end_test_fixture f) {
GPR_ASSERT(GRPC_CALL_OK == grpc_server_request_call_old(f.server, tag(100)));
cq_expect_server_rpc_new(v_server, &s, tag(100), "/foo",
- "foo.test.google.com", deadline, NULL);
+ "foo.test.google.fr", deadline, NULL);
cq_verify(v_server);
GPR_ASSERT(GRPC_CALL_OK ==
@@ -182,10 +182,10 @@ static void test_max_concurrent_streams(grpc_end2end_test_config config) {
/* start two requests - ensuring that the second is not accepted until
the first completes */
deadline = five_seconds_time();
- c1 = grpc_channel_create_call_old(f.client, "/alpha", "foo.test.google.com",
+ c1 = grpc_channel_create_call_old(f.client, "/alpha", "foo.test.google.fr",
deadline);
GPR_ASSERT(c1);
- c2 = grpc_channel_create_call_old(f.client, "/beta", "foo.test.google.com",
+ c2 = grpc_channel_create_call_old(f.client, "/beta", "foo.test.google.fr",
deadline);
GPR_ASSERT(c1);
@@ -211,7 +211,7 @@ static void test_max_concurrent_streams(grpc_end2end_test_config config) {
cq_expect_server_rpc_new(v_server, &s1, tag(100),
live_call == 300 ? "/alpha" : "/beta",
- "foo.test.google.com", deadline, NULL);
+ "foo.test.google.fr", deadline, NULL);
cq_verify(v_server);
GPR_ASSERT(GRPC_CALL_OK ==
@@ -237,7 +237,7 @@ static void test_max_concurrent_streams(grpc_end2end_test_config config) {
GPR_ASSERT(GRPC_CALL_OK == grpc_server_request_call_old(f.server, tag(200)));
cq_expect_server_rpc_new(v_server, &s2, tag(200),
live_call == 300 ? "/alpha" : "/beta",
- "foo.test.google.com", deadline, NULL);
+ "foo.test.google.fr", deadline, NULL);
cq_verify(v_server);
GPR_ASSERT(GRPC_CALL_OK ==
diff --git a/test/core/end2end/tests/max_concurrent_streams_legacy.c b/test/core/end2end/tests/max_concurrent_streams_legacy.c
index 0cb118d795..8bf1154387 100644
--- a/test/core/end2end/tests/max_concurrent_streams_legacy.c
+++ b/test/core/end2end/tests/max_concurrent_streams_legacy.c
@@ -109,7 +109,7 @@ static void simple_request_body(grpc_end2end_test_fixture f) {
cq_verifier *v_client = cq_verifier_create(f.client_cq);
cq_verifier *v_server = cq_verifier_create(f.server_cq);
- c = grpc_channel_create_call_old(f.client, "/foo", "foo.test.google.com",
+ c = grpc_channel_create_call_old(f.client, "/foo", "foo.test.google.fr",
deadline);
GPR_ASSERT(c);
@@ -121,7 +121,7 @@ static void simple_request_body(grpc_end2end_test_fixture f) {
cq_verify(v_client);
GPR_ASSERT(GRPC_CALL_OK == grpc_server_request_call_old(f.server, tag(100)));
- cq_expect_server_rpc_new(v_server, &s, tag(100), "/foo", "foo.test.google.com",
+ cq_expect_server_rpc_new(v_server, &s, tag(100), "/foo", "foo.test.google.fr",
deadline, NULL);
cq_verify(v_server);
@@ -182,10 +182,10 @@ static void test_max_concurrent_streams(grpc_end2end_test_config config) {
/* start two requests - ensuring that the second is not accepted until
the first completes */
deadline = five_seconds_time();
- c1 = grpc_channel_create_call_old(f.client, "/alpha", "foo.test.google.com",
+ c1 = grpc_channel_create_call_old(f.client, "/alpha", "foo.test.google.fr",
deadline);
GPR_ASSERT(c1);
- c2 = grpc_channel_create_call_old(f.client, "/beta", "foo.test.google.com",
+ c2 = grpc_channel_create_call_old(f.client, "/beta", "foo.test.google.fr",
deadline);
GPR_ASSERT(c1);
@@ -211,7 +211,7 @@ static void test_max_concurrent_streams(grpc_end2end_test_config config) {
cq_expect_server_rpc_new(v_server, &s1, tag(100),
live_call == 300 ? "/alpha" : "/beta",
- "foo.test.google.com", deadline, NULL);
+ "foo.test.google.fr", deadline, NULL);
cq_verify(v_server);
GPR_ASSERT(GRPC_CALL_OK ==
@@ -237,7 +237,7 @@ static void test_max_concurrent_streams(grpc_end2end_test_config config) {
GPR_ASSERT(GRPC_CALL_OK == grpc_server_request_call_old(f.server, tag(200)));
cq_expect_server_rpc_new(v_server, &s2, tag(200),
live_call == 300 ? "/alpha" : "/beta",
- "foo.test.google.com", deadline, NULL);
+ "foo.test.google.fr", deadline, NULL);
cq_verify(v_server);
GPR_ASSERT(GRPC_CALL_OK ==
diff --git a/test/core/end2end/tests/ping_pong_streaming.c b/test/core/end2end/tests/ping_pong_streaming.c
index 2930ba6143..06a029eb65 100644
--- a/test/core/end2end/tests/ping_pong_streaming.c
+++ b/test/core/end2end/tests/ping_pong_streaming.c
@@ -118,7 +118,7 @@ static void test_pingpong_streaming(grpc_end2end_test_config config,
cq_verifier *v_server = cq_verifier_create(f.server_cq);
gpr_log(GPR_INFO, "testing with %d message pairs.", messages);
- c = grpc_channel_create_call_old(f.client, "/foo", "foo.test.google.com",
+ c = grpc_channel_create_call_old(f.client, "/foo", "foo.test.google.fr",
deadline);
GPR_ASSERT(c);
@@ -128,7 +128,7 @@ static void test_pingpong_streaming(grpc_end2end_test_config config,
GPR_ASSERT(GRPC_CALL_OK == grpc_server_request_call_old(f.server, tag(100)));
cq_expect_server_rpc_new(v_server, &s, tag(100), "/foo",
- "foo.test.google.com", deadline, NULL);
+ "foo.test.google.fr", deadline, NULL);
cq_verify(v_server);
GPR_ASSERT(GRPC_CALL_OK ==
grpc_call_server_accept_old(s, f.server_cq, tag(102)));
diff --git a/test/core/end2end/tests/ping_pong_streaming_legacy.c b/test/core/end2end/tests/ping_pong_streaming_legacy.c
index b2764e9f85..b4175b4d09 100644
--- a/test/core/end2end/tests/ping_pong_streaming_legacy.c
+++ b/test/core/end2end/tests/ping_pong_streaming_legacy.c
@@ -118,7 +118,7 @@ static void test_pingpong_streaming(grpc_end2end_test_config config,
cq_verifier *v_server = cq_verifier_create(f.server_cq);
gpr_log(GPR_INFO, "testing with %d message pairs.", messages);
- c = grpc_channel_create_call_old(f.client, "/foo", "foo.test.google.com",
+ c = grpc_channel_create_call_old(f.client, "/foo", "foo.test.google.fr",
deadline);
GPR_ASSERT(c);
@@ -127,7 +127,7 @@ static void test_pingpong_streaming(grpc_end2end_test_config config,
GPR_ASSERT(GRPC_CALL_OK == grpc_server_request_call_old(f.server, tag(100)));
- cq_expect_server_rpc_new(v_server, &s, tag(100), "/foo", "foo.test.google.com",
+ cq_expect_server_rpc_new(v_server, &s, tag(100), "/foo", "foo.test.google.fr",
deadline, NULL);
cq_verify(v_server);
GPR_ASSERT(GRPC_CALL_OK ==
diff --git a/test/core/end2end/tests/request_response_with_binary_metadata_and_payload.c b/test/core/end2end/tests/request_response_with_binary_metadata_and_payload.c
index 843e9db9ed..45b2ea3e82 100644
--- a/test/core/end2end/tests/request_response_with_binary_metadata_and_payload.c
+++ b/test/core/end2end/tests/request_response_with_binary_metadata_and_payload.c
@@ -140,7 +140,7 @@ static void test_request_response_with_metadata_and_payload(
int was_cancelled = 2;
c = grpc_channel_create_call(f.client, f.client_cq, "/foo",
- "foo.test.google.com", deadline);
+ "foo.test.google.fr", deadline);
GPR_ASSERT(c);
grpc_metadata_array_init(&initial_metadata_recv);
@@ -210,7 +210,7 @@ static void test_request_response_with_metadata_and_payload(
GPR_ASSERT(status == GRPC_STATUS_UNIMPLEMENTED);
GPR_ASSERT(0 == strcmp(details, "xyz"));
GPR_ASSERT(0 == strcmp(call_details.method, "/foo"));
- GPR_ASSERT(0 == strcmp(call_details.host, "foo.test.google.com"));
+ GPR_ASSERT(0 == strcmp(call_details.host, "foo.test.google.fr"));
GPR_ASSERT(was_cancelled == 0);
GPR_ASSERT(byte_buffer_eq_string(request_payload_recv, "hello world"));
GPR_ASSERT(byte_buffer_eq_string(response_payload_recv, "hello you"));
diff --git a/test/core/end2end/tests/request_response_with_binary_metadata_and_payload_legacy.c b/test/core/end2end/tests/request_response_with_binary_metadata_and_payload_legacy.c
index 9c09e516fa..be74e8bdce 100644
--- a/test/core/end2end/tests/request_response_with_binary_metadata_and_payload_legacy.c
+++ b/test/core/end2end/tests/request_response_with_binary_metadata_and_payload_legacy.c
@@ -137,7 +137,7 @@ static void test_request_response_with_metadata_and_payload(
gpr_slice_unref(request_payload_slice);
gpr_slice_unref(response_payload_slice);
- c = grpc_channel_create_call_old(f.client, "/foo", "foo.test.google.com",
+ c = grpc_channel_create_call_old(f.client, "/foo", "foo.test.google.fr",
deadline);
GPR_ASSERT(c);
@@ -157,7 +157,7 @@ static void test_request_response_with_metadata_and_payload(
cq_verify(v_client);
cq_expect_server_rpc_new(
- v_server, &s, tag(100), "/foo", "foo.test.google.com", deadline, "key1-bin",
+ v_server, &s, tag(100), "/foo", "foo.test.google.fr", deadline, "key1-bin",
"\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc", "key2-bin",
"\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d", NULL);
cq_verify(v_server);
diff --git a/test/core/end2end/tests/request_response_with_metadata_and_payload.c b/test/core/end2end/tests/request_response_with_metadata_and_payload.c
index 7f7b594d80..1675a9e537 100644
--- a/test/core/end2end/tests/request_response_with_metadata_and_payload.c
+++ b/test/core/end2end/tests/request_response_with_metadata_and_payload.c
@@ -133,7 +133,7 @@ static void test_request_response_with_metadata_and_payload(
int was_cancelled = 2;
c = grpc_channel_create_call(f.client, f.client_cq, "/foo",
- "foo.test.google.com", deadline);
+ "foo.test.google.fr", deadline);
GPR_ASSERT(c);
grpc_metadata_array_init(&initial_metadata_recv);
@@ -203,7 +203,7 @@ static void test_request_response_with_metadata_and_payload(
GPR_ASSERT(status == GRPC_STATUS_UNIMPLEMENTED);
GPR_ASSERT(0 == strcmp(details, "xyz"));
GPR_ASSERT(0 == strcmp(call_details.method, "/foo"));
- GPR_ASSERT(0 == strcmp(call_details.host, "foo.test.google.com"));
+ GPR_ASSERT(0 == strcmp(call_details.host, "foo.test.google.fr"));
GPR_ASSERT(was_cancelled == 0);
GPR_ASSERT(byte_buffer_eq_string(request_payload_recv, "hello world"));
GPR_ASSERT(byte_buffer_eq_string(response_payload_recv, "hello you"));
diff --git a/test/core/end2end/tests/request_response_with_metadata_and_payload_legacy.c b/test/core/end2end/tests/request_response_with_metadata_and_payload_legacy.c
index ba330d5f5f..5c0b9d5b12 100644
--- a/test/core/end2end/tests/request_response_with_metadata_and_payload_legacy.c
+++ b/test/core/end2end/tests/request_response_with_metadata_and_payload_legacy.c
@@ -128,7 +128,7 @@ static void test_request_response_with_metadata_and_payload(
gpr_slice_unref(request_payload_slice);
gpr_slice_unref(response_payload_slice);
- c = grpc_channel_create_call_old(f.client, "/foo", "foo.test.google.com",
+ c = grpc_channel_create_call_old(f.client, "/foo", "foo.test.google.fr",
deadline);
GPR_ASSERT(c);
@@ -147,7 +147,7 @@ static void test_request_response_with_metadata_and_payload(
cq_expect_write_accepted(v_client, tag(4), GRPC_OP_OK);
cq_verify(v_client);
- cq_expect_server_rpc_new(v_server, &s, tag(100), "/foo", "foo.test.google.com",
+ cq_expect_server_rpc_new(v_server, &s, tag(100), "/foo", "foo.test.google.fr",
deadline, "key1", "val1", "key2", "val2", NULL);
cq_verify(v_server);
diff --git a/test/core/end2end/tests/request_response_with_payload.c b/test/core/end2end/tests/request_response_with_payload.c
index a0dc0331f4..16f07c7107 100644
--- a/test/core/end2end/tests/request_response_with_payload.c
+++ b/test/core/end2end/tests/request_response_with_payload.c
@@ -128,7 +128,7 @@ static void request_response_with_payload(grpc_end2end_test_fixture f) {
int was_cancelled = 2;
c = grpc_channel_create_call(f.client, f.client_cq, "/foo",
- "foo.test.google.com", deadline);
+ "foo.test.google.fr", deadline);
GPR_ASSERT(c);
grpc_metadata_array_init(&initial_metadata_recv);
@@ -196,7 +196,7 @@ static void request_response_with_payload(grpc_end2end_test_fixture f) {
GPR_ASSERT(status == GRPC_STATUS_UNIMPLEMENTED);
GPR_ASSERT(0 == strcmp(details, "xyz"));
GPR_ASSERT(0 == strcmp(call_details.method, "/foo"));
- GPR_ASSERT(0 == strcmp(call_details.host, "foo.test.google.com"));
+ GPR_ASSERT(0 == strcmp(call_details.host, "foo.test.google.fr"));
GPR_ASSERT(was_cancelled == 0);
GPR_ASSERT(byte_buffer_eq_string(request_payload_recv, "hello world"));
GPR_ASSERT(byte_buffer_eq_string(response_payload_recv, "hello you"));
diff --git a/test/core/end2end/tests/request_response_with_payload_legacy.c b/test/core/end2end/tests/request_response_with_payload_legacy.c
index be56274899..37ce89b29a 100644
--- a/test/core/end2end/tests/request_response_with_payload_legacy.c
+++ b/test/core/end2end/tests/request_response_with_payload_legacy.c
@@ -121,7 +121,7 @@ static void request_response_with_payload(grpc_end2end_test_fixture f) {
GPR_ASSERT(GRPC_CALL_OK == grpc_server_request_call_old(f.server, tag(100)));
- c = grpc_channel_create_call_old(f.client, "/foo", "foo.test.google.com",
+ c = grpc_channel_create_call_old(f.client, "/foo", "foo.test.google.fr",
deadline);
GPR_ASSERT(c);
@@ -136,7 +136,7 @@ static void request_response_with_payload(grpc_end2end_test_fixture f) {
cq_expect_write_accepted(v_client, tag(4), GRPC_OP_OK);
cq_verify(v_client);
- cq_expect_server_rpc_new(v_server, &s, tag(100), "/foo", "foo.test.google.com",
+ cq_expect_server_rpc_new(v_server, &s, tag(100), "/foo", "foo.test.google.fr",
deadline, NULL);
cq_verify(v_server);
diff --git a/test/core/end2end/tests/request_response_with_trailing_metadata_and_payload.c b/test/core/end2end/tests/request_response_with_trailing_metadata_and_payload.c
index bf3b19b62d..fa0d313f49 100644
--- a/test/core/end2end/tests/request_response_with_trailing_metadata_and_payload.c
+++ b/test/core/end2end/tests/request_response_with_trailing_metadata_and_payload.c
@@ -134,7 +134,7 @@ static void test_request_response_with_metadata_and_payload(
int was_cancelled = 2;
c = grpc_channel_create_call(f.client, f.client_cq, "/foo",
- "foo.test.google.com", deadline);
+ "foo.test.google.fr", deadline);
GPR_ASSERT(c);
grpc_metadata_array_init(&initial_metadata_recv);
@@ -205,7 +205,7 @@ static void test_request_response_with_metadata_and_payload(
GPR_ASSERT(status == GRPC_STATUS_UNIMPLEMENTED);
GPR_ASSERT(0 == strcmp(details, "xyz"));
GPR_ASSERT(0 == strcmp(call_details.method, "/foo"));
- GPR_ASSERT(0 == strcmp(call_details.host, "foo.test.google.com"));
+ GPR_ASSERT(0 == strcmp(call_details.host, "foo.test.google.fr"));
GPR_ASSERT(was_cancelled == 1);
GPR_ASSERT(byte_buffer_eq_string(request_payload_recv, "hello world"));
GPR_ASSERT(byte_buffer_eq_string(response_payload_recv, "hello you"));
diff --git a/test/core/end2end/tests/request_response_with_trailing_metadata_and_payload_legacy.c b/test/core/end2end/tests/request_response_with_trailing_metadata_and_payload_legacy.c
index 0ed0f985ec..5bce89a3fa 100644
--- a/test/core/end2end/tests/request_response_with_trailing_metadata_and_payload_legacy.c
+++ b/test/core/end2end/tests/request_response_with_trailing_metadata_and_payload_legacy.c
@@ -130,7 +130,7 @@ static void test_request_response_with_metadata_and_payload(
gpr_slice_unref(request_payload_slice);
gpr_slice_unref(response_payload_slice);
- c = grpc_channel_create_call_old(f.client, "/foo", "foo.test.google.com",
+ c = grpc_channel_create_call_old(f.client, "/foo", "foo.test.google.fr",
deadline);
GPR_ASSERT(c);
@@ -149,7 +149,7 @@ static void test_request_response_with_metadata_and_payload(
cq_expect_write_accepted(v_client, tag(4), GRPC_OP_OK);
cq_verify(v_client);
- cq_expect_server_rpc_new(v_server, &s, tag(100), "/foo", "foo.test.google.com",
+ cq_expect_server_rpc_new(v_server, &s, tag(100), "/foo", "foo.test.google.fr",
deadline, "key1", "val1", "key2", "val2", NULL);
cq_verify(v_server);
diff --git a/test/core/end2end/tests/request_with_large_metadata.c b/test/core/end2end/tests/request_with_large_metadata.c
index 7534104018..7908493565 100644
--- a/test/core/end2end/tests/request_with_large_metadata.c
+++ b/test/core/end2end/tests/request_with_large_metadata.c
@@ -128,7 +128,7 @@ static void test_request_with_large_metadata(grpc_end2end_test_config config) {
const int large_size = 64 * 1024;
c = grpc_channel_create_call(f.client, f.client_cq, "/foo",
- "foo.test.google.com", deadline);
+ "foo.test.google.fr", deadline);
GPR_ASSERT(c);
meta.key = "key";
@@ -197,7 +197,7 @@ static void test_request_with_large_metadata(grpc_end2end_test_config config) {
GPR_ASSERT(status == GRPC_STATUS_UNIMPLEMENTED);
GPR_ASSERT(0 == strcmp(details, "xyz"));
GPR_ASSERT(0 == strcmp(call_details.method, "/foo"));
- GPR_ASSERT(0 == strcmp(call_details.host, "foo.test.google.com"));
+ GPR_ASSERT(0 == strcmp(call_details.host, "foo.test.google.fr"));
GPR_ASSERT(was_cancelled == 0);
GPR_ASSERT(byte_buffer_eq_string(request_payload_recv, "hello world"));
GPR_ASSERT(contains_metadata(&request_metadata_recv, "key", meta.value));
diff --git a/test/core/end2end/tests/request_with_large_metadata_legacy.c b/test/core/end2end/tests/request_with_large_metadata_legacy.c
index bc3b380013..85926aac14 100644
--- a/test/core/end2end/tests/request_with_large_metadata_legacy.c
+++ b/test/core/end2end/tests/request_with_large_metadata_legacy.c
@@ -121,7 +121,7 @@ static void test_request_with_large_metadata(grpc_end2end_test_config config) {
((char*)meta.value)[large_size] = 0;
meta.value_length = large_size;
- c = grpc_channel_create_call_old(f.client, "/foo", "foo.test.google.com",
+ c = grpc_channel_create_call_old(f.client, "/foo", "foo.test.google.fr",
deadline);
GPR_ASSERT(c);
@@ -131,7 +131,7 @@ static void test_request_with_large_metadata(grpc_end2end_test_config config) {
GPR_ASSERT(GRPC_CALL_OK ==
grpc_call_invoke_old(c, f.client_cq, tag(2), tag(3), 0));
- cq_expect_server_rpc_new(v_server, &s, tag(100), "/foo", "foo.test.google.com",
+ cq_expect_server_rpc_new(v_server, &s, tag(100), "/foo", "foo.test.google.fr",
deadline, "key", meta.value, NULL);
cq_verify(v_server);
diff --git a/test/core/end2end/tests/request_with_payload.c b/test/core/end2end/tests/request_with_payload.c
index bb13512ad4..72614a0bf8 100644
--- a/test/core/end2end/tests/request_with_payload.c
+++ b/test/core/end2end/tests/request_with_payload.c
@@ -126,7 +126,7 @@ static void test_invoke_request_with_payload(grpc_end2end_test_config config) {
int was_cancelled = 2;
c = grpc_channel_create_call(f.client, f.client_cq, "/foo",
- "foo.test.google.com", deadline);
+ "foo.test.google.fr", deadline);
GPR_ASSERT(c);
grpc_metadata_array_init(&initial_metadata_recv);
@@ -188,7 +188,7 @@ static void test_invoke_request_with_payload(grpc_end2end_test_config config) {
GPR_ASSERT(status == GRPC_STATUS_UNIMPLEMENTED);
GPR_ASSERT(0 == strcmp(details, "xyz"));
GPR_ASSERT(0 == strcmp(call_details.method, "/foo"));
- GPR_ASSERT(0 == strcmp(call_details.host, "foo.test.google.com"));
+ GPR_ASSERT(0 == strcmp(call_details.host, "foo.test.google.fr"));
GPR_ASSERT(was_cancelled == 0);
GPR_ASSERT(byte_buffer_eq_string(request_payload_recv, "hello world"));
diff --git a/test/core/end2end/tests/request_with_payload_legacy.c b/test/core/end2end/tests/request_with_payload_legacy.c
index b56e08cf1f..b71e682b9d 100644
--- a/test/core/end2end/tests/request_with_payload_legacy.c
+++ b/test/core/end2end/tests/request_with_payload_legacy.c
@@ -116,7 +116,7 @@ static void test_invoke_request_with_payload(grpc_end2end_test_config config) {
/* byte buffer holds the slice, we can unref it already */
gpr_slice_unref(payload_slice);
- c = grpc_channel_create_call_old(f.client, "/foo", "foo.test.google.com",
+ c = grpc_channel_create_call_old(f.client, "/foo", "foo.test.google.fr",
deadline);
GPR_ASSERT(c);
@@ -132,7 +132,7 @@ static void test_invoke_request_with_payload(grpc_end2end_test_config config) {
cq_expect_write_accepted(v_client, tag(4), GRPC_OP_OK);
cq_verify(v_client);
- cq_expect_server_rpc_new(v_server, &s, tag(100), "/foo", "foo.test.google.com",
+ cq_expect_server_rpc_new(v_server, &s, tag(100), "/foo", "foo.test.google.fr",
deadline, NULL);
cq_verify(v_server);
diff --git a/test/core/end2end/tests/simple_delayed_request.c b/test/core/end2end/tests/simple_delayed_request.c
index 0a3eb7c7b7..83b065b59e 100644
--- a/test/core/end2end/tests/simple_delayed_request.c
+++ b/test/core/end2end/tests/simple_delayed_request.c
@@ -114,7 +114,7 @@ static void simple_delayed_request_body(grpc_end2end_test_config config,
config.init_client(f, client_args);
c = grpc_channel_create_call(f->client, f->client_cq, "/foo",
- "foo.test.google.com", deadline);
+ "foo.test.google.fr", deadline);
GPR_ASSERT(c);
grpc_metadata_array_init(&initial_metadata_recv);
@@ -172,7 +172,7 @@ static void simple_delayed_request_body(grpc_end2end_test_config config,
GPR_ASSERT(status == GRPC_STATUS_UNIMPLEMENTED);
GPR_ASSERT(0 == strcmp(details, "xyz"));
GPR_ASSERT(0 == strcmp(call_details.method, "/foo"));
- GPR_ASSERT(0 == strcmp(call_details.host, "foo.test.google.com"));
+ GPR_ASSERT(0 == strcmp(call_details.host, "foo.test.google.fr"));
GPR_ASSERT(was_cancelled == 0);
gpr_free(details);
diff --git a/test/core/end2end/tests/simple_delayed_request_legacy.c b/test/core/end2end/tests/simple_delayed_request_legacy.c
index 3c94de548e..325261449a 100644
--- a/test/core/end2end/tests/simple_delayed_request_legacy.c
+++ b/test/core/end2end/tests/simple_delayed_request_legacy.c
@@ -103,7 +103,7 @@ static void simple_delayed_request_body(grpc_end2end_test_config config,
config.init_client(f, client_args);
- c = grpc_channel_create_call_old(f->client, "/foo", "foo.test.google.com",
+ c = grpc_channel_create_call_old(f->client, "/foo", "foo.test.google.fr",
deadline);
GPR_ASSERT(c);
@@ -119,7 +119,7 @@ static void simple_delayed_request_body(grpc_end2end_test_config config,
cq_verify(v_client);
GPR_ASSERT(GRPC_CALL_OK == grpc_server_request_call_old(f->server, tag(100)));
- cq_expect_server_rpc_new(v_server, &s, tag(100), "/foo", "foo.test.google.com",
+ cq_expect_server_rpc_new(v_server, &s, tag(100), "/foo", "foo.test.google.fr",
deadline, NULL);
cq_verify(v_server);
diff --git a/test/core/end2end/tests/simple_request.c b/test/core/end2end/tests/simple_request.c
index 591bc52dc5..dac82535be 100644
--- a/test/core/end2end/tests/simple_request.c
+++ b/test/core/end2end/tests/simple_request.c
@@ -122,7 +122,7 @@ static void simple_request_body(grpc_end2end_test_fixture f) {
int was_cancelled = 2;
c = grpc_channel_create_call(f.client, f.client_cq, "/foo",
- "foo.test.google.com", deadline);
+ "foo.test.google.fr", deadline);
GPR_ASSERT(c);
grpc_metadata_array_init(&initial_metadata_recv);
@@ -178,7 +178,7 @@ static void simple_request_body(grpc_end2end_test_fixture f) {
GPR_ASSERT(status == GRPC_STATUS_UNIMPLEMENTED);
GPR_ASSERT(0 == strcmp(details, "xyz"));
GPR_ASSERT(0 == strcmp(call_details.method, "/foo"));
- GPR_ASSERT(0 == strcmp(call_details.host, "foo.test.google.com"));
+ GPR_ASSERT(0 == strcmp(call_details.host, "foo.test.google.fr"));
GPR_ASSERT(was_cancelled == 0);
gpr_free(details);
diff --git a/test/core/end2end/tests/simple_request_legacy.c b/test/core/end2end/tests/simple_request_legacy.c
index 2e30d101e1..52dd6b0845 100644
--- a/test/core/end2end/tests/simple_request_legacy.c
+++ b/test/core/end2end/tests/simple_request_legacy.c
@@ -110,7 +110,7 @@ static void simple_request_body(grpc_end2end_test_fixture f) {
cq_verifier *v_client = cq_verifier_create(f.client_cq);
cq_verifier *v_server = cq_verifier_create(f.server_cq);
- c = grpc_channel_create_call_old(f.client, "/foo", "foo.test.google.com",
+ c = grpc_channel_create_call_old(f.client, "/foo", "foo.test.google.fr",
deadline);
GPR_ASSERT(c);
@@ -122,7 +122,7 @@ static void simple_request_body(grpc_end2end_test_fixture f) {
cq_verify(v_client);
GPR_ASSERT(GRPC_CALL_OK == grpc_server_request_call_old(f.server, tag(100)));
- cq_expect_server_rpc_new(v_server, &s, tag(100), "/foo", "foo.test.google.com",
+ cq_expect_server_rpc_new(v_server, &s, tag(100), "/foo", "foo.test.google.fr",
deadline, NULL);
cq_verify(v_server);
@@ -157,7 +157,7 @@ static void simple_request_body2(grpc_end2end_test_fixture f) {
cq_verifier *v_client = cq_verifier_create(f.client_cq);
cq_verifier *v_server = cq_verifier_create(f.server_cq);
- c = grpc_channel_create_call_old(f.client, "/foo", "foo.test.google.com",
+ c = grpc_channel_create_call_old(f.client, "/foo", "foo.test.google.fr",
deadline);
GPR_ASSERT(c);
@@ -169,7 +169,7 @@ static void simple_request_body2(grpc_end2end_test_fixture f) {
cq_verify(v_client);
GPR_ASSERT(GRPC_CALL_OK == grpc_server_request_call_old(f.server, tag(100)));
- cq_expect_server_rpc_new(v_server, &s, tag(100), "/foo", "foo.test.google.com",
+ cq_expect_server_rpc_new(v_server, &s, tag(100), "/foo", "foo.test.google.fr",
deadline, NULL);
cq_verify(v_server);
diff --git a/test/core/end2end/tests/thread_stress.c b/test/core/end2end/tests/thread_stress.c
index c10b373744..996229c228 100644
--- a/test/core/end2end/tests/thread_stress.c
+++ b/test/core/end2end/tests/thread_stress.c
@@ -109,7 +109,7 @@ static void start_request(void) {
gpr_slice slice = gpr_slice_malloc(100);
grpc_byte_buffer *buf;
grpc_call *call = grpc_channel_create_call_old(
- g_fixture.client, "/Foo", "foo.test.google.com", g_test_end_time);
+ g_fixture.client, "/Foo", "foo.test.google.fr", g_test_end_time);
memset(GPR_SLICE_START_PTR(slice), 1, GPR_SLICE_LENGTH(slice));
buf = grpc_byte_buffer_create(&slice, 1);
diff --git a/test/core/end2end/tests/thread_stress_legacy.c b/test/core/end2end/tests/thread_stress_legacy.c
index c10b373744..996229c228 100644
--- a/test/core/end2end/tests/thread_stress_legacy.c
+++ b/test/core/end2end/tests/thread_stress_legacy.c
@@ -109,7 +109,7 @@ static void start_request(void) {
gpr_slice slice = gpr_slice_malloc(100);
grpc_byte_buffer *buf;
grpc_call *call = grpc_channel_create_call_old(
- g_fixture.client, "/Foo", "foo.test.google.com", g_test_end_time);
+ g_fixture.client, "/Foo", "foo.test.google.fr", g_test_end_time);
memset(GPR_SLICE_START_PTR(slice), 1, GPR_SLICE_LENGTH(slice));
buf = grpc_byte_buffer_create(&slice, 1);
diff --git a/test/core/end2end/tests/writes_done_hangs_with_pending_read.c b/test/core/end2end/tests/writes_done_hangs_with_pending_read.c
index 5f8b9974d6..0189762b5e 100644
--- a/test/core/end2end/tests/writes_done_hangs_with_pending_read.c
+++ b/test/core/end2end/tests/writes_done_hangs_with_pending_read.c
@@ -124,7 +124,7 @@ static void test_writes_done_hangs_with_pending_read(
gpr_slice_unref(request_payload_slice);
gpr_slice_unref(response_payload_slice);
- c = grpc_channel_create_call_old(f.client, "/foo", "foo.test.google.com",
+ c = grpc_channel_create_call_old(f.client, "/foo", "foo.test.google.fr",
deadline);
GPR_ASSERT(c);
@@ -141,7 +141,7 @@ static void test_writes_done_hangs_with_pending_read(
GPR_ASSERT(GRPC_CALL_OK == grpc_server_request_call_old(f.server, tag(100)));
cq_expect_server_rpc_new(v_server, &s, tag(100), "/foo",
- "foo.test.google.com", deadline, NULL);
+ "foo.test.google.fr", deadline, NULL);
cq_verify(v_server);
GPR_ASSERT(GRPC_CALL_OK ==
diff --git a/test/core/end2end/tests/writes_done_hangs_with_pending_read_legacy.c b/test/core/end2end/tests/writes_done_hangs_with_pending_read_legacy.c
index 5f8b9974d6..0189762b5e 100644
--- a/test/core/end2end/tests/writes_done_hangs_with_pending_read_legacy.c
+++ b/test/core/end2end/tests/writes_done_hangs_with_pending_read_legacy.c
@@ -124,7 +124,7 @@ static void test_writes_done_hangs_with_pending_read(
gpr_slice_unref(request_payload_slice);
gpr_slice_unref(response_payload_slice);
- c = grpc_channel_create_call_old(f.client, "/foo", "foo.test.google.com",
+ c = grpc_channel_create_call_old(f.client, "/foo", "foo.test.google.fr",
deadline);
GPR_ASSERT(c);
@@ -141,7 +141,7 @@ static void test_writes_done_hangs_with_pending_read(
GPR_ASSERT(GRPC_CALL_OK == grpc_server_request_call_old(f.server, tag(100)));
cq_expect_server_rpc_new(v_server, &s, tag(100), "/foo",
- "foo.test.google.com", deadline, NULL);
+ "foo.test.google.fr", deadline, NULL);
cq_verify(v_server);
GPR_ASSERT(GRPC_CALL_OK ==
diff --git a/test/core/tsi/transport_security_test.c b/test/core/tsi/transport_security_test.c
new file mode 100644
index 0000000000..597b390c9b
--- /dev/null
+++ b/test/core/tsi/transport_security_test.c
@@ -0,0 +1,303 @@
+/*
+ *
+ * Copyright 2015, Google Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following disclaimer
+ * in the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Google Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+#include "src/core/tsi/transport_security.h"
+
+#include <string.h>
+
+#include <grpc/support/alloc.h>
+#include <grpc/support/log.h>
+#include <grpc/support/useful.h>
+
+#include "src/core/support/string.h"
+#include "src/core/tsi/ssl_transport_security.h"
+#include "test/core/util/test_config.h"
+
+typedef struct {
+ /* 1 if success, 0 if failure. */
+ int expected;
+
+ /* Host name to match. */
+ const char *host_name;
+
+ /* Common name (CN). */
+ const char *common_name;
+
+ /* Comma separated list of certificate names to match against. Any occurrence
+ of '#' will be replaced with a null character before processing. */
+ const char *dns_names;
+
+} cert_name_test_entry;
+
+/* Largely inspired from:
+ chromium/src/net/cert/x509_certificate_unittest.cc.
+ TODO(jboeuf) uncomment test cases as we fix tsi_ssl_peer_matches_name. */
+const cert_name_test_entry cert_name_test_entries[] = {
+ {1, "foo.com", "foo.com", NULL},
+ {1, "f", "f", NULL},
+ {0, "h", "i", NULL},
+ {1, "bar.foo.com", "*.foo.com", NULL},
+ {1, "www.test.fr", "common.name",
+ "*.test.com,*.test.co.uk,*.test.de,*.test.fr"},
+ /*
+ {1, "wwW.tESt.fr", "common.name", ",*.*,*.test.de,*.test.FR,www"},
+ */
+ {0, "f.uk", ".uk", NULL},
+ {0, "w.bar.foo.com", "?.bar.foo.com", NULL},
+ {0, "www.foo.com", "(www|ftp).foo.com", NULL},
+ {0, "www.foo.com", "www.foo.com#", NULL}, /* # = null char. */
+ {0, "www.foo.com", "", "www.foo.com#*.foo.com,#,#"},
+ {0, "www.house.example", "ww.house.example", NULL},
+ {0, "test.org", "", "www.test.org,*.test.org,*.org"},
+ {0, "w.bar.foo.com", "w*.bar.foo.com", NULL},
+ {0, "www.bar.foo.com", "ww*ww.bar.foo.com", NULL},
+ {0, "wwww.bar.foo.com", "ww*ww.bar.foo.com", NULL},
+ {0, "wwww.bar.foo.com", "w*w.bar.foo.com", NULL},
+ {0, "wwww.bar.foo.com", "w*w.bar.foo.c0m", NULL},
+ {0, "WALLY.bar.foo.com", "wa*.bar.foo.com", NULL},
+ {0, "wally.bar.foo.com", "*Ly.bar.foo.com", NULL},
+ /*
+ {1, "ww%57.foo.com", "", "www.foo.com"},
+ {1, "www&.foo.com", "www%26.foo.com", NULL},
+ */
+
+ /* Common name must not be used if subject alternative name was provided. */
+ {0, "www.test.co.jp", "www.test.co.jp",
+ "*.test.de,*.jp,www.test.co.uk,www.*.co.jp"},
+ {0, "www.bar.foo.com", "www.bar.foo.com",
+ "*.foo.com,*.*.foo.com,*.*.bar.foo.com,*..bar.foo.com,"},
+
+ /* IDN tests */
+ {1, "xn--poema-9qae5a.com.br", "xn--poema-9qae5a.com.br", NULL},
+ {1, "www.xn--poema-9qae5a.com.br", "*.xn--poema-9qae5a.com.br", NULL},
+ {0, "xn--poema-9qae5a.com.br", "",
+ "*.xn--poema-9qae5a.com.br,"
+ "xn--poema-*.com.br,"
+ "xn--*-9qae5a.com.br,"
+ "*--poema-9qae5a.com.br"},
+
+ /* The following are adapted from the examples quoted from
+ http://tools.ietf.org/html/rfc6125#section-6.4.3
+ (e.g., *.example.com would match foo.example.com but
+ not bar.foo.example.com or example.com). */
+ {1, "foo.example.com", "*.example.com", NULL},
+ {0, "bar.foo.example.com", "*.example.com", NULL},
+ {0, "example.com", "*.example.com", NULL},
+
+ /* Partial wildcards are disallowed, though RFC 2818 rules allow them.
+ That is, forms such as baz*.example.net, *baz.example.net, and
+ b*z.example.net should NOT match domains. Instead, the wildcard must
+ always be the left-most label, and only a single label. */
+ {0, "baz1.example.net", "baz*.example.net", NULL},
+ {0, "foobaz.example.net", "*baz.example.net", NULL},
+ {0, "buzz.example.net", "b*z.example.net", NULL},
+ {0, "www.test.example.net", "www.*.example.net", NULL},
+
+ /* Wildcards should not be valid for public registry controlled domains,
+ and unknown/unrecognized domains, at least three domain components must
+ be present. */
+ {1, "www.test.example", "*.test.example", NULL},
+ {1, "test.example.co.uk", "*.example.co.uk", NULL},
+ {0, "test.example", "*.example", NULL},
+ /*
+ {0, "example.co.uk", "*.co.uk", NULL},
+ */
+ {0, "foo.com", "*.com", NULL},
+ {0, "foo.us", "*.us", NULL},
+ {0, "foo", "*", NULL},
+
+ /* IDN variants of wildcards and registry controlled domains. */
+ {1, "www.xn--poema-9qae5a.com.br", "*.xn--poema-9qae5a.com.br", NULL},
+ {1, "test.example.xn--mgbaam7a8h", "*.example.xn--mgbaam7a8h", NULL},
+ /*
+ {0, "xn--poema-9qae5a.com.br", "*.com.br", NULL},
+ */
+ {0, "example.xn--mgbaam7a8h", "*.xn--mgbaam7a8h", NULL},
+
+ /* Wildcards should be permissible for 'private' registry controlled
+ domains. */
+ {1, "www.appspot.com", "*.appspot.com", NULL},
+ {1, "foo.s3.amazonaws.com", "*.s3.amazonaws.com", NULL},
+
+ /* Multiple wildcards are not valid. */
+ {0, "foo.example.com", "*.*.com", NULL},
+ {0, "foo.bar.example.com", "*.bar.*.com", NULL},
+
+ /* Absolute vs relative DNS name tests. Although not explicitly specified
+ in RFC 6125, absolute reference names (those ending in a .) should
+ match either absolute or relative presented names. */
+ {1, "foo.com", "foo.com.", NULL},
+ {1, "foo.com.", "foo.com", NULL},
+ {1, "foo.com.", "foo.com.", NULL},
+ {1, "f", "f.", NULL},
+ {1, "f.", "f", NULL},
+ {1, "f.", "f.", NULL},
+ {1, "www-3.bar.foo.com", "*.bar.foo.com.", NULL},
+ {1, "www-3.bar.foo.com.", "*.bar.foo.com", NULL},
+ {1, "www-3.bar.foo.com.", "*.bar.foo.com.", NULL},
+ {0, ".", ".", NULL},
+ {0, "example.com", "*.com.", NULL},
+ {0, "example.com.", "*.com", NULL},
+ {0, "example.com.", "*.com.", NULL},
+ {0, "foo.", "*.", NULL},
+ {0, "foo", "*.", NULL},
+ /*
+ {0, "foo.co.uk", "*.co.uk.", NULL},
+ {0, "foo.co.uk.", "*.co.uk.", NULL},
+ */
+
+ /* An empty CN is OK. */
+ {1, "test.foo.com", "", "test.foo.com"},
+
+ /* An IP should not be used for the CN. */
+ {0, "173.194.195.139", "173.194.195.139", NULL},
+};
+
+typedef struct name_list {
+ const char *name;
+ struct name_list *next;
+} name_list;
+
+typedef struct {
+ size_t name_count;
+ char *buffer;
+ name_list *names;
+} parsed_dns_names;
+
+name_list *name_list_add(const char *n) {
+ name_list *result = gpr_malloc(sizeof(name_list));
+ result->name = n;
+ result->next = NULL;
+ return result;
+}
+
+static parsed_dns_names parse_dns_names(const char *dns_names_str) {
+ parsed_dns_names result;
+ name_list *current_nl;
+ size_t i;
+ memset(&result, 0, sizeof(parsed_dns_names));
+ if (dns_names_str == 0) return result;
+ result.name_count = 1;
+ result.buffer = gpr_strdup(dns_names_str);
+ result.names = name_list_add(result.buffer);
+ current_nl = result.names;
+ for (i = 0; i < strlen(dns_names_str); i++) {
+ if (dns_names_str[i] == ',') {
+ result.buffer[i] = '\0';
+ result.name_count++;
+ i++;
+ current_nl->next = name_list_add(result.buffer + i);
+ current_nl = current_nl->next;
+ }
+ }
+ return result;
+}
+
+static void destruct_parsed_dns_names(parsed_dns_names *pdn) {
+ name_list *nl = pdn->names;
+ if (pdn->buffer != NULL) gpr_free(pdn->buffer);
+ while (nl != NULL) {
+ name_list *to_be_free = nl;
+ nl = nl->next;
+ gpr_free(to_be_free);
+ }
+}
+
+static char *processed_dns_name(const char *dns_name) {
+ char *result = gpr_strdup(dns_name);
+ size_t i;
+ for (i = 0; i < strlen(result); i++) {
+ if (result[i] == '#') {
+ result[i] = '\0';
+ }
+ }
+ return result;
+}
+
+static tsi_peer peer_from_cert_name_test_entry(
+ const cert_name_test_entry *entry) {
+ size_t i;
+ tsi_peer peer;
+ name_list *nl;
+ parsed_dns_names dns_entries = parse_dns_names(entry->dns_names);
+ nl = dns_entries.names;
+ GPR_ASSERT(tsi_construct_peer(2, &peer) == TSI_OK);
+ GPR_ASSERT(tsi_construct_string_peer_property_from_cstring(
+ TSI_X509_SUBJECT_COMMON_NAME_PEER_PROPERTY, entry->common_name,
+ &peer.properties[0]) == TSI_OK);
+ GPR_ASSERT(tsi_construct_list_peer_property(
+ TSI_X509_SUBJECT_ALTERNATIVE_NAMES_PEER_PROPERTY,
+ dns_entries.name_count, &peer.properties[1]) == TSI_OK);
+ i = 0;
+ while (nl != NULL) {
+ char *processed = processed_dns_name(nl->name);
+ GPR_ASSERT(tsi_construct_string_peer_property(
+ NULL, processed, strlen(nl->name),
+ &peer.properties[1].value.list.children[i++]) == TSI_OK);
+ nl = nl->next;
+ gpr_free(processed);
+ }
+ destruct_parsed_dns_names(&dns_entries);
+ return peer;
+}
+
+char *cert_name_test_entry_to_string(const cert_name_test_entry *entry) {
+ char *s;
+ gpr_asprintf(
+ &s, "{ success = %s, host_name = %s, common_name = %s, dns_names = %s}",
+ entry->expected ? "true" : "false", entry->host_name, entry->common_name,
+ entry->dns_names != NULL ? entry->dns_names : "");
+ return s;
+}
+
+static void test_peer_matches_name(void) {
+ size_t i = 0;
+ for (i = 0; i < GPR_ARRAY_SIZE(cert_name_test_entries); i++) {
+ const cert_name_test_entry *entry = &cert_name_test_entries[i];
+ tsi_peer peer = peer_from_cert_name_test_entry(entry);
+ int result = tsi_ssl_peer_matches_name(&peer, entry->host_name);
+ if (result != entry->expected) {
+ char *entry_str = cert_name_test_entry_to_string(entry);
+ gpr_log(GPR_ERROR, "%s", entry_str);
+ gpr_free(entry_str);
+ GPR_ASSERT(0); /* Unexpected result. */
+ }
+ tsi_peer_destruct(&peer);
+ }
+}
+
+int main(int argc, char **argv) {
+ grpc_test_init(argc, argv);
+ test_peer_matches_name();
+ return 0;
+}