From: Jaroslav Kysela Date: Mon, 30 Nov 2015 16:51:40 +0000 (+0100) Subject: tcp: show the TCP server binding in log X-Git-Tag: v4.2.1~1441 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=dcc032438e1abc3abf57093811a7a2b30f6114f9;p=thirdparty%2Ftvheadend.git tcp: show the TCP server binding in log --- diff --git a/src/htsp_server.c b/src/htsp_server.c index a54767263..b0ba34da3 100644 --- a/src/htsp_server.c +++ b/src/htsp_server.c @@ -3224,9 +3224,9 @@ htsp_init(const char *bindaddr) .stop = NULL, .cancel = htsp_server_cancel }; - htsp_server = tcp_server_create(bindaddr, tvheadend_htsp_port, &ops, NULL); + htsp_server = tcp_server_create("htsp", "HTSP", bindaddr, tvheadend_htsp_port, &ops, NULL); if(tvheadend_htsp_port_extra) - htsp_server_2 = tcp_server_create(bindaddr, tvheadend_htsp_port_extra, &ops, NULL); + htsp_server_2 = tcp_server_create("htsp", "HTSP2", bindaddr, tvheadend_htsp_port_extra, &ops, NULL); } /* diff --git a/src/http.c b/src/http.c index 1d91ed20c..7ae844e97 100644 --- a/src/http.c +++ b/src/http.c @@ -1222,7 +1222,7 @@ http_server_init(const char *bindaddr) .stop = NULL, .cancel = http_cancel }; - http_server = tcp_server_create(bindaddr, tvheadend_webui_port, &ops, NULL); + http_server = tcp_server_create("http", "HTTP", bindaddr, tvheadend_webui_port, &ops, NULL); } void diff --git a/src/satip/rtsp.c b/src/satip/rtsp.c index 14ec8b68c..ba1cf6701 100644 --- a/src/satip/rtsp.c +++ b/src/satip/rtsp.c @@ -1614,7 +1614,7 @@ void satip_server_rtsp_init rtsp_nat_ip = nat_ip ? strdup(nat_ip) : NULL; free(s); if (!rtsp_server) - rtsp_server = tcp_server_create(bindaddr, port, &ops, NULL); + rtsp_server = tcp_server_create("satips", "SAT>IP RTSP", bindaddr, port, &ops, NULL); if (reg) tcp_server_register(rtsp_server); } diff --git a/src/tcp.c b/src/tcp.c index f7a348e4b..4bf8b8435 100644 --- a/src/tcp.c +++ b/src/tcp.c @@ -738,20 +738,18 @@ next: * */ #if ENABLE_LIBSYSTEMD_DAEMON -static void * -tcp_server_create_new - (const char *bindaddr, int port, tcp_server_ops_t *ops, void *opaque) +static void *tcp_server_create_new #else -void * -tcp_server_create - (const char *bindaddr, int port, tcp_server_ops_t *ops, void *opaque) +void *tcp_server_create #endif + (const char *subsystem, const char *name, const char *bindaddr, + int port, tcp_server_ops_t *ops, void *opaque) { int fd, x; tcp_server_t *ts; struct addrinfo hints, *res, *ressave, *use = NULL; struct sockaddr_storage bound; - char port_buf[6]; + char port_buf[6], buf[50]; int one = 1; int zero = 0; @@ -815,6 +813,10 @@ tcp_server_create ts->bound = bound; ts->ops = *ops; ts->opaque = opaque; + + tcp_get_str_from_ip((const struct sockaddr *)&bound, buf, sizeof(buf)); + tvhlog(LOG_INFO, subsystem, "Starting %s server %s:%d", name, buf, htons(IP_PORT(bound))); + return ts; } @@ -824,13 +826,15 @@ tcp_server_create */ void * tcp_server_create - (const char *bindaddr, int port, tcp_server_ops_t *ops, void *opaque) + (const char *subsystem, const char *name, const char *bindaddr, + int port, tcp_server_ops_t *ops, void *opaque) { int sd_fds_num, i, fd; struct sockaddr_storage bound; tcp_server_t *ts; struct in_addr addr4; struct in6_addr addr6; + char buf[50]; int found = 0; sd_fds_num = sd_listen_fds(0); @@ -876,6 +880,8 @@ tcp_server_create ts->bound = bound; ts->ops = *ops; ts->opaque = opaque; + tcp_get_str_from_ip((const struct sockaddr *)&bound, buf, sizeof(buf)); + tvhlog(LOG_INFO, subsystem, "Starting %s server %s:%d (systemd)", subsystem, name, buf, htons(IP_PORT(bound))); } else { /* no systemd-managed socket found, create a new one */ tvhlog(LOG_INFO, "tcp", "No systemd socket: creating a new one"); diff --git a/src/tcp.h b/src/tcp.h index e449b9608..cefb9ee24 100644 --- a/src/tcp.h +++ b/src/tcp.h @@ -67,8 +67,9 @@ typedef void (tcp_server_callback_t)(int fd, void *opaque, struct sockaddr_storage *peer, struct sockaddr_storage *self); -void *tcp_server_create(const char *bindaddr, int port, - tcp_server_ops_t *ops, void *opaque); +void *tcp_server_create(const char *subsystem, const char *name, + const char *bindaddr, int port, + tcp_server_ops_t *ops, void *opaque); void tcp_server_register(void *server);