]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
Compile fix for OpenBSD.
authorTimo Sirainen <tss@iki.fi>
Mon, 19 Sep 2011 15:28:14 +0000 (18:28 +0300)
committerTimo Sirainen <tss@iki.fi>
Mon, 19 Sep 2011 15:28:14 +0000 (18:28 +0300)
src/lib/network.c

index 2f10827e96c3cd63f47a3aab9e5d22c7b6685c8d..26f0911594a8fbf53668eaadced1eb0991fa8e17 100644 (file)
@@ -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;