Christian Decker
570003235e
gossip: Fixing minor issues
...
Thanks @rustyrussell for the review ^^
2017-01-03 15:08:05 +10:30
Christian Decker
95bc8f6987
gossip: Removing origin from staggered broadcast
...
Keeping a pointer to the peer that initially sent us a message
could (actually will!) result in dangling pointers. Removing this
results in some additional messages, which will be discarded by the
recipient, so that should not be a problem.
2017-01-03 15:08:05 +10:30
Christian Decker
0ed23c46a9
gossip: Implemented routing table sync with newly connected peers
2017-01-03 15:08:05 +10:30
Christian Decker
5ce1f7c2f3
gossip: Set announce timeout to 5 hours
2017-01-03 15:08:05 +10:30
Christian Decker
71a18fdd2e
gossip: Trigger announce on channel establishment
...
Since we ultimately want to have a very long re-announcement timeout
we better trigger an announcement upon channel state change to normal.
2017-01-03 15:08:05 +10:30
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
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
db481d881a
proto: Added handling for nested packets
2017-01-03 15:08:05 +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
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
e40509c6c3
wire: Linking against wire objs
2016-12-01 13:50:02 +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
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
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
Christian Decker
9848b4ac3e
travis-ci: Added travis-ci config
...
Added .travis.yml to get travis-ci to build and run tests for us.
In addition this fixes a flaky test due to the fact that when lightning2
connects to lightning3 and we tell lightning3 to restart, then
lightning2 will back-off its reconnection attempts, potentially causing
a timeout to trigger during tests. This was triggered by travis-ci
relatively consistently since the restart would take quite some
time. Now simply restarting them in reverse order and a small timeout
seems to fix this consistently.
2016-11-11 14:25:41 +01:00
Rusty Russell
f5c00deec7
Remove trailing whitespace from source.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-11-11 09:32:04 +10:30
Rusty Russell
716da21f85
chaintopology: reduce how far back we start on testnet.
...
When initially reading the blockchain, we start 100 back from the
current block, or at the first block with a funding transaction,
whichever is earlier.
This slows testing slightly, so use whatever the "forever" value is
(10 on testnet, still 100 on mainnet).
make check -j12 times:
Before: 7m52.005s
After: 6m31.896s
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-11-10 23:53:48 +10:30
Rusty Russell
ce96812ef0
test.sh: split into multiple scripts.
...
This significantly reduces re-testing of the same paths, and simplifies
the addition of new tests.
make check -j12 times:
Before: 9m24.973s
After: 7m52.005s
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-11-10 23:44:49 +10:30
Rusty Russell
fae7f68731
helpers.sh: make check_tx_spend able to check for a specific transaction.
...
It currently takes an unused "who to blame" argument, which doesn't
always make sense.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-11-10 23:34:35 +10:30
Rusty Russell
c6a187a5d7
helpers.sh: set up funding in start_lightningd()
...
Every test wants this anyway.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-11-10 23:33:35 +10:30
Rusty Russell
9e777ae922
test.sh: move core routines to scripts/helpers.sh
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-11-10 23:32:35 +10:30
Rusty Russell
973ef3c932
test.sh: move valgrind PREFIX setting to vars.sh
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-11-10 23:31:35 +10:30