core-lightning/connectd/Makefile
Rusty Russell e683649004 connectd: maintain connection with peer, shuffle data.
Instead of passing the incoming socket to lightningd for the
subdaemon, create a new one and simply shuffle data between them,
keeping connectd in the loop.

For the moment, we don't decrypt at all, just shuffle.  This means our
buffer code is kind of a hack, but that goes away once we start
actually decrypting and understanding message boundaries.

This implementation is naive: it closes the socket to the local daemon
as soon as the peer closes the socket to us.  This is fixed in a
successive patch series (along with many other similar issues).

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2022-01-20 15:24:06 +10:30

81 lines
2.3 KiB
Makefile

#! /usr/bin/make
CONNECTD_HEADERS := connectd/connectd_wiregen.h \
connectd/connectd_gossipd_wiregen.h \
connectd/connectd.h \
connectd/peer_exchange_initmsg.h \
connectd/handshake.h \
connectd/multiplex.h \
connectd/netaddress.h \
connectd/tor_autoservice.h \
connectd/tor.h
CONNECTD_SRC := $(CONNECTD_HEADERS:.h=.c) connectd/connectd.c
CONNECTD_OBJS := $(CONNECTD_SRC:.c=.o)
$(CONNECTD_OBJS): $(CONNECTD_HEADERS)
WEBSOCKETD_HEADERS := connectd/sha1.h
WEBSOCKETD_SRC := $(WEBSOCKETD_HEADERS:.h=.c) connectd/websocketd.c
WEBSOCKETD_OBJS := $(WEBSOCKETD_SRC:.c=.o)
$(WEBSOCKETD_OBJS): $(WEBSOCKETD_HEADERS)
# Make sure these depend on everything.
ALL_C_SOURCES += $(CONNECTD_SRC) $(WEBSOCKETD_SRC)
ALL_C_HEADERS += $(CONNECTD_HEADERS) $(WEBSOCKETD_HEADERS)
ALL_PROGRAMS += lightningd/lightning_connectd
ALL_PROGRAMS += lightningd/lightning_websocketd
# Here's what lightningd depends on
LIGHTNINGD_CONTROL_HEADERS += connectd/connectd_wiregen.h
LIGHTNINGD_CONTROL_OBJS += connectd/connectd_wiregen.o
# Common source we use.
CONNECTD_COMMON_OBJS := \
common/amount.o \
common/autodata.o \
common/base32.o \
common/base64.o \
common/bech32.o \
common/bech32_util.o \
common/bigsize.o \
common/bip32.o \
common/channel_id.o \
common/crypto_state.o \
common/cryptomsg.o \
common/daemon.o \
common/daemon_conn.o \
common/derive_basepoints.o \
common/dev_disconnect.o \
common/ecdh_hsmd.o \
common/features.o \
common/status_wiregen.o \
common/gossip_rcvd_filter.o \
common/key_derive.o \
common/memleak.o \
common/msg_queue.o \
common/node_id.o \
common/onionreply.o \
common/per_peer_state.o \
common/psbt_open.o \
common/pseudorand.o \
common/setup.o \
common/status.o \
common/status_wire.o \
common/subdaemon.o \
common/timeout.o \
common/type_to_string.o \
common/utils.o \
common/utxo.o \
common/version.o \
common/wireaddr.o \
common/wire_error.o \
gossipd/gossipd_wiregen.o \
wire/onion$(EXP)_wiregen.o
lightningd/lightning_connectd: $(CONNECTD_OBJS) $(CONNECTD_COMMON_OBJS) $(BITCOIN_OBJS) $(WIRE_OBJS) $(HSMD_CLIENT_OBJS)
lightningd/lightning_websocketd: $(WEBSOCKETD_OBJS) common/setup.o common/utils.o common/autodata.o
include connectd/test/Makefile