#772066 [krdc] Incompatibility with FreeRDP (fails to connect to some RDP servers with certain options)

Package:
krdc
Source:
krdc
Description:
Remote Desktop Connection client
Submitter:
Filipus Klutiero
Date:
2015-03-26 09:24:05 UTC
Severity:
important
#772066#5
Date:
2014-12-04 19:35:25 UTC
From:
To:
I regularly connect to 2 RDP hosts. The one I use the most, a Windows 8 server, does not work anymore after upgrading xfreerdp from 1.0 to 1.1.0~git20140921.1.440916e. My connection to a Windows Server 2003 host still works.

If I try the Windows 8 connection with FreeRDP "1.1", the connection never completes, causing the infamous blue screen (upstream 339490). This is a known issue caused by usage of an unreleased FreeRDP version tracked in upstream's ticket 341284.

New versions do not offer the same command-line interface. The interface isn't completely different. It appears to be possible to connect to any RDP server, but the right options need to be set. Also, it seems the target is also a variable - for some reason, my Windows Server 2003 appears to support any configuration I request, unlike my Windows 8 server.

I see a few options:

 1. Revert FreeRDP to 1.0 and wait until dependants support the new interface.
 2. Make krdc compatible with the new interface. Upstream has a patch to support the new interface, but it doesn't support the old interface at the same time. Either we develop a new patch, or we apply the existing patch and make krdc conflict with FreeRDP 1.0 and earlier. FreeRDP should perhaps conflict with current krdc too.
Debian Release: jessie/sid
990 testing ftp3.nrc.ca
500 unstable ftp3.nrc.ca
1 experimental ftp3.nrc.ca
--- Package information. ---
Depends (Version) | Installed
===================================-+-=============
kde-runtime (>> 4:4.10) | 4:4.14.2-1
libc6 (>= 2.1.3) | 2.19-13
libkcmutils4 (>= 4:4.11) | 4:4.14.2-3
libkdecore5 (>= 4:4.11) | 4:4.14.2-3
libkdeui5 (>= 4:4.11) | 4:4.14.2-3
libkdnssd4 (>= 4:4.11) | 4:4.14.2-3
libkio5 (>= 4:4.11) | 4:4.14.2-3
libknotifyconfig4 (>= 4:4.11) | 4:4.14.2-3
libqt4-dbus (>= 4:4.5.3) | 4:4.8.6+git64-g5dc8b2b+dfsg-2+b1
libqt4-network (>= 4:4.5.3) | 4:4.8.6+git64-g5dc8b2b+dfsg-2+b1
libqt4-xml (>= 4:4.5.3) | 4:4.8.6+git64-g5dc8b2b+dfsg-2+b1
libqtcore4 (>= 4:4.8.4) | 4:4.8.6+git64-g5dc8b2b+dfsg-2+b1
libqtgui4 (>= 4:4.8.0) | 4:4.8.6+git64-g5dc8b2b+dfsg-2+b1
libstdc++6 (>= 4.1.1) | 4.9.1-19
libtelepathy-qt4-2 (>= 0.9.1) | 0.9.4+dfsg-3
libvncclient0 (>= 0.9.9) | 0.9.9+dfsg-6+b2


Recommends (Version) | Installed
==========================-+-===========
rdesktop |
freerdp-x11 (>= 1.0.2) | 1.1.0~git20140921.1.440916e+dfsg1-2+b1


Suggests (Version) | Installed
===========================-+-===========
khelpcenter4 | 4:4.14.2-1
krfb | 4:4.14.2-1

#772066#10
Date:
2015-01-06 17:36:24 UTC
From:
To:
Hello,
   I may be experiencing the same bug:  If the host is asking to accept a
certificate, KRDC displays nothing.
   I'm reporting this on this bug so that when it is closed I can verify my
