]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Merge commit 'karsten/dirbytes2'
authorNick Mathewson <nickm@torproject.org>
Wed, 18 Aug 2010 14:06:14 +0000 (10:06 -0400)
committerNick Mathewson <nickm@torproject.org>
Wed, 18 Aug 2010 14:06:14 +0000 (10:06 -0400)
Conflicts:
src/or/rephist.h

1  2 
src/or/config.c
src/or/connection.c
src/or/or.h
src/or/rephist.c
src/or/rephist.h

diff --cc src/or/config.c
Simple merge
index a16eb37a1499f0c6fd4e4cf7b4e89a33d4440652,99ce7fffeff6e39d818479178d549273b7f54590..c040be041efcf25bb1cf59c446ee61ee7721ebf2
@@@ -2095,7 -2093,19 +2093,17 @@@ connection_buckets_decrement(connection
      tor_fragile_assert();
    }
  
+   /* Count bytes of answering direct and tunneled directory requests */
+   if (conn->type == CONN_TYPE_DIR && conn->purpose == DIR_PURPOSE_SERVER) {
+     if (num_read > 0)
+       rep_hist_note_dir_bytes_read(num_read, now);
+     if (num_written > 0)
+       rep_hist_note_dir_bytes_written(num_written, now);
+   }
+   if (!connection_is_rate_limited(conn))
+     return; /* local IPs are free */
    if (num_read > 0) {
 -    if (conn->type == CONN_TYPE_EXIT)
 -      rep_hist_note_exit_bytes_read(conn->port, num_read);
      rep_hist_note_bytes_read(num_read, now);
    }
    if (num_written > 0) {
diff --cc src/or/or.h
Simple merge
Simple merge
index 02ab2f1cbd8b52b6675baae8704095de2d9c1305,dc756df50130a5636182ab4ab4dcdc90390c911a..c3914dcaf24b51ba47814c47b235bf5f99ef437f
@@@ -23,6 -23,14 +23,10 @@@ void rep_hist_note_extend_failed(const 
  void rep_hist_dump_stats(time_t now, int severity);
  void rep_hist_note_bytes_read(size_t num_bytes, time_t when);
  void rep_hist_note_bytes_written(size_t num_bytes, time_t when);
 -void rep_hist_note_exit_bytes_read(uint16_t port, size_t num_bytes);
 -void rep_hist_note_exit_bytes_written(uint16_t port, size_t num_bytes);
 -void rep_hist_note_exit_stream_opened(uint16_t port);
 -void rep_hist_exit_stats_init(time_t now);
 -time_t rep_hist_exit_stats_write(time_t now);
 -void rep_hist_exit_stats_term(void);
++
+ void rep_hist_note_dir_bytes_read(size_t num_bytes, time_t when);
+ void rep_hist_note_dir_bytes_written(size_t num_bytes, time_t when);
++
  int rep_hist_bandwidth_assess(void);
  char *rep_hist_get_bandwidth_lines(int for_extrainfo);
  void rep_hist_update_state(or_state_t *state);