1241 Commits

Author SHA1 Message Date
d1847a3adc change Jenkinsfile to use parallel declarative format
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2018-11-22 10:12:20 +01:00
Pedro Pombeiro
134cce5b13 Reduce number of days required to consider a PR stale to 14 0.17.1-beta 0.17.1-gh6772 2018-11-20 13:14:33 +01:00
Adam Babik
e658366d1e
Improve Makefile (#1275)
* change docker image tag to RELEASE_TAG
* use changelog in release
2018-11-20 11:13:42 +01:00
Pedro Pombeiro
d3c8079075 Update mailserver canary to be compatible with geth 1.8.17 upgrade 2018-11-20 08:59:36 +01:00
Pedro Pombeiro
92748f1334 Add canary-test make target to test beta fleet mailservers. Closes #1274 2018-11-19 19:02:32 +01:00
Adam Babik
860da591be
add mailserver batch requests counter and network processing time (#1280) 2018-11-19 10:14:03 +01:00
Adam Babik
8efd1fe84e
Bump version to 0.17.1-beta 2018-11-14 08:18:59 +01:00
Adam Babik
52a1bdfed6
Upgrade geth 1.8.17 plus add metrics during compilation time (#1273)
This commit updates geth to 1.8.17 and adds a possibility to enable metrics during compilation time.

The cascade of issues forced us to upgrade geth to 1.8.17 in order to allow enabling metrics during compilation time. 1.8.17 introduced `NodeID` refactoring and `enode` package which affected our peers pool and integration with Discovery V5.
0.17.0
2018-11-14 08:03:58 +01:00
Adam Babik
5b2d7dc212
bump version to 0.16.8-beta 2018-11-14 01:31:47 +01:00
Adam Babik
941790f357
bump version to 0.16.7 0.16.7 2018-11-14 01:08:09 +01:00
Dmitry Shulyak
cb15ca6e74
Mark peers that were added by peer pool (#1271)
* Mark peers that were added by peer pool

* Implement thorough test to verify that connection was indeed preserved

* Add more debug logs and remove caching of the peers
2018-11-13 14:58:26 +01:00
Adam Babik
04ba4d44e8
fix collecting p2p/Peers metric (#1269) 2018-11-12 10:27:09 +01:00
Pedro Pombeiro
5d0ed0303e Add timeout parameter to node-canary 2018-11-09 17:02:55 +01:00
Pedro Pombeiro
87f1af0743 Ensure that NewNodeConfigWithDefaults builds a valid configuration 2018-11-09 17:02:55 +01:00
Andrea Maria Piana
1f6cccd0fc
Add enabling/disabling of installations (#1264)
This commit adds a list new table, installations, which is used to keep
track of which installation are active for a given identity key.

In general, we limit the number of installation that we keep
synchronized to 5, to avoid excessive usage of resources.

Any installation coming from our own identity, will have to be manually
enabled, otherwise we trust the other peer has correctly paired their
devices.

We use a timestamp to decide which installations to keep synchronized as
a logical clock would have make the creation of the bundle more
complicated, but this can always be converted to a logical clock at
later stages without breaking compatibility.
0.16.7-alpha
2018-11-06 09:05:32 +01:00
Dmitry Shulyak
3fe5b25ff2
Implement eth_getFilterLogs (#1265)
Queries logs from remote server using original filter criteria.
2018-11-06 07:41:36 +01:00
Dmitry Shulyak
db786ef1d2
Sign typed data implementation (#1250)
* Implement EIP 712

* Cover majority of cases with tests

* Add solidity and signer tests and cover integer edges case

* Add thin api to sign type data using selected status account

* All integers are extended to int256 and marshalled into big.Int

* Document how deps works

* Fix linter

* Fix errors test

* Add validation tests

* Unmarshal every atomic type in separate functions
2018-11-06 07:26:12 +01:00
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) v0.16.4-alpha 0.16.5 v0.16.4-4-gaf1f6eb5 0.16.6-alpha 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) v0.16.3-3-g37e4ef01 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) v0.16.4 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) 0.16.3-2-ge4ba365b v0.16.3-2-ge4ba365b 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
v0.16.3
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)
v0.16.2
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) v0.16.1 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
v0.16.0
2018-09-27 21:16:15 +02:00
Andrea Maria Piana
b309718fdc
Add sign & verify api calls (#1218) v0.15.1 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