8675a2979c install.sh: use debian dist libffi (3np)
Pull request description:
We can use `libffi-dev` and `libffi8` debian packages instead of downloading and building from source. Significantly reduces build time.
- bookworm/oldstable: `3.4.4` (https://packages.debian.org/bookworm/libffi-dev)
- trixie/stable: `3.4.8` (https://packages.debian.org/trixie/libffi-dev)
fall back to installing libffi from source like before on non-debian targets
ACKs for top commit:
AdamISZ:
tACK 8675a2979c
kristapsk:
ACK 8675a2979c
Tree-SHA512: a88faff6452b4e75de6db095dff950667d5494045742a014150bd19187f34bc3f3c134ecb8bc6f3d1b03ff6fec091ecb270de0160efd9c892dfdbeed2a7a2210
d87e7cb78a Replace default directory nodes with currently working ones (Kristaps Kaupe)
Pull request description:
These ones are currently working ones according both to https://directories.w3ird.tech/ and my local monitoring using [jm-dn-uptime](https://github.com/kristapsk/jm-dn-uptime).
ACKs for top commit:
AdamISZ:
tACK the list in d87e7cb78a across a couple of runs (across several days).
Tree-SHA512: 9e40ee4d05562cd90bd15b811ccd0c765081776323244031c6d1c1f0988d6048a54a33cd9c335bbcefde868b9d6b0a23fdbaec950d2aa11a6cbac3004cf13af8
b4e3fdda47 Update minimum supported Bitcoin Core version to 28.1 (3np)
Pull request description:
Drop minimum supported Bitcoin Core version from 29.0 to 28.1.
Minimum version was lifted in #1782. The motivating bitcoin-core issue was patched in 28.1. Bitcoin Core 28.1 was released alongside 29.0. Bitcoin Core 28.3 was released in June this year and has more recent fixes backported than 29.0.
ACKs for top commit:
kristapsk:
utACK b4e3fdda47
Tree-SHA512: c4d4c4c09156e01667c87d0e0b5815c3106530363e7d2d2e3a015538520a6c6aeeef28edfd3aeb5ee40c6f0c879d81fb64daa244b8148c32da570b8439c917e5
091ce515e9 fix(deps): bencode library (roshii)
Pull request description:
Migrate from abandoned `bencoder.pyx` to `fastbencode`.
Update minimum Python version requirement to 3.9 (with 3.8 effectively eol since a year)
Python 3.13 compatibility will require other dependencies bumping such as `twisted` in https://github.com/JoinMarket-Org/joinmarket-clientserver/pull/1732
Closes: https://github.com/JoinMarket-Org/joinmarket-clientserver/issues/1805
Top commit has no ACKs.
Tree-SHA512: b498fdead26b0f6b7b97448b3eee0a5b09ec379a63dbfa69b2b1c1d7e02f30e20ab15c52f7c4223f68189e2d244bf49d04dde4dbb2ae2f0cde865d4c5e0dc6da
style: revert formatting
fix(deps): update fastbencode to use rust variant
style: new line
chore: fix typo
Co-authored-by: Marnix Croes <93143998+MarnixCroes@users.noreply.github.com>
chore(deps): bump fastbencode to v0.3.6
chore(deps): remove fastbencode rust extra
c54c11cd17 Bump twisted from 23.10.0 to 24.7.0 (dependabot[bot])
Pull request description:
Bumps [twisted](https://github.com/twisted/twisted) from 23.10.0 to 24.7.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/twisted/twisted/releases">twisted's releases</a>.</em></p>
<blockquote>
<h1>Twisted 24.7.0 (2024-08-08)</h1>
<p>24.7.0.rc2 fixed an unreleased regression caused by PR 12109. (<a href="https://redirect.github.com/twisted/twisted/issues/12279">#12279</a>)
No other changes since 24.7.0.rc2</p>
<h2>Features</h2>
<ul>
<li>twisted.protocols.ftp now supports the IPv6 extensions defined in RFC 2428. (<a href="https://redirect.github.com/twisted/twisted/issues/9645">#9645</a>)</li>
<li>twisted.internet.defer.inlineCallbacks can now yield a coroutine. (<a href="https://redirect.github.com/twisted/twisted/issues/9972">#9972</a>)</li>
<li>twisted.python._shellcomp.ZshArgumentsGenerator was updated for Python 3.13. (<a href="https://redirect.github.com/twisted/twisted/issues/12065">#12065</a>)</li>
<li>twisted.web.wsgi request environment now contains the peer port number as <code>REMOTE_PORT</code>. (<a href="https://redirect.github.com/twisted/twisted/issues/12096">#12096</a>)</li>
<li>twisted.internet.defer.Deferred.callback() and twisted.internet.defer.Deferred.addCallbacks() no longer use <code>assert</code> to check the type of the arguments. You should now use type checking to validate your code. These changes were done to reduce the CPU usage. (<a href="https://redirect.github.com/twisted/twisted/issues/12122">#12122</a>)</li>
<li>Added two new methods, twisted.logger.Logger.failuresHandled and twisted.logger.Logger.failureHandler, which allow for more concise and convenient handling of exceptions when dispatching out to application code. The former can arbitrarily customize failure handling at the call site, and the latter can be used for performance-sensitive cases where no additional information needs to be logged. (<a href="https://redirect.github.com/twisted/twisted/issues/12188">#12188</a>)</li>
<li>twisted.internet.defer.Deferred.addCallback now runs about 10% faster. (<a href="https://redirect.github.com/twisted/twisted/issues/12223">#12223</a>)</li>
<li>twisted.internet.defer.Deferred error handling is now faster, taking 40% less time to run. (<a href="https://redirect.github.com/twisted/twisted/issues/12227">#12227</a>)</li>
</ul>
<h2>Bugfixes</h2>
<ul>
<li>Fixed unreleased regression caused by PR <a href="https://redirect.github.com/twisted/twisted/issues/12109">#12109</a>. (<a href="https://redirect.github.com/twisted/twisted/issues/12279">#12279</a>)</li>
<li>twisted.internet.ssl.Certificate.<strong>repr</strong> can now handle certificates without a common name (CN) in the certificate itself or the signing CA. (<a href="https://redirect.github.com/twisted/twisted/issues/5851">#5851</a>)</li>
<li>Type annotations have been added to twisted.conch.interfaces.IKnownHostEntry and its implementations, twisted.conch.client.knownhosts.PlainHost and twisted.conch.client.knownhosts.HashedHost, correcting a variety of type confusion issues throughout the conch client code. (<a href="https://redirect.github.com/twisted/twisted/issues/9713">#9713</a>)</li>
<li>twisted.python.failure.Failure once again utilizes the custom pickling logic it used to in the past. (<a href="https://redirect.github.com/twisted/twisted/issues/12112">#12112</a>)</li>
<li>twisted.conch.client.knownhosts.KnownHostsFile.verifyHostKey no longer logs an exception when automatically adding an IP address host key, which means the interactive <code>conch</code> command-line no longer will either. (<a href="https://redirect.github.com/twisted/twisted/issues/12141">#12141</a>)</li>
</ul>
<h2>Improved Documentation</h2>
<ul>
<li>The IRC server example found in the documentation was updated for readability. (<a href="https://redirect.github.com/twisted/twisted/issues/12097">#12097</a>)</li>
<li>Remove contextvars from list of optional dependencies. (<a href="https://redirect.github.com/twisted/twisted/issues/12128">#12128</a>)</li>
<li>The documentation for installing Twisted was moved into a single page. (<a href="https://redirect.github.com/twisted/twisted/issues/12145">#12145</a>)</li>
<li>The project's compatibility policy now clearly indicates that the GitHub Actions test matrix defines the supported platforms. (<a href="https://redirect.github.com/twisted/twisted/issues/12167">#12167</a>)</li>
<li>Updated imap4client.py example, it no longer references Python 2. (<a href="https://redirect.github.com/twisted/twisted/issues/12252">#12252</a>)</li>
</ul>
<h2>Deprecations and Removals</h2>
<ul>
<li>twisted.internet.defer.returnValue has been deprecated. You can replace it with the standard <code>return</code> statement. (<a href="https://redirect.github.com/twisted/twisted/issues/9930">#9930</a>)</li>
<li>The <code>twisted-iocpsupport</code> is no longer a hard dependency on Windows.
The IOCP support is now installed together with the other Windows soft
dependencies via <code>twisted[windows-platform]</code>. (<a href="https://redirect.github.com/twisted/twisted/issues/11893">#11893</a>)</li>
<li>twisted.python.deprecate helper function will now always strip whitespaces from the docstrings.
This is done to have the same behaviour as with Python 3.13. (<a href="https://redirect.github.com/twisted/twisted/issues/12063">#12063</a>)</li>
<li>twisted.conch.manhole.ManholeInterpreter.write, twisted.conch.manhole.ManholeInterpreter.addOutput, twisted.mail.imap4.IMAP4Server.sendUntaggedResponse <code>async</code> argument, deprecated since 18.9.0, has been removed. (<a href="https://redirect.github.com/twisted/twisted/issues/12130">#12130</a>)</li>
<li>twisted.web.soap was removed.</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/twisted/twisted/blob/trunk/NEWS.rst">twisted's changelog</a>.</em></p>
<blockquote>
<h1>Twisted 24.7.0 (2024-08-08)</h1>
<p>24.7.0.rc2 fixed an unreleased regression caused by PR 12109. (<a href="https://redirect.github.com/twisted/twisted/issues/12279">#12279</a>)
No other changes since 24.7.0.rc2</p>
<h2>Security Advisories</h2>
<ul>
<li>twisted.web.util.redirectTo now HTML-escapes the provided URL in the fallback response body it returns (GHSA-cf56-g6w6-pqq2, CVE-2024-41810). (<a href="https://redirect.github.com/twisted/twisted/issues/9839">#9839</a>)</li>
<li>The HTTP 1.0 and 1.1 server provided by twisted.web could process pipelined HTTP requests out-of-order, possibly resulting in information disclosure (CVE-2024-41671/GHSA-c8m8-j448-xjx7) (<a href="https://redirect.github.com/twisted/twisted/issues/12248">#12248</a>)</li>
</ul>
<h2>Features</h2>
<ul>
<li>twisted.protocols.ftp now supports the IPv6 extensions defined in RFC 2428. (<a href="https://redirect.github.com/twisted/twisted/issues/9645">#9645</a>)</li>
<li>twisted.internet.defer.inlineCallbacks can now yield a coroutine. (<a href="https://redirect.github.com/twisted/twisted/issues/9972">#9972</a>)</li>
<li>twisted.python._shellcomp.ZshArgumentsGenerator was updated for Python 3.13. (<a href="https://redirect.github.com/twisted/twisted/issues/12065">#12065</a>)</li>
<li>twisted.web.wsgi request environment now contains the peer port number as <code>REMOTE_PORT</code>. (<a href="https://redirect.github.com/twisted/twisted/issues/12096">#12096</a>)</li>
<li>twisted.internet.defer.Deferred.callback() and twisted.internet.defer.Deferred.addCallbacks() no longer use <code>assert</code> to check the type of the arguments. You should now use type checking to validate your code. These changes were done to reduce the CPU usage. (<a href="https://redirect.github.com/twisted/twisted/issues/12122">#12122</a>)</li>
<li>Added two new methods, twisted.logger.Logger.failuresHandled and twisted.logger.Logger.failureHandler, which allow for more concise and convenient handling of exceptions when dispatching out to application code. The former can arbitrarily customize failure handling at the call site, and the latter can be used for performance-sensitive cases where no additional information needs to be logged. (<a href="https://redirect.github.com/twisted/twisted/issues/12188">#12188</a>)</li>
<li>twisted.internet.defer.Deferred.addCallback now runs about 10% faster. (<a href="https://redirect.github.com/twisted/twisted/issues/12223">#12223</a>)</li>
<li>twisted.internet.defer.Deferred error handling is now faster, taking 40% less time to run. (<a href="https://redirect.github.com/twisted/twisted/issues/12227">#12227</a>)</li>
</ul>
<h2>Bugfixes</h2>
<ul>
<li>twisted.internet.ssl.Certificate.<strong>repr</strong> can now handle certificates without a common name (CN) in the certificate itself or the signing CA. (<a href="https://redirect.github.com/twisted/twisted/issues/5851">#5851</a>)</li>
<li>Type annotations have been added to twisted.conch.interfaces.IKnownHostEntry and its implementations, twisted.conch.client.knownhosts.PlainHost and twisted.conch.client.knownhosts.HashedHost, correcting a variety of type confusion issues throughout the conch client code. (<a href="https://redirect.github.com/twisted/twisted/issues/9713">#9713</a>)</li>
<li>twisted.python.failure.Failure once again utilizes the custom pickling logic it used to in the past. (<a href="https://redirect.github.com/twisted/twisted/issues/12112">#12112</a>)</li>
<li>twisted.conch.client.knownhosts.KnownHostsFile.verifyHostKey no longer logs an exception when automatically adding an IP address host key, which means the interactive <code>conch</code> command-line no longer will either. (<a href="https://redirect.github.com/twisted/twisted/issues/12141">#12141</a>)</li>
</ul>
<h2>Improved Documentation</h2>
<ul>
<li>The IRC server example found in the documentation was updated for readability. (<a href="https://redirect.github.com/twisted/twisted/issues/12097">#12097</a>)</li>
<li>Remove contextvars from list of optional dependencies. (<a href="https://redirect.github.com/twisted/twisted/issues/12128">#12128</a>)</li>
<li>The documentation for installing Twisted was moved into a single page. (<a href="https://redirect.github.com/twisted/twisted/issues/12145">#12145</a>)</li>
<li>The project's compatibility policy now clearly indicates that the GitHub Actions test matrix defines the supported platforms. (<a href="https://redirect.github.com/twisted/twisted/issues/12167">#12167</a>)</li>
<li>Updated imap4client.py example, it no longer references Python 2. (<a href="https://redirect.github.com/twisted/twisted/issues/12252">#12252</a>)</li>
</ul>
<h2>Deprecations and Removals</h2>
<ul>
<li>twisted.internet.defer.returnValue has been deprecated. You can replace it with the standard <code>return</code> statement. (<a href="https://redirect.github.com/twisted/twisted/issues/9930">#9930</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="8cb7d2bcf5"><code>8cb7d2b</code></a> python -m incremental.update Twisted --newversion 24.7.0</li>
<li><a href="05b4a87fdc"><code>05b4a87</code></a> Update news.</li>
<li><a href="a30fcf654e"><code>a30fcf6</code></a> Fix conflict.</li>
<li><a href="db61dbb794"><code>db61dbb</code></a> tox -e towncrier</li>
<li><a href="34dc72e14e"><code>34dc72e</code></a> python -m incremental.update Twisted --rc</li>
<li><a href="4814526f91"><code>4814526</code></a> Fix regression in CopiedFailure</li>
<li><a href="b51c186006"><code>b51c186</code></a> Move securitu fixes to a separate security advisories.</li>
<li><a href="c0b035c85b"><code>c0b035c</code></a> Fix typos</li>
<li><a href="6970f5c650"><code>6970f5c</code></a> Fix typo.</li>
<li><a href="6d157ca99c"><code>6d157ca</code></a> tox -e towncrier</li>
<li>Additional commits viewable in <a href="https://github.com/twisted/twisted/compare/twisted-23.10.0...twisted-24.7.0">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/JoinMarket-Org/joinmarket-clientserver/network/alerts).
</details>
ACKs for top commit:
roshii:
Tested ACK c54c11cd17
Tree-SHA512: de0dfb9e1675d7b37d712fcdc8bc677335dfac4e1e7cc470008cd09af81ce17388b4857a5d211b9bc4166a7cefc09e98cf3009c96f2574f19fdd5ebeae8aa998
646999179b RPC-API: Implement message signing (Kristaps Kaupe)
Pull request description:
Resolves#1533.
My first attempt at adding new RPC-API endpoint, there could be mistakes.
Didn't add tests in `jmclient/test/test_wallet_rpc.py` as message signing is currently supported for mainnet only, not regtest (but I tested HTTP 400 response with regtest).
Top commit has no ACKs.
Tree-SHA512: 927b1f97ef903e48f82aa3ae70c7ead05c919a28d016d1ad4fd9c7a8299f8faa7606c30ef24af0ce3cd504e8e27b37bc55d1989bf89da88572ac79af0e60ec12
f952d7df2d Update minimum supported Bitcoin Core version to 29.0 (Kristaps Kaupe)
Pull request description:
We should not recommend anything older, there have been vulnerabilty fix. https://bitcoincore.org/en/2025/04/28/disclose-cve-2024-52919/
Top commit has no ACKs.
Tree-SHA512: 398ece746c629a3a4adfc173580bc9420c450b2e7b98f657cc22c03642d116ed5b29cfe367d832de98d943f05818dcc3301a95cd2e0a329f1a0deae4f1b22d40
8992e36609 Fix Debian dependency check for non-English locales (Kristaps Kaupe)
Pull request description:
To check are packages already installed we search for string "Installed", but it's, of course, spelled differently in different languages. So, force English for this command.
Top commit has no ACKs.
Tree-SHA512: 27ca8ed9eace98b043bf1020a99f40a2a52a0188c62ba3ad6fd9881fa8ea2bf5d49b6ebf96195db788f57d18050ad0c0a384a004069806aa7c5f5b98c9212d0a
d615688df3 Update GetAddressResponse schema to return an object with address property (Nischal Shetty)
Pull request description:
Corrected the `GetAddressResponse` schema definition in `wallet-rpc.yaml` to properly represent the actual API response structure.
ACKs for top commit:
kristapsk:
cr utACK d615688df3
Tree-SHA512: 48fcf60615b1b26999a53c2d514313f0f8fb32546cd8d662b2908cc6d40c8d74c756cf5e298c2f01de16175430c7e52115fa30960d13e8c9042a19bf337da567
398f1c0e8e CI: Bump Bitcoin Core from 28.0 to 29.0 (Kristaps Kaupe)
Pull request description:
.
Top commit has no ACKs.
Tree-SHA512: d1dc89e1baa3c4c1f9f0fc1374e9624d86b613a2f9e44bd33e0144f321e1f0a33daf513b9e3c629d72ac60895f7acf5e8315907009ee5c9b67ebbaa1a9d1493c
14a7b7ea16 Update libsodium from 1.0.18 to 1.0.20 (Kristaps Kaupe)
Pull request description:
Fixes macOS build issues (CI failures).
Top commit has no ACKs.
Tree-SHA512: f91bbeced8ac5925fd02f01d493524246a926dce96144496782eef3a6b0e4642d3dfe633a039cc3a81a865a763b2d50b79f96c4f53290cea14447367a5cd55cc
f3630dc10b Support Bitcoin Core descriptor wallets (quick and dirty way) (Kristaps Kaupe)
Pull request description:
Basically same as #1064, using `address()` descriptors and importing each watchable address separately, like with legacy wallets. There have been a lot of discussions about better proper implementation, but that requires more changes and nobody has written the code. IMHO this is better than nothing, more and more people are complaining about JoinMarket not working with newer Bitcoin Core versions (as it requires manual changes in `bitcoin.conf`).
Note that I haven't re-tested this right now.
Resolves#1571.
ACKs for top commit:
laanwj:
Tested ACK f3630dc10b. With this, i was able to recover an existing jm wallet into a new bitcoin core descriptor wallet, and get the same balances. Sending and receiving was also successful.
Tree-SHA512: 8bbce9637bdc0fa73956131f739424ee1247a659048807775d21e5f06da6053b7e93bcc4ee9a5c0dab2518ac4e5bd2bdfe0d789540d1d2c8879ab69dffe43c4c
395050cfa4 Use coins_to_satoshi() and satoshi_to_coins() from bitcointx everywhere (Kristaps Kaupe)
Pull request description:
It's bad to have different functions for the same thing, `coins_to_satoshi()` were already used in some tests.
Top commit has no ACKs.
Tree-SHA512: aa9f464528472d9ffabea72b10212cb56f6ce3ee96c04ab4463053fa1361a01b171ac93671a1db54a026f427c65baefd8af81641cd22fe1f202d7dc4eb125434
100da5eb33 Handle JsonRpcError in _estimate_fee_basic (Kristaps Kaupe)
Pull request description:
`_estimate_fee_basic` is supposed to return `None` if fee rate can't be estimated and then `estimate_fee_per_kb` handles that with hardcoded fallback fee. But `JsonRpcError` wasn't handled and it could fail when fee estimation is not working in Core.
Fixes#1653.
Previously it outputed unhandled error and hanged, now it's:
```
2024-02-10 02:05:11,803 [DEBUG] rpc: estimatesmartfee [3]
2024-02-10 02:05:11,812 [WARNING] Could not source a fee estimate from Core
2024-02-10 02:05:11,813 [WARNING] Fee estimation for 3 block confirmation target failed. Falling back to default (randomized for privacy): 11976 sat/kvB (11.9 sat/vB).
2024-02-10 02:05:11,815 [DEBUG] rpc: getmempoolinfo []
2024-02-10 02:05:11,818 [DEBUG] rpc: estimatesmartfee [3]
2024-02-10 02:05:11,820 [WARNING] Could not source a fee estimate from Core
2024-02-10 02:05:11,821 [WARNING] Fee estimation for 3 block confirmation target failed. Falling back to default (randomized for privacy): 10279 sat/kvB (10.2 sat/vB).
2024-02-10 02:05:11,849 [INFO] Using a fee of: 0.00001449 BTC (1449 sat).
```
Top commit has no ACKs.
Tree-SHA512: 45bf55530f48a75fdbcc808db3ca8884f273a5b625c2a0bf03a1090f2bd1ebcafc51808e3822cf7684903b4918642b99d400974847d5ebcf6d4e66cab44620b2
cf5184f244 test(ci): build docker image in github workflow (theborakompanioni)
9d8988a1fd build(docker): update to debian bookworm (theborakompanioni)
Pull request description:
Updates `Dockerfile` base image from `debian:bullseye-slim` to `debian:bookworm-slim`.
Bullseye default version of [`autoconf`](https://github.com/JoinMarket-Org/joinmarket-clientserver/pull/1703) is incompatible with [`libffi` v3.4.6](cbd88681f9) (needed 2.71, installed v1.69):
```
534.3 v3.4.6.tar.gz: OK
534.3 /jm/clientserver/deps/libffi-3.4.6 /jm/clientserver/deps /jm/clientserver
[...]
536.0 configure.ac:3: error: Autoconf version 2.71 or higher is required
536.0 configure.ac:3: the top level
536.0 autom4te: /usr/bin/m4 failed with exit status: 63
536.0 aclocal: error: /usr/bin/autom4te failed with exit status: 63
536.0 autoreconf: aclocal failed with exit status: 63
536.0 ./install.sh: line 247: ./configure: No such file or directory
536.0 make: *** No rule to make target 'uninstall'. Stop.
536.0 make: *** No targets specified and no makefile found. Stop.
536.0 make: *** No rule to make target 'check'. Stop.
536.0 Libffi was not built. Exiting.
```
## How to test
Run `docker build -t joinmarket-clientserver-pr-1771 .` and check if image is built successfully.
ACKs for top commit:
kristapsk:
cr utACK cf5184f244
Tree-SHA512: 7fc17f4326d026cc8f925893e3dc4f867dfa0aaa763d64fe5a9205acdb8d14aa615fa611cffc84f6a362d0cc7456bfe2b165949706332b1fd4b805a95d4bf524
b03c5effae Mark my previous signing key as lost (Adam Gibson)
Pull request description:
This is a very overdue notification - I lost access to the signing key that existed in this file in a hard drive failure on my laptop. It was some time in August last year.
So obviously this needs some consideration from a security POV.
As I saw it happen in "real time" (and, you're going to laugh, but it literally was a case of coffee spilled on a laptop), I'm not in any doubt about the fact that it is lost (I tried to retrieve it in the succeeding hours, but failed), nor do I have any realistic worry that it was somehow compromised and accessed by anyone else - the chance of such a thing is never 0, but the point is it is not higher than previous to the accident. Of course, access to my code signing key would only allow code signing, the key has no other security significance. So obviously if you do see code signed or anything else signed with that key after August 2024 do not trust it and also alert me! (But, it's not going to happen).
I have a new key, but, to state clearly what is probably by now obvious, I don't have any intention, currently, of continuing contributions to the Joinmarket project. So the new code signing key isn't added here.
Equally, if people need my support in changing the status of the project, for example, adding new contributors commit rights, don't hesitate to ask.
ACKs for top commit:
kristapsk:
ACK b03c5effae
Tree-SHA512: 9113bcec70a73963f2a98da4daeabad90dece12f3a4618bd6f05de1b0ab5ccd6e890b06c2715327a3908c95ca0ded9d899aefe8e6b30e86d2eb4389ff7739e63
c416a94410 Remove DarkScience IRC network from default config (Kristaps Kaupe)
Pull request description:
As requested by DarkScience Operations Team.
Resolves#1760.
Top commit has no ACKs.
Tree-SHA512: 1919a52a3bdfec70b58158367c11a6cf8fb51344d1f83c0e7fa6e23bf159bc5542c02545c68e062d54a5f6f500a506b495a27efc576427744f3bd2c737da3964
cbd88681f9 Bump libffi from 3.2.1 to latest 3.4.6 (Kristaps Kaupe)
Pull request description:
There are bunch of various bugfixes between 3.2.1 and 3.4.6.
Fixes#1752.
Top commit has no ACKs.
Tree-SHA512: 021144cb306157bcd90ac5316435b8ea1f2fe95160e57387a6badd027d3907036e2ae89a98f35116e23e63c95320e002a81387bb12f23855f16333870e360933
da5603aef6 CI: Run bash scripts with -x (Kristaps Kaupe)
Pull request description:
Makes it easier to understand what's happening when, for example, some random `install.sh` dependency build fails.
Top commit has no ACKs.
Tree-SHA512: 242bb461c8451620eb58f0494539ebbe008d9af3740ccaa8aef8cee8172e0ef0e9cefd55a80d57f011babed4a9c01cac2e0b32b055fae2031f67fa183e97b46a
114423371d Bump built-in Tor from 0.4.8.10 to 0.4.8.13 (Kristaps Kaupe)
Pull request description:
There have been some bugfixes in between.
[Full changes](https://gitlab.torproject.org/tpo/core/tor/-/raw/tor-0.4.8.13/ChangeLog):
```
Changes in version 0.4.8.13 - 2024-10-24
This is minor release fixing an important client circuit building (Conflux
related) bug which lead to performance degradation and extra load on the
network. Some minor memory leaks fixes as well as an important minor feature
for pluggable transports. We strongly recommend to update as soon as possible
for clients in order to neutralize this conflux bug.
o Major bugfixes (circuit building):
- Conflux circuit building was ignoring the "predicted ports" feature, which aims to make Tor stop building circuits if there have been no user requests lately. This bug led to every idle Tor on the network building and discarding circuits every 30 seconds, which added overall load to the network, used bandwidth and battery from clients that weren't actively using their Tor, and kept sockets open on guards which added connection padding essentially forever. Fixes bug 40981; bugfix on 0.4.8.1-alpha;
o Minor feature (bridges, pluggable transport):
- Add STATUS TYPE=version handler for Pluggable Transport. This allows us to gather version statistics on Pluggable Transport usage from bridge servers on our metrics portal. Closes ticket 11101.
o Minor features (fallbackdir):
- Regenerate fallback directories generated on October 24, 2024.
o Minor features (geoip data):
- Update the geoip files to match the IPFire Location Database, as retrieved on 2024/10/24.
o Minor bugfixes (memleak, authority):
- Fix a small memleak when computing a new consensus. This only affects directory authorities. Fixes bug 40966; bugfix on 0.3.5.1-alpha.
o Minor bugfixes (memory):
- Fix memory leaks of the CPU worker code during shutdown. Fixes bug 833; bugfix on 0.3.5.1-alpha.
Changes in version 0.4.8.12 - 2024-06-06
This is a minor release with couple bugfixes affecting conflux and logging.
We also have the return of faravahar directory authority with new keys and
address.
o Minor feature (dirauth):
- Add back faravahar with a new address and new keys. Closes 40689.
o Minor features (fallbackdir):
- Regenerate fallback directories generated on June 06, 2024.
o Minor features (geoip data):
- Update the geoip files to match the IPFire Location Database, as retrieved on 2024/06/06.
o Minor bugfix (circuit):
- Remove a log_warn being triggered by a protocol violation that already emits a protocol warning log. Fixes bug 40932; bugfix on 0.4.8.1-alpha.
o Minor bugfixes (conflux):
- Avoid a potential hard assert (crash) when sending a cell on a Conflux set. Fixes bug 40921; bugfix on 0.4.8.1-alpha.
- Make sure we don't process a closed circuit when packaging data. This lead to a non fatal BUG() spamming logs. Fixes bug 40908; bugfix on 0.4.8.1-alpha.
Changes in version 0.4.8.11 - 2024-04-10
This is a minor release mostly to upgrade the fallbackdir list. Worth noting
also that directory authority running this version will now automatically
reject relays running the end of life 0.4.7.x version.
o Minor feature (authority):
- Reject 0.4.7.x series at the authority level. Closes ticket 40896.
o Minor feature (dirauth, tor26):
- New IP address and keys.
o Minor feature (directory authority):
- Allow BandwidthFiles "node_id" KeyValue without the dollar sign at the start of the hexdigit, in order to easier database queries combining Tor documents in which the relays fingerprint does not include it. Fixes bug 40891; bugfix on 0.4.7 (all supported versions of Tor).
o Minor features (fallbackdir):
- Regenerate fallback directories generated on April 10, 2024.
o Minor features (geoip data):
- Update the geoip files to match the IPFire Location Database, as retrieved on 2024/04/10.
o Minor bugfixes (directory authorities):
- Add a warning when publishing a vote or signatures to another directory authority fails. Fixes bug 40910; bugfix on 0.2.0.3-alpha.
```
Top commit has no ACKs.
Tree-SHA512: eac24042418742bc680b53563a47fef0038d2fece9c8084b03c93d6f777ad701b943dc2968e6d7fc54080a445f8ad34513efa99b3431f9dc38c1ec1bf6c80db5
Changes in version 0.4.8.13 - 2024-10-24
This is minor release fixing an important client circuit building (Conflux
related) bug which lead to performance degradation and extra load on the
network. Some minor memory leaks fixes as well as an important minor feature
for pluggable transports. We strongly recommend to update as soon as possible
for clients in order to neutralize this conflux bug.
o Major bugfixes (circuit building):
- Conflux circuit building was ignoring the "predicted ports"
feature, which aims to make Tor stop building circuits if there
have been no user requests lately. This bug led to every idle Tor
on the network building and discarding circuits every 30 seconds,
which added overall load to the network, used bandwidth and
battery from clients that weren't actively using their Tor, and
kept sockets open on guards which added connection padding
essentially forever. Fixes bug 40981; bugfix on 0.4.8.1-alpha;
o Minor feature (bridges, pluggable transport):
- Add STATUS TYPE=version handler for Pluggable Transport. This
allows us to gather version statistics on Pluggable Transport
usage from bridge servers on our metrics portal. Closes
ticket 11101.
o Minor features (fallbackdir):
- Regenerate fallback directories generated on October 24, 2024.
o Minor features (geoip data):
- Update the geoip files to match the IPFire Location Database, as
retrieved on 2024/10/24.
o Minor bugfixes (memleak, authority):
- Fix a small memleak when computing a new consensus. This only
affects directory authorities. Fixes bug 40966; bugfix
on 0.3.5.1-alpha.
o Minor bugfixes (memory):
- Fix memory leaks of the CPU worker code during shutdown. Fixes bug
833; bugfix on 0.3.5.1-alpha.
Changes in version 0.4.8.12 - 2024-06-06
This is a minor release with couple bugfixes affecting conflux and logging.
We also have the return of faravahar directory authority with new keys and
address.
o Minor feature (dirauth):
- Add back faravahar with a new address and new keys. Closes 40689.
o Minor features (fallbackdir):
- Regenerate fallback directories generated on June 06, 2024.
o Minor features (geoip data):
- Update the geoip files to match the IPFire Location Database, as
retrieved on 2024/06/06.
o Minor bugfix (circuit):
- Remove a log_warn being triggered by a protocol violation that
already emits a protocol warning log. Fixes bug 40932; bugfix
on 0.4.8.1-alpha.
o Minor bugfixes (conflux):
- Avoid a potential hard assert (crash) when sending a cell on a
Conflux set. Fixes bug 40921; bugfix on 0.4.8.1-alpha.
- Make sure we don't process a closed circuit when packaging data.
This lead to a non fatal BUG() spamming logs. Fixes bug 40908;
bugfix on 0.4.8.1-alpha.
Changes in version 0.4.8.11 - 2024-04-10
This is a minor release mostly to upgrade the fallbackdir list. Worth noting
also that directory authority running this version will now automatically
reject relays running the end of life 0.4.7.x version.
o Minor feature (authority):
- Reject 0.4.7.x series at the authority level. Closes ticket 40896.
o Minor feature (dirauth, tor26):
- New IP address and keys.
o Minor feature (directory authority):
- Allow BandwidthFiles "node_id" KeyValue without the dollar sign at
the start of the hexdigit, in order to easier database queries
combining Tor documents in which the relays fingerprint does not
include it. Fixes bug 40891; bugfix on 0.4.7 (all supported
versions of Tor).
o Minor features (fallbackdir):
- Regenerate fallback directories generated on April 10, 2024.
o Minor features (geoip data):
- Update the geoip files to match the IPFire Location Database, as
retrieved on 2024/04/10.
o Minor bugfixes (directory authorities):
- Add a warning when publishing a vote or signatures to another
directory authority fails. Fixes bug 40910; bugfix
on 0.2.0.3-alpha.
6baf4a542d Bump minimum required Bitcoin Core version from 24.0.1 to 25.1 (Kristaps Kaupe)
Pull request description:
Security vulnerability has been disclosed for versions older than 25.1, which are also currently EOL. https://bitcoincore.org/en/2024/11/05/cb-stall-hindering-propagation/
ACKs for top commit:
MarnixCroes:
ACK 6baf4a542d
Tree-SHA512: 439fe1f8ca85cbd6483b51ae2aa21046ceff2008f90b40d1c85b9dc8728c117f7a1b7be26223ee0fc6e41c0bf809a06eb64700b0d4e67c6509acea7f448ca423
d53b9026b3 doc: Tor control auth cookie file must be group readable (Kristaps Kaupe)
Pull request description:
It is off by default, but must be enabled, unless Tor is running under the same user as JoinMarket, which is not the case except for built-in Tor (but then user does not need to configure `/etc/tor/torrc`).
```
CookieAuthFileGroupReadable 0|1
If this option is set to 0, don’t allow the filesystem group to read the cookie file. If the option is set to 1, make the cookie file readable
by the default GID. [Making the file readable by other groups is not yet implemented; let us know if you need this for some reason.] (Default:
0)
```
Top commit has no ACKs.
Tree-SHA512: 00e6330f7a66c559aa7a7bbde1f39d6a93f2ece42b6e1ccdd9eb5c0d0b8636a01be51f6b66ba04f5a609cc426c3d0717def78a6517cc018018b59c9492025967
d9da8bd38e CI: Bump Bitcoin Core to v28.0 (Kristaps Kaupe)
Pull request description:
.
Top commit has no ACKs.
Tree-SHA512: 4343a1cf93143d860515c3111514cfca62d280675f5c2ccc76aeb0e419d25b09f090697703e41f3267ec87d6cfb012bc93970da89f6923a03b37748971d93868
669839e201 Remove test that assumes mempoolfullrbf=0 (Kristaps Kaupe)
Pull request description:
It has never been safe to assume that an unconfirmed transaction could not be replaced.
https://github.com/JoinMarket-Org/joinmarket-clientserver/issues/1734#issuecomment-2428103838Resolves#1734.
Top commit has no ACKs.
Tree-SHA512: 3246f733efce5d3922fb8f7293b4e969237c2f16cffaf62bf4554910c491a6a6cd8ccbd9f977e2dbc7f597a662b683f1fbf9004a2c8705e10824fab3afbfb931