-
Notifications
You must be signed in to change notification settings - Fork 168
/
CHANGES
173 lines (121 loc) · 5.92 KB
/
CHANGES
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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
27 April 2022: dht-0.27
* Fixed the return value of new_search when no slots are available.
Thanks to Joel.
16 December 2018: dht-0.26
* Fixed a bug introduced in 0.25 that prevented replying to find_nodes
when want was not set.
* Rename dht_callback to dht_callback_t. This is an incompatible change.
9 February 2018: dht-0.25
* Made the sendto function used by the library customisable. This is an
incompatible change.
* Rely on the caller to mark the sockets as nonblocking. This is an
incompatible change.
* Report duplicate searches reliably. Thanks to Greg Hazel.
* Increased the number of in-flight queries to 4. Thanks to Greg Hazel.
* Implement variable-size buckets (between 8 and 128). Thanks to Greg
Hazel.
* Improved search speed during bootstrap. Thanks to Greg Hazel.
* Fixed a bug in the parser that would spuriously insert peers with port
number 1. Thanks to Carl Reinke.
* Added support for the implied_port parameter of the announce_peer
message. Thanks to Carl Reinke for pointing out the omission.
18 May 2015: dht-0.24
* Fixed off-by-one error that dropped find_nodes responses with exactly
16 nodes. While forbidden by BEP-5, this is apparently what the good
folks at BitTorrent are doing. Thanks to Tomas Brod.
15 May 2015: dht-0.23
* Changed the limit on the number of nodes in replies to 16. Thanks to
Tomas Brod.
* Fixed a memory leak when initialisation fails. Thanks to 3null.
* Fixed a Y2038 issue. Thanks to Gwiz65.
3 May 2014: dht-0.22
* INCOMPATIBLE CHANGE: the callback now takes const arguments.
* Consult the local storage when performing a search, which should
make bootstrapping of tiny DHTs easier. Note that we're still not
performing local stores, since that would require knowing our IP
address.
* Don't attempt to flush the debug stream if debugging is disabled.
This appears to work around a bug in Transmission.
25 July 2011: dht-0.21
* Blacklisting support.
7 July 2011: dht-0.20
* Fix compilation on systems that have memmem but don't define HAVE_MEMMEM.
30 April 2011: dht-0.19
* Fix incorrect parsing of announces. Thanks to cjdelisle.
* Relax rate limiting slightly.
20 January 2011: dht-0.18
* Fix a bug that could cause parse_message to enter an infinite loop
on overflow. Thanks to Jordan Lee.
9 January 2011: dht-0.17:
* Fix a bug that prevented calling dht_init after dht_uninit.
* Remove the "dofree" parameter to dht_uninit.
23 December 2010: dht-0.16:
* Change the interface to allow sharing of the UDP socket e.g. with uTP.
1 July 2010: dht-0.15
* Port to Windows, for the needs of Transmission.
25 March 2010: dht-0.14
* Fixed ordering of entries in parameter dictionaries.
15 December 2009: dht-0.13
* Implemented protection against incorrect addresses in the DHT.
* Tweaked neighborhood maintenance to wake up less often.
11 December 2009: dht-0.12
* Fixed slightly incorrect formatting of DHT messages.
* Fixed incorrect debugging message.
22 November 2009: dht-0.11
* Implemented IPv6 support (BEP-32).
* Fixed a bug which could cause us to never mark a search as finished.
* Fixed a bug that could cause us to send incomplete lists in response to
find_nodes.
* Limit the number of hashes that we're willing to track.
* Made bucket maintenance slightly more aggressive.
* Produce on-the-wire error messages to give a hint to the other side.
* Added a bunch of options to dht-example to make it useful as
a bootstrap node.
* Send version "JC\0\0" when using dht-example.
18 October 2009: dht-0.10
* Send nodes even when sending values. This is a violation of the
protocol, but I have been assured that it doesn't break any deployed
implementation. This is also what both libtorrent and uTorrent do.
* Give up immediately on a search peer when no token was provided. This
is a very reasonable extension to the protocol, and certainly doesn't
break anything.
* Parse heterogeneous values lists correctly. This is mandated by BEP 32.
20 September 2009: dht-0.9
* Fixed incorrect computation of number of nodes.
* Made the initial bucket split eagerly (speeds up bootstrapping).
* Fixed initial filling of search buckets (speeds up searches).
28 July 2009: dht-0.8
* Fixed a crash when expiring the first search on the list.
* Fixed freeing of the search list when uniniting with dofree = 1.
24 June 2009: dht-0.7
* Removed the fixed limit on the number of concurrent searches, we now
use a linked list.
* Fixed build on FreeBSD (thanks to Humihara and Charles Kerr).
22 May 2009: dht-0.6
* Fixed a buffer overflow (when reading) in parse_message.
* Fixed slightly inacurrate metric computation when searching.
* Removed a slightly inaccurate shortcut when responding to find_nodes.
* Relaxed the rate-limiting parameters to 4 requests per second.
19 May 2009: dht-0.5
* Made reading of /dev/urandom a function provided by the user.
* Implemented the ``v'' extension that identifies node implementations.
18 May 2009: dht-0.4
* Fixed the handling of tokens in announce_peer messages.
* Implemented backtracking during search when nodes turn out to be dead.
17 May 2009: dht-0.3
* Fixed a number of incorrectly formatted messages.
* Changed reply to find_peers to spread the load more uniformly.
* Fixed a bug that could cause premature splitting.
* Implemented rate limiting.
* Changed some time constants to be less chatty.
* When determining if a bucket is fresh enough, we now only take replies
into account.
* dht_get_nodes now returns nodes starting with our own bucket.
* Tweaked the memory allocation strategy for stored peers.
17 May 2009: dht-0.2
* Fixed a crash in dht_uninit.
* Added support for saving the list of known-good nodes.
* Changed the interface of dht_nodes to provide the number of nodes that
recently sent incoming requests.
13 May 2009: dht-0.1
* Initial public release.