1
0
mirror of https://github.com/weechat/weechat.git synced 2026-07-06 17:53:13 +02:00

relay: set socket option SO_REUSEADDR only for TCP sockets when creating the socket (issue #733)

This commit is contained in:
Sébastien Helleu
2019-06-04 22:54:00 +02:00
parent 86d9cb1e41
commit 479d234ced
+16 -13
View File
@@ -444,7 +444,7 @@ relay_server_sock_cb (const void *pointer, void *data, int fd)
flags = 0;
fcntl (client_fd, F_SETFL, flags | O_NONBLOCK);
/* set socket option SO_REUSEADDR */
/* set socket option SO_REUSEADDR (only for TCP socket) */
if (!server->unix_socket)
{
set = 1;
@@ -621,19 +621,22 @@ relay_server_create_socket (struct t_relay_server *server)
}
#endif
/* set option SO_REUSEADDR to 1 */
set = 1;
if (setsockopt (server->sock, SOL_SOCKET, SO_REUSEADDR,
(void *) &set, sizeof (set)) < 0)
/* set option SO_REUSEADDR to 1 (only for TCP socket) */
if (!server->unix_socket)
{
weechat_printf (NULL,
_("%s%s: cannot set socket option \"%s\" to %d: "
"error %d %s"),
weechat_prefix ("error"), RELAY_PLUGIN_NAME,
"SO_REUSEADDR", set, errno, strerror (errno));
close (server->sock);
server->sock = -1;
return 0;
set = 1;
if (setsockopt (server->sock, SOL_SOCKET, SO_REUSEADDR,
(void *) &set, sizeof (set)) < 0)
{
weechat_printf (NULL,
_("%s%s: cannot set socket option \"%s\" to %d: "
"error %d %s"),
weechat_prefix ("error"), RELAY_PLUGIN_NAME,
"SO_REUSEADDR", set, errno, strerror (errno));
close (server->sock);
server->sock = -1;
return 0;
}
}
/* set option SO_KEEPALIVE to 1 */