Browse Source

connectd: fix binding to a UNIX domain socket.

lightning_connectd(19780): STATUS_FAIL_INTERNAL_ERROR: Failed to bind on 2 socket: Address family not supported by protocol

"Untested code is buggy code"

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
issue-2504
Rusty Russell 6 years ago
committed by Christian Decker
parent
commit
1069f48082
  1. 2
      CHANGELOG.md
  2. 2
      connectd/connectd.c
  3. 1
      tests/test_misc.py

2
CHANGELOG.md

@ -23,6 +23,8 @@ changes.
### Fixed ### Fixed
- `--bind-addr=<path>` fixed for nodes using local sockets (eg. testing).
### Security ### Security
## [0.7.0] - 2019-02-28: "Actually an Altcoin" ## [0.7.0] - 2019-02-28: "Actually an Altcoin"

2
connectd/connectd.c

@ -988,7 +988,7 @@ static struct wireaddr_internal *setup_listeners(const tal_t *ctx,
addrun.sun_family = AF_UNIX; addrun.sun_family = AF_UNIX;
memcpy(addrun.sun_path, wa.u.sockname, memcpy(addrun.sun_path, wa.u.sockname,
sizeof(addrun.sun_path)); sizeof(addrun.sun_path));
fd = make_listen_fd(AF_INET, &addrun, sizeof(addrun), fd = make_listen_fd(AF_UNIX, &addrun, sizeof(addrun),
false); false);
status_trace("Created socket listener on file %s", status_trace("Created socket listener on file %s",
addrun.sun_path); addrun.sun_path);

1
tests/test_misc.py

@ -566,7 +566,6 @@ def test_io_logging(node_factory, executor):
assert any(l['type'] == 'IO_IN' for l in peerlog) assert any(l['type'] == 'IO_IN' for l in peerlog)
@pytest.mark.xfail(strict=True)
def test_address(node_factory): def test_address(node_factory):
if DEVELOPER: if DEVELOPER:
opts = {'dev-allow-localhost': None} opts = {'dev-allow-localhost': None}

Loading…
Cancel
Save