forked from pool/MozillaThunderbird
- 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:
parent
087fae14ac
commit
9c02a444ab
@ -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
|
||||
|
||||
|
@ -31,7 +31,7 @@ BuildRequires: libgnomeui-devel
|
||||
BuildRequires: libidl-devel
|
||||
BuildRequires: libnotify-devel
|
||||
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: python
|
||||
BuildRequires: startup-notification-devel
|
||||
@ -40,11 +40,11 @@ BuildRequires: update-desktop-files
|
||||
BuildRequires: xorg-x11-libXt-devel
|
||||
BuildRequires: yasm
|
||||
BuildRequires: zip
|
||||
%define mainversion 12.0.1
|
||||
%define update_channel release
|
||||
%define mainversion 13.0
|
||||
%define update_channel beta
|
||||
Version: %{mainversion}
|
||||
Release: 0
|
||||
%define releasedate 2012042800
|
||||
%define releasedate 2012060100
|
||||
Provides: thunderbird = %{version}
|
||||
%if %{with_kde}
|
||||
# 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
|
||||
Source7: find-external-requires.sh
|
||||
Source8: thunderbird-rpmlintrc
|
||||
Source9: enigmail-1.4.1.tar.gz
|
||||
Source9: enigmail-1.4.2.tar.gz
|
||||
Source10: create-tar.sh
|
||||
Source11: compare-locales.tar.bz2
|
||||
Source12: kde.js
|
||||
@ -80,21 +80,21 @@ Patch7: mozilla-kde.patch
|
||||
Patch8: mozilla-libnotify.patch
|
||||
Patch9: mozilla-revert_621446.patch
|
||||
Patch10: mozilla-gcc47.patch
|
||||
Patch11: mozilla-system-nspr.patch
|
||||
# Thunderbird/mail
|
||||
Patch20: tb-ssldap.patch
|
||||
Patch21: tb-develdirs.patch
|
||||
Patch22: thunderbird-shared-nss-db.patch
|
||||
Patch23: mailnews-showalert.patch
|
||||
Patch24: mailnews-literals.patch
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
PreReq: coreutils fileutils textutils /bin/sh
|
||||
Recommends: libcanberra0
|
||||
### build options
|
||||
%define build_enigmail 1
|
||||
%ifnarch ppc ppc64
|
||||
%define crashreporter 1
|
||||
%define crashreporter 1
|
||||
%else
|
||||
%define crashreporter 0
|
||||
%define crashreporter 0
|
||||
%endif
|
||||
%define has_system_cairo 0
|
||||
%define localize 1
|
||||
@ -175,7 +175,7 @@ symbols meant for upload to Mozilla's crash collector database.
|
||||
|
||||
%if %build_enigmail
|
||||
%package -n enigmail
|
||||
Version: 1.4.1+%{mainversion}
|
||||
Version: 1.4.2+%{mainversion}
|
||||
Release: 0
|
||||
Summary: OpenPGP addon for Thunderbird and SeaMonkey
|
||||
License: MPL-1.1 or GPL-2.0+
|
||||
@ -213,13 +213,13 @@ pushd mozilla
|
||||
%patch8 -p1
|
||||
%patch9 -p1
|
||||
%patch10 -p1
|
||||
%patch11 -p1
|
||||
popd
|
||||
# comm-central patches
|
||||
%patch20 -p1
|
||||
%patch21 -p1
|
||||
%patch22 -p1
|
||||
%patch23 -p1
|
||||
%patch24 -p1
|
||||
|
||||
%build
|
||||
# no need to add build time to binaries
|
||||
@ -524,6 +524,7 @@ exit 0
|
||||
%{progdir}/application.ini
|
||||
%{progdir}/blocklist.xml
|
||||
%{progdir}/chrome.manifest
|
||||
%{progdir}/dependentlibs.list
|
||||
%{progdir}/distribution/
|
||||
%{progdir}/*.so
|
||||
%{progdir}/mozilla-xremote-client
|
||||
@ -543,6 +544,7 @@ exit 0
|
||||
%{progdir}/chrome/icons/
|
||||
%dir %{progdir}/dictionaries/
|
||||
%{progdir}/defaults/
|
||||
%{progdir}/jssubloader/
|
||||
%dir %{progdir}/extensions/
|
||||
%{progdir}/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}
|
||||
%{progdir}/isp/
|
||||
|
@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:8d3638287e651173ce4b9365d8ed67a43c38d1333fddb2071341f4d77bcb95f3
|
||||
size 29348
|
||||
oid sha256:1490b9832f2b6b63cf2aa5235b49bc9b3eabe3dbbec4ac01ee7758dee8a8f91e
|
||||
size 29327
|
||||
|
@ -2,8 +2,8 @@
|
||||
|
||||
CHANNEL="release"
|
||||
BRANCH="releases/comm-$CHANNEL"
|
||||
RELEASE_TAG="THUNDERBIRD_12_0_1_RELEASE"
|
||||
VERSION="12.0.1"
|
||||
RELEASE_TAG="THUNDERBIRD_13_0_RELEASE"
|
||||
VERSION="13.0"
|
||||
|
||||
echo "cloning $BRANCH..."
|
||||
hg clone http://hg.mozilla.org/$BRANCH thunderbird
|
||||
|
@ -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
3
enigmail-1.4.2.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:df463620f47a30d2a0e1634793b41a285e1a2c861b024e1a57c9d91cf6bf3581
|
||||
size 1319995
|
@ -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
3
l10n-13.0.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:40945d549843e9635648a7c1875c1cf69d50c080774492a8ed308e1fc32359c1
|
||||
size 25854132
|
@ -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(),
|
@ -1,78 +1,9 @@
|
||||
# HG changeset patch
|
||||
# Parent 93e5d3b8061741abc83dcd4ed0fe93f1636583ef
|
||||
# Parent 7bc8f0e5bed8cb2212e27228e628861737256459
|
||||
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 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
|
||||
--- a/layout/base/tests/TestPoisonArea.cpp
|
||||
+++ b/layout/base/tests/TestPoisonArea.cpp
|
||||
|
@ -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
|
||||
--- a/modules/libpref/src/Preferences.cpp
|
||||
+++ b/modules/libpref/src/Preferences.cpp
|
||||
@@ -56,16 +56,17 @@
|
||||
@@ -57,16 +57,17 @@
|
||||
#include "nsIStringEnumerator.h"
|
||||
#include "nsIZipReader.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 "prefread.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)
|
||||
{
|
||||
nsresult 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
|
||||
+ 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,
|
||||
NS_GET_IID(nsISimpleEnumerator),
|
||||
getter_AddRefs(dirList));
|
||||
if (dirList) {
|
||||
bool hasMore;
|
||||
while (NS_SUCCEEDED(dirList->HasMoreElements(&hasMore)) && hasMore) {
|
||||
nsCOMPtr<nsISupports> elem;
|
||||
dirList->GetNext(getter_AddRefs(elem));
|
||||
if (elem) {
|
||||
nsCOMPtr<nsIFile> dir = do_QueryInterface(elem);
|
||||
if (dir) {
|
||||
// Do we care if a file provided by this process fails to load?
|
||||
- pref_LoadPrefsInDir(dir, nsnull, 0);
|
||||
+ pref_LoadPrefsInDir(dir, specialFiles, NS_ARRAY_LENGTH(specialFiles));
|
||||
}
|
||||
}
|
||||
}
|
||||
getter_AddRefs(list));
|
||||
if (!list)
|
||||
return NS_OK;
|
||||
|
||||
bool hasMore;
|
||||
@@ -962,17 +981,17 @@ static nsresult pref_LoadPrefsInDirList(
|
||||
|
||||
nsCAutoString leaf;
|
||||
path->GetNativeLeafName(leaf);
|
||||
|
||||
// Do we care if a file provided by this process fails to load?
|
||||
if (Substring(leaf, leaf.Length() - 4).Equals(NS_LITERAL_CSTRING(".xpi")))
|
||||
ReadExtensionPrefs(path);
|
||||
else
|
||||
- pref_LoadPrefsInDir(path, nsnull, 0);
|
||||
+ pref_LoadPrefsInDir(path, specialFiles, NS_ARRAY_LENGTH(specialFiles));
|
||||
}
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
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 */
|
||||
static const char* specialFiles[] = {
|
||||
#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
|
||||
--- a/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)
|
||||
endif
|
||||
|
||||
ifdef ENABLE_TESTS
|
||||
DIRS += test
|
||||
endif
|
||||
TEST_DIRS += test
|
||||
|
||||
include $(topsrcdir)/config/rules.mk
|
||||
+
|
||||
+LOCAL_INCLUDES += -I$(topsrcdir)/toolkit/xre
|
||||
+
|
||||
diff --git a/toolkit/components/downloads/nsDownloadManager.cpp b/toolkit/components/downloads/nsDownloadManager.cpp
|
||||
--- a/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"
|
||||
#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));
|
||||
|
||||
// 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;
|
||||
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
|
||||
// retention policy, there's no reason to make the text clickable
|
||||
// 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
|
||||
--- a/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/bindings/autocomplete.xml (widgets/autocomplete.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
|
||||
--- a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
|
||||
+++ b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
|
||||
@@ -45,16 +45,18 @@
|
||||
#include "nsReadableUtils.h"
|
||||
@@ -46,16 +46,18 @@
|
||||
#include "nsArrayUtils.h"
|
||||
#include "prnetdb.h"
|
||||
#include "prenv.h"
|
||||
@ -2101,6 +2105,7 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy
|
||||
#include "nsNetUtil.h"
|
||||
#include "nsISupportsPrimitives.h"
|
||||
#include "nsIGSettingsService.h"
|
||||
#include "nsInterfaceHashtable.h"
|
||||
+#include "nsVoidArray.h"
|
||||
+#include "nsKDEUtils.h"
|
||||
|
||||
@ -2111,10 +2116,10 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy
|
||||
|
||||
nsUnixSystemProxySettings() {}
|
||||
nsresult Init();
|
||||
@@ -64,16 +66,17 @@ private:
|
||||
|
||||
nsCOMPtr<nsIGConfService> mGConf;
|
||||
@@ -67,16 +69,17 @@ private:
|
||||
nsCOMPtr<nsIGSettingsService> mGSettings;
|
||||
nsCOMPtr<nsIGSettingsCollection> mProxySettings;
|
||||
nsInterfaceHashtable<nsCStringHashKey, nsIGSettingsCollection> mSchemeProxySettings;
|
||||
bool IsProxyMode(const char* aMode);
|
||||
nsresult SetProxyResultFromGConf(const char* aKeyBase, const char* aType, 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()
|
||||
{
|
||||
// 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;
|
||||
rv = aURI->GetHost(host);
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
@ -2141,7 +2146,7 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy
|
||||
+ if( nsKDEUtils::kdeSupport())
|
||||
+ return GetProxyFromKDE(scheme, host, port, aResult);
|
||||
+
|
||||
if (mGSettings) {
|
||||
if (mProxySettings) {
|
||||
rv = GetProxyFromGSettings(scheme, host, port, aResult);
|
||||
if (rv == NS_OK)
|
||||
return rv;
|
||||
@ -2149,7 +2154,7 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy
|
||||
if (mGConf)
|
||||
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 = {
|
||||
mozilla::Module::kVersion,
|
||||
@ -2673,7 +2678,7 @@ new file mode 100644
|
||||
diff --git a/uriloader/exthandler/Makefile.in b/uriloader/exthandler/Makefile.in
|
||||
--- a/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 \
|
||||
-I$(topsrcdir)/dom/ipc \
|
||||
-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
|
||||
--- a/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 += \
|
||||
-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
|
||||
--- a/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.
|
||||
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
|
||||
--- a/xpcom/components/ManifestParser.cpp
|
||||
+++ b/xpcom/components/ManifestParser.cpp
|
||||
@@ -62,16 +62,17 @@
|
||||
@@ -63,16 +63,17 @@
|
||||
#include "nsTextFormatter.h"
|
||||
#include "nsVersionComparator.h"
|
||||
#include "nsXPCOMCIDInternal.h"
|
||||
@ -3637,7 +3642,7 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
|
||||
const char* directive;
|
||||
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(kContentAccessible, "contentaccessible");
|
||||
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");
|
||||
|
||||
nsAutoString appID;
|
||||
@@ -476,41 +478,46 @@ ParseManifest(NSLocationType type, FileL
|
||||
@@ -477,41 +479,46 @@ ParseManifest(NSLocationType type, FileL
|
||||
CopyUTF8toUTF16(s, abi);
|
||||
abi.Insert(PRUnichar('_'), 0);
|
||||
abi.Insert(osTarget, 0);
|
||||
@ -3702,7 +3707,7 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
|
||||
|
||||
char *token;
|
||||
char *newline = buf;
|
||||
@@ -592,24 +599,26 @@ ParseManifest(NSLocationType type, FileL
|
||||
@@ -593,24 +600,26 @@ ParseManifest(NSLocationType type, FileL
|
||||
TriState stOsVersion = eUnspecified;
|
||||
TriState stOs = eUnspecified;
|
||||
TriState stABI = eUnspecified;
|
||||
@ -3729,7 +3734,7 @@ diff --git a/xpcom/components/ManifestParser.cpp b/xpcom/components/ManifestPars
|
||||
#if defined(MOZ_WIDGET_ANDROID)
|
||||
bool tablet = false;
|
||||
if (CheckFlag(kTablet, wtoken, tablet)) {
|
||||
@@ -638,16 +647,17 @@ ParseManifest(NSLocationType type, FileL
|
||||
@@ -639,16 +648,17 @@ ParseManifest(NSLocationType type, FileL
|
||||
}
|
||||
|
||||
if (!ok ||
|
||||
@ -3790,7 +3795,7 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
|
||||
#include "prmem.h"
|
||||
#include "plbase64.h"
|
||||
|
||||
@@ -1795,44 +1796,51 @@ nsLocalFile::SetPersistentDescriptor(con
|
||||
@@ -1796,44 +1797,51 @@ nsLocalFile::SetPersistentDescriptor(con
|
||||
return InitWithNativePath(aPersistentDescriptor);
|
||||
#endif
|
||||
}
|
||||
@ -3856,7 +3861,7 @@ diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
|
||||
return rv;
|
||||
}
|
||||
return NS_ERROR_FAILURE;
|
||||
@@ -1858,16 +1866,23 @@ nsLocalFile::Launch()
|
||||
@@ -1859,16 +1867,23 @@ nsLocalFile::Launch()
|
||||
|
||||
if (nsnull == connection)
|
||||
return NS_ERROR_FAILURE;
|
||||
|
@ -9,7 +9,7 @@ retrieving revision 1.1
|
||||
diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
|
||||
--- a/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);
|
||||
};
|
||||
|
||||
@ -18,21 +18,29 @@ diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/sy
|
||||
nsresult
|
||||
nsUnixSystemProxySettings::Init()
|
||||
{
|
||||
- mSchemeProxySettings.Init(5);
|
||||
- mGConf = do_GetService(NS_GCONFSERVICE_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 gconf is not available (which would be stupid) we'll proceed as if
|
||||
+ // this was not a GNOME session, using *_PROXY environment variables.
|
||||
+ const char* sessionType = PR_GetEnv("DESKTOP_SESSION");
|
||||
+ if (sessionType && !strcmp(sessionType, "gnome")) {
|
||||
+ mSchemeProxySettings.Init(5);
|
||||
+ mGConf = do_GetService(NS_GCONFSERVICE_CONTRACTID);
|
||||
+ mGSettings = do_GetService(NS_GSETTINGSSERVICE_CONTRACTID);
|
||||
+ }
|
||||
+ if (mGSettings) {
|
||||
+ mGSettings->GetCollectionForSchema(NS_LITERAL_CSTRING("org.gnome.system.proxy"),
|
||||
+ getter_AddRefs(mProxySettings));
|
||||
+ }
|
||||
}
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
bool
|
||||
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
27
mozilla-system-nspr.patch
Normal 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;
|
@ -1,8 +1,12 @@
|
||||
diff --git a/config/autoconf.mk.in b/config/autoconf.mk.in
|
||||
index bea1ca3..2de10c0 100644
|
||||
--- a/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@
|
||||
exec_prefix = @exec_prefix@
|
||||
bindir = @bindir@
|
||||
@ -16,3 +20,8 @@ index bea1ca3..2de10c0 100644
|
||||
|
||||
installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
|
||||
sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION)
|
||||
|
||||
MOZDEPTH = $(DEPTH)/mozilla
|
||||
DIST = $(MOZDEPTH)/dist
|
||||
LIBXUL_SDK = @LIBXUL_SDK@
|
||||
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:573acd29f9f514bafa0a5daa0df39e62a82b3ebb573c7091693eacdcaf7fd234
|
||||
size 101196652
|
3
thunderbird-13.0-source.tar.bz2
Normal file
3
thunderbird-13.0-source.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d6c5886a67eaf004d15c3f4d1cb6eab884ffdfb1f61ce0407c90aca5f72780c5
|
||||
size 102514177
|
@ -7,7 +7,7 @@ References:
|
||||
diff --git a/config/autoconf.mk.in b/config/autoconf.mk.in
|
||||
--- a/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@
|
||||
|
||||
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
|
||||
--- a/configure.in
|
||||
+++ b/configure.in
|
||||
@@ -6680,16 +6680,31 @@ AC_SUBST(QCMS_LIBS)
|
||||
@@ -6586,16 +6586,31 @@ AC_SUBST(QCMS_LIBS)
|
||||
|
||||
dnl ========================================================
|
||||
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
|
||||
--- a/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))
|
||||
TK_LIBS := -framework Cocoa $(TK_LIBS)
|
||||
endif
|
||||
DEFINES += -DXPCOM_GLUE
|
||||
STL_FLAGS=
|
||||
|
||||
LIBS += \
|
||||
$(EXTRA_DSO_LIBS) \
|
||||
@ -78,9 +78,9 @@ diff --git a/mail/app/Makefile.in b/mail/app/Makefile.in
|
||||
+ $(NSSHELPER_LIBS) \
|
||||
$(NULL)
|
||||
|
||||
ifdef MOZ_JPROF
|
||||
LIBS += -ljprof
|
||||
ifdef MOZ_LINKER
|
||||
LIBS += $(ZLIB_LIBS)
|
||||
endif
|
||||
|
||||
ifdef MOZ_ENABLE_DBUS
|
||||
LIBS += $(MOZ_DBUS_GLIB_LIBS)
|
||||
ifndef MOZ_WINCONSOLE
|
||||
ifdef MOZ_DEBUG
|
||||
|
Loading…
Reference in New Issue
Block a user