aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar Yash Tibrewal <yashkt@google.com>2018-03-19 12:30:01 -0700
committerGravatar GitHub <noreply@github.com>2018-03-19 12:30:01 -0700
commitbce37d2785d508983f9d0501f6d711ef55ffc124 (patch)
treed2f7edaff548f6459bdf09d687a137b23a024ac3 /src
parent373866da41cf86ec23fa3420b08a3d0a55151b58 (diff)
parent0e2c6457d479be61275be5bd206ba5ab09a9ad86 (diff)
Merge pull request #14464 from yashykt/socklent
Change size_t to socklen_t in resolve_address
Diffstat (limited to 'src')
-rw-r--r--src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc4
-rw-r--r--src/core/ext/filters/client_channel/lb_policy_factory.cc2
-rw-r--r--src/core/ext/filters/client_channel/parse_address.cc6
-rw-r--r--src/core/lib/iomgr/resolve_address.h17
-rw-r--r--src/core/lib/iomgr/sockaddr_utils.cc9
-rw-r--r--src/core/lib/iomgr/socket_utils_linux.cc2
-rw-r--r--src/core/lib/iomgr/tcp_client_posix.cc2
-rw-r--r--src/core/lib/iomgr/tcp_server_posix.cc7
-rw-r--r--src/core/lib/iomgr/tcp_server_utils_posix_common.cc6
-rw-r--r--src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc12
-rw-r--r--src/core/lib/iomgr/udp_server.cc11
-rw-r--r--src/core/lib/iomgr/unix_sockets_posix.cc3
12 files changed, 50 insertions, 31 deletions
diff --git a/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc b/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc
index 47e1deef12..e805593dd8 100644
--- a/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc
+++ b/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc
@@ -423,13 +423,13 @@ void ParseServer(const grpc_grpclb_server* server,
* server->ip_address.bytes. */
const grpc_grpclb_ip_address* ip = &server->ip_address;
if (ip->size == 4) {
- addr->len = sizeof(grpc_sockaddr_in);
+ addr->len = static_cast<socklen_t>(sizeof(grpc_sockaddr_in));
grpc_sockaddr_in* addr4 = reinterpret_cast<grpc_sockaddr_in*>(&addr->addr);
addr4->sin_family = GRPC_AF_INET;
memcpy(&addr4->sin_addr, ip->bytes, ip->size);
addr4->sin_port = netorder_port;
} else if (ip->size == 16) {
- addr->len = sizeof(grpc_sockaddr_in6);
+ addr->len = static_cast<socklen_t>(sizeof(grpc_sockaddr_in6));
grpc_sockaddr_in6* addr6 = (grpc_sockaddr_in6*)&addr->addr;
addr6->sin6_family = GRPC_AF_INET6;
memcpy(&addr6->sin6_addr, ip->bytes, ip->size);
diff --git a/src/core/ext/filters/client_channel/lb_policy_factory.cc b/src/core/ext/filters/client_channel/lb_policy_factory.cc
index 80646a10cc..7c8cba55b7 100644
--- a/src/core/ext/filters/client_channel/lb_policy_factory.cc
+++ b/src/core/ext/filters/client_channel/lb_policy_factory.cc
@@ -66,7 +66,7 @@ void grpc_lb_addresses_set_address(grpc_lb_addresses* addresses, size_t index,
if (user_data != nullptr) GPR_ASSERT(addresses->user_data_vtable != nullptr);
grpc_lb_address* target = &addresses->addresses[index];
memcpy(target->address.addr, address, address_len);
- target->address.len = address_len;
+ target->address.len = static_cast<socklen_t>(address_len);
target->is_balancer = is_balancer;
target->balancer_name = gpr_strdup(balancer_name);
target->user_data = user_data;
diff --git a/src/core/ext/filters/client_channel/parse_address.cc b/src/core/ext/filters/client_channel/parse_address.cc
index 92ea259cf0..b3900114ad 100644
--- a/src/core/ext/filters/client_channel/parse_address.cc
+++ b/src/core/ext/filters/client_channel/parse_address.cc
@@ -50,7 +50,7 @@ bool grpc_parse_unix(const grpc_uri* uri,
if (path_len == maxlen) return false;
un->sun_family = AF_UNIX;
strcpy(un->sun_path, uri->path);
- resolved_addr->len = sizeof(*un);
+ resolved_addr->len = static_cast<socklen_t>(sizeof(*un));
return true;
}
@@ -72,7 +72,7 @@ bool grpc_parse_ipv4_hostport(const char* hostport, grpc_resolved_address* addr,
if (!gpr_split_host_port(hostport, &host, &port)) return false;
// Parse IP address.
memset(addr, 0, sizeof(*addr));
- addr->len = sizeof(grpc_sockaddr_in);
+ addr->len = static_cast<socklen_t>(sizeof(grpc_sockaddr_in));
grpc_sockaddr_in* in = reinterpret_cast<grpc_sockaddr_in*>(addr->addr);
in->sin_family = GRPC_AF_INET;
if (grpc_inet_pton(GRPC_AF_INET, host, &in->sin_addr) == 0) {
@@ -118,7 +118,7 @@ bool grpc_parse_ipv6_hostport(const char* hostport, grpc_resolved_address* addr,
if (!gpr_split_host_port(hostport, &host, &port)) return false;
// Parse IP address.
memset(addr, 0, sizeof(*addr));
- addr->len = sizeof(grpc_sockaddr_in6);
+ addr->len = static_cast<socklen_t>(sizeof(grpc_sockaddr_in6));
grpc_sockaddr_in6* in6 = reinterpret_cast<grpc_sockaddr_in6*>(addr->addr);
in6->sin6_family = GRPC_AF_INET6;
// Handle the RFC6874 syntax for IPv6 zone identifiers.
diff --git a/src/core/lib/iomgr/resolve_address.h b/src/core/lib/iomgr/resolve_address.h
index 68cdefcf03..fe0d834582 100644
--- a/src/core/lib/iomgr/resolve_address.h
+++ b/src/core/lib/iomgr/resolve_address.h
@@ -22,13 +22,28 @@
#include <grpc/support/port_platform.h>
#include <stddef.h>
+
+#include "src/core/lib/iomgr/port.h"
+
+#ifdef GRPC_UV
+#include <uv.h>
+#endif
+
+#ifdef GRPC_WINSOCK_SOCKET
+#include <ws2tcpip.h>
+#endif
+
+#ifdef GRPC_POSIX_SOCKET
+#include <sys/socket.h>
+#endif
+
#include "src/core/lib/iomgr/pollset_set.h"
#define GRPC_MAX_SOCKADDR_SIZE 128
typedef struct {
char addr[GRPC_MAX_SOCKADDR_SIZE];
- size_t len;
+ socklen_t len;
} grpc_resolved_address;
typedef struct {
diff --git a/src/core/lib/iomgr/sockaddr_utils.cc b/src/core/lib/iomgr/sockaddr_utils.cc
index bc3550a679..df25f7778a 100644
--- a/src/core/lib/iomgr/sockaddr_utils.cc
+++ b/src/core/lib/iomgr/sockaddr_utils.cc
@@ -58,7 +58,8 @@ int grpc_sockaddr_is_v4mapped(const grpc_resolved_address* resolved_addr,
/* s6_addr32 would be nice, but it's non-standard. */
memcpy(&addr4_out->sin_addr, &addr6->sin6_addr.s6_addr[12], 4);
addr4_out->sin_port = addr6->sin6_port;
- resolved_addr4_out->len = sizeof(grpc_sockaddr_in);
+ resolved_addr4_out->len =
+ static_cast<socklen_t>(sizeof(grpc_sockaddr_in));
}
return 1;
}
@@ -81,7 +82,7 @@ int grpc_sockaddr_to_v4mapped(const grpc_resolved_address* resolved_addr,
memcpy(&addr6_out->sin6_addr.s6_addr[0], kV4MappedPrefix, 12);
memcpy(&addr6_out->sin6_addr.s6_addr[12], &addr4->sin_addr, 4);
addr6_out->sin6_port = addr4->sin_port;
- resolved_addr6_out->len = sizeof(grpc_sockaddr_in6);
+ resolved_addr6_out->len = static_cast<socklen_t>(sizeof(grpc_sockaddr_in6));
return 1;
}
return 0;
@@ -135,7 +136,7 @@ void grpc_sockaddr_make_wildcard4(int port,
memset(resolved_wild_out, 0, sizeof(*resolved_wild_out));
wild_out->sin_family = GRPC_AF_INET;
wild_out->sin_port = grpc_htons(static_cast<uint16_t>(port));
- resolved_wild_out->len = sizeof(grpc_sockaddr_in);
+ resolved_wild_out->len = static_cast<socklen_t>(sizeof(grpc_sockaddr_in));
}
void grpc_sockaddr_make_wildcard6(int port,
@@ -146,7 +147,7 @@ void grpc_sockaddr_make_wildcard6(int port,
memset(resolved_wild_out, 0, sizeof(*resolved_wild_out));
wild_out->sin6_family = GRPC_AF_INET6;
wild_out->sin6_port = grpc_htons(static_cast<uint16_t>(port));
- resolved_wild_out->len = sizeof(grpc_sockaddr_in6);
+ resolved_wild_out->len = static_cast<socklen_t>(sizeof(grpc_sockaddr_in6));
}
int grpc_sockaddr_to_string(char** out,
diff --git a/src/core/lib/iomgr/socket_utils_linux.cc b/src/core/lib/iomgr/socket_utils_linux.cc
index 1364cd35f6..f506329f97 100644
--- a/src/core/lib/iomgr/socket_utils_linux.cc
+++ b/src/core/lib/iomgr/socket_utils_linux.cc
@@ -38,7 +38,7 @@ int grpc_accept4(int sockfd, grpc_resolved_address* resolved_addr, int nonblock,
flags |= nonblock ? SOCK_NONBLOCK : 0;
flags |= cloexec ? SOCK_CLOEXEC : 0;
return accept4(sockfd, reinterpret_cast<grpc_sockaddr*>(resolved_addr->addr),
- reinterpret_cast<socklen_t*>(&resolved_addr->len), flags);
+ &resolved_addr->len, flags);
}
#endif
diff --git a/src/core/lib/iomgr/tcp_client_posix.cc b/src/core/lib/iomgr/tcp_client_posix.cc
index c21fb40ab1..ba943d302a 100644
--- a/src/core/lib/iomgr/tcp_client_posix.cc
+++ b/src/core/lib/iomgr/tcp_client_posix.cc
@@ -295,7 +295,7 @@ void grpc_tcp_client_create_from_prepared_fd(
do {
GPR_ASSERT(addr->len < ~(socklen_t)0);
err = connect(fd, reinterpret_cast<const grpc_sockaddr*>(addr->addr),
- static_cast<socklen_t>(addr->len));
+ addr->len);
} while (err < 0 && errno == EINTR);
if (err >= 0) {
char* addr_str = grpc_sockaddr_to_uri(addr);
diff --git a/src/core/lib/iomgr/tcp_server_posix.cc b/src/core/lib/iomgr/tcp_server_posix.cc
index 1d9276a560..ce70116e1d 100644
--- a/src/core/lib/iomgr/tcp_server_posix.cc
+++ b/src/core/lib/iomgr/tcp_server_posix.cc
@@ -214,7 +214,7 @@ static void on_read(void* arg, grpc_error* err) {
char* addr_str;
char* name;
memset(&addr, 0, sizeof(addr));
- addr.len = sizeof(struct sockaddr_storage);
+ addr.len = static_cast<socklen_t>(sizeof(struct sockaddr_storage));
/* Note: If we ever decide to return this address to the user, remember to
strip off the ::ffff:0.0.0.0/96 prefix first. */
int fd = grpc_accept4(sp->fd, &addr, 1, 1);
@@ -413,11 +413,12 @@ static grpc_error* tcp_server_add_port(grpc_tcp_server* s,
as some previously created listener. */
if (requested_port == 0) {
for (sp = s->head; sp; sp = sp->next) {
- sockname_temp.len = sizeof(struct sockaddr_storage);
+ sockname_temp.len =
+ static_cast<socklen_t>(sizeof(struct sockaddr_storage));
if (0 ==
getsockname(sp->fd,
reinterpret_cast<grpc_sockaddr*>(&sockname_temp.addr),
- reinterpret_cast<socklen_t*>(&sockname_temp.len))) {
+ &sockname_temp.len)) {
int used_port = grpc_sockaddr_get_port(&sockname_temp);
if (used_port > 0) {
memcpy(&sockname_temp, addr, sizeof(grpc_resolved_address));
diff --git a/src/core/lib/iomgr/tcp_server_utils_posix_common.cc b/src/core/lib/iomgr/tcp_server_utils_posix_common.cc
index 76d3d62940..0734453364 100644
--- a/src/core/lib/iomgr/tcp_server_utils_posix_common.cc
+++ b/src/core/lib/iomgr/tcp_server_utils_posix_common.cc
@@ -172,7 +172,7 @@ grpc_error* grpc_tcp_server_prepare_socket(int fd,
GPR_ASSERT(addr->len < ~(socklen_t)0);
if (bind(fd, reinterpret_cast<grpc_sockaddr*>(const_cast<char*>(addr->addr)),
- static_cast<socklen_t>(addr->len)) < 0) {
+ addr->len) < 0) {
err = GRPC_OS_ERROR(errno, "bind");
goto error;
}
@@ -182,10 +182,10 @@ grpc_error* grpc_tcp_server_prepare_socket(int fd,
goto error;
}
- sockname_temp.len = sizeof(struct sockaddr_storage);
+ sockname_temp.len = static_cast<socklen_t>(sizeof(struct sockaddr_storage));
if (getsockname(fd, reinterpret_cast<grpc_sockaddr*>(sockname_temp.addr),
- reinterpret_cast<socklen_t*>(&sockname_temp.len)) < 0) {
+ &sockname_temp.len) < 0) {
err = GRPC_OS_ERROR(errno, "getsockname");
goto error;
}
diff --git a/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc b/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc
index 29ff9ecda1..7fd86c57eb 100644
--- a/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc
+++ b/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc
@@ -68,14 +68,14 @@ static grpc_error* get_unused_port(int* port) {
if (dsmode == GRPC_DSMODE_IPV4) {
grpc_sockaddr_make_wildcard4(0, &wild);
}
- if (bind(fd, reinterpret_cast<const grpc_sockaddr*>(wild.addr),
- static_cast<socklen_t>(wild.len)) != 0) {
+ if (bind(fd, reinterpret_cast<const grpc_sockaddr*>(wild.addr), wild.len) !=
+ 0) {
err = GRPC_OS_ERROR(errno, "bind");
close(fd);
return err;
}
- if (getsockname(fd, reinterpret_cast<grpc_sockaddr*>(wild.addr),
- reinterpret_cast<socklen_t*>(&wild.len)) != 0) {
+ if (getsockname(fd, reinterpret_cast<grpc_sockaddr*>(wild.addr), &wild.len) !=
+ 0) {
err = GRPC_OS_ERROR(errno, "getsockname");
close(fd);
return err;
@@ -119,9 +119,9 @@ grpc_error* grpc_tcp_server_add_all_local_addrs(grpc_tcp_server* s,
if (ifa_it->ifa_addr == nullptr) {
continue;
} else if (ifa_it->ifa_addr->sa_family == AF_INET) {
- addr.len = sizeof(grpc_sockaddr_in);
+ addr.len = static_cast<socklen_t>(sizeof(grpc_sockaddr_in));
} else if (ifa_it->ifa_addr->sa_family == AF_INET6) {
- addr.len = sizeof(grpc_sockaddr_in6);
+ addr.len = static_cast<socklen_t>(sizeof(grpc_sockaddr_in6));
} else {
continue;
}
diff --git a/src/core/lib/iomgr/udp_server.cc b/src/core/lib/iomgr/udp_server.cc
index 15a242abe2..04716a254d 100644
--- a/src/core/lib/iomgr/udp_server.cc
+++ b/src/core/lib/iomgr/udp_server.cc
@@ -347,7 +347,7 @@ static int bind_socket(grpc_socket_factory* socket_factory, int sockfd,
: bind(sockfd,
reinterpret_cast<grpc_sockaddr*>(
const_cast<char*>(addr->addr)),
- static_cast<socklen_t>(addr->len));
+ addr->len);
}
/* Prepare a recently-created socket for listening. */
@@ -390,10 +390,10 @@ static int prepare_socket(grpc_socket_factory* socket_factory, int fd,
goto error;
}
- sockname_temp.len = sizeof(struct sockaddr_storage);
+ sockname_temp.len = static_cast<socklen_t>(sizeof(struct sockaddr_storage));
if (getsockname(fd, reinterpret_cast<grpc_sockaddr*>(sockname_temp.addr),
- reinterpret_cast<socklen_t*>(&sockname_temp.len)) < 0) {
+ &sockname_temp.len) < 0) {
goto error;
}
@@ -575,10 +575,11 @@ int grpc_udp_server_add_port(grpc_udp_server* s,
as some previously created listener. */
if (grpc_sockaddr_get_port(addr) == 0) {
for (size_t i = 0; i < s->listeners.size(); ++i) {
- sockname_temp.len = sizeof(struct sockaddr_storage);
+ sockname_temp.len =
+ static_cast<socklen_t>(sizeof(struct sockaddr_storage));
if (0 == getsockname(s->listeners[i].fd(),
reinterpret_cast<grpc_sockaddr*>(sockname_temp.addr),
- reinterpret_cast<socklen_t*>(&sockname_temp.len))) {
+ &sockname_temp.len)) {
port = grpc_sockaddr_get_port(&sockname_temp);
if (port > 0) {
allocated_addr = static_cast<grpc_resolved_address*>(
diff --git a/src/core/lib/iomgr/unix_sockets_posix.cc b/src/core/lib/iomgr/unix_sockets_posix.cc
index 5d09b4a9b1..22fcaf57fc 100644
--- a/src/core/lib/iomgr/unix_sockets_posix.cc
+++ b/src/core/lib/iomgr/unix_sockets_posix.cc
@@ -61,7 +61,8 @@ grpc_error* grpc_resolve_unix_domain_address(const char* name,
un = reinterpret_cast<struct sockaddr_un*>((*addrs)->addrs->addr);
un->sun_family = AF_UNIX;
strncpy(un->sun_path, name, sizeof(un->sun_path));
- (*addrs)->addrs->len = strlen(un->sun_path) + sizeof(un->sun_family) + 1;
+ (*addrs)->addrs->len =
+ static_cast<socklen_t>(strlen(un->sun_path) + sizeof(un->sun_family) + 1);
return GRPC_ERROR_NONE;
}