+ {
+ if (getsockname(fd, sockname, &socknamelen) == -1)
+ return 0; /* can only authenticate sockets */
+ if (sockname->sa_family != AF_UNIX)
+ return 0;
+ /* Some systems like hpux or Hurd do not expose peer names
+ * for UNIX Domain Sockets. We do not need it anyway. */
+ }