Accepting request 1106070 from X11:XOrg
- Update to version 1.16 * gitlab CI: add a basic build test * configure.ac: drop dependency `pthread-stubs` on Solaris * configure.ac: Remove obsolete AC_HEADER_STDC * Raise minimum required version of Python from 2.6 to 3.0 * Fix windows build. * Fix indentation. * Fix a compiler warning * Fix handling of documented enum parameters * Allow full paths to sockets on non-macOS * DISPLAY starting with / or unix: is always a socket path * Add tests for unix socket parsing * autogen.sh: use quoted string variables * c_client: Fix crash in xcb_randr_set_monitor * configure.ac: drop `pthread-stubs` dependency on DragonFly and FreeBSD * xcb_conn: Add a check for NULL to silence a UBSan runtime error * configure.ac: Require xcb-proto >= 1.16.0 * Fix xcb_connect() call with a custom xcb_auth_info_t * autogen: add default patch prefix * Build DOUBLE-BUFFER extension. * Require xcb-proto >= 1.15.1, which has Dbe * configure.ac: drop dependency `pthread-stubs` on macOS * autogen.sh: use exec instead of waiting for configure to finish * Improve tutorial example - adjusted bug-262309_xcb-xauthlocalhostname.diff, n_If-auth-with-credentials-for-hostname-fails-retry-with-XAUTHLOCALHOSTNAME.patch - added libxcb-dbe0 subpackage for libxcb-dbe.so.0* OBS-URL: https://build.opensuse.org/request/show/1106070 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libxcb?expand=0&rev=31
This commit is contained in:
commit
719bf2aea7
@ -1,16 +1,24 @@
|
|||||||
--- src/xcb_auth.c.orig 2009-05-29 17:48:24.000000000 +0200
|
Index: src/xcb_auth.c
|
||||||
+++ src/xcb_auth.c 2009-05-29 17:56:01.000000000 +0200
|
===================================================================
|
||||||
@@ -119,2 +119,3 @@ static Xauth *get_authptr(struct sockadd
|
--- src/xcb_auth.c.orig
|
||||||
|
+++ src/xcb_auth.c
|
||||||
|
@@ -118,6 +118,7 @@ static Xauth *get_authptr(struct sockadd
|
||||||
|
char hostnamebuf[256]; /* big enough for max hostname */
|
||||||
|
char dispbuf[40]; /* big enough to hold more than 2^64 base 10 */
|
||||||
int dispbuflen;
|
int dispbuflen;
|
||||||
+ Xauth *authptr = NULL;
|
+ Xauth *authptr = NULL;
|
||||||
|
|
||||||
@@ -163,6 +163,16 @@ static Xauth *get_authptr(struct sockadd
|
family = FamilyLocal; /* 256 */
|
||||||
|
switch(sockname->sa_family)
|
||||||
|
@@ -162,10 +163,20 @@ static Xauth *get_authptr(struct sockadd
|
||||||
|
addrlen = strlen(addr);
|
||||||
|
}
|
||||||
|
|
||||||
- return XauGetBestAuthByAddr (family,
|
- return XauGetBestAuthByAddr (family,
|
||||||
+ authptr = XauGetBestAuthByAddr (family,
|
+ authptr = XauGetBestAuthByAddr (family,
|
||||||
(unsigned short) addrlen, addr,
|
(unsigned short) addrlen, addr,
|
||||||
(unsigned short) dispbuflen, dispbuf,
|
(unsigned short) dispbuflen, dispbuf,
|
||||||
N_AUTH_PROTOS, authnames, authnameslen);
|
N_AUTH_PROTOS, (char **)authnames, authnameslen);
|
||||||
+ // && !phostname
|
+ // && !phostname
|
||||||
+ if ((!authptr || !authptr->data_length) && family == FamilyLocal) {
|
+ if ((!authptr || !authptr->data_length) && family == FamilyLocal) {
|
||||||
+ if ( (addr = getenv("XAUTHLOCALHOSTNAME")) ) {
|
+ if ( (addr = getenv("XAUTHLOCALHOSTNAME")) ) {
|
||||||
@ -22,3 +30,5 @@
|
|||||||
+ }
|
+ }
|
||||||
+ return authptr;
|
+ return authptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef HASXDMAUTH
|
||||||
|
BIN
libxcb-1.15.tar.xz
(Stored with Git LFS)
BIN
libxcb-1.15.tar.xz
(Stored with Git LFS)
Binary file not shown.
Binary file not shown.
3
libxcb-1.16.tar.xz
Normal file
3
libxcb-1.16.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:4348566aa0fbf196db5e0a576321c65966189210cb51328ea2bb2be39c711d71
|
||||||
|
size 452964
|
BIN
libxcb-1.16.tar.xz.sig
Normal file
BIN
libxcb-1.16.tar.xz.sig
Normal file
Binary file not shown.
@ -1,3 +1,34 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Aug 26 14:44:23 UTC 2023 - Stefan Dirsch <sndirsch@suse.com>
|
||||||
|
|
||||||
|
- Update to version 1.16
|
||||||
|
* gitlab CI: add a basic build test
|
||||||
|
* configure.ac: drop dependency `pthread-stubs` on Solaris
|
||||||
|
* configure.ac: Remove obsolete AC_HEADER_STDC
|
||||||
|
* Raise minimum required version of Python from 2.6 to 3.0
|
||||||
|
* Fix windows build.
|
||||||
|
* Fix indentation.
|
||||||
|
* Fix a compiler warning
|
||||||
|
* Fix handling of documented enum parameters
|
||||||
|
* Allow full paths to sockets on non-macOS
|
||||||
|
* DISPLAY starting with / or unix: is always a socket path
|
||||||
|
* Add tests for unix socket parsing
|
||||||
|
* autogen.sh: use quoted string variables
|
||||||
|
* c_client: Fix crash in xcb_randr_set_monitor
|
||||||
|
* configure.ac: drop `pthread-stubs` dependency on DragonFly and FreeBSD
|
||||||
|
* xcb_conn: Add a check for NULL to silence a UBSan runtime error
|
||||||
|
* configure.ac: Require xcb-proto >= 1.16.0
|
||||||
|
* Fix xcb_connect() call with a custom xcb_auth_info_t
|
||||||
|
* autogen: add default patch prefix
|
||||||
|
* Build DOUBLE-BUFFER extension.
|
||||||
|
* Require xcb-proto >= 1.15.1, which has Dbe
|
||||||
|
* configure.ac: drop dependency `pthread-stubs` on macOS
|
||||||
|
* autogen.sh: use exec instead of waiting for configure to finish
|
||||||
|
* Improve tutorial example
|
||||||
|
- adjusted bug-262309_xcb-xauthlocalhostname.diff,
|
||||||
|
n_If-auth-with-credentials-for-hostname-fails-retry-with-XAUTHLOCALHOSTNAME.patch
|
||||||
|
- added libxcb-dbe0 subpackage for libxcb-dbe.so.0*
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Thu Jan 5 20:19:45 UTC 2023 - Dirk Müller <dmueller@suse.com>
|
Thu Jan 5 20:19:45 UTC 2023 - Dirk Müller <dmueller@suse.com>
|
||||||
|
|
||||||
|
16
libxcb.spec
16
libxcb.spec
@ -23,7 +23,7 @@
|
|||||||
%bcond_without python2
|
%bcond_without python2
|
||||||
%endif
|
%endif
|
||||||
Name: libxcb
|
Name: libxcb
|
||||||
Version: 1.15
|
Version: 1.16
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: X11 core protocol C library
|
Summary: X11 core protocol C library
|
||||||
License: MIT
|
License: MIT
|
||||||
@ -101,6 +101,15 @@ protocol, improved threading support, and extensibility.
|
|||||||
The X Damage Extension allows applications to track modified regions
|
The X Damage Extension allows applications to track modified regions
|
||||||
of drawables.
|
of drawables.
|
||||||
|
|
||||||
|
%package -n libxcb-dbe0
|
||||||
|
Summary: X11 Dbe Extension C library
|
||||||
|
Group: System/Libraries
|
||||||
|
|
||||||
|
%description -n libxcb-dbe0
|
||||||
|
The X protocol C-language Binding (XCB) is a replacement for Xlib
|
||||||
|
featuring a small footprint, latency hiding, direct access to the
|
||||||
|
protocol, improved threading support, and extensibility.
|
||||||
|
|
||||||
%package -n libxcb-dpms0
|
%package -n libxcb-dpms0
|
||||||
Summary: X11 DPMS Extension C library
|
Summary: X11 DPMS Extension C library
|
||||||
Group: System/Libraries
|
Group: System/Libraries
|
||||||
@ -412,6 +421,8 @@ find %{buildroot} -type f -name "*.la" -delete -print
|
|||||||
%postun -n libxcb-composite0 -p /sbin/ldconfig
|
%postun -n libxcb-composite0 -p /sbin/ldconfig
|
||||||
%post -n libxcb-damage0 -p /sbin/ldconfig
|
%post -n libxcb-damage0 -p /sbin/ldconfig
|
||||||
%postun -n libxcb-damage0 -p /sbin/ldconfig
|
%postun -n libxcb-damage0 -p /sbin/ldconfig
|
||||||
|
%post -n libxcb-dbe0 -p /sbin/ldconfig
|
||||||
|
%postun -n libxcb-dbe0 -p /sbin/ldconfig
|
||||||
%post -n libxcb-dpms0 -p /sbin/ldconfig
|
%post -n libxcb-dpms0 -p /sbin/ldconfig
|
||||||
%postun -n libxcb-dpms0 -p /sbin/ldconfig
|
%postun -n libxcb-dpms0 -p /sbin/ldconfig
|
||||||
%post -n libxcb-dri2-0 -p /sbin/ldconfig
|
%post -n libxcb-dri2-0 -p /sbin/ldconfig
|
||||||
@ -464,6 +475,9 @@ find %{buildroot} -type f -name "*.la" -delete -print
|
|||||||
%files -n libxcb-damage0
|
%files -n libxcb-damage0
|
||||||
%{_libdir}/libxcb-damage.so.0*
|
%{_libdir}/libxcb-damage.so.0*
|
||||||
|
|
||||||
|
%files -n libxcb-dbe0
|
||||||
|
%{_libdir}/libxcb-dbe.so.0*
|
||||||
|
|
||||||
%files -n libxcb-dpms0
|
%files -n libxcb-dpms0
|
||||||
%{_libdir}/libxcb-dpms.so.0*
|
%{_libdir}/libxcb-dpms.so.0*
|
||||||
|
|
||||||
|
@ -11,11 +11,11 @@ Signed-off-by: Egbert Eich <eich@suse.de>
|
|||||||
src/xcb_auth.c | 26 ++++++++++++++++++--------
|
src/xcb_auth.c | 26 ++++++++++++++++++--------
|
||||||
1 file changed, 18 insertions(+), 8 deletions(-)
|
1 file changed, 18 insertions(+), 8 deletions(-)
|
||||||
|
|
||||||
Index: libxcb-1.12/src/xcb_auth.c
|
Index: libxcb-1.16/src/xcb_auth.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libxcb-1.12.orig/src/xcb_auth.c
|
--- libxcb-1.16.orig/src/xcb_auth.c
|
||||||
+++ libxcb-1.12/src/xcb_auth.c
|
+++ libxcb-1.16/src/xcb_auth.c
|
||||||
@@ -109,7 +109,7 @@ static int authname_match(enum auth_prot
|
@@ -110,7 +110,7 @@ static int authname_match(enum auth_prot
|
||||||
|
|
||||||
#define SIN6_ADDR(s) (&((struct sockaddr_in6 *)s)->sin6_addr)
|
#define SIN6_ADDR(s) (&((struct sockaddr_in6 *)s)->sin6_addr)
|
||||||
|
|
||||||
@ -24,7 +24,7 @@ Index: libxcb-1.12/src/xcb_auth.c
|
|||||||
{
|
{
|
||||||
char *addr = 0;
|
char *addr = 0;
|
||||||
int addrlen = 0;
|
int addrlen = 0;
|
||||||
@@ -119,6 +119,8 @@ static Xauth *get_authptr(struct sockadd
|
@@ -120,6 +120,8 @@ static Xauth *get_authptr(struct sockadd
|
||||||
int dispbuflen;
|
int dispbuflen;
|
||||||
Xauth *authptr = NULL;
|
Xauth *authptr = NULL;
|
||||||
|
|
||||||
@ -33,14 +33,14 @@ Index: libxcb-1.12/src/xcb_auth.c
|
|||||||
family = FamilyLocal; /* 256 */
|
family = FamilyLocal; /* 256 */
|
||||||
switch(sockname->sa_family)
|
switch(sockname->sa_family)
|
||||||
{
|
{
|
||||||
@@ -161,18 +163,23 @@ static Xauth *get_authptr(struct sockadd
|
@@ -163,17 +165,22 @@ static Xauth *get_authptr(struct sockadd
|
||||||
addrlen = strlen(addr);
|
addrlen = strlen(addr);
|
||||||
}
|
}
|
||||||
|
|
||||||
- authptr = XauGetBestAuthByAddr (family,
|
- authptr = XauGetBestAuthByAddr (family,
|
||||||
- (unsigned short) addrlen, addr,
|
- (unsigned short) addrlen, addr,
|
||||||
- (unsigned short) dispbuflen, dispbuf,
|
- (unsigned short) dispbuflen, dispbuf,
|
||||||
- N_AUTH_PROTOS, authnames, authnameslen);
|
- N_AUTH_PROTOS, (char **)authnames, authnameslen);
|
||||||
- // && !phostname
|
- // && !phostname
|
||||||
- if ((!authptr || !authptr->data_length) && family == FamilyLocal) {
|
- if ((!authptr || !authptr->data_length) && family == FamilyLocal) {
|
||||||
- if ( (addr = getenv("XAUTHLOCALHOSTNAME")) ) {
|
- if ( (addr = getenv("XAUTHLOCALHOSTNAME")) ) {
|
||||||
@ -48,23 +48,25 @@ Index: libxcb-1.12/src/xcb_auth.c
|
|||||||
+ authptr = XauGetBestAuthByAddr (family,
|
+ authptr = XauGetBestAuthByAddr (family,
|
||||||
+ (unsigned short) addrlen, addr,
|
+ (unsigned short) addrlen, addr,
|
||||||
+ (unsigned short) dispbuflen, dispbuf,
|
+ (unsigned short) dispbuflen, dispbuf,
|
||||||
+ N_AUTH_PROTOS, authnames, authnameslen);
|
+ N_AUTH_PROTOS, (char **)authnames, authnameslen);
|
||||||
+ *stage = 1;
|
+ *stage = 1;
|
||||||
+ return authptr;
|
+ return authptr;
|
||||||
+ }
|
+ }
|
||||||
+ if (*stage == 1) {
|
+ if (*stage == 1) {
|
||||||
+ if ((!authptr || !authptr->data_length) && family == FamilyLocal && (addr = getenv("XAUTHLOCALHOSTNAME"))) {
|
+ if ((!authptr || !authptr->data_length) && family == FamilyLocal && (addr = getenv("XAUTHLOCALHOSTNAME"))) {
|
||||||
authptr = XauGetBestAuthByAddr (family,
|
authptr = XauGetBestAuthByAddr (family,
|
||||||
(unsigned short) strlen(addr), addr,
|
- (unsigned short) strlen(addr), addr,
|
||||||
(unsigned short) dispbuflen, dispbuf,
|
- (unsigned short) dispbuflen, dispbuf,
|
||||||
N_AUTH_PROTOS, authnames, authnameslen);
|
- N_AUTH_PROTOS, authnames, authnameslen);
|
||||||
}
|
+ (unsigned short) strlen(addr), addr,
|
||||||
|
+ (unsigned short) dispbuflen, dispbuf,
|
||||||
|
+ N_AUTH_PROTOS, authnames, authnameslen);
|
||||||
+ *stage = 2;
|
+ *stage = 2;
|
||||||
+ return authptr;
|
+ return authptr;
|
||||||
}
|
}
|
||||||
return authptr;
|
|
||||||
}
|
}
|
||||||
@@ -320,7 +327,7 @@ static struct sockaddr *get_peer_sock_na
|
return authptr;
|
||||||
|
@@ -329,7 +336,7 @@ static struct sockaddr *get_peer_sock_na
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -73,7 +75,7 @@ Index: libxcb-1.12/src/xcb_auth.c
|
|||||||
{
|
{
|
||||||
/* code adapted from Xlib/ConnDis.c, xtrans/Xtranssocket.c,
|
/* code adapted from Xlib/ConnDis.c, xtrans/Xtranssocket.c,
|
||||||
xtrans/Xtransutils.c */
|
xtrans/Xtransutils.c */
|
||||||
@@ -345,7 +352,7 @@ int _xcb_get_auth_info(int fd, xcb_auth_
|
@@ -354,7 +361,7 @@ int _xcb_get_auth_info(int fd, xcb_auth_
|
||||||
gotsockname = 1;
|
gotsockname = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -82,11 +84,11 @@ Index: libxcb-1.12/src/xcb_auth.c
|
|||||||
if (authptr == 0)
|
if (authptr == 0)
|
||||||
{
|
{
|
||||||
free(sockname);
|
free(sockname);
|
||||||
Index: libxcb-1.12/src/xcbint.h
|
Index: libxcb-1.16/src/xcbint.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libxcb-1.12.orig/src/xcbint.h
|
--- libxcb-1.16.orig/src/xcbint.h
|
||||||
+++ libxcb-1.12/src/xcbint.h
|
+++ libxcb-1.16/src/xcbint.h
|
||||||
@@ -219,7 +219,7 @@ int _xcb_conn_wait(xcb_connection_t *c,
|
@@ -232,7 +232,7 @@ int _xcb_conn_wait(xcb_connection_t *c,
|
||||||
|
|
||||||
/* xcb_auth.c */
|
/* xcb_auth.c */
|
||||||
|
|
||||||
@ -95,11 +97,11 @@ Index: libxcb-1.12/src/xcbint.h
|
|||||||
|
|
||||||
#ifdef GCC_HAS_VISIBILITY
|
#ifdef GCC_HAS_VISIBILITY
|
||||||
#pragma GCC visibility pop
|
#pragma GCC visibility pop
|
||||||
Index: libxcb-1.12/src/xcb_util.c
|
Index: libxcb-1.16/src/xcb_util.c
|
||||||
===================================================================
|
===================================================================
|
||||||
--- libxcb-1.12.orig/src/xcb_util.c
|
--- libxcb-1.16.orig/src/xcb_util.c
|
||||||
+++ libxcb-1.12/src/xcb_util.c
|
+++ libxcb-1.16/src/xcb_util.c
|
||||||
@@ -494,6 +494,7 @@ xcb_connection_t *xcb_connect_to_display
|
@@ -514,6 +514,7 @@ xcb_connection_t *xcb_connect_to_display
|
||||||
char *protocol = NULL;
|
char *protocol = NULL;
|
||||||
xcb_auth_info_t ourauth;
|
xcb_auth_info_t ourauth;
|
||||||
xcb_connection_t *c;
|
xcb_connection_t *c;
|
||||||
@ -107,7 +109,7 @@ Index: libxcb-1.12/src/xcb_util.c
|
|||||||
|
|
||||||
int parsed = _xcb_parse_display(displayname, &host, &protocol, &display, screenp);
|
int parsed = _xcb_parse_display(displayname, &host, &protocol, &display, screenp);
|
||||||
|
|
||||||
@@ -510,6 +511,7 @@ xcb_connection_t *xcb_connect_to_display
|
@@ -530,6 +531,7 @@ xcb_connection_t *xcb_connect_to_display
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -115,16 +117,16 @@ Index: libxcb-1.12/src/xcb_util.c
|
|||||||
fd = _xcb_open(host, protocol, display);
|
fd = _xcb_open(host, protocol, display);
|
||||||
|
|
||||||
if(fd == -1) {
|
if(fd == -1) {
|
||||||
@@ -525,7 +527,7 @@ xcb_connection_t *xcb_connect_to_display
|
@@ -543,7 +545,7 @@ xcb_connection_t *xcb_connect_to_display
|
||||||
goto out;
|
if(auth) {
|
||||||
|
c = xcb_connect_to_fd(fd, auth);
|
||||||
}
|
}
|
||||||
|
- else if(_xcb_get_auth_info(fd, &ourauth, display))
|
||||||
- if(_xcb_get_auth_info(fd, &ourauth, display))
|
+ else if(_xcb_get_auth_info(fd, &ourauth, display, &stage))
|
||||||
+ if(_xcb_get_auth_info(fd, &ourauth, display, &stage))
|
|
||||||
{
|
{
|
||||||
c = xcb_connect_to_fd(fd, &ourauth);
|
c = xcb_connect_to_fd(fd, &ourauth);
|
||||||
free(ourauth.name);
|
free(ourauth.name);
|
||||||
@@ -534,8 +536,11 @@ xcb_connection_t *xcb_connect_to_display
|
@@ -552,8 +554,11 @@ xcb_connection_t *xcb_connect_to_display
|
||||||
else
|
else
|
||||||
c = xcb_connect_to_fd(fd, 0);
|
c = xcb_connect_to_fd(fd, 0);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user