Evgeny Poberezkin
85535de7d8
update script link ( #152 )
...
* update script link
* linode logo
* update logo image
2021-05-28 19:28:36 +01:00
Nikita Poberezkin
7bbc4e4109
add linode deployment recipe, modify smp-server-linode script ( #151 )
2021-05-28 21:00:24 +03:00
Nikita Poberezkin
248aa234d1
turn off smp server websockets support in linode script ( #149 )
2021-05-27 11:48:30 +03:00
Nikita Poberezkin
26a0665d81
SMP server linode StackScript ( #147 )
2021-05-24 22:28:10 +03:00
Nikita Poberezkin
dea1845908
0.3.2 ( #146 )
v0.3.2
2021-05-23 14:19:19 +03:00
Evgeny Poberezkin
8ed3eb4581
upgrade ghc to 8.10.4, stack resolver to 17.12 ( #145 )
2021-05-23 12:00:18 +01:00
Evgeny Poberezkin
5962c1bb3e
SMP server CLI commands ( #144 )
...
SMP server CLI commands
2021-05-23 13:10:00 +03:00
Evgeny Poberezkin
5b39f51203
websockets transport ( #139 )
...
* example websockets server
* example of ws client
* type class TConnection for generic TCP/WebSockets implementation
* support WebSockets transport
* rename TConnection methods
* revert runClient to not need transport arg
* pass the list of ports and transports via SMP server config
* remove TypeApplications
* s/Transport/TProxy/, s/TConnection/Transport/
* fix server with multiple transports, make SMP client use WS transport with port 80 (TODO fallback to WS)
2021-05-17 22:33:12 +01:00
Nikita Poberezkin
63532c8b45
simplex-messaging.md reformulation of key pairs handling part ( #141 )
2021-05-15 16:04:51 +01:00
Evgeny Poberezkin
44bec887fe
0.3.1 ( #135 )
...
Co-authored-by: Efim Poberezkin <8711996+efim-poberezkin@users.noreply.github.com >
v0.3.1
2021-05-10 15:14:06 +04:00
Efim Poberezkin
8bd42035aa
reorganize sqlite store test suite ( #138 )
2021-05-10 15:10:32 +04:00
Efim Poberezkin
f7f419224f
reduce transaction retry back-off factor to 1.125 ( #137 )
2021-05-10 14:24:08 +04:00
Evgeny Poberezkin
8ac47b9bbf
reduce transaction retry back-off factor to 1.25 (31 retries) ( #136 )
2021-05-09 12:49:52 +01:00
Evgeny Poberezkin
305bc5cb0a
update package categories ( #134 )
2021-05-09 11:24:40 +01:00
Efim Poberezkin
fa5a8cb5cd
agent: change sqlite busy retry handling; set journal_mode = WAL ( #132 )
...
* agent: change sqlite busy retry handling; set journal_mode = WAL
* fix accumulation
* add exponential back-off (*1.5) to transaction retries
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2021-05-09 10:24:02 +01:00
Evgeny Poberezkin
5d59e4b2bd
package and module docs, remove Simplex.Markdown (moved to simplex-chat), rename Agent.Transmission to Agent.Protocol ( #133 )
...
* package and module docs, remove Simplex.Markdown (moved to simplex-chat), rename Agent.Transmission to Agent.Protocol
* move errors.md to haddock comments, Transport docs
* add CHANGELOG.md, add missing package versions
* changelog, copyright
* docs for Simplex.Messaging.Crypto
* consistent punctuation
* use absolute URLs in readme
* correction
2021-05-09 09:36:08 +01:00
Efim Poberezkin
ad87442811
sqlite busy stress test ( #131 )
...
* sqlite busy stress test
* refactor withStore2
* refactor withStore2
* pragmas
* swith to IMMEDIATE sqlite transactions and add retry on ErrorBusy
* refactor
* increase timeout, print errors and results
* remove logging errors/results
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2021-05-08 16:30:40 +01:00
Evgeny Poberezkin
7aacee405e
agent: send CON to user when the 1st party responds HELLO; fix REPLY vulnerability ( #130 )
...
* agent: send CON to user when the 1st party responds HELLO; fix REPLY vulnerability
* test for getRcvConn
* add commented OK response to JOIN command
* store: use Only newtype to select one field
2021-05-07 06:57:53 +01:00
Evgeny Poberezkin
4b9ebbbab2
move SMP server from agent commands NEW/JOIN to agent config ( #129 )
...
* move SMP server from agent commands NEW/JOIN to agent config
* fix SMPServer parser
* update agent protocol - server management
* enable agent test
* agent test with 2 servers
* create reply queue on the configured server
* choose random server
* swap bind
2021-05-06 18:53:34 +01:00
Efim Poberezkin
f09c77cd31
docs: correct agent protocol abnf ( #128 )
2021-05-04 21:48:54 +04:00
Evgeny Poberezkin
2b0950e78e
0.3.0
v0.3.0
2021-05-04 08:38:52 +01:00
Evgeny Poberezkin
aff2d73e45
build SMP server on tags ( #127 )
...
* build SMP server on tags
* stack test -> stack build --test
2021-05-04 08:37:48 +01:00
Evgeny Poberezkin
377b166d8e
SimplexMQ readme, remove chat client ( #125 )
...
* SimplexMQ readme, remove chat client
* link to license
* add roadmap, corrections
* corrections
* strange dot -> colon
* corrections
Co-authored-by: Efim Poberezkin <8711996+efim-poberezkin@users.noreply.github.com >
2021-05-04 07:11:48 +01:00
Evgeny Poberezkin
1c7d7e5083
base64 encode keyhash in DB ( #126 )
2021-05-03 15:52:41 +01:00
Evgeny Poberezkin
772b38d154
simplify KeyHash type, store key hash in DB as binary ( #122 )
2021-05-03 12:38:31 +01:00
Evgeny Poberezkin
b517d793d8
only allow correct key and signature sizes, improve timing mitigation ( #121 )
2021-05-03 12:31:23 +01:00
Evgeny Poberezkin
76e81e1cf0
fix duplex connection diagram link
2021-05-03 10:13:55 +01:00
Evgeny Poberezkin
4ec548f8b8
fix diagram links
2021-05-03 10:12:33 +01:00
Evgeny Poberezkin
885dda21ec
Merge branch 'master' of simplex-chat (protocol)
2021-05-03 10:09:56 +01:00
Evgeny Poberezkin
8aabb6f0e6
move files to protocol folder
2021-05-03 10:06:16 +01:00
Evgeny Poberezkin
d4378461ab
package.yaml: rename simplex-messaging to simplexmq and update version ( #124 )
2021-05-02 21:07:45 +01:00
Efim Poberezkin
28ddef2d9c
docs, smp: align with implementation ( #43 )
...
* adjust out-of-band message abnf
* define hostname and encoded using prose-val
* elaborate on base64
* corrections up to SMP procedure
* fix CONN -> NEW
* update SMP protocol to align with the implementation
* remove Possible extensions from TOC
* lists
* corrections
Co-authored-by: Efim Poberezkin <8711996+efim-poberezkin@users.noreply.github.com >
2021-05-02 19:15:40 +01:00
Evgeny Poberezkin
7df39e9db3
update SMP version ( #123 )
2021-05-02 18:56:08 +01:00
Evgeny Poberezkin
aac23c6481
SMP agent protocol commands semantics ( #44 )
2021-05-02 18:47:16 +01:00
Evgeny Poberezkin
af408d50bf
Merge pull request #82 from simplex-chat/v2
2021-05-02 11:34:24 +01:00
Evgeny Poberezkin
93956b65c2
Merge branch 'master' into v2
2021-05-02 11:23:41 +01:00
Efim Poberezkin
b7902ee4c8
agent sqlite: store msg hashes and integrity ( #118 , #119 , #120 )
...
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2021-05-02 10:48:31 +04:00
Evgeny Poberezkin
633b3a4bda
mitigate timing attack to determine if queue exists ( #117 )
...
* mitigate timing attack to determine if queue exists
* remove timing for authenticated SEND command
Co-authored-by: Efim Poberezkin <8711996+efim-poberezkin@users.noreply.github.com >
2021-05-01 22:07:25 +01:00
Evgeny Poberezkin
829c198e5f
reserve block size (32 bit) and protocol (16 bit) in client handshake block ( #116 )
...
* reserve block size (32 bit) and protocol (16 bit) in client handshake block
* update function names
* fix abnf
2021-05-01 21:58:35 +01:00
Efim Poberezkin
6be4839703
agent: verify msg integrity based on previous msg hash and id ( #110 )
...
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2021-05-02 00:38:32 +04:00
Evgeny Poberezkin
6ceeb2c9db
save keys as binary to db, remove legacy encoding ( #114 )
...
* save keys as binary to db, remove legacy encoding
* import list
2021-04-30 09:13:18 +01:00
Evgeny Poberezkin
bf6e652e41
reduce help size ( #113 )
2021-04-30 09:06:59 +01:00
Mark Aleksander Hil
9a8570c59c
Updated ChatHelpInfo ( #112 )
2021-04-29 10:27:07 +01:00
Evgeny Poberezkin
729cf10ad8
test: SMP server store log ( #109 )
...
* test: SMP server store log
* test: extend store log test: queue deletion, log compacted
* test: check store log length in lines
2021-04-29 07:23:32 +01:00
Evgeny Poberezkin
afc09a6ec4
Store log ( #108 )
...
* StoreLog (WIP)
* add log records to map
* revert Protocol change
* revert Server change
* fix parseLogRecord
* optionally save/restore queues to/from store log
* refactor
* refactor delQueueAndMsgs
* move store log to /var/opt/simplex
* use ini file
2021-04-26 20:34:28 +01:00
Evgeny Poberezkin
816703527a
set different default server ( #107 )
...
* set different default server
* remove comment
2021-04-26 20:18:20 +01:00
Evgeny Poberezkin
5fec6c1755
Sign and verify agent messages ( #106 )
...
* sign and verify agent messages with key sent in HELLO (TODO: hardcoded block size - should use size from handshake; verify signature of HELLO message itself; possibly, different MSG status if signature was not verified (currently ignored) or failed to verify (currently fails with AGENT A_ENCRYPTION - alternatively, change it to AGENT A_SIGNATURE))
* remove hardcoded block size, make it 4096 bytes
* verify signature of HELLO message before it is added to RcvQueue
* refactor
* update doc
* rename functions
2021-04-26 20:05:46 +01:00
Evgeny Poberezkin
cddff78719
binary X509 encoding for RSA key send during transport handshake ( #105 )
2021-04-24 12:46:57 +01:00
Efim Poberezkin
65ad2eb6a8
docs, smp, chore: remove multiline sentences line breaks; uniform lists ( #42 )
2021-04-19 23:14:40 +04:00
Evgeny Poberezkin
3187bc8140
chat: add connection errors in chat, fix catch ( #103 )
2021-04-19 08:40:23 +01:00