diff --git a/MozillaThunderbird.changes b/MozillaThunderbird.changes index 5abc413..64f3d1f 100644 --- a/MozillaThunderbird.changes +++ b/MozillaThunderbird.changes @@ -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 diff --git a/MozillaThunderbird.spec b/MozillaThunderbird.spec index cf9ba90..0f9247b 100644 --- a/MozillaThunderbird.spec +++ b/MozillaThunderbird.spec @@ -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 diff --git a/compare-locales.tar.bz2 b/compare-locales.tar.bz2 index c00239c..f8e8cc0 100644 --- a/compare-locales.tar.bz2 +++ b/compare-locales.tar.bz2 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:808e6968dfcb6ccaf84035591b94fac77042e146e6303f27ce32920188bdb5ff -size 29354 +oid sha256:bb7f49efb57d8a8f962121435b1c656234e8c88c842d43baf9ee10f4b7e96074 +size 29368 diff --git a/create-tar.sh b/create-tar.sh index 31d7b3d..341e3b6 100644 --- a/create-tar.sh +++ b/create-tar.sh @@ -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 diff --git a/enigmail-1.4.1.tar.gz b/enigmail-1.4.1.tar.gz new file mode 100644 index 0000000..e202732 --- /dev/null +++ b/enigmail-1.4.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:100bc7f9ac6bca03e4507df25c5b29d6a39d0904c46301cc7def3676779d720b +size 1344516 diff --git a/enigmail-1.4.tar.gz b/enigmail-1.4.tar.gz deleted file mode 100644 index 85a2057..0000000 --- a/enigmail-1.4.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c63990dad45d6bce3e691f75aa226a203f6fbbc2397415df72b289230e2c982a -size 1323467 diff --git a/l10n-11.0.1.tar.bz2 b/l10n-11.0.1.tar.bz2 deleted file mode 100644 index 61c2ada..0000000 --- a/l10n-11.0.1.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:06abcf1fa3c03885527a711f862fb54251dc58d0a8a14f8675d0a7ff9df8ef13 -size 25446245 diff --git a/l10n-11.99.tar.bz2 b/l10n-11.99.tar.bz2 new file mode 100644 index 0000000..69caca8 --- /dev/null +++ b/l10n-11.99.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a8a764f6554df5bebc7a792d2df4b3975fe2a02b2ecbba28c9b5b9444b55197b +size 25317815 diff --git a/mailnews-literals.patch b/mailnews-literals.patch new file mode 100644 index 0000000..1f43474 --- /dev/null +++ b/mailnews-literals.patch @@ -0,0 +1,581 @@ +# HG changeset patch +# User Wolfgang Rosenauer +# 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 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 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 " 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 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 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
 & 
tags and CRLF + PRUint32 newbodylen = bodyLen + 14; + char* newbody = (char *)PR_MALLOC (newbodylen); + if (newbody) + { + *newbody = 0; + PL_strcatn(newbody, newbodylen, "
");
+                 PL_strcatn(newbody, newbodylen, body);
+-                PL_strcatn(newbody, newbodylen, "
"CRLF); ++ PL_strcatn(newbody, newbodylen, "" 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(), diff --git a/mailnews-showalert.patch b/mailnews-showalert.patch new file mode 100644 index 0000000..a8e6ae0 --- /dev/null +++ b/mailnews-showalert.patch @@ -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 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 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 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 scriptableUserInitiated (do_CreateInstance(NS_SUPPORTS_PRBOOL_CONTRACTID, &rv)); + NS_ENSURE_SUCCESS(rv, rv); + scriptableUserInitiated->SetData(aUserInitiated); + argsArray->AppendElement(scriptableUserInitiated, false); + + nsCOMPtr wwatch(do_GetService(NS_WINDOWWATCHER_CONTRACTID)); + nsCOMPtr 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; diff --git a/mozilla-gcc47.patch b/mozilla-gcc47.patch new file mode 100644 index 0000000..90236ee --- /dev/null +++ b/mozilla-gcc47.patch @@ -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 ++#if defined(ANDROID) || defined(OS_POSIX) ++#include ++#endif + + #include + #include + + #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 + #include ++#if defined(ANDROID) || defined(OS_POSIX) ++#include ++#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 + #endif + #include + #ifdef ANDROID + #include + #else + #include + #endif ++#if defined(ANDROID) || defined(OS_POSIX) ++#include ++#endif + + #include + + #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 diff --git a/mozilla-kde.patch b/mozilla-kde.patch index 7d704d5..b3008ee 100644 --- a/mozilla-kde.patch +++ b/mozilla-kde.patch @@ -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; diff --git a/mozilla-libnotify.patch b/mozilla-libnotify.patch new file mode 100644 index 0000000..c5250a4 --- /dev/null +++ b/mozilla-libnotify.patch @@ -0,0 +1,61 @@ +# HG changeset patch +# User Wolfgang Rosenauer +# 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 + + // Compatibility macro for (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 obsServ = + do_GetService("@mozilla.org/observer-service;1"); + if (obsServ) + obsServ->AddObserver(this, "quit-application", true); + diff --git a/mozilla-revert_621446.patch b/mozilla-revert_621446.patch new file mode 100644 index 0000000..f23cbff --- /dev/null +++ b/mozilla-revert_621446.patch @@ -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(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 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(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 mRedirectChannel; + nsCOMPtr 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 diff --git a/thunderbird-11.0.1-source.tar.bz2 b/thunderbird-11.0.1-source.tar.bz2 deleted file mode 100644 index 71c03fe..0000000 --- a/thunderbird-11.0.1-source.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d386e2029606a9c19b0b6cf78b315fdb0d5b618d71df1e59aff1c30deff85212 -size 101419415 diff --git a/thunderbird-11.99-source.tar.bz2 b/thunderbird-11.99-source.tar.bz2 new file mode 100644 index 0000000..8e554e1 --- /dev/null +++ b/thunderbird-11.99-source.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:52b501c8ea44d57914d0eab841bbaa0957ee562dd1740d9472dd10d112ca7fb7 +size 98951594