From 3c969a975ccb70755c046a8b0b5abde3e0a2d08913e77205fee4cf3e0ef6f7bd Mon Sep 17 00:00:00 2001 From: Stefan Dirsch Date: Wed, 6 Mar 2024 15:33:55 +0000 Subject: [PATCH] Accepting request 1155610 from home:favogt:branches:X11:XOrg - Fix n_If-auth-with-credentials-for-hostname-fails-retry-with-XAUTHLOCALHOSTNAME.patch, the rebase in 1.16 caused an regression: It loops indefinitely if XAUTHLOCALHOSTNAME is unset (boo#1221078) OBS-URL: https://build.opensuse.org/request/show/1155610 OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/libxcb?expand=0&rev=74 --- libxcb.changes | 7 ++++ ...-fails-retry-with-XAUTHLOCALHOSTNAME.patch | 33 ++++++++++--------- 2 files changed, 24 insertions(+), 16 deletions(-) diff --git a/libxcb.changes b/libxcb.changes index cec3a53..e69bf2c 100644 --- a/libxcb.changes +++ b/libxcb.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Wed Mar 6 15:18:25 UTC 2024 - Fabian Vogt + +- Fix n_If-auth-with-credentials-for-hostname-fails-retry-with-XAUTHLOCALHOSTNAME.patch, + the rebase in 1.16 caused an regression: It loops indefinitely if + XAUTHLOCALHOSTNAME is unset (boo#1221078) + ------------------------------------------------------------------- Sun Mar 3 02:58:42 UTC 2024 - Stefan Dirsch diff --git a/n_If-auth-with-credentials-for-hostname-fails-retry-with-XAUTHLOCALHOSTNAME.patch b/n_If-auth-with-credentials-for-hostname-fails-retry-with-XAUTHLOCALHOSTNAME.patch index 457fa2a..bb90a53 100644 --- a/n_If-auth-with-credentials-for-hostname-fails-retry-with-XAUTHLOCALHOSTNAME.patch +++ b/n_If-auth-with-credentials-for-hostname-fails-retry-with-XAUTHLOCALHOSTNAME.patch @@ -11,10 +11,10 @@ Signed-off-by: Egbert Eich src/xcb_auth.c | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) -Index: libxcb-1.16/src/xcb_auth.c +Index: libxcb-1.16.1/src/xcb_auth.c =================================================================== ---- libxcb-1.16.orig/src/xcb_auth.c -+++ libxcb-1.16/src/xcb_auth.c +--- libxcb-1.16.1.orig/src/xcb_auth.c ++++ libxcb-1.16.1/src/xcb_auth.c @@ -110,7 +110,7 @@ static int authname_match(enum auth_prot #define SIN6_ADDR(s) (&((struct sockaddr_in6 *)s)->sin6_addr) @@ -33,7 +33,7 @@ Index: libxcb-1.16/src/xcb_auth.c family = FamilyLocal; /* 256 */ switch(sockname->sa_family) { -@@ -163,17 +165,22 @@ static Xauth *get_authptr(struct sockadd +@@ -163,18 +165,23 @@ static Xauth *get_authptr(struct sockadd addrlen = strlen(addr); } @@ -61,11 +61,12 @@ Index: libxcb-1.16/src/xcb_auth.c + (unsigned short) strlen(addr), addr, + (unsigned short) dispbuflen, dispbuf, + N_AUTH_PROTOS, authnames, authnameslen); -+ *stage = 2; -+ return authptr; } ++ *stage = 2; ++ return authptr; } return authptr; + } @@ -329,7 +336,7 @@ static struct sockaddr *get_peer_sock_na return NULL; } @@ -84,10 +85,10 @@ Index: libxcb-1.16/src/xcb_auth.c if (authptr == 0) { free(sockname); -Index: libxcb-1.16/src/xcbint.h +Index: libxcb-1.16.1/src/xcbint.h =================================================================== ---- libxcb-1.16.orig/src/xcbint.h -+++ libxcb-1.16/src/xcbint.h +--- libxcb-1.16.1.orig/src/xcbint.h ++++ libxcb-1.16.1/src/xcbint.h @@ -232,7 +232,7 @@ int _xcb_conn_wait(xcb_connection_t *c, /* xcb_auth.c */ @@ -97,11 +98,11 @@ Index: libxcb-1.16/src/xcbint.h #ifdef GCC_HAS_VISIBILITY #pragma GCC visibility pop -Index: libxcb-1.16/src/xcb_util.c +Index: libxcb-1.16.1/src/xcb_util.c =================================================================== ---- libxcb-1.16.orig/src/xcb_util.c -+++ libxcb-1.16/src/xcb_util.c -@@ -514,6 +514,7 @@ xcb_connection_t *xcb_connect_to_display +--- libxcb-1.16.1.orig/src/xcb_util.c ++++ libxcb-1.16.1/src/xcb_util.c +@@ -516,6 +516,7 @@ xcb_connection_t *xcb_connect_to_display char *protocol = NULL; xcb_auth_info_t ourauth; xcb_connection_t *c; @@ -109,7 +110,7 @@ Index: libxcb-1.16/src/xcb_util.c int parsed = _xcb_parse_display(displayname, &host, &protocol, &display, screenp); -@@ -530,6 +531,7 @@ xcb_connection_t *xcb_connect_to_display +@@ -532,6 +533,7 @@ xcb_connection_t *xcb_connect_to_display } #endif @@ -117,7 +118,7 @@ Index: libxcb-1.16/src/xcb_util.c fd = _xcb_open(host, protocol, display); if(fd == -1) { -@@ -543,7 +545,7 @@ xcb_connection_t *xcb_connect_to_display +@@ -545,7 +547,7 @@ xcb_connection_t *xcb_connect_to_display if(auth) { c = xcb_connect_to_fd(fd, auth); } @@ -126,7 +127,7 @@ Index: libxcb-1.16/src/xcb_util.c { c = xcb_connect_to_fd(fd, &ourauth); free(ourauth.name); -@@ -552,8 +554,11 @@ xcb_connection_t *xcb_connect_to_display +@@ -554,8 +556,11 @@ xcb_connection_t *xcb_connect_to_display else c = xcb_connect_to_fd(fd, 0);