Evgeny Poberezkin
54dc8d42e7
5.2.0, ntf server 1.5.0 ( #790 )
2023-07-03 13:32:58 +01:00
spaced4ndy
0e1562deae
increase connection agent version according to received messages; add version and flags to connection stats, bump currentSMPAgentVersion ( #789 )
2023-06-30 20:19:10 +04:00
Evgeny Poberezkin
94540a2c71
servers: add TCP timeouts to avoid memory leaks ( #776 )
...
* servers: add TCP timeouts to avoid memory leaks
* fix tests
* only use RecvTimeOut
* servers: simple timeout for TCP transport
* revert dependency change
* simplify
* simplify
* simplify 2
2023-06-30 16:22:01 +01:00
Evgeny Poberezkin
16367fcb3b
make timeouts for batched functions dependent on the number of batches ( #786 )
...
* make timeouts for batched functions dependent on the number of batches
* fix
* refactor
* refactor
* change import
* refactor
* rename function
* rename
* refactor
* remove space
2023-06-30 12:26:09 +01:00
spaced4ndy
8be2505fa0
ratchet re-synchronization ( #774 )
...
* ratchet re-synchronization rfc wip
* additions
* additions, types
* fix tests
* re-sync implementation wip
* re-sync implementation 1st rev.
* test wip
* test passes
* doc
* wording
* improve doc schema
* single agreed state
* refactor (1 state variable)
* allowed -> required
* prohibit enqueue
* enqueue
* send via multiple queues
* test with server offline
* clarify errors
* rename
* more tests
* refactor
* rename AgentRKey
* rename AM_CONN_RATCHET_KEY
* more tests
* rename
* write encoded AgentRatchetInfo to AgentRatchetKey info
* move withConnLock
* refactor qDuplex
* re-create ratchet on receiving second key
* invert condition
* refactor
* simplify
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2023-06-30 14:17:08 +04:00
spaced4ndy
a000419bd7
restore confirmation after client restart ( #783 )
2023-06-29 10:10:34 +04:00
spaced4ndy
c8a8e2c297
differentiate agent INACTIVE error, treat as temporary ( #784 )
2023-06-29 10:00:53 +04:00
Evgeny Poberezkin
f7d038ef20
agent: more batched commands ( #782 )
...
* agent: more batched commands
* layout
2023-06-28 19:50:11 +01:00
Evgeny Poberezkin
4a927d1ae2
ntf server: better batching and logging ( #780 )
...
* ntf server: better batching and logging
* reduce batch delay for ntf server
* comments
* 5.1.3, ntf 1.4.2
* more logging
* more logging
* split large batches, more logging
* remove some logs
2023-06-26 20:14:35 +01:00
spaced4ndy
3a74558e84
fix connection switch status db encoding ( #781 )
2023-06-26 21:03:46 +04:00
Evgeny Poberezkin
e3fff98b1b
5.1.2, ntf server 1.4.1
2023-06-25 09:31:55 +01:00
Evgeny Poberezkin
acea477aab
batch subscriptions for ntf server ( #778 )
...
* return updated ConnectionStats from switchConnectionAsync (#777 )
* batch ntf server subscriptions to SMP servers
* refactor
* fix filtering queues in reconnect
* test, remove repeated grouping
* enable all tests
* reduce subscriptions count
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
2023-06-25 08:27:50 +01:00
spaced4ndy
c31668ce28
return updated ConnectionStats from switchConnectionAsync ( #777 )
2023-06-19 14:51:14 +04:00
spaced4ndy
2efe1496d2
rename "stop switch" -> "abort switch", add canAbortSwitch to rcv queue info ( #775 )
2023-06-16 13:41:01 +04:00
spaced4ndy
011e1109e9
connection switch - track status, stop switch command ( #764 )
...
* connection switch improvements
* stop in transaction
* refactor
* checks in transaction
* withSwitchingRQ in transaction
* withSwitchedSQ in transaction
* refactor
* refactor
* inverse some cases
* reset snd switch progress on repeat qadd
* remove unused functions
* connection info type
* correction
* SPFinalizing phase, correctly update connection in event
* refactor
* tests
* refactor switch conn lock taking, take lock in switch stop, remove ineligible test
* comment
* corrections
* corrections
* corrections
* refactor
* remove checks in transactions, remove some statuses
* remove diff
* refactor
* refactor tests
* update connection in memory
* revert diff
* corrections
* more tests
* remove statuses, change switching queue lookup
* async queue deletion
* refactor
* lock, phases
* test status
* refactor
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2023-06-15 11:15:46 +04:00
Evgeny Poberezkin
89caf55729
agent: ack message in case of decryption error ( #759 )
2023-05-27 18:28:14 +01:00
Evgeny Poberezkin
03eca19d38
server: expire messages when restoring them ( #758 )
...
* server: expire messages when restoring them
* add test
* specify constructor
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
* improve test
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
2023-05-27 15:52:49 +01:00
Evgeny Poberezkin
a5a3a2cbad
server: increase server main queue size
2023-05-27 15:18:53 +01:00
spaced4ndy
4a3c5abf32
add with withTransaction version with logging ( #757 )
2023-05-26 20:33:48 +04:00
spaced4ndy
6c6f22051d
check previous encrypted message hashes for duplicates on decryption errors ( #756 )
2023-05-17 15:42:57 +04:00
spaced4ndy
d693868bc0
change implementation of time diff calculation ( #754 )
2023-05-15 20:26:18 +04:00
spaced4ndy
32a64b994e
remove agentOperationBracket from file transfer ( #755 )
2023-05-15 20:23:18 +04:00
Evgeny Poberezkin
a83f85dc58
5.1.0: smp 1.4.0, xftp 1.0.0
2023-05-12 22:01:32 +01:00
spaced4ndy
ce64c91d5a
add indexes for reading pending files ( #751 )
2023-05-10 15:17:26 +04:00
Evgeny Poberezkin
9d83a9c017
configure message/file expiration time in INI file ( #749 )
...
* configure message/file expiration time in INI file
* correct comment
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
2023-05-09 20:07:42 +01:00
spaced4ndy
8954f39425
agent: vacuum on migrations ( #745 )
...
* agent: vacuum on migrations
* vacuum after all migrations
* style
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2023-05-04 17:26:05 +04:00
spaced4ndy
af3f70829d
xftp: remove user id from internal deletion apis ( #739 )
2023-04-25 12:48:10 +04:00
spaced4ndy
ff8197b87b
xftp: check encrypted file exists when uploading ( #738 )
2023-04-24 19:45:30 +04:00
Evgeny Poberezkin
9692e636ac
support ipv6 ( #715 )
...
* support ipv6
* fix
* refactor
* only listen to ipv6
* refactor
* refactor 2
* 3
* fix build?
* fix release
2023-04-15 21:40:02 +01:00
Evgeny Poberezkin
2b93e0b17d
report ratchet decryption errors from agent ( #720 )
...
* report ratchet decryption errors from agent
* agent crypto errors
2023-04-14 20:05:29 +01:00
spaced4ndy
9f0b9a83d6
xftp: use chunk digest as entity id for transport session ( #725 )
2023-04-14 13:01:14 +04:00
Evgeny Poberezkin
27cfc4c62b
move assertForeground ( #724 )
2023-04-14 12:52:18 +04:00
spaced4ndy
5e39c47975
Merge pull request #709 from simplex-chat/xftp-send
...
xftp: recoverable send
2023-04-13 20:13:04 +04:00
Evgeny Poberezkin
ed0f8c79a2
xftp: wait for agent in foreground in XFTP workers without delaying suspension ( #721 )
...
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
2023-04-13 20:04:38 +04:00
spaced4ndy
e346a81e46
xftp: delete snd files on servers ( #722 )
2023-04-13 17:46:43 +04:00
spaced4ndy
e6e17ec637
xftp: api to delete snd files internally, cleanup snd files, tests ( #719 )
2023-04-12 14:50:40 +04:00
spaced4ndy
d35bd8a954
xftp: restore snd files, expire snd files in agent ( #718 )
2023-04-11 22:00:09 +04:00
spaced4ndy
d1774e5b56
xftp: send progress events ( #717 )
2023-04-11 19:36:51 +04:00
spaced4ndy
9c460966b2
xftp: use recoverable send implementation instead of experimental, fix query, tests ( #716 )
2023-04-11 11:10:57 +04:00
spaced4ndy
d0cd34989d
xftp: choose server when creating chunk, retrying with different servers ( #714 )
2023-04-10 19:13:03 +04:00
Evgeny Poberezkin
d838be773b
xftp: agent client functions to upload file and add recipients ( #713 )
...
* xftp: agent client functions to upload file and add recipients
* re-read replicas
2023-04-07 19:34:51 +04:00
Evgeny Poberezkin
2edc7529f9
xftp: client function to create new chunk ( #712 )
...
* xftp: client function to create new chunk
* remove chunk digest update
* rename
2023-04-07 14:50:38 +01:00
spaced4ndy
6d9af2ec17
xftp: use fs path when encrypting file and uploading chunks ( #711 )
2023-04-07 16:08:31 +04:00
spaced4ndy
3533929905
xftp: transform SndFile to recipient descriptions; non optional chunk digest ( #710 )
2023-04-07 14:29:07 +04:00
spaced4ndy
d8e60ecfdb
xftp: recoverable send - spike ( #707 )
2023-04-07 11:19:50 +04:00
Evgeny Poberezkin
215d2414b7
update preset xftp servers
2023-04-06 23:12:52 +01:00
Evgeny Poberezkin
b1489138ea
xftp: fix file reception on 32 bit platforms ( #708 )
2023-04-06 20:40:52 +01:00
Evgeny Poberezkin
9f8db13553
xftp: agent API to set and test servers ( #704 )
...
* xftp: agent API to set and test servers
* ProtocolTestStep
* update agent API for XFTP servers
* ci: update ubuntu versions
* disable test hanging on ubuntu
2023-04-05 20:37:03 +01:00
spaced4ndy
bdff274f56
use Int64 for time calculations ( #706 )
2023-04-04 14:51:13 +04:00
Evgeny Poberezkin
83364052b1
xftp: implement server command to add file recipients ( #702 )
2023-04-03 09:33:12 +01:00