Skip to content

Commit

Permalink
Release 1.2.2 stable.
Browse files Browse the repository at this point in the history
  • Loading branch information
Raphael Manfredi committed Feb 25, 2022
1 parent 4866087 commit 6dd9645
Show file tree
Hide file tree
Showing 4 changed files with 86 additions and 3 deletions.
47 changes: 46 additions & 1 deletion ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,48 @@
# v 1.2.2 2022-02-25 [stable]

This is a maintenance release with major bug fixes.

There were several shortcomings with bandwidth management: capping was not
performed correctly and could overuse uploading bandwidth. Also when the DHT
is turned off or on, we need to recompute proper bandwidth stealing.

Corruption of the DHT disk databases could also lead to a crash.

There was a critical old bug in the Dynamic Querying layer that affected
Ultrapeers mostly: we could corrupt memory and/or crash when the current node
was removed and we were processing a Dynamic Query for that node. This is
more likely to happen when running as an Ultrapeer but it could also affect
nodes running as leaves, although the probability of that bug happening is
much less in that case.

Finally, it is best to not iterate on a global list that could get changed
due to a node removal. This was the case when sending pongs to neighbouring
nodes, so we now take a private copy.

Improvements:
- Extended "props" shell command with -e (exact) and -i (ignore missing).
- The "props" command now takes a set of properties, handled as one batch.

Bug Fixes:
- Properly recompute bandwidth stealing on DHT changes.
- Avoid crashing in D-Bus lib when filename is improperly UTF-8 encoded.
- DHT: protect against corrupted database.
- bw_available(): fix invalid logic for I/O source capping.
- pong_all_neighbours_but_one(): iterate on local list.
- dq_node_removed(): must free dq object asynchronously.

Under the Hood:
- Update IRC network information: moved from freenode to libera.chat
- Chunk size limiting for uploads accounts for bandwidth.
- Reduce memory footprint for statx_t if no data kept.
- CQ: defer freeing of dispatched event.
- watchdog: be more verbose within critical messages.
- node_parse(): signal to callers when we have BYE-ed the node.
- cq_event_called(): use better diagnostic on assert failure.
- dbus_util_send_message(): protect against invalid text.
- prepare_entry(): ensure entry invariant remains true.
- wd_expire(): do nothing if watchdog was asleep.

# v 1.2.1 2021-07-12 [stable]

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

Add -t switch to shell "status" command: this displays the total amount
Expand Down
6 changes: 6 additions & 0 deletions debian/changelog
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
gtk-gnutella (1.2.2-1) unstable; urgency=high

* New upstream release with major bug fixes.

-- Raphael Manfredi <Raphael_Manfredi@pobox.com> Fri, 25 Feb 2022 07:32:37 +0000

gtk-gnutella (1.2.1-1) unstable; urgency=high

* New upstream release with important bug fixes.
Expand Down
32 changes: 32 additions & 0 deletions src/core/token.c
Original file line number Diff line number Diff line change
Expand Up @@ -348,6 +348,37 @@ static const char *keys_102_1[] = {
"ce78 1809 89c0 3c80 e9dc ca22 0bef 71d0",
};

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

#define KEYS(x) keys_ ## x, N_ITEMS(keys_ ## x)

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

#undef KEYS
Expand Down
4 changes: 2 additions & 2 deletions src/gtk-gnutella.h
Original file line number Diff line number Diff line change
Expand Up @@ -40,10 +40,10 @@
#define GTA_PRODUCT_NAME "gtk-gnutella" /**< Normally "gtk-gnutella" */
#define GTA_VERSION 1 /**< major version */
#define GTA_SUBVERSION 2 /**< minor version */
#define GTA_PATCHLEVEL 1 /**< patch level or teeny version */
#define GTA_PATCHLEVEL 2 /**< patch level or teeny version */
#define GTA_REVISION "stable" /**< unstable, beta, stable */
#define GTA_REVCHAR "" /**< (u)nstable, (b)eta, "" -> stable */
#define GTA_RELEASE "2021-07-11" /**< ISO 8601 format YYYY-MM-DD */
#define GTA_RELEASE "2022-02-25" /**< ISO 8601 format YYYY-MM-DD */
#define GTA_WEBSITE "http://gtk-gnutella.sourceforge.net/"
#define GTA_VENDOR_CODE "GTKG"
#define GTA_PRODUCT_NICK "gtkg"
Expand Down

0 comments on commit 6dd9645

Please sign in to comment.