Commit Graph

358 Commits

Author SHA1 Message Date
Oliver Gugger
7158103d4d lnd+config: move config parsing to cmd
Now that we have access to the configuration parsing outside of the
main package, we can move the actual parsing to the command line
package.
2020-05-14 14:37:51 +02:00
Oliver Gugger
bc3909050e multi: rename and export logWriter as RootLogWriter 2020-05-14 14:37:50 +02:00
Oliver Gugger
409d2c9a90 lnd+config: export config struct and LoadConfig
As a preparation to be moved to the lncfg package, the main struct and
functions related to configuration are exported.
2020-05-14 13:05:01 +02:00
Conner Fromknecht
4f6cef83fc config: adds cli configurable --migration-dry-run 2020-05-11 15:38:56 -07:00
Andras Banki-Horvath
556e3525ea misc: fix error formatting in multiple files 2020-04-24 19:15:08 +02:00
Oliver Gugger
1e3b0672d7 config+lnd+lncli: add commit back to version string 2020-04-14 15:51:44 +02:00
nsa
ada0b78dfc lnd+server+watchtower: allow Standalone access to the tor controller
This commit lets the watchtower automatically create hidden services
by giving it a pointer to a TorController. The server was also slightly
refactored so that it was not the sole owner of the TorController.
2020-03-29 12:36:54 -04:00
ErikEk
4e47181b99 trivial: typo fix 2020-03-19 05:43:49 +01:00
Johan T. Halseth
ba38bda5f0 lnd: reload cert data after renewal
After renewing the certificate, the new certificate wasn't actually
loaded and used, causing the old one to be used until lnd was restarted.
This fixes that by reloading it after it has been written.
2020-02-12 10:59:52 +01:00
Johan T. Halseth
f7a85e07b0 lnd+cert: recreate TLS files if IPs or DNS changed
This commit makes lnd recreate its TLS certificate if the config's
tlsextradomains or tlsextraips changed. This is useful, since earlier
user would have to manually delete the files to trigger lnd to recreate
them.

To ensure users don't accidentally have their TLS certificate recreated,
we gate it behind a flag --tlsautorefresh that defaults to false.
2020-02-12 10:59:51 +01:00
carla
bbf3877d65 lnd: fix gosimple linter failure
GoSimple linter check fails for time.Now().Sub. Change the logged
database open time to use time.Since instead.
2020-02-04 10:06:45 +02:00
Olaoluwa Osuntokun
698f1175f8 lnd: add timing information to db open log 2020-02-03 16:19:01 -08:00
MrManPew
19bdbe7f8d Update channeldb opening log
It might take a few minutes and it should therefore state it...
2020-02-03 16:18:56 -08:00
Johan T. Halseth
a870ed5fb7 lnd: add WalletUnlockerAuthOptions
Similar to what was done for the regular RPC server, we add auth dial
options for the wallet unlocker, as it also requires TLS now.
2020-01-14 09:30:09 +01:00
Johan T. Halseth
7077d19589 lnd: add Authenticate method
Adds a global Authenticate method that can be used to get the
atuhentication options needed to call the grpc server.

Currently meant only for used with the mobile bindings, so we use the
admin macaroon.
2019-12-18 10:28:22 +01:00
Johan T. Halseth
27337dc973 lnd+rpcserver: use same serverOpts for custom listeners
Earlier we used emtpy grpc server options if custom listeners were set.
This was done to disable TLS. Now, we reuse the same server options as
for the regular listeners, in a move towards enabling TLS also here.
2019-12-18 10:28:22 +01:00
Johan T. Halseth
f0bd4e775b Merge pull request #3775 from halseth/mobile-listener-signal
[mobile] make Ready signal for custom listeners
2019-12-17 12:26:04 +01:00
Joost Jager
61e114f201 autopilot: take channel min htlc from config 2019-12-11 00:17:10 +01:00
Johan T. Halseth
dc6c040803 lnd: make Ready signal for custom listeners
This allows the caller to know when lnd is ready to accept RPC calls,
which is inmportant for mobile applications where eveything happens in
process.
2019-11-29 11:59:01 +01:00
Olaoluwa Osuntokun
84c73f3025 Merge pull request #3740 from guggero/rest-client-receive-size
lnd: increase max message receive size for REST proxy
2019-11-19 17:15:24 -08:00
Oliver Gugger
4cd06465ea lnd: increase max message receive size for REST proxy 2019-11-18 14:06:14 +01:00
Oliver Gugger
dbbb169e06 lnd: use TLS code from cert package 2019-11-18 09:44:54 +01:00
Oliver Gugger
bfe10376f3 lnd: prepare TLS code for extraction 2019-11-14 10:23:35 +01:00
Joost Jager
6c6bbdd365 signal: initialize interceptor explictly 2019-11-12 19:16:22 +01:00
Oliver Gugger
3ca2c363fe lnd+rpcserver: initialize new log writer correctly 2019-10-14 14:56:32 +02:00
Oliver Gugger
94f49192cf lnd: refactor sub logger setup to use new rotating log writer 2019-10-14 14:56:31 +02:00
Wilmer Paulino
b63ed5ad56 config: add sync freelist cli flag 2019-10-04 12:19:42 -04:00
Wilmer Paulino
194a9dea81 multi: support sync freelist option within btcwallet 2019-10-04 12:19:40 -04:00
Lars Lehtonen
259b5b253d lnd: stdlib context 2019-09-28 16:07:37 -07:00
nsa
4d02100e12 fundingmanager+server: adding ChannelAcceptor to the fundingmanager 2019-09-25 12:07:30 -04:00
nsa
c2a6c86e6b rpcserver: adding ChannelAcceptor bidirectional streaming 2019-09-25 12:07:30 -04:00
Johan T. Halseth
fa21601d07 lnd+cmd/lnd/main: add ListenerCfg to Main
ListenerCfg allows passing custom listeners to the main method, to be
used for the wallet unlocker and rpc server. If these are set these will
be used instead of the regular RPC listeners.
2019-09-05 09:22:54 +02:00
Johan T. Halseth
2562fdbdda lnd+rpcserver: extract listener setup into closure 2019-09-05 09:22:54 +02:00
Johan T. Halseth
d2435a4dc3 Merge pull request #3059 from champo/rpc_drop
lnd: close the wallet unlock grpc server
2019-08-26 14:18:33 +02:00
Olaoluwa Osuntokun
764099c091 REST: increase max msg size for REST proxy
Some time ago, we modified `lncli` to accept larger responses from the
server, up to 50MB. However, we failed to update the REST proxy, which
is in a sense, a client to the regular RPC server. As a result, users
can't currently hit the `/v1/graph` endpoint, as it'll fail with an
error.

