aboutsummaryrefslogtreecommitdiffstats
path: root/src/util.c
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@rambler-co.ru>2009-08-25 15:13:24 +0400
committerVsevolod Stakhov <vsevolod@rambler-co.ru>2009-08-25 15:13:24 +0400
commitab8f97db48ceefef5fdf47ea8a5954da635ffa31 (patch)
tree41fcd689903bbc215f168d0db7ff3ca697197da4 /src/util.c
parent034d3a91d5c60328bd99fc279f2a0ffa89d258d1 (diff)
downloadrspamd-ab8f97db48ceefef5fdf47ea8a5954da635ffa31.tar.gz
rspamd-ab8f97db48ceefef5fdf47ea8a5954da635ffa31.zip
* Migrate fuzzy storage to use UDP instead of TCP
Diffstat (limited to 'src/util.c')
-rw-r--r--src/util.c18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/util.c b/src/util.c
index 5fe99d051..bbe7ff666 100644
--- a/src/util.c
+++ b/src/util.c
@@ -50,15 +50,15 @@ make_socket_nonblocking (int fd)
return 0;
}
-int
-make_tcp_socket (struct in_addr *addr, u_short port, gboolean is_server, gboolean async)
+static int
+make_inet_socket (int family, struct in_addr *addr, u_short port, gboolean is_server, gboolean async)
{
int fd, r, optlen, on = 1, s_error;
int serrno;
struct sockaddr_in sin;
/* Create socket */
- fd = socket (AF_INET, SOCK_STREAM, 0);
+ fd = socket (AF_INET, family, 0);
if (fd == -1) {
msg_warn ("make_tcp_socket: socket failed: %d, '%s'", errno, strerror (errno));
return -1;
@@ -114,6 +114,18 @@ make_tcp_socket (struct in_addr *addr, u_short port, gboolean is_server, gboolea
}
int
+make_tcp_socket (struct in_addr *addr, u_short port, gboolean is_server, gboolean async)
+{
+ return make_inet_socket (SOCK_STREAM, addr, port, is_server, async);
+}
+
+int
+make_udp_socket (struct in_addr *addr, u_short port, gboolean is_server, gboolean async)
+{
+ return make_inet_socket (SOCK_DGRAM, addr, port, is_server, async);
+}
+
+int
accept_from_socket (int listen_sock, struct sockaddr *addr, socklen_t *len)
{
int nfd;