core-lightning/common
Christian Decker 4a5cff8490 gossip: Try to detect broken ISP resolvers and discard broken replies
This is a best effort attempt to skip connection attempts if we detect a broken
ISP resolver. A broken ISP resolver is a resolver that will replace NXDOMAIN
replies with a dummy response. This is best effort in that it'll only detect a
single fixed dummy reply, it'll check only on startup, and will not detect if we
switched networks. It should be good enough for most cases, and in the worst
case it will result in a connection attempt that does not complete.

Signed-off-by: Christian Decker <decker.christian@gmail.com>
Reported-by: Glenn Willen <@gwillen>
2018-06-21 11:21:16 +02:00
..
test common/bolt11.c: fix up BOLT 11 references. 2018-06-18 12:31:09 +02:00
base32.c common/base32: make this a simple tal-wrapper around ccan/base32. 2018-05-10 02:28:44 +00:00
base32.h common/base32: make this a simple tal-wrapper around ccan/base32. 2018-05-10 02:28:44 +00:00
bech32_util.c common: Moving some bech32 related utilities to bech32_util 2018-04-25 12:34:55 +02:00
bech32_util.h common: Moving some bech32 related utilities to bech32_util 2018-04-25 12:34:55 +02:00
bech32.c Remove include in file foo.c that is already included in foo.h 2018-03-25 23:54:21 +00:00
bech32.h Use expected LIGHTNING_DIR_FILE_H define 2018-03-25 23:54:21 +00:00
bip32.c common: move some files out of lightningd/ 2017-08-29 17:54:14 +02:00
bip32.h headers: fix up header idempotent lines. 2017-08-29 17:54:14 +02:00
bolt11.c common/bolt11.c: fix up BOLT 11 references. 2018-06-18 12:31:09 +02:00
bolt11.h bolt11: allow multiple fallback addresses. 2018-04-06 14:26:53 +02:00
channel_config.c common: move some files out of lightningd/ 2017-08-29 17:54:14 +02:00
channel_config.h Revert "Send/receive cltv_expiry_delta in open/accept channel." 2017-10-11 11:54:50 +02:00
close_tx.c bitcoin: create new wrapper type bitcoin_txid, log backward endianness. 2017-12-21 11:05:38 +00:00
close_tx.h Use expected LIGHTNING_DIR_FILE_H define 2018-03-25 23:54:21 +00:00
configdir.c lightningd: fix double-specified args. 2018-05-05 17:55:10 +02:00
configdir.h options: don't leak memory when people override options. 2017-12-13 22:46:10 +01:00
crypto_state.c crypto_state: move to its own file. 2017-10-20 18:31:32 +02:00
crypto_state.h crypto_state: move to its own file. 2017-10-20 18:31:32 +02:00
crypto_sync.c status: make status_io a more generic mechanism. 2018-05-10 02:28:44 +00:00
crypto_sync.h headers: fix up header idempotent lines. 2017-08-29 17:54:14 +02:00
cryptomsg.c common/cryptomsg.c: fix up bolt 8 references. 2018-06-18 12:31:09 +02:00
cryptomsg.h gossipd: fix race where we can handoff peer with bad cryptostate. 2018-02-13 12:10:35 +01:00
daemon_conn.c daemon_conn: simplify msg_queue_cleared_cb. 2018-03-14 02:19:37 +00:00
daemon_conn.h daemon_conn: simplify msg_queue_cleared_cb. 2018-03-14 02:19:37 +00:00
daemon.c daemon: print version in crash backtrace. 2018-06-12 23:18:53 +02:00
daemon.h common/daemon: common routines for all daemons. 2018-04-03 14:03:28 +02:00
derive_basepoints.c common: fix up BOLT 3 references. 2018-06-18 12:31:09 +02:00
derive_basepoints.h common: fix up BOLT 3 references. 2018-06-18 12:31:09 +02:00
dev_disconnect.c Spelling corrections (#824) 2018-01-29 04:46:54 +00:00
dev_disconnect.h Add DEVELOPER flag, set by default. 2017-10-26 12:53:09 +02:00
features.c features: define LOCAL_GOSSIP_QUERIES feature. 2018-06-06 03:25:56 +00:00
features.h features: define LOCAL_GOSSIP_QUERIES feature. 2018-06-06 03:25:56 +00:00
funding_tx.c common: remove unused assert() headers. 2017-10-26 12:53:09 +02:00
funding_tx.h bitcoin: create new wrapper type bitcoin_txid, log backward endianness. 2017-12-21 11:05:38 +00:00
hash_u5.c common/hash_u5: routines to hash 5 bit values. 2017-11-01 01:09:23 +00:00
hash_u5.h common/hash_u5: routines to hash 5 bit values. 2017-11-01 01:09:23 +00:00
htlc_state.c common: absorb remaining files from daemon/ 2017-08-29 17:54:14 +02:00
htlc_state.h Fix a-vs-an typos 2018-02-08 22:49:34 +01:00
htlc_tx.c common: fix up BOLT 3 references. 2018-06-18 12:31:09 +02:00
htlc_tx.h common: fix up BOLT 3 references. 2018-06-18 12:31:09 +02:00
htlc_wire.c tools/generate_wire.py: make varlen structs self-allocate. 2018-02-08 19:07:12 +01:00
htlc_wire.h tools/generate_wire.py: make varlen structs self-allocate. 2018-02-08 19:07:12 +01:00
htlc.h Remove unused functions not covered by unit tests 2018-03-28 11:22:05 +02:00
initial_channel.c openingd: ensure that initial channel can cover fees and reserve. 2018-04-05 19:07:23 +02:00
initial_channel.h common: fix up BOLT 2 references. 2018-06-18 12:31:09 +02:00
initial_commit_tx.c common: fix up BOLT 2 references. 2018-06-18 12:31:09 +02:00
initial_commit_tx.h common: fix up BOLT 3 references. 2018-06-18 12:31:09 +02:00
json_escaped.c Remove unused functions not covered by unit tests 2018-03-28 11:22:05 +02:00
json_escaped.h Remove unused functions not covered by unit tests 2018-03-28 11:22:05 +02:00
json.c jsonrpc: Pretty-print the json results 2018-04-08 08:26:00 +00:00
json.h Remove unused functions not covered by unit tests 2018-03-26 23:35:56 +00:00
key_derive.c common: fix up BOLT 3 references. 2018-06-18 12:31:09 +02:00
key_derive.h headers: fix up header idempotent lines. 2017-08-29 17:54:14 +02:00
keyset.c common: fix up BOLT 3 references. 2018-06-18 12:31:09 +02:00
keyset.h basepoints/secrets: add htlc entry 2017-11-16 17:40:57 +01:00
Makefile common/tor: move into lightningd. 2018-05-10 02:28:44 +00:00
memleak.c Remove include in file foo.c that is already included in foo.h 2018-03-25 23:54:21 +00:00
memleak.h Re-enable builds with DEVELOPER=0 2017-12-20 12:43:10 +01:00
msg_queue.c common: move some files out of lightningd/ 2017-08-29 17:54:14 +02:00
msg_queue.h headers: fix up header idempotent lines. 2017-08-29 17:54:14 +02:00
overflows.h The overflow check mul_overflows_s64(int64_t, int64_t) overflows and triggers UB :-) Remove it 2018-03-27 23:18:48 +00:00
peer_billboard.c common: peer_billboard() helper for updating the billboard. 2018-02-23 18:02:00 +01:00
peer_billboard.h common: peer_billboard() helper for updating the billboard. 2018-02-23 18:02:00 +01:00
peer_failed.c gossipd: drain fd instead of passing around gossip index. 2018-04-26 05:47:57 +00:00
peer_failed.h gossipd: drain fd instead of passing around gossip index. 2018-04-26 05:47:57 +00:00
peer_status_wire.csv gossipd: drain fd instead of passing around gossip index. 2018-04-26 05:47:57 +00:00
permute_tx.c permute_tx: bail on empty permute_{inputs/outputs} arguments 2018-01-15 06:35:02 +00:00
permute_tx.h headers: fix up header idempotent lines. 2017-08-29 17:54:14 +02:00
ping.c common: fix up BOLT 1 references. 2018-06-18 12:31:09 +02:00
ping.h pong: embed version string into ping replies if DEVELOPER=1. 2018-02-22 12:24:26 +01:00
pseudorand.c common: absorb remaining files from daemon/ 2017-08-29 17:54:14 +02:00
pseudorand.h headers: fix up header idempotent lines. 2017-08-29 17:54:14 +02:00
read_peer_msg.c common: typo fix. 2018-04-26 05:47:57 +00:00
read_peer_msg.h read_peer_msg: handle incoming gossip from gossipd. 2018-04-26 05:47:57 +00:00
socket_close.c closingd: Ensure proper closing of TCP socket. 2018-05-09 04:43:21 +00:00
socket_close.h closingd: Ensure proper closing of TCP socket. 2018-05-09 04:43:21 +00:00
sphinx.c common: fix up BOLT 4 references. 2018-06-18 12:31:09 +02:00
sphinx.h common: fix up BOLT 4 references. 2018-06-18 12:31:09 +02:00
status_levels.h status: separate types for peer failure vs "impossible" failures. 2018-02-08 19:07:12 +01:00
status_wire.c status: generate messages rather than marshal/unmarshal manually. 2018-02-08 19:07:12 +01:00
status_wire.csv status: make status_io a more generic mechanism. 2018-05-10 02:28:44 +00:00
status_wire.h status: generate messages rather than marshal/unmarshal manually. 2018-02-08 19:07:12 +01:00
status.c status: make status_io a more generic mechanism. 2018-05-10 02:28:44 +00:00
status.h status: make status_io a more generic mechanism. 2018-05-10 02:28:44 +00:00
subdaemon.c common/daemon: common routines for all daemons. 2018-04-03 14:03:28 +02:00
subdaemon.h common/daemon: common routines for all daemons. 2018-04-03 14:03:28 +02:00
timeout.c utils: remove tal_tmpctx altogether, use global. 2018-03-16 00:16:10 +00:00
timeout.h headers: fix up header idempotent lines. 2017-08-29 17:54:14 +02:00
type_to_string.c Fix order of includes 2018-03-06 19:26:21 +01:00
type_to_string.h wireaddr_internal: new type for where we can also use a local socket. 2018-05-07 22:37:28 +02:00
utils.c Force the use of the POSIX C locale for all commands and their subprocesses 2018-04-27 14:02:59 +02:00
utils.h Force the use of the POSIX C locale for all commands and their subprocesses 2018-04-27 14:02:59 +02:00
utxo.c tools/generate_wire.py: generate varlen arrays properly. 2018-02-08 19:07:12 +01:00
utxo.h cleanup: Make blockheights unsigned 2018-03-27 23:17:17 +00:00
version.c Make version output simpler/more user-friendly 2018-04-04 02:32:44 +00:00
version.h Onboarding: Make log output texts friendlier to new users 2018-01-29 03:22:27 +00:00
wallet_tx.c wallet: clarify error 302. 2018-06-18 12:33:25 +02:00
wallet_tx.h Removed redundancies in withdraw and fundchannel. 2018-05-03 18:20:20 +02:00
wire_error.c common: fix up BOLT 1 references. 2018-06-18 12:31:09 +02:00
wire_error.h common: fix up BOLT 1 references. 2018-06-18 12:31:09 +02:00
wireaddr.c gossip: Try to detect broken ISP resolvers and discard broken replies 2018-06-21 11:21:16 +02:00
wireaddr.h gossip: Try to detect broken ISP resolvers and discard broken replies 2018-06-21 11:21:16 +02:00
withdraw_tx.c travis: reenable check-source (without BOLT text). 2017-12-21 14:33:27 +01:00
withdraw_tx.h Change withdraw_tx to accept scriptpubkey rather than plain address. 2017-12-13 03:10:04 +00:00