Skip to content
  • Allison Karlitskaya's avatar
    Bug 585575 – g_socket_listener_add_inet_port() · cb1a6092
    Allison Karlitskaya authored
    Change the logic in g_socket_listener_add_inet_port() as per the
    reasoning in the bug report.
    
      - If the OS supports neither IPv6 or IPv4, fail.
      - If the OS supports only IPv6, do that.
      - If the OS supports only IPv4, do that.
      - If the OS supports IPv6 and IPv6 "speaks" IPv4 then bind it
        and be done.
      - If the OS supports IPv6 and IPv6 doesn't "speak" IPv4 then
        create an additional socket for IPv4.
      - If binding any socket fails then fail the entire call.
    
    Also, remove the ability to call this function with port == 0.  This
    is a useless thing to do anyway since you have no way to know what
    port number was actually allocated.  We should have a separate
    function to deal with this.
    cb1a6092