<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <blockquote type="cite"
      cite="mid:D3E103A1-9C43-44EA-88C9-AD94912B0D3D@riseup.net">
      <div dir="ltr"><br>
        <div>We recently changed the bootstrap percentages and messages
          in Tor.</div>
        <div>Please paste the log lines that containing these bootstrap
          messages.</div>
        <div>And any error messages near those lines.</div>
      </div>
    </blockquote>
    Feb 14 10:37:46.000 [notice] Bootstrapped 10%: Finishing handshake
    with directory server<br>
    Feb 14 10:38:32.000 [notice] I learned some more directory
    information, but not enough to build a circuit: We have no usable
    consensus.<br>
    Feb 14 10:38:32.000 [notice] I learned some more directory
    information, but not enough to build a circuit: We have no usable
    consensus.<br>
    Feb 14 10:38:32.000 [notice] The current consensus has no exit
    nodes. Tor can only build internal paths, such as paths to onion
    services.<br>
    Feb 14 10:38:32.000 [notice] Bootstrapped 45%: Asking for relay
    descriptors for internal paths<br>
    Feb 14 10:38:32.000 [notice] I learned some more directory
    information, but not enough to build a circuit: We need more
    microdescriptors: we have 0/9, and can only build 0% of likely
    paths. (We have 0% of guards bw, 0% of midpoint bw, and 0% of end bw
    (no exits in consensus, using mid) = 0% of path bw.)<br>
    Feb 14 10:38:32.000 [notice] I learned some more directory
    information, but not enough to build a circuit: We need more
    microdescriptors: we have 0/9, and can only build 0% of likely
    paths. (We have 0% of guards bw, 0% of midpoint bw, and 0% of end bw
    (no exits in consensus, using mid) = 0% of path bw.)<br>
    Feb 14 10:38:32.000 [notice] The current consensus contains exit
    nodes. Tor can build exit and internal paths.<br>
    Feb 14 10:38:32.000 [notice] Bootstrapped 50%: Loading relay
    descriptors<br>
    Feb 14 10:38:32.000 [notice] Bootstrapped 80%: Connecting to the Tor
    network<br>
    Feb 14 10:38:33.000 [warn] Failed to find node for hop #1 of our
    path. Discarding this circuit.<br>
    Feb 14 10:38:33.000 [notice] Our circuit 0 (id: 1) died due to an
    invalid selected path, purpose General-purpose client. This may be a
    torrc configuration issue, or a bug.<br>
    Feb 14 10:38:34.000 [warn] Failed to find node for hop #1 of our
    path. Discarding this circuit.<br>
    Feb 14 10:38:35.000 [warn] Failed to find node for hop #1 of our
    path. Discarding this circuit.<br>
    Feb 14 10:38:36.000 [warn] Failed to find node for hop #1 of our
    path. Discarding this circuit.<br>
    <blockquote type="cite"
      cite="mid:D3E103A1-9C43-44EA-88C9-AD94912B0D3D@riseup.net">
      <div dir="ltr">
        <div dir="ltr"><br>
        </div>
        <div dir="ltr">To get good bandwidth numbers, you'll need to
          pass some traffic</div>
        <div dir="ltr">through your network. To get measured bandwidth
          in the votes,</div>
        <div dir="ltr">you'll need to run a bandwidth authority, like
          sbws:</div>
        <div dir="ltr"><a href="https://git.torproject.org/sbws.git">https://git.torproject.org/sbws.git</a></div>
      </div>
    </blockquote>
    Is this optional, are there alternative ways of measuring bandwidth?
    <br>
    <blockquote type="cite"
      cite="mid:D3E103A1-9C43-44EA-88C9-AD94912B0D3D@riseup.net">
      <div dir="ltr">
        <div dir="ltr">It would help to know what's actually in the
          consensus. (See below.)</div>
        <br>
      </div>
    </blockquote>
    I pasted one of the microdescriptors at the end of the message (it's
    fetched from one of the authorities).<br>
    <blockquote type="cite"
      cite="mid:D3E103A1-9C43-44EA-88C9-AD94912B0D3D@riseup.net">
      <div dir="ltr">
        <div dir="ltr"><br>
        </div>
        <div dir="ltr">Maybe there's a bug in <span
            style="background-color: rgba(255, 255, 255, 0);">ShutdownWaitLength.</span></div>
        <div dir="ltr"><span style="background-color: rgba(255, 255,
            255, 0);">We changed that code recently.</span></div>
        <div dir="ltr">Is Tor actually shut down when you remove the
          files?</div>
      </div>
    </blockquote>
    It is definitely shut down when I start deleting the files.<br>
    <blockquote type="cite"
      cite="mid:D3E103A1-9C43-44EA-88C9-AD94912B0D3D@riseup.net">
      <div dir="ltr">
        <div dir="ltr"><br>
        </div>
        <div dir="ltr">When you start Tor, what is actually in the data
          directory?</div>
      </div>
    </blockquote>
    I followed your idea of defining and deleting directories so now
    there are data/ cache/ and keys/ defined in the torrc and this is
    what I remove in the cleanup procedure. I keep the keys dir, the
    stats file, and the fingerprint file. The issue with old Guard
    entries in the new state file remains.<br>
    <blockquote type="cite"
      cite="mid:D3E103A1-9C43-44EA-88C9-AD94912B0D3D@riseup.net">
      <div dir="ltr">
        <div><br>
        </div>
        <div>tor/server/all is a list of all relay descriptors that the
          authority knows about.</div>
        <div><br>
        </div>
        <div>But the consensus is different: it contains the relays from
          the authorities'</div>
        <div>votes, but only if those relays are reachable from the
          authorities</div>
        <div>(the Running flag), and the authorities agree on enough
          info about the</div>
        <div>relays.</div>
        <div><br>
        </div>
        <div>Please check the votes and consensuses on each authority:</div>
        <div><span style="background-color: rgba(255, 255, 255, 0);">http://<hostname>/tor/status-vote/current/authority</span></div>
        <div>
          <pre style="padding: 0px; margin-top: 0px; margin-bottom: 0px;"><font face="UICTFontTextStyleTallBody"><span style="white-space: normal; background-color: rgba(255, 255, 255, 0);">http://<hostname>/tor/status-vote/current/consensus</span></font></pre>
          <pre style="padding: 0px; margin-top: 0px; margin-bottom: 0px;"><pre style="padding: 0px; margin-top: 0px; margin-bottom: 0px;"><font face="UICTFontTextStyleTallBody"><span style="white-space: normal; background-color: rgba(255, 255, 255, 0);">http://<hostname>/tor/status-vote/current/consensus-microdesc</span></font></pre></pre>
        </div>
      </div>
    </blockquote>
    <font face="UICTFontTextStyleTallBody">One of the microdesc files is
      pasted below. I see the Running flag set for several relays, along
      with Fast, Guard, and sometimes also Exit (for example, relay08 is
      defined as exit in the torrc and also shows up as Exit Fast Guard
      HSDir Running Stable V2Dir Valid).</font><br>
    <blockquote type="cite"
      cite="mid:D3E103A1-9C43-44EA-88C9-AD94912B0D3D@riseup.net">
      <div dir="ltr">
        <div dir="ltr"><br>
        </div>
        <div dir="ltr">That's not how Tor works:</div>
        <div dir="ltr"><br>
        </div>
        <div dir="ltr">Clients randomly select relays from the
          consensus.</div>
      </div>
    </blockquote>
    Yes, and this is exactly what I need to measure in the private
    network. My project is about testing the consequences of the DoS
    features in relays and how the client reacts to being blocked (if it
    recognizes this at all, that's one of the things I want to find
    out). <br>
    <blockquote type="cite"
      cite="mid:D3E103A1-9C43-44EA-88C9-AD94912B0D3D@riseup.net">
      <div dir="ltr">
        <div dir="ltr"><br>
        </div>
        <div dir="ltr">Can you copy and paste the code you're using?</div>
      </div>
    </blockquote>
    It's just a simple extendcircuit 0 FP,FP,FP,... for testing the
    network status. If the network starts functioning normally again, I
    need to use either NEWNYM via the controlport or stem and
    new_circuit(). But right now I don't get to this point, because
    NEWNYM results in no new circuit and also the stem implementation
    does not deliver new circuits. Just to give an example:<br>
    <br>
    getinfo circuit-status<br>
    250-circuit-status=<br>
    250 OK<br>
    signal newnym<br>
    250 OK<br>
    getinfo circuit-status<br>
    250-circuit-status=<br>
    250 OK<br>
    extendcircuit 0
