diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2017-11-01 10:56:08 +0200 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2017-11-01 10:56:08 +0200 |
commit | 4e7bcdbae346a26c1addf266a23c1f6cdc74533f (patch) | |
tree | 30f6721129f8a7688814b9dc88727e810770fbda /libmailutils/server/ipsrv.c | |
parent | a5e929972db1342beec4b8f577399f2d8d9a76c2 (diff) | |
download | mailutils-4e7bcdbae346a26c1addf266a23c1f6cdc74533f.tar.gz mailutils-4e7bcdbae346a26c1addf266a23c1f6cdc74533f.tar.bz2 |
Improve socket and SMTP client API
Split formatting functions into two distinct families. Functions prefixed
with mu_sys_sockadrr deal with struct sockaddr, wherease those starting with
mu_sockaddr deal with struct mu_sockaddr. Introduce special format for SMTP
EHLO.
When sending EHLO to the remote party, use IP address in square brackets
if hostname is empty.
* libmailutils/sockaddr/Makefile.am (libsockaddr_la_SOURCES): Add fromsock.c
* libmailutils/sockaddr/fromsock.c: New function.
* libmailutils/sockaddr/str.c (mu_sockaddr_format): Rewrite.
(mu_sys_sockaddr_format,mu_sys_sockaddr_to_astr): New functions.
* include/mailutils/debug.h (mu_sockaddr_to_astr): Remove prototype.
* include/mailutils/sockaddr.h (mu_sockaddr_format): New enum.
(mu_sockaddr_format): change signature.
(mu_sys_sockaddr_format,mu_sys_sockaddr_to_astr): New prototypes.
(mu_sockaddr_from_socket): New prototype.
* include/mailutils/stream.h (MU_IOCTL_TCPSTREAM): New ioctl family;
(MU_IOCTL_TCP_GETSOCKNAME): New ioctl opcode.
* comsat/comsat.c: Use mu_sys_sockaddr_ interface to handle
struct sockaddr.
* lib/tcpwrap.c: Likewise.
* libmailutils/server/ipsrv.c: Likewise.
* libmailutils/server/msrv.c: Likewise.
* libmailutils/stream/tcp.c (_tcp_ioctl): Handle MU_IOCTL_TCPSTREAM.
* libproto/mailer/smtp_ehlo.c (mu_smtp_ehlo): If hostname is empty,
use IP address in square brackets.
Diffstat (limited to 'libmailutils/server/ipsrv.c')
-rw-r--r-- | libmailutils/server/ipsrv.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libmailutils/server/ipsrv.c b/libmailutils/server/ipsrv.c index 4f9b28ccd..dd188f125 100644 --- a/libmailutils/server/ipsrv.c +++ b/libmailutils/server/ipsrv.c @@ -396,7 +396,7 @@ mu_ip_tcp_accept (mu_ip_server_t srv, void *call_data) IDENTSTR (srv), strerror (rc))); if (res == mu_acl_result_deny) { - char *p = mu_sockaddr_to_astr (&client.sa, size); + char *p = mu_sys_sockaddr_to_astr (&client.sa, size); mu_diag_output (MU_DIAG_INFO, "Denying connection from %s", p); free (p); @@ -479,7 +479,7 @@ mu_ip_udp_accept (mu_ip_server_t srv, void *call_data) IDENTSTR (srv), strerror (rc))); if (res == mu_acl_result_deny) { - char *p = mu_sockaddr_to_astr (&client.sa, salen); + char *p = mu_sys_sockaddr_to_astr (&client.sa, salen); mu_diag_output (MU_DIAG_INFO, "Denying connection from %s", p); free (p); return 0; |