Christian Decker
e54c0adced
gossip: Do not consider half-open connections for routes
...
Connections are in a half-open state after receiving the
`channel_announcement` and before the `channel_update` makes them
usable, so we need to ignore channels that are not yet fully open.
2017-01-03 15:08:05 +10:30
Christian Decker
611f4833c5
gossip: Implemented the staggered broadcast
2017-01-03 15:08:05 +10:30
Christian Decker
fca9bf1a16
gossip: Partially sign channel_announcements
...
We can already add our own signatures, will have to defer remote
signatures until we implement the channel setup messages from the spec.
2017-01-03 15:08:05 +10:30
Christian Decker
d93ce12afa
gossip: Broadcasting and handling gossip messages
2017-01-03 15:08:05 +10:30
Christian Decker
6363dd5ff6
gossip: Update to new spec version
...
The message type numbering changed, so reflect that in the generated
type listing.
2017-01-03 15:08:05 +10:30
Christian Decker
e8d68757f6
gossip: Tracking tx index in topology
...
The txlocator was reporting the index in the purged array of
transactions instead of the index in the original block.
2017-01-03 15:08:05 +10:30
Christian Decker
57d5ae96a4
routing: Added channel_id and directions to connections
...
The gossip protocol spec refers to channels by their `channel_id` and
a direction. Furthermore, inbetween the `channel_announcement` and the
`channel_update` for either direction, the channel direction is in an
undefined state and cannot be used, so added the `half_add_connection`
function and an `active` flag to differentiate usable connections from
unusable ones.
2017-01-03 15:08:05 +10:30
Christian Decker
9f846925b3
bitcoin: Add comparison between pubkeys
...
Some of the routing messages rely on a canonical ordering of pubkeys.
2017-01-03 15:08:05 +10:30
Christian Decker
db481d881a
proto: Added handling for nested packets
2017-01-03 15:08:05 +10:30
Christian Decker
1c4d4f8c91
proto: Added nested_pkt
...
This is mainly used to transport the new, standardized protocol, over
the old legacy transport. Allows us to replace the serialization and
transport gradually instead of all at once.
2017-01-03 15:08:05 +10:30
Christian Decker
811fab4850
trivial: Add addresses
field to generate-wire.py
...
It was failing the compile if we had a recent enough spec.
2017-01-03 14:48:54 +10:30
Rusty Russell
a44e4fb631
daemon/json, test/test_protocol: avoid gcc -O warnings.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-12-15 11:49:51 +10:30
Rusty Russell
e109977df7
peer: don't print uninitialized commit_num.
...
Reported-by: Lucas Betschart <lucasbetschart@gmail.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-12-15 11:44:48 +10:30
Rusty Russell
2a68a984c3
peer: fix unassigned error packet on receiving non-ASCII error.
...
Reported-by: Lucas Betschart <lucasbetschart@gmail.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-12-15 11:42:24 +10:30
Rusty Russell
1b170c85bb
Revert "Fix -Wsometimes-uninitialized and -Wuninitialized"
...
This reverts commit ff9cdda4fa
.
These are real bugs, so I prefer to fix them explicitly.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-12-15 11:41:31 +10:30
Lucas Betschart
900ab78d46
Fix -Wtautological-constant-out-of-range-compare
2016-12-14 08:47:21 +01:00
Lucas Betschart
ff9cdda4fa
Fix -Wsometimes-uninitialized and -Wuninitialized
2016-12-14 08:45:40 +01:00
Lucas Betschart
c163fe04ac
Fix -Wenum-conversion
2016-12-14 08:43:48 +01:00
Lucas Betschart
33d6cbe6bc
Fix -Wgnu-variable-sized-type-not-at-end
2016-12-14 08:41:30 +01:00
Christian Decker
37fcd15e95
Merge pull request #101 from cdecker/gitlab-ci
...
ci: Replacing Travis-CI with Gitlab-CI
2016-12-13 22:28:36 +01:00
Christian Decker
001708b115
travis-ci: Removing travis-ci config
...
We are replacing this with an internally run gitlab-ci instance, so no
need to keep this file.
2016-12-11 13:24:31 +01:00
Christian Decker
12b9d6db22
Add .gitlab-ci.yml
2016-12-11 13:24:27 +01:00
Rusty Russell
45ec071e58
lightningd: remove whitespace failing make check-source.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-12-05 14:03:06 +10:30
Rusty Russell
36c8fc7ef8
lightningd: remove secpctx
...
Use the global in the few remaining places.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-12-02 18:13:27 +10:30
Rusty Russell
a4fdaab5b3
Use global secp256k1_ctx instead of passing it around.
...
If I'd known how large this patch would be (though trivial), I'd
have done it in parts.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-12-02 18:12:58 +10:30
Rusty Russell
c938ebb5c0
utils: add a global secp, fix wire to use it.
...
This repairs make check.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-12-02 18:11:06 +10:30
Rusty Russell
1f447688bc
test: make generic driver for unit tests.
...
Not just in daemon. This fixes 'make check' when it tries to
run 'make wire-tests'
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-12-02 18:10:13 +10:30
Christian Decker
ca9fb0376a
wire: Removing global secpctx
...
Changed the generation of messages so that we pass in a reference to the
secp256k1_context if it is required by the underlying primitive
function. This gets rid of the global `secp256k1_ctx` variable and
adheres closer to how we've been handing in the context so far.
2016-12-01 13:50:02 +10:30
Christian Decker
e40509c6c3
wire: Linking against wire objs
2016-12-01 13:50:02 +10:30
Rusty Russell
36e018161f
wire: generate marshal/unmarshal from spec.
...
Including tests!
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-12-01 13:50:02 +10:30
Rusty Russell
f85f2c6c2d
0.5.2: Fixes and change IRC server.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-11-21 10:39:13 +10:30
Rusty Russell
6905cf5e7f
README.md: add "upgrade" instructions and add port config for public nodes.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-11-21 10:21:41 +10:30
Rusty Russell
0ba93cb948
lightningd: don't listen at all if no port number set.
...
When we support the Milan protocol, we'll use a default port. But
for now, don't listen at all unless a port is specified.
Fixes : #54
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-11-18 17:13:29 +10:30
Rusty Russell
fe14b3f4d9
Merge remote-tracking branch 'origin/pr/92'
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-11-18 17:05:42 +10:30
Rusty Russell
97a155bad5
Merge remote-tracking branch 'origin/pr/97'
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-11-18 14:28:22 +10:30
Christian Decker
42a33df42e
irc: Checking for param count before accessing
2016-11-16 22:55:29 +01:00
Christian Decker
188b3c3e19
sphinx: Fixed a buffer overflow in hmac generation
...
Our HMACs are truncated to 20 byte, but sodium still generates 32 byte
HMACs and we were handing in a buffer that was too small, so we
overflowing the buffer by 12 bytes. This manifested itself only in the
32 bit variant because of different alignment in the 64bit version.
Fixes #94 .
Signed-off-by: Christian Decker <decker.christian@gmail.com>
2016-11-16 14:41:19 +01:00
Christian Decker
b2a3e8010f
Merge pull request #96 from ElementsProject/minor-sphinx-cleanups
...
Minor sphinx cleanups
2016-11-16 14:35:19 +01:00
Christian Decker
bf81f7af15
Merge pull request #93 from ElementsProject/fix-87-open-too-small-for-fee
...
json_connect: don't try to double-fail if amount insufficient.
2016-11-16 13:04:26 +01:00
Christian Decker
1126499a10
Merge pull request #95 from ElementsProject/fix-91-32-bit
...
Fix #91 32 bit build
2016-11-16 13:03:56 +01:00
Rusty Russell
41299b679c
sphinx: process_onionpacket doesn't modify the packet.
...
Make it const.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-11-16 14:22:14 +10:30
Rusty Russell
423572190b
sphinx: use assignment instead of memcpy where possible.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-11-16 14:22:08 +10:30
Rusty Russell
6f9dedbe7f
sphinx: remove redundant initialization
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-11-16 14:04:50 +10:30
Rusty Russell
8599d63256
sphinx: add brackets around constant definition
...
Always do this, otherwise "MACRO * foo" can have unexpected results.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-11-16 14:02:56 +10:30
Rusty Russell
88837c20ca
Makefile: pass CC through to libsecp256k1 build.
...
For CC="gcc -m32" in particular.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-11-16 13:59:20 +10:30
Rusty Russell
5465b61784
json: fix 32-bit build.
...
Assume we have strtoull everywhere (it's C99 and was common before).
Fixes : #91
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-11-16 13:34:56 +10:30
Christian Decker
686ff6edef
irc: Switched to LFNet.org IRC server
...
This is a temporary fix until we finish #88 .
2016-11-14 23:19:32 +01:00
Rusty Russell
94adbd241d
json_connect: don't try to double-fail if amount insufficient.
...
Closes : #87
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-11-14 11:46:09 +10:30
Christian Decker
34b4134cb0
bugfix: Removed spurious printf in peer.c
...
I must've left that on in. Fixes #89
2016-11-14 00:29:01 +01:00
Christian Decker
e5b44ff232
Merge pull request #85 from ElementsProject/whitespace
...
Whitespace
2016-11-11 16:40:23 +01:00