[tor-commits] [tor/master] mainloop: Explain local connections better

teor at torproject.org teor at torproject.org
Fri Feb 14 00:15:19 UTC 2020


commit 98899f20ad22e97c03235cfe13ff1fe416a15509
Author: teor <teor at torproject.org>
Date:   Fri Feb 14 10:13:00 2020 +1000

    mainloop: Explain local connections better
    
    Some connections aren't counted for statistics or accounting,
    because they have been specifically configured by the user to
    local addresses.
    
    Comment-only change.
    
    Closes 33201.
---
 src/core/mainloop/connection.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/src/core/mainloop/connection.c b/src/core/mainloop/connection.c
index 4a2dc21f1..48f31922d 100644
--- a/src/core/mainloop/connection.c
+++ b/src/core/mainloop/connection.c
@@ -3345,8 +3345,17 @@ record_num_bytes_transferred_impl(connection_t *conn,
       rep_hist_note_dir_bytes_written(num_written, now);
   }
 
+  /* Linked connections and internal IPs aren't counted for statistics or
+   * accounting:
+   *  - counting linked connections would double-count BEGINDIR bytes, because
+   *    they are sent as Dir bytes on the linked connection, and OR bytes on
+   *    the OR connection;
+   *  - relays and clients don't connect to internal IPs, unless specifically
+   *    configured to do so. If they are configured that way, we don't count
+   *    internal bytes.
+   */
   if (!connection_is_rate_limited(conn))
-    return; /* local IPs are free */
+    return;
 
   if (conn->type == CONN_TYPE_OR)
     rep_hist_note_or_conn_bytes(conn->global_identifier, num_read,



More information about the tor-commits mailing list