fix --dev-random mode (multipliers still buggy)

This commit is contained in:
Manuel Domke
2018-08-15 17:21:59 +02:00
parent 9f241bcd27
commit 25605e673e
2 changed files with 8 additions and 6 deletions

View File

@@ -88,9 +88,10 @@ bool outputBytes(uint8_t *bytes, uint32_t length, uint32_t entropy, bool writeDe
#ifdef LINUX #ifdef LINUX
//fputs("room?", stderr); //fputs("room?", stderr);
inmWaitForPoolToHaveRoom(); inmWaitForPoolToHaveRoom();
//fputs("room!", stderr); fputs("room!", stderr);
//printf("length: - %ul\n", length); printf("length: - %ul\n", length);
//printf("entropy: - %ul\n", entropy); printf("entropy: - %ul\n", entropy);
//fwrite(bytes, 1, length, stdout);
inmWriteEntropyToPool(bytes, length, entropy); inmWriteEntropyToPool(bytes, length, entropy);
#endif #endif
} }
@@ -286,7 +287,7 @@ int main(int argc, char **argv) {
uint8_t result[resultSize]; uint8_t result[resultSize];
uint64_t bytesWritten = readData(&context, result, opts.raw, opts.outputMultiplier); uint64_t bytesWritten = readData(&context, result, opts.raw, opts.outputMultiplier);
totalBytesWritten += bytesWritten; totalBytesWritten += bytesWritten;
//fprintf(stderr, "Stats: %d\n", context.entropyThisTime); fprintf(stderr, "Stats: %d\n", context.entropyThisTime);
if (context.errorFlag) { if (context.errorFlag) {
fprintf(stderr, "Error: %s\n", context.message); fprintf(stderr, "Error: %s\n", context.message);
@@ -294,6 +295,7 @@ int main(int argc, char **argv) {
} }
if (!opts.noOutput) { if (!opts.noOutput) {
fprintf(stderr, "E: %ul\n", context.entropyThisTime);
if (!outputBytes(result, bytesWritten, context.entropyThisTime, opts.devRandom, if (!outputBytes(result, bytesWritten, context.entropyThisTime, opts.devRandom,
&context.message)) { &context.message)) {
fprintf(stderr, "Error: %s\n", context.message); fprintf(stderr, "Error: %s\n", context.message);

View File

@@ -177,7 +177,7 @@ uint32_t processBytes(uint8_t *bytes, uint8_t *result, uint32_t *entropy,
bytesWritten += bytesToWrite; bytesWritten += bytesToWrite;
numBits -= bytesToWrite * 8u; numBits -= bytesToWrite * 8u;
*entropy -= entropyThisTime; //*entropy -= entropyThisTime;
if (numBits > 0u) { if (numBits > 0u) {
KeccakPermutation(keccakState); KeccakPermutation(keccakState);
} }
@@ -188,7 +188,7 @@ uint32_t processBytes(uint8_t *bytes, uint8_t *result, uint32_t *entropy,
*errorFlag = true; *errorFlag = true;
return 0; return 0;
} }
//fprintf(stderr, "bytesWritten_end: %ul\n", bytesWritten); fprintf(stderr, "bytesWritten_end: %ul\n", bytesWritten);
return bytesWritten; return bytesWritten;
} }