http://bugs.winehq.org/show_bug.cgi?id=22355
Summary: EVE Online responds with "Connection Failure: Handshake Error" on login attempt. Product: Wine Version: unspecified Platform: x86 OS/Version: FreeBSD Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: daemon.wizard@gmail.com
I've got wine 1.1.42 running on an FreeBSD-8/amd64. This was built using a chrooted i386, http://wiki.freebsd.org/Wine#head-6963d527c173e57b1567e881305b544d33435b6d
Corefonts have been installed using winetricks.
The EVE Online client installation was successful, and the game performs as expected presenting the login screen. However, any attempt to login returns:
"Connection Failure: Handshake Error"
Googling around reveals that a possible patch at:
http://eve-search.com/thread/1240674
However, I cannot inspect the patch tarball as the link is out of date. One of the patch is for SSE detection on FreeBSD (for Audio), the other is for dlls/iphlpapi/ifenum.c - which is where I suspect the problem lies.
http://bugs.winehq.org/show_bug.cgi?id=22355
--- Comment #1 from Juan Lang juan_lang@yahoo.com 2010-04-13 20:03:12 --- Console output? +iphlpapi log?
http://bugs.winehq.org/show_bug.cgi?id=22355
Vitaliy Margolen vitaliy@kievinfo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|unspecified |1.1.42
http://bugs.winehq.org/show_bug.cgi?id=22355
--- Comment #2 from Jonathan Chen daemon.wizard@gmail.com 2010-04-14 00:59:28 --- Created an attachment (id=27356) --> (http://bugs.winehq.org/attachment.cgi?id=27356) Console log WINEDEBUG=+iphlpapi
Console output from start to failed login attempt.
http://bugs.winehq.org/show_bug.cgi?id=22355
--- Comment #3 from Juan Lang juan_lang@yahoo.com 2010-04-14 09:22:40 --- Created an attachment (id=27358) --> (http://bugs.winehq.org/attachment.cgi?id=27358) Patch: Trace enumerating non-loopback interfaces
Please attach a +iphlpapi log with this patch. (It doesn't fix anything, it'll just give me more of a clue what's going on.)
http://bugs.winehq.org/show_bug.cgi?id=22355
Juan Lang juan_lang@yahoo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW CC| |juan_lang@yahoo.com Ever Confirmed|0 |1
--- Comment #4 from Juan Lang juan_lang@yahoo.com 2010-04-14 09:25:48 --- Confirming per comments in thread (comment 0).
http://bugs.winehq.org/show_bug.cgi?id=22355
--- Comment #5 from Jonathan Chen daemon.wizard@gmail.com 2010-04-15 03:33:38 --- The patch posted changes functionality, ie:
for (p = indexes, numInterfaces = 0; p && p->if_name; p++) + TRACE("%s %s a loopback interface\n", p->if_name, + isLoopbackInterface(fd, p->if_name) ? "is" : "is not"); if (!isLoopbackInterface(fd, p->if_name)) numInterfaces++; if_freenameindex(indexes);
If all we need is to add the trace shouldn't it be:
for (p = indexes, numInterfaces = 0; p && p->if_name; p++) + { + TRACE("%s %s a loopback interface\n", p->if_name, + isLoopbackInterface(fd, p->if_name) ? "is" : "is not"); if (!isLoopbackInterface(fd, p->if_name)) numInterfaces++; + } if_freenameindex(indexes);
And because some functionality has been changed, it now WORKS!
I've also attached the console.log, which seems to indicate that the TRACE is not invoked.
http://bugs.winehq.org/show_bug.cgi?id=22355
--- Comment #6 from Jonathan Chen daemon.wizard@gmail.com 2010-04-15 03:35:22 --- Created an attachment (id=27367) --> (http://bugs.winehq.org/attachment.cgi?id=27367) Console log with (incorrect?) patch enumerating non-loopback i/f
http://bugs.winehq.org/show_bug.cgi?id=22355
Juan Lang juan_lang@yahoo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #27367|application/octet-stream |text/plain mime type| |
http://bugs.winehq.org/show_bug.cgi?id=22355
--- Comment #7 from Juan Lang juan_lang@yahoo.com 2010-04-15 10:11:58 --- (In reply to comment #5)
The patch posted changes functionality, ie:
for (p = indexes, numInterfaces = 0; p && p->if_name; p++)
TRACE("%s %s a loopback interface\n", p->if_name,
isLoopbackInterface(fd, p->if_name) ? "is" : "is not"); if (!isLoopbackInterface(fd, p->if_name)) numInterfaces++; if_freenameindex(indexes);
If all we need is to add the trace shouldn't it be:
for (p = indexes, numInterfaces = 0; p && p->if_name; p++)
{
TRACE("%s %s a loopback interface\n", p->if_name,
isLoopbackInterface(fd, p->if_name) ? "is" : "is not"); if (!isLoopbackInterface(fd, p->if_name)) numInterfaces++;
} if_freenameindex(indexes);
Yes, you're right. Sorry about that. I'll comment on your trace separately.
http://bugs.winehq.org/show_bug.cgi?id=22355
--- Comment #8 from Juan Lang juan_lang@yahoo.com 2010-04-15 10:23:59 --- (In reply to comment #6)
Console log with (incorrect?) patch enumerating non-loopback i/f
In your log:
trace:iphlpapi:GetAdaptersInfo pAdapterInfo 0x0, pOutBufLen 0x34b790 trace:iphlpapi:GetAdaptersInfo returning 111 trace:iphlpapi:GetAdaptersInfo pAdapterInfo 0x81383aa8, pOutBufLen 0x34b790 trace:iphlpapi:AllocateAndGetIpForwardTableFromStack table 0x34b738, bOrder 0, heap 0x118000, flags 0x00000000 warn:iphlpapi:AllocateAndGetIpForwardTableFromStack Unexpected address type 0x10 warn:iphlpapi:AllocateAndGetIpForwardTableFromStack Unexpected address type 0x20 trace:iphlpapi:AllocateAndGetIpForwardTableFromStack returning ret 0 table 0xd5f9e28 trace:iphlpapi:GetAdaptersInfo returning 0
As you point out, the new trace isn't called. This indicates that if_nameindex is returning NULL on your system, or that every returned interface has an empty name. This is unexpected, and is a bug in your system, as far as I can tell.
Can you test a dummy program that calls if_nameindex and prints out the name of every interface it finds? If it works in a non-chroot environment, how about in a chroot environment?
http://bugs.winehq.org/show_bug.cgi?id=22355
Jonathan Chen daemon.wizard@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |INVALID
--- Comment #9 from Jonathan Chen daemon.wizard@gmail.com 2010-04-15 16:47:05 --- Bingo. This looks like an O/S related bug rather than a bug with wine.
From the non-chrooted environment:
osiris-~,9:42am> ifconfig xl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=8<VLAN_MTU> ether 00:60:97:a4:7f:82 inet 192.168.1.10 netmask 0xffffff00 broadcast 192.168.1.255 media: Ethernet autoselect (100baseTX <full-duplex>) status: active lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384 options=3<RXCSUM,TXCSUM> inet6 fe80::1%lo0 prefixlen 64 scopeid 0x7 inet6 ::1 prefixlen 128 inet 127.0.0.1 netmask 0xff000000 nd6 options=3<PERFORMNUD,ACCEPT_RTADV> osiris-~,9:42am> /compat/i386/sbin/ifconfig : flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> inet 192.168.1.10 netmask 0xffffff00 broadcast 192.168.1.255 inet 127.0.0.1 netmask 0xff000000 ifconfig: ioctl(SIOCGIFINFO_IN6): Device not configured
I'm marking the bug as 'RESOLVED'; I'll be raising it with FreeBSD about it.
Thanks for your interest in this.
http://bugs.winehq.org/show_bug.cgi?id=22355
Juan Lang juan_lang@yahoo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #10 from Juan Lang juan_lang@yahoo.com 2010-04-15 17:01:49 --- (In reply to comment #9)
osiris-~,9:42am> /compat/i386/sbin/ifconfig : flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> inet 192.168.1.10 netmask 0xffffff00 broadcast 192.168.1.255 inet 127.0.0.1 netmask 0xff000000
Ah, this is the chrooted environment? Yes, the name is empty, and that will cause issues. Thanks for following up, closing invalid.
http://bugs.winehq.org/show_bug.cgi?id=22355
--- Comment #11 from Jonathan Chen daemon.wizard@gmail.com 2010-05-30 18:49:45 --- This has now been fixed in FreeBSD 8-STABLE as of 31 May 2010.
http://bugs.winehq.org/show_bug.cgi?id=22355
Jonathan Chen daemon.wizard@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|INVALID |FIXED
http://bugs.winehq.org/show_bug.cgi?id=22355
Dmitry Timoshkov dmitry@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|FIXED |INVALID
--- Comment #12 from Dmitry Timoshkov dmitry@codeweavers.com 2010-06-11 01:06:31 --- Not a Wine bug.