From d54a59f010ae3d395883c7c7d54963196a8ccc55 Mon Sep 17 00:00:00 2001 From: Rusty Russell Date: Thu, 18 Aug 2016 14:23:44 +0930 Subject: [PATCH] test_protocol: remove support for multiple commits in flight. Laolu pointed out that we can't have multiple in flight, since we can't sign without knowing the next revocation preimage. Signed-off-by: Rusty Russell --- test/commits/05-two-commits-in-flight.script | 20 ------ .../05-two-commits-in-flight.script.expected | 22 ------ test/commits/15-fee-twice-back-to-back.script | 26 ------- .../15-fee-twice-back-to-back.script.expected | 69 ------------------- test/test_protocol.c | 11 +-- 5 files changed, 2 insertions(+), 146 deletions(-) delete mode 100644 test/commits/05-two-commits-in-flight.script delete mode 100644 test/commits/05-two-commits-in-flight.script.expected delete mode 100644 test/commits/15-fee-twice-back-to-back.script delete mode 100644 test/commits/15-fee-twice-back-to-back.script.expected diff --git a/test/commits/05-two-commits-in-flight.script b/test/commits/05-two-commits-in-flight.script deleted file mode 100644 index 0feb2fab8..000000000 --- a/test/commits/05-two-commits-in-flight.script +++ /dev/null @@ -1,20 +0,0 @@ -# Test committing before receiving previous revocation. -A:nocommitwait -A:offer 1 -A:commit -A:offer 3 -A:commit -B:recvoffer -B:recvcommit -B:recvoffer -B:recvcommit -A:recvrevoke -A:recvrevoke -B:commit -A:recvcommit -B:recvrevoke -checksync -echo ***A*** -A:dump -echo ***B*** -B:dump diff --git a/test/commits/05-two-commits-in-flight.script.expected b/test/commits/05-two-commits-in-flight.script.expected deleted file mode 100644 index 69503312d..000000000 --- a/test/commits/05-two-commits-in-flight.script.expected +++ /dev/null @@ -1,22 +0,0 @@ -***A*** -LOCAL COMMITS: - Commit 1: - Offered htlcs: 1 3 - Received htlcs: - SIGNED -REMOTE COMMITS: - Commit 2: - Offered htlcs: - Received htlcs: 1 3 - SIGNED -***B*** -LOCAL COMMITS: - Commit 2: - Offered htlcs: - Received htlcs: 1 3 - SIGNED -REMOTE COMMITS: - Commit 1: - Offered htlcs: 1 3 - Received htlcs: - SIGNED diff --git a/test/commits/15-fee-twice-back-to-back.script b/test/commits/15-fee-twice-back-to-back.script deleted file mode 100644 index 5975820d2..000000000 --- a/test/commits/15-fee-twice-back-to-back.script +++ /dev/null @@ -1,26 +0,0 @@ -# Test committing fees before receiving previous revocation. -A:nocommitwait -A:feechange -A:commit -A:feechange -A:commit -echo ***A after two commits with fee changes*** -A:dump -B:recvfeechange -echo ***B after receiving fee change*** -B:dump -B:recvcommit -echo ***B after receiving first commit*** -B:dump -B:recvfeechange -B:recvcommit -echo ***B after receiving second commit*** -B:dump -A:recvrevoke -A:recvrevoke -B:commit -A:recvcommit -B:recvrevoke -echo ***B after committing*** -B:dump -checksync diff --git a/test/commits/15-fee-twice-back-to-back.script.expected b/test/commits/15-fee-twice-back-to-back.script.expected deleted file mode 100644 index 343d3ed10..000000000 --- a/test/commits/15-fee-twice-back-to-back.script.expected +++ /dev/null @@ -1,69 +0,0 @@ -***A after two commits with fee changes*** -LOCAL COMMITS: - Commit 0: - Offered htlcs: - Received htlcs: - SIGNED -REMOTE COMMITS: - Commit 0: - Offered htlcs: - Received htlcs: - Pending unacked: FEE - SIGNED - Commit 1: - Offered htlcs: - Received htlcs: - Pending unacked: FEE - SIGNED - Commit 2: - Offered htlcs: - Received htlcs: - SIGNED -***B after receiving fee change*** -LOCAL COMMITS: - Commit 0: - Offered htlcs: - Received htlcs: - Pending unacked: FEE - SIGNED -REMOTE COMMITS: - Commit 0: - Offered htlcs: - Received htlcs: - SIGNED -***B after receiving first commit*** -LOCAL COMMITS: - Commit 1: - Offered htlcs: - Received htlcs: - SIGNED -REMOTE COMMITS: - Commit 0: - Offered htlcs: - Received htlcs: - Pending acked - SIGNED -***B after receiving second commit*** -LOCAL COMMITS: - Commit 2: - Offered htlcs: - Received htlcs: - SIGNED -REMOTE COMMITS: - Commit 0: - Offered htlcs: - Received htlcs: - Pending acked - SIGNED -***B after committing*** -LOCAL COMMITS: - Commit 2: - Offered htlcs: - Received htlcs: - SIGNED -REMOTE COMMITS: - Commit 1: - Offered htlcs: - Received htlcs: - Fee level 2 - SIGNED diff --git a/test/test_protocol.c b/test/test_protocol.c index 93ee19ede..fd8478526 100644 --- a/test/test_protocol.c +++ b/test/test_protocol.c @@ -61,9 +61,6 @@ struct peer { struct commit_tx initial_commit_tx; - /* Are we allowed to send another commit before receiving revoke? */ - bool commitwait; - /* For drawing svg */ char *text; char *io; @@ -431,8 +428,7 @@ static void send_commit(struct peer *peer) * until it receives the `update_revocation` response to the * previous `update_commit`, so there is only ever one * unrevoked local commitment. */ - if (peer->commitwait - && peer->remote->prev && !peer->remote->prev->revoked) + if (peer->remote->prev && !peer->remote->prev->revoked) errx(1, "commit: must wait for previous commit"); tal_append_fmt(&peer->io, "update_commit"); @@ -464,7 +460,7 @@ static void receive_revoke(struct peer *peer, u32 number) number, ci->number); /* This shouldn't happen if we don't allow multiple commits. */ - if (peer->commitwait && ci != peer->remote->prev) + if (ci != peer->remote->prev) errx(1, "receive_revoke: always revoke previous?"); tal_append_fmt(&peer->io, "<"); @@ -636,8 +632,6 @@ static void do_cmd(struct peer *peer) read_peer(peer, "C", cmd); read_in(peer->infd, &sig, sizeof(sig)); receive_commit(peer, &sig); - } else if (streq(cmd, "nocommitwait")) { - peer->commitwait = false; } else if (streq(cmd, "checksync")) { write_all(peer->cmddonefd, peer->local->commit_tx, sizeof(*peer->local->commit_tx)); @@ -688,7 +682,6 @@ static void new_peer(int infdpair[2], int outfdpair[2], int cmdfdpair[2], peer = tal(NULL, struct peer); memset(&peer->initial_commit_tx, 0, sizeof(peer->initial_commit_tx)); - peer->commitwait = true; /* Create first, signed commit info. */ peer->local = new_commit_info(peer, NULL);