Hello community,
here is the log from the commit of package MozillaFirefox
checked in at Sun Aug 13 12:45:08 CEST 2006.
--------
--- MozillaFirefox/MozillaFirefox.changes 2006-07-29 20:39:37.000000000 +0200
+++ MozillaFirefox/MozillaFirefox.changes 2006-08-12 19:37:19.000000000 +0200
@@ -1,0 +2,11 @@
+Fri Aug 11 20:51:48 CEST 2006 - stark@suse.de
+
+- fixed crash in dbus component (patch by thoenig #197928)
+- use external adresses for PAC configuration (#196506)
+
+-------------------------------------------------------------------
+Mon Aug 7 09:26:58 CEST 2006 - stark@suse.de
+
+- added symlink for Firefox 1.0.x compatibility
+
+-------------------------------------------------------------------
New:
----
proxy-dev.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ MozillaFirefox.spec ++++++
--- /var/tmp/diff_new_pack.tLw1gG/_old 2006-08-13 12:44:17.000000000 +0200
+++ /var/tmp/diff_new_pack.tLw1gG/_new 2006-08-13 12:44:17.000000000 +0200
@@ -21,7 +21,7 @@
Obsoletes: mozilla
%endif
Version: 1.5.0.6
-Release: 1
+Release: 2
Summary: Mozilla Firefox Web Browser
URL: http://www.mozilla.org/
Group: Productivity/Networking/Web/Browsers
@@ -80,6 +80,7 @@
# bmo #331522
Patch31: keyword.patch
Patch32: postscript.patch
+Patch33: proxy-dev.patch
# integration
Patch34: skin-selection.patch
Patch35: liveconnect-leak.patch
@@ -108,7 +109,11 @@
%define _unpackaged_files_terminate_build 0
%define releasedate 2006072800
%define progname firefox
+%if %suse_version < 1010
+%define progdir /opt/MozillaFirefox/%_lib
+%else
%define progdir %{_prefix}/%_lib/firefox
+%endif
%define nld9 %(if grep -q sles9-sld /.buildenv; then echo 1; else echo 0; fi)
%define my_provides /tmp/my-provides
%define my_requires /tmp/my-requires
@@ -195,6 +200,7 @@
%patch16
%endif
%patch32
+%patch33
%patch34
%patch35
%patch100
@@ -409,6 +415,7 @@
%endif
%post
+%if %suse_version >= 1010
# move plugins to new location
if [ "$1" = "2" ]; then
if [ -d /opt/MozillaFirefox/%{_lib}/plugins ]; then
@@ -417,6 +424,7 @@
rm -rf /opt/MozillaFirefox/%{_lib}/plugins
fi
fi
+%endif
if [ ! -f /.buildenv ]; then
export GCONF_CONFIG_SOURCE=`/opt/gnome/bin/gconftool-2 --get-default-source`
/opt/gnome/bin/gconftool-2 --makefile-install-rule /etc/opt/gnome/gconf/schemas/firefox.schemas > /dev/null 2>&1
@@ -445,6 +453,9 @@
%files
%defattr(-,root,root)
+%if %suse_version < 1010
+%dir /opt/MozillaFirefox
+%endif
%dir %{progdir}
%dir %{progdir}/chrome/
%{progdir}/chrome/browser.*
@@ -514,6 +525,11 @@
%defattr(-,root,root)
%changelog -n MozillaFirefox
+* Fri Aug 11 2006 - stark@suse.de
+- fixed crash in dbus component (patch by thoenig #197928)
+- use external adresses for PAC configuration (#196506)
+* Mon Aug 07 2006 - stark@suse.de
+- added symlink for Firefox 1.0.x compatibility
* Sat Jul 29 2006 - stark@suse.de
- update to regression release 1.5.0.6 (#195043)
* Thu Jul 27 2006 - stark@suse.de
++++++ configure-nss.patch ++++++
++++ 1331 lines (skipped)
++++ between MozillaFirefox/configure-nss.patch
++++ and MozillaFirefox/configure-nss.patch
++++++ configure.patch ++++++
++++ 1339 lines (skipped)
++++ between MozillaFirefox/configure.patch
++++ and MozillaFirefox/configure.patch
++++++ dbus.patch ++++++
--- /var/tmp/diff_new_pack.tLw1gG/_old 2006-08-13 12:44:18.000000000 +0200
+++ /var/tmp/diff_new_pack.tLw1gG/_new 2006-08-13 12:44:18.000000000 +0200
@@ -5,7 +5,7 @@
diff -u -t -p -1 -2 -r1.1530 configure.in
--- configure.in 16 Sep 2005 02:25:34 -0000 1.1530
+++ configure.in 18 Oct 2005 01:55:07 -0000
-@@ -4508,24 +4541,48 @@ then
+@@ -4508,24 +4541,51 @@ then
])
fi
@@ -31,6 +31,7 @@
+ if test "$MOZ_ENABLE_DBUS"
+ then
+ PKG_CHECK_MODULES(MOZ_DBUS_GLIB, dbus-glib-1)
++ PKG_CHECK_MODULES(MOZ_GTHREAD, gthread-2.0)
+ fi
+
+ if test "$MOZ_ENABLE_DBUS"; then
@@ -40,6 +41,8 @@
+AC_SUBST(MOZ_ENABLE_DBUS)
+AC_SUBST(MOZ_DBUS_GLIB_CFLAGS)
+AC_SUBST(MOZ_DBUS_GLIB_LIBS)
++AC_SUBST(MOZ_GTHREAD_CFLAGS)
++AC_SUBST(MOZ_GTHREAD_LIBS)
+
+dnl ========================================================
dnl = Setting MOZ_EXTRA_X11CONVERTERS turns on additional
@@ -149,7 +152,7 @@
+ embedcomponents \
+ $(NULL)
+
-+EXTRA_DSO_LDOPTS = $(MOZ_DBUS_GLIB_LIBS)
++EXTRA_DSO_LDOPTS = $(MOZ_DBUS_GLIB_LIBS) $(MOZ_GTHREAD_LIBS)
+
+CPPSRCS = \
+ nsDBusModule.cpp \
@@ -157,7 +160,7 @@
+
+include $(topsrcdir)/config/rules.mk
+
-+CXXFLAGS += $(TK_CFLAGS) $(MOZ_DBUS_GLIB_CFLAGS)
++CXXFLAGS += $(TK_CFLAGS) $(MOZ_DBUS_GLIB_CFLAGS) $(MOZ_GTHREAD_CFLAGS)
+CXXFLAGS := $(subst -pedantic,,$(CXXFLAGS))
Index: config/autoconf.mk.in
===================================================================
@@ -166,13 +169,16 @@
diff -u -r3.363.2.1 autoconf.mk.in
--- config/autoconf.mk.in 17 Aug 2005 17:17:17 -0000 3.363.2.1
+++ config/autoconf.mk.in 18 Oct 2005 06:58:23 -0000
-@@ -437,6 +437,9 @@
+@@ -437,6 +437,12 @@
MOZ_GTK2_CFLAGS = @MOZ_GTK2_CFLAGS@
MOZ_GTK2_LIBS = @MOZ_GTK2_LIBS@
+MOZ_DBUS_GLIB_CFLAGS = @MOZ_DBUS_GLIB_CFLAGS@
+MOZ_DBUS_GLIB_LIBS = @MOZ_DBUS_GLIB_LIBS@
+
++MOZ_GTHREAD_CFLAGS = @MOZ_GTHREAD_CFLAGS@
++MOZ_GTHREAD_LIBS = @MOZ_GTHREAD_LIBS@
++
MOZ_XLIB_CFLAGS = @MOZ_XLIB_CFLAGS@
MOZ_XLIB_LDFLAGS = @MOZ_XLIB_LDFLAGS@
@@ -197,7 +203,7 @@
diff -N extensions/dbus/nsDBusModule.cpp
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ extensions/dbus/nsDBusModule.cpp 21 Feb 2006 01:53:27 -0000
-@@ -0,0 +1,410 @@
+@@ -0,0 +1,414 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* vim:expandtab:shiftwidth=4:tabstop=4:
+ */
@@ -556,6 +562,10 @@
+ if (NS_FAILED(rv))
+ return rv;
+
++ if (!g_thread_supported ())
++ g_thread_init (NULL);
++ dbus_g_thread_init();
++
+ return ConnectToDBus();
+}
+
++++++ proxy-dev.patch ++++++
From: Robert O'Callahan
Subject: proxy.pac: host resolution error
References:
https://bugzilla.novell.com/show_bug.cgi?id=196506
https://bugzilla.mozilla.org/show_bug.cgi?id=347307
Index: netwerk/base/src/nsProxyAutoConfig.js
===================================================================
RCS file: /home/rocallahan/mozilla-cvs-mirror/mozilla/netwerk/base/src/nsProxyAutoConfig.js,v
retrieving revision 1.37.4.1.6.1
diff -u -t -p -1 -2 -r1.37.4.1.6.1 nsProxyAutoConfig.js
--- netwerk/base/src/nsProxyAutoConfig.js 3 May 2006 00:21:58 -0000 1.37.4.1.6.1
+++ netwerk/base/src/nsProxyAutoConfig.js 4 Aug 2006 02:58:08 -0000
@@ -41,25 +41,25 @@
/*
Script for Proxy Auto Config in the new world order.
- Gagan Saksena 04/24/00
*/
const kDNS_CONTRACTID = "@mozilla.org/network/dns-service;1";
const kPAC_CONTRACTID = "@mozilla.org/network/proxy-auto-config;1";
const kPAC_CID = Components.ID("{63ac8c66-1dd2-11b2-b070-84d00d3eaece}");
const nsISupports = Components.interfaces.nsISupports;
const nsIProxyAutoConfig = Components.interfaces.nsIProxyAutoConfig;
-const nsIDNSService = Components.interfaces.nsIDNSService;
+const nsPIDNSService = Components.interfaces.nsPIDNSService;
// implementor of nsIProxyAutoConfig
function nsProxyAutoConfig() {};
nsProxyAutoConfig.prototype = {
// sandbox in which we eval loaded autoconfig js file
_sandBox: null,
// ptr to eval'ed FindProxyForURL function
_findProxyForURL: null,
QueryInterface: function(iid) {
@@ -105,25 +105,25 @@ function proxyAlert(msg) {
// It would appear that the console service is threadsafe.
var cns = Components.classes["@mozilla.org/consoleservice;1"]
.getService(Components.interfaces.nsIConsoleService);
cns.logStringMessage("PAC-alert: "+msg);
} catch (e) {
dump("PAC: proxyAlert ERROR: "+e+"\n");
}
}
// wrapper for getting local IP address called by PAC file
function myIpAddress() {
try {
- return dns.resolve(dns.myHostName, 0).getNextAddrAsString();
+ return dns.getNetworkAddrAsString();
} catch (e) {
return '127.0.0.1';
}
}
// wrapper for resolving hostnames called by PAC file
function dnsResolve(host) {
try {
return dns.resolve(host, 0).getNextAddrAsString();
} catch (e) {
return null;
}
@@ -167,25 +167,25 @@ pacFactory.createInstance =
if (!iid.equals(nsIProxyAutoConfig) &&
!iid.equals(Components.interfaces.nsISupports)) {
throw Components.results.NS_ERROR_NO_INTERFACE;
}
return pac;
}
function NSGetModule(compMgr, fileSpec) {
return pacModule;
}
var pac = new nsProxyAutoConfig() ;
-var dns = Components.classes[kDNS_CONTRACTID].getService(nsIDNSService);
+var dns = Components.classes[kDNS_CONTRACTID].getService(nsPIDNSService);
var pacUtils =
"function dnsDomainIs(host, domain) {\n" +
" return (host.length >= domain.length &&\n" +
" host.substring(host.length - domain.length) == domain);\n" +
"}\n" +
"function dnsDomainLevels(host) {\n" +
" return host.split('.').length-1;\n" +
"}\n" +
"function convert_addr(ipchars) {\n"+
Index: netwerk/dns/public/nsPIDNSService.idl
===================================================================
RCS file: /home/rocallahan/mozilla-cvs-mirror/mozilla/netwerk/dns/public/nsPIDNSService.idl,v
retrieving revision 1.1
diff -u -t -p -1 -2 -r1.1 nsPIDNSService.idl
--- netwerk/dns/public/nsPIDNSService.idl 6 Apr 2005 01:33:26 -0000 1.1
+++ netwerk/dns/public/nsPIDNSService.idl 4 Aug 2006 02:56:43 -0000
@@ -49,13 +49,20 @@ interface nsPIDNSService : nsIDNSService
* called to initialize the DNS service.
*/
void init();
/**
* called to shutdown the DNS service. any pending asynchronous
* requests will be canceled, and the local cache of DNS records
* will be cleared. NOTE: the operating system may still have
* its own cache of DNS records, which would be unaffected by
* this method.
*/
void shutdown();
+
+ /**
+ * Returns the IP address of the machine that is most suitable for
+ * identifying the machine's network. Favour VPN addresses above
+ * wired/wireless addresses above 127.x.x.x addresses.
+ */
+ ACString getNetworkAddrAsString();
};
Index: netwerk/dns/src/nsDNSService2.cpp
===================================================================
RCS file: /home/rocallahan/mozilla-cvs-mirror/mozilla/netwerk/dns/src/nsDNSService2.cpp,v
retrieving revision 1.10.8.1
diff -u -t -p -1 -2 -r1.10.8.1 nsDNSService2.cpp
--- netwerk/dns/src/nsDNSService2.cpp 18 Oct 2005 21:25:45 -0000 1.10.8.1
+++ netwerk/dns/src/nsDNSService2.cpp 4 Aug 2006 04:57:21 -0000
@@ -47,24 +47,29 @@
#include "nsReadableUtils.h"
#include "nsString.h"
#include "nsAutoLock.h"
#include "nsAutoPtr.h"
#include "nsNetCID.h"
#include "nsNetError.h"
#include "prsystem.h"
#include "prnetdb.h"
#include "prmon.h"
#include "prio.h"
#include "plstr.h"
+#include
+#include
+#include
+#include
+
static const char kPrefDnsCacheEntries[] = "network.dnsCacheEntries";
static const char kPrefDnsCacheExpiration[] = "network.dnsCacheExpiration";
static const char kPrefEnableIDN[] = "network.enableIDN";
static const char kPrefIPv4OnlyDomains[] = "network.dns.ipv4OnlyDomains";
static const char kPrefDisableIPv6[] = "network.dns.disableIPv6";
//-----------------------------------------------------------------------------
class nsDNSRecord : public nsIDNSRecord
{
public:
NS_DECL_ISUPPORTS
@@ -126,38 +131,44 @@ nsDNSRecord::GetNextAddr(PRUint16 port,
// set given port
port = PR_htons(port);
if (addr->raw.family == PR_AF_INET)
addr->inet.port = port;
else
addr->ipv6.port = port;
}
mDone = !mIter;
return NS_OK;
}
+static nsresult
+AddrToString(PRNetAddr* aAddr, nsACString& aResult)
+{
+ char buf[64];
+ if (PR_NetAddrToString(aAddr, buf, sizeof(buf)) == PR_SUCCESS) {
+ aResult.Assign(buf);
+ return NS_OK;
+ }
+ NS_ERROR("PR_NetAddrToString failed unexpectedly");
+ return NS_ERROR_FAILURE; // conversion failed for some reason
+}
+
NS_IMETHODIMP
nsDNSRecord::GetNextAddrAsString(nsACString &result)
{
PRNetAddr addr;
nsresult rv = GetNextAddr(0, &addr);
if (NS_FAILED(rv)) return rv;
- char buf[64];
- if (PR_NetAddrToString(&addr, buf, sizeof(buf)) == PR_SUCCESS) {
- result.Assign(buf);
- return NS_OK;
- }
- NS_ERROR("PR_NetAddrToString failed unexpectedly");
- return NS_ERROR_FAILURE; // conversion failed for some reason
+ return AddrToString(&addr, result);
}
NS_IMETHODIMP
nsDNSRecord::HasMore(PRBool *result)
{
if (mDone)
*result = PR_FALSE;
else {
// unfortunately, NSPR does not provide a way for us to determine if
// there is another address other than to simply get the next address.
void *iterCopy = mIter;
PRNetAddr addr;
@@ -571,12 +582,77 @@ nsDNSService::GetAFForLookup(const nsACS
af = PR_AF_INET;
break;
}
}
}
domain = end + 1;
} while (*end);
}
return af;
}
+
+static PRInt32
+GetScoreForInterface(struct ifaddrs* aInterface)
+{
+ // Interface must be up
+ if (!(aInterface->ifa_flags & IFF_UP))
+ return 0;
+ // Interface must be configured
+ if (!(aInterface->ifa_flags & IFF_RUNNING))
+ return 0;
+
+ // Only look at IP interfaces
+ sa_family_t type = aInterface->ifa_addr->sa_family;
+ if (type != AF_INET && type != AF_INET6)
+ return 0;
+
+ // Loopback interfaces get the lowest score
+ if (aInterface->ifa_flags & IFF_LOOPBACK)
+ return 1;
+
+ if (strchr(aInterface->ifa_name, ':')) {
+ // guess that it's probably a VPN address
+ return 3;
+ }
+
+ // Regular interface
+ return 2;
+}
+
+nsresult
+SockaddrToString(struct sockaddr* aAddr, nsACString& aResult)
+{
+ PRNetAddr* addr = NS_REINTERPRET_CAST(PRNetAddr*, aAddr);
+ return AddrToString(addr, aResult);
+}
+
+NS_IMETHODIMP
+nsDNSService::GetNetworkAddrAsString(nsACString& aResult)
+{
+ aResult.AssignLiteral("127.0.0.1");
+
+ struct ifaddrs* addrs;
+ if (getifaddrs(&addrs) < 0)
+ return NS_OK;
+
+ struct ifaddrs* bestAddr = nsnull;
+ PRInt32 bestScore = 0;
+ struct ifaddrs* addr;
+ for (addr = addrs; addr; addr = addr->ifa_next) {
+ PRInt32 score = GetScoreForInterface(addr);
+ if (score > 0 && (!bestAddr || score > bestScore)) {
+ bestAddr = addr;
+ bestScore = score;
+ }
+ }
+
+ if (!bestAddr) {
+ freeifaddrs(addrs);
+ return NS_OK;
+ }
+
+ nsresult rv = SockaddrToString(bestAddr->ifa_addr, aResult);
+ freeifaddrs(addrs);
+ return rv;
+}
++++++ xul-picker.patch ++++++
--- /var/tmp/diff_new_pack.tLw1gG/_old 2006-08-13 12:44:21.000000000 +0200
+++ /var/tmp/diff_new_pack.tLw1gG/_new 2006-08-13 12:44:21.000000000 +0200
@@ -27,7 +27,7 @@
nsCOMPtr<nsIFilePicker> picker;
- if (gtk_check_version(2,6,3) == NULL) {
-+ if ( (gtk_check_version(2,6,3) == NULL) && !PR_GetEnv("MOZ_XUL_PICKER") ) {
++ if ( (gtk_check_version(2,4,0) == NULL) && !PR_GetEnv("MOZ_XUL_PICKER") ) {
picker = new nsFilePicker;
} else {
picker = do_CreateInstance(kXULFilePickerCID);
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...