Package: release.debian.org
Severity: normal
X-Debbugs-Cc: k...@packages.debian.org, Debian Qt/KDE Maintainers 
<debian-qt-kde@lists.debian.org>
Control: affects -1 + src:krdc
User: release.debian....@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 <couc...@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)

Reply via email to