Etan Kissling
81b861b34e
avoid `ProveField` warning in `crypto.init` ( #915 )
2023-06-29 15:28:25 +02:00
Tanguy
66f9dc9167
Remove all `Result.get()`s & `Option` -> `Opt` ( #902 )
...
Co-authored-by: Ludovic Chenut <ludovic@status.im>
Co-authored-by: Diego <diego@status.im>
2023-06-28 16:44:58 +02:00
Tanguy
c76d1e18ef
Remove nim 1.2 support ( #907 )
2023-06-07 11:12:49 +00:00
Tanguy
225accd11b
Less warnings ( #813 )
...
Co-authored-by: Diego <diego@status.im>
2023-05-18 10:24:17 +02:00
Tanguy
c11772c94e
Happy new year! ( #847 )
2023-01-20 15:47:40 +01:00
Tanguy
a086fcba72
Remove shallow copies ( #782 )
2022-10-20 14:52:02 +02:00
Jacek Sieka
dfbfbe6eb6
allow connection to a peer with unknown PeerId ( #756 )
...
Co-authored-by: Tanguy <tanguy@status.im>
2022-09-05 14:31:14 +02:00
Miran
2fbe82bf9d
make it more Nim 1.4+ compatible ( #742 )
2022-08-03 13:33:19 +02:00
tersec
4ca1c2d7ed
--styleCheck:error ( #743 )
...
* --styleCheck:error
* PeerID -> PeerId
* other libp2p styleCheck changes
* MessageID -> messageId; topicID -> topicId
2022-07-27 11:47:50 +00:00
Tanguy
d0523fdc9d
Documentation ( #716 )
2022-07-01 20:19:57 +02:00
Tanguy
a7e335e1bb
Remove Br prefix from BearSSL ( #728 )
...
ref status-im/nim-bearssl#27
2022-06-16 10:08:52 +02:00
Tanguy
d4ff1c88e9
Less warnings ( #710 )
2022-05-24 15:10:57 +02:00
tersec
fc6b8f46f1
encrypt and decrypt empty sequences ( #713 )
...
* encrypt and decrypt empty sequences
* use assign in curve25519
2022-04-12 10:41:48 +00:00
Tanguy
df566e69db
Fixes for style check ( #676 )
2021-12-16 11:05:20 +01:00
Etan Kissling
2373ee0061
harden `ecnist` byte export against uninitialized key ( #671 )
...
Currently, `ecnist`'s `toBytes` and `getBytes` methods operate only on
properly initialized keys. If an un-initialized key is given, an
`IndexError` may be raised if the key's `xlen` / `qlen` property is
larger than the maximum buffer size. This patch hardens those functions
to report a proper error in that case.
Note that the library functions called by `init` and `initRaw` already
reject data that does not have the expected length, so these new checks
should not be reachable in practice.
2021-12-13 18:46:25 +00:00
Tanguy
846baf3853
Various cleanups part 1 ( #632 )
...
* raise -> raise exc
* replace stdlib random with bearssl
* object init -> new
* Remove deprecated procs
* getMandatoryField
2021-10-25 10:26:32 +02:00
Tanguy
1b2cdd6aec
Merge branch 'master' into unstable
2021-09-09 13:22:45 +02:00
Tanguy Cizain
8cddfde837
Rename getKey -> getPublicKey ( #621 )
...
* rename getKey to getPublicKey
* use publicKey directly in gossipsub
* update error messages
2021-09-02 12:03:40 +02:00
Jacek Sieka
1d4f7c7a43
avoid borrow, breaks logging ( #604 )
2021-07-11 09:59:42 +02:00
Giovanni Petrantoni
eac6cd3dbf
Debt: cleanup warnings #426 ( #536 )
...
* testswitch cleanups
* Debt: cleanup warnings
Fixes #426
2021-02-25 09:24:49 -06:00
Mamy Ratsimbazafy
42d264d8b0
Rm bearssl + Deactivate Travis completely ( #477 )
...
* Rm bearssl added in #2167
* Travis ARM doesn't work
2020-12-10 14:19:27 +01:00
Mamy André-Ratsimbazafy
8805e5f061
Use Travis only for ARM64 - https://github.com/status-im/nimbus-eth2/pull/2167
2020-12-09 16:05:41 -06:00
Giovanni Petrantoni
75b023c9e5
gossipsub audit fixes ( #412 )
...
* [SEC] gossipsub - rebalanceMesh grafts peers giving preference to low scores #405
* comment score choices
* compiler warning fixes/bug fixes (unsubscribe)
* rebalanceMesh does not enforce D_out quota
* fix outbound grafting
* fight the nim compiler
* fix closure capture bs...
* another closure fix
* #403 rebalance prune fixes
* more test fixing
* #403 fixes
* #402 avoid removing scores on unsub
* #401 handleGraft improvements
* [SEC] handleIHAVE/handleIWANT recommendations
* add a note about peer exchange handling
2020-10-30 21:49:54 +09:00
Eugene Kabanov
59b290fcc7
Refactor minasn1 and fix security issues. ( #323 )
...
* Refactor minasn1 and fix security issues.
* Fix for RSA test vectors.
2020-08-11 16:58:51 -06:00
Eugene Kabanov
d47b2d805f
Use constant-time hex encoding/decoding procedures explicitly. ( #305 )
...
* Use constant-time hex encoding/decoding procedures explicitly.
* Add comments.
2020-08-11 08:48:21 -06:00
Eugene Kabanov
7c1aac5dc1
Use constant-time comparison for keys and signatures. ( #299 )
2020-08-08 08:53:33 +02:00
Giovanni Petrantoni
5f0637c49a
Audit curve fixes part2 ( #298 )
...
* refactor and fix mulgen (curve25519)
* crypto tests fixing
* fix some confusion in curve25519 mul
* removing ForbiddenCurveValues table and checks
* fix remaining merge issues
2020-08-04 18:19:26 +09:00
Giovanni Petrantoni
504e0444d3
refactor and fix mulgen (curve25519) ( #293 )
...
* refactor and fix mulgen (curve25519)
* crypto tests fixing
2020-08-04 14:07:53 +09:00
Eugene Kabanov
6af3cb6406
Public key infrastructure filters. ( #272 )
...
* Initial commit.
* Workaround nim's bug and add some other compilation error fixes.
* Rename to libp2p_pki_schemes.
Fix secio.
Add tests.
* Attempt to fix command line.
* Fix command line.
Show status in tests.
2020-07-21 14:10:21 -06:00
Eugene Kabanov
b832668768
Minprotobuf refactoring 2 ( #269 )
...
* Protobuf refactoring stage II.
* Remove NoError.
* Change trace level for invalid message.
2020-07-15 10:25:39 +02:00
Eugene Kabanov
9eb5828a42
Fix #266 . ( #270 )
...
* Fix security issue #266 .
* Add more tests.
* Fix PeerID tests should not use RSA-512 keys.
* Fix crypto tests to use vectors with 2048+ bits.
* Disable 4096bit RSA key generation for CI debug runs.
2020-07-15 10:24:04 +02:00
Eugene Kabanov
efb952f18b
[WIP] Minprotobuf refactoring ( #259 )
...
* Minprotobuf initial commit
* Fix noise.
* Add signed integers support.
Add checks for field number value.
Remove some casts.
* Fix compile errors.
* Fix comments and constants.
2020-07-13 14:43:07 +02:00
Jacek Sieka
9a3684c221
init from concrete key type ( #252 )
2020-07-09 02:59:09 -06:00
Jacek Sieka
45c089ff0d
noise updates ( #255 )
...
* clear secrets explicitly
* simplify keygen
* avoid some trivial memory allocations
* fix little endian encoding of nonce
2020-07-09 02:53:19 -06:00
Eugene Kabanov
775cab414a
Remove SHA1 from crypto and crypto tests. ( #251 )
...
* Remove SHA1 from crypto and crypto tests.
* Simplify RSA comparison procedure.
Refactor some procedures in crypto.nim.
2020-07-07 15:48:15 +02:00
Jacek Sieka
d522537b19
reuse single RNG instance for all crypto key generation ( #249 )
...
* reuse single RNG instance for all crypto key generation
* use foolproof rng
* initRng -> newRng (because it's ref)
* fix test
* imports/exports, chat fix
* fix rsa
* imports and exports
* work around threadvar issue
* fixup
* mac workaround test
2020-07-07 13:14:11 +02:00
Giovanni Petrantoni
ec00c7fc50
Peer resultification and defect only ( #245 )
...
* Peer resultification and defect only
* Fixing some tests
* test fixes
* Rename peer into peerid
* better result error message in identify
* further merge fixes
2020-07-01 08:25:09 +02:00
Jacek Sieka
6331b04cb4
secp: requiresInit updates ( #237 )
...
* secp: requiresInit updates
* fix
2020-06-22 19:03:15 +02:00
Giovanni Petrantoni
6affcda937
Less exceptions more results ( #188 )
...
* Less exceptions more results
* Fix daemonapi and interop tests
* Add multibase
* wip multiaddress
* fix the build, consuming new result types
* fix standard setup
* Simplify match, rename into MaError, add more exaustive err text
* Fix the CI issues
* Fix directchat build
* daemon api fixes
* better err messages formatting
Co-authored-by: Zahary Karadjov <zahary@gmail.com>
2020-05-31 16:22:49 +02:00
Giovanni Petrantoni
01339c991f
Don't use and expose directly secp types ( #183 )
...
* Don't use and expose directly secp types
* Reuse same secp type names
2020-05-19 14:48:55 +02:00
Giovanni Petrantoni
c219100e64
Use results and no exceptions in chacha and curve25519 ( #182 )
2020-05-19 10:22:49 +02:00
Giovanni Petrantoni
7dcb807f64
Crypto utilities resultification ( #150 )
2020-05-18 07:25:55 +02:00
Jacek Sieka
330da51819
removals ( #159 )
...
* remove unused stream methods
* reimplement some of them with proc's
* remove broken tests
* Error->Defect for defect
* warning fixes
2020-05-06 18:31:47 +02:00
Giovanni Petrantoni
1c4d72f5e3
Use Result construct in minasn1 ( #144 )
2020-04-23 14:10:20 +02:00
Jacek Sieka
e8b33c64fa
secp: use upstream secp convenience api ( #141 )
...
* secp: use upstream secp convenience api
2020-04-17 12:51:13 +02:00
Jacek Sieka
2b823bde68
secp: update ( #138 )
2020-04-12 19:03:08 +02:00
Dmitriy Ryajov
bd49a35e0a
formatting
2020-04-07 12:16:59 -06:00
Giovanni Petrantoni
35a48fa560
Re-enable gossipsub internal tests when running CI
...
minor bonus: add a link in the comments about bearssl issue with
callbacks
2020-04-07 22:07:00 +09:00
Giovanni Petrantoni
a576069305
Chachapoly new bearssl fixes
2020-04-07 17:52:19 +09:00
Giovanni Petrantoni
0a3e4a764b
Less verbose traces ( #112 )
...
* Make traces less verbose with shortHexDump utility
* Rename shortHexDump into shortLog
* Improve shortLog, add shortLog for crypto keys
* Add proper shortLog implementations in messages
2020-03-23 15:03:36 +09:00