• J
    systemd: fix ready notification on abstract socket · c8f08e48
    Jim Fehlig 提交于
    At least with systemd v210, NOTIFY_SOCKET is abstact, e.g.
    @/org/freedesktop/systemd1/notify. sendmsg() fails on such a socket
    with "Connection refused". The unix(7) man page contains the following
    details wrt abstract socket addresses
    
    abstract: an abstract socket address is distinguished (from a
              pathname socket) by the fact that sun_path[0] is a null byte
              ('\0').  The socket's address in this namespace is given by the
              additional bytes in sun_path that are covered by the specified
              length of the address structure.  (Null bytes in the name have
              no special significance.)
    
    So we need to be more precise about the address length, setting it to
    the sizeof sa_family_t + length of address copied to sun_path instead
    of setting it to the sizeof the entire sockaddr_un struct.
    
    Resolves: https://bugzilla.opensuse.org/show_bug.cgi?id=987668Signed-off-by: NJim Fehlig <jfehlig@suse.com>
    c8f08e48
virsystemd.c 17.1 KB