[tor-commits] [tor/master] Merge remote-tracking branch 'dgoulet/ticket16943_029_05-squashed'

nickm at torproject.org nickm at torproject.org
Fri Jul 1 19:35:16 UTC 2016


commit aaa31290431ea2cd1d1e8498dbe271eb53d2389d
Merge: 738a8c6 36e201d
Author: Nick Mathewson <nickm at torproject.org>
Date:   Fri Jul 1 15:29:05 2016 -0400

    Merge remote-tracking branch 'dgoulet/ticket16943_029_05-squashed'
    
    Trivial Conflicts:
    	src/or/or.h
    	src/or/routerparse.c

 changes/bug16943              |    8 +
 doc/tor.1.txt                 |    6 +
 src/common/util.c             |   21 +
 src/common/util.h             |    2 +
 src/or/config.c               |    1 +
 src/or/directory.c            |    5 +
 src/or/dirvote.c              |  187 ++++--
 src/or/dirvote.h              |   45 +-
 src/or/include.am             |    4 +
 src/or/main.c                 |   13 +
 src/or/networkstatus.c        |   18 +-
 src/or/networkstatus.h        |    4 +-
 src/or/or.h                   |   21 +
 src/or/routerlist.c           |    4 +-
 src/or/routerlist.h           |    3 +-
 src/or/routerparse.c          |  158 +++++
 src/or/shared_random.c        | 1354 +++++++++++++++++++++++++++++++++++++++++
 src/or/shared_random.h        |  166 +++++
 src/or/shared_random_state.c  | 1353 ++++++++++++++++++++++++++++++++++++++++
 src/or/shared_random_state.h  |  146 +++++
 src/test/include.am           |    1 +
 src/test/sr_srv_calc_ref.py   |   71 +++
 src/test/test.c               |    1 +
 src/test/test.h               |    1 +
 src/test/test_dir.c           |   87 ++-
 src/test/test_routerlist.c    |   17 +
 src/test/test_shared_random.c | 1261 ++++++++++++++++++++++++++++++++++++++
 27 files changed, 4889 insertions(+), 69 deletions(-)

diff --cc src/or/networkstatus.c
index 5415c30,cf395f9..0dfb8af
--- a/src/or/networkstatus.c
+++ b/src/or/networkstatus.c
@@@ -1216,56 -1189,10 +1226,56 @@@ consensus_is_waiting_for_certs(void
      ? 1 : 0;
  }
  
 +/** Look up the currently active (depending on bootstrap status) download
 + * status for this consensus flavor and return a pointer to it.
 + */
 +MOCK_IMPL(download_status_t *,
 +networkstatus_get_dl_status_by_flavor,(consensus_flavor_t flavor))
 +{
 +  download_status_t *dl = NULL;
 +  const int we_are_bootstrapping =
 +    networkstatus_consensus_is_bootstrapping(time(NULL));
 +
 +  if ((int)flavor <= N_CONSENSUS_FLAVORS) {
 +    dl = &((we_are_bootstrapping ?
 +           consensus_bootstrap_dl_status : consensus_dl_status)[flavor]);
 +  }
 +
 +  return dl;
 +}
 +
 +/** Look up the bootstrap download status for this consensus flavor
 + * and return a pointer to it. */
 +MOCK_IMPL(download_status_t *,
 +networkstatus_get_dl_status_by_flavor_bootstrap,(consensus_flavor_t flavor))
 +{
 +  download_status_t *dl = NULL;
 +
 +  if ((int)flavor <= N_CONSENSUS_FLAVORS) {
 +    dl = &(consensus_bootstrap_dl_status[flavor]);
 +  }
 +
 +  return dl;
 +}
 +
 +/** Look up the running (non-bootstrap) download status for this consensus
 + * flavor and return a pointer to it. */
 +MOCK_IMPL(download_status_t *,
 +networkstatus_get_dl_status_by_flavor_running,(consensus_flavor_t flavor))
 +{
 +  download_status_t *dl = NULL;
 +
 +  if ((int)flavor <= N_CONSENSUS_FLAVORS) {
 +    dl = &(consensus_dl_status[flavor]);
 +  }
 +
 +  return dl;
 +}
 +
  /** Return the most recent consensus that we have downloaded, or NULL if we
   * don't have one. */
- networkstatus_t *
- networkstatus_get_latest_consensus(void)
+ MOCK_IMPL(networkstatus_t *,
+ networkstatus_get_latest_consensus,(void))
  {
    return current_consensus;
  }
diff --cc src/or/or.h
index a1a0810,1b7f1a8..ed799b9
--- a/src/or/or.h
+++ b/src/or/or.h
@@@ -4499,10 -4496,11 +4514,16 @@@ typedef struct 
    /** Autobool: Do we try to retain capabilities if we can? */
    int KeepBindCapabilities;
  
 +  /** Maximum total size of unparseable descriptors to log during the
 +   * lifetime of this Tor process.
 +   */
 +  uint64_t MaxUnparseableDescSizeToLog;
++
+   /** Bool (default: 1): Switch for the shared random protocol. Only
+    * relevant to a directory authority. If off, the authority won't
+    * participate in the protocol. If on (default), a flag is added to the
+    * vote indicating participation. */
+   int AuthDirSharedRandomness;
  } or_options_t;
  
  /** Persistent state for an onion router, as saved to disk. */
diff --cc src/or/routerparse.c
index d257910,88cfbdc..0f9b9f7
--- a/src/or/routerparse.c
+++ b/src/or/routerparse.c
@@@ -28,7 -28,7 +28,8 @@@
  #include "routerparse.h"
  #include "entrynodes.h"
  #include "torcert.h"
 +#include "sandbox.h"
+ #include "shared_random.h"
  
  #undef log
  #include <math.h>





More information about the tor-commits mailing list