metomi / rose

:rose: Rose is a toolkit for writing, editing and running application configurations.
https://metomi.github.io/rose/
GNU General Public License v3.0
56 stars 53 forks source link

Support GnuPG >= 2.1 #2483

Open penguian opened 3 years ago

penguian commented 3 years ago

Looking at get_socket in https://github.com/metomi/rose/blob/master/metomi/rosie/ws_client_auth.py I see the test

        agent_info = os.environ.get("GPG_AGENT_INFO")
        if agent_info is None:
            raise GPGAgentStoreConnectionError("no $GPG_AGENT_INFO env var")

but GPG since version 2.1 no longer supports this variable. In fact the way that gpg-agent is launched, as well as how sockets are used, has changed since 2.1: https://git.gnupg.org/cgi-bin/gitweb.cgi?p=gnupg.git;a=log;h=refs/tags/gnupg-2.1.0 https://git.gnupg.org/cgi-bin/gitweb.cgi?p=gnupg.git;a=commitdiff;h=9c380384dafb213334f8834178c5ceb0bf33db6e;hp=688a903b4b3ad348c0d09e9d3fab8a12f4f94311

  1. How is Rose tested with GPG version 2.1 and later?
  2. What do I need to do to work around the lack of support for GPG >= 2.1, especially for rosie go?
    $ rose --version
    Rose 2019.01.5 (/g/data4/hr22/apps/rose/2019.01.5)
dpmatthews commented 3 years ago

Sorry - we don't currently test with GPG version 2.1 and later. Unfortunately my early attempts to get password caching working with GPG version 2.1 hit an issue with gpg-preset-passphrase so we had to resort to installing version 2.0 on affected systems. Hopefully things have moved on but I haven't yet had time to investigate.

penguian commented 3 years ago

Thanks for the reply. This is an issue because National Computational Infrastructure now offers an Open OnDemand service that uses Rose 2019.01.5 and GPG 2.2.20. I am currently porting Scott Wales' mosrs-setup to the OOD service, but have had to work around the behaviour of Rose.