]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Correctly report written bytes on linked connections.
authorKarsten Loesing <karsten.loesing@gmx.net>
Mon, 9 Aug 2010 13:25:09 +0000 (15:25 +0200)
committerKarsten Loesing <karsten.loesing@gmx.net>
Wed, 18 Aug 2010 11:54:41 +0000 (13:54 +0200)
changes/bugfoundin1790 [new file with mode: 0644]
src/or/connection.c

diff --git a/changes/bugfoundin1790 b/changes/bugfoundin1790
new file mode 100644 (file)
index 0000000..0a18fe1
--- /dev/null
@@ -0,0 +1,4 @@
+  o Minor bugfixes:
+    - Correctly report written bytes on linked connections. Found while
+      implementing 1790. Bugfix on 0.2.2.4-alpha.
+
index 5438cf7d0dd1f3d1c4e6e61b86a9ad67baa093dd..99ce7fffeff6e39d818479178d549273b7f54590 100644 (file)
@@ -2409,8 +2409,12 @@ loop_again:
     connection_t *linked = conn->linked_conn;
 
     if (n_read) {
-      /* Probably a no-op, but hey. */
-      connection_buckets_decrement(linked, approx_time(), n_read, 0);
+      /* Probably a no-op, since linked conns typically don't count for
+       * bandwidth rate limiting. But do it anyway so we can keep stats
+       * accurately. Note that since we read the bytes from conn, and
+       * we're writing the bytes onto the linked connection, we count
+       * these as <i>written</i> bytes. */
+      connection_buckets_decrement(linked, approx_time(), 0, n_read);
 
       if (connection_flushed_some(linked) < 0)
         connection_mark_for_close(linked);