From a76cda2c0010c5f245145b9776d0a106b813e7ef Mon Sep 17 00:00:00 2001 From: pm47 Date: Fri, 28 Aug 2015 18:20:38 +0200 Subject: [PATCH] sig mismatch are now logged as errors --- eclair-demo/src/main/resources/logback.xml | 1 - eclair-demo/src/main/scala/fr/acinq/eclair/Node.scala | 4 ++++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/eclair-demo/src/main/resources/logback.xml b/eclair-demo/src/main/resources/logback.xml index 27232f2a5..b98fba86a 100644 --- a/eclair-demo/src/main/resources/logback.xml +++ b/eclair-demo/src/main/resources/logback.xml @@ -66,7 +66,6 @@ - \ No newline at end of file diff --git a/eclair-demo/src/main/scala/fr/acinq/eclair/Node.scala b/eclair-demo/src/main/scala/fr/acinq/eclair/Node.scala index 8c9b6e231..387d7e0b5 100644 --- a/eclair-demo/src/main/scala/fr/acinq/eclair/Node.scala +++ b/eclair-demo/src/main/scala/fr/acinq/eclair/Node.scala @@ -162,6 +162,7 @@ class Node(val blockchain: ActorRef, val commitPrivKey: BinaryData, val finalPri val signedCommitTx = newCommitTx.tx.updateSigScript(0, sigScript2of2(theirSig, ourSig, theirParams.commitKey, ourParams.commitKey)) val ok = Try(Transaction.correctlySpends(signedCommitTx, Map(OutPoint(anchorTx.hash, anchorOutputIndex) -> multiSig2of2(ourParams.commitKey, theirParams.commitKey)), ScriptFlags.STANDARD_SCRIPT_VERIFY_FLAGS)).isSuccess // TODO : return Error and close channel if !ok + if (!ok) log.error(s"invalid sig") blockchain ! Watch(anchorTx.hash) blockchain ! Publish(anchorTx) goto(OPEN_WAITING_OURANCHOR) using DATA_OPEN_WAITING(ourParams, theirParams, newCommitTx.copy(tx = signedCommitTx)) @@ -310,6 +311,7 @@ class Node(val blockchain: ActorRef, val commitPrivKey: BinaryData, val finalPri val signedCommitTx = newCommitmentTx.updateSigScript(0, sigScript2of2(theirSig, ourSig, theirParams.commitKey, ourParams.commitKey)) val ok = Try(Transaction.correctlySpends(signedCommitTx, Map(previous.tx.txIn(0).outPoint -> multiSig2of2(ourParams.commitKey, theirParams.commitKey)), ScriptFlags.STANDARD_SCRIPT_VERIFY_FLAGS)).isSuccess // TODO : return Error and close channel if !ok + if (!ok) log.error(s"invalid sig") them ! update_signature(ourSig, previous.ourRevocationPreimage) goto(WAIT_FOR_UPDATE_COMPLETE) using DATA_WAIT_FOR_UPDATE_COMPLETE(ourParams, theirParams, previous, CommitmentTx(signedCommitTx, newState, ourRevocationHashPreimage, theirRevocationHash)) } @@ -323,6 +325,7 @@ class Node(val blockchain: ActorRef, val commitPrivKey: BinaryData, val finalPri val signedCommitTx = newCommitmentTx.updateSigScript(0, sigScript2of2(theirSig, ourSig, theirParams.commitKey, ourParams.commitKey)) val ok = Try(Transaction.correctlySpends(signedCommitTx, Map(previous.tx.txIn(0).outPoint -> multiSig2of2(ourParams.commitKey, theirParams.commitKey)), ScriptFlags.STANDARD_SCRIPT_VERIFY_FLAGS)).isSuccess // TODO : return Error and close channel if !ok + if (!ok) log.error(s"invalid sig") them ! update_signature(ourSig, previous.ourRevocationPreimage) goto(WAIT_FOR_UPDATE_COMPLETE) using DATA_WAIT_FOR_UPDATE_COMPLETE(ourParams, theirParams, previous, CommitmentTx(signedCommitTx, newState, ourRevocationHashPreimage, theirRevocationHash)) } @@ -336,6 +339,7 @@ class Node(val blockchain: ActorRef, val commitPrivKey: BinaryData, val finalPri val signedCommitTx = newCommitmentTx.tx.updateSigScript(0, sigScript2of2(theirSig, ourSig, theirParams.commitKey, ourParams.commitKey)) val ok = Try(Transaction.correctlySpends(signedCommitTx, Map(previousCommitmentTx.tx.txIn(0).outPoint -> multiSig2of2(ourParams.commitKey, theirParams.commitKey)), ScriptFlags.STANDARD_SCRIPT_VERIFY_FLAGS)).isSuccess // TODO : return Error and close channel if !ok + if (!ok) log.error(s"invalid sig") them ! update_complete(previousCommitmentTx.ourRevocationPreimage) goto(NORMAL) using DATA_NORMAL(ourParams, theirParams, newCommitmentTx.copy(tx = signedCommitTx)) }