From: Stephan Bosch Date: Wed, 27 Feb 2019 01:28:23 +0000 (+0100) Subject: lib: connection - Add connection_init_server_ip(). X-Git-Tag: 2.3.9~740 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=173ca30fe0ae8a4cdefb4180d020016257b8f8ce;p=thirdparty%2Fdovecot%2Fcore.git lib: connection - Add connection_init_server_ip(). --- diff --git a/src/lib/connection.c b/src/lib/connection.c index b11bd9d88e..dec7223409 100644 --- a/src/lib/connection.c +++ b/src/lib/connection.c @@ -402,6 +402,20 @@ void connection_init_server(struct connection_list *list, connection_init_streams(conn); } +void connection_init_server_ip(struct connection_list *list, + struct connection *conn, const char *name, + int fd_in, int fd_out, + const struct ip_addr *remote_ip, + in_port_t remote_port) +{ + if (remote_ip != NULL && remote_ip->family != 0) + conn->remote_ip = *remote_ip; + if (remote_port != 0) + conn->remote_port = remote_port; + + connection_init_server(list, conn, name, fd_in, fd_out); +} + void connection_init_client_fd(struct connection_list *list, struct connection *conn, const char *name, int fd_in, int fd_out) diff --git a/src/lib/connection.h b/src/lib/connection.h index 7e43fd2dec..50443b749b 100644 --- a/src/lib/connection.h +++ b/src/lib/connection.h @@ -160,6 +160,11 @@ void connection_init(struct connection_list *list, struct connection *conn, void connection_init_server(struct connection_list *list, struct connection *conn, const char *name, int fd_in, int fd_out); +void connection_init_server_ip(struct connection_list *list, + struct connection *conn, const char *name, + int fd_in, int fd_out, + const struct ip_addr *remote_ip, + in_port_t remote_port) ATTR_NULL(6); void connection_init_client_ip(struct connection_list *list, struct connection *conn, const char *name, const struct ip_addr *ip, in_port_t port)