mirror of
https://gitlab.freedesktop.org/dbus/dbus.git
synced 2026-05-05 02:58:01 +02:00
Cleanup: removed unused code; fixed Winsock error handling; fixed code indentation.
This commit is contained in:
parent
4015036813
commit
c9033c7ba6
1 changed files with 45 additions and 59 deletions
|
|
@ -352,9 +352,10 @@ _dbus_set_fd_nonblocking (int handle,
|
|||
|
||||
if (ioctlsocket (handle, FIONBIO, &one) == SOCKET_ERROR)
|
||||
{
|
||||
dbus_set_error (error, _dbus_error_from_errno (WSAGetLastError ()),
|
||||
DBUS_SOCKET_SET_ERRNO ();
|
||||
dbus_set_error (error, _dbus_error_from_errno (errno),
|
||||
"Failed to set socket %d:%d to nonblocking: %s", handle,
|
||||
_dbus_strerror (WSAGetLastError ()));
|
||||
_dbus_strerror_from_errno ());
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
|
@ -431,7 +432,7 @@ _dbus_write_socket_two (int fd,
|
|||
NULL,
|
||||
NULL);
|
||||
|
||||
if (rc < 0)
|
||||
if (rc == SOCKET_ERROR)
|
||||
{
|
||||
DBUS_SOCKET_SET_ERRNO ();
|
||||
_dbus_verbose ("WSASend: failed: %s\n", _dbus_strerror_from_errno ());
|
||||
|
|
@ -831,7 +832,7 @@ _dbus_full_duplex_pipe (int *fd1,
|
|||
saddr.sin_port = 0;
|
||||
saddr.sin_addr.s_addr = htonl (INADDR_LOOPBACK);
|
||||
|
||||
if (bind (temp, (struct sockaddr *)&saddr, sizeof (saddr)))
|
||||
if (bind (temp, (struct sockaddr *)&saddr, sizeof (saddr)) == SOCKET_ERROR)
|
||||
{
|
||||
DBUS_SOCKET_SET_ERRNO ();
|
||||
goto out0;
|
||||
|
|
@ -844,7 +845,7 @@ _dbus_full_duplex_pipe (int *fd1,
|
|||
}
|
||||
|
||||
len = sizeof (saddr);
|
||||
if (getsockname (temp, (struct sockaddr *)&saddr, &len))
|
||||
if (getsockname (temp, (struct sockaddr *)&saddr, &len) == SOCKET_ERROR)
|
||||
{
|
||||
DBUS_SOCKET_SET_ERRNO ();
|
||||
goto out0;
|
||||
|
|
@ -1266,21 +1267,6 @@ _dbus_connect_tcp_socket_with_nonce (const char *host,
|
|||
|
||||
_dbus_win_startup_winsock ();
|
||||
|
||||
fd = socket (AF_INET, SOCK_STREAM, 0);
|
||||
|
||||
if (DBUS_SOCKET_IS_INVALID (fd))
|
||||
{
|
||||
DBUS_SOCKET_SET_ERRNO ();
|
||||
dbus_set_error (error,
|
||||
_dbus_error_from_errno (errno),
|
||||
"Failed to create socket: %s",
|
||||
_dbus_strerror_from_errno ());
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
_DBUS_ASSERT_ERROR_IS_CLEAR(error);
|
||||
|
||||
_DBUS_ZERO (hints);
|
||||
|
||||
if (!family)
|
||||
|
|
@ -1292,9 +1278,8 @@ _dbus_connect_tcp_socket_with_nonce (const char *host,
|
|||
else
|
||||
{
|
||||
dbus_set_error (error,
|
||||
_dbus_error_from_errno (errno),
|
||||
DBUS_ERROR_INVALID_ARGS,
|
||||
"Unknown address family %s", family);
|
||||
closesocket (fd);
|
||||
return -1;
|
||||
}
|
||||
hints.ai_protocol = IPPROTO_TCP;
|
||||
|
|
@ -1305,37 +1290,35 @@ _dbus_connect_tcp_socket_with_nonce (const char *host,
|
|||
hints.ai_flags = 0;
|
||||
#endif
|
||||
|
||||
if ((res = getaddrinfo(host, port, &hints, &ai)) != 0)
|
||||
if ((res = getaddrinfo(host, port, &hints, &ai)) != 0 || !ai)
|
||||
{
|
||||
dbus_set_error (error,
|
||||
_dbus_error_from_errno (errno),
|
||||
_dbus_error_from_errno (res),
|
||||
"Failed to lookup host/port: \"%s:%s\": %s (%d)",
|
||||
host, port, gai_strerror(res), res);
|
||||
closesocket (fd);
|
||||
host, port, _dbus_strerror(res), res);
|
||||
return -1;
|
||||
}
|
||||
|
||||
closesocket (fd);
|
||||
fd = -1;
|
||||
|
||||
tmp = ai;
|
||||
while (tmp)
|
||||
{
|
||||
if ((fd = socket (tmp->ai_family, SOCK_STREAM, 0)) < 0)
|
||||
if ((fd = socket (tmp->ai_family, SOCK_STREAM, 0)) == INVALID_SOCKET)
|
||||
{
|
||||
DBUS_SOCKET_SET_ERRNO ();
|
||||
dbus_set_error (error,
|
||||
_dbus_error_from_errno (errno),
|
||||
"Failed to open socket: %s",
|
||||
_dbus_strerror_from_errno ());
|
||||
freeaddrinfo(ai);
|
||||
dbus_set_error (error,
|
||||
_dbus_error_from_errno (errno),
|
||||
"Failed to open socket: %s",
|
||||
_dbus_strerror_from_errno ());
|
||||
return -1;
|
||||
}
|
||||
_DBUS_ASSERT_ERROR_IS_CLEAR(error);
|
||||
|
||||
if (connect (fd, (struct sockaddr*) tmp->ai_addr, tmp->ai_addrlen) != 0)
|
||||
if (connect (fd, (struct sockaddr*) tmp->ai_addr, tmp->ai_addrlen) == SOCKET_ERROR)
|
||||
{
|
||||
DBUS_SOCKET_SET_ERRNO ();
|
||||
closesocket(fd);
|
||||
fd = -1;
|
||||
fd = -1;
|
||||
tmp = tmp->ai_next;
|
||||
continue;
|
||||
}
|
||||
|
|
@ -1349,11 +1332,11 @@ _dbus_connect_tcp_socket_with_nonce (const char *host,
|
|||
dbus_set_error (error,
|
||||
_dbus_error_from_errno (errno),
|
||||
"Failed to connect to socket \"%s:%s\" %s",
|
||||
host, port, _dbus_strerror(errno));
|
||||
host, port, _dbus_strerror_from_errno ());
|
||||
return -1;
|
||||
}
|
||||
|
||||
if ( noncefile != NULL )
|
||||
if (noncefile != NULL)
|
||||
{
|
||||
DBusString noncefileStr;
|
||||
dbus_bool_t ret;
|
||||
|
|
@ -1363,20 +1346,20 @@ _dbus_connect_tcp_socket_with_nonce (const char *host,
|
|||
closesocket (fd);
|
||||
dbus_set_error (error, DBUS_ERROR_NO_MEMORY, NULL);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
ret = _dbus_send_nonce (fd, &noncefileStr, error);
|
||||
|
||||
_dbus_string_free (&noncefileStr);
|
||||
|
||||
if (!ret)
|
||||
{
|
||||
closesocket (fd);
|
||||
{
|
||||
closesocket (fd);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
if (!_dbus_set_fd_nonblocking (fd, error) )
|
||||
if (!_dbus_set_fd_nonblocking (fd, error))
|
||||
{
|
||||
closesocket (fd);
|
||||
return -1;
|
||||
|
|
@ -1438,7 +1421,7 @@ _dbus_listen_tcp_socket (const char *host,
|
|||
else
|
||||
{
|
||||
dbus_set_error (error,
|
||||
_dbus_error_from_errno (errno),
|
||||
DBUS_ERROR_INVALID_ARGS,
|
||||
"Unknown address family %s", family);
|
||||
return -1;
|
||||
}
|
||||
|
|
@ -1455,9 +1438,9 @@ _dbus_listen_tcp_socket (const char *host,
|
|||
if ((res = getaddrinfo(host, port, &hints, &ai)) != 0 || !ai)
|
||||
{
|
||||
dbus_set_error (error,
|
||||
_dbus_error_from_errno (errno),
|
||||
_dbus_error_from_errno (res),
|
||||
"Failed to lookup host/port: \"%s:%s\": %s (%d)",
|
||||
host ? host : "*", port, gai_strerror(res), res);
|
||||
host ? host : "*", port, _dbus_strerror(res), res);
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
|
@ -1465,8 +1448,9 @@ _dbus_listen_tcp_socket (const char *host,
|
|||
while (tmp)
|
||||
{
|
||||
int fd = -1, *newlisten_fd;
|
||||
if ((fd = socket (tmp->ai_family, SOCK_STREAM, 0)) < 0)
|
||||
if ((fd = socket (tmp->ai_family, SOCK_STREAM, 0)) == INVALID_SOCKET)
|
||||
{
|
||||
DBUS_SOCKET_SET_ERRNO ();
|
||||
dbus_set_error (error,
|
||||
_dbus_error_from_errno (errno),
|
||||
"Failed to open socket: %s",
|
||||
|
|
@ -1477,31 +1461,32 @@ _dbus_listen_tcp_socket (const char *host,
|
|||
|
||||
if (bind (fd, (struct sockaddr*) tmp->ai_addr, tmp->ai_addrlen) == SOCKET_ERROR)
|
||||
{
|
||||
closesocket (fd);
|
||||
DBUS_SOCKET_SET_ERRNO ();
|
||||
dbus_set_error (error, _dbus_error_from_errno (errno),
|
||||
"Failed to bind socket \"%s:%s\": %s",
|
||||
host ? host : "*", port, _dbus_strerror_from_errno ());
|
||||
closesocket (fd);
|
||||
goto failed;
|
||||
}
|
||||
|
||||
if (listen (fd, 30 /* backlog */) == SOCKET_ERROR)
|
||||
{
|
||||
closesocket (fd);
|
||||
DBUS_SOCKET_SET_ERRNO ();
|
||||
dbus_set_error (error, _dbus_error_from_errno (errno),
|
||||
"Failed to listen on socket \"%s:%s\": %s",
|
||||
host ? host : "*", port, _dbus_strerror_from_errno ());
|
||||
closesocket (fd);
|
||||
goto failed;
|
||||
}
|
||||
|
||||
newlisten_fd = dbus_realloc(listen_fd, sizeof(int)*(nlisten_fd+1));
|
||||
if (!newlisten_fd)
|
||||
{
|
||||
{
|
||||
closesocket (fd);
|
||||
dbus_set_error (error, _dbus_error_from_errno (errno),
|
||||
"Failed to allocate file handle array: %s",
|
||||
_dbus_strerror_from_errno ());
|
||||
dbus_set_error (error, DBUS_ERROR_NO_MEMORY,
|
||||
"Failed to allocate file handle array");
|
||||
goto failed;
|
||||
}
|
||||
}
|
||||
listen_fd = newlisten_fd;
|
||||
listen_fd[nlisten_fd] = fd;
|
||||
nlisten_fd++;
|
||||
|
|
@ -1518,11 +1503,12 @@ _dbus_listen_tcp_socket (const char *host,
|
|||
socklen_t addrlen = sizeof(addr);
|
||||
char portbuf[10];
|
||||
|
||||
if ((res = getsockname(fd, &addr.Address, &addrlen)) != 0)
|
||||
{
|
||||
dbus_set_error (error, _dbus_error_from_errno (errno),
|
||||
"Failed to resolve port \"%s:%s\": %s (%d)",
|
||||
host ? host : "*", port, gai_strerror(res), res);
|
||||
if (getsockname(fd, &addr.Address, &addrlen) == SOCKET_ERROR)
|
||||
{
|
||||
DBUS_SOCKET_SET_ERRNO ();
|
||||
dbus_set_error (error, _dbus_error_from_errno (errno),
|
||||
"Failed to resolve port \"%s:%s\": %s",
|
||||
host ? host : "*", port, _dbus_strerror_from_errno());
|
||||
goto failed;
|
||||
}
|
||||
snprintf( portbuf, sizeof( portbuf ) - 1, "%d", addr.AddressIn.sin_port );
|
||||
|
|
@ -1530,7 +1516,7 @@ _dbus_listen_tcp_socket (const char *host,
|
|||
{
|
||||
dbus_set_error (error, DBUS_ERROR_NO_MEMORY, NULL);
|
||||
goto failed;
|
||||
}
|
||||
}
|
||||
|
||||
/* Release current address list & redo lookup */
|
||||
port = _dbus_string_get_const_data(retport);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue