forked from pool/MozillaThunderbird
Accepting request 114916 from mozilla:Factory
- update to Thunderbird 12.0 (bnc#758408) - 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/request/show/114916 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/MozillaThunderbird?expand=0&rev=98
This commit is contained in:
@@ -1,3 +1,15 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Apr 21 07:39:28 UTC 2012 - wr@rosenauer.org
|
||||||
|
|
||||||
|
- update to Thunderbird 12.0 (bnc#758408)
|
||||||
|
- 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)
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Mar 27 22:17:05 UTC 2012 - wr@rosenauer.org
|
Tue Mar 27 22:17:05 UTC 2012 - wr@rosenauer.org
|
||||||
|
|
||||||
|
@@ -40,10 +40,11 @@ BuildRequires: update-desktop-files
|
|||||||
BuildRequires: xorg-x11-libXt-devel
|
BuildRequires: xorg-x11-libXt-devel
|
||||||
BuildRequires: yasm
|
BuildRequires: yasm
|
||||||
BuildRequires: zip
|
BuildRequires: zip
|
||||||
%define mainversion 11.0.1
|
%define mainversion 12.0
|
||||||
|
%define update_channel release
|
||||||
Version: %{mainversion}
|
Version: %{mainversion}
|
||||||
Release: 0
|
Release: 0
|
||||||
%define releasedate 2012032800
|
%define releasedate 2012042100
|
||||||
Provides: thunderbird = %{version}
|
Provides: thunderbird = %{version}
|
||||||
%if %{with_kde}
|
%if %{with_kde}
|
||||||
# this is needed to match this package with the kde4 helper package without the main package
|
# this is needed to match this package with the kde4 helper package without the main package
|
||||||
@@ -64,7 +65,7 @@ Source4: l10n-%{version}.tar.bz2
|
|||||||
Source6: suse-default-prefs.js
|
Source6: suse-default-prefs.js
|
||||||
Source7: find-external-requires.sh
|
Source7: find-external-requires.sh
|
||||||
Source8: thunderbird-rpmlintrc
|
Source8: thunderbird-rpmlintrc
|
||||||
Source9: enigmail-1.4.tar.gz
|
Source9: enigmail-1.4.1.tar.gz
|
||||||
Source10: create-tar.sh
|
Source10: create-tar.sh
|
||||||
Source11: compare-locales.tar.bz2
|
Source11: compare-locales.tar.bz2
|
||||||
Source12: kde.js
|
Source12: kde.js
|
||||||
@@ -76,12 +77,18 @@ Patch4: mozilla-dump_syms-static.patch
|
|||||||
Patch5: mozilla-disable-neon-option.patch
|
Patch5: mozilla-disable-neon-option.patch
|
||||||
Patch6: mozilla-nongnome-proxies.patch
|
Patch6: mozilla-nongnome-proxies.patch
|
||||||
Patch7: mozilla-kde.patch
|
Patch7: mozilla-kde.patch
|
||||||
|
Patch8: mozilla-libnotify.patch
|
||||||
|
Patch9: mozilla-revert_621446.patch
|
||||||
|
Patch10: mozilla-gcc47.patch
|
||||||
# Thunderbird/mail
|
# Thunderbird/mail
|
||||||
Patch10: tb-ssldap.patch
|
Patch20: tb-ssldap.patch
|
||||||
Patch11: tb-develdirs.patch
|
Patch21: tb-develdirs.patch
|
||||||
Patch12: thunderbird-shared-nss-db.patch
|
Patch22: thunderbird-shared-nss-db.patch
|
||||||
|
Patch23: mailnews-showalert.patch
|
||||||
|
Patch24: mailnews-literals.patch
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
PreReq: coreutils fileutils textutils /bin/sh
|
PreReq: coreutils fileutils textutils /bin/sh
|
||||||
|
Recommends: libcanberra0
|
||||||
### build options
|
### build options
|
||||||
%define build_enigmail 1
|
%define build_enigmail 1
|
||||||
%ifnarch ppc ppc64
|
%ifnarch ppc ppc64
|
||||||
@@ -89,6 +96,10 @@ PreReq: coreutils fileutils textutils /bin/sh
|
|||||||
%else
|
%else
|
||||||
%define crashreporter 0
|
%define crashreporter 0
|
||||||
%endif
|
%endif
|
||||||
|
# temporary (gcc 4.7)
|
||||||
|
%if %suse_version > 1210
|
||||||
|
%define crashreporter 0
|
||||||
|
%endif
|
||||||
%define has_system_cairo 0
|
%define has_system_cairo 0
|
||||||
%define localize 1
|
%define localize 1
|
||||||
### build options end
|
### build options end
|
||||||
@@ -168,7 +179,7 @@ symbols meant for upload to Mozilla's crash collector database.
|
|||||||
|
|
||||||
%if %build_enigmail
|
%if %build_enigmail
|
||||||
%package -n enigmail
|
%package -n enigmail
|
||||||
Version: 1.4.0+%{mainversion}
|
Version: 1.4.1+%{mainversion}
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: OpenPGP addon for Thunderbird and SeaMonkey
|
Summary: OpenPGP addon for Thunderbird and SeaMonkey
|
||||||
License: MPL-1.1 or GPL-2.0+
|
License: MPL-1.1 or GPL-2.0+
|
||||||
@@ -203,11 +214,16 @@ pushd mozilla
|
|||||||
%if %{with_kde}
|
%if %{with_kde}
|
||||||
%patch7 -p1
|
%patch7 -p1
|
||||||
%endif
|
%endif
|
||||||
|
%patch8 -p1
|
||||||
|
%patch9 -p1
|
||||||
|
%patch10 -p1
|
||||||
popd
|
popd
|
||||||
# comm-central patches
|
# comm-central patches
|
||||||
%patch10 -p1
|
%patch20 -p1
|
||||||
%patch11 -p1
|
%patch21 -p1
|
||||||
%patch12 -p1
|
%patch22 -p1
|
||||||
|
%patch23 -p1
|
||||||
|
%patch24 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
# no need to add build time to binaries
|
# 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-startup-notification
|
||||||
ac_add_options --enable-official-branding
|
ac_add_options --enable-official-branding
|
||||||
ac_add_options --disable-necko-wifi
|
ac_add_options --disable-necko-wifi
|
||||||
|
ac_add_options --enable-update-channel=%{update_channel}
|
||||||
EOF
|
EOF
|
||||||
%if %suse_version > 1130
|
%if %suse_version > 1130
|
||||||
cat << EOF >> $MOZCONFIG
|
cat << EOF >> $MOZCONFIG
|
||||||
@@ -511,7 +528,7 @@ exit 0
|
|||||||
%{progdir}/application.ini
|
%{progdir}/application.ini
|
||||||
%{progdir}/blocklist.xml
|
%{progdir}/blocklist.xml
|
||||||
%{progdir}/chrome.manifest
|
%{progdir}/chrome.manifest
|
||||||
#%{progdir}/distribution/
|
%{progdir}/distribution/
|
||||||
%{progdir}/*.so
|
%{progdir}/*.so
|
||||||
%{progdir}/mozilla-xremote-client
|
%{progdir}/mozilla-xremote-client
|
||||||
%{progdir}/omni.ja
|
%{progdir}/omni.ja
|
||||||
|
@@ -1,3 +1,3 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:808e6968dfcb6ccaf84035591b94fac77042e146e6303f27ce32920188bdb5ff
|
oid sha256:1cf4361be7ffc69552e513101e6abf5b419e1c1966edc70f83a7221c5a79c3aa
|
||||||
size 29354
|
size 29329
|
||||||
|
@@ -2,8 +2,8 @@
|
|||||||
|
|
||||||
CHANNEL="release"
|
CHANNEL="release"
|
||||||
BRANCH="releases/comm-$CHANNEL"
|
BRANCH="releases/comm-$CHANNEL"
|
||||||
RELEASE_TAG="THUNDERBIRD_11_0_1_RELEASE"
|
RELEASE_TAG="THUNDERBIRD_12_0_RELEASE"
|
||||||
VERSION="11.0.1"
|
VERSION="12.0"
|
||||||
|
|
||||||
echo "cloning $BRANCH..."
|
echo "cloning $BRANCH..."
|
||||||
hg clone http://hg.mozilla.org/$BRANCH thunderbird
|
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-12.0.tar.bz2
Normal file
3
l10n-12.0.tar.bz2
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:12a22326fc4fd28cce0ae056959548cbc40c3cf4489524f68acf73921a8edb08
|
||||||
|
size 25501576
|
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
|
#endif
|
||||||
|
|
||||||
// Now look up our extensions
|
// Now look up our extensions
|
||||||
diff --git 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/src/gtk2/Makefile.in
|
--- a/widget/gtk2/Makefile.in
|
||||||
+++ b/widget/src/gtk2/Makefile.in
|
+++ b/widget/gtk2/Makefile.in
|
||||||
@@ -135,11 +135,14 @@ DEFINES += -DCAIRO_GFX
|
@@ -135,11 +135,14 @@ DEFINES += -DCAIRO_GFX
|
||||||
|
|
||||||
INCLUDES += \
|
INCLUDES += \
|
||||||
@@ -3265,9 +3265,9 @@ diff --git a/widget/src/gtk2/Makefile.in b/widget/src/gtk2/Makefile.in
|
|||||||
ifdef MOZ_X11
|
ifdef MOZ_X11
|
||||||
INCLUDES += -I$(srcdir)/../shared/x11
|
INCLUDES += -I$(srcdir)/../shared/x11
|
||||||
endif
|
endif
|
||||||
diff --git 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/src/gtk2/nsFilePicker.cpp
|
--- a/widget/gtk2/nsFilePicker.cpp
|
||||||
+++ b/widget/src/gtk2/nsFilePicker.cpp
|
+++ b/widget/gtk2/nsFilePicker.cpp
|
||||||
@@ -33,16 +33,17 @@
|
@@ -33,16 +33,17 @@
|
||||||
* the provisions above, a recipient may use your version of this file under
|
* 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.
|
* 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;
|
+ return NS_OK;
|
||||||
+ }
|
+ }
|
||||||
diff --git 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/src/gtk2/nsFilePicker.h
|
--- a/widget/gtk2/nsFilePicker.h
|
||||||
+++ b/widget/src/gtk2/nsFilePicker.h
|
+++ b/widget/gtk2/nsFilePicker.h
|
||||||
@@ -89,11 +89,17 @@ protected:
|
@@ -89,11 +89,17 @@ protected:
|
||||||
nsString mDefault;
|
nsString mDefault;
|
||||||
nsString mDefaultExtension;
|
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,12 +1,8 @@
|
|||||||
diff --git a/config/autoconf.mk.in b/config/autoconf.mk.in
|
diff --git a/config/autoconf.mk.in b/config/autoconf.mk.in
|
||||||
|
index bea1ca3..2de10c0 100644
|
||||||
--- a/config/autoconf.mk.in
|
--- a/config/autoconf.mk.in
|
||||||
+++ b/config/autoconf.mk.in
|
+++ b/config/autoconf.mk.in
|
||||||
@@ -55,21 +55,21 @@ MOZ_APP_DISPLAYNAME = @MOZ_APP_DISPLAYNA
|
@@ -61,11 +61,11 @@ MOZ_PKG_SPECIAL = @MOZ_PKG_SPECIAL@
|
||||||
MOZ_APP_VERSION = @MOZ_APP_VERSION@
|
|
||||||
MOZ_MACBUNDLE_NAME= @MOZ_MACBUNDLE_NAME@
|
|
||||||
|
|
||||||
MOZ_PKG_SPECIAL = @MOZ_PKG_SPECIAL@
|
|
||||||
|
|
||||||
prefix = @prefix@
|
prefix = @prefix@
|
||||||
exec_prefix = @exec_prefix@
|
exec_prefix = @exec_prefix@
|
||||||
bindir = @bindir@
|
bindir = @bindir@
|
||||||
@@ -20,8 +16,3 @@ diff --git a/config/autoconf.mk.in b/config/autoconf.mk.in
|
|||||||
|
|
||||||
installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
|
installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
|
||||||
sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION)
|
sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION)
|
||||||
|
|
||||||
MOZDEPTH = $(DEPTH)/mozilla
|
|
||||||
DIST = $(MOZDEPTH)/dist
|
|
||||||
LIBXUL_SDK = @LIBXUL_SDK@
|
|
||||||
|
|
||||||
|
@@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:d386e2029606a9c19b0b6cf78b315fdb0d5b618d71df1e59aff1c30deff85212
|
|
||||||
size 101419415
|
|
3
thunderbird-12.0-source.tar.bz2
Normal file
3
thunderbird-12.0-source.tar.bz2
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:0aae8543214b555a408de564014266d0cffbbb61fd927026af489966bed7ae34
|
||||||
|
size 101199838
|
Reference in New Issue
Block a user