Merge "Switch from using sockaddr to sockaddr_storage."
This commit is contained in:
commit
46b0b1c694
7 changed files with 39 additions and 32 deletions
|
|
@ -228,13 +228,13 @@ void adb_auth_confirm_key(unsigned char *key, size_t len, atransport *t)
|
||||||
|
|
||||||
static void adb_auth_listener(int fd, unsigned events, void *data)
|
static void adb_auth_listener(int fd, unsigned events, void *data)
|
||||||
{
|
{
|
||||||
struct sockaddr addr;
|
sockaddr_storage addr;
|
||||||
socklen_t alen;
|
socklen_t alen;
|
||||||
int s;
|
int s;
|
||||||
|
|
||||||
alen = sizeof(addr);
|
alen = sizeof(addr);
|
||||||
|
|
||||||
s = adb_socket_accept(fd, &addr, &alen);
|
s = adb_socket_accept(fd, reinterpret_cast<sockaddr*>(&addr), &alen);
|
||||||
if (s < 0) {
|
if (s < 0) {
|
||||||
D("Failed to accept: errno=%d", errno);
|
D("Failed to accept: errno=%d", errno);
|
||||||
return;
|
return;
|
||||||
|
|
|
||||||
|
|
@ -34,9 +34,10 @@ static alistener listener_list = {
|
||||||
|
|
||||||
static void ss_listener_event_func(int _fd, unsigned ev, void *_l) {
|
static void ss_listener_event_func(int _fd, unsigned ev, void *_l) {
|
||||||
if (ev & FDE_READ) {
|
if (ev & FDE_READ) {
|
||||||
struct sockaddr addr;
|
sockaddr_storage ss;
|
||||||
socklen_t alen = sizeof(addr);
|
sockaddr* addrp = reinterpret_cast<sockaddr*>(&ss);
|
||||||
int fd = adb_socket_accept(_fd, &addr, &alen);
|
socklen_t alen = sizeof(ss);
|
||||||
|
int fd = adb_socket_accept(_fd, addrp, &alen);
|
||||||
if (fd < 0) return;
|
if (fd < 0) return;
|
||||||
|
|
||||||
int rcv_buf_size = CHUNK_SIZE;
|
int rcv_buf_size = CHUNK_SIZE;
|
||||||
|
|
@ -58,12 +59,13 @@ static void listener_event_func(int _fd, unsigned ev, void* _l)
|
||||||
asocket *s;
|
asocket *s;
|
||||||
|
|
||||||
if (ev & FDE_READ) {
|
if (ev & FDE_READ) {
|
||||||
struct sockaddr addr;
|
sockaddr_storage ss;
|
||||||
|
sockaddr* addrp = reinterpret_cast<sockaddr*>(&ss);
|
||||||
socklen_t alen;
|
socklen_t alen;
|
||||||
int fd;
|
int fd;
|
||||||
|
|
||||||
alen = sizeof(addr);
|
alen = sizeof(ss);
|
||||||
fd = adb_socket_accept(_fd, &addr, &alen);
|
fd = adb_socket_accept(_fd, addrp, &alen);
|
||||||
if (fd < 0) {
|
if (fd < 0) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -79,7 +81,7 @@ static void listener_event_func(int _fd, unsigned ev, void* _l)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void free_listener(alistener* l)
|
static void free_listener(alistener* l)
|
||||||
{
|
{
|
||||||
if (l->next) {
|
if (l->next) {
|
||||||
l->next->prev = l->prev;
|
l->next->prev = l->prev;
|
||||||
|
|
|
||||||
|
|
@ -460,11 +460,11 @@ jdwp_control_init( JdwpControl* control,
|
||||||
const char* sockname,
|
const char* sockname,
|
||||||
int socknamelen )
|
int socknamelen )
|
||||||
{
|
{
|
||||||
struct sockaddr_un addr;
|
sockaddr_un addr;
|
||||||
socklen_t addrlen;
|
socklen_t addrlen;
|
||||||
int s;
|
int s;
|
||||||
int maxpath = sizeof(addr.sun_path);
|
int maxpath = sizeof(addr.sun_path);
|
||||||
int pathlen = socknamelen;
|
int pathlen = socknamelen;
|
||||||
|
|
||||||
if (pathlen >= maxpath) {
|
if (pathlen >= maxpath) {
|
||||||
D( "vm debug control socket name too long (%d extra chars)",
|
D( "vm debug control socket name too long (%d extra chars)",
|
||||||
|
|
@ -485,7 +485,7 @@ jdwp_control_init( JdwpControl* control,
|
||||||
|
|
||||||
addrlen = (pathlen + sizeof(addr.sun_family));
|
addrlen = (pathlen + sizeof(addr.sun_family));
|
||||||
|
|
||||||
if (bind(s, (struct sockaddr*)&addr, addrlen) < 0) {
|
if (bind(s, reinterpret_cast<sockaddr*>(&addr), addrlen) < 0) {
|
||||||
D( "could not bind vm debug control socket: %d: %s",
|
D( "could not bind vm debug control socket: %d: %s",
|
||||||
errno, strerror(errno) );
|
errno, strerror(errno) );
|
||||||
adb_close(s);
|
adb_close(s);
|
||||||
|
|
@ -523,13 +523,14 @@ jdwp_control_event( int s, unsigned events, void* _control )
|
||||||
JdwpControl* control = (JdwpControl*) _control;
|
JdwpControl* control = (JdwpControl*) _control;
|
||||||
|
|
||||||
if (events & FDE_READ) {
|
if (events & FDE_READ) {
|
||||||
struct sockaddr addr;
|
sockaddr_storage ss;
|
||||||
socklen_t addrlen = sizeof(addr);
|
sockaddr* addrp = reinterpret_cast<sockaddr*>(&ss);
|
||||||
int s = -1;
|
socklen_t addrlen = sizeof(ss);
|
||||||
JdwpProcess* proc;
|
int s = -1;
|
||||||
|
JdwpProcess* proc;
|
||||||
|
|
||||||
do {
|
do {
|
||||||
s = adb_socket_accept( control->listen_socket, &addr, &addrlen );
|
s = adb_socket_accept(control->listen_socket, addrp, &addrlen);
|
||||||
if (s < 0) {
|
if (s < 0) {
|
||||||
if (errno == EINTR)
|
if (errno == EINTR)
|
||||||
continue;
|
continue;
|
||||||
|
|
|
||||||
|
|
@ -143,7 +143,8 @@ static void *client_socket_thread(void *x)
|
||||||
static void *server_socket_thread(void * arg)
|
static void *server_socket_thread(void * arg)
|
||||||
{
|
{
|
||||||
int serverfd, fd;
|
int serverfd, fd;
|
||||||
struct sockaddr addr;
|
sockaddr_storage ss;
|
||||||
|
sockaddr *addrp = reinterpret_cast<sockaddr*>(&ss);
|
||||||
socklen_t alen;
|
socklen_t alen;
|
||||||
int port = (int) (uintptr_t) arg;
|
int port = (int) (uintptr_t) arg;
|
||||||
|
|
||||||
|
|
@ -162,9 +163,9 @@ static void *server_socket_thread(void * arg)
|
||||||
close_on_exec(serverfd);
|
close_on_exec(serverfd);
|
||||||
}
|
}
|
||||||
|
|
||||||
alen = sizeof(addr);
|
alen = sizeof(ss);
|
||||||
D("server: trying to get new connection from %d", port);
|
D("server: trying to get new connection from %d", port);
|
||||||
fd = adb_socket_accept(serverfd, &addr, &alen);
|
fd = adb_socket_accept(serverfd, addrp, &alen);
|
||||||
if(fd >= 0) {
|
if(fd >= 0) {
|
||||||
D("server: new connection on fd %d", fd);
|
D("server: new connection on fd %d", fd);
|
||||||
close_on_exec(fd);
|
close_on_exec(fd);
|
||||||
|
|
|
||||||
|
|
@ -518,11 +518,12 @@ static int do_server() {
|
||||||
ALOGI("debuggerd: starting\n");
|
ALOGI("debuggerd: starting\n");
|
||||||
|
|
||||||
for (;;) {
|
for (;;) {
|
||||||
sockaddr addr;
|
sockaddr_storage ss;
|
||||||
socklen_t alen = sizeof(addr);
|
sockaddr* addrp = reinterpret_cast<sockaddr*>(&ss);
|
||||||
|
socklen_t alen = sizeof(ss);
|
||||||
|
|
||||||
ALOGV("waiting for connection\n");
|
ALOGV("waiting for connection\n");
|
||||||
int fd = accept(s, &addr, &alen);
|
int fd = accept(s, addrp, &alen);
|
||||||
if (fd < 0) {
|
if (fd < 0) {
|
||||||
ALOGV("accept failed: %s\n", strerror(errno));
|
ALOGV("accept failed: %s\n", strerror(errno));
|
||||||
continue;
|
continue;
|
||||||
|
|
|
||||||
|
|
@ -199,13 +199,14 @@ void SocketListener::runListener() {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (mListen && FD_ISSET(mSock, &read_fds)) {
|
if (mListen && FD_ISSET(mSock, &read_fds)) {
|
||||||
struct sockaddr addr;
|
sockaddr_storage ss;
|
||||||
|
sockaddr* addrp = reinterpret_cast<sockaddr*>(&ss);
|
||||||
socklen_t alen;
|
socklen_t alen;
|
||||||
int c;
|
int c;
|
||||||
|
|
||||||
do {
|
do {
|
||||||
alen = sizeof(addr);
|
alen = sizeof(ss);
|
||||||
c = accept(mSock, &addr, &alen);
|
c = accept(mSock, addrp, &alen);
|
||||||
SLOGV("%s got %d from accept", mSocketName, c);
|
SLOGV("%s got %d from accept", mSocketName, c);
|
||||||
} while (c < 0 && errno == EINTR);
|
} while (c < 0 && errno == EINTR);
|
||||||
if (c < 0) {
|
if (c < 0) {
|
||||||
|
|
|
||||||
|
|
@ -410,7 +410,8 @@ static void ctrl_data_handler(uint32_t events) {
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ctrl_connect_handler(uint32_t events __unused) {
|
static void ctrl_connect_handler(uint32_t events __unused) {
|
||||||
struct sockaddr addr;
|
struct sockaddr_storage ss;
|
||||||
|
struct sockaddr *addrp = (struct sockaddr *)&ss;
|
||||||
socklen_t alen;
|
socklen_t alen;
|
||||||
struct epoll_event epev;
|
struct epoll_event epev;
|
||||||
|
|
||||||
|
|
@ -419,8 +420,8 @@ static void ctrl_connect_handler(uint32_t events __unused) {
|
||||||
ctrl_dfd_reopened = 1;
|
ctrl_dfd_reopened = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
alen = sizeof(addr);
|
alen = sizeof(ss);
|
||||||
ctrl_dfd = accept(ctrl_lfd, &addr, &alen);
|
ctrl_dfd = accept(ctrl_lfd, addrp, &alen);
|
||||||
|
|
||||||
if (ctrl_dfd < 0) {
|
if (ctrl_dfd < 0) {
|
||||||
ALOGE("lmkd control socket accept failed; errno=%d", errno);
|
ALOGE("lmkd control socket accept failed; errno=%d", errno);
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue