Evgeny Poberezkin
8ca2d64bc9
Update FUNDING.yml
2021-12-18 16:28:06 +00:00
Evgeny Poberezkin
e0acb42a28
Merge branch 'stable'
2021-12-17 15:44:58 +00:00
Evgeny Poberezkin
bd2e251cae
server update script
2021-12-17 13:23:37 +00:00
Evgeny Poberezkin
6b5cc3d2d5
0.5.1
v0.5.1
2021-12-17 12:33:01 +00:00
Evgeny Poberezkin
5f7fe8b0dc
remove client from servers subscribers map after client disconnection ( #228 )
...
Co-authored-by: Efim Poberezkin <8711996+efim-poberezkin@users.noreply.github.com >
2021-12-17 16:28:48 +04:00
Evgeny Poberezkin
1df146c702
make WebSockets use TLS Context ( #227 )
2021-12-16 07:30:16 +00:00
Evgeny Poberezkin
323fb1f03c
remove SMP server signing responses ( #226 )
...
* remove SMP server signing responses
* keep only one session ID
2021-12-16 07:15:45 +00:00
Efim Poberezkin
de01692ffd
enable WebSockets over TLS ( #225 )
2021-12-15 22:58:47 +04:00
Efim Poberezkin
bcf5e25cab
create TLS ServerParams once per server run; remove tlsServerParams from agent env (fixes functional agent client for chat) ( #223 )
2021-12-15 19:03:34 +04:00
Evgeny Poberezkin
5aa0e97cd9
sign server responses
2021-12-15 11:52:09 +00:00
Evgeny Poberezkin
cf3d0dfdc3
Transaction fields for size, session IDs, refactor ( #222 )
...
* add SMP session IDs/tls-unique to transmission
* refactor SMP transmissions: precise transmission types in server & client
* use correct session IDs
* remove TSession
2021-12-15 08:06:34 +00:00
Evgeny Poberezkin
83d352cfbe
TLS 1.3 transport ( #203 )
...
* TLS as Transport class instance with pre-defined server certificate/key
* refactor error logging
* remove Ed25519
* refactor TLS.cGet
* TLS over TCP for Transport
* Plain -> TLS
* comment
* getLn, change supported cipher
* use non fixed certificates
* comment
* check options earlier
* wording
* headers
* Update apps/smp-server/Main.hs
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
* Update apps/smp-server/Main.hs
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
* localhost -> server
* Update apps/smp-server/Main.hs
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
* remove comment
* agent key and cert fixtures WIP
* certificate and key in correct order
* exitFailure
* refactor loadServerCertificate
* remove liftIO
Co-authored-by: Efim Poberezkin <8711996+efim-poberezkin@users.noreply.github.com >
2021-12-15 07:48:57 +00:00
Evgeny Poberezkin
7dba734ab8
Merge pull request #221 from simplex-chat/ep/smp-sign-encrypt
...
SMP protocol changes: server signature keys (no signing/verification yet), recipient message bodies encryption with crypto_box
2021-12-13 12:49:41 +00:00
Evgeny Poberezkin
a3101edbb9
Update src/Simplex/Messaging/Agent/Client.hs
...
Co-authored-by: Efim Poberezkin <8711996+efim-poberezkin@users.noreply.github.com >
2021-12-13 12:04:52 +00:00
Evgeny Poberezkin
95fbd70346
encrypt recipient message bodies with crypto_box
2021-12-13 10:56:26 +00:00
Evgeny Poberezkin
acf5c15a05
increase SMP queue ID and message ID size to 24 bytes
2021-12-12 23:17:21 +00:00
Evgeny Poberezkin
560d9ceb71
add NaCl crypto_box scheme
2021-12-12 22:59:11 +00:00
Evgeny Poberezkin
bfa05c9432
all tests pass!
2021-12-12 21:17:25 +00:00
Evgeny Poberezkin
c45454d9e5
update server store log to save/restore additional keys, use Ed keys in tests instead of RSA
2021-12-12 20:51:34 +00:00
Evgeny Poberezkin
f6991539a2
add server signature keys and DH keys for server->recipient msg bodis to SMP commands (server store log and agent tests are skipped)
2021-12-12 12:22:44 +00:00
Evgeny Poberezkin
5f7366b7bd
Merge pull request #198 from simplex-chat/v5
2021-12-10 12:29:50 +00:00
Evgeny Poberezkin
f640e71f82
remove BlockArguments extension ( #220 )
2021-12-10 12:21:54 +00:00
Evgeny Poberezkin
52eef2d7c7
Merge branch 'master' into v5
2021-12-10 11:52:08 +00:00
Evgeny Poberezkin
f15067cf68
0.5.0
v0.5.0
2021-12-08 15:11:27 +00:00
Evgeny Poberezkin
ff2b975cd8
prepare v0.5.0 - update versions, changelog ( #219 )
...
* prepare v0.5.0 - update versions, changelog
* Update CHANGELOG.md
Co-authored-by: Efim Poberezkin <8711996+efim-poberezkin@users.noreply.github.com >
2021-12-08 15:02:28 +00:00
Evgeny Poberezkin
fe2d6607de
delete contact connection with DEL command ( #218 )
2021-12-07 19:05:19 +00:00
Efim Poberezkin
6bdf4f3ff3
change ports for tests (fix for ports now in use on macOS) ( #217 )
2021-12-06 18:56:07 +04:00
Evgeny Poberezkin
218a7756f8
RJCT / rejectContact to reject contact requests ( #214 )
2021-12-06 13:12:10 +00:00
Evgeny Poberezkin
d5310c1c6f
SimpleX protocols and network overview ( #215 )
2021-12-06 12:28:11 +00:00
Evgeny Poberezkin
82ae5c623f
Merge branch 'master' into v5
2021-12-06 09:22:45 +00:00
Evgeny Poberezkin
57c9ccfc08
use base64url encoding for public key in connection requests; only allow accepting invitations that were not accepted ( #213 )
...
* use base64url encoding for public key in connection requests; only allow accepting invitations that were not accepted
* subscribe ContactConnection, fix test to use base64url encoding in key example
2021-12-06 09:05:13 +00:00
Evgeny Poberezkin
58758e0572
Merge branch 'master' into v5
2021-12-04 21:08:38 +00:00
Evgeny Poberezkin
3e226fc3f2
add CONF/LET for invitations, use REQ/ACPT only with contact connections ( #212 )
2021-12-04 21:08:02 +00:00
Evgeny Poberezkin
b116408ec3
Merge branch 'master' into v5
2021-12-04 18:55:23 +00:00
Evgeny Poberezkin
04c65d98da
support permanent connection link ("contact") in SMP agent protocols ( #143 )
...
* open/public queue extension for SMP and SMP agent protocols
* add connection mode - invitation or contact
* use ConnectionMode with REQ and ACPT agent notification/command
* parameterize ConnectionRequest with ConnectionMode
* implement Contact connection mode for permanent connection links
* tests for contact connections
2021-12-04 18:42:08 +00:00
Evgeny Poberezkin
316dc7b320
merge protocol changes from v5 ( #211 )
2021-12-02 18:42:13 +00:00
Evgeny Poberezkin
6126e72d4f
Merge branch 'master' into v5
2021-12-02 18:06:42 +00:00
Evgeny Poberezkin
606bbf5062
URI syntax for SMP queues and connection requests ( #210 )
...
* URI syntax for SMP queues and connection requests
* fix connection request parsing/serializing
* add ConnectionRequest sqlite instances
2021-12-02 17:43:05 +00:00
Evgeny Poberezkin
bebd1e5fb9
simplex URI request
2021-11-29 23:00:26 +00:00
Evgeny Poberezkin
db509d0311
update protocol docs ( #209 )
...
* update protocol docs
* more protocol corrections
* update connection request syntax
* Update protocol/agent-protocol.md
Co-authored-by: Efim Poberezkin <8711996+efim-poberezkin@users.noreply.github.com >
* Update protocol/agent-protocol.md
Co-authored-by: Efim Poberezkin <8711996+efim-poberezkin@users.noreply.github.com >
* Update protocol/agent-protocol.md
Co-authored-by: Efim Poberezkin <8711996+efim-poberezkin@users.noreply.github.com >
* Update protocol/agent-protocol.md
Co-authored-by: Efim Poberezkin <8711996+efim-poberezkin@users.noreply.github.com >
* Update protocol/simplex-messaging.md
Co-authored-by: Efim Poberezkin <8711996+efim-poberezkin@users.noreply.github.com >
Co-authored-by: Efim Poberezkin <8711996+efim-poberezkin@users.noreply.github.com >
2021-11-28 21:01:34 +00:00
Evgeny Poberezkin
e1002d5ac0
GADTs for cryptographic keys ( #208 )
...
* GADTs for cryptographic keys
* update tests (signature timing tests still fail)
* fix signature verification timing tests
* configurable algorithm to sign commands to SMP queues (Ed448 by default)
* add dummy Ed keys, add timing tests for Ed keys
* re-enable Connection subscriptions tests
2021-11-28 11:44:22 +00:00
Evgeny Poberezkin
99b3749890
simplify RSA private key types ( #207 )
...
* simplify RSA private key types
* remove updateSignKey method
2021-11-28 07:08:47 +00:00
Efim Poberezkin
ab875198ed
SMP protocol typo
2021-11-27 02:31:15 +10:00
Evgeny Poberezkin
f3d79ebcda
update SMP protocol to include server signature and encryption keys
2021-11-25 17:24:00 +00:00
Evgeny Poberezkin
01e8c232f0
change syntax for queue URI and connection request ( #205 )
...
* change syntax for queue URI and connection request
* separate queue URI into separate section
* correction
2021-11-22 19:08:19 +00:00
Evgeny Poberezkin
eb7fcae31b
update transport protocol to use TLS ( #204 )
...
* update transport protocol to use TLS
* typos
* s/serverKeyHash/serverIdentity/
Co-authored-by: Efim Poberezkin <8711996+efim-poberezkin@users.noreply.github.com >
* Update protocol/simplex-messaging.md
Co-authored-by: Efim Poberezkin <8711996+efim-poberezkin@users.noreply.github.com >
* corrections
Co-authored-by: Efim Poberezkin <8711996+efim-poberezkin@users.noreply.github.com >
2021-11-22 08:52:39 +00:00
Evgeny Poberezkin
eb941f7435
simplify pending message delivery ( #202 )
...
* simplify pending message delivery (WIP)
* refactor
2021-11-19 16:26:51 +00:00
Evgeny Poberezkin
227d83d0e7
SMP commands for notifications (NKEY/NID and NSUB/NMSG) with separate queue ID and key ( #199 )
...
* SMP commands for notifications (LSTN, NTFY) with separate queue IDs and keys
* rename Notifier types
* remove notify key and id from NEW and IDS commands (TODO add other commands)
* fix StoreLog serialization
* add commands for managing notifications
* add notification subscribers to server state, add notifier ID and key to store log
* add notifier ID and key to the queue
* refactor END notification to work for both types of subscriptions, deliver message notification (NMSG)
* process NSUB command - subscribe to message notifications
* test for message notifications
* fix SMP client function for NSUB command
* fix parse/serialize NID command
* refactor use ifM
* check duplicate notifier ID only against other notifier IDs
* refactor getQueue
* test notifier ID and key with store log
* Update src/Simplex/Messaging/Client.hs
Co-authored-by: Efim Poberezkin <8711996+efim-poberezkin@users.noreply.github.com >
* Update src/Simplex/Messaging/Server.hs
Co-authored-by: Efim Poberezkin <8711996+efim-poberezkin@users.noreply.github.com >
* store log: s/NOTIFY/NOTIFIER/
Co-authored-by: Efim Poberezkin <8711996+efim-poberezkin@users.noreply.github.com >
2021-11-14 18:52:29 +00:00
Evgeny Poberezkin
057d5eeb24
AES encription with auth tag after cypher text (the order in WebCrypto etc.); upgrade GHC to 8.10.7 ( #197 )
2021-10-24 21:03:41 +01:00
Efim Poberezkin
bfcbe4bcd8
remove build matrix and create release in the end of build to avoid downtime in binary availability ( #196 )
2021-10-02 18:49:24 +10:00