services: support 0.0.0.0/:: in address options

Previously, client services didn't decode these special INADDR_ANY
addresses and failed to connect.
This commit is contained in:
Erik Arvstedt
2021-10-01 11:51:57 +02:00
parent 1848c3dd98
commit f61e928139
13 changed files with 36 additions and 23 deletions

View File

@@ -127,7 +127,7 @@ let
bitcoind = config.services.bitcoind;
bitcoindRpcAddress = bitcoind.rpc.address;
bitcoindRpcAddress = nbLib.address bitcoind.rpc.address;
networkDir = cfg.networkDir;
configFile = pkgs.writeText "lnd.conf" ''
datadir=${cfg.dataDir}
@@ -217,12 +217,12 @@ in {
# existing, but the RPC service isn't yet, which results in error
# "waiting to start, RPC services not available".
curl = "${pkgs.curl}/bin/curl -s --show-error --retry 10 --cacert ${cfg.certPath}";
restUrl = "https://${cfg.restAddress}:${toString cfg.restPort}/v1";
restUrl = "https://${nbLib.addressWithPort cfg.restAddress cfg.restPort}/v1";
in [
(nbLib.script "lnd-create-wallet" ''
attempts=250
while ! {
exec 3>/dev/tcp/${cfg.restAddress}/${toString cfg.restPort} && exec 3>&-
exec 3>/dev/tcp/${nbLib.address cfg.restAddress}/${toString cfg.restPort} && exec 3>&-
} &>/dev/null; do
((attempts-- == 0)) && { echo "lnd REST service unreachable"; exit 1; }
sleep 0.1