Commit Graph

167 Commits

Author SHA1 Message Date
Kagami Hiiragi
f8327baf73 Check max message payload length
Relates: Bitmessage/PyBitmessage#767
2015-02-07 14:14:53 +03:00
Kagami Hiiragi
e15bdecfcb Decode messages in stream mode 2015-02-06 20:44:27 +03:00
Kagami Hiiragi
be6234893f Fix tcp connection tracking 2015-02-06 16:04:17 +03:00
Kagami Hiiragi
9ed1c87df8 More strict inet_pton 2015-02-06 15:57:22 +03:00
Kagami Hiiragi
701fa33742 Fix net module API 2015-02-06 12:47:40 +03:00
Kagami Hiiragi
376bc25912 this bugfix 2015-02-05 23:04:06 +03:00
Kagami Hiiragi
40d40c55aa TCP bootstrap 2015-02-05 22:55:36 +03:00
Kagami Hiiragi
84ab3ec3a0 Minimal TCP node 2015-02-05 21:38:36 +03:00
Kagami Hiiragi
0fd8fb595f More net stub 2015-02-03 23:13:27 +03:00
Kagami Hiiragi
5e85ae4ab7 Functional tests stub 2015-02-02 18:30:05 +03:00
Kagami Hiiragi
edf254c6e5 Use karma-env-preprocessor 2015-02-02 17:34:00 +03:00
Kagami Hiiragi
2ee782090d More net stub 2015-02-01 23:34:47 +03:00
Kagami Hiiragi
22c7f7c298 net stub 2015-02-01 21:52:31 +03:00
Kagami Hiiragi
d2a6528fb3 Empty payload by default with message.encode 2015-02-01 18:15:34 +03:00
Kagami Hiiragi
25243531e9 Fix version nonce handling 2015-02-01 17:09:46 +03:00
Kagami Hiiragi
156a3f7e56 Fix polifilled promise name 2015-02-01 16:10:03 +03:00
Kagami Hiiragi
9f368d32fb Improve documentation 2015-01-31 14:51:35 +03:00
Kagami Hiiragi
2615c25425 Do a POW for objects 2015-01-31 00:16:56 +03:00
Kagami Hiiragi
56679a0f8f Check objects POW 2015-01-30 20:13:09 +03:00
Kagami Hiiragi
25d5b70bae Fix target calculation
Relates: Bitmessage/PyBitmessage#758
2015-01-30 18:15:20 +03:00
Kagami Hiiragi
e38c14239e Check object message payload length
See also: Bitmessage/PyBitmessage#767
2015-01-30 17:19:38 +03:00
Kagami Hiiragi
4ef94e91f7 Add tests for msg/broadcast with address v2 2015-01-30 15:53:03 +03:00
Kagami Hiiragi
a42ec4b8f7 Address#clone 2015-01-29 21:47:01 +03:00
Kagami Hiiragi
ea9e8e60ef objects.broadcast 2015-01-29 21:19:37 +03:00
Kagami Hiiragi
34868ff014 objects module improvements/refactoring 2015-01-29 16:23:18 +03:00
Kagami Hiiragi
2416094686 Fix pubkey.decode API 2015-01-29 01:21:48 +03:00
Kagami Hiiragi
8e892581f5 Improve comments; fixes 2015-01-29 01:13:41 +03:00
Kagami Hiiragi
2e4c91f49b objects.msg 2015-01-28 23:37:20 +03:00
Kagami Hiiragi
4610701a3e Fix Address#ripe/Address#getShortRipe API 2015-01-28 17:24:31 +03:00
Kagami Hiiragi
ceceaee721 objects.getType 2015-01-28 16:31:18 +03:00
Kagami Hiiragi
70f7054bbf messages.getCommand 2015-01-27 16:35:49 +03:00
Kagami Hiiragi
a25bf41036 encodePayloadAsync/decodePayloadAsync for objects 2015-01-27 16:08:18 +03:00
Kagami Hiiragi
514265b7cd Add encodePayload/decodePayload to messages module 2015-01-26 20:03:43 +03:00
Kagami Hiiragi
874acfac45 Fix message.encode API 2015-01-26 19:34:29 +03:00
Kagami Hiiragi
aa691b4d1f Improve user agent API 2015-01-24 15:13:21 +03:00
Kagami Hiiragi
643edbbdc6 s/ripelen/ripeLength/ option to be consistent 2015-01-23 18:29:39 +03:00
Kagami Hiiragi
d50dcac4a2 Huge commit with partial objects.getpubkey impl 2015-01-22 03:14:21 +03:00
Kagami Hiiragi
33432c6735 Address.isAddress 2015-01-22 02:39:51 +03:00
Kagami Hiiragi
26da0b1d2f Use MSB 0 in bitfields 2015-01-21 21:05:00 +03:00
Kagami Hiiragi
dc868634ac Improve Address API 2015-01-19 15:08:56 +03:00
Kagami Hiiragi
232e06caf2 OOPify bitfields 2015-01-19 02:06:28 +03:00
Kagami Hiiragi
dd7d4315c2 Some bitfields refactoring 2015-01-19 01:09:17 +03:00
Kagami Hiiragi
5d812eba47 Use MSB 0 for pubkey behavior bitfield 2015-01-19 00:50:57 +03:00
Kagami Hiiragi
0cd386d65c Provide ECMA5 setters for Address 2015-01-18 19:38:23 +03:00
Kagami Hiiragi
76cf227513 Add getpubkey v3 test 2015-01-18 18:27:09 +03:00
Kagami Hiiragi
bc3fef1aea Address.fromPassphrase 2015-01-18 15:34:02 +03:00
Kagami Hiiragi
09f7be7062 Implement getpubkey 2015-01-18 14:37:09 +03:00
Kagami Hiiragi
9208e95e20 Remove useless messageEncodings struct 2015-01-18 13:20:32 +03:00
Kagami Hiiragi
3e9f3a62a6 API fixes 2015-01-16 21:36:57 +03:00
Kagami Hiiragi
8fa539c61b Add SHA-1 (used for signing) 2015-01-16 18:35:40 +03:00
Kagami Hiiragi
1d8f694c84 Implement messages.error 2015-01-16 03:08:56 +03:00
Kagami Hiiragi
1f5ae113b0 Implement messages.object 2015-01-16 02:14:30 +03:00
Kagami Hiiragi
52dce062c4 Fixes 2015-01-16 01:43:15 +03:00
Kagami Hiiragi
51974d4666 Link getdata to inv 2015-01-16 00:07:49 +03:00
Kagami Hiiragi
73d2ad393a Implement inv_vect, inv 2015-01-16 00:00:27 +03:00
Kagami Hiiragi
ec616a0151 Check for number of addr entries 2015-01-15 23:19:52 +03:00
Kagami Hiiragi
75d1c1f2f4 Implement messages.addr 2015-01-15 21:11:33 +03:00
Kagami Hiiragi
808fc5eaf1 Implement messages.version 2015-01-15 20:27:52 +03:00
Kagami Hiiragi
3d5968bcc1 Improve usability of bitfield.encode 2015-01-15 17:46:58 +03:00
Kagami Hiiragi
df5e024004 Improve usability of UserAgent.encode 2015-01-15 17:28:52 +03:00
Kagami Hiiragi
5bb1257adf Newer eccrypto 2015-01-14 02:36:07 +03:00
Kagami Hiiragi
667775f015 More consistent API 2015-01-12 21:27:14 +03:00
Kagami Hiiragi
3804adea7f Fix platform.browser.pow 2015-01-11 20:31:26 +03:00
Kagami Hiiragi
e40a40abd0 Fix UserAgent.encode 2015-01-11 20:28:12 +03:00
Kagami Hiiragi
001f5b16df User agent 2015-01-11 20:24:39 +03:00
Kagami Hiiragi
887a757f87 Add fail tests 2015-01-11 18:27:14 +03:00
Kagami Hiiragi
4b2bb0ba51 Encrypted encode/decode 2015-01-11 16:59:43 +03:00
Kagami Hiiragi
b7f796e78b Fix test again 2015-01-11 15:00:12 +03:00
Kagami Hiiragi
e3765b81fc Better input validation 2015-01-11 05:59:32 +03:00
Kagami Hiiragi
1e553c1ab6 Fix API 2015-01-10 16:23:10 +03:00
Kagami Hiiragi
e562fbf645 Fix naming 2015-01-10 16:03:14 +03:00
Kagami Hiiragi
53f38be9ed Use webworkify 2015-01-10 16:00:08 +03:00
Kagami Hiiragi
225fba30e1 Do a POW (Node) 2015-01-10 00:36:42 +03:00
Kagami Hiiragi
8c799f4e91 Do a POW (Browser) 2015-01-09 16:12:23 +03:00
Kagami Hiiragi
9407e27529 Check a POW 2015-01-08 16:47:29 +03:00
Kagami Hiiragi
8ef3168af1 Make code more consistent 2015-01-08 05:00:19 +03:00
Kagami Hiiragi
a7eb439706 Calculate POW target 2015-01-08 00:28:13 +03:00
Kagami Hiiragi
8c2f180037 Fix docstrings 2015-01-07 05:24:30 +03:00
Kagami Hiiragi
85798fa619 Make message.encode more consistent 2015-01-07 05:18:41 +03:00
Kagami Hiiragi
2dc2f48a47 Fixes 2015-01-06 14:08:39 +03:00
Kagami Hiiragi
96ba6b0fad Use hash.js for SHA-512 2015-01-06 04:24:48 +03:00
Kagami Hiiragi
3187e9d766 Imply NODE_NETWORK in net_addr.encode by default 2015-01-06 02:34:15 +03:00
Kagami Hiiragi
0a6aa667db Implement net_addr 2015-01-06 02:32:10 +03:00
Kagami Hiiragi
591134bd9a Fix hashes 2015-01-05 16:41:34 +03:00
Kagami Hiiragi
2dd9efd1a6 Use hash.js impl of SHA-256 and RIPEMD-160
Because it's already required by elliptic
2015-01-05 16:34:52 +03:00
Kagami Hiiragi
b8b6294f95 Use own assert
Because it weights much less that than the browserify's one.
2015-01-05 16:31:28 +03:00
Kagami Hiiragi
e6d4e4c029 Bitfields encoding/decoding 2015-01-05 02:40:52 +03:00
Kagami Hiiragi
f356a070cc Constants 2015-01-04 23:59:14 +03:00
Kagami Hiiragi
632aa2245c Implement structs.message 2015-01-04 23:22:14 +03:00
Kagami Hiiragi
daf18762c8 Tune docs 2015-01-03 18:58:41 +03:00
Kagami Hiiragi
bf8b663c5d Do not use promises in crypto
Because sha.js is faster than WebCryptoAPI for POW.
2015-01-03 17:52:27 +03:00
Kagami Hiiragi
f6165d891b Reorganize platform-specific routines 2015-01-03 13:29:22 +03:00
Kagami Hiiragi
7048464691 Rearrange modules 2015-01-03 13:14:39 +03:00
Kagami Hiiragi
9757fd20f6 Typo fixes 2015-01-03 03:11:02 +03:00
Kagami Hiiragi
ca13fdf566 Modules stub 2015-01-03 00:45:56 +03:00
Kagami Hiiragi
4d5a699c6e Expand feature matrix, improve consistency 2015-01-03 00:24:36 +03:00
Kagami Hiiragi
1d03820f3f Drop support for int64
Since we are unable to use such values properly it the code anyway.
2015-01-02 23:28:45 +03:00
Kagami Hiiragi
a3c4ebac7d Implement var_int_list 2015-01-02 17:27:03 +03:00
Kagami Hiiragi
1b950bb872 Implement var_str 2015-01-01 23:00:33 +03:00
Kagami Hiiragi
18e38dee2b Move var_int to core structures module 2015-01-01 22:26:06 +03:00