core-lightning/lightningd
Rusty Russell bc4809aa85 gossipd: make sure master only ever sees one active connection.
When we get a reconnection, kill the current remote peer, and wait for the
master to tell us it's dead.  Then we hand it the new peer.

Previously, we would end up with gossipd holding multiple peers, and
the logging was really hard to interpret; I'm not completely convinced
that we did the right thing when one terminated, either.

Note that this now means we can have peers with neither ->local nor ->remote
populated, so we check that more carefully.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-04-26 05:47:57 +00:00
..
test chaintopology: Simplify rescan offset computation 2018-04-25 14:33:38 +02:00
.gitignore handshaked: remove. 2017-10-20 18:31:32 +02:00
bitcoind.c Support debugging with lldb 2018-04-15 17:42:24 +02:00
bitcoind.h Add --bitcoin-rpcport option to pass to bitcoin-rpc 2018-03-25 23:17:36 +02:00
build_utxos.c Remove include in file foo.c that is already included in foo.h 2018-03-25 23:54:21 +00:00
build_utxos.h build_utxos: fix weight calculation, and make more accurate. 2017-12-20 12:56:15 +01:00
chaintopology.c chaintopology: Simplify rescan offset computation 2018-04-25 14:33:38 +02:00
chaintopology.h topo: Remove in-memory txs from the block struct 2018-04-13 00:04:37 +02:00
channel_control.c subd: record which ones connect to a peer. 2018-04-26 05:47:57 +00:00
channel_control.h gossipd: drain fd instead of passing around gossip index. 2018-04-26 05:47:57 +00:00
channel_state.h channel_states: fold all the ONCHAIND states into one. 2018-02-23 18:02:00 +01:00
channel.c gossipd: have master explicitly tell us when peer is disconnected. 2018-04-26 05:47:57 +00:00
channel.h gossipd: have master explicitly tell us when peer is disconnected. 2018-04-26 05:47:57 +00:00
closing_control.c subd: record which ones connect to a peer. 2018-04-26 05:47:57 +00:00
closing_control.h gossipd: drain fd instead of passing around gossip index. 2018-04-26 05:47:57 +00:00
connect_control.c gossipd: keep reaching struct only when we're actively connecting, and don't retry 2018-04-26 05:47:57 +00:00
connect_control.h gossipd: keep reaching struct only when we're actively connecting, and don't retry 2018-04-26 05:47:57 +00:00
dev_ping.c lightningd/json: Move json helpers specific for lightningd to new module. 2018-03-19 00:27:55 +00:00
gossip_control.c gossipd: have master explicitly tell us when peer is disconnected. 2018-04-26 05:47:57 +00:00
gossip_control.h gossip: Add function to notify gossipd about an outpoint spend 2018-03-30 16:35:00 +02:00
gossip_msg.c change spaces to tabs, align function parameters 2018-04-21 15:55:00 +02:00
gossip_msg.h jsonrpc: Return the channel capacity for listchannels 2018-03-12 22:34:51 +00:00
hsm_control.c utils: remove tal_tmpctx altogether, use global. 2018-03-16 00:16:10 +00:00
hsm_control.h lightningd/hsm_control: use a simple fd for HSM. 2017-06-27 10:25:53 +09:30
htlc_end.c Remove unused parameter ptr in corrupt(const void *ptr, ...) 2018-02-22 10:46:30 +01:00
htlc_end.h htlc: keep channel pointer, not peer pointer. 2018-02-14 11:31:58 +01:00
invoice.c invoice: Check duplicate preimage when explicitly sprcified. 2018-04-26 05:47:09 +00:00
invoice.h invoices: Extensive reorganization of invoice system. 2018-01-16 13:03:54 +01:00
json.c pay: Also record how much we actually ended up sending. 2018-03-26 05:01:49 +00:00
json.h Use expected LIGHTNING_DIR_FILE_H define 2018-03-25 23:54:21 +00:00
jsonrpc_errors.h Use expected LIGHTNING_DIR_FILE_H define 2018-03-25 23:54:21 +00:00
jsonrpc.c Reduce variable scopes 2018-03-26 01:31:21 +00:00
jsonrpc.h lightningd/json: Move json helpers specific for lightningd to new module. 2018-03-19 00:27:55 +00:00
lightningd.c chaintopology: Simplify rescan offset computation 2018-04-25 14:33:38 +02:00
lightningd.h opts: Add the --rescan option 2018-04-25 14:33:38 +02:00
log_status.c tools/generate-wire.py: remove length argument from fromwire_ routines. 2018-02-20 22:36:21 +01:00
log_status.h status: add multiple levels of logging. 2018-02-07 00:46:49 +00:00
log.c common/daemon: common routines for all daemons. 2018-04-03 14:03:28 +02:00
log.h common/daemon: common routines for all daemons. 2018-04-03 14:03:28 +02:00
Makefile common: Moving some bech32 related utilities to bech32_util 2018-04-25 12:34:55 +02:00
memdump.c memdump: fix overzealous assertions from b857b2e843 2018-03-16 00:16:10 +00:00
netaddress.c lightningd: remove ltmp context now we have tmpctx. 2018-03-16 00:16:10 +00:00
netaddress.h wireaddr: add ip[:port] parsing 2017-12-21 09:56:20 +00:00
onchain_control.c subd: record which ones connect to a peer. 2018-04-26 05:47:57 +00:00
onchain_control.h onchaind: Replay stored channeltxs to restore onchaind state 2018-04-25 14:33:38 +02:00
opening_control.c gossipd: have master explicitly tell us when peer is disconnected. 2018-04-26 05:47:57 +00:00
opening_control.h gossipd: drain fd instead of passing around gossip index. 2018-04-26 05:47:57 +00:00
opt_time.c Remove unused functions not covered by unit tests 2018-03-26 23:35:56 +00:00
opt_time.h Remove unused functions not covered by unit tests 2018-03-26 23:35:56 +00:00
options.c opts: Add the --rescan option 2018-04-25 14:33:38 +02:00
options.h lightningd: --deprecated-api option to turn off deprecated APIs. 2018-01-19 22:23:45 +00:00
pay.c wallet, payalgo: Save detail of payment failures for later reporting. (#1345) 2018-04-16 15:29:40 +02:00
pay.h pay: Let sendpay modify the recorded msatoshi of payments. 2018-03-30 15:40:32 +02:00
payalgo.c payalgo: Describe maxdelay argument of pay. 2018-04-17 17:29:36 +02:00
payalgo.h payalgo: New file for pay command. 2018-02-16 13:08:29 +01:00
peer_control.c gossipd: make sure master only ever sees one active connection. 2018-04-26 05:47:57 +00:00
peer_control.h gossipd: drain fd instead of passing around gossip index. 2018-04-26 05:47:57 +00:00
peer_htlcs.c wallet: Add msatoshi_to_us_min and msatoshi_to_us_max statistics for channels. 2018-04-05 19:01:53 +02:00
peer_htlcs.h lightningd/peer_control: reorder, move more functions out. 2018-02-20 22:36:21 +01:00
subd.c subd: record which ones connect to a peer. 2018-04-26 05:47:57 +00:00
subd.h subd: record which ones connect to a peer. 2018-04-26 05:47:57 +00:00
watch.c topo: Remove in-memory txs from the block struct 2018-04-13 00:04:37 +02:00
watch.h topo: Remove in-memory txs from the block struct 2018-04-13 00:04:37 +02:00