forked from pool/MozillaThunderbird
- update to Thunderbird 12.0b5
- update Enigmail to 1.4.1 - added mozilla-revert_621446.patch - added mozilla-libnotify.patch (bmo#737646) - added mailnew-showalert.patch (bmo#739146) - added mozilla-gcc47.patch and mailnews-literals.patch to fix compilation issues with recent gcc 4.7 - disabled crashreporter temporarily for Factory (gcc 4.7 issue) OBS-URL: https://build.opensuse.org/package/show/mozilla:Factory/MozillaThunderbird?expand=0&rev=166
This commit is contained in:
parent
4609272b41
commit
2b3fd56291
@ -1,10 +1,14 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Mar 27 22:17:05 UTC 2012 - wr@rosenauer.org
|
||||
Fri Apr 20 20:56:44 UTC 2012 - wr@rosenauer.org
|
||||
|
||||
- update to Thunderbird 11.0.1 (bnc#755060)
|
||||
* Fixing an issue where filters can get messed up (bmo#735940)
|
||||
* Fixes a hang when switching IMAP folders, or doing other
|
||||
imap functions (bmo#733731)
|
||||
- update to Thunderbird 12.0b5
|
||||
- update Enigmail to 1.4.1
|
||||
- added mozilla-revert_621446.patch
|
||||
- added mozilla-libnotify.patch (bmo#737646)
|
||||
- added mailnew-showalert.patch (bmo#739146)
|
||||
- added mozilla-gcc47.patch and mailnews-literals.patch to fix
|
||||
compilation issues with recent gcc 4.7
|
||||
- disabled crashreporter temporarily for Factory (gcc 4.7 issue)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Mar 9 20:42:21 UTC 2012 - wr@rosenauer.org
|
||||
|
@ -40,10 +40,11 @@ BuildRequires: update-desktop-files
|
||||
BuildRequires: xorg-x11-libXt-devel
|
||||
BuildRequires: yasm
|
||||
BuildRequires: zip
|
||||
%define mainversion 11.0.1
|
||||
%define mainversion 11.99
|
||||
%define update_channel beta
|
||||
Version: %{mainversion}
|
||||
Release: 0
|
||||
%define releasedate 2012032800
|
||||
%define releasedate 2012042000
|
||||
Provides: thunderbird = %{version}
|
||||
%if %{with_kde}
|
||||
# this is needed to match this package with the kde4 helper package without the main package
|
||||
@ -64,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.tar.gz
|
||||
Source9: enigmail-1.4.1.tar.gz
|
||||
Source10: create-tar.sh
|
||||
Source11: compare-locales.tar.bz2
|
||||
Source12: kde.js
|
||||
@ -76,12 +77,18 @@ Patch4: mozilla-dump_syms-static.patch
|
||||
Patch5: mozilla-disable-neon-option.patch
|
||||
Patch6: mozilla-nongnome-proxies.patch
|
||||
Patch7: mozilla-kde.patch
|
||||
Patch8: mozilla-libnotify.patch
|
||||
Patch9: mozilla-revert_621446.patch
|
||||
Patch10: mozilla-gcc47.patch
|
||||
# Thunderbird/mail
|
||||
Patch10: tb-ssldap.patch
|
||||
Patch11: tb-develdirs.patch
|
||||
Patch12: thunderbird-shared-nss-db.patch
|
||||
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
|
||||
@ -89,6 +96,10 @@ PreReq: coreutils fileutils textutils /bin/sh
|
||||
%else
|
||||
%define crashreporter 0
|
||||
%endif
|
||||
# temporary (gcc 4.7)
|
||||
%if %suse_version > 1210
|
||||
%define crashreporter 0
|
||||
%endif
|
||||
%define has_system_cairo 0
|
||||
%define localize 1
|
||||
### build options end
|
||||
@ -168,7 +179,7 @@ symbols meant for upload to Mozilla's crash collector database.
|
||||
|
||||
%if %build_enigmail
|
||||
%package -n enigmail
|
||||
Version: 1.4.0+%{mainversion}
|
||||
Version: 1.4.1+%{mainversion}
|
||||
Release: 0
|
||||
Summary: OpenPGP addon for Thunderbird and SeaMonkey
|
||||
License: MPL-1.1 or GPL-2.0+
|
||||
@ -203,11 +214,16 @@ pushd mozilla
|
||||
%if %{with_kde}
|
||||
%patch7 -p1
|
||||
%endif
|
||||
%patch8 -p1
|
||||
%patch9 -p1
|
||||
%patch10 -p1
|
||||
popd
|
||||
# comm-central patches
|
||||
%patch10 -p1
|
||||
%patch11 -p1
|
||||
%patch12 -p1
|
||||
%patch20 -p1
|
||||
%patch21 -p1
|
||||
%patch22 -p1
|
||||
%patch23 -p1
|
||||
%patch24 -p1
|
||||
|
||||
%build
|
||||
# no need to add build time to binaries
|
||||
@ -260,6 +276,7 @@ ac_add_options --disable-mochitest
|
||||
ac_add_options --enable-startup-notification
|
||||
ac_add_options --enable-official-branding
|
||||
ac_add_options --disable-necko-wifi
|
||||
ac_add_options --enable-update-channel=%{update_channel}
|
||||
EOF
|
||||
%if %suse_version > 1130
|
||||
cat << EOF >> $MOZCONFIG
|
||||
@ -511,7 +528,7 @@ exit 0
|
||||
%{progdir}/application.ini
|
||||
%{progdir}/blocklist.xml
|
||||
%{progdir}/chrome.manifest
|
||||
#%{progdir}/distribution/
|
||||
%{progdir}/distribution/
|
||||
%{progdir}/*.so
|
||||
%{progdir}/mozilla-xremote-client
|
||||
%{progdir}/omni.ja
|
||||
|
@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:808e6968dfcb6ccaf84035591b94fac77042e146e6303f27ce32920188bdb5ff
|
||||
size 29354
|
||||
oid sha256:bb7f49efb57d8a8f962121435b1c656234e8c88c842d43baf9ee10f4b7e96074
|
||||
size 29368
|
||||
|
@ -1,9 +1,9 @@
|
||||
#!/bin/bash
|
||||
|
||||
CHANNEL="release"
|
||||
CHANNEL="beta"
|
||||
BRANCH="releases/comm-$CHANNEL"
|
||||
RELEASE_TAG="THUNDERBIRD_11_0_1_RELEASE"
|
||||
VERSION="11.0.1"
|
||||
RELEASE_TAG="THUNDERBIRD_12_0b5_RELEASE"
|
||||
VERSION="11.99"
|
||||
|
||||
echo "cloning $BRANCH..."
|
||||
hg clone http://hg.mozilla.org/$BRANCH thunderbird
|
||||
|
3
enigmail-1.4.1.tar.gz
Normal file
3
enigmail-1.4.1.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:100bc7f9ac6bca03e4507df25c5b29d6a39d0904c46301cc7def3676779d720b
|
||||
size 1344516
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:c63990dad45d6bce3e691f75aa226a203f6fbbc2397415df72b289230e2c982a
|
||||
size 1323467
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:06abcf1fa3c03885527a711f862fb54251dc58d0a8a14f8675d0a7ff9df8ef13
|
||||
size 25446245
|
3
l10n-11.99.tar.bz2
Normal file
3
l10n-11.99.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a8a764f6554df5bebc7a792d2df4b3975fe2a02b2ecbba28c9b5b9444b55197b
|
||||
size 25317815
|
581
mailnews-literals.patch
Normal file
581
mailnews-literals.patch
Normal file
@ -0,0 +1,581 @@
|
||||
# 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)
|
||||
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(),
|
89
mailnews-showalert.patch
Normal file
89
mailnews-showalert.patch
Normal file
@ -0,0 +1,89 @@
|
||||
# HG changeset patch
|
||||
# Parent 7aff84f58a8fd64d2bf34fe386e97f173f2562f3
|
||||
|
||||
diff --git a/mailnews/base/src/nsMessengerUnixIntegration.cpp b/mailnews/base/src/nsMessengerUnixIntegration.cpp
|
||||
--- a/mailnews/base/src/nsMessengerUnixIntegration.cpp
|
||||
+++ b/mailnews/base/src/nsMessengerUnixIntegration.cpp
|
||||
@@ -378,47 +378,46 @@ nsresult nsMessengerUnixIntegration::Sho
|
||||
|
||||
nsCOMPtr<nsIPrefBranch> prefBranch(do_GetService(NS_PREFSERVICE_CONTRACTID, &rv));
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
bool showAlert = true;
|
||||
prefBranch->GetBoolPref(SHOW_ALERT_PREF, &showAlert);
|
||||
|
||||
if (showAlert)
|
||||
{
|
||||
+ mAlertInProgress = true;
|
||||
#ifdef MOZ_THUNDERBIRD
|
||||
nsCOMPtr<nsIAlertsService> alertsService(do_GetService(NS_SYSTEMALERTSERVICE_CONTRACTID, &rv));
|
||||
if (NS_SUCCEEDED(rv)) {
|
||||
- mAlertInProgress = true;
|
||||
rv = alertsService->ShowAlertNotification(NS_LITERAL_STRING(NEW_MAIL_ALERT_ICON),
|
||||
aAlertTitle,
|
||||
aAlertText,
|
||||
false,
|
||||
NS_ConvertASCIItoUTF16(aFolderURI),
|
||||
this,
|
||||
EmptyString());
|
||||
if (NS_SUCCEEDED(rv))
|
||||
return rv;
|
||||
}
|
||||
AlertFinished();
|
||||
- ShowNewAlertNotification(false);
|
||||
+ rv = ShowNewAlertNotification(false);
|
||||
|
||||
#else
|
||||
nsCOMPtr<nsIAlertsService> alertsService (do_GetService(NS_ALERTSERVICE_CONTRACTID, &rv));
|
||||
if (NS_SUCCEEDED(rv))
|
||||
{
|
||||
rv = alertsService->ShowAlertNotification(NS_LITERAL_STRING(NEW_MAIL_ALERT_ICON), aAlertTitle,
|
||||
aAlertText, true,
|
||||
NS_ConvertASCIItoUTF16(aFolderURI), this,
|
||||
EmptyString());
|
||||
- mAlertInProgress = true;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
- if (!showAlert || NS_FAILED(rv)) // go straight to showing the system tray icon.
|
||||
+ if (NS_FAILED(rv)) // go straight to showing the system tray icon.
|
||||
AlertFinished();
|
||||
|
||||
return rv;
|
||||
}
|
||||
|
||||
#ifdef MOZ_THUNDERBIRD
|
||||
// Opening Thunderbird's new mail alert notification window for not supporting libnotify
|
||||
// aUserInitiated --> true if we are opening the alert notification in response to a user action
|
||||
@@ -463,28 +462,25 @@ nsresult nsMessengerUnixIntegration::Sho
|
||||
nsCOMPtr<nsISupportsPRBool> scriptableUserInitiated (do_CreateInstance(NS_SUPPORTS_PRBOOL_CONTRACTID, &rv));
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
scriptableUserInitiated->SetData(aUserInitiated);
|
||||
argsArray->AppendElement(scriptableUserInitiated, false);
|
||||
|
||||
nsCOMPtr<nsIWindowWatcher> wwatch(do_GetService(NS_WINDOWWATCHER_CONTRACTID));
|
||||
nsCOMPtr<nsIDOMWindow> newWindow;
|
||||
|
||||
+ mAlertInProgress = true;
|
||||
rv = wwatch->OpenWindow(0, ALERT_CHROME_URL, "_blank",
|
||||
"chrome,dialog=yes,titlebar=no,popup=yes", argsArray,
|
||||
getter_AddRefs(newWindow));
|
||||
|
||||
- mAlertInProgress = true;
|
||||
+ if (NS_FAILED(rv))
|
||||
+ AlertFinished();
|
||||
}
|
||||
|
||||
- // if the user has turned off the mail alert, or openWindow generated an error,
|
||||
- // then go straight to the system tray.
|
||||
- if (!showAlert || NS_FAILED(rv))
|
||||
- AlertFinished();
|
||||
-
|
||||
return rv;
|
||||
}
|
||||
#endif
|
||||
|
||||
nsresult nsMessengerUnixIntegration::AlertFinished()
|
||||
{
|
||||
mAlertInProgress = false;
|
||||
return NS_OK;
|
174
mozilla-gcc47.patch
Normal file
174
mozilla-gcc47.patch
Normal file
@ -0,0 +1,174 @@
|
||||
# HG changeset patch
|
||||
# Parent debab900e37fdd4f8981c06beef6f193a04bd2b7
|
||||
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)
|
||||
|
||||
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
|
||||
@@ -392,53 +392,53 @@ ReservePoisonArea()
|
||||
{
|
||||
if (sizeof(uintptr_t) == 8) {
|
||||
// Use the hardware-inaccessible region.
|
||||
// We have to avoid 64-bit constants and shifts by 32 bits, since this
|
||||
// code is compiled in 32-bit mode, although it is never executed there.
|
||||
uintptr_t result = (((uintptr_t(0x7FFFFFFFu) << 31) << 1 |
|
||||
uintptr_t(0xF0DEAFFFu)) &
|
||||
~uintptr_t(PAGESIZE-1));
|
||||
- printf("INFO | poison area assumed at 0x%.*"PRIxPTR"\n", SIZxPTR, result);
|
||||
+ printf("INFO | poison area assumed at 0x%.*" PRIxPTR "\n", SIZxPTR, result);
|
||||
return result;
|
||||
} else {
|
||||
// First see if we can allocate the preferred poison address from the OS.
|
||||
uintptr_t candidate = (0xF0DEAFFF & ~(PAGESIZE-1));
|
||||
void *result = ReserveRegion(candidate, false);
|
||||
if (result == (void *)candidate) {
|
||||
// success - inaccessible page allocated
|
||||
- printf("INFO | poison area allocated at 0x%.*"PRIxPTR
|
||||
+ printf("INFO | poison area allocated at 0x%.*" PRIxPTR
|
||||
" (preferred addr)\n", SIZxPTR, (uintptr_t)result);
|
||||
return candidate;
|
||||
}
|
||||
|
||||
// That didn't work, so see if the preferred address is within a range
|
||||
// of permanently inacessible memory.
|
||||
if (ProbeRegion(candidate)) {
|
||||
// success - selected page cannot be usable memory
|
||||
if (result != MAP_FAILED)
|
||||
ReleaseRegion(result);
|
||||
- printf("INFO | poison area assumed at 0x%.*"PRIxPTR
|
||||
+ printf("INFO | poison area assumed at 0x%.*" PRIxPTR
|
||||
" (preferred addr)\n", SIZxPTR, candidate);
|
||||
return candidate;
|
||||
}
|
||||
|
||||
// The preferred address is already in use. Did the OS give us a
|
||||
// consolation prize?
|
||||
if (result != MAP_FAILED) {
|
||||
- printf("INFO | poison area allocated at 0x%.*"PRIxPTR
|
||||
+ printf("INFO | poison area allocated at 0x%.*" PRIxPTR
|
||||
" (consolation prize)\n", SIZxPTR, (uintptr_t)result);
|
||||
return (uintptr_t)result;
|
||||
}
|
||||
|
||||
// It didn't, so try to allocate again, without any constraint on
|
||||
// the address.
|
||||
result = ReserveRegion(0, false);
|
||||
if (result != MAP_FAILED) {
|
||||
- printf("INFO | poison area allocated at 0x%.*"PRIxPTR
|
||||
+ printf("INFO | poison area allocated at 0x%.*" PRIxPTR
|
||||
" (fallback)\n", SIZxPTR, (uintptr_t)result);
|
||||
return (uintptr_t)result;
|
||||
}
|
||||
|
||||
printf("ERROR | no usable poison area found\n");
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
@@ -450,17 +450,17 @@ static uintptr_t
|
||||
ReservePositiveControl()
|
||||
{
|
||||
|
||||
void *result = ReserveRegion(0, false);
|
||||
if (result == MAP_FAILED) {
|
||||
printf("ERROR | allocating positive control | %s\n", LastErrMsg());
|
||||
return 0;
|
||||
}
|
||||
- printf("INFO | positive control allocated at 0x%.*"PRIxPTR"\n",
|
||||
+ printf("INFO | positive control allocated at 0x%.*" PRIxPTR "\n",
|
||||
SIZxPTR, (uintptr_t)result);
|
||||
return (uintptr_t)result;
|
||||
}
|
||||
|
||||
/* The "negative control" area confirms that our probe logic does detect a
|
||||
* page that is readable, writable, or executable.
|
||||
*/
|
||||
static uintptr_t
|
||||
@@ -481,17 +481,17 @@ ReserveNegativeControl()
|
||||
// Now mark it executable as well as readable and writable.
|
||||
// (mmap(PROT_EXEC) may fail when applied to anonymous memory.)
|
||||
|
||||
if (MakeRegionExecutable(result)) {
|
||||
printf("ERROR | making negative control executable | %s\n", LastErrMsg());
|
||||
return 0;
|
||||
}
|
||||
|
||||
- printf("INFO | negative control allocated at 0x%.*"PRIxPTR"\n",
|
||||
+ printf("INFO | negative control allocated at 0x%.*" PRIxPTR "\n",
|
||||
SIZxPTR, (uintptr_t)result);
|
||||
return (uintptr_t)result;
|
||||
}
|
||||
|
||||
static void
|
||||
JumpTo(uintptr_t opaddr)
|
||||
{
|
||||
#ifdef __ia64
|
@ -3247,9 +3247,9 @@ diff --git a/uriloader/exthandler/unix/nsOSHelperAppService.cpp b/uriloader/exth
|
||||
#endif
|
||||
|
||||
// Now look up our extensions
|
||||
diff --git a/widget/src/gtk2/Makefile.in b/widget/src/gtk2/Makefile.in
|
||||
--- a/widget/src/gtk2/Makefile.in
|
||||
+++ b/widget/src/gtk2/Makefile.in
|
||||
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
|
||||
|
||||
INCLUDES += \
|
||||
@ -3265,9 +3265,9 @@ diff --git a/widget/src/gtk2/Makefile.in b/widget/src/gtk2/Makefile.in
|
||||
ifdef MOZ_X11
|
||||
INCLUDES += -I$(srcdir)/../shared/x11
|
||||
endif
|
||||
diff --git a/widget/src/gtk2/nsFilePicker.cpp b/widget/src/gtk2/nsFilePicker.cpp
|
||||
--- a/widget/src/gtk2/nsFilePicker.cpp
|
||||
+++ b/widget/src/gtk2/nsFilePicker.cpp
|
||||
diff --git a/widget/gtk2/nsFilePicker.cpp b/widget/gtk2/nsFilePicker.cpp
|
||||
--- a/widget/gtk2/nsFilePicker.cpp
|
||||
+++ b/widget/gtk2/nsFilePicker.cpp
|
||||
@@ -33,16 +33,17 @@
|
||||
* 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.
|
||||
@ -3580,9 +3580,9 @@ diff --git a/widget/src/gtk2/nsFilePicker.cpp b/widget/src/gtk2/nsFilePicker.cpp
|
||||
+ }
|
||||
+ return NS_OK;
|
||||
+ }
|
||||
diff --git a/widget/src/gtk2/nsFilePicker.h b/widget/src/gtk2/nsFilePicker.h
|
||||
--- a/widget/src/gtk2/nsFilePicker.h
|
||||
+++ b/widget/src/gtk2/nsFilePicker.h
|
||||
diff --git a/widget/gtk2/nsFilePicker.h b/widget/gtk2/nsFilePicker.h
|
||||
--- a/widget/gtk2/nsFilePicker.h
|
||||
+++ b/widget/gtk2/nsFilePicker.h
|
||||
@@ -89,11 +89,17 @@ protected:
|
||||
nsString mDefault;
|
||||
nsString mDefaultExtension;
|
||||
|
61
mozilla-libnotify.patch
Normal file
61
mozilla-libnotify.patch
Normal file
@ -0,0 +1,61 @@
|
||||
# HG changeset patch
|
||||
# User Wolfgang Rosenauer <wr@rosenauer.org>
|
||||
# Parent c684863b1eb3bcae92ef24bc2ac511985b1ad7e4
|
||||
Bug 737646 - no biff notification if notification-daemon not running
|
||||
|
||||
diff --git a/toolkit/system/gnome/nsAlertsIconListener.cpp b/toolkit/system/gnome/nsAlertsIconListener.cpp
|
||||
--- a/toolkit/system/gnome/nsAlertsIconListener.cpp
|
||||
+++ b/toolkit/system/gnome/nsAlertsIconListener.cpp
|
||||
@@ -47,16 +47,17 @@
|
||||
#include <gdk/gdk.h>
|
||||
|
||||
// Compatibility macro for <libnotify-0.7
|
||||
#ifndef NOTIFY_CHECK_VERSION
|
||||
#define NOTIFY_CHECK_VERSION(x,y,z) 0
|
||||
#endif
|
||||
|
||||
static bool gHasActions = false;
|
||||
+static bool gHasCaps = false;
|
||||
|
||||
static void notify_action_cb(NotifyNotification *notification,
|
||||
gchar *action, gpointer user_data)
|
||||
{
|
||||
nsAlertsIconListener* alert = static_cast<nsAlertsIconListener*> (user_data);
|
||||
alert->SendCallback();
|
||||
}
|
||||
|
||||
@@ -338,27 +339,34 @@ nsAlertsIconListener::InitAlertAsync(con
|
||||
appShortName.AssignLiteral("Mozilla");
|
||||
}
|
||||
|
||||
if (!notify_init(appShortName.get()))
|
||||
return NS_ERROR_FAILURE;
|
||||
|
||||
GList *server_caps = notify_get_server_caps();
|
||||
if (server_caps) {
|
||||
+ gHasCaps = true;
|
||||
for (GList* cap = server_caps; cap != NULL; cap = cap->next) {
|
||||
if (!strcmp((char*) cap->data, "actions")) {
|
||||
gHasActions = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
g_list_foreach(server_caps, (GFunc)g_free, NULL);
|
||||
g_list_free(server_caps);
|
||||
}
|
||||
}
|
||||
|
||||
+ if (!gHasCaps) {
|
||||
+ // if notify_get_server_caps() failed above we need to assume
|
||||
+ // there is no notification-server to display anything
|
||||
+ return NS_ERROR_FAILURE;
|
||||
+ }
|
||||
+
|
||||
if (!gHasActions && aAlertTextClickable)
|
||||
return NS_ERROR_FAILURE; // No good, fallback to XUL
|
||||
|
||||
nsCOMPtr<nsIObserverService> obsServ =
|
||||
do_GetService("@mozilla.org/observer-service;1");
|
||||
if (obsServ)
|
||||
obsServ->AddObserver(this, "quit-application", true);
|
||||
|
148
mozilla-revert_621446.patch
Normal file
148
mozilla-revert_621446.patch
Normal file
@ -0,0 +1,148 @@
|
||||
# HG changeset patch
|
||||
# Parent 8da41a2cee774ce4d00b9ac1032a495b8bc560a0
|
||||
Revert investigation patch for bmo#621446; as it is useless on desktop and breaks the build for certain compilers
|
||||
|
||||
diff --git a/netwerk/protocol/http/HttpChannelParent.cpp b/netwerk/protocol/http/HttpChannelParent.cpp
|
||||
--- a/netwerk/protocol/http/HttpChannelParent.cpp
|
||||
+++ b/netwerk/protocol/http/HttpChannelParent.cpp
|
||||
@@ -52,29 +52,25 @@
|
||||
#include "nsIBadCertListener2.h"
|
||||
#include "nsICacheEntryDescriptor.h"
|
||||
#include "nsSerializationHelper.h"
|
||||
#include "nsISerializable.h"
|
||||
#include "nsIAssociatedContentSecurity.h"
|
||||
#include "nsIApplicationCacheService.h"
|
||||
#include "nsIOfflineCacheUpdate.h"
|
||||
#include "nsIRedirectChannelRegistrar.h"
|
||||
-#include "prinit.h"
|
||||
|
||||
namespace mozilla {
|
||||
namespace net {
|
||||
|
||||
HttpChannelParent::HttpChannelParent(PBrowserParent* iframeEmbedding)
|
||||
: mIPCClosed(false)
|
||||
, mStoredStatus(0)
|
||||
, mStoredProgress(0)
|
||||
, mStoredProgressMax(0)
|
||||
- , mSentRedirect1Begin(false)
|
||||
- , mSentRedirect1BeginFailed(false)
|
||||
- , mReceivedRedirect2Verify(false)
|
||||
{
|
||||
// Ensure gHttpHandler is initialized: we need the atom table up and running.
|
||||
nsIHttpProtocolHandler* handler;
|
||||
CallGetService(NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX "http", &handler);
|
||||
NS_ASSERTION(handler, "no http handler");
|
||||
|
||||
mTabParent = do_QueryObject(static_cast<TabParent*>(iframeEmbedding));
|
||||
}
|
||||
@@ -326,21 +322,16 @@ HttpChannelParent::RecvUpdateAssociatedC
|
||||
mAssociatedContentSecurity->SetCountSubRequestsHighSecurity(high);
|
||||
mAssociatedContentSecurity->SetCountSubRequestsLowSecurity(low);
|
||||
mAssociatedContentSecurity->SetCountSubRequestsBrokenSecurity(broken);
|
||||
mAssociatedContentSecurity->SetCountSubRequestsNoSecurity(no);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
-// Bug 621446 investigation, we don't want conditional PR_Aborts bellow to be
|
||||
-// merged to a single address.
|
||||
-#pragma warning(disable : 4068)
|
||||
-#pragma GCC optimize ("O0")
|
||||
-
|
||||
bool
|
||||
HttpChannelParent::RecvRedirect2Verify(const nsresult& result,
|
||||
const RequestHeaderTuples& changedHeaders)
|
||||
{
|
||||
if (NS_SUCCEEDED(result)) {
|
||||
nsCOMPtr<nsIHttpChannel> newHttpChannel =
|
||||
do_QueryInterface(mRedirectChannel);
|
||||
|
||||
@@ -348,40 +339,21 @@ HttpChannelParent::RecvRedirect2Verify(c
|
||||
for (PRUint32 i = 0; i < changedHeaders.Length(); i++) {
|
||||
newHttpChannel->SetRequestHeader(changedHeaders[i].mHeader,
|
||||
changedHeaders[i].mValue,
|
||||
changedHeaders[i].mMerge);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
- if (!mRedirectCallback) {
|
||||
- // Bug 621446 investigation (optimization turned off above)
|
||||
- if (mReceivedRedirect2Verify)
|
||||
- NS_RUNTIMEABORT("Duplicate fire");
|
||||
- if (mSentRedirect1BeginFailed)
|
||||
- NS_RUNTIMEABORT("Send to child failed");
|
||||
- if (mSentRedirect1Begin && NS_FAILED(result))
|
||||
- NS_RUNTIMEABORT("Redirect failed");
|
||||
- if (mSentRedirect1Begin && NS_SUCCEEDED(result))
|
||||
- NS_RUNTIMEABORT("Redirect succeeded");
|
||||
- if (!mRedirectChannel)
|
||||
- NS_RUNTIMEABORT("Missing redirect channel");
|
||||
- }
|
||||
-
|
||||
- mReceivedRedirect2Verify = true;
|
||||
-
|
||||
mRedirectCallback->OnRedirectVerifyCallback(result);
|
||||
mRedirectCallback = nsnull;
|
||||
return true;
|
||||
}
|
||||
|
||||
-// Bug 621446 investigation
|
||||
-#pragma GCC reset_options
|
||||
-
|
||||
bool
|
||||
HttpChannelParent::RecvDocumentChannelCleanup()
|
||||
{
|
||||
// From now on only using mAssociatedContentSecurity. Free everything else.
|
||||
mChannel = 0; // Reclaim some memory sooner.
|
||||
mCacheDescriptor = 0; // Else we'll block other channels reading same URI
|
||||
return true;
|
||||
}
|
||||
@@ -583,24 +555,18 @@ HttpChannelParent::StartRedirect(PRUint3
|
||||
|
||||
nsHttpChannel *httpChan = static_cast<nsHttpChannel *>(mChannel.get());
|
||||
nsHttpResponseHead *responseHead = httpChan->GetResponseHead();
|
||||
bool result = SendRedirect1Begin(newChannelId,
|
||||
IPC::URI(newURI),
|
||||
redirectFlags,
|
||||
responseHead ? *responseHead
|
||||
: nsHttpResponseHead());
|
||||
- if (!result) {
|
||||
- // Bug 621446 investigation
|
||||
- mSentRedirect1BeginFailed = true;
|
||||
+ if (!result)
|
||||
return NS_BINDING_ABORTED;
|
||||
- }
|
||||
-
|
||||
- // Bug 621446 investigation
|
||||
- mSentRedirect1Begin = true;
|
||||
|
||||
// Result is handled in RecvRedirect2Verify above
|
||||
|
||||
mRedirectChannel = newChannel;
|
||||
mRedirectCallback = callback;
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
diff --git a/netwerk/protocol/http/HttpChannelParent.h b/netwerk/protocol/http/HttpChannelParent.h
|
||||
--- a/netwerk/protocol/http/HttpChannelParent.h
|
||||
+++ b/netwerk/protocol/http/HttpChannelParent.h
|
||||
@@ -128,18 +128,14 @@ private:
|
||||
nsCOMPtr<nsIChannel> mRedirectChannel;
|
||||
nsCOMPtr<nsIAsyncVerifyRedirectCallback> mRedirectCallback;
|
||||
|
||||
// state for combining OnStatus/OnProgress with OnDataAvailable
|
||||
// into one IPDL call to child.
|
||||
nsresult mStoredStatus;
|
||||
PRUint64 mStoredProgress;
|
||||
PRUint64 mStoredProgressMax;
|
||||
-
|
||||
- bool mSentRedirect1Begin : 1;
|
||||
- bool mSentRedirect1BeginFailed : 1;
|
||||
- bool mReceivedRedirect2Verify : 1;
|
||||
};
|
||||
|
||||
} // namespace net
|
||||
} // namespace mozilla
|
||||
|
||||
#endif // mozilla_net_HttpChannelParent_h
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d386e2029606a9c19b0b6cf78b315fdb0d5b618d71df1e59aff1c30deff85212
|
||||
size 101419415
|
3
thunderbird-11.99-source.tar.bz2
Normal file
3
thunderbird-11.99-source.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:52b501c8ea44d57914d0eab841bbaa0957ee562dd1740d9472dd10d112ca7fb7
|
||||
size 98951594
|
Loading…
Reference in New Issue
Block a user