Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 594750 - net-misc/remmina: Missing gcrypt use flag dependency of VNC client
Summary: net-misc/remmina: Missing gcrypt use flag dependency of VNC client
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Diogo Pereira
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 590838
  Show dependency tree
 
Reported: 2016-09-22 08:58 UTC by chrono
Modified: 2016-10-03 20:38 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description chrono 2016-09-22 08:58:15 UTC
When setting the crypt and vnc USE flag to net-misc/remmina, the ebuild should also set the gcrypt USE flag to net-libs/libvncserver (which is a remmina dep). 

Since I've been building a VNC _client_, it was more than just a little counter-intuitive and cost a lot of time to debug that the culprit was actually net-libs/libvncserver and not net-misc/remmina.

Failing to build BOTH, remmina AND libvncserver with crypt/gcrypt flags will result in connection problems with the following error:

"gcrypt support was not compiled in vnc"
Comment 1 Diogo Pereira 2016-10-02 12:43:07 UTC
AFAICT, Remmina only uses gcrypt to encrypt saved passwords. There is no relation to libvncserver's use of gcrypt at all, and you shouldn't need to enable it in Remmina to be able to make encrypted VNC connections.

The error message could be possibly be improved, but that would have to be done upstream, either in libvncserver here:
https://github.com/LibVNC/libvncserver/blob/d28d20f/libvncclient/rfbproto.c#L1183

or in Remmina itself, by detecting that message and adding the detail that it refers to libvncserver's use of gcrypt and not to Remmina's. That could be done in this function:
https://github.com/FreeRDP/Remmina/blob/374e23e/remmina-plugins/vnc/vnc_plugin.c#L1028
Comment 2 chrono 2016-10-02 13:12:13 UTC
Well, I have debugging this for days because I needed to connect to a VNC server and wasn't able to. Without manually setting the gcrypt USE flag for libvncserver, it was not possible to connect, always ending up in "gcrypt support was not compiled in vnc". 

From a user's perspective, setting crypt to remmina should set gcrypt in libvncserver and cause a rebuild, otherwise more people will sit there with a dysfunctional vnc client setup and scratch their had why it won't connect.
Comment 3 Diogo Pereira 2016-10-02 13:42:42 UTC
I understand your frustration but, as I explained above, there is no relation whatsoever between the crypt USE flag in remmina and the gcrypt flag in libvncserver.

This is a usability issue in Remmina, not a Gentoo bug.
Comment 4 chrono 2016-10-02 14:07:36 UTC
I see. So what can we do to improve this from our (gentoo) end? Usually USE flags and their deps have been a great way to control our systems in the last 15 years I've been using gentoo. 

After seeing it fail I kept on looking through the USE flags of all deps but the only one I kept ignoring until the very end was actually libvncserver, because it simply didn't occur to me that libvncserver would have any relevance, since I was using remmina as a vnc client, and not to spawn a local vnc server.

I understand that you're pointing upstream, however, I don't fully agree since parallel tests with other distros showed that remmina and libvncserver are properly built with gcrypt support and connect without these problems. I'm not trying to point fingers here, I'm just looking for a way where we can improve to a point where you don't have to be a package maintainer and KNOW that this dependency exists. equery isn't very helpful:

crypt: Add support for encryption -- using mcrypt or gpg where applicable

Could we add a gcrypt (or any other line vnc-gcrypt) USE flag to pass on to libvncserver to make it clear to people building remmina that this dependency exists and needs to be managed?
Comment 5 Diogo Pereira 2016-10-02 14:43:27 UTC
(In reply to chrono from comment #4)
> Could we add a gcrypt (or any other line vnc-gcrypt) USE flag to pass on to
> libvncserver to make it clear to people building remmina that this
> dependency exists and needs to be managed?

USE flags are not used in that way because that would lead to unnecessary rebuilds.

What I can do is add a post-install message pointing out this dependency (like the one about XDMCP support). Something like:

"Encrypted VNC connections require net-libs/libvncserver[gcrypt]."

Although I'm not sure exactly what kind of encrypted connections, since libvncserver also seems to have TLS support using openssl or gnutls.
Comment 6 chrono 2016-10-02 16:39:00 UTC
I guess a post-install message would cut down the number of victims of this issue :) Since I primarily stay within the GNU/Linux/BSD realm of things, it never popped up but recently was forced to use it. For me VNC is usually only a last measure to connect to other systems like IDRAC cards or Apple "servers" that otherwise only support their proprietary ecosphere tools which aren't available as I stick to gentoo.
Comment 7 Patrice Clement gentoo-dev 2016-10-03 20:07:55 UTC
commit ffa9b0bd515ed3aca7c76ce63749033fa8878109 (HEAD -> master, origin/master, origin/HEAD)
Author:     Diogo Pereira <sir.suriv@gmail.com>
AuthorDate: Sun Oct 2 22:42:35 2016 +0100
Commit:     Patrice Clement <monsieurp@gentoo.org>
CommitDate: Mon Oct 3 22:07:18 2016 +0200

net-misc/remmina: warn about encrypted VNC deps.

Add a post-install message informing the user that encrypted VNC connections
require net-libs/libvncserver built with the gcrypt flag.

Gentoo-Bug: https://bugs.gentoo.org/594750
Closes: https://github.com/gentoo/gentoo/pull/2457

Signed-off-by: Patrice Clement <monsieurp@gentoo.org>

net-misc/remmina/remmina-1.2.0_rc15.ebuild | 1 +
1 file changed, 1 insertion(+)

There you go. Enjoy!
Comment 8 chrono 2016-10-03 20:38:09 UTC
Thanks, much obliged. And there should be enough relevant keywords in this bug report to help anyone else searching for it (and didn't read the post-install) :)