[systemd-devel] [PATCH] rpcbind: add support for systemd socket activation
Lennart Poettering
lennart at poettering.net
Wed Feb 1 13:45:36 PST 2012
On Wed, 01.02.12 17:37, Tom Gundersen (teg at jklm.no) wrote:
> >> + /* Try to find if one of the systemd sockets we were given match
> >> + * our netconfig structure. */
> >> +
> >> + for (fd = SD_LISTEN_FDS_START; fd < SD_LISTEN_FDS_START + n; fd++) {
> >> + struct __rpc_sockinfo si_other;
> >> + union {
> >> + struct sockaddr sa;
> >> + struct sockaddr_un un;
> >> + struct sockaddr_in in4;
> >> + struct sockaddr_in6 in6;
> >> + struct sockaddr_storage storage;
> >> + } sa;
> >
> > Why is sockaddr_storage included in this union?
>
> This is from Lennart's original patch. Lennart, care to comment?
Well, simply because sockaddr_storage is the actual struct one should
normally use for this kind of thing (where you try to determine a
sockaddr from a socket you don't know at all). With one exception
however, sockaddr_un is actually longer than sockaddr_storage, which is
documented borkedness in the socket API.
Lennart
--
Lennart Poettering - Red Hat, Inc.
More information about the systemd-devel
mailing list