From owner-cvs-src@FreeBSD.ORG Fri Jan 23 00:53:53 2004 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5E4B316A4CE; Fri, 23 Jan 2004 00:53:53 -0800 (PST) Received: from visp.engelschall.com (visp.engelschall.com [195.27.176.148]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1914143D2D; Fri, 23 Jan 2004 00:53:51 -0800 (PST) (envelope-from rse@engelschall.com) Received: by visp.engelschall.com (Postfix, from userid 1005) id D05184CE551; Fri, 23 Jan 2004 09:53:51 +0100 (CET) Received: by en1.engelschall.com (Postfix, from userid 10000) id 8CC9F287F5; Fri, 23 Jan 2004 09:53:22 +0100 (CET) Date: Fri, 23 Jan 2004 09:53:22 +0100 From: "Ralf S. Engelschall" To: Marcel Moolenaar Message-ID: <20040123085322.GA89499@engelschall.com> References: <200401221334.i0MDYB1K018137@repoman.freebsd.org> <20040122232022.GA77798@ns1.xcllnt.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20040122232022.GA77798@ns1.xcllnt.net> User-Agent: Mutt/1.4.1i Organization: Engelschall, Germany. X-Web-Homepage: http://www.engelschall.com/ X-PGP-Public-Key: http://www.engelschall.com/ho/rse/pgprse.asc X-PGP-Fingerprint: 00 C9 21 8E D1 AB 70 37 DD 67 A2 3A 0A 6F 8D A5 cc: cvs-src@FreeBSD.org cc: src-committers@FreeBSD.org cc: cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/kern kern_uuid.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: rse@engelschall.com List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 23 Jan 2004 08:53:53 -0000 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