Bug 321812

Summary: RDP stops working because of 0.0.1 version mismatch
Product: [Applications] krdc Reporter: Pascal d'Hermilly <pascal>
Component: RDPAssignee: Urs Wolfer <uwolfer>
Status: RESOLVED INTENTIONAL    
Severity: normal CC: milan.opa
Priority: NOR    
Version: 4.10.90   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In:

Description Pascal d'Hermilly 2013-07-01 09:21:22 UTC
KRDC RDP does not work at all after upgrade to 4.11 beta2
It says 'The version of "xfreerdp" you are using is too old. xfreerdp 1.0.2 or greater is required.'
I have 1.0.1 and it seems quite obstructive that RDP totally breaks because of this mismatch.
Of course "xfreerdp [servername]" in the terminal works, but many need a gui.

Using Kubuntu packages.
Hmm, just strikes me, is this a packaging issue? None the less, does KRDC really need the last minor version?

Reproducible: Always
Comment 1 Urs Wolfer 2013-07-01 09:27:55 UTC
1.0.2 is required because of a bug in 1.0.1 which blocks from using it in KRDC. We cannot change anything here. Please report it to your distribution to update rdesktop.
Comment 2 Jekyll Wu 2013-07-01 09:29:42 UTC
Here is the relevant code: 

void RdpView::receivedStandardError()
{
    const QString output(m_process->readAllStandardError());
    kDebug(5012) << "receivedStandardError:" << output;
    QString line;
    int i = 0;
    while (!(line = output.section('\n', i, i)).isEmpty()) {
        
        // the following error is issued by freerdp because of a bug in freerdp 1.0.1 and below;
        // see: https://github.com/FreeRDP/FreeRDP/pull/576
        //"X Error of failed request:  BadWindow (invalid Window parameter)
        //   Major opcode of failed request:  7 (X_ReparentWindow)
        //   Resource id in failed request:  0x71303348
        //   Serial number of failed request:  36
        //   Current serial number in output stream:  36"
        if (line.contains(QLatin1String("X_ReparentWindow"))) {
            KMessageBox::error(0, i18n("The version of \"xfreerdp\" you are using is too old.\n"
                                       "xfreerdp 1.0.2 or greater is required."),
                               i18n("RDP Failure"));
            connectionError();
            return;
        }
        i++;
    }
}
Comment 3 Pascal d'Hermilly 2013-07-01 09:31:15 UTC
Thank you.
I filed a bug for Kubuntu.
https://bugs.launchpad.net/kubuntu-ppa/+bug/1196466
Comment 4 Urs Wolfer 2013-07-01 09:32:36 UTC
@Jekyll Wu: Thanks for posting the code. You can read in this code more exactly why 1.0.2 is required.
Comment 5 Jekyll Wu 2013-08-16 01:27:44 UTC
*** Bug 323564 has been marked as a duplicate of this bug. ***