Commit Graph

1186 Commits

Author SHA1 Message Date
Grégoire Henry
2a85c34c67 Indentation fixes 2018-05-25 16:47:48 +02:00
Milo Davis
f3b0b0b00a Micheline: add 255 character annotation length limit 2018-05-25 14:41:27 +02:00
Milo Davis
7fc74da1a2 Data_encoding: add bounded strings and bytes 2018-05-25 14:41:27 +02:00
Grégoire Henry
c2241c034a Data_encoding: allow smaller size field for Dynamic_size 2018-05-25 14:41:27 +02:00
Grégoire Henry
89b6799fd6 Data_encoding: add combinator for positive big number 2018-05-25 14:41:27 +02:00
michael
3f1363b9ba P2P/Shell: Split metadata into peer_metadata and conn_metadata
Peer_metadata is meant to keep track of peer's score.

Conn_metadata is meant to keep track of connection configuration given
during Ack exchange.
2018-05-25 11:39:22 +02:00
bruno
c13b7dd39a Alpha: typos 2018-05-25 10:36:08 +02:00
Grégoire Henry
e1622c7b77 Opam: fix test dependencies for data_encoding. 2018-05-25 00:47:52 +02:00
Raphaël Proust
118188530a Data_encoding: crowbar tests
This work is based on ideas more fully developped in
https://gitlab.com/gasche/fuzz-data-encoding.

