From dfdeb5e52c8b790200853c93b2a7f63499d35e85 Mon Sep 17 00:00:00 2001 From: armin Date: Sat, 28 Apr 2018 20:14:52 +0200 Subject: [PATCH] Fixed inWork key calculation bug in MultiStaged --- bfclient/src/bfclient.cpp | 2 +- cnc/src/main/java/org/btcollider/cnc/CnC.java | 2 +- .../main/java/org/btcollider/cnc/comm/ClientWorker.java | 2 +- .../cnc/keysrv/impl/multistage/MultiStagedServer.java | 8 ++++---- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/bfclient/src/bfclient.cpp b/bfclient/src/bfclient.cpp index 7a0e7a8..a05df98 100644 --- a/bfclient/src/bfclient.cpp +++ b/bfclient/src/bfclient.cpp @@ -17,7 +17,7 @@ using namespace std; #define BATCH_MAX 4096 -#define WIN_SIZE 21 +#define WIN_SIZE 16 int main() { util::bytestr key("db53d9bbd1f3a83b094eeca7dd970bd85b492fa2"); diff --git a/cnc/src/main/java/org/btcollider/cnc/CnC.java b/cnc/src/main/java/org/btcollider/cnc/CnC.java index ffeb5a4..66c6ae4 100644 --- a/cnc/src/main/java/org/btcollider/cnc/CnC.java +++ b/cnc/src/main/java/org/btcollider/cnc/CnC.java @@ -20,7 +20,7 @@ public class CnC { public static final int MAX_BITS = 62; public static void main(String[] args) { - KeyServer kts = KSFactory.build(54, 30, 15, TimeUnit.MINUTES, 0.62f); + KeyServer kts = KSFactory.build(50, 26, 1, TimeUnit.MINUTES, 0.62f); CommServer server = new CommServer(PORT, kts); try { server.listen(); diff --git a/cnc/src/main/java/org/btcollider/cnc/comm/ClientWorker.java b/cnc/src/main/java/org/btcollider/cnc/comm/ClientWorker.java index 8e77a43..606ff25 100644 --- a/cnc/src/main/java/org/btcollider/cnc/comm/ClientWorker.java +++ b/cnc/src/main/java/org/btcollider/cnc/comm/ClientWorker.java @@ -101,7 +101,7 @@ public class ClientWorker implements Runnable { private void retrieveResult() { try { - String[] result = in.readLine().split(" "); + String[] result = in.readLine().split(" "); // TODO: null check for in.readLine() KeyRange kr = new KeyRange(Long.parseLong(result[0], 16), Long.parseLong(result[1], 16)); synchronized (keyServer) { diff --git a/cnc/src/main/java/org/btcollider/cnc/keysrv/impl/multistage/MultiStagedServer.java b/cnc/src/main/java/org/btcollider/cnc/keysrv/impl/multistage/MultiStagedServer.java index a825645..1657c92 100644 --- a/cnc/src/main/java/org/btcollider/cnc/keysrv/impl/multistage/MultiStagedServer.java +++ b/cnc/src/main/java/org/btcollider/cnc/keysrv/impl/multistage/MultiStagedServer.java @@ -81,9 +81,9 @@ public class MultiStagedServer implements KeyServer { keyRangeBuffer.setInWork(keyRange); // strip out partition bits -> get subspace KeyRange only - long mask = ((long) 1 << subIndex) - 1; + long mask = ((long) 1 << subIndex + 1) - 1; // add leading bit - long lb = ((long) 1 << subIndex); + long lb = ((long) 1 << subIndex + 1); KeyRange secKR = new KeyRange(((keyRange.getStart() & mask) | lb), ((keyRange.getEnd() & mask) | lb)); @@ -96,9 +96,9 @@ public class MultiStagedServer implements KeyServer { keyRangeBuffer.setSearched(keyRange); // strip out partition bits -> get subspace KeyRange only - long mask = ((long) 1 << subIndex) - 1; + long mask = ((long) 1 << subIndex + 1) - 1; // add leading bit - long lb = ((long) 1 << subIndex); + long lb = ((long) 1 << subIndex + 1); KeyRange secKR = new KeyRange(((keyRange.getStart() & mask) | lb), ((keyRange.getEnd() & mask) | lb));