Just to add my 2c on this issue. I was getting this once in a while as well, when I finally tracked it down, to the above reason(although it was an older version.) it was actually pulling a random interface each time my computer rebooted as being the one chosen. In the list of random devices, there were 4 that had random(potentially) mac addresses each time, cisco vpn adapter, ieee1394(firewire) connector, hamachi adapter, and a loopback adaptor(I use it for testing things, but it was disabled at the time it was picked)
I'm aware that there are probably hundreds of potential software interfaces that all return psuedo random addresses each time, or some that always return invalid addresses(seem to remember one that returned 00:00:00:00:00:00 every time), to make matters worse, you can arbitrarily rename adapters under all versions of windows. There should likely be a bit of investigation done into determining the outgoing interface used for a given address(I suspect there is a way to determine such), and using that interfaces hardware address. Under mac and *nix variants, once can query the kernel routing table to determine the outgoing interface for a specific address, so it should be significantly easier under those two. As for why the function doesn't already do this, I'd guess it was simplicity, or the assumption that the operating system would return the physical/activated/highest priority interface first in the list, although this doesn't appear to be ALWAYS true under any of the operating systems supported. On Fri, Jun 18, 2010 at 08:19, Kitty <sl...@catznip.com> wrote: > I tried to log on this morning and got a "Second Life can not be accessed > from this computer"... naughty me! :o. > > Looking into it only that particular puter was "banned" and even then it was > restricted to only 2.1 (my own build and the official one). > > Delving deeper the problem seems to be that LLUUID::getNodeID() is using > GetIfTable() table to enumerate over the available interfaces and just > returns the MAC of the first ethernet one it comes across... which happens > to be the MAC of the WAN miniport *software* interface which has a different > MAC generated every time the puter is rebooted. > > Just my luck that a randomly generated MAC happens to be a blacklisted one > :p. > > Is there any reason why GetAdaptersInfo() isn't used to get the MAC of the > *physical* network interface(s)? *confuzzled* > > Aside from the issue I ran into where a random MAC turned out to be banned, > the (official) viewer shouldn't be effectively spoofing the MAC address by > just sending something "random" either? > > Additionally fixing that bug probably means that LLMachineID::init() can be > reverted to using the MAC address again since it has a comment about the MAC > address seemingly changing across reboots and has work-around code there to > use the BIOS serial instead? > > Kitty > > _______________________________________________ > Policies and (un)subscribe information available here: > http://wiki.secondlife.com/wiki/OpenSource-Dev > Please read the policies before posting to keep unmoderated posting privileges > _______________________________________________ Policies and (un)subscribe information available here: http://wiki.secondlife.com/wiki/OpenSource-Dev Please read the policies before posting to keep unmoderated posting privileges