Evgeny Poberezkin
401053161e
Merge branch 'master' into ep/rfc-rotation
2022-09-09 17:06:38 +01:00
Evgeny Poberezkin
6adbc56021
try async commands without servers on different servers ( #516 )
...
* refactor
* retry commands with different servers
* refactor
* remove comment
Co-authored-by: JRoberts <8711996+jr-simplex@users.noreply.github.com >
Co-authored-by: JRoberts <8711996+jr-simplex@users.noreply.github.com >
2022-09-09 12:30:27 +01:00
Evgeny Poberezkin
ecdd08e080
Merge branch 'master' into ep/rfc-rotation
2022-09-08 22:40:05 +01:00
JRoberts
882d2b123b
agent async commands ( #513 )
...
* wip
* wip
* wip
* wip
* don't delete conn on join failure in async mode
* test restart
* remove unused pragma
* simplify restore
* rename variable
* refactor
* refactor
* split
* remove error
* prohibit async join via contact request
* refactor subscribeConnections
* simplify
* resum command processing on subscriptions
* unfocus tests
* schema
* remove do
* rename variable
* corrections
* move code
* refactor getPendingCommands
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2022-09-08 20:27:56 +04:00
Evgeny Poberezkin
cb97459a0b
remove connId from nextRcvQueueMsgs key
2022-09-06 15:50:30 +01:00
Evgeny Poberezkin
a58ea2a969
Merge branch 'master' into ep/rfc-rotation
2022-09-06 15:19:38 +01:00
Evgeny Poberezkin
da5058a0c4
remove connId from message delivery queue keys ( #515 )
2022-09-06 14:39:50 +01:00
JRoberts
b215bd954d
remove token if token replace fails with permanent error ( #511 )
2022-08-31 21:12:44 +04:00
Evgeny Poberezkin
0c7bdda219
add next queues to DuplexConnection
2022-08-28 09:14:17 +01:00
Evgeny Poberezkin
a8caab810a
store methods
2022-08-27 17:35:54 +01:00
Evgeny Poberezkin
bfd9dafe1e
choose different server for reply queue and during rotation
2022-08-27 14:52:57 +01:00
Evgeny Poberezkin
1ddf56f0e1
add QTEST to the rotation protocol
2022-08-27 11:34:40 +01:00
Evgeny Poberezkin
b7dd971e3f
switch message delivery
2022-08-26 21:31:44 +01:00
Evgeny Poberezkin
b50f773dcd
change message delivery loop
2022-08-26 14:54:58 +01:00
Evgeny Poberezkin
b558eb8243
process queue switch messages
2022-08-25 23:44:35 +01:00
Evgeny Poberezkin
a8c3f5c6b5
rename columns
2022-08-25 21:42:58 +01:00
Evgeny Poberezkin
cac30ca341
refactor store
2022-08-25 21:14:56 +01:00
Evgeny Poberezkin
2f77f16276
process rotation messages
2022-08-25 20:38:35 +01:00
Evgeny Poberezkin
0152832f8e
add agent SWITCH event, update DH e2e key in reply queue address
2022-08-25 16:19:42 +01:00
Evgeny Poberezkin
02b81ae2fe
Merge branch 'master' into ep/rfc-rotation
2022-08-25 14:27:03 +01:00
Evgeny Poberezkin
1459a0613a
set invitation as not accepted in case of join error ( #505 )
...
* set invitation as not accepted in case of join error
* remove unused name
2022-08-25 12:17:55 +01:00
Evgeny Poberezkin
3a897020c8
add TODOs to secure confirmed queue on subscription
2022-08-25 09:43:54 +01:00
Evgeny Poberezkin
b6759f8f7d
rqNewMsg
2022-08-25 09:36:12 +01:00
Evgeny Poberezkin
a98708d206
store functions
2022-08-24 17:23:28 +01:00
Evgeny Poberezkin
cb62df187f
agent function stubs for queue rotation
2022-08-24 13:32:44 +01:00
Evgeny Poberezkin
5bfecaa227
update sub-protocol for queue rotation
2022-08-23 20:06:03 +01:00
Evgeny Poberezkin
470208f621
additional queue colums
2022-08-23 19:26:55 +01:00
Evgeny Poberezkin
0846a2ddb6
add next queue IDs
2022-08-23 14:31:37 +01:00
Evgeny Poberezkin
4440815016
SMP server: respond with the current number of queue messages to suspend command (OFF)
2022-08-22 22:27:37 +01:00
Evgeny Poberezkin
5b1a25a696
update rfc and protocol messages
2022-08-22 14:57:27 +01:00
Evgeny Poberezkin
30aa8b9ded
messages for queue rotation
2022-08-21 13:38:49 +01:00
Evgeny Poberezkin
a7b39b710c
fix toggleConnectionNtfs ( #503 )
2022-08-20 13:26:25 +01:00
Evgeny Poberezkin
212a9bc4ab
enable/disable connection notifications ( #501 )
...
* enable/disable connection notifications
* filter connections when intializing/disabling subscriptions
* fix
* fix 2
* add delay
* increase test delay
* increase test delay
* fix
* increase test delays
* increase test delays
2022-08-19 15:23:57 +01:00
Evgeny Poberezkin
0437796232
support multiple server hosts with notifications ( #498 )
...
* support multiple server hosts with notifications
* remove unused type
* remove unused import
* update server hosts during parsing
2022-08-14 21:10:34 +01:00
Evgeny Poberezkin
02bba01c16
send host events when server hosts are connected and disconnected ( #496 )
2022-08-13 11:57:36 +01:00
Evgeny Poberezkin
68138c08d2
support multiple server hostnames per queue ( #494 )
...
* store SMP client version per queue
* use versioned format for queue addresses (not compatible with v1)
* multiple server hosts in queue URI/data, versioned encoding (cross-version tests fail)
* choose server host based on socksProxy setting
* test works
* multiple server addresses mostly work
* add onion hosts for provided servers
* update SMP hosts
2022-08-12 11:32:04 +01:00
Evgeny Poberezkin
6bfaa4985e
expire messages after 2 days, increase max message sending interval ( #490 )
...
* expire messages after 2 days, increase max message sending interval
* rename
2022-08-11 10:15:08 +01:00
Evgeny Poberezkin
7d99c4b35c
reconnect agent clients on any network config change ( #489 )
...
* reconnect agent clients on any network config change
* add Eq instances
2022-08-03 09:59:49 +01:00
Evgeny Poberezkin
e9db0a1162
allow passing all network configuration to the agent ( #488 )
2022-08-02 13:30:00 +01:00
Evgeny Poberezkin
fcaddb7848
agent functions to get/set network configuration ( #484 )
...
* agent functions to get/set network configuration
* fix condition
2022-07-25 13:50:46 +01:00
Evgeny Poberezkin
eb1f9370c1
fix GET from contact connection ( #480 )
2022-07-21 19:42:31 +01:00
Evgeny Poberezkin
d810db4eed
send servers in agent events ( #478 )
...
* send servers in agent events
* remove some changes
* command/function to get connection servers
* getConnectionServers return type
2022-07-20 13:56:43 +01:00
Evgeny Poberezkin
1ce63bee44
create notification subscriptions in batch subscribe ( #477 )
...
* create notification subscriptions in batch subscribe
* refactor
* refactor
2022-07-19 09:30:17 +01:00
Evgeny Poberezkin
a6f401041a
SMP protocol v4: batching multiple server commands/responses in a transport block ( #470 )
...
* batch server commands in one transport block
* subscribe to multiple queues using batched commands
* agent method to subscribe to multiple queues using batched commands
* refactor
* test for batched subscriptions
* delete part of connections in batched test
* add resubscribeConnections
* remove comment
* update SMP protocol doc
2022-07-17 10:10:38 +01:00
Evgeny Poberezkin
7a238812b7
ntf server: fix resubscribing to SMP server after it was restarted, test ( #465 )
2022-07-08 14:46:01 +01:00
Evgeny Poberezkin
cc798145d2
suspend agent without delay ( #463 )
...
* suspend agent without delay
* suspend/activate in separate atomically
2022-07-06 13:58:58 +01:00
Evgeny Poberezkin
abd694bd5a
parameterize protocol server by scheme ( #459 )
2022-07-05 21:56:14 +01:00
Evgeny Poberezkin
9c1b43791c
SMP v3: encrypt message timestamp and flags together with the body between server and recipient ( #457 )
...
* SMP v3: encrypt message timestamp and flags together with the body between server and recipient
* v3 tests
* update protocol doc
* add test for max size message
* delay in notifications test
* simplify v3
* encrypt server message to the recipient when sent
* refactor
* exit on error restoring the messages
* refactor, increase test timeout
* style
* add prints to the test
* remove error from unsafeMaxLenBS
* update protocol
* lint, improve test, change func param
2022-07-05 21:08:05 +01:00
Evgeny Poberezkin
f9cd7e5416
suspend ntf operations when agent is suspended ( #453 )
...
* suspend ntf operations when agent is suspended
* end and begin ntf operation on loop
2022-07-01 22:43:18 +01:00
JRoberts
9695786aa5
ntf: separate types into their own module ( #444 )
2022-06-30 14:31:36 +04:00