Summary: | Failed to bind socket "127.0.0.1:444": Permission denied | ||
---|---|---|---|
Product: | dbus | Reporter: | Ralf Habacker <ralf.habacker> |
Component: | core | Assignee: | D-Bus Maintainers <dbus> |
Status: | RESOLVED DUPLICATE | QA Contact: | D-Bus Maintainers <dbus> |
Severity: | normal | ||
Priority: | medium | ||
Version: | unspecified | ||
Hardware: | Other | ||
OS: | Windows (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: | test case |
This is something that Wine cannot accurately emulate. On Linux, only root may bind to ports < 1024; on Windows, anyone may do so. So this behaviour would be fine on real Windows, but is not OK under Wine. If libdbus is calling (pseudocode) bind(address=127.0.0.1, port=0) then I would expect the kernel (or the part of Wine that emulates the Windows kernel) to give it a high port number. That's what happens on native Linux. Was this before we fixed the incorrect endianness thing? If so, then it's probably fixed now. I suspect that what happened is: * we call bind() with port 0 * the kernel gives us port 48129 (0xbc01) * we store the byteswapped port number 444 (0x01bc) and do the goto * we call bind() with the incorrect port 444 * the kernel says no, because 444 < 1024 If it works for you now (manual-tcp worked for me while I was preparing 1.9.8) then we can close this as a dup of Bug #87999. (In reply to Simon McVittie from comment #2) > Was this before we fixed the incorrect endianness thing? > > If so, then it's probably fixed now. I suspect that what happened is: > > * we call bind() with port 0 > * the kernel gives us port 48129 (0xbc01) > * we store the byteswapped port number 444 (0x01bc) and do the goto > * we call bind() with the incorrect port 444 > * the kernel says no, because 444 < 1024 > > If it works for you now (manual-tcp worked for me while I was preparing > 1.9.8) then we can close this as a dup of Bug #87999. Works for me too, thanks for investigation. *** This bug has been marked as a duplicate of bug 87999 *** |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.
Created attachment 112929 [details] test case Running the cross compiled test-tcp executable from the appended test case with wine 1.7.35 on opensuse 13.1 x86_64 shows the following error messages several times: 173: org.freedesktop.DBus.Error.Failed Failed to bind socket "127.0.0.1:137": Permission denied 218: org.freedesktop.DBus.Error.Failed Failed to bind socket "127.0.0.1:488": Permission denied 309: org.freedesktop.DBus.Error.Failed Failed to bind socket "127.0.0.1:1002": Permission denied 350: org.freedesktop.DBus.Error.Failed Failed to bind socket "127.0.0.1:150": Permission denied 370: org.freedesktop.DBus.Error.Failed Failed to bind socket "127.0.0.1:657": Permission denied 443: org.freedesktop.DBus.Error.Failed Failed to bind socket "127.0.0.1:160": Permission denied 447: org.freedesktop.DBus.Error.Failed Failed to bind socket "127.0.0.1:195": Permission denied 575: org.freedesktop.DBus.Error.Failed Failed to bind socket "127.0.0.1:219": Permission denied 610: org.freedesktop.DBus.Error.Failed Failed to bind socket "127.0.0.1:938": Permission denied 616: org.freedesktop.DBus.Error.Failed Failed to bind socket "127.0.0.1:951": Permission denied 664: org.freedesktop.DBus.Error.Failed Failed to bind socket "127.0.0.1:405": Permission denied 725: org.freedesktop.DBus.Error.Failed Failed to bind socket "127.0.0.1:700": Permission denied 734: org.freedesktop.DBus.Error.Failed Failed to bind socket "127.0.0.1:208": Permission denied 841: org.freedesktop.DBus.Error.Failed Failed to bind socket "127.0.0.1:965": Permission denied 860: org.freedesktop.DBus.Error.Failed Failed to bind socket "127.0.0.1:697": Permission denied 864: org.freedesktop.DBus.Error.Failed Failed to bind socket "127.0.0.1:920": Permission denied 930: org.freedesktop.DBus.Error.Failed Failed to bind socket "127.0.0.1:940": Permission denied