** 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

Reply via email to