Commit Graph

11779 Commits

Author SHA1 Message Date
537880e634 healthcheck: exclude unsupported syscalls from JS builds
Because the health check uses OS specific syscalls for determining the
available space on a disk that aren't available in JS/WASM builds, we
need to make sure we don't reference that code at all. Otherwise we
can't use parts of lnd as a library in projects that are being compiled
down to a WASM binary.
2021-07-22 09:47:37 +02:00
724ca7a358 kvdb: exclude anything bbolt related from JS builds
Since bbolt uses syscalls for memory mapping that aren't available in
JS/WASM builds, we need to make sure we don't reference that code at
all. Otherwise we can't use parts of lnd as a library in projects that
are being compiled down to a WASM binary.
2021-07-22 09:47:37 +02:00
73aa40f00e lnwallet+kvdb: remove duplicate bdb backend imports
We only want to register the bbolt DB backend ("bdb") when we're not
compiling for a JS/WASM build targets. That's why we want to have that
import in only one file that we can add a build tag to. We remove it in
two other places since only one import is enough anyway.
2021-07-22 09:47:36 +02:00
318d738131 lnd: allow group reading admin macaroon
This changes file reation mode on admin macaroon from 0600 to 0640. The
reason is to make permission management easier.

Closes #4385

**Is this safe?**

Yes, it is. Assuming a reasonably secure Linux system, it will have a
separate group for each user. E.g. a new user `lnd` gets assigned group
`lnd` which nothing else belongs to. A system that does not do this is
inherently broken already.

Since there is no other user in the group, no other user can read admin
macaroon unless the administrator explicitly allowed it. Thus there's no
harm allowing group read.
2021-07-22 08:21:03 +02:00
f9a07ad6f3 docs: replace freenode with libera 2021-07-21 18:32:42 -07:00
30a0e6c745 Merge pull request #5533 from ErikEk/invoices-return-payment-address-addholdinvoice
invoices: return payment address and add index from addholdinvoice
2021-07-21 16:54:20 -07:00
9ce5585eff docs: update release notes 2021-07-21 16:36:13 +02:00
f33b5a4057 payments: allocate payment sequences in blocks
The bucket sequence we use as payment sequence makes the DB update in
InitPayment conflict and therefore queue up when many concurrent
payments happen. This change allocates payment sequences in blocks
of 1000 to avoid these conflicts.
2021-07-21 16:36:10 +02:00
fb17bf2bb5 Merge pull request #5547 from bhandras/etcd_backend_rwlock
etcd: optionally reduce concurrency to single writer for legacy code
2021-07-21 16:28:20 +02:00
b16877236a Merge pull request #5543 from Roasbeef/release-notes-master-special-case
scripts: account for master branch merges in release notes script
2021-07-21 09:45:11 +02:00
115c99d0e0 docs/release-notes: add section re merge commit exemption 2021-07-20 16:22:46 -07:00
fee92941f1 scripts: account for master branch merges in release notes script
Without this commit, the build may break if a PR commit is created, as
that shows the `PR_NUMBER` field we parse out as "master", reflecting
that its a merge commit into the master branch.
2021-07-20 16:22:37 -07:00
dd05e29225 docs: update release notes 2021-07-20 21:02:16 +02:00
bc4ffb489d etcd: optionally reduce concurrency to single writer for legacy code 2021-07-20 21:02:11 +02:00
bc98bb3f88 Merge pull request #5516 from bhandras/etcd_kvdb_fixes
etcd: kvdb fixes
2021-07-20 17:50:36 +02:00
480c17d3c4 Merge pull request #5503 from Zero-1729/patch-2
docs: minor fixes to contribution guidelines
2021-07-20 17:39:40 +02:00
712643e2aa docs: minor fixes to contribution guidelines 2021-07-20 14:58:45 +01:00
8ffee2afb4 Merge pull request #5545 from guggero/pr-template-update
mod+GitHub: shorten PR template, bump golang to 1.15
2021-07-20 11:33:27 +02:00
5482451297 mod+GitHub: shorten PR template, bump golang to 1.15
The golang version always needs to be in sync between the go.mod, the PR
checklist and the installation instructions.

