diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2013-06-01 15:52:11 +0100 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2013-06-01 15:52:11 +0100 |
commit | 37845898cbf779c7d3b5664997d0db48968c929c (patch) | |
tree | a190b5ee9d152ba60135136bbe8108d7da81166c /src/lmtp_proto.c | |
parent | 8cc2aee8859731ee2fe280070423f79e7d009ca3 (diff) | |
download | rspamd-37845898cbf779c7d3b5664997d0db48968c929c.tar.gz rspamd-37845898cbf779c7d3b5664997d0db48968c929c.zip |
Rework socket creation logic to support both ipv4 and ipv6 sockets.
Diffstat (limited to 'src/lmtp_proto.c')
-rw-r--r-- | src/lmtp_proto.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/lmtp_proto.c b/src/lmtp_proto.c index eb92ed7c1..95b8ca13a 100644 --- a/src/lmtp_proto.c +++ b/src/lmtp_proto.c @@ -416,6 +416,7 @@ mta_read_socket (f_str_t * in, void *arg) return FALSE; } cd->state = LMTP_WANT_CLOSING; + break; case LMTP_WANT_CLOSING: if (!parse_mta_str (in, cd)) { msg_warn ("message not delivered"); @@ -452,10 +453,11 @@ lmtp_deliver_mta (struct worker_task *task) if (task->cfg->deliver_family == AF_UNIX) { un = alloca (sizeof (struct sockaddr_un)); - sock = make_unix_socket (task->cfg->deliver_host, un, FALSE, TRUE); + sock = make_unix_socket (task->cfg->deliver_host, un, SOCK_STREAM, FALSE, TRUE); } else { - sock = make_tcp_socket (&task->cfg->deliver_addr, task->cfg->deliver_port, FALSE, TRUE); + sock = make_universal_socket (task->cfg->deliver_host, task->cfg->deliver_port, + SOCK_STREAM, TRUE, FALSE, TRUE); } if (sock == -1) { msg_warn ("cannot create socket for %s, %s", task->cfg->deliver_host, strerror (errno)); |