Hi Adeodato!
You wrote:
> # Bas, let's treat the BTS nice, now that it has version tracking. :)
> # Let me know if the version I'm giving is not accurate.
Oops, sorry about that (that was my locally patches version, obviously).
It seems I also forgot to attach the patch:
diff -Naur amule-2.1.0/src/CryptoPP.cpp amule-2.1.0.bas/src/CryptoPP.cpp
--- amule-2.1.0/src/CryptoPP.cpp 2005-11-20 02:15:12.000000000 +0100
+++ amule-2.1.0.bas/src/CryptoPP.cpp 2006-01-28 22:29:21.000000000 +0100
@@ -9228,23 +9228,21 @@
NonblockingRng::NonblockingRng()
{
#ifndef CRYPTOPP_WIN32_AVAILABLE
- m_fd = open("/dev/urandom",O_RDONLY);
- if (m_fd == -1)
- throw OS_RNG_Err("open /dev/urandom");
+ struct timeval tijd;
+ gettimeofday(&tijd,NULL);
+ srand(tijd.tv_usec);
#endif
}
NonblockingRng::~NonblockingRng()
{
-#ifndef CRYPTOPP_WIN32_AVAILABLE
- close(m_fd);
-#endif
}
byte NonblockingRng::GenerateByte()
{
byte b;
- GenerateBlock(&b, 1);
+ int i = rand();
+ memcpy(&b,&i,1);
return b;
}
@@ -9257,13 +9255,9 @@
if (!CryptGenRandom(m_Provider.GetProviderHandle(), size, output))
throw OS_RNG_Err("CryptGenRandom");
#else
- if ((unsigned int)read(m_fd, output, size) != size) {
- // Kernel 2.6.10 has non-concurrent access to /dev/urandom,
retry at least once
- printf("Shamelessly retrying a random generation attempt\n");
- if ((unsigned int)read(m_fd, output, size) != size) {
- printf("Error reading /dev/urandom! (kernel
2.6.10?)\n");
- throw OS_RNG_Err("read /dev/urandom");
- }
+ while (size--)
+ {
+ *(output++) = GenerateByte();
}
#endif
}
--
Kind regards,
+--------------------------------------------------------------------+
| Bas Zoetekouw | GPG key: 0644fab7 |
|----------------------------| Fingerprint: c1f5 f24c d514 3fec 8bf6 |
| [EMAIL PROTECTED], [EMAIL PROTECTED] | a2b1 2bae e41f 0644 fab7 |
+--------------------------------------------------------------------+
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]