We also shorten the Pull Request template by removing everything that we
have a CI check for and just refer to those checks instead.
2021-07-20 10:55:08 +02:00
306da010d8 Merge pull request #5537 from ErikEk/invoice-unused-error-check
invoice: unused error check
2021-07-20 09:29:10 +02:00
850dee37ee invoices: return payment address from addholdinvoice 2021-07-19 17:05:03 +02:00
5282b54ad3 invoice: unused error check 2021-07-19 14:24:52 +02:00
7176a212f7 Merge pull request #5520 from Roasbeef/actions-require-release-notes
build: add new GH actions to require release note updates
2021-07-16 14:21:27 -07:00
121979546b docs/release-notes: add entry for new release notes pre-submit check 2021-07-16 11:01:04 -07:00
6570749f7f build: add new GH actions to require release note updates
In this commit, we add a simple bash script to parse out the current PR
number from an environment variable in the GH actions context, and use
that to check to see if the PR has been referenced in the release notes
or not. This isn't 100% fool proof, but it should catch most of the
common cases.
2021-07-16 11:00:56 -07:00
96caa6f242 etcd: remove assertion when creating bucket and value with the same key
This commit removes an assertion which is not needed because with etcd
we can safely create keys and values with the same key since they are
stored under different keys in the DB. This saves us one unnecessary Get
on every Put.
2021-07-16 16:06:32 +02:00
11a44a94b1 etcd: remove unnecessary iterator step from cursor Delete
The etcd cursor Delete stepped to the next item in the range before
Delete to not invalidate the iteation. This is unnecessary and not
compatible with bbolt, resulting in an extra fetch too.
2021-07-16 15:21:14 +02:00
8acbe177fa Merge pull request #5525 from bhandras/etcd_failover_itest_flake_fix
harness: remove killed nodes from active nodes
2021-07-15 17:27:07 +02:00
6dc64f7d2f etcd: disable excessive logging when using embedded etcd 2021-07-15 15:35:38 +02:00
b92462edad Merge pull request #5481 from bottlepay/kvdb-tests
kvdb: generalize etcd tests
2021-07-15 11:49:14 +02:00
7ce3223919 harness: remove killed nodes from active nodes 2021-07-15 11:26:27 +02:00
edd4152682 Merge pull request #5449 from yyforyongyu/itest-refactor-assertion
Break down the lnd_test.go file into smaller files
2021-07-13 16:41:55 -07:00
7e606c257a Merge pull request #5383 from Crypt-iQ/update_fuzz_docs_06142021
docs+Makefile: update fuzz.md to explain new build/run process
2021-07-13 16:23:48 -07:00
d28e67ddb0 itest: fix make lint 2021-07-13 15:01:43 +08:00
c912d1aae0 itest: move tests into one file
This commit creates the file lnd_misc_test.go to hold all miscellaneous
tests in the file lnd_test.go. From now on, the lnd_test.go will only be
responsible for handling the "top" level functionalities such as
splitting test cases and run them. Newly created test cases should find
their places in the related test files, or create new one when needed.
2021-07-13 15:01:39 +08:00
73a2211205 itest: move helper functions into one file
This commit creates the file utils.go to hold the commonly used
functions for tests.
2021-07-13 14:59:00 +08:00
27b9273e2f itest: move channel graph related tests into one file 2021-07-13 14:58:59 +08:00
a20f857987 itest: move balance related tests into one file 2021-07-13 14:58:59 +08:00
9337f94f0d itest: move recovery related tests into one file 2021-07-13 14:58:59 +08:00
0759771134 itest: move channel openning related tests into one file
This commit creates the file lnd_open_channel_test.go to hold channel
opeopenning related tests.
2021-07-13 14:58:59 +08:00
12ca07c089 itest: move testFundingPersistence to lnd_funding_test.go 2021-07-13 14:58:59 +08:00
47c40373de itest: move channel policy update test into one file 2021-07-13 14:58:58 +08:00
3f78a5da10 itest: move channel force close test into one file 2021-07-13 14:58:58 +08:00
e3f2cf1711 itest: move switch related tests into one file
This commit creates the lnd_switch_test.go file to hold switch related
tests, further breaking down the lnd_test.go file.
2021-07-13 14:58:58 +08:00
6ca068660c itest: move revocation related tests into one file
This commit creates a new file lnd_revocation_test.go to hold
revocation-related tests, further breaking down the lnd_test.go file.
2021-07-13 14:58:56 +08:00
f62cdf7bfc itest: move payment related tests into one file
This commit creates a new file lnd_payment_test.go to hold all payment
related tests, further breaking down the old large lnd_test.go.
2021-07-13 14:52:08 +08:00
b657a977e3 itest: refactor assertNumConnections to use wait.NoError
This commit refactors the function assertNumConnections to use
wait.NoError. Prior to this commit, `make lint` will fail on this
function. While fixing it, it's noticed that wait.NoError suits the
case so it's refactored to use it.
2021-07-13 14:52:08 +08:00
0612ced087 itest: use require in assertions 2021-07-13 14:52:08 +08:00
6f0da73ee1 itest: move assertions into one file
This commit breaks down the lnd_test.go file by moving assertion-related
functions into the file assertions.go.
2021-07-13 14:52:08 +08:00
c23d6fb0e2 Merge pull request #5504 from Zero-1729/patch-1
README: minor typo fix
2021-07-12 18:19:16 -07:00