However, including some tests directly in this repo helps with CI
integration as well as keeping the tests and interfaces up to date.
Eventually, we should integrate the tests from the fuzz-data-encoding
library.
2018-05-24 17:50:18 +02:00
Raphaël Proust
8b5bce50cf Data_encoding: test catching of invalid encodings 2018-05-24 17:50:18 +02:00
Raphaël Proust
00d596e9c2 Data_encoding: catching more invalid encoding 2018-05-24 17:50:18 +02:00
Benjamin Canou
b0be5b630d Data_encoding: Ignore is actually a `Fixed 0 2018-05-24 15:43:15 +00:00
Pietro
d1c2f631d5 Data_encoding: Refresh benchmarks 2018-05-24 15:43:15 +00:00
Grégoire Henry
2b82a588e1 Data_encoding: improve docstrings. 2018-05-24 15:43:15 +00:00
Grégoire Henry
2e9df07b0e Data_encoding: add check_size 2018-05-24 15:43:15 +00:00
Grégoire Henry
5023e1a261 Data_encoding: rename Binary.to_bytes into to_bytes_exn 2018-05-24 15:43:15 +00:00
Grégoire Henry
72fc71be67 Data_encoding: rename Binary into Binary_writer 2018-05-24 15:43:15 +00:00
Grégoire Henry
1da0d0c8d7 Data_encoding: split out Binary_length 2018-05-24 15:43:15 +00:00
Grégoire Henry
aee6718148 Data_encoding: use CPS for the stream reader 2018-05-24 15:43:15 +00:00
Grégoire Henry
b83797371e Data_encoding: rename Size into Binary_size 2018-05-24 15:43:15 +00:00
Grégoire Henry
b164dd6cc5 Data_encoding: drop module Assert
- drop the quick-and-dirty `Assert` introduced when we switched from
  `Kaputt` and use `Alcotest.check` instead.

- split tests in multiple files:
  - success.ml
  - write_failure.ml
  - read_failture.ml
  - invalid_encoding.ml
  - randomized.ml
2018-05-24 15:43:15 +00:00
Grégoire Henry
a0cae2af57 Data_encoding: enforce fixed-size strings in JSON. 2018-05-24 15:43:15 +00:00
Grégoire Henry
1bc7b45fdb Data_encoding: forbids nested options 2018-05-24 15:43:15 +00:00
Grégoire Henry
1f358b7f9a Data_encoding: move cut_bytes into MBytes 2018-05-24 15:43:15 +00:00
Grégoire Henry
cb28ca1cd5 Stdlib: reintroduce MBytes.pp_hex 2018-05-24 15:43:15 +00:00
Fabrice Le Fessant
8986640a98 P2p: make nonces unpredictable when connecting
Avoid replay-attacks by preventing a node from determining one of the
nonces used in the encryption of a channel between two nodes.
2018-05-24 12:11:42 +02:00
Benjamin Canou
dcf27f48d9 Alpha: do not produce multiple revelations 2018-05-22 12:32:47 +02:00
Benjamin Canou
89d9d83b15 Alpha: remove unused error 2018-05-22 12:32:47 +02:00
Grégoire Henry
d0a9fb678c Alpha: better error for invalid key revelation 2018-05-22 12:32:47 +02:00
OCamlPro-Iguernlala
4caf7cf679 P2p_maintenance: improve 'try_to_contact' and 'connectable'
To avoid eventual infinite loops in 'try_to_contact', we
accumulate the set of points that have been seen to discard them
during recursive calls.
2018-05-22 12:20:04 +02:00
Marco Stronati
5a26d23cf7 Crypto: replace nocrypto sha256 with hacl 2018-05-17 10:20:22 +02:00
Marco Stronati
7d6da7179b Crypto: replace ocaml-tweetnacl with ocaml-hacl 2018-05-17 10:20:22 +02:00
Grégoire Henry
01941fa725 Opam: fix tezos-stdlib.opam 2018-05-13 01:42:05 +02:00
Vincent Bernardoff
abdcfab111 RPC: add CORS test 2018-05-13 00:20:40 +02:00
Vincent Bernardoff
64183bbcf3 RPC: CORS now accepts Content-Type by default 2018-05-13 00:00:18 +02:00
Vincent Bernardoff
049efb2169 Stdlib/String: add Set module 2018-05-12 23:57:32 +02:00
OCamlPro-Iguernlala
6b8c3f7d31 P2p_maintenance.connectable: ignore non-trusted points if option --closed is set 2018-05-12 23:42:20 +02:00
Vincent Bernardoff
b48ba96106 Stdlib: use bigstring to implement MBytes 2018-05-12 23:11:35 +02:00
Vincent Bernardoff
1cd82f5d82 Stdlib: do not use deprecated stringext 2018-05-12 23:11:35 +02:00
Benjamin Canou
3ca03f6da7 Alpha: remove dead code for deposit forfeiting 2018-05-11 16:49:16 +02:00
Grégoire Henry
3e6633bacc Alpha: burn only rewards and fees when baker do not reveal seeds
We only forfeit the bond in case of double-baking.
2018-05-11 15:50:03 +02:00
Pierre Chambart
e16cf6d28b Simplify, bit extraction from Z values 2018-05-09 16:36:52 +00:00
Benjamin Canou
deffa28aa4 Data_encoding: add more compact binary serializer for Z 2018-05-09 16:36:52 +00:00
Benjamin Canou
441149880c Environemt: add equality for Z.t 2018-05-09 16:36:52 +00:00
Benjamin Canou
636fecb6ff Utils: add Compare.Z 2018-05-09 16:36:51 +00:00
Raphaël Proust
a3474ae496 Typo in error message 2018-05-09 17:46:54 +02:00
Grégoire Henry
74ec514fd2 Alpha: fail on early revelations
We now fail when a nonce is revealed before
the the expected revelation cycle.
2018-05-09 17:46:54 +02:00
Grégoire Henry
3cb1c3c5e2 Alpha: error messages for invalid nonce revelations 2018-05-09 17:46:48 +02:00
Grégoire Henry
43fe4dbdc3 Alpha: minor cosmetic changes 2018-05-09 17:45:37 +02:00
Benjamin Canou
a873930a09 Alpha: minor change to the PoW check 2018-05-09 15:56:09 +02:00
Grégoire Henry
e3bfe0d651 Alpha: exclude signature from the minimal stamp of PoW.
We don't want the stamp to be cheaper for people with faster
signing devices...
2018-05-09 15:56:09 +02:00
bruno
6966240a54 Alpha: export missing errors 2018-05-08 12:50:04 +02:00
Benjamin Canou
cd731df938 Add missing opam dependency 2018-05-05 01:29:06 +02:00
Benjamin Canou
294e270f32 Add missing opam dependency 2018-05-04 19:23:04 +02:00
Vincent Bernardoff
96d9f317c1 Ocplib_json_typed: adapt code for inclusion in vendors 2018-05-04 18:48:00 +02:00
Pietro
b27bb84861 [p2p] fix space for semicolon and pipe 2018-05-03 16:03:01 +02:00
Grégoire Henry
fe9c06b7ca Test: fix test_multinode.sh 2018-05-03 16:03:01 +02:00
Pierre Chambart
137613ee9a Formatting client_p2p_commands 2018-05-03 16:03:01 +02:00
Pierre Chambart
d71ff759dc Remove uses of Time.now in P2p_acl 2018-05-03 16:03:01 +02:00
Pierre Chambart
6bdb959204 Really get rid of magic... 2018-05-03 16:03:01 +02:00
Pierre Chambart
7de7043a74 Stdlib: get rid of magic in HashPtree 2018-05-03 16:03:01 +02:00
Pietro
4d9292fcbb Fix other minor comments 2018-05-03 16:03:01 +02:00
Pietro
c5d41465a2 p2p: temp ban point on invalid auth 2018-05-03 16:03:01 +02:00
Pietro
ce92f70883 P2p: Fix Hashtbl for PeerRing
Export hash in INTERNAL_HASH. now Peer_id.Id is hashable
2018-05-03 16:03:01 +02:00
Pietro
3683e948c1 Ring: swap operation order in Ring.Maketable.add 2018-05-03 16:03:01 +02:00
Pietro
511b47148c p2p, ring: Cleanup PeerId table 2018-05-03 16:03:01 +02:00
Vincent Bernardoff
b3df4e63c8 [P2P] ACLs: cosmetics, renamings, comments 2018-05-03 16:03:01 +02:00
Pietro
02838a4cbc p2p,node,client: Add Greylists
- add admin commands to ban and unban ips and peers
- add greylist_timeout option to configuration file (node)
- Add greylist modules + RPC
2018-05-03 16:03:01 +02:00
Pierre Chambart
496cbe566d Stdlib: add ephemeron-based patricia trees for P2P greylisting 2018-05-03 15:58:08 +02:00
Vincent Bernardoff
280d88faaf TLS: add connectivity test 2018-05-03 15:48:25 +02:00
Vincent Bernardoff
7ffad5887d Node: update issues URL in man page 2018-05-03 15:48:25 +02:00
Vincent Bernardoff
63e44af5e4 TLS: switch to ocaml-tls 2018-05-03 15:48:25 +02:00
Grégoire Henry
0b31ebb455 Data_encoding: split out Binary_stream 2018-05-03 15:35:40 +02:00
Grégoire Henry
c9eab8689a Shell/Distributed_db: tune requests delay 2018-05-03 11:51:29 +02:00
Grégoire Henry
f2db5ffde3 Shell/Bootstrap: improve network paralellism 2018-05-03 11:51:29 +02:00
Grégoire Henry
6e4b2eab47 Shell: reduce default logging a little bit 2018-05-03 11:51:29 +02:00
Grégoire Henry
caa764f0ff Data_encoding: do not open the implementation modules by default 2018-05-03 11:05:06 +02:00
Raphaël Proust
0a3c9d52ec Data_encoding: deduplicate documentation 2018-05-03 15:25:47 +08:00
Raphaël Proust
194d3f9120 Data_encoding: move internal function internally 2018-05-03 15:18:10 +08:00
Raphaël Proust
34d4e9ec5d Data_encoding: don't open Encoding 2018-05-03 15:13:39 +08:00
Raphaël Proust
1ade54a7d7 Data_encoding: separate Size into its own module 2018-05-03 15:11:46 +08:00
Raphaël Proust
2418554f78 Data_encoding: reorder and reorganize doc 2018-05-03 14:00:24 +08:00
Raphaël Proust
56fbc5267d Data_encoding: split implementation
In an effort to keep a clean commit history, the interface is unchanged.
2018-05-03 12:27:17 +08:00
Milo Davis
7a43c5bc41 P2p_pool: fix ambiguous JSON union case 2018-04-26 22:52:21 +02:00
Milo Davis
ebfdeea8d5 Data_encoding: add descriptions to encodings 2018-04-26 22:52:21 +02:00
Milo Davis
f5cc599ae6 Data_encoding: add names to union cases 2018-04-26 22:52:21 +02:00
Vincent Bernardoff
de006f4be3 Crypto: fix hardcoded signatures in tests 2018-04-26 21:24:21 +02:00
Vincent Bernardoff
54bbc71c1b Crypto: sign 32 bytes message hash 2018-04-26 21:24:21 +02:00
Vincent Bernardoff
47f9c2460b Crypto: fixes for secp256k1 2018-04-26 21:24:21 +02:00
Vincent Bernardoff
3a0cdfd90a Crypto: Secp256k1 -> Libsecp256k1 2018-04-26 21:24:21 +02:00
Raphaël Proust
f8130eed82 Stdlib/MBytes: avoid double raise 2018-04-26 21:22:28 +02:00
Raphaël Proust
1af07b233a Data_encoding: better documentation of int 2018-04-26 21:20:40 +02:00
Grégoire Henry
02beb9c79a CI: fix busybox compatibility 2018-04-26 12:55:07 +02:00
Grégoire Henry
0fe8975817 Test: faster testsuite
No need to wait 1 second between blocks!
2018-04-22 13:48:20 +02:00
Grégoire Henry
a3a33c4814 Shell: export Signature.Public_key_hash.zero 2018-04-22 13:46:31 +02:00
Grégoire Henry
c3eda23b45 Shell: add a global watcher for new valid blocks in State 2018-04-22 13:46:31 +02:00
Grégoire Henry
3ba30fa468 RPC: allow 'epoch' as a valid Time.rpc_arg 2018-04-22 13:46:31 +02:00
Grégoire Henry
d3f4424c75 RPC: Use bytes for source files encoding in protocol updates 2018-04-22 13:46:31 +02:00
Grégoire Henry
bc9179094f Shell: store mainchain and testchain in State 2018-04-22 13:41:26 +02:00
Grégoire Henry
7adc0c90e7 Compiler: preserve Protocol_hash 2018-04-22 13:41:26 +02:00