Commit aaa31290 authored by Nick Mathewson's avatar Nick Mathewson 🤹
Browse files

Merge remote-tracking branch 'dgoulet/ticket16943_029_05-squashed'

Trivial Conflicts:
	src/or/or.h
	src/or/routerparse.c
parents 738a8c65 36e201df
Loading
Loading
Loading
Loading

changes/bug16943

0 → 100644
+8 −0
Original line number Diff line number Diff line
  o Major features (dirauths, security, hidden services):
    - Directory authorities can now perform the shared randomness protocol
      specified by proposal 250. Using this protocol, directory authorities can
      generate a global fresh random number every day. In the future, this
      global randomness will be used by hidden services to select their
      responsible HSDirs. This release only implements the directory authority
      feature; the hidden service side will be implemented in the future as
      part of proposal 224 . Resolves ticket #16943 and proposal 250.
+6 −0
Original line number Diff line number Diff line
@@ -2239,6 +2239,12 @@ on the public Tor network.
    in a journal if it is new, or if it differs from the most recently
    accepted pinning for one of the keys it contains. (Default: 0)

[[AuthDirSharedRandomness]] **AuthDirSharedRandomness** **0**|**1**::
    Authoritative directories only. Switch for the shared random protocol.
    If zero, the authority won't participate in the protocol. If non-zero
    (default), the flag "shared-rand-participate" is added to the authority
    vote indicating participation in the protocol. (Default: 1)

[[BridgePassword]] **BridgePassword** __Password__::
    If set, contains an HTTP authenticator that tells a bridge authority to
    serve all requested bridge information. Used by the (only partially
+21 −0
Original line number Diff line number Diff line
@@ -5687,3 +5687,24 @@ clamp_double_to_int64(double number)
  return signbit(number) ? INT64_MIN : INT64_MAX;
}

/** Return a uint64_t value from <b>a</b> in network byte order. */
uint64_t
tor_htonll(uint64_t a)
{
#ifdef WORDS_BIGENDIAN
  /* Big endian. */
  return a;
#else /* WORDS_BIGENDIAN */
  /* Little endian. The worst... */
  return htonl((uint32_t)(a>>32)) |
    (((uint64_t)htonl((uint32_t)a))<<32);
#endif /* WORDS_BIGENDIAN */
}

/** Return a uint64_t value from <b>a</b> in host byte order. */
uint64_t
tor_ntohll(uint64_t a)
{
  return tor_htonll(a);
}
+2 −0
Original line number Diff line number Diff line
@@ -61,6 +61,8 @@ void *tor_memdup_(const void *mem, size_t len DMALLOC_PARAMS)
void *tor_memdup_nulterm_(const void *mem, size_t len DMALLOC_PARAMS)
  ATTR_MALLOC ATTR_NONNULL((1));
void tor_free_(void *mem);
uint64_t tor_htonll(uint64_t a);
uint64_t tor_ntohll(uint64_t a);
#ifdef USE_DMALLOC
extern int dmalloc_free(const char *file, const int line, void *pnt,
                        const int func_id);
+1 −0
Original line number Diff line number Diff line
@@ -440,6 +440,7 @@ static config_var_t option_vars_[] = {
  V(UseNTorHandshake,            AUTOBOOL, "1"),
  V(User,                        STRING,   NULL),
  V(UserspaceIOCPBuffers,        BOOL,     "0"),
  V(AuthDirSharedRandomness,     BOOL,     "1"),
  OBSOLETE("V1AuthoritativeDirectory"),
  OBSOLETE("V2AuthoritativeDirectory"),
  VAR("V3AuthoritativeDirectory",BOOL, V3AuthoritativeDir,   "0"),
Loading