diff options
author | 2016-08-16 23:08:09 -0700 | |
---|---|---|
committer | 2016-08-16 23:08:09 -0700 | |
commit | a0dbd9f4c1f256c7d80b06ae855e6168c99b72cf (patch) | |
tree | a316134776965c9070f2484617cd14d13203c7f6 /src/core | |
parent | 9248d35d12a82effb997e8d0e30962fc8b27b9f4 (diff) |
Fix interop test failures
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_posix.c | 3 | ||||
-rw-r--r-- | src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper.c | 17 |
2 files changed, 14 insertions, 6 deletions
diff --git a/src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_posix.c b/src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_posix.c index eea346e575..3208956dcf 100644 --- a/src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_posix.c +++ b/src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_posix.c @@ -57,7 +57,6 @@ typedef struct fd_pair { } fd_pair; struct grpc_ares_ev_driver { - int id; bool closing; ares_socket_t socks[ARES_GETSOCK_MAXNUM]; int bitmask; @@ -141,7 +140,7 @@ void grpc_ares_notify_on_event(grpc_exec_ctx *exec_ctx, grpc_closure_init(&ev_driver->driver_closure, driver_cb, ev_driver); for (i = 0; i < ARES_GETSOCK_MAXNUM; i++) { char *final_name; - gpr_asprintf(&final_name, "host1%" PRIuPTR, i); + gpr_asprintf(&final_name, "ares_ev_driver-%" PRIuPTR, i); if (ARES_GETSOCK_READABLE(ev_driver->bitmask, i) || ARES_GETSOCK_WRITABLE(ev_driver->bitmask, i)) { diff --git a/src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper.c b/src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper.c index 203c98a50e..c1b487576a 100644 --- a/src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper.c +++ b/src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper.c @@ -94,6 +94,15 @@ static void destroy_request(grpc_ares_request *request) { gpr_free(request->default_port); } +static uint16_t strhtons(const char *port) { + if (strcmp(port, "http") == 0) { + return htons(80); + } else if (strcmp(port, "https") == 0) { + return htons(443); + } + return htons((unsigned short)atoi(port)); +} + static void on_done_cb(void *arg, int status, int timeouts, struct hostent *hostent) { gpr_log(GPR_ERROR, "status: %d", status); @@ -138,7 +147,7 @@ static void on_done_cb(void *arg, int status, int timeouts, gpr_log(GPR_ERROR, "addr: %s", output); gpr_log(GPR_ERROR, "port: %s", r->port); addr->sin6_family = (sa_family_t)hostent->h_addrtype; - addr->sin6_port = htons((unsigned short)atoi(r->port)); + addr->sin6_port = strhtons(r->port); } else { char output[INET_ADDRSTRLEN]; gpr_log(GPR_ERROR, "AF_INET"); @@ -152,7 +161,7 @@ static void on_done_cb(void *arg, int status, int timeouts, memcpy(&addr->sin_addr, hostent->h_addr_list[i - prev_naddr], sizeof(struct in_addr)); addr->sin_family = (sa_family_t)hostent->h_addrtype; - addr->sin_port = htons((unsigned short)atoi(r->port)); + addr->sin_port = strhtons(r->port); } } // ares_destroy(r->channel); @@ -204,7 +213,7 @@ static int try_fake_resolve(const char *name, const char *port, gpr_malloc(sizeof(grpc_resolved_address) * (*addresses)->naddrs); (*addresses)->addrs[0].len = sizeof(struct sockaddr_in); sa.sin_family = AF_INET; - sa.sin_port = htons((unsigned short)atoi(port)); + sa.sin_port = strhtons(port); memcpy(&(*addresses)->addrs[0].addr, &sa, sizeof(struct sockaddr_in)); return 1; } @@ -217,7 +226,7 @@ static int try_fake_resolve(const char *name, const char *port, gpr_malloc(sizeof(grpc_resolved_address) * (*addresses)->naddrs); (*addresses)->addrs[0].len = sizeof(struct sockaddr_in6); sa6.sin6_family = AF_INET6; - sa6.sin6_port = htons((unsigned short)atoi(port)); + sa6.sin6_port = strhtons(port); memcpy(&(*addresses)->addrs[0].addr, &sa6, sizeof(struct sockaddr_in6)); ares_inet_ntop(AF_INET6, &sa6.sin6_addr, output, INET6_ADDRSTRLEN); gpr_log(GPR_ERROR, "addr: %s", output); |