summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2016-08-04 23:51:47 -0400
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2016-08-05 08:16:31 -0400
commitea8f50f8085ce9385676385006030e8886cabaa6 (patch)
treed4f40d9a6e6c4e26dec4cdb66324e38b73eaf3be /src
parent3ebcd323bdeeb55bb963fe5e9d97a87f96fd8879 (diff)
core/socket: include remote address in the message when dropping connection
Without the address the message is not very useful. Aug 04 23:52:21 rawhide systemd[1]: testlimit.socket: Too many incoming connections (4) from source ::1, dropping connection.
Diffstat (limited to 'src')
-rw-r--r--src/core/socket.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/core/socket.c b/src/core/socket.c
index 0d77694251..b8a2f7fff8 100644
--- a/src/core/socket.c
+++ b/src/core/socket.c
@@ -2187,7 +2187,7 @@ static void socket_enter_running(Socket *s, int cfd) {
Service *service;
if (s->n_connections >= s->max_connections) {
- log_unit_warning(UNIT(s), "Too many incoming connections (%u), refusing connection attempt.",
+ log_unit_warning(UNIT(s), "Too many incoming connections (%u), dropping connection.",
s->n_connections);
safe_close(cfd);
return;
@@ -2199,9 +2199,13 @@ static void socket_enter_running(Socket *s, int cfd) {
safe_close(cfd);
return;
} else if (r > 0 && p->n_ref > s->max_connections_per_source) {
+ _cleanup_free_ char *t = NULL;
+
+ sockaddr_pretty(&p->peer.sa, FAMILY_ADDRESS_SIZE(p->peer.sa.sa_family), true, false, &t);
+
log_unit_warning(UNIT(s),
- "Too many incoming connections (%u) from source, refusing connection attempt.",
- p->n_ref);
+ "Too many incoming connections (%u) from source %s, dropping connection.",
+ p->n_ref, strnull(t));
safe_close(cfd);
return;
}