r21321 - in /desktop/experimental/epiphany-webkit/debian: changelog patches/13_ignore_padlength_nss_error.patch patches/16_request_nss_master_password_if_needed.patch patches/series

kov at users.alioth.debian.org kov at users.alioth.debian.org
Fri Sep 11 13:31:24 UTC 2009


Author: kov
Date: Fri Sep 11 13:31:24 2009
New Revision: 21321

URL: http://svn.debian.org/wsvn/pkg-gnome/?sc=1&rev=21321
Log:
New patches that improve profile importing

Added:
    desktop/experimental/epiphany-webkit/debian/patches/13_ignore_padlength_nss_error.patch
    desktop/experimental/epiphany-webkit/debian/patches/16_request_nss_master_password_if_needed.patch
Modified:
    desktop/experimental/epiphany-webkit/debian/changelog
    desktop/experimental/epiphany-webkit/debian/patches/series

Modified: desktop/experimental/epiphany-webkit/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/experimental/epiphany-webkit/debian/changelog?rev=21321&op=diff
==============================================================================
--- desktop/experimental/epiphany-webkit/debian/changelog [utf-8] (original)
+++ desktop/experimental/epiphany-webkit/debian/changelog [utf-8] Fri Sep 11 13:31:24 2009
@@ -1,9 +1,12 @@
-epiphany-webkit (2.27.92-3) UNRELEASED; urgency=low
+epiphany-webkit (2.27.92-3) experimental; urgency=low
 
   * debian/patches/11_fix_crash_in_profile_migration.patch:
   - patch from upstream, to avoid crashing on startup
-
- -- Gustavo Noronha Silva <kov at debian.org>  Fri, 11 Sep 2009 10:26:55 -0300
+  * debian/patches/13_ignore_padlength_nss_error.patch,
+    debian/patches/16_request_nss_master_password_if_needed.patch:
+  - upstream patches that improve nss passwords importing
+
+ -- Gustavo Noronha Silva <kov at debian.org>  Fri, 11 Sep 2009 10:30:57 -0300
 
 epiphany-webkit (2.27.92-2) experimental; urgency=low
 

Added: desktop/experimental/epiphany-webkit/debian/patches/13_ignore_padlength_nss_error.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/experimental/epiphany-webkit/debian/patches/13_ignore_padlength_nss_error.patch?rev=21321&op=file
==============================================================================
--- desktop/experimental/epiphany-webkit/debian/patches/13_ignore_padlength_nss_error.patch (added)
+++ desktop/experimental/epiphany-webkit/debian/patches/13_ignore_padlength_nss_error.patch [utf-8] Fri Sep 11 13:31:24 2009
@@ -1,0 +1,24 @@
+commit ba217a89984a7a8af029e88ec774f4e71309d574
+Author: Xan Lopez <xan at gnome.org>
+Date:   Thu Sep 10 23:01:30 2009 +0300
+
+    ephy-nss-glue.c: ignore padLength error in the NSS glue code
+    
+    It seems to be harmless, and if we ignore it we can still decrypt some passwords.
+
+diff --git a/src/ephy-nss-glue.c b/src/ephy-nss-glue.c
+index a5f58cc..84992e7 100644
+--- a/src/ephy-nss-glue.c
++++ b/src/ephy-nss-glue.c
+@@ -129,7 +129,10 @@ unpadBlock(SECItem *data, int blockSize, SECItem *result)
+   PORT_Memcpy(result->data, data->data, result->len);
+ 
+   if (padLength < 2) {
+-    return SECWouldBlock;
++    /* Chromium returns an error here, but it seems to be harmless and
++       if we continue we'll be able to import the password
++       correctly */
++    /* return SECWouldBlock; */
+   }
+ 
+ loser:

