Hi,
Frederic Muller wrote:
Happy user of Gjots2 there was an automatic update over the weekend
which unformately now refuses (well doesn't offer a prompt) to open GPG
encrypted files. So I cannot use it anymore. I downgraded to the
previous version and it's working fine. Not sure if it's me only problem
or where to file a bug.
It looks like gjot2 was upgraded from 2.3.15 to 3.0.2. I
don't know what the gjots2 release naming is like, but that
sort of major version upgrade often includes changes which
are not backward compatible (which generally shouldn't
happen in a stable Fedora release).
I think the proper thing to do is to file a bug report and
include the steps needed to reproduce the issue. Maybe it's
simply a bug in gjots2-3.0.2 which can be easily fixed (see
below).
You can file a bug report here:
https://apps.fedoraproject.org/packages/gjots2/bugs
The default is against rawhide, so you'll want to change
that to Fedora 26 or 27, whichever you're using.
I've never used gjots2, but I installed it and tried to save
a note with a .gpg extension. This error was shown in the
terminal where I ran gjots2:
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/gjots2/gui.py", line 1578, in
on_saveAs_trigger
if self.gjotsfile.write_file(_("Save as ..."), exporting=0):
File "/usr/lib/python2.7/site-packages/gjots2/file.py", line 778, in
write_file
reuse_password = reuse_password)
File "/usr/lib/python2.7/site-packages/gjots2/file.py", line 467, in
_do_store
f = self._general_open(filename, "w", reuse_password = reuse_password)
File "/usr/lib/python2.7/site-packages/gjots2/file.py", line 408, in
_general_open
return self.gpg_open(filename, mode = mode, reuse_password = reuse_password)
File "/usr/lib/python2.7/site-packages/gjots2/file.py", line 312, in gpg_open
if os.environ["GPG_AGENT_INFO"]:
File "/usr/lib64/python2.7/UserDict.py", line 40, in __getitem__
raise KeyError(key)
KeyError: 'GPG_AGENT_INFO'
The GPG_AGENT_INFO is no longer used in gnugp >= 2.2, so
perhaps that's partly why things are breaking? It looks
like the way gjots2 detects gpg changed between 2.3.15 and
3.0.2, with 3.0.2 using the now outdated GPG_AGENT_INFO.
A simply patch to fix this and allow gjot2 to prompt for
passprhases is:
- if os.environ["GPG_AGENT_INFO"]:
+ if "GPG_AGENT_INFO" in os.environ and
os.environ["GPG_AGENT_INFO"]:
in /usr/lib/python2.7/site-packages/gjots2/file.py.
Since I already had a basic patch, I filed a pull request
for the gjots2 package here:
https://src.fedoraproject.org/rpms/gjots2/pull-request/2
Maybe that's all that's needed as a band-aid. It does mean
that the intended feature of 3.0.2 to use gpg-agent
credentials doesn't work. But at least with this patch it
falls back to the previous behavior of prompting for
credentials.
--
Todd
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Anyone who is capable of getting themselves made President should on
no account be allowed to do the job.
-- Douglas Adams, "The Hitchhiker's Guide to the Galaxy"