Skip to content

Commit 6dd9645

Browse files
author
Raphael Manfredi
committed
Release 1.2.2 stable.
1 parent 4866087 commit 6dd9645

File tree

4 files changed

+86
-3
lines changed

4 files changed

+86
-3
lines changed

ChangeLog

Lines changed: 46 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,48 @@
1+
# v 1.2.2 2022-02-25 [stable]
2+
3+
This is a maintenance release with major bug fixes.
4+
5+
There were several shortcomings with bandwidth management: capping was not
6+
performed correctly and could overuse uploading bandwidth. Also when the DHT
7+
is turned off or on, we need to recompute proper bandwidth stealing.
8+
9+
Corruption of the DHT disk databases could also lead to a crash.
10+
11+
There was a critical old bug in the Dynamic Querying layer that affected
12+
Ultrapeers mostly: we could corrupt memory and/or crash when the current node
13+
was removed and we were processing a Dynamic Query for that node. This is
14+
more likely to happen when running as an Ultrapeer but it could also affect
15+
nodes running as leaves, although the probability of that bug happening is
16+
much less in that case.
17+
18+
Finally, it is best to not iterate on a global list that could get changed
19+
due to a node removal. This was the case when sending pongs to neighbouring
20+
nodes, so we now take a private copy.
21+
22+
Improvements:
23+
- Extended "props" shell command with -e (exact) and -i (ignore missing).
24+
- The "props" command now takes a set of properties, handled as one batch.
25+
26+
Bug Fixes:
27+
- Properly recompute bandwidth stealing on DHT changes.
28+
- Avoid crashing in D-Bus lib when filename is improperly UTF-8 encoded.
29+
- DHT: protect against corrupted database.
30+
- bw_available(): fix invalid logic for I/O source capping.
31+
- pong_all_neighbours_but_one(): iterate on local list.
32+
- dq_node_removed(): must free dq object asynchronously.
33+
34+
Under the Hood:
35+
- Update IRC network information: moved from freenode to libera.chat
36+
- Chunk size limiting for uploads accounts for bandwidth.
37+
- Reduce memory footprint for statx_t if no data kept.
38+
- CQ: defer freeing of dispatched event.
39+
- watchdog: be more verbose within critical messages.
40+
- node_parse(): signal to callers when we have BYE-ed the node.
41+
- cq_event_called(): use better diagnostic on assert failure.
42+
- dbus_util_send_message(): protect against invalid text.
43+
- prepare_entry(): ensure entry invariant remains true.
44+
- wd_expire(): do nothing if watchdog was asleep.
45+
146
# v 1.2.1 2021-07-12 [stable]
247

348
This is a maintenance release with minor bug fixes.
@@ -21,7 +66,7 @@ to store the data.
2166
Add properties to track bytes exchanged by schedulers. These properties
2267
track the amount of bytes exchanged by session and are reset to 0 whenever
2368
a new user session starts. It allows users to see the actual amount of
24-
data consumed by running gtk-gnutella sessions, programatically via the
69+
data consumed by running gtk-gnutella sessions, programmatically via the
2570
shell interface.
2671

2772
Add -t switch to shell "status" command: this displays the total amount

debian/changelog

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
gtk-gnutella (1.2.2-1) unstable; urgency=high
2+
3+
* New upstream release with major bug fixes.
4+
5+
-- Raphael Manfredi <[email protected]> Fri, 25 Feb 2022 07:32:37 +0000
6+
17
gtk-gnutella (1.2.1-1) unstable; urgency=high
28

39
* New upstream release with important bug fixes.

src/core/token.c

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -348,6 +348,37 @@ static const char *keys_102_1[] = {
348348
"ce78 1809 89c0 3c80 e9dc ca22 0bef 71d0",
349349
};
350350

