Bug 503174 - Bookmarked Windows AD domain login not working; ONE-LINER PATCH
Summary: Bookmarked Windows AD domain login not working; ONE-LINER PATCH
Status: RESOLVED FIXED
Alias: None
Product: krdc
Classification: Applications
Component: RDP (other bugs)
Version First Reported In: 25.04.0
Platform: Ubuntu Linux
: NOR normal
Target Milestone: ---
Assignee: Urs Wolfer
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-04-22 15:25 UTC by Mike Russo
Modified: 2025-04-22 21:12 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mike Russo 2025-04-22 15:25:18 UTC
***
If you're not sure this is actually a bug, instead post about it at https://discuss.kde.org

If you're reporting a crash, attach a backtrace with debug symbols; see https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports

Please remove this comment after reading and before submitting - thanks!
***

SUMMARY
Loving the new KRDC with libfreerdp integrated and working nicely in Wayland.  Found out it does not use domain properly when logging in through a new-style bookmark (?domain=NETBIOSDOMAIN).  Looks like I just needed one line to make sure the domain is passed along.  

--- rdpsession.cpp.orig 2025-04-22 11:16:04.490432543 -0400
+++ rdpsession.cpp      2025-04-22 11:16:38.273906771 -0400
@@ -1103,6 +1103,7 @@
 
     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;
@@ -1228,4 +1229,4 @@
 void RdpSession::setRemoteCursor(const QCursor &cursor)
 {
     Q_EMIT cursorChanged(cursor);
-}
\ No newline at end of file
+}


STEPS TO REPRODUCE
1. create a new RDP connection to a Windows server that uses domain logins; either converting an existing DOMAIN\username from wallet, or a new one
2. this should save the bookmark with the new-style ?domain=DOMAIN querystring and you can try to connect with it
3. your connection will fail because it will omit the domain (if you have a local account with the same username and password it will work but it will login as the local account not the domain one)

OBSERVED RESULT
it doesn't login or uses the local account instead of domain

EXPECTED RESULT
login as the domain account

SOFTWARE/OS VERSIONS
Windows: 
macOS: 
(available in the Info Center app, or by running `kinfo` in a terminal window)
Linux/KDE Plasma: 
KDE Plasma Version: 
KDE Frameworks Version: 6.12.0
Qt Version: 6.8.3

ADDITIONAL INFORMATION
Comment 1 Bug Janitor Service 2025-04-22 21:06:57 UTC
A possibly relevant merge request was started @ https://invent.kde.org/network/krdc/-/merge_requests/178
Comment 2 Fabio 2025-04-22 21:10:02 UTC
Git commit b6cac20057744d3c688e7e9c9fb31ad26b4afb3d by Fabio Bas.
Committed on 22/04/2025 at 21:09.
Pushed by ctrlaltca into branch 'master'.

RDP: Fix passing domain from saved bookmark

M  +3    -0    rdp/rdpsession.cpp

https://invent.kde.org/network/krdc/-/commit/b6cac20057744d3c688e7e9c9fb31ad26b4afb3d
Comment 3 Fabio 2025-04-22 21:11:30 UTC
Thank you for the detailed analysis and the patch! Will end up in 25.04.1 next week
Comment 4 Fabio 2025-04-22 21:12:24 UTC
Git commit 79990293b5d539d50af92d1a68dd277e4a7c0122 by Fabio Bas.
Committed on 22/04/2025 at 21:10.
Pushed by ctrlaltca into branch 'release/25.04'.

RDP: Fix passing domain from saved bookmark


(cherry picked from commit b6cac20057744d3c688e7e9c9fb31ad26b4afb3d)

Co-authored-by: Fabio Bas <ctrlaltca@gmail.com>

M  +3    -0    rdp/rdpsession.cpp

https://invent.kde.org/network/krdc/-/commit/79990293b5d539d50af92d1a68dd277e4a7c0122