Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-16090

QLocalSocket should support the abstract namespace on Linux

    XMLWordPrintable

    Details

      Description

      man 7 UNIX:

      • abstract: an abstract socket address is distinguished by the fact
        that sun_path[0] is a null byte ('\0'). All of the remaining bytes
        in sun_path define the "name" of the socket. (Null bytes in the
        name have no special significance.) The name has no connection with
        file system pathnames. The socket's address in this namespace is
        given by the rest of the bytes in sun_path. When the address of an
        abstract socket is returned by getsockname(2), getpeername(2), and
        accept(2), its length is sizeof(struct sockaddr_un), and sun_path
        contains the abstract name. The abstract socket namespace is a non‐
        portable Linux extension.

      Note: The abstract socket namespace is a non‐portable Linux extension.

      In some secured Linux systems (chrooted environment, cgroup, nfs and so on ) there is no writable places at all. So some Qt programs does not work.

      I think, especially for linux, "abstract" sockets should be created instead of generic. Most of the modern programs for linux (DBus, Xorg, udev and many more).

      P.S. Please convert to suggestion for future release instead of closing bug as "invalid".

        Attachments

          Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            Activity

              People

              Assignee:
              piotrmi Piotr Mikolajczyk
              Reporter:
              socketpair@gmail.com Коренберг Марк
              Votes:
              7 Vote for this issue
              Watchers:
              17 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Gerrit Reviews

                  There are no open Gerrit changes