In this PR, we update the proxy's dial options to allow it to receive
larger responses from the actual gRPC server. This is only a temporary
measure however, as we'll eventually want to expose some sort of
pagination for the end client.
2019-08-06 17:45:44 -07:00
Juan Pablo Civile
88400f5b09 lnd: close the wallet unlock grpc server
The server was kept alive long after it stopped being used. This caused
problems for services using long-lived GRPC connections which might be
created before wallet unlocked. They got stuck connected to the wallet
unlock service needing a restart.
2019-08-03 17:22:56 -03:00
Wilmer Paulino
0431701262 multi: only allow specifying towers to TowerClient through RPC
With the introduction of the WatchtowerClient RPC subserver, the lnd
configuration flag to specify private watchtowers for the client is no
longer needed and can lead to confusion upon users. Therefore, we remove
the flag completely, and only rely on the watchtower client being active
through a new --wtclient.active flag.
2019-07-30 15:18:17 -07:00
Wilmer Paulino
4e8fb4d32b Merge pull request #3337 from carlaKC/I3336-removeregtestsyncwait
lnd: Add regtest exception for wait to sync on startup
2019-07-23 15:38:27 -07:00
carla
280b28941d lnd: Add regtest exception for wait to sync on startup 2019-07-23 07:43:24 -04:00
Johan T. Halseth
2bef62b467 lnd: remove global var access from genCertPair
Instead pass the optional strings as slices to the method.
2019-07-22 09:26:25 +02:00
Olaoluwa Osuntokun
e2a35ae089 Merge pull request #3237 from orbitalturtle/auto-regenerate-cert
Unit test for autoregenerating expired cert pairs
2019-07-19 17:21:27 -07:00
Wilmer Paulino
0d3ef43c92 lnd: log error if any throughout initialization
In this commit, we establish a new pattern to always log errors before
returning them to the higher level caller, which then prints the error
to stdout/stderr. Errors returned are usually lowercase, but we decide
not to apply this rule here as these errors should not be chained
forward.
2019-07-17 14:24:21 -07:00
Wilmer Paulino
e147445c08 lnd: prevent panic on nil neutrino cleanup
A cleanup closure is not included when an error is returned, causing the
defer to execute and triggering the following panic:

panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x105da38]

goroutine 1 [running]:
github.com/lightningnetwork/lnd.Main(0x2083e40, 0xc0004f6db0)
	/home/user/lnd/lnd.go:208 +0x2bfa
main.main()
	/home/user/lnd/cmd/lnd/main.go:14 +0x26
2019-07-15 13:32:37 -07:00
Turtle
f958555ce3 Lnd + server_test: Add unit test for TLS cert autoregeneration 2019-07-11 00:10:55 -04:00
Johan T. Halseth
601773958d lnd: fallback to localhost if failing getting hostname
Needed on some versions of Android.
2019-07-08 14:00:25 +02:00
Conner Fromknecht
ea311649b4 lnd: use distinct pubkey for watchtowers and server 2019-06-20 17:04:04 -07:00
Conner Fromknecht
59c9418eca lnd+rpcserver: thread watchtower into subserver configs 2019-06-20 17:04:04 -07:00
Olaoluwa Osuntokun
a53323205c Merge pull request #3133 from cfromknecht/wt-polish
watchtower: integrate altruist watchtower and watchtower client
2019-06-14 21:34:10 +02:00
Conner Fromknecht
985ac7f5b7 lnd: integrate companion watchtower 2019-06-13 19:54:20 -07:00
Conner Fromknecht
d2f3d5ef6c server: add watchtower client 2019-06-13 19:54:18 -07:00