forked from rauljim/pymdht
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGES.txt
102 lines (72 loc) · 3.51 KB
/
CHANGES.txt
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
== 12.11.1
== 12.11.0
- Removed dependency on non-standard-library module nose. Now, all the unit
tests rely on the unittest module (standard library).
== 12.7.0
- Changed crawler to save, at most, one address per /24 subnet in
"bootstrap.backup". This should give some protection against an adversary
running many malicious nodes on a subnet. It should also add robustness.
This also applies to bootstrap.py.
- Bootstrap simplified (moved from routing_manager to controller)
- controller.get_peers simplified (pending_lookups is no longer needed)
- Rename bootstrap.main > bootstrap_stable (nodes we run are called "stable")
bootstrap.backup > bootstrap_unstable (others nodes are considered "unstable"
- Replaced pymdht.status with a better overlay bootstrapping mechanism
(see bootstrap.py for details).
- Removed state.py (replaced by bootstrap.py). Routing table information (in a
similar format as state.py output) is now available at
pymdht.print_routing_table()
- ui/cli (default interface in run_pymdht_node.py) has two new commands: 'r'
(routing table stats) and 'rr' (detailed info).
== 12.6.2
- clean up bootstrap data structure when bootstrap is done
== 12.6.0
- bugfix: a call to on_error in controller.py
- limitation of pending get_peers lookups (controller)
- limitation of number of channels in swift_tracker.py
- off-line mode: routing table will stop expelling nodes when connection is lost
- major bugfix: memory leak in core/querier.py in optimization mode (python -O)
== 12.5.0
- removed telnet API. Replaced with swift/ppsp API (see core/swift_tracker.py)
== 12.2.2
- bugfix: bootstrap check crash on error message received.
== 12.2.0
- bootstrap_mode available to run a node as bootstrap node. It ignores some
queries to avoid being added to too many routing tables.
- telnet-like API available with option --telnet-port (see ui/telnet_api.txt)
- Module identifier simplified and cleaned up.
- Added some crawling scripts to run experiments
- IncomingMsg attributed listed for clarity
- Log file is now limited in size (10 MB in normal mode, 1 GB in debug)
== 12.1.0
- Message is now a factory. Now 'private_dht_name' is a parameter instead of
an evil global variable
- Lookup cache
- Security: avoid multiple routing table entries with the same IP
- README.txt replaced by README.rst
- Added support for experiment plugin
- Improved graphical visualization
== 11.8.2
- Bugfix: there was no error msg handler in exp_plugin_template.py
== 11.8.1
- Moved all user interface code to ui directory
- Integrated all user interfaces and options in interactive_dht.py
- pymdht_daemon.py is now deprecated (functionality moved to
interactive_dht.py)
- user can now choose a nodeId (node-id option) or choose a nodeId close to
some identifier (node-id + log-distance)
== 11.8.0
- Refined all code related to bootstrapping.
- Added GUI code (from Shariq)
=== 11.07
- Profiling toolkit integrated (profiler directory)
- Many nodes to bootstrap into the overlay. bootstrap.main contains nodes
controlled by us and bootstrap.backup contains nodes we have seen alive for a
long time.
- The default path is now ~/.pymdht. Deleting that directory cleans any state
(it would be as if the code never run before on the machine).
- TODO: some plugins do not work, need to clean up or fix them
- TODO: if connectivity is lost for a long enough period (1 hour?), all nodes
will be expelled from the routing table. Need to stop expelling nodes when n
timeouts in a row.
=== v1.0, 31 Jan 2011 -- Initial release with proper documentation