** Description changed:
+ [Impact]
+
+ Importing a key that is in a path that contains special characters (like
+ "/home/$USER/Transferências") fails silently.
+
+ [Test Case]
+
+ 1. Download a PGP key for a Debian repository (for example, the VideoLAN
+ team's key: download.videolan.org/pub/debian/videolan-apt.asc)
+ 2. Move the key file to a folder that contains special characters, or rename
+ the file to contain them (example: VídeoLAN.asc).
+ 3. Open "Software & Updates" from the Dash, then select the Authentication
+ tab.
+ 4. Press the "Import Key File..." button and then choose the key file.
+ Admin authentication should then be requested, so authenticate yourself.
+
+ If the bug is fixed: the key should now appear in the list of keys.
+ If not: the key was not added.
+
+ [Regression Potential]
+
+ If the fix is not correct, I suppose it could potentially break the
+ "import key" feature even more, so it wouldn't work even in "normal"
+ paths.
+
+ [Original Report]
+
The "Import Key File..." button in the "Authentication" tab fails
silently when the path of the selected key file includes special
characters.
I'm using Ubuntu in Portuguese, so the "/home/$USER/Downloads" folder is
named "/home/$USER/Transferências" here.
Adding a key from that folder fails, but adding a key from "/home/$USER" (no
special characters) succeeds.
The problem is that, in softwareproperties/gtk/SoftwarePropertiesGtk.py
in method SoftwarePropertiesGtk.add_key_clicked() at around line 952:
- if res == Gtk.ResponseType.ACCEPT:
- try:
- if not self.backend.AddKey(chooser.get_filename()):
- error(self.window_main,
- _("Error importing selected file"),
- _("The selected file may not be a GPG key file "
- "or it might be corrupt."))
- except dbus.DBusException as e:
- if e._dbus_error_name ==
'com.ubuntu.SoftwareProperties.PermissionDeniedByPolicy':
- logging.error("Authentication canceled, changes have not
been saved")
+ if res == Gtk.ResponseType.ACCEPT:
+ try:
+ if not self.backend.AddKey(chooser.get_filename()):
+ error(self.window_main,
+ _("Error importing selected file"),
+ _("The selected file may not be a GPG key file "
+ "or it might be corrupt."))
+ except dbus.DBusException as e:
+ if e._dbus_error_name ==
'com.ubuntu.SoftwareProperties.PermissionDeniedByPolicy':
+ logging.error("Authentication canceled, changes have not
been saved")
"self.backend.AddKey(chooser.get_filename())" throws a
"org.freedesktop.DBus.Python.UnicodeEncodeError" exception for paths with
special characters.
This is probably a side effect of switching from Python 2 to 3 (and 'bytes'
now being used in network communications where 'str' was previously used).
Another issue is that the error isn't reported to the user, and it
should be.
ProblemType: Bug
DistroRelease: Ubuntu 14.04
Package: software-properties-gtk 0.92.37.1
ProcVersionSignature: Ubuntu 3.13.0-37.64-generic 3.13.11.7
Uname: Linux 3.13.0-37-generic x86_64
ApportVersion: 2.14.1-0ubuntu3.5
Architecture: amd64
CurrentDesktop: Unity
Date: Tue Oct 14 13:22:21 2014
EcryptfsInUse: Yes
InstallationDate: Installed on 2014-10-13 (0 days ago)
InstallationMedia: Ubuntu 14.04.1 LTS "Trusty Tahr" - Release amd64
(20140722.2)
PackageArchitecture: all
SourcePackage: software-properties
UpgradeStatus: No upgrade log present (probably fresh install)
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1381050
Title:
"Import Key File" fails when the path of the file has special
characters
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/software-properties/+bug/1381050/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs