From: Timo Sirainen Date: Mon, 19 Sep 2011 15:28:14 +0000 (+0300) Subject: Compile fix for OpenBSD. X-Git-Tag: 2.1.beta1~165 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bb55679b0c4e767061909e6360220c94bddc68f2;p=thirdparty%2Fdovecot%2Fcore.git Compile fix for OpenBSD. --- diff --git a/src/lib/network.c b/src/lib/network.c index 2f10827e96..26f0911594 100644 --- a/src/lib/network.c +++ b/src/lib/network.c @@ -697,7 +697,14 @@ int net_getunixname(int fd, const char **name_r) int net_getunixcred(int fd, struct net_unix_cred *cred_r) { -#if defined(SO_PEERCRED) +#if defined(HAVE_GETPEEREID) + /* OSX 10.4+, FreeBSD 4.6+, OpenBSD 3.0+, NetBSD 5.0+ */ + if (getpeereid(fd, &cred_r->uid, &cred_r->gid) < 0) { + i_error("getpeereid() failed: %m"); + return -1; + } + return 0; +#elif defined(SO_PEERCRED) /* Linux */ struct ucred ucred; socklen_t len = sizeof(ucred); @@ -709,13 +716,6 @@ int net_getunixcred(int fd, struct net_unix_cred *cred_r) cred_r->uid = ucred.uid; cred_r->gid = ucred.gid; return 0; -#elif defined(HAVE_GETPEEREID) - /* OSX 10.4+, FreeBSD 4.6+, OpenBSD 3.0+, NetBSD 5.0+ */ - if (getpeereid(fd, &cred_r->uid, &cred_r->gid) < 0) { - i_error("getpeereid() failed: %m"); - return -1; - } - return 0; #elif defined(HAVE_GETPEERUCRED) /* Solaris */ ucred_t *ucred;