Package: release.debian.org
Severity: normal
X-Debbugs-Cc: krdc@packages.debian.org, Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org>
Control: affects -1 + src:krdc
User: release.debian.org@packages.debian.org
Usertags: unblock
Dear Release Team,
please unblock package krdc.
[ Reason ]
It contains the following changes:
* New upstream release (25.04.1).
- RDP: ensure rdpview gets closed on session disconnect. (kde#503176)
- RDP: Fix passing domain from saved bookmark. (kde#503174)
- Find Qt6Gui before using Qt6Gui_VERSION.
* New upstream release (25.04.2).
- RdpView: avoid multiple startQuitting() calls on the same connection.
(kde#504622)
- Fix config names mismatched between Ui and kcfg.
- Fix parsing of user-supplied host:port preferences for proxy and
gateway. (kde#504282)
The complete debdiff is quite big due to translation updates so I’m
attaching a simple diff trimmed from these for your convenience:
diff -ur --exclude=po krdc-25.04.0 krdc-25.04.2
[ Tests ]
- Tested basic RDP connection.
[ Risks ]
Only backport of upstream commits that apply cleanly. Further fixes can
easily be backported or the changes reverted.
[ Checklist ]
[x] all changes are documented in the d/changelog
[x] I reviewed all changes and I approve them
[x] attach debdiff against the package in testing
Thanks!
unblock krdc/4:25.04.2-1
Attachment:
krdc_25.04.0-1.dsc_krdc_25.04.2-1.dsc.debdiff.gz
Description: application/gzip
diff -ur '--exclude=po' krdc-25.04.0/CMakeLists.txt krdc-25.04.2/CMakeLists.txt
--- krdc-25.04.0/CMakeLists.txt 2025-04-10 05:11:32.000000000 +0200
+++ krdc-25.04.2/CMakeLists.txt 2025-06-02 23:26:25.000000000 +0200
@@ -2,7 +2,7 @@
set (RELEASE_SERVICE_VERSION_MAJOR "25")
set (RELEASE_SERVICE_VERSION_MINOR "04")
-set (RELEASE_SERVICE_VERSION_MICRO "0")
+set (RELEASE_SERVICE_VERSION_MICRO "2")
set (RELEASE_SERVICE_VERSION "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}")
@@ -25,7 +25,7 @@
include(KDEGitCommitHooks)
include(ECMInstallIcons)
-find_package(Qt6 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS Core)
+find_package(Qt6 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS Core Gui)
if (Qt6Gui_VERSION VERSION_GREATER_EQUAL "6.10.0")
find_package(Qt6GuiPrivate ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE)
endif()
diff -ur '--exclude=po' krdc-25.04.0/debian/changelog krdc-25.04.2/debian/changelog
--- krdc-25.04.0/debian/changelog 2025-04-17 21:45:34.000000000 +0200
+++ krdc-25.04.2/debian/changelog 2025-06-09 22:43:43.000000000 +0200
@@ -1,3 +1,19 @@
+krdc (4:25.04.2-1) unstable; urgency=medium
+
+ [ Aurélien COUDERC ]
+ * New upstream release (25.04.1).
+ - RDP: ensure rdpview gets closed on session disconnect. (kde#503176)
+ - RDP: Fix passing domain from saved bookmark. (kde#503174)
+ - Find Qt6Gui before using Qt6Gui_VERSION.
+ * New upstream release (25.04.2).
+ - RdpView: avoid multiple startQuitting() calls on the same connection.
+ (kde#504622)
+ - Fix config names mismatched between Ui and kcfg.
+ - Fix parsing of user-supplied host:port preferences for proxy and
+ gateway. (kde#504282)
+
+ -- Aurélien COUDERC <coucouf@debian.org> Mon, 09 Jun 2025 22:43:43 +0200
+
krdc (4:25.04.0-1) unstable; urgency=medium
[ Aurélien COUDERC ]
diff -ur '--exclude=po' krdc-25.04.0/.flatpak-manifest.json krdc-25.04.2/.flatpak-manifest.json
--- krdc-25.04.0/.flatpak-manifest.json 2025-04-10 05:11:32.000000000 +0200
+++ krdc-25.04.2/.flatpak-manifest.json 2025-06-02 23:26:25.000000000 +0200
@@ -2,7 +2,7 @@
"id": "org.kde.krdc",
"branch": "master",
"runtime": "org.kde.Platform",
- "runtime-version": "6.7",
+ "runtime-version": "6.9",
"sdk": "org.kde.Sdk",
"command": "krdc",
"tags": ["nightly"],
@@ -99,6 +99,11 @@
{
"name": "pkcs11-helper",
"buildsystem": "autotools",
+ "build-options": {
+ "env": {
+ "CFLAGS": "-Wno-incompatible-pointer-types"
+ }
+ },
"sources": [
{
"type": "archive",
diff -ur '--exclude=po' krdc-25.04.0/org.kde.krdc.appdata.xml krdc-25.04.2/org.kde.krdc.appdata.xml
--- krdc-25.04.0/org.kde.krdc.appdata.xml 2025-04-10 05:11:32.000000000 +0200
+++ krdc-25.04.2/org.kde.krdc.appdata.xml 2025-06-02 23:26:25.000000000 +0200
@@ -149,6 +149,8 @@
<mediatype>application/x-krdc</mediatype>
</provides>
<releases>
+ <release version="25.04.2" date="2025-06-05"/>
+ <release version="25.04.1" date="2025-05-08"/>
<release version="25.04.0" date="2025-04-17"/>
<release version="24.12.3" date="2025-03-06"/>
<release version="24.12.2" date="2025-02-06"/>
diff -ur '--exclude=po' krdc-25.04.0/rdp/rdphostpreferences.cpp krdc-25.04.2/rdp/rdphostpreferences.cpp
--- krdc-25.04.0/rdp/rdphostpreferences.cpp 2025-04-10 05:11:32.000000000 +0200
+++ krdc-25.04.2/rdp/rdphostpreferences.cpp 2025-06-02 23:26:25.000000000 +0200
@@ -149,10 +149,10 @@
rdpUi.kcfg_GatewayServer->setText(gatewayServer());
rdpUi.kcfg_GatewayDomain->setText(gatewayDomain());
rdpUi.kcfg_SmartcardName->setText(smartcardName());
- rdpUi.kcfg_NLASecurity->setChecked(securityNLA());
- rdpUi.kcfg_TLSSecurity->setChecked(securityTLS());
- rdpUi.kcfg_RDPSecurity->setChecked(securityRDP());
- rdpUi.kcfg_EXTSecurity->setChecked(securityEXT());
+ rdpUi.kcfg_SecurityNLA->setChecked(securityNLA());
+ rdpUi.kcfg_SecurityTLS->setChecked(securityTLS());
+ rdpUi.kcfg_SecurityRDP->setChecked(securityRDP());
+ rdpUi.kcfg_SecurityEXT->setChecked(securityEXT());
rdpUi.kcfg_AuthPkgList->setText(authPkgList());
// Have to call updateWidthHeight() here
@@ -254,10 +254,10 @@
setGatewayServer(rdpUi.kcfg_GatewayServer->text());
setGatewayDomain(rdpUi.kcfg_GatewayDomain->text());
setSmartcardName(rdpUi.kcfg_SmartcardName->text());
- setSecurityNLA(rdpUi.kcfg_NLASecurity->isChecked());
- setSecurityTLS(rdpUi.kcfg_TLSSecurity->isChecked());
- setSecurityRDP(rdpUi.kcfg_RDPSecurity->isChecked());
- setSecurityEXT(rdpUi.kcfg_EXTSecurity->isChecked());
+ setSecurityNLA(rdpUi.kcfg_SecurityNLA->isChecked());
+ setSecurityTLS(rdpUi.kcfg_SecurityTLS->isChecked());
+ setSecurityRDP(rdpUi.kcfg_SecurityRDP->isChecked());
+ setSecurityEXT(rdpUi.kcfg_SecurityEXT->isChecked());
setAuthPkgList(rdpUi.kcfg_AuthPkgList->text());
}
diff -ur '--exclude=po' krdc-25.04.0/rdp/rdppreferences.ui krdc-25.04.2/rdp/rdppreferences.ui
--- krdc-25.04.0/rdp/rdppreferences.ui 2025-04-10 05:11:32.000000000 +0200
+++ krdc-25.04.2/rdp/rdppreferences.ui 2025-06-02 23:26:25.000000000 +0200
@@ -705,28 +705,28 @@
<item row="0" column="1">
<layout class="QHBoxLayout" name="securityLayout">
<item>
- <widget class="QCheckBox" name="kcfg_NLASecurity">
+ <widget class="QCheckBox" name="kcfg_SecurityNLA">
<property name="text">
<string>NLA</string>
</property>
</widget>
</item>
<item>
- <widget class="QCheckBox" name="kcfg_TLSSecurity">
+ <widget class="QCheckBox" name="kcfg_SecurityTLS">
<property name="text">
<string>TLS</string>
</property>
</widget>
</item>
<item>
- <widget class="QCheckBox" name="kcfg_RDPSecurity">
+ <widget class="QCheckBox" name="kcfg_SecurityRDP">
<property name="text">
<string>RDP</string>
</property>
</widget>
</item>
<item>
- <widget class="QCheckBox" name="kcfg_EXTSecurity">
+ <widget class="QCheckBox" name="kcfg_SecurityEXT">
<property name="text">
<string>Ext</string>
</property>
diff -ur '--exclude=po' krdc-25.04.0/rdp/rdpsession.cpp krdc-25.04.2/rdp/rdpsession.cpp
--- krdc-25.04.0/rdp/rdpsession.cpp 2025-04-10 05:11:32.000000000 +0200
+++ krdc-25.04.2/rdp/rdpsession.cpp 2025-06-02 23:26:25.000000000 +0200
@@ -631,7 +631,7 @@
return -1;
}
- const auto proxyHostAddress = QUrl(preferences->proxyHost());
+ const auto proxyHostAddress = QUrl::fromUserInput(preferences->proxyHost());
if (!proxyHostAddress.isEmpty()) {
int defaultPort = 8080;
switch (preferences->proxyProtocol()) {
@@ -667,7 +667,7 @@
}
}
- const auto gatewayServerAddress = QUrl(preferences->gatewayServer());
+ const auto gatewayServerAddress = QUrl::fromUserInput(preferences->gatewayServer());
if (!gatewayServerAddress.isEmpty()) {
if (!freerdp_settings_set_string(settings, FreeRDP_GatewayHostname, gatewayServerAddress.host().toUtf8().data())) {
return -1;
@@ -1103,6 +1103,9 @@
if (m_firstPasswordTry && m_user.size()) {
*username = _strdup(m_user.toUtf8().data());
+ if (m_domain.size()) {
+ *domain = _strdup(m_domain.toUtf8().data());
+ }
if (m_password.size()) {
*password = _strdup(m_password.toUtf8().data());
m_firstPasswordTry = false;
diff -ur '--exclude=po' krdc-25.04.0/rdp/rdpview.cpp krdc-25.04.2/rdp/rdpview.cpp
--- krdc-25.04.0/rdp/rdpview.cpp 2025-04-10 05:11:32.000000000 +0200
+++ krdc-25.04.2/rdp/rdpview.cpp 2025-06-02 23:26:25.000000000 +0200
@@ -118,11 +118,14 @@
return; // ignore repeated triggers
}
- unpressModifiers();
-
qCDebug(KRDC) << "Stopping RDP session";
m_quitting = true;
- m_session->stop();
+
+ unpressModifiers();
+
+ if (m_session) {
+ m_session->stop();
+ }
qCDebug(KRDC) << "RDP session stopped";
Q_EMIT disconnected();
@@ -169,6 +172,7 @@
setStatus(Connected);
break;
case RdpSession::State::Closed:
+ Q_EMIT disconnected();
setStatus(Disconnected);
break;
default:
@@ -337,7 +341,6 @@
case FREERDP_ERROR_RPC_INITIATED_DISCONNECT_BY_USER:
case FREERDP_ERROR_LOGOFF_BY_USER:
// user or admin initiated action, quit without error
- startQuitting();
return;
case FREERDP_ERROR_DISCONNECTED_BY_OTHER_CONNECTION:
title = i18nc("@title:dialog", "Connection Closed");
@@ -357,9 +360,6 @@
qCDebug(KRDC) << "error message" << title << message;
// TODO offer reconnect if approriate
KMessageBox::error(this, message, title);
-
- // FIXME are there any situations we don't want to quit?
- startQuitting();
}
void RdpView::onLogonError(const QString &error)