[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[or-cvs] r14230: Code (disabled) to get way too much info about the contents (in tor/trunk: . src/or)



Author: nickm
Date: 2008-03-29 00:27:34 -0400 (Sat, 29 Mar 2008)
New Revision: 14230

Modified:
   tor/trunk/
   tor/trunk/src/or/dirserv.c
   tor/trunk/src/or/or.h
   tor/trunk/src/or/routerlist.c
Log:
 r19118@catbus:  nickm | 2008-03-29 00:27:08 -0400
 Code (disabled) to get way too much info about the contents of old_routers on USR1.



Property changes on: tor/trunk
___________________________________________________________________
 svk:merge ticket from /tor/trunk [r19118] on 8246c3cf-6607-4228-993b-4d95d33730f1

Modified: tor/trunk/src/or/dirserv.c
===================================================================
--- tor/trunk/src/or/dirserv.c	2008-03-28 23:42:46 UTC (rev 14229)
+++ tor/trunk/src/or/dirserv.c	2008-03-29 04:27:34 UTC (rev 14230)
@@ -2939,6 +2939,7 @@
 static int
 connection_dirserv_add_servers_to_outbuf(dir_connection_t *conn)
 {
+  time_t now = time(NULL);
   int by_fp = (conn->dir_spool_src == DIR_SPOOL_SERVER_BY_FP ||
                conn->dir_spool_src == DIR_SPOOL_EXTRA_BY_FP);
   int extra = (conn->dir_spool_src == DIR_SPOOL_EXTRA_BY_FP ||
@@ -2966,7 +2967,7 @@
        * unknown bridge descriptor has shown up between then and now. */
       continue;
     }
-
+    sd->last_served_at = now;
     body = signed_descriptor_get_body(sd);
     if (conn->zlib_state) {
       int last = ! smartlist_len(conn->fingerprint_stack);

Modified: tor/trunk/src/or/or.h
===================================================================
--- tor/trunk/src/or/or.h	2008-03-28 23:42:46 UTC (rev 14229)
+++ tor/trunk/src/or/or.h	2008-03-29 04:27:34 UTC (rev 14230)
@@ -1221,6 +1221,8 @@
   /** The valid-until time of the most recent consensus that listed this
    * descriptor.  0 for "never listed in a consensus, so far as we know." */
   time_t last_listed_as_valid_until;
+  /** DOCDOC */
+  time_t last_served_at; /*XXXX021 remove if not useful. */
   /* If true, we do not ever try to save this object in the cache. */
   unsigned int do_not_cache : 1;
   /* If true, this item is meant to represent an extrainfo. */

Modified: tor/trunk/src/or/routerlist.c
===================================================================
--- tor/trunk/src/or/routerlist.c	2008-03-28 23:42:46 UTC (rev 14229)
+++ tor/trunk/src/or/routerlist.c	2008-03-29 04:27:34 UTC (rev 14230)
@@ -2247,11 +2247,43 @@
   SMARTLIST_FOREACH(routerlist->old_routers, signed_descriptor_t *, sd,
                     olddescs += sd->signed_descriptor_len);
 
-  log(severity, LD_GENERAL,
+  log(severity, LD_DIR,
       "In %d live descriptors: "U64_FORMAT" bytes.  "
       "In %d old descriptors: "U64_FORMAT" bytes.",
       smartlist_len(routerlist->routers), U64_PRINTF_ARG(livedescs),
       smartlist_len(routerlist->old_routers), U64_PRINTF_ARG(olddescs));
+
+#if 0
+  {
+    const smartlist_t *networkstatus_v2_list = networkstatus_get_v2_list();
+    networkstatus_t *consensus = networkstatus_get_latest_consensus();
+    log(severity, LD_DIR, "Now let's look through old_descriptors!");
+    SMARTLIST_FOREACH(routerlist->old_routers, signed_descriptor_t *, sd, {
+        int in_v2 = 0;
+        int in_v3 = 0;
+        char published[ISO_TIME_LEN+1];
+        char last_valid_until[ISO_TIME_LEN+1];
+        char last_served_at[ISO_TIME_LEN+1];
+        char id[HEX_DIGEST_LEN+1];
+        format_iso_time(published, sd->published_on);
+        format_iso_time(last_valid_until, sd->last_listed_as_valid_until);
+        format_iso_time(last_served_at, sd->last_served_at);
+        base16_encode(id, sizeof(id), sd->identity_digest, DIGEST_LEN);
+        SMARTLIST_FOREACH(networkstatus_v2_list, networkstatus_v2_t *, ns,
+          if (networkstatus_v2_find_entry(ns, sd->identity_digest)) {
+            in_v2 = 1; break;
+          });
+        if (consensus && networkstatus_vote_find_entry(consensus,
+                                                       sd->identity_digest))
+          in_v3 = 1;
+        log(severity, LD_DIR,
+            "Old descriptor for %s (published %s) %sin v2 ns, %sin v3 "
+            "consensus.  Last valid until %s; last served at %s.",
+            id, published, in_v2 ? "" : "not ", in_v3 ? "" : "not ",
+            last_valid_until, last_served_at);
+    });
+  }
+#endif
 }
 
 static INLINE int