[tor-commits] [obfsproxy/master] Tweak code.

nickm at torproject.org nickm at torproject.org
Mon Feb 13 16:37:08 UTC 2012


commit b91353387ed9bbcf4f237aa4803bc54160f29fb3
Author: George Kadianakis <desnacked at riseup.net>
Date:   Mon Feb 13 18:26:44 2012 +0200

    Tweak code.
    
    * Free the heartbeat periodic event on halt.
    
    * Turn status.c:connections to an unsigned int.
    
    * Delete connections_init() and inline its code in status_init(). It's
      already inlined in the rest of the code.
    
    * Wrap connections_clear() into descriptive macros.
    
    * Use 'day(s)', 'hour(s)', 'minute(s)', instead of 'days', 'hours',
      'minutes'.
    
    * Write some documentation.
    
    * Heartbeat should log on 'notice'.
---
 src/main.c   |    5 ++++-
 src/status.c |   46 ++++++++++++++++------------------------------
 src/status.h |    3 +++
 3 files changed, 23 insertions(+), 31 deletions(-)

diff --git a/src/main.c b/src/main.c
index 607a153..0d690b7 100644
--- a/src/main.c
+++ b/src/main.c
@@ -271,10 +271,13 @@ obfsproxy_cleanup()
   evdns_base_free(get_evdns_base(), 0);
   event_free(sig_int);
   event_free(sig_term);
+  if (heartbeat)
+    event_free(heartbeat);
+
   event_base_free(get_event_base());
 
   cleanup_crypto();
-  status_cleanup();
+  status_connections_cleanup();
   close_obfsproxy_logfile();
 }
 
diff --git a/src/status.c b/src/status.c
index 80e1764..4fcb144 100644
--- a/src/status.c
+++ b/src/status.c
@@ -10,6 +10,7 @@
 
 #include "util.h"
 
+#include "status.h"
 #include "container.h"
 
 #include <string.h>
@@ -20,22 +21,15 @@
 #include <event2/listener.h>
 
 /** Count total connections. */
-static int connections = 0;
+static unsigned int connections = 0;
 
 /** Count connections from unique addresses. */
 static strmap_t *addresses = NULL;
 
-/** Initialize counting connections from unique addresses. */
-static void
-connections_init(void)
-{
-  if (!addresses)
-    addresses = strmap_new();
-}
-
-/** Clear connection counters. */
-static void
-connections_clear(int reinit)
+/** Clear connection counters. If <b>reinit</b> is false, don't
+    reinitialize the info-keeping structures. */
+void
+status_connections_clear(int reinit)
 {
   connections = 0;
   if (!addresses)
@@ -55,7 +49,7 @@ status_note_connection(const char *addrport)
   if ((p = strrchr(addr, ':'))) {
     *p = '\0';
   } else {
-    log_debug("Error in address %s: port expected.", addrport);
+    log_warn("Error in address %s: port expected.", addrport);
     free(addr);
     return;
   }
@@ -74,7 +68,7 @@ static time_t started = 0;
 static time_t last_reset_counters = 0;
 
 /** Reset status information this often. */
-#define RESET_COUNTERS 86400
+#define RESET_COUNTERS 86400 /* 86400 seconds == 24 hours */
 
 /** Initialize status information to print out heartbeat messages. */
 void
@@ -83,16 +77,8 @@ status_init(void)
   time_t now = time(NULL);
   started = now;
   last_reset_counters = now;
-  connections_init();
-}
-
-/** Free all memory used by printing heartbeat logs. */
-void
-status_cleanup(void)
-{
-  started = 0;
-  last_reset_counters = 0;
-  connections_clear(0);
+  if (!addresses)
+    addresses = strmap_new();
 }
 
 /** Log information about our uptime and the number of connections we saw.
@@ -106,18 +92,18 @@ status_log_heartbeat(void)
   int hours = (int)((secs - (days * 86400)) / 3600);
   int last_reset_hours = (int) (now - last_reset_counters) / 3600;
   int minutes = (int)((secs - (days * 86400) - (hours * 3600)) / 60);
-  log_info("Heartbeat: obfsproxy's uptime is %ld days, %d hours, and "
-           "%d minutes.", days, hours, minutes);
+  log_notice("Heartbeat: obfsproxy's uptime is %ld day(s), %d hour(s), and "
+             "%d minute(s).", days, hours, minutes);
 
   /* Also log connection stats, if we are keeping notes. */
   if (strmap_size(addresses) > 0)
-    log_info("Heartbeat: During the last %d hours we saw %d connections "
-             "from %d unique addresses.",
-             last_reset_hours, connections, strmap_size(addresses));
+    log_notice("Heartbeat: During the last %d hour(s) we saw %u connection(s) "
+               "from %d unique address(es).",
+               last_reset_hours, connections, strmap_size(addresses));
 
   if (now - last_reset_counters >= RESET_COUNTERS) {
     log_info("Resetting connection counters.");
-    connections_clear(1);
+    status_connections_reinit();
     last_reset_counters += RESET_COUNTERS;
   }
 }
diff --git a/src/status.h b/src/status.h
index 54dfb9c..e556a5b 100644
--- a/src/status.h
+++ b/src/status.h
@@ -11,3 +11,6 @@ void status_init(void);
 void status_cleanup(void);
 void status_note_connection(const char *addrport);
 void status_log_heartbeat(void);
+void status_connections_clear(int reinit);
+#define status_connections_cleanup() status_connections_clear(0)
+#define status_connections_reinit() status_connections_clear(1)



More information about the tor-commits mailing list