351+
static const char *keys_102_2[] = {
352+
"4b40 70f5 93fc 6998 e092 3ba5 6c6c b32b",
353+
"d26e 1468 44de 417e c596 0397 389d 85b2",
354+
"5105 6295 649d 6769 b1cf 8b95 c57d bdb7",
355+
"6844 b056 c078 8a87 996b 495b fddc 174e",
356+
"641e 9b8c ed8c f280 486f 4e12 ddba 8012",
357+
"db43 c956 3f6e 5c1a a053 5b81 2067 e1b6",
358+
"267b 8663 4dac 2ae1 72b2 2db2 5bd7 7db5",
359+
"5ee2 7852 d7d4 ae52 e41e 4347 58d5 8429",
360+
"351d 7969 ba9f e266 7a27 20a8 1f72 24f3",
361+
"2d5e 1d43 5d61 7b5c 01f6 67c5 00f4 04e8",
362+
"21f7 b850 7316 71ae 7558 aed8 f748 b419",
363+
"a156 0466 f350 a8cf 6d94 b7c1 9d39 2142",
364+
"4d46 e2ae 7709 c3e8 4237 d47f 0a85 a938",
365+
"87e5 dcbb 63af 251e 3b07 b280 9389 bfaa",
366+
"685a 2b0f 5001 65dc e04d d20b fc87 1617",
367+
"70d3 56ee 5ac1 fa6c 7d21 e69f 5282 9bd1",
368+
"64d3 4219 0a3b 233b 6845 00d0 38d2 171d",
369+
"b3d9 73d4 3c51 1e4f 62fe 3a27 78b5 9de5",
370+
"c4d1 8159 b2fc 6e4c 0b08 cf70 17f5 3419",
371+
"af78 ec18 a7b6 c564 e97b 12ab 2ea2 a76f",
372+
"55d2 e105 a20e cca6 4dfe cba1 9f45 bac0",
373+
"2ce8 661c 251a 2e03 40dc 8f17 b496 5fca",
374+
"3b72 0fa5 a31a d70f 0ae4 1fdb 8a2d 86b4",
375+
"76a0 f3ea 702e b870 9bae 9ba5 d9bd a13f",
376+
"e975 96bd 8627 23cb 7fb7 415f 41b5 8851",
377+
"0c6f c649 f90b 47d4 3d98 24ac e8bb 3e6b",
378+
"c19b 5529 0904 2f10 ede4 b0d6 c994 f31b",
379+
"275a ca3e fee6 0882 401a 19b6 8014 cdfc",
380+
};
381+
351382
#define KEYS(x) keys_ ## x, N_ITEMS(keys_ ## x)
352383

353384
/**
@@ -368,6 +399,7 @@ struct tokkey {
368399
{ { 1, 1, 15, '\0', 0, 0, 1563055200 }, KEYS(101_15) }, /* 2019-07-14 */
369400
{ { 1, 2, 0, '\0', 0, 0, 1594245600 }, KEYS(102_0) }, /* 2020-07-09 */
370401
{ { 1, 2, 1, '\0', 0, 0, 1626040800 }, KEYS(102_1) }, /* 2021-07-12 */
402+
{ { 1, 2, 2, '\0', 0, 0, 1645743600 }, KEYS(102_2) }, /* 2022-02-25 */
371403
};
372404

373405
#undef KEYS

src/gtk-gnutella.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,10 @@
4040
#define GTA_PRODUCT_NAME "gtk-gnutella" /**< Normally "gtk-gnutella" */
4141
#define GTA_VERSION 1 /**< major version */
4242
#define GTA_SUBVERSION 2 /**< minor version */
43-
#define GTA_PATCHLEVEL 1 /**< patch level or teeny version */
43+
#define GTA_PATCHLEVEL 2 /**< patch level or teeny version */
4444
#define GTA_REVISION "stable" /**< unstable, beta, stable */
4545
#define GTA_REVCHAR "" /**< (u)nstable, (b)eta, "" -> stable */
46-
#define GTA_RELEASE "2021-07-11" /**< ISO 8601 format YYYY-MM-DD */
46+
#define GTA_RELEASE "2022-02-25" /**< ISO 8601 format YYYY-MM-DD */
4747
#define GTA_WEBSITE "http://gtk-gnutella.sourceforge.net/"
4848
#define GTA_VENDOR_CODE "GTKG"
4949
#define GTA_PRODUCT_NICK "gtkg"

0 commit comments

Comments
 (0)