1
0

- update to Thunderbird 13.0 (bnc#765204)

* MFSA 2012-34/CVE-2012-1938/CVE-2012-1937/CVE-2011-3101
    Miscellaneous memory safety hazards
  * MFSA 2012-36/CVE-2012-1944 (bmo#751422)
    Content Security Policy inline-script bypass
  * MFSA 2012-37/CVE-2012-1945 (bmo#670514)
    Information disclosure though Windows file shares and shortcut
    files
  * MFSA 2012-38/CVE-2012-1946 (bmo#750109)
    Use-after-free while replacing/inserting a node in a document
  * MFSA 2012-40/CVE-2012-1947/CVE-2012-1940/CVE-2012-1941
    Buffer overflow and use-after-free issues found using Address
    Sanitizer
- require NSS 3.13.4
  * MFSA 2012-39/CVE-2012-0441 (bmo#715073)
- fix build with system NSPR (mozilla-system-nspr.patch)
- add dependentlibs.list for improved XRE startup
- update enigmail to 1.4.2

OBS-URL: https://build.opensuse.org/package/show/mozilla:Factory/MozillaThunderbird?expand=0&rev=178
This commit is contained in:
Wolfgang Rosenauer 2012-06-06 06:41:25 +00:00 committed by Git OBS Bridge
parent 087fae14ac
commit 9c02a444ab
17 changed files with 282 additions and 878 deletions

View File

@ -1,3 +1,25 @@
-------------------------------------------------------------------
Sat Jun 2 12:41:08 UTC 2012 - wr@rosenauer.org
- update to Thunderbird 13.0 (bnc#765204)
* MFSA 2012-34/CVE-2012-1938/CVE-2012-1937/CVE-2011-3101
Miscellaneous memory safety hazards
* MFSA 2012-36/CVE-2012-1944 (bmo#751422)
Content Security Policy inline-script bypass
* MFSA 2012-37/CVE-2012-1945 (bmo#670514)
Information disclosure though Windows file shares and shortcut
files
* MFSA 2012-38/CVE-2012-1946 (bmo#750109)
Use-after-free while replacing/inserting a node in a document
* MFSA 2012-40/CVE-2012-1947/CVE-2012-1940/CVE-2012-1941
Buffer overflow and use-after-free issues found using Address
Sanitizer
- require NSS 3.13.4
* MFSA 2012-39/CVE-2012-0441 (bmo#715073)
- fix build with system NSPR (mozilla-system-nspr.patch)
- add dependentlibs.list for improved XRE startup
- update enigmail to 1.4.2
------------------------------------------------------------------- -------------------------------------------------------------------
Wed May 16 05:38:46 UTC 2012 - wr@rosenauer.org Wed May 16 05:38:46 UTC 2012 - wr@rosenauer.org

View File

@ -31,7 +31,7 @@ BuildRequires: libgnomeui-devel
BuildRequires: libidl-devel BuildRequires: libidl-devel
BuildRequires: libnotify-devel BuildRequires: libnotify-devel
BuildRequires: mozilla-nspr-devel >= 4.9.0 BuildRequires: mozilla-nspr-devel >= 4.9.0
BuildRequires: mozilla-nss-devel >= 3.13.3 BuildRequires: mozilla-nss-devel >= 3.13.4
BuildRequires: nss-shared-helper-devel BuildRequires: nss-shared-helper-devel
BuildRequires: python BuildRequires: python
BuildRequires: startup-notification-devel BuildRequires: startup-notification-devel
@ -40,11 +40,11 @@ BuildRequires: update-desktop-files
BuildRequires: xorg-x11-libXt-devel BuildRequires: xorg-x11-libXt-devel
BuildRequires: yasm BuildRequires: yasm
BuildRequires: zip BuildRequires: zip
%define mainversion 12.0.1 %define mainversion 13.0
%define update_channel release %define update_channel beta
Version: %{mainversion} Version: %{mainversion}
Release: 0 Release: 0
%define releasedate 2012042800 %define releasedate 2012060100
Provides: thunderbird = %{version} Provides: thunderbird = %{version}
%if %{with_kde} %if %{with_kde}
# this is needed to match this package with the kde4 helper package without the main package # this is needed to match this package with the kde4 helper package without the main package
@ -65,7 +65,7 @@ Source4: l10n-%{version}.tar.bz2
Source6: suse-default-prefs.js Source6: suse-default-prefs.js
Source7: find-external-requires.sh Source7: find-external-requires.sh
Source8: thunderbird-rpmlintrc Source8: thunderbird-rpmlintrc
Source9: enigmail-1.4.1.tar.gz Source9: enigmail-1.4.2.tar.gz
Source10: create-tar.sh Source10: create-tar.sh
Source11: compare-locales.tar.bz2 Source11: compare-locales.tar.bz2
Source12: kde.js Source12: kde.js
@ -80,12 +80,12 @@ Patch7: mozilla-kde.patch
Patch8: mozilla-libnotify.patch Patch8: mozilla-libnotify.patch
Patch9: mozilla-revert_621446.patch Patch9: mozilla-revert_621446.patch
Patch10: mozilla-gcc47.patch Patch10: mozilla-gcc47.patch
Patch11: mozilla-system-nspr.patch
# Thunderbird/mail # Thunderbird/mail
Patch20: tb-ssldap.patch Patch20: tb-ssldap.patch
Patch21: tb-develdirs.patch Patch21: tb-develdirs.patch
Patch22: thunderbird-shared-nss-db.patch Patch22: thunderbird-shared-nss-db.patch
Patch23: mailnews-showalert.patch Patch23: mailnews-showalert.patch
Patch24: mailnews-literals.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
PreReq: coreutils fileutils textutils /bin/sh PreReq: coreutils fileutils textutils /bin/sh
Recommends: libcanberra0 Recommends: libcanberra0
@ -175,7 +175,7 @@ symbols meant for upload to Mozilla's crash collector database.
%if %build_enigmail %if %build_enigmail
%package -n enigmail %package -n enigmail
Version: 1.4.1+%{mainversion} Version: 1.4.2+%{mainversion}
Release: 0 Release: 0
Summary: OpenPGP addon for Thunderbird and SeaMonkey Summary: OpenPGP addon for Thunderbird and SeaMonkey
License: MPL-1.1 or GPL-2.0+ License: MPL-1.1 or GPL-2.0+
@ -213,13 +213,13 @@ pushd mozilla
%patch8 -p1 %patch8 -p1
%patch9 -p1 %patch9 -p1
%patch10 -p1 %patch10 -p1
%patch11 -p1
popd popd
# comm-central patches # comm-central patches
%patch20 -p1 %patch20 -p1
%patch21 -p1 %patch21 -p1
%patch22 -p1 %patch22 -p1
%patch23 -p1 %patch23 -p1
%patch24 -p1
%build %build
# no need to add build time to binaries # no need to add build time to binaries
@ -524,6 +524,7 @@ exit 0
%{progdir}/application.ini %{progdir}/application.ini
%{progdir}/blocklist.xml %{progdir}/blocklist.xml
%{progdir}/chrome.manifest %{progdir}/chrome.manifest
%{progdir}/dependentlibs.list
%{progdir}/distribution/ %{progdir}/distribution/
%{progdir}/*.so %{progdir}/*.so
%{progdir}/mozilla-xremote-client %{progdir}/mozilla-xremote-client
@ -543,6 +544,7 @@ exit 0
%{progdir}/chrome/icons/ %{progdir}/chrome/icons/
%dir %{progdir}/dictionaries/ %dir %{progdir}/dictionaries/
%{progdir}/defaults/ %{progdir}/defaults/
%{progdir}/jssubloader/
%dir %{progdir}/extensions/ %dir %{progdir}/extensions/
%{progdir}/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd} %{progdir}/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}
%{progdir}/isp/ %{progdir}/isp/

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:8d3638287e651173ce4b9365d8ed67a43c38d1333fddb2071341f4d77bcb95f3 oid sha256:1490b9832f2b6b63cf2aa5235b49bc9b3eabe3dbbec4ac01ee7758dee8a8f91e
size 29348 size 29327

View File

@ -2,8 +2,8 @@
CHANNEL="release" CHANNEL="release"
BRANCH="releases/comm-$CHANNEL" BRANCH="releases/comm-$CHANNEL"
RELEASE_TAG="THUNDERBIRD_12_0_1_RELEASE" RELEASE_TAG="THUNDERBIRD_13_0_RELEASE"
VERSION="12.0.1" VERSION="13.0"
echo "cloning $BRANCH..." echo "cloning $BRANCH..."
hg clone http://hg.mozilla.org/$BRANCH thunderbird hg clone http://hg.mozilla.org/$BRANCH thunderbird

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:100bc7f9ac6bca03e4507df25c5b29d6a39d0904c46301cc7def3676779d720b
size 1344516

3
enigmail-1.4.2.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:df463620f47a30d2a0e1634793b41a285e1a2c861b024e1a57c9d91cf6bf3581
size 1319995

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:fe77d369d7d60ee819b54372da5afd3b68331c30499105075fc95f2b9464f797
size 25499303

3
l10n-13.0.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:40945d549843e9635648a7c1875c1cf69d50c080774492a8ed308e1fc32359c1
size 25854132

View File

@ -1,600 +0,0 @@
# HG changeset patch
# User Wolfgang Rosenauer <wr@rosenauer.org>
# Parent 879e8d044e364396b63af59b3cdc4252fb2ae29a
Bug 733867 - Build failure with gcc-4.7.0rc1: "nsMsgFolderCompactor.cpp ... error: unable to find string literal operator operator"" ..." (TM: COMM13)
diff --git a/mailnews/base/search/src/nsMsgSearchAdapter.cpp b/mailnews/base/search/src/nsMsgSearchAdapter.cpp
--- a/mailnews/base/search/src/nsMsgSearchAdapter.cpp
+++ b/mailnews/base/search/src/nsMsgSearchAdapter.cpp
@@ -683,17 +683,17 @@ nsresult nsMsgSearchAdapter::EncodeImapV
}
if (!NS_IsAscii(value))
{
nsCAutoString lengthStr;
PL_strcat(encoding, "{");
lengthStr.AppendInt((PRInt32) strlen(value));
PL_strcat(encoding, lengthStr.get());
- PL_strcat(encoding, "}"CRLF);
+ PL_strcat(encoding, "}" CRLF);
PL_strcat(encoding, value);
return NS_OK;
}
if (useQuotes)
PL_strcat(encoding, "\"");
PL_strcat (encoding, value);
if (useQuotes)
PL_strcat(encoding, "\"");
diff --git a/mailnews/base/src/nsMsgFolderCompactor.cpp b/mailnews/base/src/nsMsgFolderCompactor.cpp
--- a/mailnews/base/src/nsMsgFolderCompactor.cpp
+++ b/mailnews/base/src/nsMsgFolderCompactor.cpp
@@ -753,17 +753,17 @@ nsFolderCompactState::OnDataAvailable(ns
m_folder->GetMsgDatabase(getter_AddRefs(srcDB));
if (srcDB)
{
srcDB->SetSummaryValid(false);
srcDB->ForceClosed();
}
}
}
-#define EXTRA_KEYWORD_HDR " "MSG_LINEBREAK
+#define EXTRA_KEYWORD_HDR " " MSG_LINEBREAK
// if status offset isn't in the first block, this code won't work. There's no good reason
// for the status offset not to be at the beginning of the message anyway.
if (addKeywordHdr)
{
// if blockOffset is set, we added x-mozilla-status headers so
// file pointer is already past them.
if (!blockOffset)
@@ -1211,17 +1211,17 @@ nsOfflineStoreCompactState::OnDataAvaila
if (NS_SUCCEEDED(rv))
{
if (m_startOfMsg)
{
m_startOfMsg = false;
// check if there's an envelope header; if not, write one.
if (strncmp(m_dataBuffer, "From ", 5))
{
- m_fileStream->Write("From "CRLF, 7, &bytesWritten);
+ m_fileStream->Write("From " CRLF, 7, &bytesWritten);
m_offlineMsgSize += bytesWritten;
}
}
m_fileStream->Write(m_dataBuffer, readCount, &bytesWritten);
m_offlineMsgSize += bytesWritten;
writeCount += bytesWritten;
count -= readCount;
if (writeCount != readCount)
diff --git a/mailnews/compose/src/nsMsgAppleEncode.cpp b/mailnews/compose/src/nsMsgAppleEncode.cpp
--- a/mailnews/compose/src/nsMsgAppleEncode.cpp
+++ b/mailnews/compose/src/nsMsgAppleEncode.cpp
@@ -133,17 +133,17 @@ int fill_apple_mime_header(
strlen(p_ap_encode_obj->fname));
if (status != noErr)
return status;
PR_snprintf(tmpstr, sizeof(tmpstr),
"\"\r\nContent-Disposition: inline; filename=\"%s\"\r\n\r\n\r\n--=\r\n",
p_ap_encode_obj->fname);
#endif /* 0 */
- PR_snprintf(tmpstr, sizeof(tmpstr), "--%s"CRLF, p_ap_encode_obj->boundary);
+ PR_snprintf(tmpstr, sizeof(tmpstr), "--%s" CRLF, p_ap_encode_obj->boundary);
status = write_stream(p_ap_encode_obj,
tmpstr,
strlen(tmpstr));
return status;
}
int ap_encode_file_infor(
appledouble_encode_object *p_ap_encode_obj)
@@ -374,17 +374,17 @@ int ap_encode_header(
status = finish64(p_ap_encode_obj);
if (status != noErr)
return status;
/*
** write out the boundary
*/
PR_snprintf(rd_buff, sizeof(rd_buff),
- CRLF"--%s"CRLF,
+ CRLF"--%s" CRLF,
p_ap_encode_obj->boundary);
status = write_stream(p_ap_encode_obj,
rd_buff,
strlen(rd_buff));
if (status == noErr)
status = errDone;
}
@@ -515,17 +515,17 @@ int ap_encode_data(
}
/*
** the data portion header information.
*/
nsCAutoString leafName;
resFile->GetNativeLeafName(leafName);
PR_snprintf(rd_buff, sizeof(rd_buff),
- "Content-Type: %s; name=\"%s\"" CRLF "Content-Transfer-Encoding: base64" CRLF "Content-Disposition: inline; filename=\"%s\""CRLF CRLF,
+ "Content-Type: %s; name=\"%s\"" CRLF "Content-Transfer-Encoding: base64" CRLF "Content-Disposition: inline; filename=\"%s\"" CRLF CRLF,
magic_type,
leafName.get(),
leafName.get());
status = write_stream(p_ap_encode_obj,
rd_buff,
strlen(rd_buff));
if (status != noErr)
@@ -558,17 +558,17 @@ int ap_encode_data(
status = finish64(p_ap_encode_obj);
if (status != noErr)
return status;
/* write out the boundary */
PR_snprintf(rd_buff, sizeof(rd_buff),
- CRLF"--%s--"CRLF CRLF,
+ CRLF"--%s--" CRLF CRLF,
p_ap_encode_obj->boundary);
status = write_stream(p_ap_encode_obj,
rd_buff,
strlen(rd_buff));
if (status == noErr)
status = errDone;
diff --git a/mailnews/compose/src/nsSmtpProtocol.cpp b/mailnews/compose/src/nsSmtpProtocol.cpp
--- a/mailnews/compose/src/nsSmtpProtocol.cpp
+++ b/mailnews/compose/src/nsSmtpProtocol.cpp
@@ -1717,17 +1717,17 @@ PRInt32 nsSmtpProtocol::SendMessageRespo
/* else */
return SendQuit();
}
PRInt32 nsSmtpProtocol::SendQuit()
{
m_sendDone = true;
nsCOMPtr<nsIURI> url = do_QueryInterface(m_runningURL);
- SendData(url, "QUIT"CRLF); // send a quit command to close the connection with the server.
+ SendData(url, "QUIT" CRLF); // send a quit command to close the connection with the server.
m_nextState = SMTP_RESPONSE;
m_nextStateAfterResponse = SMTP_DONE;
return(0);
}
nsresult nsSmtpProtocol::LoadUrl(nsIURI * aURL, nsISupports * aConsumer )
{
if (!aURL)
@@ -1964,17 +1964,17 @@ nsresult nsSmtpProtocol::LoadUrl(nsIURI
/* check for errors during load and call error
* state if found
*/
if(status < 0 && m_nextState != SMTP_FREE)
{
nsCOMPtr<nsIURI> url = do_QueryInterface(m_runningURL);
// send a quit command to close the connection with the server.
- if (SendData(url, "QUIT"CRLF) == NS_OK)
+ if (SendData(url, "QUIT" CRLF) == NS_OK)
{
m_nextState = SMTP_RESPONSE;
m_nextStateAfterResponse = SMTP_ERROR_DONE;
}
else
{
m_nextState = SMTP_ERROR_DONE;
/* don't exit! loop around again and do the free case */
diff --git a/mailnews/imap/src/nsImapMailFolder.cpp b/mailnews/imap/src/nsImapMailFolder.cpp
--- a/mailnews/imap/src/nsImapMailFolder.cpp
+++ b/mailnews/imap/src/nsImapMailFolder.cpp
@@ -8304,17 +8304,17 @@ nsImapMailFolder::CopyFileToOfflineStore
srcFile->GetFileSize(&fileSize);
PRUint32 bytesWritten;
rv = NS_OK;
msgParser->SetState(nsIMsgParseMailMsgState::ParseHeadersState);
msgParser->SetNewMsgHdr(fakeHdr);
bool needMoreData = false;
char * newLine = nsnull;
PRUint32 numBytesInLine = 0;
- const char *envelope = "From "CRLF;
+ const char *envelope = "From " CRLF;
offlineStore->Write(envelope, strlen(envelope), &bytesWritten);
fileSize += bytesWritten;
do
{
newLine = inputStreamBuffer->ReadNextLine(inputStream, numBytesInLine, needMoreData);
if (newLine)
{
msgParser->ParseAFolderLine(newLine, numBytesInLine);
diff --git a/mailnews/imap/src/nsImapProtocol.cpp b/mailnews/imap/src/nsImapProtocol.cpp
--- a/mailnews/imap/src/nsImapProtocol.cpp
+++ b/mailnews/imap/src/nsImapProtocol.cpp
@@ -1404,17 +1404,17 @@ nsImapProtocol::ImapThreadMainLoop()
PR_LOG(IMAP, PR_LOG_DEBUG, ("ImapThreadMainLoop leaving [this=%x]\n", this));
}
void nsImapProtocol::HandleIdleResponses()
{
// PRInt32 oldRecent = GetServerStateParser().NumberOfRecentMessages();
nsCAutoString commandBuffer(GetServerCommandTag());
- commandBuffer.Append(" IDLE"CRLF);
+ commandBuffer.Append(" IDLE" CRLF);
do
{
ParseIMAPandCheckForNewMail(commandBuffer.get());
}
while (m_inputStreamBuffer->NextLineAvailable() && GetServerStateParser().Connected());
// if (oldRecent != GetServerStateParser().NumberOfRecentMessages())
@@ -3282,17 +3282,17 @@ void nsImapProtocol::FetchMsgAttribute(c
{
IncrementCommandTagNumber();
nsCAutoString commandString (GetServerCommandTag());
commandString.Append(" UID fetch ");
commandString.Append(messageIds);
commandString.Append(" (");
commandString.Append(attribute);
- commandString.Append(")"CRLF);
+ commandString.Append(")" CRLF);
nsresult rv = SendData(commandString.get());
if (NS_SUCCEEDED(rv))
ParseIMAPandCheckForNewMail(commandString.get());
GetServerStateParser().SetFetchingFlags(false);
GetServerStateParser().SetFetchingEverythingRFC822(false); // always clear this flag after every fetch....
}
@@ -5278,17 +5278,17 @@ nsImapProtocol::Expunge()
delete search;
if (key == 0)
return; //no deleted messages to expunge (bug 235004)
}
}
IncrementCommandTagNumber();
nsCAutoString command(GetServerCommandTag());
- command.Append(" expunge"CRLF);
+ command.Append(" expunge" CRLF);
nsresult rv = SendData(command.get());
if (NS_SUCCEEDED(rv))
ParseIMAPandCheckForNewMail();
}
void
nsImapProtocol::HandleMemoryFailure()
@@ -5354,17 +5354,17 @@ void nsImapProtocol::ID()
if (!gAppName[0])
return;
IncrementCommandTagNumber();
nsCString command(GetServerCommandTag());
command.Append(" ID (\"name\" \"");
command.Append(gAppName);
command.Append("\" \"version\" \"");
command.Append(gAppVersion);
- command.Append("\")"CRLF);
+ command.Append("\")" CRLF);
nsresult rv = SendData(command.get());
if (NS_SUCCEEDED(rv))
ParseIMAPandCheckForNewMail();
}
void nsImapProtocol::EnableCondStore()
{
@@ -5811,17 +5811,17 @@ nsresult nsImapProtocol::AuthLogin(const
command.Append(escapedUserName);
command.Append("\" \"");
// if the password contains a \, login will fail
// turn foo\bar into foo\\bar
nsCAutoString correctedPassword;
EscapeUserNamePasswordString(password.get(), &correctedPassword);
command.Append(correctedPassword);
- command.Append("\""CRLF);
+ command.Append("\"" CRLF);
rv = SendData(command.get(), true /* suppress logging */);
NS_ENSURE_SUCCESS(rv, rv);
ParseIMAPandCheckForNewMail();
}
else if (flag & kHasAuthNoneCapability)
{
// TODO What to do? "login <username>" like POP?
return NS_ERROR_NOT_IMPLEMENTED;
@@ -7442,17 +7442,17 @@ void nsImapProtocol::CreateMailbox(const
IncrementCommandTagNumber();
nsCString escapedName;
CreateEscapedMailboxName(mailboxName, escapedName);
nsCString command(GetServerCommandTag());
command += " create \"";
command += escapedName;
- command += "\""CRLF;
+ command += "\"" CRLF;
nsresult rv = SendData(command.get());
if(NS_SUCCEEDED(rv))
ParseIMAPandCheckForNewMail();
// If that failed, let's list the parent folder to see if
// it allows inferiors, so we won't try to create sub-folders
// of the parent folder again in the current session.
if (GetServerStateParser().CommandFailed())
@@ -7545,17 +7545,17 @@ void nsImapProtocol::Lsub(const char *ma
nsCString escapedPattern;
CreateEscapedMailboxName(boxnameWithOnlineDirectory ?
boxnameWithOnlineDirectory :
mailboxPattern, escapedPattern);
nsCString command (GetServerCommandTag());
command += " lsub \"\" \"";
command += escapedPattern;
- command += "\""CRLF;
+ command += "\"" CRLF;
PR_Free(boxnameWithOnlineDirectory);
nsresult rv = SendData(command.get());
if (NS_SUCCEEDED(rv))
ParseIMAPandCheckForNewMail();
}
@@ -7574,17 +7574,17 @@ void nsImapProtocol::List(const char *ma
CreateEscapedMailboxName(boxnameWithOnlineDirectory ?
boxnameWithOnlineDirectory :
mailboxPattern, escapedPattern);
nsCString command (GetServerCommandTag());
command += useXLIST ?
" xlist \"\" \"" : " list \"\" \"";
command += escapedPattern;
- command += "\""CRLF;
+ command += "\"" CRLF;
PR_Free(boxnameWithOnlineDirectory);
nsresult rv = SendData(command.get());
if (NS_SUCCEEDED(rv))
ParseIMAPandCheckForNewMail(command.get(), true);
}
@@ -7595,17 +7595,17 @@ void nsImapProtocol::Subscribe(const cha
IncrementCommandTagNumber();
nsCString escapedName;
CreateEscapedMailboxName(mailboxName, escapedName);
nsCString command (GetServerCommandTag());
command += " subscribe \"";
command += escapedName;
- command += "\""CRLF;
+ command += "\"" CRLF;
nsresult rv = SendData(command.get());
if (NS_SUCCEEDED(rv))
ParseIMAPandCheckForNewMail();
}
void nsImapProtocol::Unsubscribe(const char *mailboxName)
{
@@ -7613,31 +7613,31 @@ void nsImapProtocol::Unsubscribe(const c
IncrementCommandTagNumber();
nsCString escapedName;
CreateEscapedMailboxName(mailboxName, escapedName);
nsCString command (GetServerCommandTag());
command += " unsubscribe \"";
command += escapedName;
- command += "\""CRLF;
+ command += "\"" CRLF;
nsresult rv = SendData(command.get());
if (NS_SUCCEEDED(rv))
ParseIMAPandCheckForNewMail();
}
void nsImapProtocol::Idle()
{
IncrementCommandTagNumber();
if (m_urlInProgress)
return;
nsCAutoString command (GetServerCommandTag());
- command += " IDLE"CRLF;
+ command += " IDLE" CRLF;
nsresult rv = SendData(command.get());
if (NS_SUCCEEDED(rv))
{
m_idle = true;
// we'll just get back a continuation char at first.
// + idling...
ParseIMAPandCheckForNewMail();
// this will cause us to get notified of data or the socket getting closed.
@@ -7654,17 +7654,17 @@ void nsImapProtocol::Idle()
// responses, we need to not wait for the server response
// on shutdown.
void nsImapProtocol::EndIdle(bool waitForResponse /* = true */)
{
// clear the async wait - otherwise, we seem to have trouble doing a blocking read
nsCOMPtr <nsIAsyncInputStream> asyncInputStream = do_QueryInterface(m_inputStream);
if (asyncInputStream)
asyncInputStream->AsyncWait(nsnull, 0, 0, nsnull);
- nsresult rv = SendData("DONE"CRLF);
+ nsresult rv = SendData("DONE" CRLF);
// set a short timeout if we don't want to wait for a response
if (m_transport && !waitForResponse)
m_transport->SetTimeout(nsISocketTransport::TIMEOUT_READ_WRITE, 5);
if (NS_SUCCEEDED(rv))
{
m_idle = false;
ParseIMAPandCheckForNewMail();
}
@@ -7723,18 +7723,18 @@ void nsImapProtocol::Copy(const char * m
nsTArray<nsMsgKey> msgKeys;
if (idsAreUid)
ParseUidString(messageList, msgKeys);
PRInt32 msgCountLeft = msgKeys.Length();
PRUint32 msgsHandled = 0;
const char *formatString;
formatString = (idsAreUid)
- ? "%s uid store %s %s"CRLF
- : "%s store %s %s"CRLF;
+ ? "%s uid store %s %s" CRLF
+ : "%s store %s %s" CRLF;
do
{
nsCString idString;
PRUint32 msgsToHandle = msgCountLeft;
if (idsAreUid)
AllocateImapUidString(msgKeys.Elements() + msgsHandled, msgsToHandle, m_flagState, idString);
diff --git a/mailnews/imap/src/nsImapServerResponseParser.cpp b/mailnews/imap/src/nsImapServerResponseParser.cpp
--- a/mailnews/imap/src/nsImapServerResponseParser.cpp
+++ b/mailnews/imap/src/nsImapServerResponseParser.cpp
@@ -180,17 +180,17 @@ void nsImapServerResponseParser::Initial
// continue-req = "+" SP (resp-text / base64) CRLF
void nsImapServerResponseParser::ParseIMAPServerResponse(const char *aCurrentCommand,
bool aIgnoreBadAndNOResponses,
char *aGreetingWithCapability)
{
NS_ASSERTION(aCurrentCommand && *aCurrentCommand != '\r' &&
*aCurrentCommand != '\n' && *aCurrentCommand != ' ', "Invailid command string");
- bool sendingIdleDone = !strcmp(aCurrentCommand, "DONE"CRLF);
+ bool sendingIdleDone = !strcmp(aCurrentCommand, "DONE" CRLF);
if (sendingIdleDone)
fWaitingForMoreClientInput = false;
// Reinitialize the parser
SetConnected(true);
SetSyntaxError(false);
// Reinitialize our state
diff --git a/mailnews/local/src/nsPop3Protocol.cpp b/mailnews/local/src/nsPop3Protocol.cpp
--- a/mailnews/local/src/nsPop3Protocol.cpp
+++ b/mailnews/local/src/nsPop3Protocol.cpp
@@ -2478,17 +2478,17 @@ PRInt32 nsPop3Protocol::SendList()
m_pop3ConData->msg_info = (Pop3MsgInfo *)
PR_CALLOC(sizeof(Pop3MsgInfo) * m_pop3ConData->number_of_messages);
if (!m_pop3ConData->msg_info)
return(MK_OUT_OF_MEMORY);
m_pop3ConData->next_state_after_response = POP3_GET_LIST;
m_listpos = 0;
- return SendData(m_url, "LIST"CRLF);
+ return SendData(m_url, "LIST" CRLF);
}
PRInt32
nsPop3Protocol::GetList(nsIInputStream* inputStream,
PRUint32 length)
{
diff --git a/mailnews/mime/src/mimedrft.cpp b/mailnews/mime/src/mimedrft.cpp
--- a/mailnews/mime/src/mimedrft.cpp
+++ b/mailnews/mime/src/mimedrft.cpp
@@ -1468,17 +1468,17 @@ mime_parse_stream_complete (nsMIMESessio
//+13 chars for <pre> & </pre> tags and CRLF
PRUint32 newbodylen = bodyLen + 14;
char* newbody = (char *)PR_MALLOC (newbodylen);
if (newbody)
{
*newbody = 0;
PL_strcatn(newbody, newbodylen, "<PRE>");
PL_strcatn(newbody, newbodylen, body);
- PL_strcatn(newbody, newbodylen, "</PRE>"CRLF);
+ PL_strcatn(newbody, newbodylen, "</PRE>" CRLF);
PR_Free(body);
body = newbody;
}
}
// Body is now HTML, set the format too (so headers are inserted in
// correct format).
composeFormat = nsIMsgCompFormat::HTML;
}
diff --git a/mailnews/mime/src/mimemult.cpp b/mailnews/mime/src/mimemult.cpp
--- a/mailnews/mime/src/mimemult.cpp
+++ b/mailnews/mime/src/mimemult.cpp
@@ -275,44 +275,44 @@ MimeMultipart_parse_line (const char *li
{
MimeWriteAString(obj, NS_LITERAL_CSTRING("Content-Type: "));
MimeWriteAString(obj, nsDependentCString(contentType));
PR_Free(contentType);
}
MimeWriteAString(obj, NS_LITERAL_CSTRING(MSG_LINEBREAK));
MimeWriteAString(obj, NS_LITERAL_CSTRING("Content-Disposition: attachment; filename=\""));
MimeWriteAString(obj, fileName);
- MimeWriteAString(obj, NS_LITERAL_CSTRING("\""MSG_LINEBREAK));
+ MimeWriteAString(obj, NS_LITERAL_CSTRING("\"" MSG_LINEBREAK));
MimeWriteAString(obj, NS_LITERAL_CSTRING("X-Mozilla-External-Attachment-URL: "));
MimeWriteAString(obj, obj->options->state->detachedFilePath);
MimeWriteAString(obj, NS_LITERAL_CSTRING(MSG_LINEBREAK));
MimeWriteAString(obj, NS_LITERAL_CSTRING("X-Mozilla-Altered: AttachmentDetached; date=\""));
}
else
{
nsCAutoString header("Content-Type: text/x-moz-deleted; name=\"Deleted: ");
header.Append(fileName);
status = MimeWriteAString(obj, header);
- if (status < 0)
+ if (status < 0)
return status;
- status = MimeWriteAString(obj, NS_LITERAL_CSTRING("\""MSG_LINEBREAK"Content-Transfer-Encoding: 8bit"MSG_LINEBREAK));
+ status = MimeWriteAString(obj, NS_LITERAL_CSTRING("\"" MSG_LINEBREAK "Content-Transfer-Encoding: 8bit" MSG_LINEBREAK));
MimeWriteAString(obj, NS_LITERAL_CSTRING("Content-Disposition: inline; filename=\"Deleted: "));
MimeWriteAString(obj, fileName);
- MimeWriteAString(obj, NS_LITERAL_CSTRING("\""MSG_LINEBREAK"X-Mozilla-Altered: AttachmentDeleted; date=\""));
+ MimeWriteAString(obj, NS_LITERAL_CSTRING("\"" MSG_LINEBREAK "X-Mozilla-Altered: AttachmentDeleted; date=\""));
}
nsCString result;
char timeBuffer[128];
PRExplodedTime now;
PR_ExplodeTime(PR_Now(), PR_LocalTimeParameters, &now);
PR_FormatTimeUSEnglish(timeBuffer, sizeof(timeBuffer),
"%a %b %d %H:%M:%S %Y",
&now);
MimeWriteAString(obj, nsDependentCString(timeBuffer));
- MimeWriteAString(obj, NS_LITERAL_CSTRING("\""MSG_LINEBREAK));
- MimeWriteAString(obj, NS_LITERAL_CSTRING(MSG_LINEBREAK"You deleted an attachment from this message. The original MIME headers for the attachment were:"MSG_LINEBREAK));
+ MimeWriteAString(obj, NS_LITERAL_CSTRING("\"" MSG_LINEBREAK));
+ MimeWriteAString(obj, NS_LITERAL_CSTRING(MSG_LINEBREAK "You deleted an attachment from this message. The original MIME headers for the attachment were:" MSG_LINEBREAK));
MimeHeaders_write_raw_headers(mult->hdrs, obj->options, false);
}
PRInt32 old_nchildren = container->nchildren;
status = ((MimeMultipartClass *) obj->clazz)->create_child(obj);
if (status < 0) return status;
NS_ASSERTION(mult->state != MimeMultipartHeaders,
"mult->state shouldn't be MimeMultipartHeaders");
diff --git a/mailnews/news/src/nsNntpIncomingServer.cpp b/mailnews/news/src/nsNntpIncomingServer.cpp
--- a/mailnews/news/src/nsNntpIncomingServer.cpp
+++ b/mailnews/news/src/nsNntpIncomingServer.cpp
@@ -860,17 +860,17 @@ nsNntpIncomingServer::WriteHostInfoFile(
dateStr.AppendInt(mLastUpdatedTime);
WriteLine(hostInfoStream, dateStr);
dateStr ="firstnewdate=";
dateStr.AppendInt(firstnewdate);
WriteLine(hostInfoStream, dateStr);
dateStr = "uniqueid=";
dateStr.AppendInt(mUniqueId);
WriteLine(hostInfoStream, dateStr);
- header.Assign(MSG_LINEBREAK"begingroups");
+ header.Assign(MSG_LINEBREAK "begingroups");
WriteLine(hostInfoStream, header);
// XXX todo, sort groups first?
PRUint32 length = mGroupsOnServer.Length();
for (PRUint32 i = 0; i < length; ++i)
{
PRUint32 bytesWritten;
hostInfoStream->Write(mGroupsOnServer[i].get(), mGroupsOnServer[i].Length(),

View File

@ -1,78 +1,9 @@
# HG changeset patch # HG changeset patch
# Parent 93e5d3b8061741abc83dcd4ed0fe93f1636583ef # Parent 7bc8f0e5bed8cb2212e27228e628861737256459
Patch to make Mozilla build with gcc 4.7, including Patch to make Mozilla build with gcc 4.7, including
- Bug 725655 - gcc 4.7 build failures (missing headers) (TM: Mozilla13)
- Bug 734490 - "no viable overloaded 'PRIxPTR'" when building with Clang or GCC 4.7 (TM: Mozilla14) - Bug 734490 - "no viable overloaded 'PRIxPTR'" when building with Clang or GCC 4.7 (TM: Mozilla14)
- Bug 741348 - Work around crashreporter client build failure with gcc 4.7 (TM: Mozilla15) - Bug 741348 - Work around crashreporter client build failure with gcc 4.7 (TM: Mozilla15)
diff --git a/ipc/chromium/src/base/file_util_linux.cc b/ipc/chromium/src/base/file_util_linux.cc
--- a/ipc/chromium/src/base/file_util_linux.cc
+++ b/ipc/chromium/src/base/file_util_linux.cc
@@ -1,15 +1,18 @@
// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "base/file_util.h"
#include <fcntl.h>
+#if defined(ANDROID) || defined(OS_POSIX)
+#include <unistd.h>
+#endif
#include <string>
#include <vector>
#include "base/eintr_wrapper.h"
#include "base/file_path.h"
#include "base/string_util.h"
diff --git a/ipc/chromium/src/base/message_pump_libevent.cc b/ipc/chromium/src/base/message_pump_libevent.cc
--- a/ipc/chromium/src/base/message_pump_libevent.cc
+++ b/ipc/chromium/src/base/message_pump_libevent.cc
@@ -1,16 +1,19 @@
// Copyright (c) 2008 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "base/message_pump_libevent.h"
#include <errno.h>
#include <fcntl.h>
+#if defined(ANDROID) || defined(OS_POSIX)
+#include <unistd.h>
+#endif
#include "eintr_wrapper.h"
#include "base/logging.h"
#include "base/scoped_nsautorelease_pool.h"
#include "base/scoped_ptr.h"
#include "base/time.h"
#include "third_party/libevent/event.h"
diff --git a/ipc/chromium/src/base/time_posix.cc b/ipc/chromium/src/base/time_posix.cc
--- a/ipc/chromium/src/base/time_posix.cc
+++ b/ipc/chromium/src/base/time_posix.cc
@@ -8,16 +8,19 @@
#include <mach/mach_time.h>
#endif
#include <sys/time.h>
#ifdef ANDROID
#include <time64.h>
#else
#include <time.h>
#endif
+#if defined(ANDROID) || defined(OS_POSIX)
+#include <unistd.h>
+#endif
#include <limits>
#include "base/basictypes.h"
#include "base/logging.h"
namespace base {
diff --git a/layout/base/tests/TestPoisonArea.cpp b/layout/base/tests/TestPoisonArea.cpp diff --git a/layout/base/tests/TestPoisonArea.cpp b/layout/base/tests/TestPoisonArea.cpp
--- a/layout/base/tests/TestPoisonArea.cpp --- a/layout/base/tests/TestPoisonArea.cpp
+++ b/layout/base/tests/TestPoisonArea.cpp +++ b/layout/base/tests/TestPoisonArea.cpp

View File

@ -27,7 +27,7 @@ diff --git a/modules/libpref/src/Makefile.in b/modules/libpref/src/Makefile.in
diff --git a/modules/libpref/src/Preferences.cpp b/modules/libpref/src/Preferences.cpp diff --git a/modules/libpref/src/Preferences.cpp b/modules/libpref/src/Preferences.cpp
--- a/modules/libpref/src/Preferences.cpp --- a/modules/libpref/src/Preferences.cpp
+++ b/modules/libpref/src/Preferences.cpp +++ b/modules/libpref/src/Preferences.cpp
@@ -56,16 +56,17 @@ @@ -57,16 +57,17 @@
#include "nsIStringEnumerator.h" #include "nsIStringEnumerator.h"
#include "nsIZipReader.h" #include "nsIZipReader.h"
#include "nsPrefBranch.h" #include "nsPrefBranch.h"
@ -45,14 +45,14 @@ diff --git a/modules/libpref/src/Preferences.cpp b/modules/libpref/src/Preferenc
#include "prefapi.h" #include "prefapi.h"
#include "prefread.h" #include "prefread.h"
#include "prefapi_private_data.h" #include "prefapi_private_data.h"
@@ -935,30 +936,48 @@ pref_LoadPrefsInDir(nsIFile* aDir, char @@ -937,16 +938,34 @@ pref_LoadPrefsInDir(nsIFile* aDir, char
}
static nsresult pref_LoadPrefsInDirList(const char *listId) static nsresult pref_LoadPrefsInDirList(const char *listId)
{ {
nsresult rv; nsresult rv;
nsCOMPtr<nsIProperties> dirSvc(do_GetService(NS_DIRECTORY_SERVICE_CONTRACTID, &rv)); nsCOMPtr<nsIProperties> dirSvc(do_GetService(NS_DIRECTORY_SERVICE_CONTRACTID, &rv));
if (NS_FAILED(rv)) return rv; if (NS_FAILED(rv))
return rv;
+ // make sure we load these special files after all the others + // make sure we load these special files after all the others
+ static const char* specialFiles[] = { + static const char* specialFiles[] = {
@ -72,30 +72,34 @@ diff --git a/modules/libpref/src/Preferences.cpp b/modules/libpref/src/Preferenc
+ } + }
+ } + }
+ +
nsCOMPtr<nsISimpleEnumerator> dirList; nsCOMPtr<nsISimpleEnumerator> list;
dirSvc->Get(listId, dirSvc->Get(listId,
NS_GET_IID(nsISimpleEnumerator), NS_GET_IID(nsISimpleEnumerator),
getter_AddRefs(dirList)); getter_AddRefs(list));
if (dirList) { if (!list)
return NS_OK;
bool hasMore; bool hasMore;
while (NS_SUCCEEDED(dirList->HasMoreElements(&hasMore)) && hasMore) { @@ -962,17 +981,17 @@ static nsresult pref_LoadPrefsInDirList(
nsCOMPtr<nsISupports> elem;
dirList->GetNext(getter_AddRefs(elem)); nsCAutoString leaf;
if (elem) { path->GetNativeLeafName(leaf);
nsCOMPtr<nsIFile> dir = do_QueryInterface(elem);
if (dir) {
// Do we care if a file provided by this process fails to load? // Do we care if a file provided by this process fails to load?
- pref_LoadPrefsInDir(dir, nsnull, 0); if (Substring(leaf, leaf.Length() - 4).Equals(NS_LITERAL_CSTRING(".xpi")))
+ pref_LoadPrefsInDir(dir, specialFiles, NS_ARRAY_LENGTH(specialFiles)); ReadExtensionPrefs(path);
} else
} - pref_LoadPrefsInDir(path, nsnull, 0);
} + pref_LoadPrefsInDir(path, specialFiles, NS_ARRAY_LENGTH(specialFiles));
} }
return NS_OK; return NS_OK;
} }
static nsresult pref_ReadPrefFromJar(nsZipArchive* jarReader, const char *name) static nsresult pref_ReadPrefFromJar(nsZipArchive* jarReader, const char *name)
@@ -1051,28 +1070,40 @@ static nsresult pref_InitInitialObjects( {
nsZipItemPtr<char> manifest(jarReader, name, true);
NS_ENSURE_TRUE(manifest.Buffer(), NS_ERROR_NOT_AVAILABLE);
@@ -1062,28 +1081,40 @@ static nsresult pref_InitInitialObjects(
/* these pref file names should not be used: we process them after all other application pref files for backwards compatibility */ /* these pref file names should not be used: we process them after all other application pref files for backwards compatibility */
static const char* specialFiles[] = { static const char* specialFiles[] = {
#if defined(XP_MACOSX) #if defined(XP_MACOSX)
@ -139,17 +143,18 @@ diff --git a/modules/libpref/src/Preferences.cpp b/modules/libpref/src/Preferenc
diff --git a/toolkit/components/downloads/Makefile.in b/toolkit/components/downloads/Makefile.in diff --git a/toolkit/components/downloads/Makefile.in b/toolkit/components/downloads/Makefile.in
--- a/toolkit/components/downloads/Makefile.in --- a/toolkit/components/downloads/Makefile.in
+++ b/toolkit/components/downloads/Makefile.in +++ b/toolkit/components/downloads/Makefile.in
@@ -75,8 +75,10 @@ EXTRA_COMPONENTS = \ @@ -73,8 +73,11 @@ EXTRA_COMPONENTS = \
nsDownloadManagerUI.js \
nsDownloadManagerUI.manifest \
$(NULL) $(NULL)
endif endif
ifdef ENABLE_TESTS TEST_DIRS += test
DIRS += test
endif
include $(topsrcdir)/config/rules.mk include $(topsrcdir)/config/rules.mk
+ +
+LOCAL_INCLUDES += -I$(topsrcdir)/toolkit/xre +LOCAL_INCLUDES += -I$(topsrcdir)/toolkit/xre
+
diff --git a/toolkit/components/downloads/nsDownloadManager.cpp b/toolkit/components/downloads/nsDownloadManager.cpp diff --git a/toolkit/components/downloads/nsDownloadManager.cpp b/toolkit/components/downloads/nsDownloadManager.cpp
--- a/toolkit/components/downloads/nsDownloadManager.cpp --- a/toolkit/components/downloads/nsDownloadManager.cpp
+++ b/toolkit/components/downloads/nsDownloadManager.cpp +++ b/toolkit/components/downloads/nsDownloadManager.cpp
@ -174,7 +179,7 @@ diff --git a/toolkit/components/downloads/nsDownloadManager.cpp b/toolkit/compon
#include "AndroidBridge.h" #include "AndroidBridge.h"
#endif #endif
@@ -2214,16 +2218,25 @@ nsDownload::SetState(DownloadState aStat @@ -2221,16 +2225,25 @@ nsDownload::SetState(DownloadState aStat
nsCOMPtr<nsIPrefBranch> pref(do_GetService(NS_PREFSERVICE_CONTRACTID)); nsCOMPtr<nsIPrefBranch> pref(do_GetService(NS_PREFSERVICE_CONTRACTID));
// Master pref to control this function. // Master pref to control this function.
@ -200,7 +205,7 @@ diff --git a/toolkit/components/downloads/nsDownloadManager.cpp b/toolkit/compon
PRInt64 goat = PR_Now() - mStartTime; PRInt64 goat = PR_Now() - mStartTime;
showTaskbarAlert = goat > alertIntervalUSec; showTaskbarAlert = goat > alertIntervalUSec;
@@ -2247,19 +2260,20 @@ nsDownload::SetState(DownloadState aStat @@ -2254,19 +2267,20 @@ nsDownload::SetState(DownloadState aStat
// If downloads are automatically removed per the user's // If downloads are automatically removed per the user's
// retention policy, there's no reason to make the text clickable // retention policy, there's no reason to make the text clickable
// because if it is, they'll click open the download manager and // because if it is, they'll click open the download manager and
@ -225,7 +230,7 @@ diff --git a/toolkit/components/downloads/nsDownloadManager.cpp b/toolkit/compon
diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn
--- a/toolkit/content/jar.mn --- a/toolkit/content/jar.mn
+++ b/toolkit/content/jar.mn +++ b/toolkit/content/jar.mn
@@ -40,29 +40,33 @@ toolkit.jar: @@ -44,29 +44,33 @@ toolkit.jar:
*+ content/global/viewZoomOverlay.js (viewZoomOverlay.js) *+ content/global/viewZoomOverlay.js (viewZoomOverlay.js)
*+ content/global/bindings/autocomplete.xml (widgets/autocomplete.xml) *+ content/global/bindings/autocomplete.xml (widgets/autocomplete.xml)
*+ content/global/bindings/browser.xml (widgets/browser.xml) *+ content/global/bindings/browser.xml (widgets/browser.xml)
@ -2092,8 +2097,7 @@ new file mode 100644
diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
--- a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp --- a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
+++ b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp +++ b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
@@ -45,16 +45,18 @@ @@ -46,16 +46,18 @@
#include "nsReadableUtils.h"
#include "nsArrayUtils.h" #include "nsArrayUtils.h"
#include "prnetdb.h" #include "prnetdb.h"
#include "prenv.h" #include "prenv.h"
@ -2101,6 +2105,7 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy
#include "nsNetUtil.h" #include "nsNetUtil.h"
#include "nsISupportsPrimitives.h" #include "nsISupportsPrimitives.h"
#include "nsIGSettingsService.h" #include "nsIGSettingsService.h"
#include "nsInterfaceHashtable.h"
+#include "nsVoidArray.h" +#include "nsVoidArray.h"
+#include "nsKDEUtils.h" +#include "nsKDEUtils.h"
@ -2111,10 +2116,10 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy
nsUnixSystemProxySettings() {} nsUnixSystemProxySettings() {}
nsresult Init(); nsresult Init();
@@ -64,16 +66,17 @@ private: @@ -67,16 +69,17 @@ private:
nsCOMPtr<nsIGConfService> mGConf;
nsCOMPtr<nsIGSettingsService> mGSettings; nsCOMPtr<nsIGSettingsService> mGSettings;
nsCOMPtr<nsIGSettingsCollection> mProxySettings;
nsInterfaceHashtable<nsCStringHashKey, nsIGSettingsCollection> mSchemeProxySettings;
bool IsProxyMode(const char* aMode); bool IsProxyMode(const char* aMode);
nsresult SetProxyResultFromGConf(const char* aKeyBase, const char* aType, nsACString& aResult); nsresult SetProxyResultFromGConf(const char* aKeyBase, const char* aType, nsACString& aResult);
nsresult GetProxyFromGConf(const nsACString& aScheme, const nsACString& aHost, PRInt32 aPort, nsACString& aResult); nsresult GetProxyFromGConf(const nsACString& aScheme, const nsACString& aHost, PRInt32 aPort, nsACString& aResult);
@ -2129,7 +2134,7 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy
nsUnixSystemProxySettings::Init() nsUnixSystemProxySettings::Init()
{ {
// If this is a GNOME session, load gconf and try to use its preferences. // If this is a GNOME session, load gconf and try to use its preferences.
@@ -526,16 +529,19 @@ nsUnixSystemProxySettings::GetProxyForUR @@ -529,16 +532,19 @@ nsUnixSystemProxySettings::GetProxyForUR
nsCAutoString host; nsCAutoString host;
rv = aURI->GetHost(host); rv = aURI->GetHost(host);
NS_ENSURE_SUCCESS(rv, rv); NS_ENSURE_SUCCESS(rv, rv);
@ -2141,7 +2146,7 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy
+ if( nsKDEUtils::kdeSupport()) + if( nsKDEUtils::kdeSupport())
+ return GetProxyFromKDE(scheme, host, port, aResult); + return GetProxyFromKDE(scheme, host, port, aResult);
+ +
if (mGSettings) { if (mProxySettings) {
rv = GetProxyFromGSettings(scheme, host, port, aResult); rv = GetProxyFromGSettings(scheme, host, port, aResult);
if (rv == NS_OK) if (rv == NS_OK)
return rv; return rv;
@ -2149,7 +2154,7 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy
if (mGConf) if (mGConf)
return GetProxyFromGConf(scheme, host, port, aResult); return GetProxyFromGConf(scheme, host, port, aResult);
@@ -561,8 +567,34 @@ static const mozilla::Module::ContractID @@ -564,8 +570,34 @@ static const mozilla::Module::ContractID
static const mozilla::Module kUnixProxyModule = { static const mozilla::Module kUnixProxyModule = {
mozilla::Module::kVersion, mozilla::Module::kVersion,
@ -2673,7 +2678,7 @@ new file mode 100644
diff --git a/uriloader/exthandler/Makefile.in b/uriloader/exthandler/Makefile.in diff --git a/uriloader/exthandler/Makefile.in b/uriloader/exthandler/Makefile.in
--- a/uriloader/exthandler/Makefile.in --- a/uriloader/exthandler/Makefile.in
+++ b/uriloader/exthandler/Makefile.in +++ b/uriloader/exthandler/Makefile.in
@@ -92,18 +92,19 @@ LOCAL_INCLUDES = -I$(srcdir) @@ -90,18 +90,19 @@ LOCAL_INCLUDES = -I$(srcdir)
LOCAL_INCLUDES += -I$(topsrcdir)/dom/base \ LOCAL_INCLUDES += -I$(topsrcdir)/dom/base \
-I$(topsrcdir)/dom/ipc \ -I$(topsrcdir)/dom/ipc \
-I$(topsrcdir)/content/base/src \ -I$(topsrcdir)/content/base/src \
@ -3250,7 +3255,7 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
diff --git a/widget/gtk2/Makefile.in b/widget/gtk2/Makefile.in diff --git a/widget/gtk2/Makefile.in b/widget/gtk2/Makefile.in
--- a/widget/gtk2/Makefile.in --- a/widget/gtk2/Makefile.in
+++ b/widget/gtk2/Makefile.in +++ b/widget/gtk2/Makefile.in
@@ -135,11 +135,14 @@ DEFINES += -DCAIRO_GFX @@ -135,11 +135,14 @@ DEFINES += -DCAIRO_GFX -DMOZ_APP_NAME='
INCLUDES += \ INCLUDES += \
-I$(srcdir)/../xpwidgets \ -I$(srcdir)/../xpwidgets \
@ -3604,7 +3609,7 @@ diff --git a/widget/gtk2/nsFilePicker.h b/widget/gtk2/nsFilePicker.h
diff --git a/xpcom/components/Makefile.in b/xpcom/components/Makefile.in diff --git a/xpcom/components/Makefile.in b/xpcom/components/Makefile.in
--- a/xpcom/components/Makefile.in --- a/xpcom/components/Makefile.in
+++ b/xpcom/components/Makefile.in +++ b/xpcom/components/Makefile.in
@@ -92,10 +92,11 @@ LOCAL_INCLUDES = \ @@ -91,10 +91,11 @@ LOCAL_INCLUDES = \
# we don't want the shared lib, but we want to force the creation of a static lib. # we don't want the shared lib, but we want to force the creation of a static lib.
FORCE_STATIC_LIB = 1 FORCE_STATIC_LIB = 1
@ -3619,7 +3624,7 @@ diff --git a/xpcom/components/Makefile.in b/xpcom/components/Makefile.in
diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestParser.cpp diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestParser.cpp
--- a/xpcom/components/ManifestParser.cpp --- a/xpcom/components/ManifestParser.cpp
+++ b/xpcom/components/ManifestParser.cpp +++ b/xpcom/components/ManifestParser.cpp
@@ -62,16 +62,17 @@ @@ -63,16 +63,17 @@
#include "nsTextFormatter.h" #include "nsTextFormatter.h"
#include "nsVersionComparator.h" #include "nsVersionComparator.h"
#include "nsXPCOMCIDInternal.h" #include "nsXPCOMCIDInternal.h"
@ -3637,7 +3642,7 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
const char* directive; const char* directive;
int argc; int argc;
@@ -429,16 +430,17 @@ ParseManifest(NSLocationType type, FileL @@ -430,16 +431,17 @@ ParseManifest(NSLocationType type, FileL
NS_NAMED_LITERAL_STRING(kPlatform, "platform"); NS_NAMED_LITERAL_STRING(kPlatform, "platform");
NS_NAMED_LITERAL_STRING(kContentAccessible, "contentaccessible"); NS_NAMED_LITERAL_STRING(kContentAccessible, "contentaccessible");
NS_NAMED_LITERAL_STRING(kApplication, "application"); NS_NAMED_LITERAL_STRING(kApplication, "application");
@ -3655,7 +3660,7 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
NS_NAMED_LITERAL_STRING(kXPCNativeWrappers, "xpcnativewrappers"); NS_NAMED_LITERAL_STRING(kXPCNativeWrappers, "xpcnativewrappers");
nsAutoString appID; nsAutoString appID;
@@ -476,41 +478,46 @@ ParseManifest(NSLocationType type, FileL @@ -477,41 +479,46 @@ ParseManifest(NSLocationType type, FileL
CopyUTF8toUTF16(s, abi); CopyUTF8toUTF16(s, abi);
abi.Insert(PRUnichar('_'), 0); abi.Insert(PRUnichar('_'), 0);
abi.Insert(osTarget, 0); abi.Insert(osTarget, 0);
@ -3702,7 +3707,7 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
char *token; char *token;
char *newline = buf; char *newline = buf;
@@ -592,24 +599,26 @@ ParseManifest(NSLocationType type, FileL @@ -593,24 +600,26 @@ ParseManifest(NSLocationType type, FileL
TriState stOsVersion = eUnspecified; TriState stOsVersion = eUnspecified;
TriState stOs = eUnspecified; TriState stOs = eUnspecified;
TriState stABI = eUnspecified; TriState stABI = eUnspecified;
@ -3729,7 +3734,7 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
#if defined(MOZ_WIDGET_ANDROID) #if defined(MOZ_WIDGET_ANDROID)
bool tablet = false; bool tablet = false;
if (CheckFlag(kTablet, wtoken, tablet)) { if (CheckFlag(kTablet, wtoken, tablet)) {
@@ -638,16 +647,17 @@ ParseManifest(NSLocationType type, FileL @@ -639,16 +648,17 @@ ParseManifest(NSLocationType type, FileL
} }
if (!ok || if (!ok ||
@ -3790,7 +3795,7 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
#include "prmem.h" #include "prmem.h"
#include "plbase64.h" #include "plbase64.h"
@@ -1795,44 +1796,51 @@ nsLocalFile::SetPersistentDescriptor(con @@ -1796,44 +1797,51 @@ nsLocalFile::SetPersistentDescriptor(con
return InitWithNativePath(aPersistentDescriptor); return InitWithNativePath(aPersistentDescriptor);
#endif #endif
} }
@ -3856,7 +3861,7 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
return rv; return rv;
} }
return NS_ERROR_FAILURE; return NS_ERROR_FAILURE;
@@ -1858,16 +1866,23 @@ nsLocalFile::Launch() @@ -1859,16 +1867,23 @@ nsLocalFile::Launch()
if (nsnull == connection) if (nsnull == connection)
return NS_ERROR_FAILURE; return NS_ERROR_FAILURE;

View File

@ -9,7 +9,7 @@ retrieving revision 1.1
diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
--- a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp --- a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
+++ b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp +++ b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
@@ -71,18 +71,24 @@ private: @@ -74,22 +74,28 @@ private:
nsresult SetProxyResultFromGSettings(const char* aKeyBase, const char* aType, nsACString& aResult); nsresult SetProxyResultFromGSettings(const char* aKeyBase, const char* aType, nsACString& aResult);
}; };
@ -18,21 +18,29 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy
nsresult nsresult
nsUnixSystemProxySettings::Init() nsUnixSystemProxySettings::Init()
{ {
- mSchemeProxySettings.Init(5);
- mGConf = do_GetService(NS_GCONFSERVICE_CONTRACTID); - mGConf = do_GetService(NS_GCONFSERVICE_CONTRACTID);
- mGSettings = do_GetService(NS_GSETTINGSSERVICE_CONTRACTID); - mGSettings = do_GetService(NS_GSETTINGSSERVICE_CONTRACTID);
- if (mGSettings) {
- mGSettings->GetCollectionForSchema(NS_LITERAL_CSTRING("org.gnome.system.proxy"),
- getter_AddRefs(mProxySettings));
+ // If this is a GNOME session, load gconf and try to use its preferences. + // If this is a GNOME session, load gconf and try to use its preferences.
+ // If gconf is not available (which would be stupid) we'll proceed as if + // If gconf is not available (which would be stupid) we'll proceed as if
+ // this was not a GNOME session, using *_PROXY environment variables. + // this was not a GNOME session, using *_PROXY environment variables.
+ const char* sessionType = PR_GetEnv("DESKTOP_SESSION"); + const char* sessionType = PR_GetEnv("DESKTOP_SESSION");
+ if (sessionType && !strcmp(sessionType, "gnome")) { + if (sessionType && !strcmp(sessionType, "gnome")) {
+ mSchemeProxySettings.Init(5);
+ mGConf = do_GetService(NS_GCONFSERVICE_CONTRACTID); + mGConf = do_GetService(NS_GCONFSERVICE_CONTRACTID);
+ mGSettings = do_GetService(NS_GSETTINGSSERVICE_CONTRACTID); + mGSettings = do_GetService(NS_GSETTINGSSERVICE_CONTRACTID);
+ if (mGSettings) {
+ mGSettings->GetCollectionForSchema(NS_LITERAL_CSTRING("org.gnome.system.proxy"),
+ getter_AddRefs(mProxySettings));
+ } + }
}
return NS_OK; return NS_OK;
} }
bool bool
nsUnixSystemProxySettings::IsProxyMode(const char* aMode) nsUnixSystemProxySettings::IsProxyMode(const char* aMode)
{ {
nsCAutoString mode;
return NS_SUCCEEDED(mGConf->GetString(NS_LITERAL_CSTRING("/system/proxy/mode"), mode)) &&

27
mozilla-system-nspr.patch Normal file
View File

@ -0,0 +1,27 @@
# HG changeset patch
# User Wolfgang Rosenauer <wr@rosenauer.org>
# Parent e94edfdb1f5bd5c29dc54cfb83768f9c84f3f4de
Bug 736854 - PHal.ipdl includes NSPR incorrectly - breaking system NSPR usage
diff --git a/hal/sandbox/PHal.ipdl b/hal/sandbox/PHal.ipdl
--- a/hal/sandbox/PHal.ipdl
+++ b/hal/sandbox/PHal.ipdl
@@ -34,17 +34,17 @@
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
include protocol PContent;
include protocol PBrowser;
-include "nspr/prtime.h";
+include "prtime.h";
include "mozilla/HalSensor.h";
include "mozilla/HalTypes.h";
using PRTime;
using mozilla::hal::FlashMode;
using mozilla::hal::LightType;
using mozilla::hal::LightMode;
using mozilla::hal::SensorType;

View File

@ -1,8 +1,12 @@
diff --git a/config/autoconf.mk.in b/config/autoconf.mk.in diff --git a/config/autoconf.mk.in b/config/autoconf.mk.in
index bea1ca3..2de10c0 100644
--- a/config/autoconf.mk.in --- a/config/autoconf.mk.in
+++ b/config/autoconf.mk.in +++ b/config/autoconf.mk.in
@@ -61,11 +61,11 @@ MOZ_PKG_SPECIAL = @MOZ_PKG_SPECIAL@ @@ -56,21 +56,21 @@ MOZ_APP_VERSION = @MOZ_APP_VERSION@
MOZ_APP_MAXVERSION = @MOZ_APP_MAXVERSION@
MOZ_MACBUNDLE_NAME= @MOZ_MACBUNDLE_NAME@
MOZ_PKG_SPECIAL = @MOZ_PKG_SPECIAL@
prefix = @prefix@ prefix = @prefix@
exec_prefix = @exec_prefix@ exec_prefix = @exec_prefix@
bindir = @bindir@ bindir = @bindir@
@ -16,3 +20,8 @@ index bea1ca3..2de10c0 100644
installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION) sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION)
MOZDEPTH = $(DEPTH)/mozilla
DIST = $(MOZDEPTH)/dist
LIBXUL_SDK = @LIBXUL_SDK@

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:573acd29f9f514bafa0a5daa0df39e62a82b3ebb573c7091693eacdcaf7fd234
size 101196652

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d6c5886a67eaf004d15c3f4d1cb6eab884ffdfb1f61ce0407c90aca5f72780c5
size 102514177

View File

@ -7,7 +7,7 @@ References:
diff --git a/config/autoconf.mk.in b/config/autoconf.mk.in diff --git a/config/autoconf.mk.in b/config/autoconf.mk.in
--- a/config/autoconf.mk.in --- a/config/autoconf.mk.in
+++ b/config/autoconf.mk.in +++ b/config/autoconf.mk.in
@@ -451,16 +451,20 @@ MOZ_PANGO_LIBS = @MOZ_PANGO_LIB @@ -448,16 +448,20 @@ MOZ_PANGO_LIBS = @MOZ_PANGO_LIB
XT_LIBS = @XT_LIBS@ XT_LIBS = @XT_LIBS@
MOZ_ALSA_LIBS = @MOZ_ALSA_LIBS@ MOZ_ALSA_LIBS = @MOZ_ALSA_LIBS@
@ -31,7 +31,7 @@ diff --git a/config/autoconf.mk.in b/config/autoconf.mk.in
diff --git a/configure.in b/configure.in diff --git a/configure.in b/configure.in
--- a/configure.in --- a/configure.in
+++ b/configure.in +++ b/configure.in
@@ -6680,16 +6680,31 @@ AC_SUBST(QCMS_LIBS) @@ -6586,16 +6586,31 @@ AC_SUBST(QCMS_LIBS)
dnl ======================================================== dnl ========================================================
dnl HarfBuzz dnl HarfBuzz
@ -66,11 +66,11 @@ diff --git a/configure.in b/configure.in
diff --git a/mail/app/Makefile.in b/mail/app/Makefile.in diff --git a/mail/app/Makefile.in b/mail/app/Makefile.in
--- a/mail/app/Makefile.in --- a/mail/app/Makefile.in
+++ b/mail/app/Makefile.in +++ b/mail/app/Makefile.in
@@ -101,16 +101,17 @@ STL_FLAGS= @@ -94,16 +94,17 @@ LOCAL_INCLUDES += \
$(NULL)
ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT)) DEFINES += -DXPCOM_GLUE
TK_LIBS := -framework Cocoa $(TK_LIBS) STL_FLAGS=
endif
LIBS += \ LIBS += \
$(EXTRA_DSO_LIBS) \ $(EXTRA_DSO_LIBS) \
@ -78,9 +78,9 @@ diff --git a/mail/app/Makefile.in b/mail/app/Makefile.in
+ $(NSSHELPER_LIBS) \ + $(NSSHELPER_LIBS) \
$(NULL) $(NULL)
ifdef MOZ_JPROF ifdef MOZ_LINKER
LIBS += -ljprof LIBS += $(ZLIB_LIBS)
endif endif
ifdef MOZ_ENABLE_DBUS ifndef MOZ_WINCONSOLE
LIBS += $(MOZ_DBUS_GLIB_LIBS) ifdef MOZ_DEBUG