Evgeny Poberezkin
4fae7dcaee
server: control port ( #804 )
...
* server: control port
* do not remove messages when saving via control port
* remove unused record fields
* fix tests
2023-07-15 13:33:00 +01:00
Evgeny Poberezkin
d989d11478
server: refactor restoring store log ( #803 )
2023-07-15 10:37:08 +01:00
Evgeny Poberezkin
1901e96ecc
server: make main SMP server queues unbounded ( #802 )
2023-07-14 21:07:45 +01: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
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
Evgeny Poberezkin
a5a3a2cbad
server: increase server main queue size
2023-05-27 15:18:53 +01: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
bdff274f56
use Int64 for time calculations ( #706 )
2023-04-04 14:51:13 +04:00
Evgeny Poberezkin
3ab5e9d110
xftp: expire files on the server, track/limit used storage ( #651 )
...
* xftp: expire files on the server
* track/limit used storage
* support storage quota and disabling queue creation in CLI parameters
* fix ini file
* correction
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
2023-02-24 11:09:51 +04:00
Evgeny Poberezkin
b342b1dc59
extend HTTP2 transport ( #632 )
...
* extend HTTP2 transport
* refactor caStore
* HTTP2 body
* enable test
* remove maxBodySize
2023-02-09 23:09:24 +00:00
Evgeny Poberezkin
c4f377a85b
fix SMP server stats ( #612 )
...
* fix SMP server stats
* add server stats test
* fix test
2023-01-18 11:07:25 +00:00
Evgeny Poberezkin
56cc2bc71f
additional SMP server stats ( #605 )
...
* additional SMP server stats
* refactor
2023-01-14 13:23:37 +00:00
Evgeny Poberezkin
1f12697279
strict writes to STM, remove type class ( #600 )
2023-01-12 14:59:46 +00:00
Evgeny Poberezkin
0dddd59b36
increase server internal queue sizes ( #595 )
2023-01-11 16:14:33 +00:00
Evgeny Poberezkin
61e0c346df
simplify C.sign, Crypto tests, triage TODOs ( #592 )
...
* simplify C.sign, Crypto tests, triage TODOs
* update condition
* remove todos
Co-authored-by: JRoberts <8711996+jr-simplex@users.noreply.github.com >
Co-authored-by: JRoberts <8711996+jr-simplex@users.noreply.github.com >
2023-01-06 15:34:05 +00:00
Evgeny Poberezkin
058e3ac55e
send/process "quota exceeded" message from SMP server when sender gets ERR QUOTA ( #585 )
...
* send "quota exceeded" message from SMP server when sender gets ERR QUOTA (ignored in the agent for now)
* send msg quota to the recipient to indicate that sender got ERR QUOTA, test
* switch between slow/fast retry intervals (tests do not pass yet)
* send QCONT message, refactor RetryInterval, test
* refactor
* remove comment
* remove space
* unit test for withRetryLock2
* refactor
2023-01-04 14:10:13 +00:00
Evgeny Poberezkin
874f9f5cd6
option to enable/disable TLS handshake error logs (disable by default) ( #581 )
...
* option to enable/disable TLS handshake error logs (disable by default)
* refactor
2022-12-27 10:13:51 +00:00
Evgeny Poberezkin
1d3a604988
refactor SMP client, NTF server store ( #580 )
...
* refactor SMP client, NTF server store
* remove undefined
2022-12-26 18:54:28 +00:00
Evgeny Poberezkin
f53c1f5559
server: clear folders during initialization instead of deleting them ( #572 )
2022-11-28 07:40:59 +00:00
Evgeny Poberezkin
43fb513ef7
initialize SMP server interactively, CLI options ( #566 )
...
* initialize SMP server interactively, CLI options
* correction
Co-authored-by: JRoberts <8711996+jr-simplex@users.noreply.github.com >
* corrections
Co-authored-by: JRoberts <8711996+jr-simplex@users.noreply.github.com >
2022-11-18 19:07:41 +00:00
Evgeny Poberezkin
fbccca9947
refactor server CLIs ( #565 )
...
* refactor server CLIs
* refactor
2022-11-18 08:37:03 +00:00
Evgeny Poberezkin
40000047af
server: refactor CLIs, tests ( #564 )
...
* server: refactor CLIs, tests
* add files, test
* rename Executable -> Main
2022-11-17 19:43:01 +00:00
Evgeny Poberezkin
e281efdcb8
server: SMP basic auth ( #561 )
...
* server: SMP basic auth
* update ini default
* rfc, types
* tests
* update INI file
* typo
Co-authored-by: JRoberts <8711996+jr-simplex@users.noreply.github.com >
* refactor
* update INI options, log new queue creation mode on start (on/off/requires auth)
Co-authored-by: JRoberts <8711996+jr-simplex@users.noreply.github.com >
2022-11-12 22:29:36 +00:00
Evgeny Poberezkin
0a9b6e4ab4
allow repeated secure with the same key (KEY command), store suspended queues in store log ( #534 )
...
* allow repeated secure with the same key (KEY command), store suspended queues in store log
* fix test
2022-09-22 13:09:39 +01:00
Evgeny Poberezkin
b76ef03dbe
ntf: server stats ( #487 )
...
* nts: server stats
* ntf: collect stats, refactor
* rename property
* fixes
2022-08-01 08:42:23 +01:00
Evgeny Poberezkin
aafe2d43f5
clear directories on server initialization instead of removing them (to support mounted directories in docker) ( #476 )
2022-07-19 08:37:42 +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
cde8a11693
update stats logging and make it opt-in ( #472 )
...
* update stats logging and make it opt-in
* hSetBuffering
* update var name
2022-07-15 13:21:02 +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
JRoberts
e3d2d6fc91
fix NDELETE parsing ( #461 )
2022-07-04 11:26:27 +01:00
Evgeny Poberezkin
bc26dc1d68
save and restore server stats on restart ( #460 )
2022-07-04 10:45:35 +01:00
Evgeny Poberezkin
8dc051179a
backwards compatible message log ( #440 )
2022-06-29 20:22:41 +04:00
Evgeny Poberezkin
85d507d5d3
ntf-server store log ( #435 )
...
* ntf-server store log
* ntf serevr: restore log when server is started, save compacted store log
* log ntf server store changes
* test, store log works
* update ntf-server exe
2022-06-28 17:10:50 +01:00
Evgeny Poberezkin
b0ac0744e2
fix server ACK for v1 SMP clients ( #436 )
...
* fix server ACK for v1 SMP clients
* add import
2022-06-28 15:36:02 +04:00
JRoberts
ef4d4c9e16
ntf: remove notification subscription ( #417 )
2022-06-22 20:32:32 +04:00
Evgeny Poberezkin
ffb4b4763c
allow repeated NKEY ( #419 )
...
* allow repeated NKEY
* test
2022-06-22 14:00:46 +04:00
JRoberts
7a72488275
ntf: use separate key to encrypt NMsgMeta ( #410 )
...
* ntf: use separate key to encrypt NMsgMeta
* key negotiation
* save key on server, use for encryption
* refactor?
* store error
* NtfQueueCreds
* server - NtfCreds
* comment, rename
* fix type
* ClientNtfCreds
* encoding
2022-06-20 17:16:26 +04:00
Evgeny Poberezkin
bca44ae54a
Merge branch 'master' into f/notifications
2022-06-16 15:41:30 +01:00
Evgeny Poberezkin
50ddcd3a13
log weekly and monthly active queues ( #404 )
...
* log weekly and monthly active queues
* update
2022-06-16 15:35:45 +01:00
Evgeny Poberezkin
91802fe94f
Merge branch 'master' into f/notifications
2022-06-12 16:49:56 +01:00
Evgeny Poberezkin
0a71822dd0
v2.3.0: save and restore messages when the server is restarted ( #395 )
...
* save and restore messages when server is restarted
* read file line by line
* add import
* optmize restoring messages by reading the whole file
* update version to 2.3.0
* update scripts
* add script
* update readme
2022-06-12 15:59:14 +01:00
Evgeny Poberezkin
c1348aa54f
SMP connection handshake v2 ( #390 )
...
* SMP connection handshake v2
* hadshake v2 [mostly] works
* all tests pass, some race conditions remain
* fix build
* fix race conditions, send CON after all HELLOs in duplexHandshake mode
* add comments
* comment
* add comments
2022-06-09 13:47:07 +01:00
Evgeny Poberezkin
4220c3bdaf
Merge branch 'master' into f/notifications
2022-06-08 09:49:58 +01:00
Evgeny Poberezkin
80309a0089
fix possible leak ( #391 )
...
* fix possible leak
* remove subscriptions map from the client
2022-06-08 08:59:12 +01:00
Evgeny Poberezkin
60294521f4
add msgId to ACK to avoid the risks of losing messages with concurrent delivery (in app/NSE) ( #387 )
...
* add msgId to ACK to avoid the risks of losing messages with concurrent delivery (in app/NSE)
* update ACK to only remove message and update stats if msgId matches
* add tests, fix
* rename sameMsgId/msgDeleted
2022-06-07 10:18:40 +01:00
Evgeny Poberezkin
4b3d04bd27
support message flags visible to SMP server to control notifications (and for any future extensions) ( #386 )
...
* support stopping and resuming agent (#385 )
* export agentDbPath
* support fully closing and resuming agent
* whitespace
* clean up
* support message flags visible to SMP server to control notifications (and for any future extensions)
* simplify message flags encoding
* GET command
2022-06-06 12:59:45 +01:00
Evgeny Poberezkin
ce3ca08199
server: CLI warning when deleting server configuration ( #371 )
...
* server: CLI warning when deleting server configuration
* correction
Co-authored-by: JRoberts <8711996+jr-simplex@users.noreply.github.com >
Co-authored-by: JRoberts <8711996+jr-simplex@users.noreply.github.com >
2022-05-24 19:45:22 +01:00
Evgeny Poberezkin
4e4eea34f9
server: configuration to expire inactive clients in ini file ( #369 )
...
* server: configuration to expire inactive clients in ini file
* corrections
Co-authored-by: JRoberts <8711996+jr-simplex@users.noreply.github.com >
Co-authored-by: JRoberts <8711996+jr-simplex@users.noreply.github.com >
2022-05-11 15:43:54 +04:00
Evgeny Poberezkin
ace94d7c69
log server stats ( #367 )
...
* log server stats
* separate stats updates from the existing transactions
2022-04-30 13:47:21 +01:00
Evgeny Poberezkin
1064e9c315
disconnect inactive clients ( #366 )
...
* disconnect inactive clients
* update test description
* use one thread per client to disconnect inactive clients
* remove comments
* more comments
2022-04-30 10:56:01 +01:00