fix GIO helper app launch (bnc#672903) (mozilla-gio-launch-uri.patch)
authorWolfgang Rosenauer <wr@rosenauer.org>
Thu, 17 Feb 2011 20:14:47 +0100
changeset 228 9ba8fb8909c4
parent 226 6bf3bb4c115e
child 229 298263f797be
fix GIO helper app launch (bnc#672903) (mozilla-gio-launch-uri.patch) call to the ntlm_auth helper fails (bmo#634334) (mozilla-ntlm-full-path.patch from Petr Cerny)
MozillaFirefox/MozillaFirefox.spec
mozilla-gio-launch-uri.patch
mozilla-ntlm-full-path.patch
mozilla-xulrunner20/mozilla-gio-launch-uri.patch
mozilla-xulrunner20/mozilla-ntlm-full-path.patch
mozilla-xulrunner20/mozilla-xulrunner20.changes
mozilla-xulrunner20/mozilla-xulrunner20.spec
series
--- a/MozillaFirefox/MozillaFirefox.spec	Thu Feb 03 10:42:10 2011 +0100
+++ b/MozillaFirefox/MozillaFirefox.spec	Thu Feb 17 20:14:47 2011 +0100
@@ -220,7 +220,7 @@
 ac_add_options --disable-updater
 ac_add_options --disable-tests
 ac_add_options --disable-debug
-ac_add_options --enable-update-channel=beta
+#ac_add_options --enable-update-channel=beta
 EOF
 %if 0%{?use_xulrunner}
 cat << EOF >> $MOZCONFIG
@@ -249,6 +249,7 @@
 # copy tree into RPM_BUILD_ROOT
 mkdir -p $RPM_BUILD_ROOT/%{progdir}
 cp -rf $RPM_BUILD_DIR/obj/dist/firefox/* $RPM_BUILD_ROOT%{progdir}
+mkdir -p $RPM_BUILD_ROOT/%{progdir}/distribution/extensions
 # remove some executable permissions
 find $RPM_BUILD_ROOT%{progdir} \
      -name "*.js" -o -name "*.jsm" -o -name "*.rdf" | xargs chmod a-x
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mozilla-gio-launch-uri.patch	Thu Feb 17 20:14:47 2011 +0100
@@ -0,0 +1,75 @@
+# HG changeset patch
+# Parent f81b405b9adebc56c3af5cfbf2f74cf01c22956b
+
+diff --git a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp b/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp
+--- a/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp
++++ b/uriloader/exthandler/unix/nsMIMEInfoUnix.cpp
+@@ -51,16 +51,18 @@
+ #include <contentaction/contentaction.h>
+ #include "nsContentHandlerApp.h"
+ #endif
+ 
+ #include "nsMIMEInfoUnix.h"
+ #include "nsCommonRegistry.h"
+ #include "nsIGIOService.h"
+ #include "nsIGnomeVFSService.h"
++#include "nsNetCID.h"
++#include "nsIIOService.h"
+ #include "nsAutoPtr.h"
+ #ifdef MOZ_ENABLE_DBUS
+ #include "nsDBusHandlerApp.h"
+ #endif
+ #if defined(XP_UNIX) && !defined(XP_MACOSX)
+ #include "nsKDEUtils.h"
+ #endif
+ 
+@@ -170,38 +172,47 @@ nsMIMEInfoUnix::LaunchDefaultWithFile(ns
+     }
+     if (!mDefaultApplication)
+       return NS_ERROR_FILE_NOT_FOUND;
+ 
+     return LaunchWithIProcess(mDefaultApplication, nativePath);
+   }
+ 
+   nsCOMPtr<nsIGIOService> giovfs = do_GetService(NS_GIOSERVICE_CONTRACTID);
++  nsCAutoString uriSpec;
++  if (giovfs) {
++    // nsGIOMimeApp->Launch wants a URI string instead of local file
++    nsCOMPtr<nsIIOService> ioservice = do_GetService(NS_IOSERVICE_CONTRACTID);
++    nsCOMPtr<nsIURI> uri;
++    ioservice->NewFileURI(aFile, getter_AddRefs(uri));
++    uri->GetSpec(uriSpec);
++  }
++
+   nsCOMPtr<nsIGnomeVFSService> gnomevfs = do_GetService(NS_GNOMEVFSSERVICE_CONTRACTID);
+   if (giovfs) {
+     nsCOMPtr<nsIGIOMimeApp> app;
+     if (NS_SUCCEEDED(giovfs->GetAppForMimeType(mSchemeOrType, getter_AddRefs(app))) && app)
+-      return app->Launch(nativePath);
++      return app->Launch(uriSpec);
+   } else if (gnomevfs) {
+     /* Fallback to GnomeVFS */
+     nsCOMPtr<nsIGnomeVFSMimeApp> app;
+     if (NS_SUCCEEDED(gnomevfs->GetAppForMimeType(mSchemeOrType, getter_AddRefs(app))) && app)
+       return app->Launch(nativePath);
+   }
+ 
+   // If we haven't got an app we try to get a valid one by searching for the
+   // extension mapped type
+   nsRefPtr<nsMIMEInfoBase> mimeInfo = nsCommonRegistry::GetFromExtension(nativePath);
+   if (mimeInfo) {
+     nsCAutoString type;
+     mimeInfo->GetType(type);
+     if (giovfs) {
+       nsCOMPtr<nsIGIOMimeApp> app;
+       if (NS_SUCCEEDED(giovfs->GetAppForMimeType(type, getter_AddRefs(app))) && app)
+-        return app->Launch(nativePath);
++        return app->Launch(uriSpec);
+     } else if (gnomevfs) {
+       nsCOMPtr<nsIGnomeVFSMimeApp> app;
+       if (NS_SUCCEEDED(gnomevfs->GetAppForMimeType(type, getter_AddRefs(app))) && app)
+         return app->Launch(nativePath);
+     }
+   }
+ 
+   if (!mDefaultApplication)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mozilla-ntlm-full-path.patch	Thu Feb 17 20:14:47 2011 +0100
@@ -0,0 +1,27 @@
+# HG changeset patch
+# User Petr Cerny <pcerny@novell.com>
+# Parent 971259052418fda3b7fc81da75be4557ea5d82bc
+Bug 634334 - call to the ntlm_auth helper fails
+
+diff --git a/extensions/auth/nsAuthSambaNTLM.cpp b/extensions/auth/nsAuthSambaNTLM.cpp
+--- a/extensions/auth/nsAuthSambaNTLM.cpp
++++ b/extensions/auth/nsAuthSambaNTLM.cpp
+@@ -200,17 +200,17 @@ static PRUint8* ExtractMessage(const nsA
+ nsresult
+ nsAuthSambaNTLM::SpawnNTLMAuthHelper()
+ {
+     const char* username = PR_GetEnv("USER");
+     if (!username)
+         return NS_ERROR_FAILURE;
+ 
+     char* args[] = {
+-        "ntlm_auth",
++        "/usr/bin/ntlm_auth",
+         "--helper-protocol", "ntlmssp-client-1",
+         "--use-cached-creds",
+         "--username", const_cast<char*>(username),
+         nsnull
+     };
+ 
+     PRBool isOK = SpawnIOChild(args, &mChildPID, &mFromChildFD, &mToChildFD);
+     if (!isOK)  
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mozilla-xulrunner20/mozilla-gio-launch-uri.patch	Thu Feb 17 20:14:47 2011 +0100
@@ -0,0 +1,1 @@
+../mozilla-gio-launch-uri.patch
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mozilla-xulrunner20/mozilla-ntlm-full-path.patch	Thu Feb 17 20:14:47 2011 +0100
@@ -0,0 +1,1 @@
+../mozilla-ntlm-full-path.patch
\ No newline at end of file
--- a/mozilla-xulrunner20/mozilla-xulrunner20.changes	Thu Feb 03 10:42:10 2011 +0100
+++ b/mozilla-xulrunner20/mozilla-xulrunner20.changes	Thu Feb 17 20:14:47 2011 +0100
@@ -1,5 +1,13 @@
 -------------------------------------------------------------------
-Wed Feb  2 19:15:14 UTC 2011 - wr@rosenauer.org
+Thu Feb 17 16:50:53 UTC 2011 - wr@rosenauer.org
+
+- fix GIO helper app launch (bnc#672903)
+  (mozilla-gio-launch-uri.patch)
+- call to the ntlm_auth helper fails (bmo#634334)
+  (mozilla-ntlm-full-path.patch from Petr Cerny)
+
+-------------------------------------------------------------------
+Fri Feb  4 09:11:40 UTC 2011 - wr@rosenauer.org
 
 - update to 2.0b11
 - fixed build check for missing return value (bmo#631155 )
--- a/mozilla-xulrunner20/mozilla-xulrunner20.spec	Thu Feb 03 10:42:10 2011 +0100
+++ b/mozilla-xulrunner20/mozilla-xulrunner20.spec	Thu Feb 17 20:14:47 2011 +0100
@@ -32,7 +32,7 @@
 License:        GPLv2+ ; LGPLv2.1+ ; MPLv1.1+
 Version:        2.0b11
 Release:        1
-%define         releasedate 2011020200
+%define         releasedate 2011020300
 %define         version_internal 2.0b11
 %define         apiversion 2.0
 %define         uaweight 199900
@@ -73,6 +73,8 @@
 Patch12:        mozilla-language.patch
 Patch13:        mozilla-gio.patch
 Patch14:        mozilla-cairo-return.patch
+Patch15:        mozilla-gio-launch-uri.patch
+Patch16:        mozilla-ntlm-full-path.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 Requires:       mozilla-js20 = %{version}
 Requires(post):  update-alternatives coreutils
@@ -215,6 +217,8 @@
 %patch12 -p1
 %patch13 -p1
 %patch14 -p1
+%patch15 -p1
+%patch16 -p1
 
 %build
 kdehelperversion=$(cat toolkit/xre/nsKDEUtils.cpp | grep '#define KMOZILLAHELPER_VERSION' | cut -d ' ' -f 3)
--- a/series	Thu Feb 03 10:42:10 2011 +0100
+++ b/series	Thu Feb 17 20:14:47 2011 +0100
@@ -14,6 +14,8 @@
 mozilla-language.patch
 mozilla-gio.patch
 mozilla-cairo-return.patch
+mozilla-gio-launch-uri.patch
+mozilla-ntlm-full-path.patch
 
 # Firefox patches
 firefox-linkorder.patch