diff options
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/lib/security/security_connector/security_connector.cc | 19 | ||||
-rw-r--r-- | src/core/lib/surface/channel.cc | 5 |
2 files changed, 15 insertions, 9 deletions
diff --git a/src/core/lib/security/security_connector/security_connector.cc b/src/core/lib/security/security_connector/security_connector.cc index 8040ec99c4..a0e05a3fbd 100644 --- a/src/core/lib/security/security_connector/security_connector.cc +++ b/src/core/lib/security/security_connector/security_connector.cc @@ -474,14 +474,21 @@ static bool fake_channel_check_call_host(grpc_channel_security_connector* sc, gpr_split_host_port(host, &authority_hostname, &authority_ignored_port); gpr_split_host_port(c->target, &target_hostname, &target_ignored_port); if (c->ssl_target_name_override != nullptr) { - abort(); - if (strcmp(authority_hostname, target_hostname) != 0) { + char* ssl_target_name_override_hostname = nullptr; + char* ssl_target_name_override_ignored_port = nullptr; + gpr_split_host_port(c->ssl_target_name_override, + &ssl_target_name_override_hostname, + &ssl_target_name_override_ignored_port); + if (strcmp(authority_hostname, ssl_target_name_override_hostname) != 0) { gpr_log(GPR_ERROR, "Authority (host) '%s' != SSL Target override '%s'", - host, c->ssl_target_name_override); + host, ssl_target_name_override_hostname); + abort(); } - } - if (strcmp(authority_hostname, target_hostname) != 0) { - gpr_log(GPR_ERROR, "Authority (host) '%s' != Target '%s'", host, c->target); + gpr_free(ssl_target_name_override_hostname); + gpr_free(ssl_target_name_override_ignored_port); + } else if (strcmp(authority_hostname, target_hostname) != 0) { + gpr_log(GPR_ERROR, "Authority (host) '%s' != Target '%s'", + authority_hostname, target_hostname); abort(); } gpr_free(authority_hostname); diff --git a/src/core/lib/surface/channel.cc b/src/core/lib/surface/channel.cc index 1eb5ef0c0c..807e28eef1 100644 --- a/src/core/lib/surface/channel.cc +++ b/src/core/lib/surface/channel.cc @@ -157,8 +157,7 @@ grpc_channel* grpc_channel_create_with_builder( } static grpc_core::UniquePtr<char> get_default_authority( - const char* target, const grpc_channel_args* input_args, - grpc_channel_stack_type channel_stack_type) { + const grpc_channel_args* input_args) { bool has_default_authority = false; char* ssl_override = nullptr; grpc_core::UniquePtr<char> default_authority; @@ -202,7 +201,7 @@ grpc_channel* grpc_channel_create(const char* target, grpc_transport* optional_transport) { grpc_channel_stack_builder* builder = grpc_channel_stack_builder_create(); const grpc_core::UniquePtr<char> default_authority = - get_default_authority(target, input_args, channel_stack_type); + get_default_authority(input_args); grpc_channel_args* args = build_channel_args(input_args, default_authority.get()); grpc_channel_stack_builder_set_channel_arguments(builder, args); |