prob is also fixed.  (otherwise I'll open an new bug.)

Thanks for your work!
C.

#772066#15
Date:
2015-02-15 15:57:48 UTC
From:
To:
There seem to be patches available upstream now, can we please merge
them for jessie? Combined with #759361, this bug makes krdc completely
unusable.

Patches are linked here: https://bugs.kde.org/show_bug.cgi?id=341284

#772066#20
Date:
2015-03-26 09:22:14 UTC
From:
To:
Dear Maintainer,

i have this problem too.
With rdesktop and xfreerdp it works well. Please fix it, it makes krdc
unusable.

the following works fine:
xfreerdp -vvvv /u:Administrator /v:vcenter2.example.de /cert-ignore
/size:1280x1024 +compression

rdesktop veeambackup.example.de -g 1280x1012 &


krdc
krdc(5743) MainWindow::loadAllPlugins: "### Plugin RDP found ###"
krdc(5743) MainWindow::loadAllPlugins: # Version: "1.0"
krdc(5743) MainWindow::loadAllPlugins: # Description: "Allows managing
RDP sessions through KRDC"
krdc(5743) MainWindow::loadAllPlugins: # Author: "Urs Wolfer"
krdc(5743) MainWindow::loadAllPlugins: # Sorting: 60
krdc(5743) MainWindow::loadAllPlugins: "### Plugin VNC found ###"
krdc(5743) MainWindow::loadAllPlugins: # Version: "1.0"
krdc(5743) MainWindow::loadAllPlugins: # Description: "Allows managing
VNC sessions through KRDC"
krdc(5743) MainWindow::loadAllPlugins: # Author: "Urs Wolfer"
krdc(5743) MainWindow::loadAllPlugins: # Sorting: 20
krdc(5743) MainWindow::loadAllPlugins: "# Plugin Test found, however
it's not activated, skipping..."
krdc(5743) TubesManager::TubesManager: Initializing tubes manager
tp-qt 0.9.4 DEBUG: Register StreamTubeClient with name
"krdc_rfb_handler"
tp-qt 0.9.4 DEBUG: Client registered - busName:
"org.freedesktop.Telepathy.Client.krdc_rfb_handler" objectPath:
"/org/freedesktop/Telepathy/Client/krdc_rfb_handler" interfaces:
("org.freedesktop.Telepathy.Client.Handler")
krdc(5743) RemoteDesktopsModel::RemoteDesktopsModel: Browsing for
zeroconf hosts.
krdc(5743)/kdeui (kdelibs): Attempt to use QAction
"remote_desktop_dockwidget" with KXMLGUIFactory!
krdc(5743) MainWindow::updateActionStatus: -1
krdc(5743) MainWindow::tabChanged: 0
krdc(5743) MainWindow::updateActionStatus: 0
krdc(5743) main: ########## KRDC ready: 152 ms ##########
krdc(5743) DNSSD::RemoteService::resolveAsync:
DNSSD::RemoteService(0x1d90270) :Starting resolve of :  "Ian’s MacBook
Pro"   "_rfb._tcp"   "local"
krdc(5743) DNSSD::RemoteService::resolveAsync:
DNSSD::RemoteService(0x1e0c9e0) :Starting resolve of :  "Support’s
MacBook Pro @ 1003"   "_rfb._tcp"   "local"
krdc(5743) DNSSD::RemoteService::resolveAsync:
DNSSD::RemoteService(0x1e0cb40) :Starting resolve of :  "Ian’s MacBook
Pro"   "_rfb._tcp"   "local"
krdc(5743) DNSSD::RemoteService::resolveAsync:
DNSSD::RemoteService(0x1ebdc00) :Starting resolve of :  "mac22"
"_rfb._tcp"   "local"
krdc(5743) DNSSD::RemoteService::resolveAsync:
DNSSD::RemoteService(0x1c19c80) :Starting resolve of :  "hades"
"_rfb._tcp"   "local"
krdc(5743) DNSSD::RemoteService::resolveAsync:
DNSSD::RemoteService(0x1e0c940) :Starting resolve of :  "olymp"
"_rfb._tcp"   "local"
krdc(5743) DNSSD::RemoteService::resolveAsync:
DNSSD::RemoteService(0x1ebdce0) :Starting resolve of :  "Ian’s MacBook
Pro"   "_rfb._tcp"   "local"
krdc(5743) DNSSD::RemoteService::resolveAsync:
DNSSD::RemoteService(0x1ebd0c0) :Starting resolve of :  "mac22"
"_rfb._tcp"   "local"
krdc(5743) DNSSD::RemoteService::resolveAsync:
DNSSD::RemoteService(0x1ebd090) :Starting resolve of :  "olymp"
"_rfb._tcp"   "local"
krdc(5743) DNSSD::RemoteService::resolveAsync:
DNSSD::RemoteService(0x1ec1e80) :Starting resolve of :  "hades"
"_rfb._tcp"   "local"
krdc(5743) MainWindow::newConnection: "Found plugin to handle url
(rdp://administrator@vcenter2.example.de): RdpView"
krdc(5743) HostPreferences::showDialogIfNeeded: Show config dialog again
krdc(5743) HostPreferences::showDialog: HostPreferences config dialog
accepted
krdc(5743) MainWindow::tabChanged: -1
krdc(5743) MainWindow::updateActionStatus: -1
krdc(5743) MainWindow::tabChanged: 0
krdc(5743) MainWindow::updateActionStatus: 0
krdc(5743) MainWindow::tabChanged: 0
krdc(5743) MainWindow::updateActionStatus: 0
krdc(5743)/krdc (RDP backend) RdpView::start: Is LDAP login: false
"administrator"
krdc(5743) RemoteView::readWalletPassword: Wallet OK
krdc(5743) RemoteView::readWalletPassword: Password read OK
krdc(5743)/krdc (RDP backend) RdpView::start: Starting xfreerdp with
arguments: ("-g", "1024x768", "-k", "0x00000409", "-u", "administrator",
"-p", "HdePcdS!", "-D", "-X", "69206050", "-a", "24", "--plugin",
"rdpdr", "--data", "disk:media:/media", "--", "-x", "l",
"--ignore-certificate", "--plugin", "cliprdr", "-t", "3389",
"vcenter2.example.de")
krdc(5743) MainWindow::statusChanged: -2
krdc(5743) MainWindow::statusChanged: -1
krdc(5743) MainWindow::statusChanged: 0
krdc(5743)/krdc (RDP backend) RdpView::receivedStandardError:
receivedStandardError: "--plugin cliprdr -> +clipboard
WARNING: Using deprecated command-line interface!
--plugin cliprdr -> +clipboard
-a 24 -> /bpp:24
-D -> -decorations
-g 1024x768 -> /size:1024x768 or /w:1024 /h:768
-k 0x00000409 -> /kbd:0x00000409
-p ****** -> /p:******
-t 3389 -> /port:3389
-u administrator -> /u:administrator
-x l -> /network broadband
-X 69206050 -> /parent-window:69206050
--ignore-certificate -> /cert-ignore
vcenter2.example.de -> /v:vcenter2.example.de
loading channel rdpdr
loading channel rdpsnd
loading channel cliprdr
connected to vcenter2.example.de:3389
"
krdc(5743)/krdc (RDP backend) RdpView::receivedStandardError:
receivedStandardError: "SSL_read: Failure in SSL library (protocol
error?)
SSL_read: error:14094419:SSL routines:SSL3_READ_BYTES:tlsv1 alert access
denied
credssp_recv() error: -1
"
krdc(5743)/krdc (RDP backend) RdpView::receivedStandardError:
receivedStandardError: "Authentication failure, check credentials.
If credentials are valid, the NTLMSSP implementation may be to blame.
Error: protocol security negotiation or connection failure
"
krdc(5743) MainWindow::newConnection: "Found plugin to handle url
(rdp://administrator@fornix): RdpView"
krdc(5743) HostPreferences::showDialogIfNeeded: Show config dialog again
krdc(5743) HostPreferences::showDialog: HostPreferences config dialog
accepted
krdc(5743) MainWindow::tabChanged: 1
krdc(5743) MainWindow::updateActionStatus: 1
krdc(5743) MainWindow::tabChanged: 1
krdc(5743) MainWindow::updateActionStatus: 1
krdc(5743)/krdc (RDP backend) RdpView::start: Is LDAP login: false
"administrator"
krdc(5743) RemoteView::readWalletPassword: Wallet OK
krdc(5743) RemoteView::readWalletPassword: Password read OK
krdc(5743)/krdc (RDP backend) RdpView::start: Starting xfreerdp with
arguments: ("-g", "1024x768", "-k", "0x00000409", "-u", "administrator",
"-p", "1DCfuIiG!", "-D", "-X", "69206232", "-a", "24", "--plugin",
"rdpsnd", "--plugin", "rdpdr", "--data", "disk:media:/media", "--",
"-x", "l", "--rfx", "--ignore-certificate", "--plugin", "cliprdr", "-t",
"3389", "fornix")
krdc(5743) MainWindow::statusChanged: -2
krdc(5743) MainWindow::statusChanged: -1
krdc(5743) MainWindow::statusChanged: 0
krdc(5743)/krdc (RDP backend) RdpView::receivedStandardError:
receivedStandardError: "--plugin cliprdr -> +clipboard
WARNING: Using deprecated command-line interface!
--plugin cliprdr -> +clipboard
-a 24 -> /bpp:24
-D -> -decorations
-g 1024x768 -> /size:1024x768 or /w:1024 /h:768
-k 0x00000409 -> /kbd:0x00000409
-p ****** -> /p:******
-t 3389 -> /port:3389
-u administrator -> /u:administrator
-x l -> /network broadband
-X 69206232 -> /parent-window:69206232
--rfx -> /rfx
--ignore-certificate -> /cert-ignore
fornix -> /v:fornix
loading channel rdpdr
loading channel rdpsnd
loading channel cliprdr
connected to fornix:3389
connected to fornix:3389
connected to fornix:3389
"
krdc(5743)/krdc (RDP backend) RdpView::connectionOpened: Connection
opened
krdc(5743)/krdc (RDP backend) RdpView::connectionOpened: Size hint:
1024   768
krdc(5743) MainWindow::statusChanged: 0
krdc(5743) MainWindow::statusChanged: 1
krdc(5743) MainWindow::statusChanged: 2
krdc(5743) MainWindow::statusChanged: 3
krdc(5743) BookmarkManager::addHistoryBookmark: Found URL. Move it at
the history start.
krdc(5743) MainWindow::resizeTabWidget: tabwidget resize, view size: w:
1024 , h:  768
krdc(5743) MainWindow::resizeTabWidget: new window size:  QSize(1212,
849)  available space: QSize(1920, 1165)
krdc(5743)/krdc (RDP backend) RdpView::receivedStandardError:
receivedStandardError: "Loading device service drive (static)
"
krdc(5743) KBookmarkManager::notifyChanged:
KBookmarkManager::notifyChanged (  "/0" )
krdc(5743) RemoteDesktopsModel::bookmarksChanged:
krdc(5743)/krdc (RDP backend) RdpView::receivedStandardError:
receivedStandardError: "registered device #1: media (type=8 id=1)
"
krdc(5743) MainWindow::newConnection: "Found plugin to handle url
(rdp://Administrator@veeambackup.example.de): RdpView"
krdc(5743) HostPreferences::showDialogIfNeeded: Show config dialog again
krdc(5743) HostPreferences::showDialog: HostPreferences config dialog
accepted
krdc(5743) MainWindow::tabChanged: 2
krdc(5743) MainWindow::updateActionStatus: 2
krdc(5743) MainWindow::tabChanged: 2
krdc(5743) MainWindow::updateActionStatus: 2
krdc(5743)/krdc (RDP backend) RdpView::start: Is LDAP login: false
"Administrator"
krdc(5743) RemoteView::readWalletPassword: Wallet OK
krdc(5743) RemoteView::readWalletPassword: Password read OK
krdc(5743)/krdc (RDP backend) RdpView::start: Starting xfreerdp with
arguments: ("-g", "1715x1047", "-k", "0x00000409", "-u",
"Administrator", "-p", "Hd1PcdS!", "-D", "-X", "69206283", "-a", "24",
"--plugin", "rdpsnd", "--plugin", "rdpdr", "--data",
"disk:media:/media", "--", "-x", "l", "--rfx", "--ignore-certificate",
"--plugin", "cliprdr", "-t", "3389", "veeambackup.example.de")
krdc(5743) MainWindow::statusChanged: -2
krdc(5743) MainWindow::statusChanged: -1
krdc(5743) MainWindow::statusChanged: 0
krdc(5743)/krdc (RDP backend) RdpView::receivedStandardError:
receivedStandardError: "--plugin cliprdr -> +clipboard
WARNING: Using deprecated command-line interface!
--plugin cliprdr -> +clipboard
-a 24 -> /bpp:24
-D -> -decorations
-g 1715x1047 -> /size:1715x1047 or /w:1715 /h:1047
-k 0x00000409 -> /kbd:0x00000409
-p ****** -> /p:******
-t 3389 -> /port:3389
-u Administrator -> /u:Administrator
-x l -> /network broadband
-X 69206283 -> /parent-window:69206283
--rfx -> /rfx
--ignore-certificate -> /cert-ignore
veeambackup.example.de -> /v:veeambackup.example.de
loading channel rdpdr
loading channel rdpsnd
loading channel cliprdr
connected to veeambackup.example.de:3389
"
krdc(5743)/krdc (RDP backend) RdpView::connectionOpened: Connection
opened
krdc(5743)/krdc (RDP backend) RdpView::connectionOpened: Size hint:
1715   1047
krdc(5743) MainWindow::statusChanged: 0
krdc(5743) MainWindow::statusChanged: 1
krdc(5743) MainWindow::statusChanged: 2
krdc(5743) MainWindow::statusChanged: 3
krdc(5743) BookmarkManager::addHistoryBookmark: Found URL. Move it at
the history start.
krdc(5743) MainWindow::resizeTabWidget: tabwidget resize, view size: w:
1715 , h:  1047
krdc(5743) MainWindow::resizeTabWidget: new window size:  QSize(1903,
1128)  available space: QSize(1920, 1165)
krdc(5743)/krdc (RDP backend) RdpView::receivedStandardError:
receivedStandardError: "Loading device service drive (static)
"
krdc(5743) KBookmarkManager::notifyChanged:
KBookmarkManager::notifyChanged (  "/0" )
krdc(5743) RemoteDesktopsModel::bookmarksChanged:
krdc(5743)/krdc (RDP backend) RdpView::receivedStandardError:
receivedStandardError: "registered device #1: media (type=8 id=1)
"