On 2022/12/15 12:50, Rafael Sadowski wrote: > Our Xorg server doesn't run under the same uid as the client, the client > needs to create the shared memory area with mode 0666. > > We are doing the same in misc/screen-shm. Of course, the consequence > here would be to do it for all Qt applications.
Difference is that the only reason to run screen-shm is for use with misc/brltty, so there's very little exposure. What are the consequences of leaving this as-is? (i.e. what's broken now that changing this would fix?) > Feedback? OK? > > More: https://marc.info/?l=openbsd-tech&m=166836794116517&w=2 > > diff --git a/x11/qt5/qtbase/Makefile b/x11/qt5/qtbase/Makefile > index 8f02f2f3795..5ba3c3d5092 100644 > --- a/x11/qt5/qtbase/Makefile > +++ b/x11/qt5/qtbase/Makefile > @@ -12,7 +12,7 @@ PKGNAME-global = qt5-global-${VERSION} > PKGNAME-psql = qt5-postgresql-${VERSION} > PKGNAME-tds = qt5-tds-${VERSION} > > -REVISION-main = 2 > +REVISION-main = 3 > > PKG_ARCH-global = * > PKG_ARCH-examples = * > diff --git > a/x11/qt5/qtbase/patches/patch-src_plugins_platforms_xcb_qxcbbackingstore_cpp > b/x11/qt5/qtbase/patches/patch-src_plugins_platforms_xcb_qxcbbackingstore_cpp > new file mode 100644 > index 00000000000..ea4cd301454 > --- /dev/null > +++ > b/x11/qt5/qtbase/patches/patch-src_plugins_platforms_xcb_qxcbbackingstore_cpp > @@ -0,0 +1,14 @@ > +The X server doesn't run under the same uid as the client, the client needs > to > +create the shared memory area with mode 0666 > +Index: src/plugins/platforms/xcb/qxcbbackingstore.cpp > +--- src/plugins/platforms/xcb/qxcbbackingstore.cpp.orig > ++++ src/plugins/platforms/xcb/qxcbbackingstore.cpp > +@@ -406,7 +406,7 @@ void QXcbBackingStoreImage::createShmSegment(size_t se > + bool QXcbBackingStoreImage::createSystemVShmSegment(xcb_connection_t *c, > size_t segmentSize, > + xcb_shm_segment_info_t > *shmInfo) > + { > +- const int id = shmget(IPC_PRIVATE, segmentSize, IPC_CREAT | 0600); > ++ const int id = shmget(IPC_PRIVATE, segmentSize, IPC_CREAT | 0666); > + if (id == -1) { > + qCWarning(lcQpaXcb, "shmget() failed (%d: %s) for size %zu", errno, > strerror(errno), segmentSize); > + return false; >
