Cyrille Beraud
b828060ac2
proxy: fix listener restart on connectivity change
...
When a device wakes up from Doze mode or switches networks (e.g. WiFi to 4G),
old TCP sockets may become silently dead. When connectivityChanged() is
called, the proxy client triggers a new HTTP request (getProxyInfos)
which succeeds since it uses a fresh socket, leading the client to
believe the connection is still UP.
Because the status doesn't change (Connected -> Connected),
launchConnectedCbs_ was not set, and restartListeners() was never invoked.
Consequently, push subscriptions and permanent puts were not renewed
on the proxy, causing the device to appear offline on the DHT.
This forces launchConnectedCbs_ to true on connectivityChanged, ensuring
that listeners and subscriptions are properly restarted.
2026-06-07 19:13:14 +02:00
Adrien Béraud
9a60329f66
proxy server: use token as request url
2026-06-03 20:00:34 -04:00
Adrien Béraud
0bb393ec36
http: allow to build Request by std::string url
2026-06-03 19:30:53 -04:00
vx32
947610003b
http: allow to build Url from std::string, cleanup
2026-06-03 19:14:32 -04:00
Adrien Béraud
dcbe158554
proxy server: allow url-encoded base64 for UnifiedPush
2026-06-03 19:12:40 -04:00
vx32
38e9a7fd61
base64: add support for url-encoded base64
2026-06-03 17:01:19 -04:00
François-Simon Fauteux-Chapleau
7cf3e8b738
thread_pool: notify when task queue becomes empty
...
This prevents ThreadPool::stop from hanging if it is called with `wait`
set to true (which is notably the case in ThreadPool::join) and the
pool's task queue is non-empty.
v4.0.4
2026-05-21 10:17:08 -04:00
François-Simon Fauteux-Chapleau
e924ef5620
tests: add regression test for hang in thread pool
...
The worker threads in a ThreadPool don't signal the pool's condition
variable when completing the last task in the queue. As a consequence,
ThreadPool::join() hangs if called while the task queue is non-empty.
2026-05-21 10:17:08 -04:00
Adrien Béraud
d96115b445
docs: update manpage for dhtnode
2026-05-18 10:50:23 -04:00
Adrien Béraud
bb96d2d80e
dhtchat: adapt for new API
v4.0.3
2026-05-18 10:36:48 -04:00
Adrien Béraud
8b96652b32
dhtrunner: add signatures for putEncrypted(InfoHash, PkId to, Value&&)
2026-05-18 10:36:48 -04:00
Adrien Béraud
d1235660d5
crypto: add support to build with Nettle 4.0
v4.0.2
2026-05-13 14:36:13 -04:00
Adrien Béraud
23c6b5547b
python: update for API changes in 4.0
v4.0.1
2026-05-13 14:18:08 -04:00
Adrien Béraud
61c4a3880f
update version to 4.0.0
v4.0.0
2026-05-11 09:28:57 -04:00
Adrien Béraud
44f2aaa876
remove deprecated APIs
2026-05-11 09:27:56 -04:00
Adrien Béraud
a363d573e3
dht: fix persisted permanent values never expiring
...
When values are exported and re-imported, permanent values retain their
time_point::max() expiration but lose their permanent flag. This caused
them to be stored as non-permanent with an effectively infinite
expiration, so they would never expire.
Cap the expiration of non-permanent values to created + type.expiration,
ensuring that imported permanent values get a finite expiration matching
their value type.
2026-05-09 00:39:49 -04:00
Adrien Béraud
3ff9338980
tests: add test for permanent value import expiration
...
Add testImportPermanentValueExpires to verify that values originally
stored as permanent (with time_point::max() expiration) properly expire
after being exported and re-imported, since the permanent flag is lost
during the import process.
2026-05-09 00:39:49 -04:00
Adrien Béraud
ea3c0f0d93
update version to 3.7.9
v3.7.9
2026-05-02 20:40:25 -04:00
Adrien Béraud
f0cf074576
BUILD.md: add llhttp dependency and remove CMAKE_INSTALL_PREFIX
2026-05-02 19:08:02 -04:00
Adrien Béraud
760586ed4a
python: build for python 3.14
2026-05-02 19:06:25 -04:00
dependabot[bot]
b951f4f40a
build(deps): bump softprops/action-gh-release from 2 to 3
...
Bumps [softprops/action-gh-release](https://github.com/softprops/action-gh-release ) from 2 to 3.
- [Release notes](https://github.com/softprops/action-gh-release/releases )
- [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md )
- [Commits](https://github.com/softprops/action-gh-release/compare/v2...v3 )
---
updated-dependencies:
- dependency-name: softprops/action-gh-release
dependency-version: '3'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-04-18 13:55:23 +10:00
dependabot[bot]
63cc650a72
build(deps): bump pypa/cibuildwheel from 3.4.0 to 3.4.1
...
Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel ) from 3.4.0 to 3.4.1.
- [Release notes](https://github.com/pypa/cibuildwheel/releases )
- [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md )
- [Commits](https://github.com/pypa/cibuildwheel/compare/v3.4.0...v3.4.1 )
---
updated-dependencies:
- dependency-name: pypa/cibuildwheel
dependency-version: 3.4.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-04-18 13:54:34 +10:00
Adrien Béraud
c020d2e1ef
update version to 3.7.8
v3.7.8
2026-04-02 16:37:17 -04:00
copilot-swe-agent[bot] and aberaud
aae1bb2ae5
infohash: fix unaligned memory access on strict-alignment architectures (sparc64)
...
Agent-Logs-Url: https://github.com/savoirfairelinux/opendht/sessions/d4106989-db2c-4d34-b1ea-4ca2ecab524a
Co-authored-by: aberaud <101827+aberaud@users.noreply.github.com >
2026-04-02 16:08:33 -04:00
Pavan Koushik Nellore
593e59e093
proxy: add pushType field and propagate through proxy notifications
2026-04-02 15:03:11 -04:00
dependabot[bot]
86d5065aca
build(deps): bump microsoft/setup-msbuild from 2 to 3
...
Bumps [microsoft/setup-msbuild](https://github.com/microsoft/setup-msbuild ) from 2 to 3.
- [Release notes](https://github.com/microsoft/setup-msbuild/releases )
- [Commits](https://github.com/microsoft/setup-msbuild/compare/v2...v3 )
---
updated-dependencies:
- dependency-name: microsoft/setup-msbuild
dependency-version: '3'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-25 16:25:14 -04:00
dependabot[bot]
308d8ff82b
build(deps): bump actions/upload-artifact from 6 to 7
...
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact ) from 6 to 7.
- [Release notes](https://github.com/actions/upload-artifact/releases )
- [Commits](https://github.com/actions/upload-artifact/compare/v6...v7 )
---
updated-dependencies:
- dependency-name: actions/upload-artifact
dependency-version: '7'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-19 18:32:26 -04:00
dependabot[bot]
34b9ddd023
build(deps): bump docker/build-push-action from 6 to 7
...
Bumps [docker/build-push-action](https://github.com/docker/build-push-action ) from 6 to 7.
- [Release notes](https://github.com/docker/build-push-action/releases )
- [Commits](https://github.com/docker/build-push-action/compare/v6...v7 )
---
updated-dependencies:
- dependency-name: docker/build-push-action
dependency-version: '7'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-19 18:32:04 -04:00
dependabot[bot]
88cb14ad95
build(deps): bump actions/download-artifact from 7 to 8
...
Bumps [actions/download-artifact](https://github.com/actions/download-artifact ) from 7 to 8.
- [Release notes](https://github.com/actions/download-artifact/releases )
- [Commits](https://github.com/actions/download-artifact/compare/v7...v8 )
---
updated-dependencies:
- dependency-name: actions/download-artifact
dependency-version: '8'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-19 18:31:48 -04:00
Adrien Béraud
e453a47242
update version to 3.7.7
v3.7.7
2026-03-16 11:05:38 -04:00
Adrien Béraud
199090b959
network engine: log exceptions
2026-03-15 19:42:09 -04:00
Adrien Béraud
d250e6a349
dhtrunner: cleanup
2026-03-15 10:43:46 -04:00
Adrien Béraud
99da0be2b7
misc: remove lock mutex template argument
2026-03-15 00:00:33 -04:00
Adrien Béraud
22d219c695
dht: close socket on auth error
2026-03-14 18:19:06 -04:00
Adrien Béraud
ccd4865df5
dht: allow search table update with listen token refresh
2026-03-14 16:17:32 -04:00
Adrien Beraud
5afc452f32
build/cmake: set SIMDUTF_CXX_STANDARD to match CMAKE_CXX_STANDARD
2026-03-14 11:37:53 -04:00
Adrien Beraud
a06596d365
tests: unlock mutex before join
2026-03-14 11:37:50 -04:00
Adrien Béraud
aa260c7b40
tests: add testShutdownCompletesWithPendingPut
2026-03-14 11:37:43 -04:00
Adrien Béraud
7183847e44
tests: use random ports
2026-03-13 22:59:41 -04:00
Adrien Béraud
884cb09220
tests: bound dhtrunner async waits
2026-03-13 22:00:09 -04:00
Adrien Béraud
04edaafa57
dht: simplify bootstrap logic
2026-03-13 20:59:24 -04:00
Adrien Béraud
6be58884aa
tests: set timout for test_crypto to 60s
2026-03-13 20:58:53 -04:00
Adrien Béraud
d50d3d4f32
tests: set timout for test_dhtrunner to 60s
2026-03-13 20:52:56 -04:00
Adrien Béraud
8acafe844d
dht: release pending bootstrap after first attempt
2026-03-13 20:39:40 -04:00
Adrien Béraud
688b713c09
tests: cover bootstrap put failure after disconnect
2026-03-13 20:39:37 -04:00
Adrien Béraud
017df59dde
update version to 3.7.6
v3.7.6
2026-03-13 18:30:43 -04:00
Adrien Béraud
964800a506
tests: disable test_networkengine on MSVC
2026-03-13 16:30:36 -04:00
Adrien Béraud
4f423d066f
tests: attempt to fix test_networkengine on MSVC
2026-03-13 16:09:49 -04:00
Adrien Béraud
ae49b96c2d
tests: attempt to fix test_networkengine on MSVC
2026-03-13 16:02:33 -04:00
Adrien Béraud
3701b21425
tests: attempt to fix test_networkengine on MSVC
2026-03-13 15:49:52 -04:00