Added: desktop/experimental/epiphany-webkit/debian/patches/16_request_nss_master_password_if_needed.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/experimental/epiphany-webkit/debian/patches/16_request_nss_master_password_if_needed.patch?rev=21321&op=file
==============================================================================
--- desktop/experimental/epiphany-webkit/debian/patches/16_request_nss_master_password_if_needed.patch (added)
+++ desktop/experimental/epiphany-webkit/debian/patches/16_request_nss_master_password_if_needed.patch [utf-8] Fri Sep 11 13:31:24 2009
@@ -1,0 +1,86 @@
+commit ec94410d508aaeb3498c7ae887d829ff8a77e4d8
+Author: Xan Lopez <xan at gnome.org>
+Date:   Fri Sep 11 12:14:39 2009 +0300
+
+    ephy-nss-glue.c: ask for the NSS master password if needed
+    
+    It was possible to set a master password for NSS through the
+    certificate manager extension, so we have to support this.
+    
+    Bug #594694
+
+diff --git a/src/ephy-nss-glue.c b/src/ephy-nss-glue.c
+index 84992e7..d60326c 100644
+--- a/src/ephy-nss-glue.c
++++ b/src/ephy-nss-glue.c
+@@ -37,10 +37,50 @@
+ #include <nss.h>
+ #include <pk11pub.h>
+ #include <pk11sdr.h>
++#include <glib/gi18n.h>
+ 
+ static gboolean nss_initialized = FALSE;
+ static PK11SlotInfo *db_slot = NULL;
+ 
++static char*
++ask_for_nss_password (PK11SlotInfo *slot,
++                      PRBool retry,
++                      void *arg)
++{
++  GtkWidget *dialog;
++  GtkWidget *entry;
++  gint result;
++  char *password = NULL;
++
++  if (retry)
++    return NULL;
++
++  dialog = gtk_message_dialog_new (NULL,
++                                   0,
++                                   GTK_MESSAGE_QUESTION,
++                                   GTK_BUTTONS_OK_CANCEL,
++                                   _("Master password needed"));
++  gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog),
++                                            _("The passwords from the previous version (Gecko) are locked with a master password. If you want Epiphany to import them, please enter your master password below."));
++  entry = gtk_entry_new ();
++  gtk_entry_set_visibility (GTK_ENTRY (entry), FALSE);
++  gtk_container_add (GTK_CONTAINER (GTK_DIALOG (dialog)->vbox), entry);
++  gtk_widget_show (entry);
++
++  result = gtk_dialog_run (GTK_DIALOG (dialog));
++
++  switch (result) {
++  case GTK_RESPONSE_OK:
++    password = PL_strdup (gtk_entry_get_text (GTK_ENTRY (entry)));
++    break;
++  default:
++    break;
++  }
++
++  gtk_widget_destroy (dialog);
++  return password;
++}
++
+ gboolean ephy_nss_glue_init ()
+ {
+   char *config_dir, *modspec;
+@@ -65,6 +105,10 @@ gboolean ephy_nss_glue_init ()
+   if (!db_slot)
+     return FALSE;
+ 
++  /* It's possibly to set a master password for NSS through the
++     certificate manager extension, so we must support that too */
++  PK11_SetPasswordFunc (ask_for_nss_password);
++
+   nss_initialized = TRUE;
+ 
+   return TRUE;
+@@ -77,6 +121,8 @@ void ephy_nss_glue_close ()
+     db_slot = NULL;
+   }
+ 
++  PK11_SetPasswordFunc (NULL);
++
+   NSS_Shutdown ();
+ 
+   nss_initialized = FALSE;

Modified: desktop/experimental/epiphany-webkit/debian/patches/series
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/experimental/epiphany-webkit/debian/patches/series?rev=21321&op=diff
==============================================================================
--- desktop/experimental/epiphany-webkit/debian/patches/series [utf-8] (original)
+++ desktop/experimental/epiphany-webkit/debian/patches/series [utf-8] Fri Sep 11 13:31:24 2009
@@ -9,7 +9,9 @@
 10_smart_bookmarks.patch
 11_fix_crash_in_profile_migration.patch
 12_safetypes.patch
+13_ignore_padlength_nss_error.patch
 14_webkit_temporary_gconf_rename.patch
 15_webkit_temporary_gettext_domain_rename.patch
+16_request_nss_master_password_if_needed.patch
 99_autoreconf.patch
 99_ltmain_as-needed.patch




More information about the pkg-gnome-commits mailing list