Commit Graph

499 Commits

Author SHA1 Message Date
Zahary Karadjov cc0d15ccac
Richer Sqlite API
* Adds a strongly typed API for creating custom SQL queries and
  executing them

* Uses destructors to simplify the error handling in the init logic
2020-10-13 21:44:42 +03:00
Zahary Karadjov c103721391
Add support for multiple keyspaces in the Sqlite keystore 2020-10-12 04:02:33 +03:00
Zahary Karadjov de2d43a7e7 Remove some unused code from NBC by making it RLPx-specific 2020-10-05 17:28:58 +03:00
Kim De Mey 603fee9699
Update discv5.md 2020-10-05 15:47:40 +02:00
Kim De Mey 6b17531d48
Improvements on dropping of challenges and handling of too large distance (#296)
- drop handshake challenge on invalid handshake
- send empty nodes reponse when distance is > 256
- misc
2020-09-30 09:43:51 +02:00
andri lim d9e57e4d1a
Merge pull request #297 from status-im/update_bloom
make 'bloom.contains' public
2020-09-30 13:03:57 +07:00
jangko 6c0bc31ad6
add 'BloomFilter.init' implementation 2020-09-30 12:04:23 +07:00
jangko 0194fb85eb
make 'bloom.incl(h256)' public 2020-09-30 11:57:57 +07:00
jangko 2f37870b6b
make 'bloom.contains' public 2020-09-30 11:01:50 +07:00
Jacek Sieka 3ddb498f2a
close sqlite transactions earlier (#294)
If the database is locked for reading, as it is when step returns ROW,
writes cannot checkpoint the wal leading to ever-increasing wal sizes
and a long delay at shutdown.

By resetting the transaction early, writes become more independent of
reads, memory is released earlier and wal can be checkpointed.
2020-09-21 08:21:47 +02:00
tersec ea0dbb256e
support closing kvstore databases (#293)
* support closing kvstore databases

* clear MemStore databases on close
2020-09-11 13:05:52 +00:00
Kim De Mey c9caafb2a4
Replace memory db with lrucache for temporary storage of sessions (#292) 2020-09-10 14:49:48 +02:00
Ștefan Talpalaru 8e8c982270
Nimble: go back to depending on nim-nat-traversal HEAD (#291) 2020-08-28 04:13:16 +00:00
tersec 6ca6a91875
revert nimble reference to previous nat-traversal commit (#289)
* try VS 2013 image

* try mingw/gcc 7.3 for x64

* try mingw/gcc 6.3 for x64

* DIR not supported

* try systeminfo and/or wmic

* dump path, attempt 1

* dump gcc version

* move diagnostics to before nimble install

* try reverting to previous nim-nat-traversal commit

* fix nimble syntax

* try reverting non-git-commit-related changes

* remove echo %CC%, which showed that variable nonexistent or empty
2020-08-27 21:11:46 +00:00
tersec 8f1fd9890b
Merge pull request #287 from status-im/ula
use sqlite3 write-ahead logging to avoid excessive fsync()
2020-08-27 13:37:34 +00:00
Dustin Brody 64d880b24d
tweak phrasing to trigger CI to run again 2020-08-24 13:34:45 +02:00
Dustin Brody 9c9b9d5e2e
WAL pragma setting for in-memory databases results in "memory", not "wal" 2020-08-24 13:08:35 +02:00
Dustin Brody e2ccbbb418
use sqlite3 write-ahead logging 2020-08-24 12:37:40 +02:00
Zahary Karadjov 73c1bb817c
Adapt to latest snappy; Avoid decompression bombs 2020-08-19 14:14:59 +03:00
Zahary Karadjov 5eff071c8e Delegate traceAsyncErrors to Chronicles 2020-08-16 00:52:22 +03:00
andri lim 67be352b91
Merge pull request #285 from status-im/keyfile_scrypt
add scrypt kdf to keyfile and implement test for it
2020-08-04 09:25:12 +07:00
jangko f2f988d6d7
fix keyfile using newest scrypt api 2020-08-03 09:28:46 +07:00
jangko 7afa22cf41
add scrypt kdf to keyfile and implement test for it 2020-07-27 19:34:36 +07:00
Kim De Mey 765883c454
Update readme.md with link to fuzzing readme.md [skip ci] 2020-07-21 11:01:58 +02:00
Kim De Mey 38bf21b4f7
Update fuzzing readme.md 2020-07-21 10:58:14 +02:00
Kim De Mey 4dd7ca1221
Merge pull request #281 from status-im/fuzz-tests
Add discv5 fuzzing test targets
2020-07-20 19:05:33 +02:00
kdeme f0638eb3f1
Add rlp_decode fuzz test + some corpus generate code 2020-07-20 17:09:15 +02:00
kdeme 4e4836a0fe
Add discv5 fuzzing test targets 2020-07-20 14:17:44 +02:00
Kim De Mey 485d6db9e7
Merge pull request #283 from status-im/enr-updating
Enr updating
2020-07-20 12:05:32 +02:00
kdeme ec260dcfe4
Add & update tests 2020-07-17 22:48:14 +02:00
kdeme 1eae8f93f9
Fix empty ENR list in auth-response properly + potentially request new ENR on revalidation 2020-07-17 16:18:50 +02:00
kdeme 84fd39a8f8
Update enrs in buckets and replacement caches and fix empty ENR list in AuthResponse 2020-07-17 11:14:08 +02:00
Kim De Mey ac5155394f
Merge pull request #282 from status-im/add-nodes-checks
Add duplicate and distance checks in Nodes message
2020-07-16 14:15:54 +02:00
kdeme c7ac9f54b3
Refactor the findNode code + add tests 2020-07-15 15:27:22 +02:00
kdeme 33f72e77bc
Add duplicate and distance checks in Nodes message 2020-07-15 11:15:50 +02:00
Kim De Mey 7febbec673
Use brHmacDrbgGenerate for all random operations in discovery (#272) 2020-07-13 14:34:53 +02:00
Kim De Mey f3de959261
Discv5 readme (#278)
* Add discovery v5 readme + test_discv5 task

* Move hkdf tests to test file and add to nimble task
2020-07-12 23:53:27 +02:00
Kim De Mey 0888667ac0
Comments and cleanup (#276)
* Fix dcli + add more comments

* Fix pong enr sequence number + varia cleanup

* Send randomData in case no handshake was done yet. Fix #277
2020-07-12 17:25:18 +02:00
Kim De Mey 28a8d52308
Fix enr deserialization crash + more tests + fuzz test (#274)
* Fix enr deserialization crash + more tests + fuzz test

* CI: Install depsOnly
2020-07-11 01:28:53 +02:00
Eugene Kabanov e64efc5dbb
Fix LSWAP problem. (#275) 2020-07-10 23:30:34 +02:00
Kim De Mey 7f77ba2308
Fix formatFloat issue (#273) 2020-07-10 14:17:06 +02:00
Kim De Mey 8d2614a1ad
Merge pull request #266 from status-im/enr-update
Enr updating
2020-07-09 17:12:30 +02:00
Kim De Mey 2c5eeded6d
Small fuzzing readme correction [skip ci] 2020-07-09 11:01:35 +02:00
kdeme eeb958e834
Add comments [skip ci] 2020-07-08 14:56:56 +02:00
kdeme 4f3df3c9b2
Change update back to use var parameter of Record 2020-07-08 14:28:54 +02:00
kdeme d3db83fa0a
Extra test on newProtocol 2020-07-08 13:16:07 +02:00
kdeme 95a09fdf7f
Get rid of some duplicate code 2020-07-08 12:14:00 +02:00
kdeme 0fb21e72d7
Add updateEnr and allow for table constructor usage in newProtocol 2020-07-08 11:45:58 +02:00
kdeme 72420d7f17
Allow for passing in previous enr at discovery protocol creation 2020-07-07 23:39:32 +02:00
kdeme 57302fcf52
Allow for multiple enr fields to be inserted + enr update proc 2020-07-07 22:48:26 +02:00