diff --git a/bfclient/src/bf/libs/ec_pubkey_fast.c b/bfclient/src/bf/libs/ec_pubkey_fast.c index e08b812..776900d 100644 --- a/bfclient/src/bf/libs/ec_pubkey_fast.c +++ b/bfclient/src/bf/libs/ec_pubkey_fast.c @@ -24,8 +24,6 @@ #include "vendor/secp256k1/src/ecmult.h" #include "vendor/secp256k1/src/eckey_impl.h" -static int secp256k1_eckey_pubkey_parse(secp256k1_ge_t *elem, const unsigned char *pub, int size); - #include "mmapf.h" #undef ASSERT @@ -424,7 +422,7 @@ int secp256k1_scalar_add_b32(void * out, void * a, void *b) { return 0; } -inline static void _priv_add(unsigned char *priv, unsigned char add, int p) { +inline static void priv_add(unsigned char *priv, unsigned char add, int p) { priv[p] += add; if (priv[p] < add) { priv[--p] += 1; @@ -439,13 +437,13 @@ inline static void _priv_add(unsigned char *priv, unsigned char add, int p) { } void priv_add_uint8(unsigned char *priv, unsigned char add) { - _priv_add(priv, add, 31); + priv_add(priv, add, 31); } void priv_add_uint32(unsigned char *priv, unsigned int add) { int p = 31; while (add) { - _priv_add(priv, add & 255, p--); + priv_add(priv, add & 255, p--); add >>= 8; } } diff --git a/bfclient/src/bf/libs/ripemd160_256.c b/bfclient/src/bf/libs/ripemd160_256.c index b7a9126..e741d8b 100644 --- a/bfclient/src/bf/libs/ripemd160_256.c +++ b/bfclient/src/bf/libs/ripemd160_256.c @@ -153,31 +153,32 @@ static const uint32_t KR[5] = { 0x00000000u /* Round 5: 0 */ }; -static inline void byteswap32(uint32_t *v) -{ - union { uint32_t w; uint8_t b[4]; } x, y; +static inline void byteswap32(uint32_t *v) { + union { + uint32_t w; + uint8_t b[4]; + } x, y; - x.w = *v; - y.b[0] = x.b[3]; - y.b[1] = x.b[2]; - y.b[2] = x.b[1]; - y.b[3] = x.b[0]; - *v = y.w; + x.w = *v; + y.b[0] = x.b[3]; + y.b[1] = x.b[2]; + y.b[2] = x.b[1]; + y.b[3] = x.b[0]; + *v = y.w; - /* Wipe temporary variables */ - x.w = y.w = 0; + /* Wipe temporary variables */ + x.w = y.w = 0; } -static inline void byteswap_digest(uint32_t *p) -{ - unsigned int i; +static inline void byteswap_digest(uint32_t *p) { // @suppress("Unused static function") + unsigned int i; - for (i = 0; i < 4; i++) { - byteswap32(p++); - byteswap32(p++); - byteswap32(p++); - byteswap32(p++); - } + for (i = 0; i < 4; i++) { + byteswap32(p++); + byteswap32(p++); + byteswap32(p++); + byteswap32(p++); + } } /* The RIPEMD160 compression function. */ diff --git a/bfclient/src/util/bytestr.cpp b/bfclient/src/util/bytestr.cpp index f16a481..5106fb0 100644 --- a/bfclient/src/util/bytestr.cpp +++ b/bfclient/src/util/bytestr.cpp @@ -59,9 +59,7 @@ void bytestr::set(const byte* fromBytes, int len) { } } -bool bytestr::isEmpty(void){ - return bytes.empty(); -} +bool bytestr::isEmpty(void) { return (bytes.empty()); } const byte& bytestr::operator[](const int index) const { return (bytes[index]); 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 606ff25..a56ff1d 100644 --- a/cnc/src/main/java/org/btcollider/cnc/comm/ClientWorker.java +++ b/cnc/src/main/java/org/btcollider/cnc/comm/ClientWorker.java @@ -42,7 +42,7 @@ public class ClientWorker implements Runnable { try { cmd = in.readLine(); } catch (IOException e) { - log.error("Couldn't read command from communication channel"); + log.error("Couldn't read command from communication channel", e); closeCommChannel(); return; } @@ -101,7 +101,13 @@ public class ClientWorker implements Runnable { private void retrieveResult() { try { - String[] result = in.readLine().split(" "); // TODO: null check for in.readLine() + String tmpRes = in.readLine(); + if (tmpRes == null) { + log.warn("Couldn't read result from {}", clientSocket.getRemoteSocketAddress()); + return; + } + + String[] result = tmpRes.split(" "); 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/comm/CommServer.java b/cnc/src/main/java/org/btcollider/cnc/comm/CommServer.java index 059a0d9..2f4e2af 100644 --- a/cnc/src/main/java/org/btcollider/cnc/comm/CommServer.java +++ b/cnc/src/main/java/org/btcollider/cnc/comm/CommServer.java @@ -28,10 +28,10 @@ public class CommServer { ExecutorService es = Executors.newCachedThreadPool(); - while (true) { + while (true) { // NOSONAR try { Socket socket = serverSocket.accept(); - log.debug("Got connection from " + socket.getInetAddress()); + log.debug("Got connection from {}", socket.getInetAddress()); es.execute(new ClientWorker(socket, keyServer)); } catch (IOException e) { @@ -52,7 +52,7 @@ public class CommServer { this.serverSocket = new ServerSocket(port); } catch (IOException e) { log.error("Couldn't allocate server socket", e); - + throw new CommException(e); } } diff --git a/cnc/src/main/java/org/btcollider/cnc/dto/KeyRange.java b/cnc/src/main/java/org/btcollider/cnc/dto/KeyRange.java index a4250a5..45e3c8b 100644 --- a/cnc/src/main/java/org/btcollider/cnc/dto/KeyRange.java +++ b/cnc/src/main/java/org/btcollider/cnc/dto/KeyRange.java @@ -29,9 +29,7 @@ public class KeyRange { public Long getTotal() { // asserted that <= MAX_BITS, first long contains all significant bits - Long total = getEnd() - getStart() + 1; // +1 bc start is included too - - return total; + return (getEnd() - getStart() + 1); // +1 bc start is included too } @Override diff --git a/cnc/src/main/java/org/btcollider/cnc/keysrv/impl/keytree/KeyTreeServer.java b/cnc/src/main/java/org/btcollider/cnc/keysrv/impl/keytree/KeyTreeServer.java index 22a5aea..2c09559 100644 --- a/cnc/src/main/java/org/btcollider/cnc/keysrv/impl/keytree/KeyTreeServer.java +++ b/cnc/src/main/java/org/btcollider/cnc/keysrv/impl/keytree/KeyTreeServer.java @@ -32,7 +32,8 @@ public class KeyTreeServer implements KeyServer { prune(pruneKey); if (maxWorkSpan > 0) { - log.info("Starting KeyTree concierge"); + log.info("Starting KeyTree concierge with timeout {}s", + TimeUnit.MILLISECONDS.toSeconds(maxWorkSpan)); ScheduledExecutorService es = Executors.newSingleThreadScheduledExecutor(); es.scheduleWithFixedDelay(new KTConcierge(root, maxWorkSpan), 0, 30, TimeUnit.SECONDS); } else { @@ -51,9 +52,7 @@ public class KeyTreeServer implements KeyServer { keyEnd.or(keyStart); // set keyEnd to keyStart keyEnd.flip(0, index + 1 - depth); // reverse last bits - KeyRange kr = new KeyRange(keyStart, keyEnd); - - return kr; + return new KeyRange(keyStart, keyEnd); } public void setSearched(Long from, Long to) { @@ -81,7 +80,7 @@ public class KeyTreeServer implements KeyServer { } public String printDot() { - StringBuffer buffer = new StringBuffer(); + StringBuilder buffer = new StringBuilder(); buffer.append("strict graph { \n"); Queue frontier = new LinkedList<>(); @@ -233,12 +232,10 @@ public class KeyTreeServer implements KeyServer { private KeyTree generateKeyTree(int depth) { assert depth > 0; - KeyTree root = new KeyTree(true, null); - log.info("Starting recGenTree"); - recGenKeyTree(root, depth - 1); - log.info("Ending recGenTree"); + KeyTree genRoot = new KeyTree(true, null); + recGenKeyTree(genRoot, depth - 1); - return root; + return genRoot; } private void recGenKeyTree(KeyTree kt, int depth) { diff --git a/cnc/src/test/java/org/btcollider/cnc/keysrv/KeyServerTest.java b/cnc/src/test/java/org/btcollider/cnc/keysrv/KeyServerTest.java index 5593660..2bd1989 100644 --- a/cnc/src/test/java/org/btcollider/cnc/keysrv/KeyServerTest.java +++ b/cnc/src/test/java/org/btcollider/cnc/keysrv/KeyServerTest.java @@ -1,21 +1,17 @@ package org.btcollider.cnc.keysrv; -import static org.junit.jupiter.api.Assertions.*; - import java.util.concurrent.TimeUnit; - import org.btcollider.cnc.dto.KeyRange; -import org.btcollider.cnc.keysrv.impl.keytree.KeyTreeServer; import org.junit.jupiter.api.Test; class KeyServerTest { - @Test - void testMultiStagedServer() { - KeyServer ks = KSFactory.build(40, 30, 0, TimeUnit.SECONDS); - KeyRange kr = ks.getRange(); - ks.setInWork(kr); - ks.setSearched(kr); - } + @Test + void testMultiStagedServer() { + KeyServer ks = KSFactory.build(40, 30, 0, TimeUnit.SECONDS); + KeyRange kr = ks.getRange(); + ks.setInWork(kr); + ks.setSearched(kr); + } }