← Back to team overview

tieto team mailing list archive

[Bug 411358]

 

I'm afraid that I've tested this patch against 16.0b4 and it does not
resolve the issue on Ubuntu 10.04 which is exactly what I expected,
having previously spent a lot of time tracing this stuff to establish
where the popup dialog comes from.

I honestly don't see how anyone gets a popup with the error in this bug
when only gconf is in use. But anyway, the proposed fix patches the
function nsGConfService::GetAppForProtocol to prevent a '+' sign being
looked up by the GConf client.

But due to the following code, that function is only called if GIO is not enabled and in my experience, that code path does only causes a message to stdout and not a popup:
uriloader/exthandler/unix/nsGNOMERegistry.cpp
 28 nsGNOMERegistry::HandlerExists(const char *aProtocolScheme)
 29 {
 30   nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID);
 31   nsCOMPtr<nsIGConfService> gconf = do_GetService(NS_GCONFSERVICE_CONTRACTID);
 32   if (giovfs) {
 33     nsCOMPtr<nsIGIOMimeApp> app;
 34     if (NS_FAILED(giovfs->GetAppForURIScheme(nsDependentCString(aProtocolScheme),
 35                                              getter_AddRefs(app))))
 36       return false;
 37     else                                     
 38       return true;
 39   } else if (gconf) {
 40     bool isEnabled;
 41     nsCAutoString handler;
 42     if (NS_FAILED(gconf->GetAppForProtocol(nsDependentCString(aProtocolScheme), &isEnabled, handler)))
 43       return false;
 44     
 45     return isEnabled;
 46   }
 47     
 48   return false;
 49 }

So we could apply almost the exactly the same change to GetAppForURIScheme although in newer versions of GIO, the perfectly valid '+' character in a URI is handled. 
The best long-term fix would determine if the version of libgio is greater then whenever they stopped backing-off URI Handler lookups to GConf in GIO, and then to block '+' signs if using the older version and allow then with the newer version.

It really all depends on whether anyone cares if Thunderbird can't
automatically turn URIs containing a plus sign to the left of the colon
into a link. If not, then just always block plus signs in
GetAppForURIScheme and this is fixed.

I should add that this bug is really the fault of the GNOME Team for
choosing a datastore for URI Handlers which cannot actually support all
valid URIs. However, GNOME has moved on: The latest versions don't have
this problem and I can't see them back-porting any changes to GConf so
this will have to be fixed from the Thunderbird side.


(In reply to neil@xxxxxxxxxxxxxxx from comment #56)
> Comment on attachment 680081
> fix for gconf v1
> 
> Sorry, we can't accept a diff against the mozilla-beta part of a comm-beta
> checkout. If you think the issue affects Thunderbird 17 then you will need
> to submit a patch against mozilla-central and get it uplifted to
> mozilla-beta.
> 
> Also I'm not a reviewer for toolkit/system/gnome, please try karlt instead.

(In reply to jhorak from comment #55)
> Created attachment 680081
> fix for gconf v1
> 
> This is simple hack to avoid showing the error window. It shouldn't affect
> Firefox or Thunderbird when GIO backend was enabled, as long as gvfs is used
> only as fallback when GIO service is not available. This fix suitable for
> long time support version of Linux (like RHEL or Ubuntu).

-- 
You received this bug notification because you are a member of Tieto,
which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/411358

Title:
  Thunderbird2 gconf gmt problem 'Bad key or directory name' because of
  plus symbol (+)

Status in Mozilla Thunderbird Mail and News:
  Confirmed
Status in “thunderbird” package in Ubuntu:
  Confirmed

Bug description:
  Here is an error message for Thunderbird 2 in Jaunty

  gnubyexample@k8amd:~$ thunderbird
  GConf Error: Bad key or directory name: "/desktop/gnome/url-handlers/GMT+02/command": `+' is an invalid character in key/directory names
  gnubyexample@k8amd:~$ date;uname -a;cat /etc/*version*;dpkg -l | grep underbird
  Sun Aug  9 14:48:37 BST 2009                                                                
  Linux k8amd 2.6.28-14-generic #47-Ubuntu SMP Sat Jul 25 00:28:35 UTC 2009 i686 GNU/Linux    
  5.0                                                                                         
  ii  enigmail                                   2:0.95.7-1ubuntu2                                          Enigmail - GPG support for Thunderbird
  ii  thunderbird                                2.0.0.22+build1+nobinonly-0ubuntu0.9.04.1                  mail/news client with RSS and integrated spam filter support                                                                                                                                                                  
  ii  thunderbird-locale-en-gb                   1:2.0.0.14+1-0ubuntu2                                      Thunderbird English language/region package  

  From reading this extract ( http://osdir.com/ml/os.solaris.opensolaris.desktop/2008-03/msg00020.html ):
    Subject: 	Re: GConf/Thunderbird error on Solaris Nevada

    "Hi Mats,I believe you download the contribute builds of Thunderbird 2, and run
  it on snv_70.

  For some reason, the fix is upstreamed to Thunderbird 3 alpha, but not
  community version of Thunderbird 2.
  Fixed in snv_68 means the fix was integrated to Thunderbird bundled
  with snv_68."

  
  ...it seems that the fix for this in thunderbird2 might require some manual intervention as although the problem is well know, the fix was only incorporated in the newer thunderbird3.

  Have just checked the Karmic version at:
    http://packages.ubuntu.com/karmic/thunderbird
  which currently shows that version 2 of thunderbird is planned for Karmic release.

  As thunderbird3 is at Beta 3 right now I can perhaps see why debian and ubuntu are sticking with Thunderbird2 just now.
    http://www.mozillamessaging.com/en-US/about/press/archive/2009-07-21-01

  However it does seem a shame to ship a new release with this known
  gconf issue unpatched.

To manage notifications about this bug go to:
https://bugs.launchpad.net/thunderbird/+bug/411358/+subscriptions