Re: rpcrt4: Use pseudo-random numbers to generate UUIDs rather than using the (old, deprecated) MAC-address-and-time generation algorithm (try 2)
Hi Juan, 2008/10/9 Juan Lang <juan.lang(a)gmail.com>:
+ RtlGenRandom(Uuid, sizeof(*Uuid)); + /* Clear the version bits and set the version (4) */ + Uuid->Data3 &= 0x0fff; + Uuid->Data3 |= (4 << 12);
The RFC recommends the following: o Set the two most significant bits (bits 6 and 7) of the clock_seq_hi_and_reserved to zero and one, respectively. However, I don't see that done in your patch. Also, I don't know what compatibility effect changing the algorithm will have on applications. Have you checked which algorithm recent versions of Windows use and what bits are set? -- Rob Shearman
Hi Rob,
The RFC recommends the following:
o Set the two most significant bits (bits 6 and 7) of the clock_seq_hi_and_reserved to zero and one, respectively.
However, I don't see that done in your patch.
Thanks, I missed that.
Have you checked which algorithm recent versions of Windows use and what bits are set?
Yes, they use this version of the algorithm, and have for some time now. I just verified on Win2k. (So does uuidgen on Linux.) UuidCreateSequential may use the old algorithm, I'm not sure. I'll update the patch. It'll still cause intermittent failures in the quartz tests, which I don't believe are truly caused by the change, so perhaps it'll never get in. --Juan
participants (2)
-
Juan Lang -
Rob Shearman