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

Reply via email to