qtbase-opensource-src.git
2 years agoremove non-used privacy-breach code
Lisandro Damián Nicanor Pérez Meyer [Thu, 25 May 2023 10:45:05 +0000 (11:45 +0100)]
remove non-used privacy-breach code

Forwarded: not-needed
Last-Update: 2015-02-18

This code makes Lintian unhappy. But we are really not using it, it only
gets inserted when building the online doc.
Anyways the best way to calm down Lintian is to simply remove it.

Gbp-Pq: Name remove_privacy_breaches.diff

2 years agodisable htmlinfo example which contains non-free files
Dmitry Shachnev [Thu, 25 May 2023 10:45:05 +0000 (11:45 +0100)]
disable htmlinfo example which contains non-free files

Forwarded: not-needed
Last-Update: 2014-12-17

Gbp-Pq: Name no_htmlinfo_example.diff

2 years agoInitial GNU/kFreeBSD support
Pino Toscano [Thu, 25 May 2023 10:45:05 +0000 (11:45 +0100)]
Initial GNU/kFreeBSD support

Last-Update: 2015-06-03
Forwarded: no

- add a gnukfreebsd-g++ qmake mkspec, mostly copied from the hurd-g++ one
- properly use LD_LIBRARY_PATH on GNU/* systems

Gbp-Pq: Name gnukfreebsd.diff

2 years agoQDnsLookup/Unix: make sure we don't overflow the buffer
Debian Qt/KDE Maintainers [Thu, 25 May 2023 10:45:05 +0000 (11:45 +0100)]
QDnsLookup/Unix: make sure we don't overflow the buffer

Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=7dba2c87619d558a
Last-Update: 2023-05-25

The DNS Records are variable length and encode their size in 16 bits
before the Record Data (RDATA). Ensure that both the RDATA and the
Record header fields before it fall inside the buffer we have.

Additionally reject any replies containing more than one query records.

Gbp-Pq: Name CVE-2023-33285.diff

2 years agohsts: match header names case insensitively
Debian Qt/KDE Maintainers [Thu, 25 May 2023 10:45:05 +0000 (11:45 +0100)]
hsts: match header names case insensitively

Origin: upstream, https://download.qt.io/official_releases/qt/5.15/CVE-2023-32762-qtbase-5.15.diff
Last-Update: 2023-05-22

Header field names are always considered to be case-insensitive.

Gbp-Pq: Name CVE-2023-32762.diff

2 years agofix buffer overflow in Qt SVG
Debian Qt/KDE Maintainers [Thu, 25 May 2023 10:45:05 +0000 (11:45 +0100)]
fix buffer overflow in Qt SVG

Origin: upstream, https://download.qt.io/official_releases/qt/5.15/CVE-2023-32763-qtbase-5.15.diff
Last-Update: 2023-05-22

Adds qAddOverflow and qMulOverflow definitions to QFixed.

Gbp-Pq: Name CVE-2023-32763.diff

2 years agodo not set Qt::ToolTip flag for QShapedPixmapWindow
Debian Qt/KDE Maintainers [Thu, 25 May 2023 10:45:05 +0000 (11:45 +0100)]
do not set Qt::ToolTip flag for QShapedPixmapWindow

Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=180b496b537089b8
Bug: https://bugreports.qt.io/browse/QTBUG-98048
Last-Update: 2023-05-20

This hint is not really needed in the first place and only causes
problems in some environments.

For example in KDE, the compositor animates changes in position and size
for all ToolTip windows. However, this is not wanted here because we use
this window as a thumbnail for a drag-and-drop operation.
Before this patch the dragged element would lag significantly behind the
cursor. Now it works as expected, i.e. the dragged element follows the
cursor immediately.

Gbp-Pq: Name qshapedpixmapwindow_no_tooltip.diff

2 years agoFix denial-of-service in Qt SQL ODBC driver plugin
Debian Qt/KDE Maintainers [Thu, 25 May 2023 10:45:05 +0000 (11:45 +0100)]
Fix denial-of-service in Qt SQL ODBC driver plugin

Origin: upstream, https://download.qt.io/official_releases/qt/5.15/CVE-2023-24607-qtbase-5.15.diff
Last-Update: 2023-02-26

Gbp-Pq: Name CVE-2023-24607.diff

2 years agoset geometry property in QXcbWindow after checking minimum size
Debian Qt/KDE Maintainers [Thu, 25 May 2023 10:45:05 +0000 (11:45 +0100)]
set geometry property in QXcbWindow after checking minimum size

Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=6a3627b6c5aa5109
Last-Update: 2023-01-04

QXcbWindow::create() bound the window's size to windowMinimumSize(),
after its size had been inherited from parent().
QPlatformWindow::setGeometry() was called before that sanity check.

When a fullscreen window is re-mapped from a deactivated screen to the
remaining screen, the call to QPlatformWindow::setGeometry() assigns
an invalid QRect to QPlatformWindowPrivate::rect
The negative int values x2 and/or y2 cause
QXcbBackingStoreImage::flushPixmap to address unmapped memory and
crash.

This patch moves the call to QPlatformWindow::setGeometry() from
before to after bounding to a minimum value. That assures a valid
rectangle to be assigned in all cases.

Gbp-Pq: Name qxcbwindow_set_geometry.diff

2 years agofix deletion order in QImageReader/Writer destructors
Debian Qt/KDE Maintainers [Thu, 25 May 2023 10:45:05 +0000 (11:45 +0100)]
fix deletion order in QImageReader/Writer destructors

Origin: upstream, commits
 https://code.qt.io/cgit/qt/qtbase.git/commit/?id=f091026be1deb4b4
 https://code.qt.io/cgit/qt/qtbase.git/commit/?id=5633cb69f68ca3d3
Last-Update: 2023-02-26

The device would be deleted before the image format handler, and hence
be a dangling pointer that could easily cause a crash if the handler
or codec would access it on destruction, e.g. for cleanup.

Gbp-Pq: Name image_deletion_order.diff

2 years agofix Alt+` shortcut on non-US layouts
Debian Qt/KDE Maintainers [Thu, 25 May 2023 10:45:05 +0000 (11:45 +0100)]
fix Alt+` shortcut on non-US layouts

Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit?id=62e697fd568f6acd
Last-Update: 2022-12-03

Make it possible for non-letter-keys with Latin 1 symbols (`, !, @ etc.)
to participate in shortcuts also, when the keys generate national
symbols on non-Latin layout.

For example, in Russian layout, "`" key generates cyrillic "ё" letter of
national alphabet, so shortcuts with the key should still work
regardless of the actual layout.

Gbp-Pq: Name fix_alt_backtick.diff

2 years agoxcb: recreate xcb window under some conditions
Debian Qt/KDE Maintainers [Thu, 25 May 2023 10:45:05 +0000 (11:45 +0100)]
xcb: recreate xcb window under some conditions

Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=f9e4402ffeef791e
Last-Update: 2022-11-24

Some netWmState needs to be set during unmap/hide(), which is too
difficult to follow, and causes m_mapped status out of sync very easily
sometimes, which we had tried in
e946e6895a8517a887ac246905e0769edd766fcc .

Destroy the xcb window and recreate new could make the thing
much easier. This practice is also used in other platforms, such
as cocoa plugin.

In Qt 4, the platform window was destroyed and re-created in this
situation on all platforms, which was not ported into Qt5.

See also the code between setWinId(0) and createWinId() in
QWidgetPrivate::setParent_sys() in qwidget_x11.cpp/qwidget_win.cpp/
qwidget_mac.mm.

Gbp-Pq: Name recreate_xcb_window.diff

2 years agorevert "xcb: implement missing bits from ICCCM 4.1.4 WM_STATE handling"
Debian Qt/KDE Maintainers [Thu, 25 May 2023 10:45:05 +0000 (11:45 +0100)]
revert "xcb: implement missing bits from ICCCM 4.1.4 WM_STATE handling"

Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=d27a6235246764be
Last-Update: 2023-01-04

This reverts commit e946e6895a8517a887ac246905e0769edd766fcc.

It clears the duplicate show() and hide() too aggressive in
handleDeferredTasks() and can cause visible states out of sync between
qt and system(x11) when user switches visible on and off very
frequently.

This change also reverts 28138aa80a14279a72af2818f5bbbaa670283964.

Gbp-Pq: Name revert_wm_state.diff

2 years agouse wayland platform plugin on GNOME wayland sessions by default
Debian Qt/KDE Maintainers [Thu, 25 May 2023 10:45:05 +0000 (11:45 +0100)]
use wayland platform plugin on GNOME wayland sessions by default

Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=dda7dab8274991e4
Last-Update: 2022-10-16

Qt wayland platform plugin has improved quite a lot and it is now pretty
much usable on Gnome. It also improves user experience a lot on HiDPI
displays.

Gbp-Pq: Name gnome_wayland.diff

2 years agowidgets: setTransientParent() when a QMenu is a window
Debian Qt/KDE Maintainers [Thu, 25 May 2023 10:45:05 +0000 (11:45 +0100)]
widgets: setTransientParent() when a QMenu is a window

Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=493a85a9e4688744
Last-Update: 2022-10-16

On some platforms, such as X11 and Wayland with some compositors,
QMenu could be a popup window, which should be set a transient parent
to get relative position, which is requested by Wayland.

Added transientParentWindow() for QMenuPrivate like QDialogPrivate.

Gbp-Pq: Name qmenu_set_transient_parent.diff

2 years agoupdate function argument of SSL_CTX_set_options
Debian Qt/KDE Maintainers [Thu, 25 May 2023 10:45:05 +0000 (11:45 +0100)]
update function argument of SSL_CTX_set_options

Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=e995bfc0ea783c15
 Backported for 5.15 by the patch author, Michael Saxl.
Last-Update: 2022-08-07

openssl3 uses uint64_t for the options argument in SSL_CTX_set_options,
older ones used long.
sizeof(long) is not the same on any platform as sizeof(uint64_t)

Gbp-Pq: Name openssl_set_options.diff

2 years agoQProcess: ensure we don't accidentally execute something from CWD
Debian Qt/KDE Maintainers [Thu, 25 May 2023 10:45:05 +0000 (11:45 +0100)]
QProcess: ensure we don't accidentally execute something from CWD

Origin: upstream, https://download.qt.io/official_releases/qt/5.15/CVE-2022-25255-qprocess5-15.diff
Last-Update: 2022-02-21

Unless "." (or the empty string) is in $PATH, we're not supposed to find
executables in the current directory. This is how the Unix shells behave
and we match their behavior. It's also the behavior Qt had prior to 5.9
(commit 28666d167aa8e602c0bea25ebc4d51b55005db13). On Windows, searching
the current directory is the norm, so we keep that behavior.

This commit does not add an explicit check for an empty return from
QStandardPaths::findExecutable(). Instead, we allow that empty string to
go all the way to execve(2), which will fail with ENOENT. We could catch
it early, before fork(2), but why add code for the error case?

See https://kde.org/info/security/advisory-20220131-1.txt

Gbp-Pq: Name CVE-2022-25255.diff

2 years agoupstream fixes to support OpenSSL 3.0
Debian Qt/KDE Maintainers [Thu, 25 May 2023 10:45:05 +0000 (11:45 +0100)]
upstream fixes to support OpenSSL 3.0

Origin: upstream, commits
 https://code.qt.io/cgit/qt/qtbase.git/commit/?id=3186ca3e3972cf46
 https://code.qt.io/cgit/qt/qtbase.git/commit/?id=408656c6f9de326c
 https://code.qt.io/cgit/qt/qtbase.git/commit/?id=ae6590e360fbb04d
 and a small part of
 https://code.qt.io/cgit/qt/qtbase.git/commit/?id=4c0f81490ba0c4ec
Last-Update: 2021-12-09

Gbp-Pq: Name openssl3.diff

2 years agotreat the MYSQL_FIELD as read-only
Debian Qt/KDE Maintainers [Thu, 25 May 2023 10:45:05 +0000 (11:45 +0100)]
treat the MYSQL_FIELD as read-only

Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=549ee216fd5bf2b3
Last-Update: 2021-11-13

The MariaDB-connector-c version 3.2 and MariaDB server version 10.6
cooperate to avoid re-transferring the query metadata, so the fact that
we were modifying it was causing it to improperly decode the DATETIME
data types into string, as we had asked. We ended up with a 7-byte
string that was actually the date binary-encoded.

Gbp-Pq: Name mysql_field_readonly.diff

2 years agofix recursion crash when calling setStyleSheet with qproperty-styleSheet
Debian Qt/KDE Maintainers [Thu, 25 May 2023 10:45:05 +0000 (11:45 +0100)]
fix recursion crash when calling setStyleSheet with qproperty-styleSheet

Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=e9cdcc7cb314586a
Last-Update: 2021-11-13

When calling setStyleSheet with property qproperty-styleSheet,
QStyleSheetStyle::polish will call QStyleSheetStyle::setProperties,
and then QStyleSheetStyle::setProperties goes on to call setProperty.
Because there is property qproperty-styleSheet, it will update
stylesheet by calling QStyleSheetStyle::polish.
This causes the recursive call to crash.

Gbp-Pq: Name fix_recursion_crash.diff

2 years agoQPushButton/fusion style: don't ignore QIcon::On icon
Debian Qt/KDE Maintainers [Thu, 25 May 2023 10:45:05 +0000 (11:45 +0100)]
QPushButton/fusion style: don't ignore QIcon::On icon

Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=e9ccdf4d84157173
Last-Update: 2021-08-10

The fusion style did ignore the QIcon::On icon because it reset
State_On to avoid the visual shift of a pressed button.
But it's not needed to reset this flag - the shift does not happen
because the fusion style does return 0 as offset for
PM_ButtonShiftHorizontal/PM_ButtonShiftVertical so no shifting will
happen.

Gbp-Pq: Name fusion_checkable_qpushbutton.diff

2 years agoadjust QMimeDatabase implementation
Debian Qt/KDE Maintainers [Thu, 25 May 2023 10:45:05 +0000 (11:45 +0100)]
adjust QMimeDatabase implementation

Origin: upstream, https://code.qt.io/cgit/qt/qtbase.git/commit/?id=0cbbba2aa5b47224
Last-Update: 2021-06-12

When multiple globs match, and the result from magic sniffing is
unrelated to any of those globs, globs have priority and one of them
should be picked up.

Gbp-Pq: Name mime_globs.diff

2 years agoqtbase-opensource-src (5.15.8+dfsg-11) unstable; urgency=medium
Dmitry Shachnev [Thu, 25 May 2023 10:45:05 +0000 (11:45 +0100)]
qtbase-opensource-src (5.15.8+dfsg-11) unstable; urgency=medium

  * Rename the patches for consistency and add DEP-3 headers.
  * Add a patch to fix buffer overflow in QDnsLookup (CVE-2023-33285).

[dgit import unpatched qtbase-opensource-src 5.15.8+dfsg-11]

2 years agoImport qtbase-opensource-src_5.15.8+dfsg-11.debian.tar.xz
Dmitry Shachnev [Thu, 25 May 2023 10:45:05 +0000 (11:45 +0100)]
Import qtbase-opensource-src_5.15.8+dfsg-11.debian.tar.xz

[dgit import tarball qtbase-opensource-src 5.15.8+dfsg-11 qtbase-opensource-src_5.15.8+dfsg-11.debian.tar.xz]

2 years agoImport qtbase-opensource-src_5.15.8+dfsg.orig.tar.xz
Dmitry Shachnev [Wed, 4 Jan 2023 18:52:00 +0000 (18:52 +0000)]
Import qtbase-opensource-src_5.15.8+dfsg.orig.tar.xz

[dgit import orig qtbase-opensource-src_5.15.8+dfsg.orig.tar.xz]