Go to the documentation of this file.
27 #include "absl/strings/str_format.h"
61 {1,
"foo.com",
"foo.com",
nullptr,
nullptr},
62 {1,
"f",
"f",
nullptr,
nullptr},
63 {0,
"h",
"i",
nullptr,
nullptr},
64 {1,
"bar.foo.com",
"*.foo.com",
nullptr,
nullptr},
65 {1,
"www.test.fr",
"common.name",
66 "*.test.com,*.test.co.uk,*.test.de,*.test.fr",
nullptr},
70 {0,
"f.uk",
".uk",
nullptr,
nullptr},
71 {0,
"w.bar.foo.com",
"?.bar.foo.com",
nullptr,
nullptr},
72 {0,
"www.foo.com",
"(www|ftp).foo.com",
nullptr,
nullptr},
73 {0,
"www.foo.com",
"www.foo.com#",
nullptr,
nullptr},
74 {0,
"www.foo.com",
"",
"www.foo.com#*.foo.com,#,#",
nullptr},
75 {0,
"www.house.example",
"ww.house.example",
nullptr,
nullptr},
76 {0,
"test.org",
"",
"www.test.org,*.test.org,*.org",
nullptr},
77 {0,
"w.bar.foo.com",
"w*.bar.foo.com",
nullptr,
nullptr},
78 {0,
"www.bar.foo.com",
"ww*ww.bar.foo.com",
nullptr,
nullptr},
79 {0,
"wwww.bar.foo.com",
"ww*ww.bar.foo.com",
nullptr,
nullptr},
80 {0,
"wwww.bar.foo.com",
"w*w.bar.foo.com",
nullptr,
nullptr},
81 {0,
"wwww.bar.foo.com",
"w*w.bar.foo.c0m",
nullptr,
nullptr},
82 {0,
"WALLY.bar.foo.com",
"wa*.bar.foo.com",
nullptr,
nullptr},
83 {0,
"wally.bar.foo.com",
"*Ly.bar.foo.com",
nullptr,
nullptr},
90 {0,
"www.test.co.jp",
"www.test.co.jp",
91 "*.test.de,*.jp,www.test.co.uk,www.*.co.jp",
nullptr},
92 {0,
"www.bar.foo.com",
"www.bar.foo.com",
93 "*.foo.com,*.*.foo.com,*.*.bar.foo.com,*..bar.foo.com,",
nullptr},
96 {1,
"xn--poema-9qae5a.com.br",
"xn--poema-9qae5a.com.br",
nullptr,
nullptr},
97 {1,
"www.xn--poema-9qae5a.com.br",
"*.xn--poema-9qae5a.com.br",
nullptr,
99 {0,
"xn--poema-9qae5a.com.br",
"",
100 "*.xn--poema-9qae5a.com.br,"
101 "xn--poema-*.com.br,"
102 "xn--*-9qae5a.com.br,"
103 "*--poema-9qae5a.com.br",
110 {1,
"foo.example.com",
"*.example.com",
nullptr,
nullptr},
111 {0,
"bar.foo.example.com",
"*.example.com",
nullptr,
nullptr},
112 {0,
"example.com",
"*.example.com",
nullptr,
nullptr},
118 {0,
"baz1.example.net",
"baz*.example.net",
nullptr,
nullptr},
119 {0,
"foobaz.example.net",
"*baz.example.net",
nullptr,
nullptr},
120 {0,
"buzz.example.net",
"b*z.example.net",
nullptr,
nullptr},
121 {0,
"www.test.example.net",
"www.*.example.net",
nullptr,
nullptr},
126 {1,
"www.test.example",
"*.test.example",
nullptr,
nullptr},
127 {1,
"test.example.co.uk",
"*.example.co.uk",
nullptr,
nullptr},
128 {0,
"test.example",
"*.example",
nullptr,
nullptr},
132 {0,
"foo.com",
"*.com",
nullptr,
nullptr},
133 {0,
"foo.us",
"*.us",
nullptr,
nullptr},
134 {0,
"foo",
"*",
nullptr,
nullptr},
137 {1,
"www.xn--poema-9qae5a.com.br",
"*.xn--poema-9qae5a.com.br",
nullptr,
139 {1,
"test.example.xn--mgbaam7a8h",
"*.example.xn--mgbaam7a8h",
nullptr,
144 {0,
"example.xn--mgbaam7a8h",
"*.xn--mgbaam7a8h",
nullptr,
nullptr},
148 {1,
"www.appspot.com",
"*.appspot.com",
nullptr,
nullptr},
149 {1,
"foo.s3.amazonaws.com",
"*.s3.amazonaws.com",
nullptr,
nullptr},
152 {0,
"foo.example.com",
"*.*.com",
nullptr,
nullptr},
153 {0,
"foo.bar.example.com",
"*.bar.*.com",
nullptr,
nullptr},
158 {1,
"foo.com",
"foo.com.",
nullptr,
nullptr},
159 {1,
"foo.com.",
"foo.com",
nullptr,
nullptr},
160 {1,
"foo.com.",
"foo.com.",
nullptr,
nullptr},
161 {1,
"f",
"f.",
nullptr,
nullptr},
162 {1,
"f.",
"f",
nullptr,
nullptr},
163 {1,
"f.",
"f.",
nullptr,
nullptr},
164 {1,
"www-3.bar.foo.com",
"*.bar.foo.com.",
nullptr,
nullptr},
165 {1,
"www-3.bar.foo.com.",
"*.bar.foo.com",
nullptr,
nullptr},
166 {1,
"www-3.bar.foo.com.",
"*.bar.foo.com.",
nullptr,
nullptr},
167 {0,
".",
".",
nullptr,
nullptr},
168 {0,
"example.com",
"*.com.",
nullptr,
nullptr},
169 {0,
"example.com.",
"*.com",
nullptr,
nullptr},
170 {0,
"example.com.",
"*.com.",
nullptr,
nullptr},
171 {0,
"foo.",
"*.",
nullptr,
nullptr},
172 {0,
"foo",
"*.",
nullptr,
nullptr},
179 {1,
"test.foo.com",
"",
"test.foo.com",
nullptr},
182 {0,
"173.194.195.139",
"173.194.195.139",
nullptr,
nullptr},
184 {1,
"173.194.195.139",
"foo.example.com",
nullptr,
"173.194.195.139"},
185 {0,
"173.194.195.139",
"foo.example.com",
nullptr,
"8.8.8.8"},
186 {0,
"173.194.195.139",
"foo.example.com",
nullptr,
"8.8.8.8,8.8.4.4"},
187 {1,
"173.194.195.139",
"foo.example.com",
nullptr,
188 "8.8.8.8,173.194.195.139"},
189 {0,
"173.194.195.139",
"foo.example.com",
nullptr,
"173.194.195.13"},
190 {0,
"2001:db8:a0b:12f0::1",
"foo.example.com",
nullptr,
"173.194.195.13"},
191 {1,
"2001:db8:a0b:12f0::1",
"foo.example.com",
nullptr,
192 "2001:db8:a0b:12f0::1"},
193 {0,
"2001:db8:a0b:12f0::1",
"foo.example.com",
nullptr,
194 "2001:db8:a0b:12f0::2"},
195 {1,
"2001:db8:a0b:12f0::1",
"foo.example.com",
nullptr,
196 "2001:db8:a0b:12f0::2,2001:db8:a0b:12f0::1,8.8.8.8"},
222 if (names_str ==
nullptr)
return result;
226 current_nl =
result.names;
227 for (
i = 0;
i < strlen(names_str);
i++) {
228 if (names_str[
i] ==
',') {
233 current_nl = current_nl->
next;
242 while (nl !=
nullptr) {
267 nl = dns_entries.
names;
275 while (nl !=
nullptr) {
284 nl = ip_entries.
names;
285 while (nl !=
nullptr) {
300 "{ success = %s, host_name = %s, common_name = %s, dns_names = "
301 "%s, ip_names = %s}",
382 int main(
int argc,
char** argv) {
static void test_handshaker_invalid_args(void)
static void destruct_parsed_names(parsed_names *pdn)
tsi_peer_property * properties
return memset(p, 0, total)
ABSL_MUST_USE_RESULT std::string StrFormat(const FormatSpec< Args... > &format, const Args &... args)
void tsi_handshaker_destroy(tsi_handshaker *self)
GPRAPI void gpr_free(void *ptr)
GPRAPI void * gpr_malloc(size_t size)
tsi_handshaker * tsi_create_fake_handshaker(int is_client)
@ TSI_FAILED_PRECONDITION
tsi_result tsi_frame_protector_protect_flush(tsi_frame_protector *self, unsigned char *protected_output_frames, size_t *protected_output_frames_size, size_t *still_pending_size)
tsi_result tsi_frame_protector_unprotect(tsi_frame_protector *self, const unsigned char *protected_frames_bytes, size_t *protected_frames_bytes_size, unsigned char *unprotected_bytes, size_t *unprotected_bytes_size)
static char * processed_name(const char *name)
std::string cert_name_test_entry_to_string(const cert_name_test_entry *entry)
static void test_handshaker_invalid_state(void)
tsi_result tsi_handshaker_create_frame_protector(tsi_handshaker *self, size_t *max_output_protected_frame_size, tsi_frame_protector **protector)
int tsi_ssl_peer_matches_name(const tsi_peer *peer, absl::string_view name)
def c_str(s, encoding='ascii')
GPRAPI void gpr_log(const char *file, int line, gpr_log_severity severity, const char *format,...) GPR_PRINT_FORMAT_CHECK(4
tsi_result tsi_handshaker_extract_peer(tsi_handshaker *self, tsi_peer *peer)
tsi_result tsi_handshaker_next(tsi_handshaker *self, const unsigned char *received_bytes, size_t received_bytes_size, const unsigned char **bytes_to_send, size_t *bytes_to_send_size, tsi_handshaker_result **handshaker_result, tsi_handshaker_on_next_done_cb cb, void *user_data)
#define GPR_ARRAY_SIZE(array)
tsi_result tsi_handshaker_get_result(tsi_handshaker *self)
struct name_list name_list
const char * tsi_result_to_string(tsi_result result)
name_list * name_list_add(const char *n)
tsi_result tsi_frame_protector_protect(tsi_frame_protector *self, const unsigned char *unprotected_bytes, size_t *unprotected_bytes_size, unsigned char *protected_output_frames, size_t *protected_output_frames_size)
static parsed_names parse_names(const char *names_str)
#define TSI_X509_SUBJECT_COMMON_NAME_PEER_PROPERTY
const cert_name_test_entry cert_name_test_entries[]
tsi_result tsi_handshaker_process_bytes_from_peer(tsi_handshaker *self, const unsigned char *bytes, size_t *bytes_size)
static void test_peer_matches_name(void)
GPRAPI char * gpr_strdup(const char *src)
static void test_result_strings(void)
int main(int argc, char **argv)
tsi_result tsi_handshaker_get_bytes_to_send_to_peer(tsi_handshaker *self, unsigned char *bytes, size_t *bytes_size)
static tsi_peer peer_from_cert_name_test_entry(const cert_name_test_entry *entry)
#define TSI_X509_SUBJECT_ALTERNATIVE_NAME_PEER_PROPERTY
void tsi_peer_destruct(tsi_peer *self)
tsi_result tsi_construct_string_peer_property(const char *name, const char *value, size_t value_length, tsi_peer_property *property)
tsi_result tsi_construct_string_peer_property_from_cstring(const char *name, const char *value, tsi_peer_property *property)
tsi_result tsi_construct_peer(size_t property_count, tsi_peer *peer)
static void test_protector_invalid_args(void)
@ TSI_HANDSHAKE_IN_PROGRESS
grpc
Author(s):
autogenerated on Fri May 16 2025 03:00:40