From 4b8282e50cce1c63afbf7f501de1312a6f283387 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Fri, 25 Oct 2013 11:52:02 -0400 Subject: [PATCH] Log the origin address of controller connections Resolves 9698; patch from "sigpipe". --- changes/bug9698 | 3 +++ src/or/connection.c | 7 ++++++- 2 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 changes/bug9698 diff --git a/changes/bug9698 b/changes/bug9698 new file mode 100644 index 0000000000..ee5c4f64a5 --- /dev/null +++ b/changes/bug9698 @@ -0,0 +1,3 @@ + o Minor features: + - When receiving a new controller connection, log the origin address. + Resolves ticket 9698; patch from "sigpipe". diff --git a/src/or/connection.c b/src/or/connection.c index 8cf23ab0ef..648fa32703 100644 --- a/src/or/connection.c +++ b/src/or/connection.c @@ -334,7 +334,6 @@ control_connection_new(int socket_family) tor_malloc_zero(sizeof(control_connection_t)); connection_init(time(NULL), TO_CONN(control_conn), CONN_TYPE_CONTROL, socket_family); - log_notice(LD_CONTROL, "New control connection opened."); return control_conn; } @@ -1377,11 +1376,17 @@ connection_handle_listener_read(connection_t *conn, int new_type) TO_ENTRY_CONN(newconn)->socks_request->socks_prefer_no_auth = TO_LISTENER_CONN(conn)->socks_prefer_no_auth; } + if (new_type == CONN_TYPE_CONTROL) { + log_notice(LD_CONTROL, "New control connection opened from %s.", + fmt_and_decorate_addr(&addr)); + } } else if (conn->socket_family == AF_UNIX) { /* For now only control ports can be Unix domain sockets * and listeners at the same time */ tor_assert(conn->type == CONN_TYPE_CONTROL_LISTENER); + tor_assert(new_type == CONN_TYPE_CONTROL); + log_notice(LD_CONTROL, "New control connection opened."); newconn = connection_new(new_type, conn->socket_family); newconn->s = news;