summaryrefslogtreecommitdiff
path: root/todo.txt
blob: 645197d5ed6c28f9dea1bb0b9d13a5b127141f3b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
maint: send patch to Vincent Hanquez to implement crypto_box_*

tox: layerTransport handshake decryption: use (SecretKey,SockAddr) as the
     address type for the (Handshake Identity) message transport.

bug: more trampolines than routing table nodes? (possibly NAT-related)

ui: better error message for a +dhtkey without any selected key.

tox: tcp relay

bug: local IPv6 addresses are occurring in the IPv4 tox routing table.

xmpp: xmpp-added roster keys are not in TransportCrypto and unusable from TOx.Crypto.Handlers.

xmpp: handle tox-friends in roster.

tox: Add fallback trials to cookie response in case response is from another address than request.

ui: Online help.  Document confusing "friend" and "dhtkey" methods.

ui: Explicit routing table node deletion. "forget" command.

kademlia: Change refresh algorithm to refresh farther away buckets before closer ones.

kademlia: Remove (without replacement) stale routing nodes at some point.

bug: Why does running without -4 (ipv4-only) on an ipv6-disabled computer prevent
     storage of bt peers and tox keys in the local store?

kademlia: Give different networks a different minimum count to terminate
          bootstrap.  Imperically, tox4: 6 buckets, tox6: 3 buckets

tox: Don't store ourself in the kademlia buckets.

tox: fallback to https://nodes.tox.chat/json

tox: bootstrap motd query

tox: hardening get-nodes test request.

tox: nat ping

tox: cache diffie-helman secrets

tox: Expire ofline Tox announces.

tox: Chat support.

bt: Collect PeerStore garbage: "Note that you should call .put() every hour for
    content that you want to keep alive, since nodes may discard data nodes
    older than 2 hours." (source: https://www.npmjs.com/package/bittorrent-dht)

bt: Limit peers in get_peers response for UDP packet size limiting (around 1k).

bt: Use LMDB backend for peer store (and nodes too?).

maint: Separate types for public keys instead of NodeId/NodeInfo: DHTKey/AliasKey/UserKey

maint: Newtype for internet (ipv4,ipv6) sockaddr.

maint: Rename files.

       OnionRouter                  -> Network.Tox.Onion.Routes
       Announcer                    -> Network.Kademlia.Announce
       InterruptibleDelay           -> Control.Concurrent.Delay
       Roster                       -> Network.Tox.ContactInfo
       Crypto.Tox                   -> Network.Tox.Crypto
       Network.Tox.Crypto.Handlers  -> Network.Tox.Friend.Handlers
       Network.Tox.Crypto.Transport -> Network.Tox.Friend.Transport

maint: Probably, Network.* should be reserved for very general tools and the Tox and
       BitTorrent paths should be moved to the top level.