Date: Fri, 23 Jan 2004 09:53:22 +0100 From: "Ralf S. Engelschall" <rse@engelschall.com> To: Marcel Moolenaar <marcel@xcllnt.net> Cc: cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/kern kern_uuid.c Message-ID: <20040123085322.GA89499@engelschall.com> In-Reply-To: <20040122232022.GA77798@ns1.xcllnt.net> References: <200401221334.i0MDYB1K018137@repoman.freebsd.org> <20040122232022.GA77798@ns1.xcllnt.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Jan 22, 2004, Marcel Moolenaar wrote: > On Thu, Jan 22, 2004 at 05:34:11AM -0800, Ralf S. Engelschall wrote: > > rse 2004/01/22 05:34:11 PST > > > > FreeBSD src repository > > > > Modified files: > > sys/kern kern_uuid.c > > Log: > > Fix generation of random multicast MAC address. > > An excellent catch and an outstanding commit log. Chapeau! Thanks. You can image how surprised and confused I was during discovering this standards bug. Especially, because all(!) six freely available UUID implementations (FreeBSD's kern_uuid.c, Linux' e2fsprogs's libuuid, Perl's Data::UUID, Apache's apt-util, Java's JUG and Wine's UUID generator) I evaluated also have inherited this bug similarly. Three of them (our FreeBSD one here, the Apache APR-Util and the Perl Data::UUID) I've now already fixed myself. For the others I've sent patches to the authors. I discovered this bug during development of my portable UUID toolkit OSSP uuid (see http://www.ossp.org/pkg/lib/uuid/). Once I had the UUID decoding functionality in place ("uuid -d"), I recognized that the MAC addresses in all v1 UUIDs generated with other libraries were not always decoded as "multicast". So I was puzzled whether I decoded it incorrectly or MAC addresses were generated incorrectly. I digged deeper and had to found out that the bug was already in the reference code of the expired UUID draft. Interestingly, the DCE 1.1 and ISO guys are lucky, they do not deal with the fact that an IEEE 802 MAC address cannot be determined at all and so do not mention how to generate a random multicast MAC address instead ;-) Ralf S. Engelschall rse@engelschall.com www.engelschall.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040123085322.GA89499>