Subject | Re: GUID_CREATE() Node Identifier |
---|---|
Author | Joe |
Post date | 2009-10-30T15:22:47Z |
I actually just figured it out by looking at the source code for the DLL. The DLL generates a random number and stores it in a file called "nodeid" in the Windows\System32 folder, and uses that number as the node identifer for all future GUID generating. It doesn't make a system call to the OS.
-Joe
-Joe
--- In firebird-support@yahoogroups.com, Alexandre Benson Smith <iblist@...> wrote:
>
> Joe wrote:
> > I am trying to troubleshoot an issue with a client, and I need to figure out which computer on the network is creating certain records. The table has a GUID as its key. I am using GUID_CREATE() from UUIDLIB.DLL with Firebird 1.
> >
> > I know that the last set of 12 digits is the node identifier, and it's supposed to be based on the MAC address. However, in doing a test myself, it doesn't seem to match the MAC address exactly.
> >
> > Is the MAC address somehow encoded or manipulated in some way before use in the GUID that is created?
> >
>
> I believe so... On the past MS implementation of UUID that is called
> GUID does not encode the MAC Address, so it was possible to track down a
> given GUID to a specific computer, that is the way the caught the
> Melissa worm writer. This has been changed to protect personal identity.
> All this is from the top of my head, so perhaps not 100% accurate...
>
> > One other question... When used in a client-server situation, is the GUID based on the MAC address of the client, or the Firebird server?
> >
>
> I don't know the internals of the implementation, but I suppose FB makes
> a system call to get the UUID/GUID, so this happens on the server side...
>
> > -Joe
> >
>
>
> --
> Alexandre Benson Smith
> Development
> THOR Software e Comercial Ltda
> Santo Andre - Sao Paulo - Brazil
> www.thorsoftware.com.br
>