Package: x2goclient; Maintainer for x2goclient is X2Go Developers <x2go-dev@lists.x2go.org>; Source for x2goclient is src:x2goclient.
Reported by: Andrew Cherry <acherry@alcf.anl.gov>
Date: Fri, 20 Nov 2015 17:05:02 UTC
Severity: normal
Tags: pending
Found in version 4.0.5.1
Fixed in version 4.1.1.0
Done: X2Go Release Manager X2Go Release Manager <git-admin@x2go.org>
Bug is archived. No further changes may be made.
đ View this message in rfc822 format
MIME-Version: 1.0 X-Mailer: MIME-tools 5.507 (Entity 5.507) X-Loop: owner@bugs.x2go.org From: owner@bugs.x2go.org (X2Go Bug Tracking System) Subject: Bug#966 closed by X2Go Release Manager X2Go Release Manager <git-admin@x2go.org> (X2Go issue (in src:x2goclient) has been marked as closed) Message-ID: <handler.966.c.150926318424192.notifdone@bugs.x2go.org> References: <20171029074552.7B0A75DAD6@ymir.das-netzwerkteam.de> X-X2go-PR-Keywords: pending X-X2go-PR-Message: they-closed 966 X-X2go-PR-Package: x2goclient X-X2go-PR-Source: x2goclient Date: Sun, 29 Oct 2017 07:50:10 +0000 Content-Type: multipart/mixed; boundary="----------=_1509263410-25165-0"
[Message part 1 (text/plain, inline)]
This is an automatic notification regarding your Bug report which was filed against the x2goclient package: #966: x2goclient SSH fails with keyboard-interactive + banner It has been closed by X2Go Release Manager X2Go Release Manager <git-admin@x2go.org>. Their explanation is attached below along with your original report. If this explanation is unsatisfactory and you have not received a better one in a separate message then please contact X2Go Release Manager X2Go Release Manager <git-admin@x2go.org> by replying to this email. -- X2Go Bug Tracking System Contact owner@bugs.x2go.org with problems
[Message part 2 (message/rfc822, inline)]
From: X2Go Release Manager X2Go Release Manager <git-admin@x2go.org>To: 966-submitter@bugs.x2go.orgCc: control@bugs.x2go.org, 966@bugs.x2go.orgSubject: X2Go issue (in src:x2goclient) has been marked as closedDate: Sun, 29 Oct 2017 08:45:52 +0100 (CET)close #966 thanks Hello, we are very hopeful that X2Go issue #966 reported by you has been resolved in the new release (4.1.1.0) of the X2Go source project »src:x2goclient«. You can view the complete changelog entry of src:x2goclient (4.1.1.0) below, and you can use the following link to view all the code changes between this and the last release of src:x2goclient. http://code.x2go.org/gitweb?p=x2goclient.git;a=commitdiff;h=eafcb63c2ac63ae7ce43886949945e710c81bd3d;hp=add03ee78f3dcbee3317bf17a08dcb2cbeb12ee7 If you feel that the issue has not been resolved satisfyingly, feel free to reopen this bug report or submit a follow-up report with further observations described based on the new released version of src:x2goclient. Thanks a lot for contributing to X2Go!!! light+love X2Go Git Admin (on behalf of the sender of this mail) --- X2Go Component: src:x2goclient Version: 4.1.1.0-0x2go1 Status: RELEASE Date: Sun, 29 Oct 2017 08:43:45 +0100 Fixes: 31 499 592 870 930 966 1093 1100 1119 1121 1152 1165 1185 1186 Changes: x2goclient (4.1.1.0-0x2go1) RELEASED; urgency=medium . [ Mihai Moldovan ] * New upstream version (4.1.1.0): - src/sshmasterconnection.cpp: use ssh_channel_listen_forward () instead of ssh_forward_listen () for newer libssh versions. Fixes: #870. - src/sshmasterconnection.cpp: with libssh 0.6.0 and newer, get the public key via ssh_get_server_publickey () (0.8.0 and higher) or ssh_get_publickey () (0.7.x and lower) and its hash via ssh_get_publickey_hash () instead of using the deprecated ssh_get_pubkey_hash () function. Additionally, replace free () with the more appropriate ssh_string_free_char () function after using ssh_get_hexa (). This will break on very old systems with a hopelessly outdated libssh version, but we do not care about these systems in the first place. - src/sshmasterconnection.cpp: replace string_free () with its successor ssh_string_free (). Will break on ancient systems, but we don't care. - src/sshmasterconnection.cpp: replace deprecated channel_new () function with ssh_channel_new (). Might break on ancient systems, but we don't care. Also, add error handling in case ssh_channel_new () failed... - src/sshmasterconnection.cpp: replace deprecated channel_open_forward () function with ssh_channel_open_forward (). Might break on ancient systems, but we don't care. - src/sshmasterconnection.cpp: replace deprecated channel_open_session () function with ssh_channel_open_session (). Might break on ancient systems, but we don't care. - src/sshmasterconnection.cpp: replace deprecated channel_request_exec () function with ssh_channel_request_exec (). Might break on ancient systems, but we don't care. - src/sshmasterconnection.cpp: replace deprecated channel_poll () function with ssh_channel_poll (). Might break on ancient systems, but we don't care. - src/sshmasterconnection.cpp: replace deprecated channel_read () function with ssh_channel_read (). Might break on ancient systems, but we don't care. - src/sshmasterconnection.cpp: replace deprecated channel_is_eof () function with ssh_channel_is_eof (). Might break on ancient systems, but we don't care. - src/sshmasterconnection.cpp: replace deprecated channel_write () function with ssh_channel_write (). Might break on ancient systems, but we don't care. - src/sshmasterconnection.cpp: replace deprecated channel_send_eof () function with ssh_channel_send_eof (). Might break on ancient systems, but we don't care. - src/sshmasterconnection.cpp: replace deprecated channel_close () function with ssh_channel_close (). Might break on ancient systems, but we don't care. - src/sshmasterconnection.cpp: replace deprecated channel_free () function with ssh_channel_free (). Might break on ancient systems, but we don't care. - src/sshmasterconnection.cpp: use QString::arg () to insert function name and thus deduplicate error translation messages. Also re-add the full stop sign and remove it when needed for x2goDebug. - src/sshmasterconnection.cpp: fix up some debug strings. - src/sshmasterconnection.cpp: port more occurrences of "QString to C string" akin to 1b21d75f2c10609f3586f5b5e0b4ceb7fca83fdd. - src/sshmasterconnection.cpp: enable parsing of ~/.ssh/config. Fixes: #1121. Shorthands as host names and other bells and whistles like inferred port or user name values are now supported. - src/{onmainwindow,httpbrokerclient}.cpp: fix up error/warning message displayed when the server-specified key is unknown, but we have another key type stored already. - src/pulsemanager.cpp: fix up a debug string. Qt drops a space where I'd like to have one and inserts a space where I'd like none, so work around that fancifully. - src/sshmasterconnection.cpp: libssh < 0.6.0 does not have the ssh_options_get () API, but instead expects users to pull out information directly from the ssh_session structure. This fixes compile issues on systems with older libssh versions. - src/sshmasterconnection.cpp: turns out libssh < 0.6.0 doesn't support fetching the host, port and username parameters at all. We're in the clear for non-SSH-proxied connections and can use config file parsing, but have to disable config file parsing in the proxy settings, as there's no way to query the remote endpoint information. As a result we will be unable to open a new socket to the remote endpoint and proxying will fail badly. - src/x2goutils.cpp: ensure that add_to_path () also processes the first value passed. Fixes startup problems in MacPorts. Fixes: #1093. - res/i18n/x2goclient_et.ts: various fixups for the Estonian translation file. - res/i18n/x2goclient_*.ts: go the extra mile and fix up translation files manually after the "anothertype" fix in 8e503d89ee2d03a313c3deff11f0516fce503022. - {src/{onmainwindow,httpbrokerclient}.cpp,res/i18n/x2goclient_*.ts}: fix another occurrence of a string missing a space separator between words and update translation files. - src/onmainwindow.cpp: don't duplicate depth warning message needlessly, use correct plural forms in translations and split string up in a translation-friendly form. I'll leave translators to handle this beast, as languages are unique in the number of plural forms and the like. - {src/printdialog.cpp,res/i18n/x2goclient_*.ts}: drop spurious left-over parenthesis in warning message and adapt translations. - src/onmainwindow.cpp: make the "not loading translator" message non-translatable, as it doesn't make a lot of sense to actually translate it. - {src/{configdialog,x2goutils}.cpp,res/i18n/x2goclient_*.ts}: change XQuartz project homepage references, adapt translations. - src/pulsemanager.{cpp,h}: make get_* () functions const. - src/pulsemanager.{cpp,h}: make is_server_running () const. - src/pulsemanager.{cpp,h}: add new pulse_version_valid_ boolean class member variable, set it correctly and use it whenever the version is accessed. - src/pulsemanager.cpp: make fetch_pulseaudio_version () more resilient. Instead of aborting hard when the version number could not be detected, break out of the loops only. We can make stuff work, even if the version is unknown. Or just continue without PA support as such. - src/pulsemanager.{cpp,h}: add show_startup_warning () for both PA server and (debug) startup sound playback. - src/pulsemanager.cpp: check server_binary_ before using it and jump over code that assumes the PA server binary to be available. - src/pulsemanager.cpp: don't fail hard on OS X if the PA server binary could not be found in the constructor. We can live without PA and will show a warning message to the user later on when PA is supposed to be started. - src/pulsemanager.cpp: deduplicate warning/error messages - make use of show_startup_warning (). This does imply changes to the translation files, coming up next. - res/i18n/x2goclient_*.ts: regenerate translation files and fix up some SSH and PulseManager messages manually, where possible. - src/x2ogutils.h: guard UNUSED macro definition. - {macbuild.sh,src/{x2goutils.h,{pulsemanager,onmainwindow}.cpp}, x2goclient.pro}: make MacPorts prefix selectable at compile time. Much cleaner for downstream package maintainers (like, for instance, MacPorts itself.) - res/i18n/x2goclient_fi.ts: remove outdated comment. - src/sshprocess.cpp: bind direct tunnel socket to localhost instead of any address. Fixes: #31. - src/onmainwindow.cpp: check for sessionExplorer->getLastSession() to be valid in all places but obvious ones. Fixes: #499. - src/sshmasterconnection.cpp: use new PKI-based libssh API for public key authentication for libssh 0.6.0 and higher. Fixes: #1119. - src/sshmasterconnection.cpp: add YubiKey challenge auth prompt. - src/sshmasterconnection.cpp: fix compile errors on pre-libssh-0.6.0 systems and add a TOCTU-race check to see if the file exists prior to calling privatekey_from_file () on such systems. Additionally fix a type issue. - macbuild.sh: fix long-standing issue that made the DMG bundle contain a symlink made up of only a space to /Applications. - res/img/icons/dmg: add new image disk.svg, used as the basis for the new OS X DMG bundle icon. - res/img/icons/dmg: add new disk-drive-and-x2goclient icon for use as the volume icon of the OS X DMG bundle. - macbuild.sh: use the new volume icon that actually also looks like a disk drive. Fixes: #930. - src/onmainwindow.cpp: typo fix only. - src/onmainwindow.cpp: do not automatically set login user name to current system user if empty. Unbreaks default user name fetching via libssh. Might break some use cases (especially RDP, XDMCP). - src/x2goclient.cpp: revert change bypassing the UNIX cleanup helper. - src/onmainwindow.cpp: revert old behavior and select user name field after a session has been suspended/terminated if user name was not provided. Do not insert an user name, though, but leave it to autodetection by default. - src/sshmasterconnection.cpp: fix SSH-proxied connections with port numbers of zero. In order to authenticate the remote server, SSH-proxied connections must be reset to their remote host and port values after connecting via the SSH tunnel. If the original port value was zero, setting it was skipped, leading to connections like $REMOTE_HOST:$PROXY_PORT, which is certainly wrong. Fetch the inferred port value and set this instead, fixing this issue. - Makefile: add new QMAKE_OPTS variable so that packagers can pass additional options to qmake directly. - src/sshmasterconnection.cpp: typo fix in log message only. - src/sshmasterconnection.cpp: don't leak ssh_session data, free it once we're done with it. - Makefile: qmake seems to act weird if QMAKE_C(XX)FLAGS starts with a space followed by additional non-whitespace characters. Refactor the variables a bit to work around this issue. - Makefile: turns out the only somewhat portable way to do something like this is via shell hackery. - Makefile: reset to the original state and make sure that we don't pass CXXFLAGS on to the actual build process to not override the values generated by qmake. - Makefile: the only way to prevent variables on the command line to be passed down seems to be to remove them from MAKEOVERRIDES. .MAKEOVERRIDES is the FreeBSD-make-equivalent variable. MAKEFLAGS has no effect on this behavior, so removing it again. - Makefile: add comment explaining why we need to do this in the first place and why it's so complicated. - src/sshmasterconnection: ignore "garbage", but require at least one line to start with a known challenge auth prompt. Fixes: #966. - x2goclient.pro: add libssh_threads library. We need this since X2Go Client is multi-threaded. - copy-deps-win32.bat: also copy libssh_threads.dll to go with the previous change. - src/{onmainwindow,sshmasterconnection}.{cpp,h}: correctly initialize and finalize libssh. We ought to do both only once - in our main thread. Previously, we initialized libssh in a new thread, which might be problematic. - src/sessionexplorer.cpp: open the correct tab when editing a session from the exports menu. - src/onmainwindow.cpp: try to workaround window placement if settings contain a (newly) invalid position (e.g., a position that refers to a disconnected display.) - src/onmainwindow.cpp: try to find a display that can hold the window's position fetched from the sizes settings. Use the default if none could be found. - src/onmainwindow.cpp: fix up main window position check; use QRect.intersects (). - src/pulsemanager.{cpp,h}: rename shutdownState to shutdown_state_, reorder in initializer list. - res/i18n/: regenerate translations. - res/i18n/x2goclient_es.ts: fixup Spanish translation file. - res/i18n/x2goclient_et.ts: fixup some typos in the Estonian translation file. - res/i18n/x2goclient_sv.ts: add singular form to translation entry as discussed on list. - res/i18n/x2goclient_es.ts: add singular form to translation entry as discussed off list. - res/i18n/x2goclient_nl.ts: various fixups for Dutch translation file. - res/i18n/x2goclient_nb_no.ts: various fixups for BokmĂ„l (Norway) translation file. - res/i18n/x2goclient_nl.ts: fix whitespace issues in Dutch translation file and re-add numerus form translation. - res/i18n/x2goclient_nb_no.ts: various fixups for BokmĂ„l (Norway) translation file, including numerus form. - src/sshmasterconnection.cpp: for proxied connections, fetch the user name matching the given host, not proxy host. - res/i18n/x2goclient_fi.ts: various fixups for Finnish translation file. - res/i18n/x2goclient_fi.ts: another tiny whitespace fixup for Finnish translation file. - src/onmainwindow.cpp: fix "XMDCP" typo. - res/i18n/x2goclient_de.ts: various fixups for German translation file. - src/onmainwindow.cpp: fix "loose" vs. "lose" spelling mistake. - res/i18n/x2goclient_et.ts: remove obsolete and wrongly capitalized "x2go" part from an Estonian translation message. - res/i18n/x2goclient_sv.ts: minor whitespace fixup. - res/i18n/x2goclient_*.ts: apply "XMDCP" -> "XDMCP" fix manually to translation files. - res/i18n/x2goclient_nb_no.ts: remove obsolete comments (leading to problems when regenerating translation files.) - res/i18n/x2goclient_nl.ts: remove obsolete comments (leading to problems when regenerating translation files.) - res/i18n/x2goclient_*.ts: regenerate translations. - res/i18n/x2goclient_fi.ts: various fixups for Finnish translation file. - src/sshmasterconnection.cpp: spelling fix. (Quiting -> Quitting) - x2gobrowserplugin-2.4_1/src/qtbrowserplugin.cpp: spelling fix. (convertable -> convertible) * x2goclient.spec: - Respect %{optflags} and pass QMAKE_STRIP=: to fix missing debug info issues. . [ Oleksandr Shneyder ] * New upstream version (4.1.1.0): - Interaction with SSH server (for example for changing expired password). Fixes: #592. - Fixing setting widget style issue in InteractionDialog on Windows client. - SSH Interaction for SSH Broker and SSH Server. - SSH Iteraction for method keyboard-interactive. - Move PulseManager MsgBox functions to main window: GUI functions should be used only from main thread. - Check "norecord" option on the first start of PulseAudio. - Disable/Enable PulseAudio in config dialog. New command line options: --disable-pulse to disable start of PulseAudio --disable-pulse-record to disable audio input. - Check if PulseAudio running at session start and resuming when sound is enabled. Show warning if PulseAudio not running and disable the sound support for the session to avoid session freezes. - Add session config file option "sshproxysamekey". With this option client will use for proxy authentication same key as for X2Go server. This is important in first case for broker users, where key can be generated "on the fly". Maybe it makes sence to add this option in UI and command line later. - Correct negative display coordinates for FS sessions. . [ Robert Parts ] * New upstream version (4.1.1.0): - res/i18n/x2goclient_et.ts: update Estonian translation file. - res/i18n/x2goclient_et.ts: update Estonian translation file. . [ Martti PitkĂ€nen ] * New upstream version (4.1.1.0): - res/i18n/x2goclient_fi.ts: update Finnish translation file. - res/i18n/x2goclient_fi.ts: update Finnish translation file. - res/i18n/x2goclient_fi.ts: update Finnish translation file. . [ Mike DePaulo ] * New upstream version (4.1.1.0): - Windows: Upgrade PulseAudio from 6.0 to 7.1 Fixes: #1152 Issues with audio when playing HTML5 videos - Windows: Remove uninstaller from start menu. It is still available in "Programs and Features". - Windows: Upgrade Win32 OpenSSL from 1.0.1t to 1.0.2k Fixes numerous CVEs - Windows: Upgrade libssh from 0.7.0 to 0.7.4 (while maintaining Pageant support). The possibly relevant changes are: + CVE-2016-0739 was fixed + improved id_ed25519 support + numerous bug fixes - Windows: Update PuTTY from 0.67 to 0.68 The possibly relevant changes are: + CVE-2016-6167 was fixed (did not affect X2Go Client by default because the installation dir is not writeable by users) + CVE-2017-6542 was fixed - Don't override PATH for the actual session or application command. Fixes: #1100 . [ Walid Moghrabi ] * New upstream version (4.1.1.0): - {src/{help.cpp,onmainwindow.{cpp,h}},man/man1/x2goclient.1}: let --background take a directory and randomly pick an SVG file in there. Fixes: #1165. - {src/{help.cpp,onmainwindow.{cpp,h}},man/man1/x2goclient.1}: pass-through broker credentials when connecting to a direct RDP session. Fixes: #1185. Adds a new --broker-use-creds-for-session parameter. - src/onmainwindow.cpp: support --close-disconnect for direct RDP sessions. Fixes: #1186. . [ Daniel Lindgren ] * New upstream version (4.1.1.0): - res/i18n/x2goclient_sv.ts: update Swedish translation file. . [ Ricardo DĂaz MartĂn ] * New upstream release (4.1.1.0): - res/i18n/x2goclient_es.ts: update Spanish translation file. . [ Jos Wolfkamp ] * New upstream version (4.1.1.0): - res/i18n/x2goclient_nl.ts: update Dutch translation file. - res/i18n/x2goclient_nl.ts: update Dutch translation file. . [ Klaus Ade Johnstad ] * New upstream version (4.1.1.0): - res/i18n/x2goclient_nb_no.ts: update BokmĂ„l (Norway) translation file. - res/i18n/x2goclient_nb_no.ts: update BokmĂ„l (Norway) translation file. . [ Stefan Baur ] * New upstream release (4.1.1.0): - res/i18n/x2goclient_de.ts: update German translation file. . [ SĂ©bastien Ducoulombier ] * New upstream version (4.1.1.0): - res/i18n/x2goclient_fr.ts: update French translation file.
[Message part 3 (message/rfc822, inline)]
From: Andrew Cherry <acherry@alcf.anl.gov>To: <submit@bugs.x2go.org>Subject: x2goclient SSH fails with keyboard-interactive + bannerDate: Fri, 20 Nov 2015 11:50:49 -0500Package: x2goclient Version: 4.0.5.1 On our systems, security policy requires us to use OTP tokens for login, which means that all SSH connections are keyboard-interactive. In addition, we use /etc/issue.net to print a warning banner before the SSH password prompt. When x2goclient connects, the string variable containing the output for the password prompt ('pr' in sshmasterconnection.cpp) includes the banner as well, and since the check for "Password: " is a strict equality check, the password prompt is not recognized. The simple patch below seems to do the trick to get around this issue: --- sshmasterconnection.cpp 2015-11-20 11:37:44.000000000 -0500 +++ /Users/acherry/sshmasterconnection.cpp 2015-11-20 11:37:24.000000000 -0500 @@ -866,7 +866,7 @@ x2goDebug<<"Prompt[0]: |"<<prompt<<"|"<<endl; #endif QString pr=prompt; - if(pr=="Password: ") + if(pr.endsWith("Password: ")) { #ifdef DEBUG x2goDebug<<"Password request"<<endl; @@ -874,7 +874,7 @@ ssh_userauth_kbdint_setanswer(my_ssh_session,0,pass.toAscii()); return userChallengeAuth(); } - if(pr=="Verification code: ") + if(pr.endsWith("Verification code: ")) { #ifdef DEBUG x2goDebug<<"Verification code request"<<endl;
Send a report that this bug log contains spam.
Debbugs is free software and licensed under the terms of the GNU Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.
Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.