[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
| [mosquitto-dev] library clientid not random enough | 
Hi,
I found some log messages at the mosquitto broker regarding 
dis-/reconnects that were caused by clients using the same clientid. I'm 
using the automatic generation of clientids in the call mosquitto_new().
So what exactly happens is the following: two clients starting 
*simultaneously* on different computers. Sometimes they get the same 
clientid.
Digging into the library code I was searching for the seeding of PRNG 
and found it in mosquitto_lib_init(). The PRNG is only seeded with the 
current time, which can be equal on different computers. In my opinion 
it should be seeded not only with time, but with some better randomness, 
so that collisions between different clients are reduced. Is using time 
and getpid() a better candidate? Using /dev/random seems like breaking a 
fly on the wheel.
tty, Stefan.
--
Stefan May
Department MPS
Deutsches Elektronen-Synchrotron DESY
A Research Centre of the Helmholtz Association
Notkestr. 85, 22607 Hamburg
Phone: +49-40-8998-4636
for guests: Bldg. 30/Rm. 419