summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /kde-apps/krdc/files
downloadgentoo-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.patch184
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++;
+ }
+ }