Rusty Russell
cc9ffe6c40
bitcoind: allow callbacks which are tied to an object.
...
We don't simply parent them on the object, we use a dummy object which tells
us not to call the callback if freed.
This would be better fixed by rewriting ccan/io to handle tal_free() of
a conn; then we could simply parent the entire thing and forget about it.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-11-07 22:57:02 +10:30
Rusty Russell
ef4f7c396b
Merge remote-tracking branch 'origin/pr/72'
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-11-07 22:56:02 +10:30
Glenn Willen
2b431b171b
config: Allow overriding the transaction fee rate
2016-11-06 10:35:48 -08:00
Rusty Russell
04cff14ac8
peer: don't fret about fees too low on testnet.
...
Testnet fees are all over the place: don't close a connection due to
that.
Closes : #59
Reported-by: Thomas Daede <daede003@umn.edu>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-11-06 14:47:16 +10:30
Rusty Russell
b49b90d5c3
peer: don't ever fail twice.
...
There are paths where this can happen (eg. db fail), but don't call
peer_breakdown() twice.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-11-06 14:46:16 +10:30
Rusty Russell
4855af8ba2
peer: don't worry about feechange if we can't do anything about it.
...
Triggering a commit will just do nothing anyway (same check at the
top of try_commit).
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-11-06 14:45:16 +10:30
Rusty Russell
ab11322b39
peer: don't close due to too low fees if we're already closed.
...
This fixes half of #59 (the part which crashes). It doesn't fix the
fact that we should never be doing this for testnet.
Reported-by: Thomas Daede <daede003@umn.edu>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-11-06 14:44:16 +10:30
Rusty Russell
8949290794
Merge remote-tracking branch 'origin/pr/66'
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-11-05 13:48:38 +10:30
Rusty Russell
5adaf46b19
Merge remote-tracking branch 'origin/pr/65'
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-11-05 13:48:16 +10:30
Christian Decker
6568083edd
Merge pull request #68 from gwillen/feature-fix-irc-parse-crash
...
irc: Fix crash bug in node announcement parsing
2016-11-04 23:02:59 +01:00
Glenn Willen
2ce36a070b
irc: Fix crash bug in node announcement parsing
2016-11-04 15:01:01 -07:00
Rusty Russell
25bb0f5248
peer: use correct enum in case statement.
...
These are the same, but we're using the ones from state.h instead of the
packet types directly.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-11-04 12:12:38 +10:30
Rusty Russell
feecabacce
sphinx: fix marshalling/unmarshalling
...
Unfortunately, this fix will break compatibility.
Found by PVS Studio.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-11-04 12:09:31 +10:30
Rusty Russell
d14a67addf
db: fix leak for initial commit state.
...
It's only a single cstate, but it need not outlive the commit.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-11-04 11:17:05 +10:30
Rusty Russell
b40c4ae766
json_getroute: don't leak.
...
Allocate the route off the current command, not dstate. And in the
case where the route is somehow not via a peer, don't leak memory.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-11-04 11:17:04 +10:30
Rusty Russell
a902193874
sphinx: don't leak, especially on failed onion.
...
Generally, the pattern is: everything returned is allocated off the return
value, which is the only thing allocated off the context. And it's always
freed.
Also, tal_free() returns NULL, so it's useful for one-line error
cleanups.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-11-04 11:17:04 +10:30
Rusty Russell
de2ffd8985
accept_pkt_open_commit_sig: don't allocate sig.
...
Caller can allocate and free; this gets the context correct (that
commit).
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-11-04 11:17:04 +10:30
Rusty Russell
ac7d80bbeb
peer: don't assign io_data and id twice when connecting out.
...
peer_first_connected does this.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-11-04 11:17:04 +10:30
Rusty Russell
8a1559a343
peer: free init packet.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-11-04 11:17:04 +10:30
Rusty Russell
6bda93f99a
peer: don't leave initial cstate around.
...
Attach it to the commit.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-11-04 11:17:04 +10:30
Rusty Russell
64809fb730
peer: free temporary transaction immediately
...
Don't leave it around until connect is finished.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-11-04 11:17:03 +10:30
Rusty Russell
8015ceadfd
log: add netaddr
...
Also avoids allocating netaddr_name which otherwise lasts as long
as connection does.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-11-04 11:17:03 +10:30
Rusty Russell
4c7017f607
dns: simplify code by reaping dns child as soon as we have answers.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-11-04 11:17:03 +10:30
Rusty Russell
78a0177f1c
script: free redeemscript in bitcoin_witness_p2sh_p2wpkh
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-11-04 11:17:03 +10:30
Rusty Russell
e0368cc82d
cryptopkt: don't leak negotiation state.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-11-04 11:17:03 +10:30
Rusty Russell
319eef266d
commit_tx: free temporary wscript, rather than leaving attached to tx.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-11-04 11:17:03 +10:30
Rusty Russell
b768de324c
commit_tx: plug leak.
...
Use a tmpctx, and clean up afterwards. Steal the script onto the tx,
however.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-11-04 11:16:14 +10:30
Rusty Russell
1d57fa60b8
invoice: print duplicate r value even if we choose it.
...
This shouldn't happen, but if our RNG is busted and get a duplicate,
r would be NULL.
(scan-build found this)
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-11-01 21:34:58 +10:30
Rusty Russell
642a2f2d4e
cryptopkt: free output packets after encryption.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-11-01 21:34:58 +10:30
Rusty Russell
95a01670ac
cryptopkt: free incoming packet after decryption.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-11-01 21:34:57 +10:30
Rusty Russell
5f32d291bf
jsonrpc: free old connections
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-11-01 21:34:57 +10:30
Rusty Russell
a4ee683b3e
tal_tmpctx: clear marker for temporary contexts.
...
This makes them stand out in memory dumps. Also plug two existing
memory leaks.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-11-01 21:34:27 +10:30
Rusty Russell
024e6a5855
feechange: fix db updates.
...
Found by PVS Studio.
Reported-by: Jon Griffiths <jgriffiths@blockstream.io>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-11-01 21:33:27 +10:30
Rusty Russell
c1d6df58aa
feechange: fix db updates.
...
Found by PVS Studio.
Reported-by: Jon Griffiths <jgriffiths@blockstream.io>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-11-01 21:33:27 +10:30
Rusty Russell
5349d2aaa7
routing: fix hash of pubkeys.
...
Found by PVS Studio.
Reported-by: Jon Griffiths <jgriffiths@blockstream.io>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-11-01 21:33:06 +10:30
Rusty Russell
fa402aac31
routing: fix hash of pubkeys.
...
Found by PVS Studio.
Reported-by: Jon Griffiths <jgriffiths@blockstream.io>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-11-01 21:33:06 +10:30
Rusty Russell
4bb7c5ba7b
Merge pull request #62 from cdecker/irc-fix
...
irc: Announce the correct expiry and handle aliases
2016-10-31 11:31:37 +10:30
Christian Decker
f9a4af62e3
irc: Added alias handling for node announcements
...
Aliases seem to be popular among users wanting to show off their node,
so let's add them :-)
2016-10-28 16:47:01 +02:00
Christian Decker
94fd82dc81
irc: Announce the real expiry time
...
So far we've been announcing the locktime instead of the min_expiry the
node requires, this results in routes having wrong expiries.
2016-10-28 16:36:20 +02:00
Rusty Russell
48da22ab4b
Merge remote-tracking branch 'origin/pr/56'
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-10-25 11:23:34 +10:30
Rusty Russell
dfad49bbd7
Merge remote-tracking branch 'origin/pr/55'
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-10-25 11:19:15 +10:30
Rusty Russell
60e7e54f95
Merge remote-tracking branch 'origin/pr/53'
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-10-25 11:16:52 +10:30
Christian Decker
3dd2e0c2b3
jsonrpc: Correctly handle numeric invoice labels
...
`listinvoice` was not handling numeric labels correctly if they are not
passed in as JSON strings (which was the behavior of
`lightning-cli`). So now we accept both string labels as well as numeric
labels.
2016-10-23 18:52:08 +02:00
Christian Decker
de187ecaf7
jsonrpc: Accomodate some pedantic JSON-RPC impls
...
The JSON-RPC was non-standard compliant in that it omitted the required
`jsonrpc` entry and it was returning both `error` as well as
`result`. This fixes both of these issues.
2016-10-23 16:19:08 +02:00
Christian Decker
a97d301155
routing: Refuse self-route
...
Fixes #50 . Was causing a segfault because it was creating an empty route
and was trying to extract the first hop as next hop. Routes through self
can still be created manually, but `sendpay` would still refuse to act
on them due to the missing self-link.
2016-10-23 11:57:50 +02:00
Christian Decker
50807db7aa
jsonrpc: Fixed listinvoice
returning broken JSON
...
Closes #48 .
2016-10-23 10:57:29 +02:00
Rusty Russell
144c40afd0
irc: get much less chatty.
...
We're going to wean off IRC, but as a quick fix, only announce 0-60 seconds
after we see a join, or every 6 hours.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-10-21 12:05:33 +10:30
Rusty Russell
6da448b797
0.5: Bitcoin Savings & Trust Daily Interest
...
Glenn Willen filed plenty of bug reports; he got to name this release.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-10-19 12:12:26 +10:30
Rusty Russell
0713de1db1
README.md: User instructions.
...
Just in case we get any.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-10-19 12:09:19 +10:30
Rusty Russell
1b6012879b
contrib/lightning-pay: helper to make a payment.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-10-19 12:02:27 +10:30