Bug 1428041

Summary: freerdp 1.0.2 available in rhel-7-server-rpms does not have needed options in man page or --help
Product: Red Hat Enterprise Linux 7 Reporter: Paul Gozart <pgozart>
Component: freerdpAssignee: Ondrej Holy <oholy>
Status: CLOSED ERRATA QA Contact: Desktop QE <desktop-qa-list>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 7.3CC: lmiksik, orion, thudziec, tpelka
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: freerdp-1.0.2-15.el7 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-04-10 11:38:34 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1420851, 1479818    

Description Paul Gozart 2017-03-01 18:40:42 UTC
Description of problem:
Customer submitted a case to try to figure out how to redirect a smartcard via an xfreerdp connection.  We discovered that this functionality exists but it is not in the man page or --help output for freerdp 1.0.2 currently available in the rhel-7-server-rpms repo.  Customer resolved his problem with the following command [1] which is not mentioned in documentation included in the package.

[1] xfreerdp --no-nla --plugin rdpsnd --plugin rdpdr --data scard:"" -- SERVER


Version-Release number of selected component (if applicable):
freerdp 1.0.2


How reproducible:
[root@rhel7junk ~]# yum -y install freerdp
[root@rhel7junk ~]# xfreerdp --version
This is FreeRDP version 1.0.2
[root@rhel7junk ~]# xfreerdp --help | egrep -i '(data|smart|rdpsnd|rdpdr|plugin)'
  --plugin: load a virtual channel plugin
[root@rhel7junk ~]# man xfreerdp | egrep -i '(data|smart|rdpsnd|rdpdr|plugin)'
       --plugin pluginname
           Load pluginname
           In Red Hat Enterprise Linux 6, the following plugins are available:
           rdpsnd
           rdpdr
           xfreerdp --plugin rdpsnd server
           will enable audio output using the PulseAudio backend of the rdpsnd plugin. Please Note that Red Hat Enterprise Linux 6 does not include support for the ALSA
           backend of the rdpsnd plugin.



Actual results:
There is no mention of the --data sub-option that can be passed after the --plugin option, nor is a way to redirect a smartcard device mentioned.


Expected results:
At least the information from this section [2] of the documentation needs to be added to the --help and/or man page to document redirect capabilities of smartcards.  The example [1] above would be helpful to add.

[2] https://github.com/FreeRDP/FreeRDP/wiki/Plugins#plugins-usage


Additional info:
https://github.com/FreeRDP/FreeRDP/wiki/CommandLineInterface#old-style-options
https://github.com/FreeRDP/FreeRDP/wiki/Plugins

Comment 2 Nikola Forró 2017-03-02 09:26:41 UTC
Reassigning to the right component, as xfreerdp man page is not part of man-pages package.

Comment 5 Ondrej Holy 2017-09-12 13:19:40 UTC
I've proposed man page update to the upstream first, though not sure that upstream is interested in stable-1.0 fixes (master has the plugins already documented but in newer syntax)...

Comment 7 Ondrej Holy 2017-09-22 07:37:19 UTC
Upstream merged the proposed man page update, so let's use it in RHEL...

Comment 9 Tomas Hudziec 2017-12-07 14:11:36 UTC
With version freerdp-1.0.2-14.el7.x86_64 there is in man page mentioned how to pass --data sub-option after the --plugin option and how to redirect a smartcard device.

$ man xfreerdp | egrep -i '(data|smart|rdpsnd|rdpdr|plugin)'
       --plugin plugin [--data data --]
           Load one of the following plugin:
               Synchronize client and server clipboard data.
           drdynvc --data subplugin [subplugin ...] --
               Enable multimedia redirection. The subplugin must be one of the following:
                   Enable video redirection. The --plugin rdpsnd needs to be enabled as well.
           rdpsnd [--data [subplugin] [latency:latency] --]
               Enable audio output using one of the following subplugin and with a given latency in ms:
           rail --data executable[:workingdir[:arguments]] --
           rdpdr --data subplugin [subplugin ...] --
               Redirect filesystem devices on your client to the server. If you want any redirection to work with Windows Server 2012 and newer you must use --plugin rdpsnd before you use any rdpdr
               options. The subplugin must be one of the following:
               smartcard[:name]
                   Redirect smartcard with name.

Comment 10 Orion Poplawski 2018-01-19 17:29:47 UTC
I'm pretty sure the plugin name in 1.0.2 is "scard", not "smartcard".

Comment 11 Ondrej Holy 2018-01-24 15:21:48 UTC
Yes, unfortunately, you are right, it was renamed short time after 1.0 release from scard to smartcard and I used the wrong one :-(

$ xfreerdp -u USER -p PASS --plugin rdpdr --data smartcard: -- HOST
loading plugin rdpdr
connected to HOST:3389
freerdp_load_library_symbol: failed to open /usr/lib64/freerdp/smartcard.so: /usr/lib64/freerdp/smartcard.so: cannot open shared object file: No such file or directory
freerdp_load_plugin: failed to load smartcard/DeviceServiceEntry
...

$ xfreerdp -u USER -p PASS --plugin rdpdr --data scard: -- HOST
loading plugin rdpdr
connected to HOST:3389
registered device #1: SCARD (type=32 id=1)
registered device #1: SCARD (type=32 id=1)
registered device #1: SCARD (type=32 id=1)
...

Comment 12 Tomas Pelka 2018-01-31 15:32:46 UTC
Fixed with freerdp-1.0.2-15.el7

Comment 15 errata-xmlrpc 2018-04-10 11:38:34 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2018:0724