diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 13:49:04 -0700 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 17:38:18 -0700 |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /kde-apps/krdc/files | |
download | gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2 gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip |
proj/gentoo: Initial commit
This commit represents a new era for Gentoo:
Storing the gentoo-x86 tree in Git, as converted from CVS.
This commit is the start of the NEW history.
Any historical data is intended to be grafted onto this point.
Creation process:
1. Take final CVS checkout snapshot
2. Remove ALL ChangeLog* files
3. Transform all Manifests to thin
4. Remove empty Manifests
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
5.1. Do not touch files with -kb/-ko keyword flags.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'kde-apps/krdc/files')
-rw-r--r-- | kde-apps/krdc/files/krdc-4.13.1-freerdp.patch | 184 |
1 files changed, 184 insertions, 0 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 new file mode 100644 index 000000000000..75b51468885a --- /dev/null +++ b/kde-apps/krdc/files/krdc-4.13.1-freerdp.patch @@ -0,0 +1,184 @@ +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++; + } + } |