Skip to content
Snippets Groups Projects
TODO.022 3.24 KiB
Newer Older
  • Learn to ignore specific revisions
  • Nick's initial priorities for Tor 0.2.2:
    
    NOTE 1: I'm not looking at fiddly little stuff from TODO.021 yet.  We
            can do a step where we triage the nice-to-have issues.
    
    NOTE 2: It's easy to list stuff like this with no time estimates and
            no target dates.  I think we should pick a target date for
            0.2.2, figure out how long the stuff we want will take, and
            triage accordingly, or vice versa.
    
    - Performance, mostly protocol-neutral.
    
    
      o Revise how we do bandwidth limiting and round-robining between
    
        circuits on a connection.
    
    
      . Revise how we do bandwidth limiting and round-robining between
    
        connections.
    
      - Better flow-control to avoid filling buffers on routers.
    
      - Figure out good ways to instrument Tor internals so we can tell
        how well our bandwidth and flow-control stuff is actually working.
    
        - What ports eat the bandwidth?
        - How full do queues get?
        - How much latency do queues get?
    
      - Rate limit at clients:
        - Give clients an upper bound on how much they're willing to use
          the network if they're not relaying?
        - ... or group client circuits by IP at the server and rate-limit
          like that.
    
    
      - Use if-modified-since to download consensuses
    
      - Proposals to implement:
    
        - 146: reflect long-term stability in consensuses
    
        - 147: Stop using v2 directories to generate v3 votes.
    
          - Start pinging as soon as we learn about a relay, not on a
            22-minute cycle.  Prioritize new and volatile relays for
            testing.
    
    
      - Proposals to improve and implement
        - 158: microdescriptors
    
          o Revise proposal
          - Implement
    
    
      - Proposals to improve and implement if not broken
    
        D IPv6 support.  (Parts of 117, but figure out how to handle DNS
    
          requests.)
        - 140: Directory diffs
    
          - Need a decent simple C diff implementation.
          - Need a decent simple C ed patch implementation.
    
        - 149: learn info from netinfo cells.
    
          o Start discussion
          - Revise proposal based on discussion.
        X 134: handle authority fragmentation (Needs more analysis)
        - 165: Easy migration for voting authority sets
        - 163: Detect client-status better
          o Write proposal
          - Possibly implement, depending on discussion.
        - 164: Have authorities report relay and voting status better: make it
    
          easy to answer, "Why is my server not listed/not Guard/not
          Running/etc"
    
          o Write proposal
          - Possibly implement, depending on discussion
        - 162: Have consensuses come in multiple "flavours".
          o Write proposal
          - Possibly implement, depending on discussion.
    
      - Needs a proposal, or at least some design
    
        - Weaken the requirements for being a Guard, based on K's
          measurements.
    
    K     - Finish measurements
    K?    - Write proposal
    
        - Adaptive timeouts for giving up on circuits and streams.
    
    M     - Revise proposal 151
    
        - Downweight guards more sensibly: be more forgiving about using
          Guard nodes as non-first-hop.
          - Write proposal.
    
        - Lagged weight updates in consensuses: don't just move abruptly.
    
        d Don't kill a circuit on the first failed extend.
    
    - Installers
      - Switch to MSI on win32
      - Use Thandy, perhaps?
    
    
    o Deprecations
      o Make .exit safe, or make it off-by-default.