Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 377420 Details for
Bug 511010
kde-base/krdc fails with >=net-misc/freerdp-1.1
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
The patch that fixes it
rb115059.patch (text/plain), 6.61 KB, created by
Ferry
on 2014-05-22 11:31:46 UTC
(
hide
)
Description:
The patch that fixes it
Filename:
MIME Type:
Creator:
Ferry
Created:
2014-05-22 11:31:46 UTC
Size:
6.61 KB
patch
obsolete
>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++; > } > }
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 511010
: 377420