2B74825BE33752B21D17713F88D101F3BADC79BC,7353D324677B9E7A9A50240339C2C7366B381F64<br>
    250 EXTENDED 610<br>
    getinfo circuit-status<br>
    250-circuit-status=610 BUILT
$2B74825BE33752B21D17713F88D101F3BADC79BC~relay06,$7353D324677B9E7A9A50240339C2C7366B381F64~relay08
    PURPOSE=GENERAL TIME_CREATED=2019-02-14T13:44:27.304736<br>
    250 OK<br>
    <blockquote type="cite"
      cite="mid:D3E103A1-9C43-44EA-88C9-AD94912B0D3D@riseup.net">
      <div dir="ltr">
        <div dir="ltr"><br>
        </div>
        <div dir="ltr"><span style="background-color: rgba(255, 255,
            255, 0);">The dates are the time when Tor chose the guard.</span></div>
        <div dir="ltr"><span style="background-color: rgba(255, 255,
            255, 0);">Maybe you're not actually deleting the state file?</span></div>
        <div dir="ltr"><span style="background-color: rgba(255, 255,
            255, 0);">Maybe there's an undocumented state.new file?</span></div>
      </div>
    </blockquote>
    I'm pretty much sure I delete the file and that there are no .new
    versions of the state file. Still, after a while the old Guards show
    up in the state file. What information is used to generate the state
    file? Maybe there is still some kind of cache left somewhere else?<br>
    <blockquote type="cite"
      cite="mid:D3E103A1-9C43-44EA-88C9-AD94912B0D3D@riseup.net">
      <div dir="ltr">
        <div dir="ltr"><span style="background-color: rgba(255, 255,
            255, 0);"><br>
          </span></div>
        <div dir="ltr"><span style="background-color: rgba(255, 255,
            255, 0);">What's in the directory after you run the script?</span></div>
        <div dir="ltr"><br>
        </div>
        <div dir="ltr">Removing specific files is inherently fragile:
          future Tor versions</div>
        <div dir="ltr">may add new files.</div>
        <div dir="ltr"><br>
        </div>
        <div dir="ltr">Instead, configure different directories for
          CacheDirectory,</div>
        <div dir="ltr">DataDirectory, and KeyDirectory. Then, delete and
          re-create</div>
        <div dir="ltr">CacheDirectory and DataDirectory. Fail and refuse
          to start Tor</div>
        <div dir="ltr">if the deletion and re-creation fails.</div>
      </div>
    </blockquote>
    Great idea, did that! Nothing but the keys and fingerprint in there,
    as described above.<br>
    <blockquote type="cite"
      cite="mid:D3E103A1-9C43-44EA-88C9-AD94912B0D3D@riseup.net">
      <div dir="ltr">I think I answered these questions above in
        context.</div>
    </blockquote>
    Yes you did and things are getting clearer :) <br>
    <blockquote type="cite"
      cite="mid:D3E103A1-9C43-44EA-88C9-AD94912B0D3D@riseup.net">
      <div dir="ltr"><br>
      </div>
      <div dir="ltr">Let me know if you're still having trouble.</div>
    </blockquote>
    Yes, the setup is still not in the state where the client is able to
    create "natural" circuits.<br>
    <br>
    network-status-version 3 microdesc<br>
    vote-status consensus<br>
    consensus-method 28<br>
    valid-after 2019-02-14 11:05:00<br>
    fresh-until 2019-02-14 11:10:00<br>
    valid-until 2019-02-14 11:20:00<br>
    voting-delay 20 20<br>
    client-versions <br>
    server-versions <br>
    known-flags Authority Exit Fast Guard HSDir NoEdConsensus Running
    Stable V2Dir Valid<br>
    recommended-client-protocols Cons=1-2 Desc=1-2 DirCache=1 HSDir=1
    HSIntro=3 HSRend=1 Link=4 Microdesc=1-2 Relay=2<br>
    recommended-relay-protocols Cons=1-2 Desc=1-2 DirCache=1 HSDir=1
    HSIntro=3 HSRend=1 Link=4 Microdesc=1-2 Relay=2<br>
    required-client-protocols Cons=1-2 Desc=1-2 DirCache=1 HSDir=1
    HSIntro=3 HSRend=1 Link=4 Microdesc=1-2 Relay=2<br>
    required-relay-protocols Cons=1 Desc=1 DirCache=1 HSDir=1 HSIntro=3
    HSRend=1 Link=3-4 Microdesc=1 Relay=1-2<br>
    shared-rand-current-value 0
    zxJao+gBmFMSezvz/VXkEWEQJD5b/z+7AXNCGoLFVW0=<br>
    dir-source auth01 14EA360AE456079B386651CDEA2996A6D48F1798
    100.113.5.34 100.113.5.34 7000 5000<br>
    contact <a class="moz-txt-link-abbreviated" href="mailto:katharina.kohls@rub.de">katharina.kohls@rub.de</a><br>
    vote-digest 0E3E3697D3CC785928FE2B27B43E272BB7D52650<br>
    dir-source auth01 92E466CD419200DE68A4893EA5A758DAE70EFD9E
    100.113.5.29 100.113.5.29 7000 5000<br>
    contact <a class="moz-txt-link-abbreviated" href="mailto:katharina.kohls@rub.de">katharina.kohls@rub.de</a><br>
    vote-digest 3ADC1A8BF96D74C661DF5797D2EE59FAB899DC00<br>
    r client01 BhCZoOQt0RnwUth3dUbyVVP9wxM 2019-02-14 09:37:31
    100.113.5.28 5000 0<br>
    m ZCRB9OyxE3+HOAgd/Sl4ewcNfFkAlq5S/QfCT3HH/wY<br>
    s Fast Running V2Dir Valid<br>
    v Tor 0.3.5.7<br>
    pr Cons=1-2 Desc=1-2 DirCache=1-2 HSDir=1-2 HSIntro=3-4 HSRend=1-2
    Link=1-5 LinkAuth=1,3 Microdesc=1-2 Relay=1-2<br>
    w Bandwidth=0 Unmeasured=1<br>
    r relay06 K3SCW+M3UrIdF3E/iNEB87rcebw 2019-02-14 09:37:30
    100.113.5.36 5000 0<br>
    m TvN1yotIqxUIb2Pnz8LuVnseijh/NZDqu+ZCpqRDCQA<br>
    s Exit Fast Guard HSDir Running Stable V2Dir Valid<br>
    v Tor 0.3.5.7<br>
    pr Cons=1-2 Desc=1-2 DirCache=1-2 HSDir=1-2 HSIntro=3-4 HSRend=1-2
    Link=1-5 LinkAuth=1,3 Microdesc=1-2 Relay=1-2<br>
    w Bandwidth=0 Unmeasured=1<br>
    r auth01 Qx5QzbsLb/3QKEpFq+yHUTbZgOg 2019-02-14 09:37:46
    100.113.5.34 5000 7000<br>
    m idNUa5gHlZC03yfL4Wy+NgnPRxl9+9xrFbVL0uNqcr0<br>
    s Authority Fast Running V2Dir Valid<br>
    v Tor 0.3.5.7<br>
    pr Cons=1-2 Desc=1-2 DirCache=1-2 HSDir=1-2 HSIntro=3-4 HSRend=1-2
    Link=1-5 LinkAuth=1,3 Microdesc=1-2 Relay=1-2<br>
    w Bandwidth=0 Unmeasured=1<br>
    r relay08 c1PTJGd7nnqaUCQDOcLHNms4H2Q 2019-02-14 09:37:30
    100.113.5.35 5000 0<br>
    m r1L2yrAoe3E/H3LDmGrIzeCiaKAINS17Ddg1a36LXBc<br>
    s Exit Fast Guard HSDir Running Stable V2Dir Valid<br>
    v Tor 0.3.5.7<br>
    pr Cons=1-2 Desc=1-2 DirCache=1-2 HSDir=1-2 HSIntro=3-4 HSRend=1-2
    Link=1-5 LinkAuth=1,3 Microdesc=1-2 Relay=1-2<br>
    w Bandwidth=0 Unmeasured=1<br>
    r relay05 jldPDEKNI1eCBh9EstIKZuQzaZM 2019-02-14 09:37:30
    100.113.5.38 5000 0<br>
    m /EeM/KjGfYM3wQbSW44UNPhNACHFmdjoyqPtbUmVyJU<br>
    s Fast Guard HSDir Running Stable V2Dir Valid<br>
    v Tor 0.3.5.7<br>
    pr Cons=1-2 Desc=1-2 DirCache=1-2 HSDir=1-2 HSIntro=3-4 HSRend=1-2
    Link=1-5 LinkAuth=1,3 Microdesc=1-2 Relay=1-2<br>
    w Bandwidth=0 Unmeasured=1<br>
    r relay02 kR7abLY5qulVUX8Cqk1lHg9/bv0 2019-02-14 09:37:30
    100.113.5.31 5000 0<br>
    m wHYw+7ts0/eNWjBtMNynbA+5Abv5tPzvAEjJjxpOtIA<br>
    s Fast Guard HSDir Running Stable V2Dir Valid<br>
    v Tor 0.3.5.7<br>
    pr Cons=1-2 Desc=1-2 DirCache=1-2 HSDir=1-2 HSIntro=3-4 HSRend=1-2
    Link=1-5 LinkAuth=1,3 Microdesc=1-2 Relay=1-2<br>
    w Bandwidth=0 Unmeasured=1<br>
    r auth01 shi3iGTO9Dl87grvYXA0We7mTjg 2019-02-14 09:38:31
    100.113.5.29 5000 7000<br>
    m rtksCdOu7iyIyQjbnWUWmJiN0o94+KKWR8WLvV9s1rw<br>
    s Authority Exit Fast Guard Running V2Dir Valid<br>
    v Tor 0.3.5.7<br>
    pr Cons=1-2 Desc=1-2 DirCache=1-2 HSDir=1-2 HSIntro=3-4 HSRend=1-2
    Link=1-5 LinkAuth=1,3 Microdesc=1-2 Relay=1-2<br>
    w Bandwidth=0 Unmeasured=1<br>
    r relay03 wSLLt53GYGIeNS1AGtf3gfj21i0 2019-02-14 09:37:31
    100.113.5.32 5000 0<br>
    m aU27kuVh12aIDWmNl28KULvpijEzNpFkJ09SXpZdOwg<br>
    s Exit Fast Running V2Dir Valid<br>
    v Tor 0.3.5.7<br>
    pr Cons=1-2 Desc=1-2 DirCache=1-2 HSDir=1-2 HSIntro=3-4 HSRend=1-2
    Link=1-5 LinkAuth=1,3 Microdesc=1-2 Relay=1-2<br>
    w Bandwidth=0 Unmeasured=1<br>
    r relay07 5LEVLN8OX+aXo+kWcW/DY6KgrPM 2019-02-14 09:37:30
    100.113.5.37 5000 0<br>
    m fkaGwNIKBFlluhAhEDKuHsZl/LocsJ6v0YVBzkQip8A<br>
    s Exit Fast Guard HSDir Running Stable V2Dir Valid<br>
    v Tor 0.3.5.7<br>
    pr Cons=1-2 Desc=1-2 DirCache=1-2 HSDir=1-2 HSIntro=3-4 HSRend=1-2
    Link=1-5 LinkAuth=1,3 Microdesc=1-2 Relay=1-2<br>
    w Bandwidth=0 Unmeasured=1<br>
    directory-footer<br>
    bandwidth-weights Wbd=3333 Wbe=0 Wbg=0 Wbm=10000 Wdb=10000 Web=10000
    Wed=3333 Wee=10000 Weg=3333 Wem=10000 Wgb=10000 Wgd=3333 Wgg=10000
    Wgm=10000 Wmb=10000 Wmd=3333 Wme=0 Wmg=0 Wmm=10000<br>
    directory-signature sha256 14EA360AE456079B386651CDEA2996A6D48F1798
    35B12EA25BB95F35BCAB63B5E7321DFE56F6EF32<br>
    -----BEGIN SIGNATURE-----<br>
    YMdJPt/tjwkDIycPVUIMVEeZGrLt6lzoqbiDXu04/6t7Hz6lcgduL6+pJ9cyNqcP<br>
    +u788vl6eL+yli1KySoPirnAdIIrHBM0xa3P5BN/nmcvjwzQXRx9gg1XG28BRt76<br>
    Rmfd+AAKF3PycnQDu8T9wT9bvk48+nPt60VOs0BrMot8L27sJr9+G2vi+KiyaW6b<br>
    klJuGWYsbOcK/aPX63bx/PfdY4vSgT9W36kXOU8UtzYM9ILdsZFua84Gn6THzyEu<br>
    9Da9FlUOfDmEto3TuLppjP2kLjWxG5WDqzC3VQm39rdFgNTAERjMELND9KZqlcrD<br>
    CHoGkbskkrRoUevUAF1E+g==<br>
    -----END SIGNATURE-----<br>
    directory-signature sha256 92E466CD419200DE68A4893EA5A758DAE70EFD9E
    EBF4ADA3B6557BF648F19B172172C341AE2730E6<br>
    -----BEGIN SIGNATURE-----<br>
    rK70R9PDhm8zL33ThazFutHz6IBRLavI8k96plIR6bayaNLapZUWIbOAYTNW9pYv<br>
    PNZwRBTTtTkahjYLNp3PSyGAzXOk7+E3iSIhTr8LBBryfihtThYWeyz4CjBTkTXj<br>
    kQLddWS/knx9ZaovLAMzEXNBtflxSlf5W5/AXCHYzP3i+ssV/rxfBcHHZzayYdBG<br>
    175335s1VsjjlQYFHkuilnF++t14nFhL7Qeu7zmFaQ6IMUudwgctKgt+3xM8P8B+<br>
    /4N2NRFADSAN8gD7TfS593y1E737qJ/eznlxB4O+aRZw//6MqirNNaB3evNKiYSH<br>
    /oFqSvEYnGAiVerccLOeVQ==<br>
    -----END SIGNATURE-----<br>
    <br>
  </body>
</html>