Andrea Maria Piana
ee3c05c79b
Change handling of skipped/deleted keys & add version ( #1261 )
...
- Skipped keys
The purpose of limiting the number of skipped keys generated is to avoid a dos
attack whereby an attacker would send a large N, forcing the device to
compute all the keys between currentN..N .
Previously the logic for handling skipped keys was:
- If in the current receiving chain there are more than maxSkip keys,
throw an error
This is problematic as in long-lived session dropped/unreceived messages starts
piling up, eventually reaching the threshold (1000 dropped/unreceived
messages).
This logic has been changed to be more inline with signals spec, and now
it is:
- If N is > currentN + maxSkip, throw an error
The purpose of limiting the number of skipped keys stored is to avoid a dos
attack whereby an attacker would force us to store a large number of
keys, filling up our storage.
Previously the logic for handling old keys was:
- Once you have maxKeep ratchet steps, delete any key from
currentRatchet - maxKeep.
This, in combination with the maxSkip implementation, capped the number of stored keys to
maxSkip * maxKeep.
The logic has been changed to:
- Keep a maximum of MaxMessageKeysPerSession
and additionally we delete any key that has a sequence number <
currentSeqNum - maxKeep
- Version
We check now the version of the bundle so that when we get a bundle from
the same installationID with a higher version, we mark the previous
bundle as expired and use the new bundle the next time a message is sent
2018-11-05 20:00:04 +01:00
Andrea Maria Piana
58bd36e79e
Automate github releases ( #1263 )
2018-11-05 15:02:16 +01:00
Adam Babik
0961e1039e
fix peerID logging in mail server ( #1260 )
2018-10-28 23:33:58 +01:00
Dmitry Shulyak
539fa01d48
Implement cache for recording removed logs due to reorg ( #1241 )
...
Adjust criteria if replaced logs were received and add more tests
Improve validation
Changes after review
2018-10-28 17:12:16 +01:00
Andrea Maria Piana
22eb53ea8c
shhext: increase max skip keys ( #1257 )
2018-10-26 10:44:10 +02:00
b00ris
bdbceba6eb
added ulc config params ( #1255 )
...
* added ulc config params
* fmt
* fix lint
2018-10-24 19:31:41 +03:00
Dmitry Shulyak
29b55bd445
Add local implementation of the newFilter call using remote getLogs call ( #1235 )
...
* Implement subscriptions and filtering
* Add e2e test with log filter polling logs from EVM with clique backend
* Apply review comments
* Move devnode to t/devtests to avoid cycle in imports
2018-10-23 08:11:11 +03:00
Adam Babik
a75f9c34cf
Request historical messages in batches ( #1245 )
2018-10-19 11:09:13 +02:00
Igor Mandrigin
ba504e99c4
Mailserver: return error response. ( #1244 )
2018-10-18 12:25:00 +02:00
Adam Babik
b71058d73f
update golangci to 1.10.2 ( #1246 )
2018-10-17 12:17:58 +02:00
Andrea Franz
b9baa48d87
Add metrics for mailserver errors ( #1242 )
2018-10-16 17:24:37 +02:00
Ivan Daniluk
e7c588fcd0
Change API of BuildDirectMessage function to use variadic arguments ( #1243 )
2018-10-16 17:22:28 +02:00
b00ris
820217ea7a
added ulc patch ( #1239 )
2018-10-16 14:27:11 +03:00
Andrea Maria Piana
e4ba365b8a
Add bundles.added signal & pairing endpoint ( #1237 )
2018-10-16 12:31:05 +02:00
Dmitry Shulyak
659d79277b
Exit from register and discover gracefully is rendezvous was stopped ( #1238 )
2018-10-16 12:31:44 +03:00
Andrea Franz
c86f8bf6ca
allow multiple topics in mailserver requests ( #1240 )
...
* allow multiple topics in mailserver requests
* simplify topicsToBloom function
* create test topics simply from the string without hash
* add deprecated comment to MessagesRequest.Topic
2018-10-15 23:15:04 +02:00
Adam Babik
20f8f1f2cc
allow configure HTTPVirtualHosts and HTTPCors settings ( #1236 )
2018-10-12 14:58:32 +02:00
Ivan Daniluk
4d5f808085
Add IPC path command line flag ( #1229 )
2018-10-11 12:29:59 +02:00
Ivan Daniluk
802197879a
Remove statusd-cli ( #1231 )
2018-10-10 00:57:53 +03:00
Dmitry Shulyak
fbd3c9ca80
Limit number of proxied records and proxy only recently observed nodes ( #1227 )
...
* Limit number of proxied records and proxy only recently observed nodes
* Explicitly verify that limit is preserved and records removed eventually
2018-10-08 08:24:39 +03:00
Andrea Maria Piana
9f8f0089a3
Add extract group membership signatures ( #1226 )
2018-10-04 18:53:48 +02:00
Igor Mandrigin
1136176f4a
Make statusd compile with go 1.11 ( #1225 )
...
* upgrading github.com/rjeczalik/notify to the latest release
2018-10-04 17:57:39 +02:00
Adam Babik
fc54e0b06c
make node-canary working again ( #1221 )
...
* removed fleet validation (no fleet is allowed)
2018-10-04 12:40:26 +02:00
Dmitry
5b551c67fa
Use status-im whisper/whisperv6 module everywhere
2018-10-03 09:27:51 +03:00
Andrea Maria Piana
f3880f8fe1
Return always json struct ( #1220 )
2018-09-28 13:53:36 +02:00
Adam Babik
ac8da3c0f0
Use patched go-ethereum from our fork instead of patching it on-the-fly ( #1184 )
...
* update to 1.8.16
2018-09-27 21:16:15 +02:00
Andrea Maria Piana
b309718fdc
Add sign & verify api calls ( #1218 )
2018-09-27 15:07:32 +02:00
Adam Babik
9e7643dfb0
enabling mailserver does not imply making a node discoverable ( #1217 )
2018-09-27 08:58:25 +02:00
Adam Babik
298939b5fd
add networkid as switch between ropsten/mainnet is often ( #1209 )
2018-09-26 08:49:31 +02:00
Dmitry Shulyak
529e18af33
Update geth to v1.8.15 ( #1213 )
...
* Update geth to v1.8.15
* Apply patches
2018-09-25 11:55:54 +03:00
Dmitry
ff7c0e0a17
Ensure that discovery producer is stopped
2018-09-25 11:28:37 +03:00
Pedro Pombeiro
6a1cd7f2b0
Fix xgo creating files as `root` ( #1210 )
2018-09-24 22:21:13 +02:00
Andrea Maria Piana
dcaf8caed0
Add x3dh key exchange ( #1127 )
...
* Add x3dh key exchange
* Encrypt using the double ratchet
* Multi device with auto-pairing
* Add pfs enabled flag
2018-09-24 20:07:34 +02:00
Jakub
ac66ca33a9
configure stale github bot for closing issues ( #1214 )
...
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2018-09-24 11:02:57 -04:00
Dmitry
4ad036f2e1
In general case create enr.Record right before registering it
2018-09-24 13:37:06 +03:00
Dmitry
aab84e53dc
Ephemeral rendezvous client generates key using seckp256k1 curve
2018-09-24 13:37:06 +03:00
Adam Babik
8aef7c4f15
tune CLI for better docs experience ( #1207 )
2018-09-21 16:09:31 +02:00
Pedro Pombeiro
5d43eac31c
Add missing changes to node-canary. Part of #1202 ( #1205 )
2018-09-20 19:15:35 +02:00
Pedro Pombeiro
518234803a
Add support for testing static nodes to node-canary. Closes #1202 ( #1203 )
2018-09-20 13:25:32 +02:00
Pedro Pombeiro
8247f8ef0e
Fix typo in PR checklist text ( #1204 )
2018-09-20 11:53:01 +02:00
Pedro Pombeiro
8057ac47d5
Update README.md to point to docs.status.im ( #1200 )
2018-09-20 10:36:40 +02:00
Pedro Pombeiro
678d05a06d
Add PR checklist regarding documentation ( #1201 )
2018-09-20 10:23:58 +02:00
Dmitry
a11d970112
Update rendezvous nodes accordingle to our inventory
...
Rendezvous node identities were changed. Probably, previous private keys were
removed due to replacament of the VM. Additional node is from HK DC.
2018-09-20 09:46:59 +03:00
Adam Babik
fd99487328
fix updating peers limit if LES is enabled in CLI ( #1199 )
2018-09-19 20:29:42 +02:00
Pedro Pombeiro
99d7bc207d
Only keep two random static nodes from fleets.status.im ( #1196 )
2018-09-19 17:08:54 +02:00
Pedro Pombeiro
452b7e2198
Disable listening on port 30303 for the canary ( #1198 )
2018-09-19 14:45:43 +02:00
Dmitry
b32ef629f4
NoDiscovery must be false for discovery v5 to be enabled
...
Current change removes NoDiscovery from every config as it is a default value.
2018-09-18 16:42:47 +03:00
Pedro Pombeiro
5b98b8831b
Add peer limits to CLI defaults ( #1192 )
2018-09-14 12:25:52 +02:00
Pedro Pombeiro
1ce6f44b5b
Use in-memory DB for test. ( #1191 )
2018-09-14 11:09:39 +02:00
Pedro Pombeiro
4e7ae20eae
Add script to update fleets static JSON. Closes #1188 ( #1189 )
2018-09-14 10:46:34 +02:00