Evgeny Poberezkin
3017d14392
6.2.0.2
2024-11-07 08:13:45 +00:00
Evgeny Poberezkin
e371a4a62d
Merge branch 'master' into stable
2024-06-16 07:58:05 -07:00
Evgeny Poberezkin
f616cb7b3e
5.8.1.0
2024-06-16 07:36:38 -07:00
Evgeny Poberezkin
b547f34cc0
Revert "Revert "agent: do not create user record in new databases ( #957 )" ( #963 )" ( #964 )
...
* Revert "Revert "agent: do not create user record in new databases (#957 )" (#963 )"
This reverts commit aee9088417 .
* tests
* remove logging
2024-01-17 11:01:04 +00:00
Evgeny Poberezkin
f6ed4640d4
5.5.0.6
2024-01-16 17:07:15 +00:00
Evgeny Poberezkin
a0b35cec4f
agent: fix potential race when good client can be removed instead of bad for the same transport session ( #967 )
...
* agent: fix potential race when good client can be removed instead of bad for the same transport session
* tryAgentError
* case
2024-01-16 13:45:51 +00:00
Evgeny Poberezkin
00c4ff4a21
agent: fix race condition in subscription worker (results in stuck delivery), better error handling in batch operations ( #962 )
...
* debugging test: join connection when reply queue creation fails
* more logs
* more logs
* more logs, fixed bug
* cleanup
* catch all errors
* simplify
* comment
* remove client ID counter
2024-01-16 10:29:35 +00:00
Evgeny Poberezkin
aee9088417
Revert "agent: do not create user record in new databases ( #957 )" ( #963 )
...
This reverts commit 9b9a0bd0df .
2024-01-14 22:28:28 +00:00
Evgeny Poberezkin
7f7a77c4eb
SMP protocol: optimize batching transactions, remove Builder ( #961 )
...
* remove Builder
* fewer chunks
* remove lazy bytestrings
* optimize
* pad
2024-01-14 20:42:47 +00:00
Evgeny Poberezkin
17f64e1565
docs: URI schemes ( #958 )
2024-01-12 17:21:57 +00:00
Evgeny Poberezkin
9b9a0bd0df
agent: do not create user record in new databases ( #957 )
...
* agent: do not create user record in new databases
* update
2024-01-12 16:57:57 +00:00
Evgeny Poberezkin
ad8cd1d515
5.5.0.5
2024-01-09 19:44:15 +00:00
Evgeny Poberezkin
ca527b4d6c
use Builder for batching commands ( #953 )
...
* use Builder for batching commands
* refactor
* refactor
* increase timeout in test
* do not materialize builder
* use concat
* debug test
* debug2
* delays
* more delay, less worker delay
* remove logs
* reduce delay
* tests
* sized builder
* builder
* comment
* remove unsafe
* style
* remove fromIntegral
2024-01-08 22:54:27 +00:00
Evgeny Poberezkin
55808b0c82
5.5.0.4
2024-01-06 11:40:15 +00:00
Evgeny Poberezkin
fa794d7878
agent: send errors on subscription timeouts ( #937 )
...
* agent: debug server reconnections
* update lock only if it has the same name already
* report subscription timeouts
* clean up
2024-01-05 17:36:57 +00:00
Evgeny Poberezkin
2488cf1e3a
agent: restart worker when it terminated ( #948 )
...
* agent: restart worker when it terminated
* comment
* remove writeTMVar
* remove writeTMVar 2
* remove writeTMVar 3
2024-01-05 14:22:26 +00:00
Evgeny Poberezkin
37d30240fd
5.5.0.3
2024-01-03 20:36:54 +00:00
Evgeny Poberezkin
f954c2cd17
rfc: SMP proxies key scope and other considerations ( #927 )
...
* rfc: SMP proxies key scope and other considerations
* split line
2023-12-28 23:29:51 +00:00
Evgeny Poberezkin
d0588bd0ac
5.5.0.2
2023-12-27 20:35:56 +00:00
Evgeny Poberezkin
577e3cf14d
agent: add server msg IDs to agent logs, disable 2 tests ( #934 )
...
* agent: race when using agent via TCP
* remove logs
* enable tests
* comments
* use different databases for different clients
* enable all tests
2023-12-26 17:50:39 +00:00
Evgeny Poberezkin and spaced4ndy
7ddeca50e4
agent: mark work items failed ( #931 )
...
* agent: mark work items failed (WIP)
* add tests, created_at
* getWorkItem for snd and rcv files
* fix
* tests
* fix
* tests
* test
* tests
* rename
* fix,refactor
* add indexes
* update schema
* do not try to get more work when resuming an existing worker
---------
Co-authored-by: spaced4ndy <[email protected] >
2023-12-26 17:00:42 +04:00
Evgeny Poberezkin
1e15d56e92
5.5.0.1: fix migration
2023-12-23 16:06:11 +00:00
Evgeny Poberezkin
46056557f8
5.5.0.1: update .cabal
2023-12-23 14:12:20 +00:00
Evgeny Poberezkin
a57066a826
5.5.0.1
2023-12-23 13:42:22 +00:00
Evgeny Poberezkin
2489333c87
agent: use DB to queue async commands and messages ( #929 )
...
* agent: use DB to queue async commands and messages
* fix message delivery, async commands dont work
* fix async commands
* remove comment
* rename
* comment
* balance agent operation
* empty lines
* balance another agent operation
* diff
* worker
* qAddress
* fix incorrect queue ID in v1
* types for queues
* fix test
* update index
2023-12-23 12:59:53 +00:00
Evgeny Poberezkin
fa457d1c25
agent: avoid race condition between worker and supervisor when getting work ( #928 )
2023-12-22 11:12:36 +00:00
Evgeny Poberezkin
1c2604f6a3
agent: background mode for agent NSE ( #924 )
2023-12-22 08:59:07 +00:00
Evgeny Poberezkin
13a60d1d39
use ChaChaDRG as the source of randomness ( #920 )
...
* use ChaChaDRG as the source of randomness
* remove functions using entropy directly
* comment
2023-12-21 00:12:08 +00:00
8c250ebe19
agent: batch sending messages ( #922 )
...
* agent: batch sending messages (attempt 4)
* handle errors in batch sending
* batch attempt 5 (#923 )
* attempt 5
* remove IORefs
* add liftA2 for 8.10 compat
* remove db-related zipping
* traversable
---------
Co-authored-by: IC Rainbow <[email protected] >
* s/mapE/bindRight/
* name
Co-authored-by: spaced4ndy <[email protected] >
* comment
Co-authored-by: spaced4ndy <[email protected] >
* remove unused funcs
---------
Co-authored-by: IC Rainbow <[email protected] >
Co-authored-by: spaced4ndy <[email protected] >
2023-12-19 23:01:34 +00:00
Evgeny Poberezkin
7627ce6b69
5.5.0-beta.0: SMP server/agent 5.5, XFTP server 1.2, NTF server 1.7
2023-12-19 16:07:11 +00:00
Evgeny Poberezkin
18be2709f5
use crypton instead of cryptonite ( #919 )
2023-12-13 09:32:44 +00:00
Evgeny Poberezkin
fb113ff008
agent: include queries longer than 5ms into slow queries (was 50ms)
2023-12-12 15:34:49 +00:00
Evgeny Poberezkin
f576260594
client: increase default network timeouts ( #918 )
2023-12-12 12:01:38 +00:00
Evgeny Poberezkin
560dc55312
agent: notify about polled message processing (for iOS notifications) ( #908 )
...
* agent: notify about polled message processing (for iOS notifications)
* optionally keep key and support re-opening database
* exports
* test that cannot reopen when created with keepKey: false
* set max number of messages to receive for a notification to 3
2023-12-11 13:03:53 +00:00
Evgeny Poberezkin
a860936072
agent: do not account for delivery of stored messages for agent suspension ( #916 )
2023-12-05 23:14:33 +00:00
Evgeny Poberezkin
eaf5317834
compatibility with GHC 8.10.7, narrow dependency ranges ( #914 )
...
* Revert "raise mtl version to 2.3.1 (#912 )"
This reverts commit 117168ccce .
* Revert "expand dependency ranges (#911 )"
This reverts commit 90a8fc91d3 .
* fix test
* remove unnecessary forks
* make text version dependent on GHC version
* text
* remove stack.yaml
* bytestring
* bytestring
* hpack 0.35
* mtl
2023-12-04 00:00:50 +00:00
Evgeny Poberezkin
76af9ed242
remove ghc 9.6.3 from cabal.project
2023-12-01 17:51:33 +00:00
Evgeny Poberezkin
3f2e50eebd
5.4.0
2023-11-28 22:36:32 +00:00
Evgeny Poberezkin
cc8b8cd10d
agent: fix hanging test ( #907 )
2023-11-28 22:25:58 +00:00
Evgeny Poberezkin
8fa369f9d3
5.4.0: xftp 1.1.3, ntf 1.6.4 ( #903 )
...
* 5.4.0: xftp 1.2.0, ntf 1.7.0
* upgrade ghc in github job
* change xftp, ntf versions
* shorter predicate for exception in test
2023-11-26 22:20:42 +00:00
Evgeny Poberezkin
31f520af05
rfc: message delivery problems ( #743 )
...
* rfc: message delivery problems
* update
2023-11-26 12:02:08 +00:00
Evgeny Poberezkin
7c29e2a189
rfc: delivery proxy ( #760 )
2023-11-26 11:59:57 +00:00
Evgeny Poberezkin
f49607e522
rfc: SMP/XFTP proxies ( #844 )
...
* rfc: SMP/XFTP proxies
* update
* update
* update
* add threat model
* correction to encryption layer
* corrections
2023-11-26 11:57:56 +00:00
Evgeny Poberezkin
757b7eec81
5.4.0.6
2023-11-21 20:50:10 +00:00
Evgeny Poberezkin
88a4cf7d90
Merge pull request #898 from simplex-chat/ab/fix-agent-leak
...
agent: fix leak in AgentOpState counters
2023-11-21 20:43:32 +00:00
Evgeny Poberezkin
c7a7323f54
list imports
2023-11-20 12:15:09 +00:00
Evgeny Poberezkin
0841067132
Merge pull request #880 from simplex-chat/xrcp
...
xrcp: SimpleX Remote Control protocol
2023-11-18 15:32:58 +00:00
Evgeny Poberezkin
3b348a463c
Merge branch 'master' into xrcp
2023-11-14 14:36:21 +00:00
Evgeny Poberezkin
d60911c780
xftp: refactor receiving encrypted file ( #896 )
2023-11-14 13:51:23 +00:00
Evgeny Poberezkin
e0b7942e45
remote: return tls with remote host before host confirmation ( #894 )
2023-11-13 19:25:53 +00:00
Evgeny Poberezkin
c051ebab74
Merge branch 'master' into xrcp
2023-11-11 09:37:15 +00:00
Evgeny Poberezkin
9460551a04
5.4.0.4: xftp 1.1.2, ntf 1.6.3
2023-11-11 09:16:40 +00:00
Evgeny Poberezkin
6a2e6b040e
additional lazy crypto for XRCP ( #890 )
2023-11-10 11:16:43 +00:00
Evgeny Poberezkin
bd06b47a9d
return TLS session on remote connection step ( #891 )
2023-11-09 22:27:30 +00:00
Evgeny Poberezkin
102487bc4f
xrcp: error handling ( #889 )
...
* xrcp: error handling
* rename
* dont lock on STM
* move catch
* controller error handling
* fail sooner on incorrect CA in host HELLO
* remove TODO lock session
* refactor
2023-11-08 16:34:56 +00:00
Evgeny Poberezkin
248144f3de
do not use previous KEM shared secret in multicast packets and in host HELLO ( #888 )
...
* do not use previous KEM shared secret in multicast packets and in host HELLO
* simplify
2023-11-08 12:06:10 +00:00
Evgeny Poberezkin
1a0c4b73de
Merge branch 'master' into xrcp
2023-11-04 18:26:01 +00:00
Evgeny Poberezkin
e9b5a849ab
update http2 to 4.2.2 ( #879 )
2023-11-01 10:57:19 +00:00
Evgeny Poberezkin
a5fed340e2
hybrid shared secret X25519 + sntrup761 ( #881 )
...
* hybrid shared secret X25519 + sntrup761
* use IORef
* enable all tests
* update
* update
* use newtype
* move withDRG
2023-11-01 10:33:15 +00:00
Evgeny Poberezkin
ce796ec225
Merge branch 'master' into xrcp
2023-11-01 09:24:06 +00:00
Evgeny Poberezkin
4660ee9cff
agent: revert to TVar ( #883 )
2023-11-01 09:15:51 +00:00
Evgeny Poberezkin
70bf665938
Merge branch 'master' into xrcp
2023-10-31 23:52:45 +00:00
Evgeny Poberezkin
b5f733d2db
agent: use IORef for DRG ( #882 )
2023-10-31 23:52:13 +00:00
Evgeny Poberezkin and IC Rainbow
c22c15a2e8
sntrup761 ( #865 )
...
* add sntrup761 source
* it compiles
* Wrap bindings in non-FFI types
Test passes with a dummy RNG.
* pass ChaChaDRG via FunPtr
* Add iOS smoke test at createAgentStore
* style
* add "ssl" library dep
Attempt to fix missing _SHA512 symbol on macos.
* remove sha512 wrapper and use openssl directly
* restore names, remove dummy RNG
* Revert "remove sha512 wrapper and use openssl directly"
This reverts commit f9f7781f09 .
* restore code from RFC
* shorter names
* enable all tests
* remove run test
---------
Co-authored-by: IC Rainbow <[email protected] >
2023-10-31 22:44:46 +00:00
Evgeny Poberezkin and Alexander Bondarenko
db1b2f77cd
rfc: SimpleX Remote Control protocol v2 ( #874 )
...
* rfc: SimpleX Remote Control protocol
* tweak rfc sections
* rfc: SimpleX Remote Control protocol v2
* add session verification
* add alternative design
* add KEM to rfc
* key agreement
* add pad
* pad
* padding
* remove marker from multicast packet
* update
---------
Co-authored-by: Alexander Bondarenko <[email protected] >
2023-10-31 19:39:42 +00:00
Evgeny Poberezkin
511d793b92
derive JSON instances with TH ( #869 )
...
* derive JSON instances with TH
* defaultJSON
* remove ToJSON
2023-10-26 09:20:30 +01:00
Evgeny Poberezkin
5f750a6783
docs: amend SMP protocol transmission encoding ( #843 )
...
* docs: amend SMP protocol transmission encoding
* base64 encoding
* remove "optional"
2023-10-25 17:52:02 +01:00
Evgeny Poberezkin
cf8b9c12ff
remove test dependencies ( #861 )
...
* remove test dependencies
* .hlint.yaml
2023-10-22 10:50:36 +01:00
Evgeny Poberezkin
9d12d76078
add fourmolu ( #868 )
...
* add fourmolu
* linebreak
* simplify
* comment
2023-10-22 09:20:14 +01:00
Evgeny Poberezkin
decf25d7dc
refactor http2 file ( #864 )
...
* refactor http2 file
* move fileBlockSize to HTTP2.File
2023-10-19 10:25:21 +01:00
Evgeny Poberezkin
5e047f3199
update http2 to 4.1.4
2023-10-18 13:26:38 +01:00
Evgeny Poberezkin
696fa652a5
agent: always return simplex:/ links in invitations
2023-10-12 14:54:37 +01:00
Evgeny Poberezkin
6b0da8ac50
export JSON tags as patterns
2023-10-07 14:21:15 +01:00
Evgeny Poberezkin
9195509485
update aeson to add tag to platform-specific single field JSON encoding ( #859 )
...
* update aeson to add tag to platform-specific single field JSON encoding
* refactor
2023-10-07 12:30:26 +01:00
Evgeny Poberezkin
fda1284ae4
agent: support closing and re-opening store ( #855 )
...
* agent: support closing and re-opening store
* add closed flag, tests
2023-09-27 12:50:24 +01:00
Evgeny Poberezkin
8d47f69083
agent: fix creating empty file for XFTP to close file ( #851 )
2023-09-21 11:57:00 +01:00
Evgeny Poberezkin
3828a9591c
unpin unix package ( #850 )
2023-09-20 18:32:03 +01:00
Evgeny Poberezkin
81385e39bf
Merge branch 'master-ghc9'
2023-09-18 21:18:45 +01:00
Evgeny Poberezkin
fee897f367
fix unix to 2.8.1.1
2023-09-18 20:59:02 +01:00
Evgeny Poberezkin
57d08c0e36
Merge branch 'master' into master-ghc9
2023-09-17 22:30:46 +01:00
Evgeny Poberezkin
00b48babf3
5.4.0.3: ntf 1.6.2
2023-09-17 22:23:00 +01:00
Evgeny Poberezkin
0b488ceb66
ntf server: faster restoring from store log ( #846 )
...
* ntf server: faster restoring from store log
* only log sub status when changed
2023-09-17 15:16:24 +01:00
Evgeny Poberezkin
887ccbcf6c
Merge branch 'master' into master-ghc9
2023-09-10 18:00:33 +01:00
Evgeny Poberezkin
0cabe0690b
5.4.0.2: xftp 1.1.1, ntf 1.6.1
2023-09-10 17:44:37 +01:00
84ce037867
extend SMP protocol to allow creating new queues without subscriptions ( #839 )
...
* Trace auto-subs flag
* Replace Bools with SubscriptionMode
* Handle SMOnlyCreate
* Wire remaining todos
* Update tests and fix
* Bump protocol level
* Apply suggestions from code review
Co-authored-by: Evgeny Poberezkin <[email protected] >
* Scrub needs_sub from agent DB
* Scrub a few more needSubs from the agent api
* change API, fix test
* agent: do not subscribe to queue when creating reply queue
* fix encoding
* WIP: SMOnlyCreate test
* Add SM guard for confirmQueue
Allows the test case to pump the allowConnection
reply without getting PROHIBITED.
* Remove tracing
* add noMessages, remove unnecessary getConnectionMessage from test
* add sending messages to the test
---------
Co-authored-by: IC Rainbow <[email protected] >
Co-authored-by: Alexander Bondarenko <[email protected] >
2023-09-10 17:07:19 +01:00
Evgeny Poberezkin
504465f8e2
xftp: add 64kb file chunk ( #842 )
...
* xftp: add 64kb file chunk
* disable chunk size 64kb in the agent
* revert rename
2023-09-08 13:31:11 +01:00
Evgeny Poberezkin
980e5c4d1e
agent: add debugging info ( #840 )
2023-09-04 22:02:12 +01:00
Evgeny Poberezkin
17a1a911d8
import stateTVar
2023-09-01 22:24:53 +01:00
Evgeny Poberezkin
5dc3d739b2
agent: support encrypted local files ( #837 )
...
* agent: support encrypted local files
* migration, update store, api
* tests, fix
* use CF.plain
2023-08-31 22:43:58 +01:00
Evgeny Poberezkin
dc65197cfd
Merge branch 'master' into master-ghc9
2023-08-26 16:54:09 +01:00
Evgeny Poberezkin
4c0b8a31d2
agent: create parent folders when creating the database
2023-08-26 16:53:31 +01:00
Evgeny Poberezkin
cffbd39f4e
5.4.0.1
2023-08-26 16:04:40 +01:00
Evgeny Poberezkin
a67669287a
Merge branch 'master' into master-ghc9
2023-08-26 16:03:10 +01:00
Evgeny Poberezkin and Alexander Bondarenko
7bdae793cb
server: add control port commands for clients and ghc threads ( #836 )
...
* server: add control port commands for clients and ghc threads (#835 )
* Add stats-rts control query
With supporting ghc-options that would provide the data.
* Add CPSkip command
Allows spamming empty lines a few times to clean up the view.
* server: Add CP commands to enumerate clients and threads
* style
---------
Co-authored-by: Evgeny Poberezkin <[email protected] >
* use base64 encoding for session ID
* fromMaybe
* whitespace
---------
Co-authored-by: Alexander Bondarenko <[email protected] >
2023-08-26 16:02:18 +01:00
Evgeny Poberezkin
ed05428227
Merge branch 'master' into master-ghc9
2023-08-25 14:11:51 +01:00
Evgeny Poberezkin
066d91b0f5
agent: export SubInfo
2023-08-25 09:20:12 +01:00
Evgeny Poberezkin
414b019ad4
agent: function to debug agent subscriptions ( #834 )
...
* agent: function to debug agent subscriptions
* add Show instances
2023-08-24 23:19:48 +01:00
Evgeny Poberezkin
b001b748db
agent: rename functions, remove unused code, stabilize tests ( #830 )
...
* agent: rename functions, stabilize tests
* test pattern match
2023-08-24 19:52:58 +01:00
Evgeny Poberezkin
ec268e2006
agent: wait while agent is in foreground to continue xftp operation ( #831 )
2023-08-24 19:11:44 +01:00
Evgeny Poberezkin
a97c7da48a
changelog
2023-08-23 12:06:39 +01:00