shum
adcb826a67
Merge branch 'sh/fix-proxy-leak' into sh/fix-proxy-mesh
...
# Conflicts:
# tests/SMPProxyTests.hs
2026-10-16 16:08:22 +00:00
shum
56c13a7dc5
tests: run relay limit test with test environment
2026-10-16 16:08:22 +00:00
shum
031475b473
tests: run proxy leak tests with test environment
2026-10-16 16:08:05 +00:00
shum
344fd969ab
Merge branch 'sh/fix-proxy-leak' into sh/fix-proxy-mesh
...
# Conflicts:
# src/Simplex/Messaging/Server.hs
# src/Simplex/Messaging/Server/Env/STM.hs
# tests/SMPProxyTests.hs
2026-10-16 15:33:58 +00:00
shum
826c45f543
Merge remote-tracking branch 'origin/master' into sh/fix-proxy-leak
...
# Conflicts:
# src/Simplex/Messaging/Server.hs
# tests/SMPClient.hs
2026-10-16 15:32:03 +00:00
sh
4b8d31a476
smp-server: remove deleted queues from store maps ( #1947 )
2026-10-16 09:46:09 +01:00
sh and Evgeny @ SimpleX Chat
e91711c7d7
smp-server: remove journal store leftovers ( #1946 )
...
* smp-server: remove postgres queue cache
* smp-server: remove queue locks
* smp-server: simplify message store class
* smp-server: remove unused functions and exports
* tests: remove journal leftovers
* agent: remove unused lock exports
* fix
* fixes
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-10-15 19:36:45 +01:00
f1f079044c
smp-server: remove journal message store ( #1919 )
...
Co-authored-by: sh <github.shum@liber.li >
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-10-15 17:37:49 +01:00
Evgeny and Evgeny @ SimpleX Chat
9d83c0378e
tests: execute in parallel, agent: fix race condition with files and when switching queue ( #1932 )
...
* tests: execute in parallel
* fix test
* fix postgresql build
* fix test
* fix test
* fix some tests
* fix tests
* fix tests
* fix test
* update schema
* fix test
* update schemas
* diff
* fix race
* fixes
* update schemas
* fix tests
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-10-15 14:10:04 +01:00
sh
1d39da91c5
smp-server: enforce command concurrency limit ( #1944 )
...
* smp-server: hold command slot until completion
* smp-server: command slot wait timeout and stats
* smp-server: clarify command slot comments
* smp-server: simplify command slot fork
* smp-server: limit direct RSLV per client
* smp-server: distinct error for RSLV slot timeout
* smp-server: client command slot wait timeout
* smp-server: reply to forwarded RSLV slot timeout
* smp-server: raise default concurrency limits
* smp-server: simplify command slot wait
2026-10-15 13:58:07 +04:00
shum
987899583e
Merge branch 'sh/fix-proxy-leak' into sh/fix-proxy-mesh
2026-10-14 16:23:28 +00:00
shum
500362b82d
tests: pass CorrCbNonce to forwardSMPTransmission
2026-10-14 16:23:28 +00:00
shum
a9e13532d1
Merge branch 'sh/fix-proxy-leak' into sh/fix-proxy-mesh
...
# Conflicts:
# src/Simplex/Messaging/Server.hs
2026-10-14 15:37:49 +00:00
shum
b3ef8fda7e
Merge remote-tracking branch 'origin/master' into sh/fix-proxy-leak
...
# Conflicts:
# tests/SMPClient.hs
2026-10-14 15:37:29 +00:00
shum
70448be9d9
smp-server: count forwards above relay limit
2026-10-14 15:20:43 +00:00
shum
e024ab654c
smp-server: limit forwards in flight per relay
2026-10-14 15:07:29 +00:00
shum
9650cd3cc6
smp: do not keep sent command without msgQ
2026-10-14 15:07:29 +00:00
Evgeny Poberezkin
cba1382356
7.1.0.11
2026-10-11 22:33:06 +01:00
Evgeny and Evgeny @ SimpleX Chat
b5e8a4b8cc
fix tests on ghc 8.10.7 ( #1939 )
...
* fix tests on ghc 8.10.7
* fix test
* fix schema dump test
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-10-11 20:36:51 +01:00
Evgeny and Evgeny @ SimpleX Chat
3db4029bb9
ci: build cache ( #1938 )
...
* ci: build cache
* update build job
* rename steps, cache all builds, patch timestamps for ghc 8.10.7
* refactor, save O0 caches in master and stable builds
* update build to include toolchain fingerprint
* do not save cache on exact match
* remove caching docker from prs
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-10-11 11:52:24 +01:00
Evgeny and Evgeny @ SimpleX Chat
8a80727fa5
smp server: delayed AUTH responses ( #1937 )
...
* smp server: delayed AUTH responses
* plan
* update
* simplify
* simplify
* stat when sent without delay
* update schema
* round up response time to the nearest delay multiple
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-10-11 07:37:33 +01:00
Evgeny and Evgeny @ SimpleX Chat
a2f985dc68
agent: prepare invitation link, create ratchet when connection is prepared ( #1880 )
...
* agent: prepare invitation link
* simplify
* refactor
* fix
* change min SMP version to 15
* remove dead code for SMP version <= 15
* update
* diff
* create ratchet when connection is prepared
* createRatchetIfNotExists
* clean up, only check client notices for contacts, fix orphan record
* simplify
* refactor
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-10-10 23:15:19 +01:00
Evgeny and Evgeny @ SimpleX Chat
c18e0297c4
agent: migration to add index to read queues ( #1934 )
...
* agent: migration to add index to read queues
* update postgres schema
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-10-08 17:07:55 +01:00
Evgeny and Evgeny @ SimpleX Chat
e24d537eaa
agent: fix race when switching reception to the new queue ( #1933 )
...
* agent: fix race when switching reception to the new queue
* return bool
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-10-08 16:03:06 +01:00
sh
7754f8624e
smp-server: copy entity IDs out of received block ( #1906 )
2026-10-08 15:28:38 +01:00
Evgeny and Evgeny @ SimpleX Chat
8d81f775b1
smp protocol: require fixed size corr ID when used as nonce, and min size msg ID to use as nonce ( #1925 )
...
* smp protocol: require fixed size corr ID when used as nonce, and min size msg ID to use as nonce
* simpler
* fixes
* randomMsgId
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-10-08 09:32:11 +01:00
Evgeny and Evgeny @ SimpleX Chat
c0a1b7bd2d
agent: fail database transaction instantly when database is closed, prevent race conditions in command processing, fix race when uploading files ( #1885 )
...
* agent: fail database transaction instantly when database is closed
* update direct-sqlcipher
* update direct-sqlcipher, fixes
* autoincrement command ID
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-10-06 13:01:55 +01:00
Evgeny and Evgeny @ SimpleX Chat
4ab5376a6e
smp: reduce min supported version to 15 (short links support, 3/30/2025) ( #1931 )
...
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-10-05 11:31:57 +01:00
Evgeny
aaffb5b07d
Merge pull request #1922 from simplex-chat/ratchet
...
Improve double ratchet
2026-10-05 08:07:04 +01:00
Evgeny and Evgeny @ SimpleX Chat
65893a359a
agent: resolve potential race conditions in double ratchet ( #1923 )
...
* agent: resolve potential race conditions in double ratchet
* update
* improve
* diff
* diff
* diff
* simpler
* more races
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-10-04 22:28:50 +01:00
Evgeny and Evgeny @ SimpleX Chat
fcc5670ae2
agent: keep ratchet hashes for connection lifetime, up to some cap, to prevent replay of expired ratchets ( #1893 )
...
* agent: keep ratchet hashes for connection lifetime, to prevent replay of expired ratchets
* cap
* simpler
* simpler2
* split
* one query
* simplify
* performance
* migration
* fix schema
* comment
* improve
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-10-04 14:43:21 +01:00
Evgeny and shum
18440c0d17
smp-server: check queue is not secured in link store ( #1917 )
...
Co-authored-by: shum <github.shum@liber.li >
2026-10-04 13:41:48 +01:00
Evgeny and Evgeny @ SimpleX Chat
64c5d19fc4
agent: aggregate cap on skipped message keys ( #1903 )
...
* agent: aggregate cap on skipped message keys
* migration
* update migration
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-10-04 10:18:41 +01:00
Evgeny and Evgeny @ SimpleX Chat
e11dfb985d
consider IP address protected only if it is used for the chosen host ( #1895 )
...
* consider IP address protected only if it is used for the chosen host
* simplify
* simplify
* simplify
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-10-03 22:45:44 +01:00
Evgeny and shum
76248dd767
sntrup761: bound KeyGen retries on R3 inversion ( #1918 )
...
Co-authored-by: shum <github.shum@liber.li >
2026-10-03 17:01:36 +01:00
brenzi
9c641fed91
reject e2e params with kem_ct and without kem_key ( #1901 )
2026-10-03 15:10:42 +01:00
sh
91e070cb5e
crypto: document 16-byte GCM IV in double ratchet ( #1914 )
2026-10-03 15:00:18 +01:00
sh
9fe3745401
docs: use role names for key exchange parties ( #1912 )
2026-10-03 14:59:22 +01:00
Evgeny and Evgeny @ SimpleX Chat
24036368f8
xrcp: limit multicast validity time window ( #1899 )
...
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-10-03 14:51:48 +01:00
sh
acd5c0f530
docs: add cryptographic primitive registry ( #1913 )
2026-10-03 14:21:21 +01:00
Evgeny and Evgeny @ SimpleX Chat
ead8f10f26
smp protocol: bind agreed version of forwarded command ( #1915 )
...
* smp protocol: bind agreed version of forwarded command
* refactor
* pass proxied relay version range via config
* simplify
* refactor
* packZipWith
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-10-03 08:56:19 +01:00
sh
053e83b704
resolver: multicall reads, keep-alive, workers and structured logs ( #1883 )
...
* resolver: queue up to 128 pending connections
* resolver: reuse connections to the node
* resolver: read each round in one multicall
* resolver: run worker processes, log durations
* resolver: keep smp-server connections alive
* resolver: test with pytest, lock dependencies
* resolver: structured logs and real client addresses
* resolver: refuse requests with a body
* resolver: harden pool, health and odd answers
* resolver: pin images, rotate logs
* resolver: stricter body check, redact RPC URL
* resolver: ship .env as .env.example
* resolver: pass settings from .env
* resolver: name the image snrc-resolve:local
2026-10-01 09:10:42 +01:00
sh
234b5cd856
smp-server: rework message expiration ( #1873 )
...
* smp server: rework message expiration
* smp server: paginate message expiration sweep
2026-10-01 09:08:16 +01:00
Evgeny Poberezkin
38fdc0c544
7.1.0.10
2026-09-30 13:03:16 +01:00
shum
ad694af988
smp-server: drop relay session after timeouts
2026-09-30 11:33:02 +00:00
shum
35767d74c5
smp: remove unsent and timed-out proxy requests
2026-09-30 11:30:42 +00:00
shum
be5262d258
tests: reproduce proxy request leak, stuck relay
2026-09-30 11:30:24 +00:00
Evgeny and Evgeny @ SimpleX Chat
b4c288c597
docs: clarify security model ( #1902 )
...
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-09-30 10:18:52 +01:00
Evgeny and Evgeny @ SimpleX Chat
0e1ecdcff6
xftp server: validate paths in store log ( #1894 )
...
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-09-30 09:36:45 +01:00
Evgeny and Evgeny @ SimpleX Chat
c1776dc5a4
server: improve control port auth ( #1898 )
...
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-09-30 09:04:28 +01:00