diff options
-rw-r--r-- | kde-apps/krdc/files/krdc-4.13.1-freerdp.patch | 184 |
1 files changed, 0 insertions, 184 deletions
diff --git a/kde-apps/krdc/files/krdc-4.13.1-freerdp.patch b/kde-apps/krdc/files/krdc-4.13.1-freerdp.patch deleted file mode 100644 index 75b51468885a..000000000000 --- a/kde-apps/krdc/files/krdc-4.13.1-freerdp.patch +++ /dev/null @@ -1,184 +0,0 @@ -Support >=free-rdp-1.1.0. - -https://git.reviewboard.kde.org/r/115059/ - -diff --git a/rdp/rdpview.cpp b/rdp/rdpview.cpp -index 0d14e04691549e084b58501cd10ca2382ef25c63..9062ba5fa060284a679f0c9bc211ab7dd6972c0a 100644 ---- a/rdp/rdpview.cpp -+++ b/rdp/rdpview.cpp -@@ -158,71 +158,58 @@ bool RdpView::start() - width = this->parentWidget()->size().width(); - height = this->parentWidget()->size().height(); - } -- arguments << "-g" << QString::number(width) + 'x' + QString::number(height); -+ arguments << "-decorations"; // put this option first so we can detect xfreerdp < 1.1 -+ arguments << "/w:" + QString::number(width); -+ arguments << "/h:" + QString::number(height); - -- arguments << "-k" << keymapToXfreerdp(m_hostPreferences->keyboardLayout()); -+ arguments << "/kbd:" + keymapToXfreerdp(m_hostPreferences->keyboardLayout()); - - if (!m_url.userName().isEmpty()) { - // if username contains a domain, it needs to be set with another parameter - if (m_url.userName().contains('\\')) { - const QStringList splittedName = m_url.userName().split('\\'); -- arguments << "-d" << splittedName.at(0); -- arguments << "-u" << splittedName.at(1); -+ arguments << "/d:" + splittedName.at(0); -+ arguments << "/u:" + splittedName.at(1); - } else { -- arguments << "-u" << m_url.userName(); -+ arguments << "/u:" + m_url.userName(); - } - } else { -- arguments << "-u" << ""; -+ arguments << "-u:"; - } - -- if (!m_url.password().isNull()) -- arguments << "-p" << m_url.password(); -- -- arguments << "-D"; // request the window has no decorations -- arguments << "-X" << QString::number(m_container->winId()); -- arguments << "-a" << QString::number((m_hostPreferences->colorDepth() + 1) * 8); -- -- switch (m_hostPreferences->sound()) { -- case 1: -- arguments << "-o"; -- break; -- case 0: -- arguments << "--plugin" << "rdpsnd"; -- break; -- case 2: -- default: -- break; -- } -+ arguments << "/parent-window:" + QString::number(m_container->winId()); -+ arguments << "/bpp:" + QString::number((m_hostPreferences->colorDepth() + 1) * 8); -+ arguments << "/audio-mode:" + m_hostPreferences->sound(); - - if (!m_hostPreferences->shareMedia().isEmpty()) { - QStringList shareMedia; -- shareMedia << "--plugin" << "rdpdr" << "--data" << "disk:media:" + m_hostPreferences->shareMedia() << "--"; -+ shareMedia << "/drive:media," + m_hostPreferences->shareMedia(); - arguments += shareMedia; - } - - QString performance; - switch (m_hostPreferences->performance()) { - case 0: -- performance = 'm'; -+ performance = "modem"; - break; - case 1: -- performance = 'b'; -+ performance = "broadband"; - break; - case 2: -- performance = 'l'; -+ performance = "lan"; - break; - default: - break; - } - -- arguments << "-x" << performance; -+ arguments << "/network:" + performance; - - if (m_hostPreferences->console()) { -- arguments << "-0"; -+ arguments << "/admin"; - } - - if (m_hostPreferences->remoteFX()) { -- arguments << "--rfx"; -+ arguments << "/rfx"; - } - - if (!m_hostPreferences->extraOptions().isEmpty()) { -@@ -233,16 +220,21 @@ bool RdpView::start() - // krdc has no support for certificate management yet; it would not be possbile to connect to any host: - // "The host key for example.com has changed" ... - // "Add correct host key in ~/.freerdp/known_hosts to get rid of this message." -- arguments << "--ignore-certificate"; -+ arguments << "/cert-ignore"; - - // clipboard sharing is activated in KRDC; user can disable it at runtime -- arguments << "--plugin" << "cliprdr"; -+ arguments << "/clipboard"; - -- arguments << "-t" << QString::number(m_port); -- arguments << m_host; -+ arguments << "/port:" + QString::number(m_port); -+ arguments << "/v:" + m_host; - - kDebug(5012) << "Starting xfreerdp with arguments:" << arguments; - -+ //avoid printing the password in debug -+ if (!m_url.password().isNull()) { -+ arguments << "/p:" + m_url.password(); -+ } -+ - setStatus(Connecting); - - connect(m_process, SIGNAL(error(QProcess::ProcessError)), SLOT(processError(QProcess::ProcessError))); -@@ -302,7 +294,7 @@ void RdpView::connectionError() - - void RdpView::processError(QProcess::ProcessError error) - { -- kDebug(5012) << "processError:" << error; -+ kDebug(5012) << error; - if (m_quitFlag) // do not try to show error messages while quitting (prevent crashes) - return; - -@@ -319,33 +311,13 @@ void RdpView::processError(QProcess::ProcessError error) - 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++; -- } -+ kDebug(5012) << output; - } - - void RdpView::receivedStandardOutput() - { - const QString output(m_process->readAllStandardOutput()); -- kDebug(5012) << "receivedStandardOutput:" << output; -+ kDebug(5012) << output; - QString line; - int i = 0; - while (!(line = output.section('\n', i, i)).isEmpty()) { -@@ -373,6 +345,14 @@ void RdpView::receivedStandardOutput() - return; - } - -+ // we no longer support freerdp < 1.1, we only support versions with the new interface -+ if (line.contains(QLatin1String("invalid option: -decorations"))) { -+ KMessageBox::error(0, i18n("The version of \"xfreerdp\" you are using is too old.\n" -+ "xfreerdp 1.1 or greater is required."), -+ i18n("RDP Failure")); -+ connectionError(); -+ return; -+ } - i++; - } - } |