[Xcb-commit] src

Julien Danjou jdanjou at kemper.freedesktop.org
Sat Mar 13 07:20:33 PST 2010


 src/xcb_auth.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

New commits:
commit d18d03d6f37ec220805855d840950716e22354e4
Author: Samuel Thibault <samuel.thibault at ens-lyon.org>
Date:   Fri Mar 12 23:51:32 2010 +0100

    Fix authentication on hpux and Hurd
    
    libxcb's 010e5661 (Fix XDM-AUTHORIZATION-1 (bug #14202)) mistakenly
    inverted a few lines of code, making local socket authentication fail on
    hpux and Hurd: when getpeername fails, sockname needs to be initialized
    by getsockname before its address family can be checked.
    
    Signed-off-by: Samuel Thibault <samuel.thibault at ens-lyon.org>
    Signed-off-by: Julien Danjou <julien at danjou.info>

diff --git a/src/xcb_auth.c b/src/xcb_auth.c
index 104f2f0..00aad23 100644
--- a/src/xcb_auth.c
+++ b/src/xcb_auth.c
@@ -260,10 +260,10 @@ int _xcb_get_auth_info(int fd, xcb_auth_info_t *info, int display)
      * case anyway.*/
     if (getpeername(fd, sockname, &socknamelen) == -1)
     {
-        if (sockname->sa_family != AF_UNIX)
-            return 0;   /* except for AF_UNIX, sockets should have peernames */
         if (getsockname(fd, sockname, &socknamelen) == -1)
             return 0;   /* can only authenticate sockets */
+        if (sockname->sa_family != AF_UNIX)
+            return 0;   /* except for AF_UNIX, sockets should have peernames */
         gotsockname = 1;
     }
 


More information about the xcb-commit mailing list