--- enigmail-1.1.2.orig/debian/compat +++ enigmail-1.1.2/debian/compat @@ -0,0 +1 @@ +7 --- enigmail-1.1.2.orig/debian/copyright +++ enigmail-1.1.2/debian/copyright @@ -0,0 +1,483 @@ +Debianized by Alexander Sack in March 2010. + +Enigmail is open source and dually-licensed under the GNU General +Public License (GPL) and the Mozilla Public License. + +The GPL License text can be found in /usr/share/common-licenses/GPL-2 + +The packaging (debian/) uses the same license as the upstream software + +The Mozilla Public License is appended below: + + + + MOZILLA PUBLIC LICENSE + Version 1.1 + + --------------- + +1. Definitions. + + 1.0.1. "Commercial Use" means distribution or otherwise making the + Covered Code available to a third party. + + 1.1. "Contributor" means each entity that creates or contributes to + the creation of Modifications. + + 1.2. "Contributor Version" means the combination of the Original + Code, prior Modifications used by a Contributor, and the Modifications + made by that particular Contributor. + + 1.3. "Covered Code" means the Original Code or Modifications or the + combination of the Original Code and Modifications, in each case + including portions thereof. + + 1.4. "Electronic Distribution Mechanism" means a mechanism generally + accepted in the software development community for the electronic + transfer of data. + + 1.5. "Executable" means Covered Code in any form other than Source + Code. + + 1.6. "Initial Developer" means the individual or entity identified + as the Initial Developer in the Source Code notice required by Exhibit + A. + + 1.7. "Larger Work" means a work which combines Covered Code or + portions thereof with code not governed by the terms of this License. + + 1.8. "License" means this document. + + 1.8.1. "Licensable" means having the right to grant, to the maximum + extent possible, whether at the time of the initial grant or + subsequently acquired, any and all of the rights conveyed herein. + + 1.9. "Modifications" means any addition to or deletion from the + substance or structure of either the Original Code or any previous + Modifications. When Covered Code is released as a series of files, a + Modification is: + A. Any addition to or deletion from the contents of a file + containing Original Code or previous Modifications. + + B. Any new file that contains any part of the Original Code or + previous Modifications. + + 1.10. "Original Code" means Source Code of computer software code + which is described in the Source Code notice required by Exhibit A as + Original Code, and which, at the time of its release under this + License is not already Covered Code governed by this License. + + 1.10.1. "Patent Claims" means any patent claim(s), now owned or + hereafter acquired, including without limitation, method, process, + and apparatus claims, in any patent Licensable by grantor. + + 1.11. "Source Code" means the preferred form of the Covered Code for + making modifications to it, including all modules it contains, plus + any associated interface definition files, scripts used to control + compilation and installation of an Executable, or source code + differential comparisons against either the Original Code or another + well known, available Covered Code of the Contributor's choice. The + Source Code can be in a compressed or archival form, provided the + appropriate decompression or de-archiving software is widely available + for no charge. + + 1.12. "You" (or "Your") means an individual or a legal entity + exercising rights under, and complying with all of the terms of, this + License or a future version of this License issued under Section 6.1. + For legal entities, "You" includes any entity which controls, is + controlled by, or is under common control with You. For purposes of + this definition, "control" means (a) the power, direct or indirect, + to cause the direction or management of such entity, whether by + contract or otherwise, or (b) ownership of more than fifty percent + (50%) of the outstanding shares or beneficial ownership of such + entity. + +2. Source Code License. + + 2.1. The Initial Developer Grant. + The Initial Developer hereby grants You a world-wide, royalty-free, + non-exclusive license, subject to third party intellectual property + claims: + (a) under intellectual property rights (other than patent or + trademark) Licensable by Initial Developer to use, reproduce, + modify, display, perform, sublicense and distribute the Original + Code (or portions thereof) with or without Modifications, and/or + as part of a Larger Work; and + + (b) under Patents Claims infringed by the making, using or + selling of Original Code, to make, have made, use, practice, + sell, and offer for sale, and/or otherwise dispose of the + Original Code (or portions thereof). + + (c) the licenses granted in this Section 2.1(a) and (b) are + effective on the date Initial Developer first distributes + Original Code under the terms of this License. + + (d) Notwithstanding Section 2.1(b) above, no patent license is + granted: 1) for code that You delete from the Original Code; 2) + separate from the Original Code; or 3) for infringements caused + by: i) the modification of the Original Code or ii) the + combination of the Original Code with other software or devices. + + 2.2. Contributor Grant. + Subject to third party intellectual property claims, each Contributor + hereby grants You a world-wide, royalty-free, non-exclusive license + + (a) under intellectual property rights (other than patent or + trademark) Licensable by Contributor, to use, reproduce, modify, + display, perform, sublicense and distribute the Modifications + created by such Contributor (or portions thereof) either on an + unmodified basis, with other Modifications, as Covered Code + and/or as part of a Larger Work; and + + (b) under Patent Claims infringed by the making, using, or + selling of Modifications made by that Contributor either alone + and/or in combination with its Contributor Version (or portions + of such combination), to make, use, sell, offer for sale, have + made, and/or otherwise dispose of: 1) Modifications made by that + Contributor (or portions thereof); and 2) the combination of + Modifications made by that Contributor with its Contributor + Version (or portions of such combination). + + (c) the licenses granted in Sections 2.2(a) and 2.2(b) are + effective on the date Contributor first makes Commercial Use of + the Covered Code. + + (d) Notwithstanding Section 2.2(b) above, no patent license is + granted: 1) for any code that Contributor has deleted from the + Contributor Version; 2) separate from the Contributor Version; + 3) for infringements caused by: i) third party modifications of + Contributor Version or ii) the combination of Modifications made + by that Contributor with other software (except as part of the + Contributor Version) or other devices; or 4) under Patent Claims + infringed by Covered Code in the absence of Modifications made by + that Contributor. + +3. Distribution Obligations. + + 3.1. Application of License. + The Modifications which You create or to which You contribute are + governed by the terms of this License, including without limitation + Section 2.2. The Source Code version of Covered Code may be + distributed only under the terms of this License or a future version + of this License released under Section 6.1, and You must include a + copy of this License with every copy of the Source Code You + distribute. You may not offer or impose any terms on any Source Code + version that alters or restricts the applicable version of this + License or the recipients' rights hereunder. However, You may include + an additional document offering the additional rights described in + Section 3.5. + + 3.2. Availability of Source Code. + Any Modification which You create or to which You contribute must be + made available in Source Code form under the terms of this License + either on the same media as an Executable version or via an accepted + Electronic Distribution Mechanism to anyone to whom you made an + Executable version available; and if made available via Electronic + Distribution Mechanism, must remain available for at least twelve (12) + months after the date it initially became available, or at least six + (6) months after a subsequent version of that particular Modification + has been made available to such recipients. You are responsible for + ensuring that the Source Code version remains available even if the + Electronic Distribution Mechanism is maintained by a third party. + + 3.3. Description of Modifications. + You must cause all Covered Code to which You contribute to contain a + file documenting the changes You made to create that Covered Code and + the date of any change. You must include a prominent statement that + the Modification is derived, directly or indirectly, from Original + Code provided by the Initial Developer and including the name of the + Initial Developer in (a) the Source Code, and (b) in any notice in an + Executable version or related documentation in which You describe the + origin or ownership of the Covered Code. + + 3.4. Intellectual Property Matters + (a) Third Party Claims. + If Contributor has knowledge that a license under a third party's + intellectual property rights is required to exercise the rights + granted by such Contributor under Sections 2.1 or 2.2, + Contributor must include a text file with the Source Code + distribution titled "LEGAL" which describes the claim and the + party making the claim in sufficient detail that a recipient will + know whom to contact. If Contributor obtains such knowledge after + the Modification is made available as described in Section 3.2, + Contributor shall promptly modify the LEGAL file in all copies + Contributor makes available thereafter and shall take other steps + (such as notifying appropriate mailing lists or newsgroups) + reasonably calculated to inform those who received the Covered + Code that new knowledge has been obtained. + + (b) Contributor APIs. + If Contributor's Modifications include an application programming + interface and Contributor has knowledge of patent licenses which + are reasonably necessary to implement that API, Contributor must + also include this information in the LEGAL file. + + (c) Representations. + Contributor represents that, except as disclosed pursuant to + Section 3.4(a) above, Contributor believes that Contributor's + Modifications are Contributor's original creation(s) and/or + Contributor has sufficient rights to grant the rights conveyed by + this License. + + 3.5. Required Notices. + You must duplicate the notice in Exhibit A in each file of the Source + Code. If it is not possible to put such notice in a particular Source + Code file due to its structure, then You must include such notice in a + location (such as a relevant directory) where a user would be likely + to look for such a notice. If You created one or more Modification(s) + You may add your name as a Contributor to the notice described in + Exhibit A. You must also duplicate this License in any documentation + for the Source Code where You describe recipients' rights or ownership + rights relating to Covered Code. You may choose to offer, and to + charge a fee for, warranty, support, indemnity or liability + obligations to one or more recipients of Covered Code. However, You + may do so only on Your own behalf, and not on behalf of the Initial + Developer or any Contributor. You must make it absolutely clear than + any such warranty, support, indemnity or liability obligation is + offered by You alone, and You hereby agree to indemnify the Initial + Developer and every Contributor for any liability incurred by the + Initial Developer or such Contributor as a result of warranty, + support, indemnity or liability terms You offer. + + 3.6. Distribution of Executable Versions. + You may distribute Covered Code in Executable form only if the + requirements of Section 3.1-3.5 have been met for that Covered Code, + and if You include a notice stating that the Source Code version of + the Covered Code is available under the terms of this License, + including a description of how and where You have fulfilled the + obligations of Section 3.2. The notice must be conspicuously included + in any notice in an Executable version, related documentation or + collateral in which You describe recipients' rights relating to the + Covered Code. You may distribute the Executable version of Covered + Code or ownership rights under a license of Your choice, which may + contain terms different from this License, provided that You are in + compliance with the terms of this License and that the license for the + Executable version does not attempt to limit or alter the recipient's + rights in the Source Code version from the rights set forth in this + License. If You distribute the Executable version under a different + license You must make it absolutely clear that any terms which differ + from this License are offered by You alone, not by the Initial + Developer or any Contributor. You hereby agree to indemnify the + Initial Developer and every Contributor for any liability incurred by + the Initial Developer or such Contributor as a result of any such + terms You offer. + + 3.7. Larger Works. + You may create a Larger Work by combining Covered Code with other code + not governed by the terms of this License and distribute the Larger + Work as a single product. In such a case, You must make sure the + requirements of this License are fulfilled for the Covered Code. + +4. Inability to Comply Due to Statute or Regulation. + + If it is impossible for You to comply with any of the terms of this + License with respect to some or all of the Covered Code due to + statute, judicial order, or regulation then You must: (a) comply with + the terms of this License to the maximum extent possible; and (b) + describe the limitations and the code they affect. Such description + must be included in the LEGAL file described in Section 3.4 and must + be included with all distributions of the Source Code. Except to the + extent prohibited by statute or regulation, such description must be + sufficiently detailed for a recipient of ordinary skill to be able to + understand it. + +5. Application of this License. + + This License applies to code to which the Initial Developer has + attached the notice in Exhibit A and to related Covered Code. + +6. Versions of the License. + + 6.1. New Versions. + Netscape Communications Corporation ("Netscape") may publish revised + and/or new versions of the License from time to time. Each version + will be given a distinguishing version number. + + 6.2. Effect of New Versions. + Once Covered Code has been published under a particular version of the + License, You may always continue to use it under the terms of that + version. You may also choose to use such Covered Code under the terms + of any subsequent version of the License published by Netscape. No one + other than Netscape has the right to modify the terms applicable to + Covered Code created under this License. + + 6.3. Derivative Works. + If You create or use a modified version of this License (which you may + only do in order to apply it to code which is not already Covered Code + governed by this License), You must (a) rename Your license so that + the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape", + "MPL", "NPL" or any confusingly similar phrase do not appear in your + license (except to note that your license differs from this License) + and (b) otherwise make it clear that Your version of the license + contains terms which differ from the Mozilla Public License and + Netscape Public License. (Filling in the name of the Initial + Developer, Original Code or Contributor in the notice described in + Exhibit A shall not of themselves be deemed to be modifications of + this License.) + +7. DISCLAIMER OF WARRANTY. + + COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, + WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF + DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. + THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE + IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, + YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE + COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER + OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF + ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. + +8. TERMINATION. + + 8.1. This License and the rights granted hereunder will terminate + automatically if You fail to comply with terms herein and fail to cure + such breach within 30 days of becoming aware of the breach. All + sublicenses to the Covered Code which are properly granted shall + survive any termination of this License. Provisions which, by their + nature, must remain in effect beyond the termination of this License + shall survive. + + 8.2. If You initiate litigation by asserting a patent infringement + claim (excluding declatory judgment actions) against Initial Developer + or a Contributor (the Initial Developer or Contributor against whom + You file such action is referred to as "Participant") alleging that: + + (a) such Participant's Contributor Version directly or indirectly + infringes any patent, then any and all rights granted by such + Participant to You under Sections 2.1 and/or 2.2 of this License + shall, upon 60 days notice from Participant terminate prospectively, + unless if within 60 days after receipt of notice You either: (i) + agree in writing to pay Participant a mutually agreeable reasonable + royalty for Your past and future use of Modifications made by such + Participant, or (ii) withdraw Your litigation claim with respect to + the Contributor Version against such Participant. If within 60 days + of notice, a reasonable royalty and payment arrangement are not + mutually agreed upon in writing by the parties or the litigation claim + is not withdrawn, the rights granted by Participant to You under + Sections 2.1 and/or 2.2 automatically terminate at the expiration of + the 60 day notice period specified above. + + (b) any software, hardware, or device, other than such Participant's + Contributor Version, directly or indirectly infringes any patent, then + any rights granted to You by such Participant under Sections 2.1(b) + and 2.2(b) are revoked effective as of the date You first made, used, + sold, distributed, or had made, Modifications made by that + Participant. + + 8.3. If You assert a patent infringement claim against Participant + alleging that such Participant's Contributor Version directly or + indirectly infringes any patent where such claim is resolved (such as + by license or settlement) prior to the initiation of patent + infringement litigation, then the reasonable value of the licenses + granted by such Participant under Sections 2.1 or 2.2 shall be taken + into account in determining the amount or value of any payment or + license. + + 8.4. In the event of termination under Sections 8.1 or 8.2 above, + all end user license agreements (excluding distributors and resellers) + which have been validly granted by You or any distributor hereunder + prior to termination shall survive termination. + +9. LIMITATION OF LIABILITY. + + UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT + (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL + DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, + OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR + ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY + CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, + WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER + COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN + INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF + LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY + RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW + PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE + EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO + THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. + +10. U.S. GOVERNMENT END USERS. + + The Covered Code is a "commercial item," as that term is defined in + 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer + software" and "commercial computer software documentation," as such + terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 + C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), + all U.S. Government End Users acquire Covered Code with only those + rights set forth herein. + +11. MISCELLANEOUS. + + This License represents the complete agreement concerning subject + matter hereof. If any provision of this License is held to be + unenforceable, such provision shall be reformed only to the extent + necessary to make it enforceable. This License shall be governed by + California law provisions (except to the extent applicable law, if + any, provides otherwise), excluding its conflict-of-law provisions. + With respect to disputes in which at least one party is a citizen of, + or an entity chartered or registered to do business in the United + States of America, any litigation relating to this License shall be + subject to the jurisdiction of the Federal Courts of the Northern + District of California, with venue lying in Santa Clara County, + California, with the losing party responsible for costs, including + without limitation, court costs and reasonable attorneys' fees and + expenses. The application of the United Nations Convention on + Contracts for the International Sale of Goods is expressly excluded. + Any law or regulation which provides that the language of a contract + shall be construed against the drafter shall not apply to this + License. + +12. RESPONSIBILITY FOR CLAIMS. + + As between Initial Developer and the Contributors, each party is + responsible for claims and damages arising, directly or indirectly, + out of its utilization of rights under this License and You agree to + work with Initial Developer and Contributors to distribute such + responsibility on an equitable basis. Nothing herein is intended or + shall be deemed to constitute any admission of liability. + +13. MULTIPLE-LICENSED CODE. + + Initial Developer may designate portions of the Covered Code as + "Multiple-Licensed". "Multiple-Licensed" means that the Initial + Developer permits you to utilize portions of the Covered Code under + Your choice of the NPL or the alternative licenses, if any, specified + by the Initial Developer in the file described in Exhibit A. + +EXHIBIT A -Mozilla Public License. + + ``The contents of this file are subject to the Mozilla Public License + Version 1.1 (the "License"); you may not use this file except in + compliance with the License. You may obtain a copy of the License at + http://www.mozilla.org/MPL/ + + Software distributed under the License is distributed on an "AS IS" + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the + License for the specific language governing rights and limitations + under the License. + + The Original Code is ______________________________________. + + The Initial Developer of the Original Code is ________________________. + Portions created by ______________________ are Copyright (C) ______ + _______________________. All Rights Reserved. + + Contributor(s): ______________________________________. + + Alternatively, the contents of this file may be used under the terms + of the _____ license (the "[___] License"), in which case the + provisions of [______] License are applicable instead of those + above. If you wish to allow use of your version of this file only + under the terms of the [____] License and not to allow others to use + your version of this file under the MPL, indicate your decision by + deleting the provisions above and replace them with the notice and + other provisions required by the [___] License. If you do not delete + the provisions above, a recipient may use your version of this file + under either the MPL or the [___] License." + + [NOTE: The text of this Exhibit A may differ slightly from the text of + the notices in the Source Code files of the Original Code. You should + use the text of this Exhibit A rather than the text found in the + Original Code Source Code for Your Modifications.] + --- enigmail-1.1.2.orig/debian/clean +++ enigmail-1.1.2/debian/clean @@ -0,0 +1,13 @@ +build/automation.py +build/leaktest.py +build/pgo/automation.py +build/pgo/genpgocert.py +build/pgo/profileserver.py +extensions/enigmail/lang/jar.mn +extensions/enigmail/ui/content/enigmailBuildDate.js +build/pgo/automationutils.py +_leaktest/server-locations.txt +_leaktest/automationutils.py +_leaktest/automation.py +_leaktest/bloatcycle.html +_leaktest/leaktest.py --- enigmail-1.1.2.orig/debian/rules +++ enigmail-1.1.2/debian/rules @@ -0,0 +1,44 @@ +#!/usr/bin/make -f + +#BUILDDIR = $(CURDIR)/objdir-enigmail +BUILDDIR = $(CURDIR) + +CXXFLAGS+=-std=gnu++0x -fshort-wchar + +DEB_BUILD_GNU_TYPE := $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) + +TBIRD_SDK = $(shell ls -d /usr/lib/thunderbird-devel-3* /usr/lib/icedove-devel* 2> /dev/null | head -n1) + +#ifneq (,$(findstring icedove,$(TBIRD_SDK))) +DEBIANSPECIFICFLAGS = --with-system-nspr --with-nspr-prefix=/usr +#else +#DEBIANSPECIFICFLAGS = +#endif + +ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) +DEBIANSPECIFICFLAGS += --disable-optimize +endif + + +%: +# dh --with quilt --with xul-ext --builddirectory=$(BUILDDIR) $@ + dh --with quilt --with xul-ext $@ + +override_dh_auto_configure: + mkdir -p $(BUILDDIR) + cd $(BUILDDIR); $(CURDIR)/configure --target=$(DEB_BUILD_GNU_TYPE) --with-libxul-sdk=$(TBIRD_SDK) --enable-application=extensions --enable-extensions=enigmail --disable-debug --disable-tests --disable-crashreporter --disable-ogg --disable-necko-wifi $(DEBIANSPECIFICFLAGS) + +override_dh_auto_build: +# dh_auto_build --builddirectory=$(BUILDDIR) + dh_auto_build + cd $(BUILDDIR)/extensions/enigmail; make xpi + +override_dh_auto_clean: + ( cd config && make distclean ) || true + ( cd extensions/enigmail && make distclean ) || true + ( cd extensions/enigmail/public && make distclean ) || true + dh_auto_clean + + +override_dh_install: + install-xpi -penigmail $(BUILDDIR)/dist/bin/enigmail-*.xpi --- enigmail-1.1.2.orig/debian/make-orig +++ enigmail-1.1.2/debian/make-orig @@ -0,0 +1,41 @@ +#!/bin/sh + +progname=`basename $0` +enigtgz="$1" +buildtgz="$2" +targetdir="$3" +specialversion="$4" + +usage() { + echo $progname ' [special-version]' + exit 1 +} + +if test -z "$enigtgz" -o -z "$buildtgz" -o -z "$targetdir"; then + usage +fi + +enigbase=`basename $enigtgz` +enigvers=`echo $enigbase | sed -e 's/^.*-\([^-]*\).tar.gz$/\1/'` + +if test -z "enigvers"; then + echo "couldnt auto guess version from enigmail tarball ($enigtgz)" + exit 2 +fi + +tmpdir=`mktemp -d -t $progname.XXXXXX` +echo preparing in $tmpdir + +mkdir -p $tmpdir/mozilla/ +tar -C $tmpdir/mozilla/ -xzf $buildtgz +tar -C $tmpdir/mozilla/extensions/ -xzf $enigtgz +sh -c "cd $tmpdir/mozilla; autoconf2.13; echo autoconf done" + +makefiles=`find $tmpdir/mozilla/extensions/enigmail -name Makefile.in` +for i in $makefiles; do + sed -i 's/\(DEPTH.*\)\/\.\./\1/' $i +done + +tar -C $tmpdir -czf $targetdir/enigmail_$enigvers.orig.tar.gz mozilla/ + +rm -r $tmpdir --- enigmail-1.1.2.orig/debian/README.source +++ enigmail-1.1.2/debian/README.source @@ -0,0 +1,58 @@ +This package uses quilt to manage all modifications to the upstream +source. Changes are stored in the source package as diffs in +debian/patches and applied during the build. + +To configure quilt to use debian/patches instead of patches, you want +either to export QUILT_PATCHES=debian/patches in your environment +or use this snippet in your ~/.quiltrc: + + for where in ./ ../ ../../ ../../../ ../../../../ ../../../../../; do + if [ -e ${where}debian/rules -a -d ${where}debian/patches ]; then + export QUILT_PATCHES=debian/patches + break + fi + done + +To get the fully patched source after unpacking the source package, cd to +the root level of the source package and run: + + quilt push -a + +The last patch listed in debian/patches/series will become the current +patch. + +To add a new set of changes, first run quilt push -a, and then run: + + quilt new + +where is a descriptive name for the patch, used as the filename in +debian/patches. Then, for every file that will be modified by this patch, +run: + + quilt add + +before editing those files. You must tell quilt with quilt add what files +will be part of the patch before making changes or quilt will not work +properly. After editing the files, run: + + quilt refresh + +to save the results as a patch. + +Alternately, if you already have an external patch and you just want to +add it to the build system, run quilt push -a and then: + + quilt import -P /path/to/patch + quilt push -a + +(add -p 0 to quilt import if needed). as above is the filename to +use in debian/patches. The last quilt push -a will apply the patch to +make sure it works properly. + +To remove an existing patch from the list of patches that will be applied, +run: + + quilt delete + +You may need to run quilt pop -a to unapply patches first before running +this command. --- enigmail-1.1.2.orig/debian/changelog +++ enigmail-1.1.2/debian/changelog @@ -0,0 +1,506 @@ +enigmail (2:1.1.2-0ubuntu1~maverick~ppa2) maverick; urgency=low + + * New upstream release + + * Merge from debian unstable. Remaining changes: + - Drop versioned mozilla-devscripts dependency since we don't build on + mips or mipsel + - Add back thunderbird-dev build depends + - update debian/control + + * Update build-depends on thunderbird or icedove to >= 3.1~ + - update debian/control + + -- Micah Gersten Thu, 19 Aug 2010 00:40:08 -0500 + +enigmail (2:1.0.1-5) unstable; urgency=low + + * Update frozen_api.diff to include nsEnigMimeListener.cpp and + nsEnigMimeService.cpp versions matching current upstream CVS. This fixes + PGP/MIME parsing. closes: #586577 + * Pass --disable-optimize to configure script if called with noopt in + DEB_BUILD_OPTIONS. + * Call the distclean target of all Makefiles that support it. This allows to + significantly reduce the number of files in debian/clean. Still there are + some generated python build scripts. + + -- Willi Mann Fri, 02 Jul 2010 22:21:20 +0200 + +enigmail (2:1.0.1-4) unstable; urgency=low + + * Explicitly set target machine type according to dpkg-architecture + (DEB_BUILD_GNU_TYPE) to allow building working versions of the i386 + package in i386 chroot with amd64 kernel. + * Add -std=gnu++0x to CXXFLAGS in order to allow building with icedove + 3.0.5-1. closes: #586860, thanks to Christoph Goehre for this hint. + + -- Willi Mann Sat, 26 Jun 2010 21:59:41 +0200 + +enigmail (2:1.0.1-3) unstable; urgency=low + + * Remove Build-Dependency on libiw-dev. This is not used, but configure now + requires --disable-necko-wifi to be happy. Should allow build on kfreebsds. + * Build-Depend on mozilla-devscripts >= 0.23 to really fix FTBFS on mipsel + and mips. (m-d changed RDF implementation used to parse install.rdf) + + -- Willi Mann Mon, 07 Jun 2010 19:25:28 +0200 + +enigmail (2:1.0.1-2) unstable; urgency=low + + * Patch makefile-in-empty-xpcom-fix.diff: Fix FTBFS on armel, mips, + and mipsel. + + -- Willi Mann Tue, 01 Jun 2010 18:17:41 +0200 + +enigmail (2:1.0.1-1) unstable; urgency=low + + * Upload based on Ubuntu package: + - New upstream version closes: #569804, #461643, #553272 + * Fix RC Bugs: + - enigmail < 1.0 not supported in icedove >= 3. closes: #569804, #562714 + - enigmail 0.95 no longer builds. closes: #576997 + * Use build flags --with-system-nspr --with-nspr-prefix=/usr if debian + environment is detected (detection as proposed in bug #569804) + * According to asac, buildds cannot cope with alternatives in + Build-Depends. Thus drop thunderbird-dev alternative. + * Some files are not removed at clean time. Added to debian/clean, so + deleted by debhelper. + * lintian: + - fix description-starts-with-package-name + - Fix 3 consecutive changelog entries: syntax-error-in-debian-changelog + (wrong date format) + - Add README.source for quilt: patch-system-but-no-source-readme + * Add myself to Uploaders. + + -- Willi Mann Fri, 28 May 2010 14:56:17 +0200 + +enigmail (2:1.0.1-0ubuntu1) lucid; urgency=low + + * First releaase of enigmail 1.0.1 for tbird/icedove 3 + (LP: #527138) + * redo packaging from scratch + + add debian/make-orig target that uses xulrunner provided + buildsystem + enigmail tarball to produce a proper orig.tar.gz + + use debhelper 7 with mozilla-devscripts + + use debian source format 3.0 (quilt) + + patch enigmail to use frozen API only + - add debian/patches/frozen_api.diff + + patch build system to not link against -lxul - which isnt + available for sdks produced by all-static apps like tbird + - add debian/patches/build_system_dont_link_libxul.diff + + add minimal build-depends to control + + -- Alexander Sack Sat, 10 Apr 2010 01:42:24 +0200 + +enigmail (2:0.95.7-1ubuntu2) jaunty; urgency=low + + * no changes upload for nss/nspr SONAME mini-transition + + -- Alexander Sack Mon, 12 Jan 2009 16:21:47 +0100 + +enigmail (2:0.95.7-1ubuntu1) jaunty; urgency=low + + Merge from debian experimental; changes: + * flip order of icedove-dev/thunderbird-dev build-depends + - update debian/control + + -- Alexander Sack Tue, 2 Dec 2008 13:10:00 +0100 + +enigmail (2:0.95.7-1) experimental; urgency=low + + * Maintainer upload :-P + * upgrade to latest and greatest enigmail 0.95.7 + - adjust debian/rules + * new enigmail needs intl headers; update configure helper + - update debian/configure.sh.THUNDERBIRD_2_0_0_0_RELEASE + + -- Alexander Sack Tue, 2 Dec 2008 13:10:00 +0100 + +enigmail (2:0.95.0+1-4) unstable; urgency=low + + * fix enigmail use-agent behaviour for gpg < 2.0 (Closes: #506631) + - add debian/patches/81_dont_use_agent_before_gpg_2.dpatch + - update debian/patches/00list.thunderbird + + -- Alexander Sack Tue, 2 Dec 2008 13:00:00 +0100 + +enigmail (2:0.95.0+1-3.2) unstable; urgency=low + + * Non-maintainer upload. + * Fix preinst to make sure the upgrade from old version actually works. + (Closes: #486491, #468954) + * Add missing #DEBHELPER# token to preinst. + + -- Torsten Werner Sun, 12 Oct 2008 13:28:24 +0200 + +enigmail (2:0.95.0+1-3.1) unstable; urgency=low + + * Non-maintainer upload to fix a long-standing RC bug in Debian. + * Added 80_no_pragma_pushed_visibility.dpatch from Ubuntu to fix + a FTBFS with gcc-4.2. (Closes: #379260) + + -- Philipp Kern Mon, 18 Feb 2008 17:24:25 +0100 + +enigmail (2:0.95.0+1-3) unstable; urgency=low + + * make buildds happy by using icedove-dev as the primary + build-depend; keep thunderbird-dev as second. + + -- Alexander Sack Fri, 1 Jun 2006 23:53:12 +0200 + +enigmail (2:0.95.0+1-2) unstable; urgency=low + + * install enigmail-en-US.jar in right folder + + -- Alexander Sack Sun, 20 May 2006 19:30:09 +0200 + +enigmail (2:0.95.0+1-1) unstable; urgency=low + + * debianizing enigmail package, by installing to independent place + usr/lib/enigmail/extension and linking from suitable places + (e.g. usr/lib/icedove|thunderbird/extensions/ID + * drop transitional mozilla-thunderbird-enigmail package for debian + * remove old enigmail source tarball from orig.tar.gz + + -- Alexander Sack Sun, 20 May 2006 18:11:12 +0200 + +enigmail (2:0.95.0-0ubuntu3) gutsy; urgency=low + + * debian/control[.in] fix missing conflicts and replaces for + mozilla-thunderbird-enigmail -> enigmail transition + + -- Alexander Sack Tue, 15 May 2006 10:59:00 +0200 + +enigmail (2:0.95.0-0ubuntu2) gutsy; urgency=low + + * try to fix ftbfs on i386 by passing --disable-elf-dynstr-gc to + configure in case we have thunderbird 2.0. + + -- Alexander Sack Fri, 4 May 2006 12:42:00 +0200 + +enigmail (2:0.95.0-0ubuntu1) gutsy; urgency=low + + * new upstream release 0.95 + * update mozsdk to build against TBIRD 2.0.0.0 + * cleanup most obvious package cruft + * drop IPC code left-over from ancient times + * drop 80_enigmail-no-auto-check-trustdb (included upstream) + * update 50_enigmail_no_upgrade to not ship upgrade overlay + + -- Alexander Sack Fri, 4 May 2006 10:01:10 +0200 + +enigmail (2:0.94.3-0ubuntu1) feisty; urgency=low + + * new upstream release 0.94.2: + * Fix for security issue CVE-2006-5877 aka + http://bugzilla.mozdev.org/show_bug.cgi?id=9730: crash on access + to already freed memory. + * debian/patches/80_enigmail-no-auto-check-trustdb.dpatch: adapted + patch to new upstream code base + + -- Alexander Sack Tue, 13 Feb 2006 12:07:00 +0100 + +enigmail (2:0.94-0ubuntu5) edgy; urgency=low + + * debian/control: Make thunderbird dependencies less tight, so that this + package does not require an update for each thunderbird microversion + update. These generally do not break the ABI; if some update happens to do + that, we can still add a conflict/breaks to earlier enigmail versions to it. + + -- Martin Pitt Fri, 28 Jul 2006 14:51:28 +0200 + +enigmail (2:0.94-0ubuntu4.1) dapper-security; urgency=low + + * debian/control: Bump dependencies for Thunderbird 1.5.0.4. + + -- Martin Pitt Mon, 12 Jun 2006 16:39:24 +0200 + +enigmail (2:0.94-0ubuntu4) dapper; urgency=low + + * Rebuild mozilla-thunderbird-enigmail for mozilla-thunderbird 1.5.0.2 + * Stop shipping /tmp (ick) and /var/lib/mozilla-thunderbird/chrome.d + * Remove all references to obsolete update-mozilla-thunderbird-chrome + + -- Adam Conrad Thu, 18 May 2006 20:46:18 +1000 + +enigmail (2:0.94-0ubuntu3) dapper; urgency=low + + * Add 80_enigmail-no-auto-check-trustdb.dpatch that, well, makes sure + it passes --no-auto-check-trustdb to gpg invocations. + + -- Scott James Remnant Thu, 6 Apr 2006 05:37:52 +0100 + +enigmail (2:0.94-0ubuntu2) dapper; urgency=low + + * Add 10_visibility_hidden_patch.dpatch, stealing a fix from thunderbird + for the ppc/amd64 build failure triggered by wrapping system includes. + + -- Adam Conrad Wed, 15 Feb 2006 18:15:37 +1100 + +enigmail (2:0.94-0ubuntu1) dapper; urgency=low + + * Fork package to allow mozilla 1.7 to be demoted to universe. This + package now only builds the enigmail extension for mozilla-thunderbird. + * Bump debhelper compat to 4, so single-package builds behave the same + as multipackage biulds (thus minimising our diff against the original). + * Bump upstream version to 0.94, for working Thunderbird 1.5 support. + + -- Adam Conrad Wed, 15 Feb 2006 15:44:02 +1100 + +enigmail (2:0.93-1) unstable; urgency=high + + * new upstream version, fixes security issue in etch/sid + * build for mozilla 1.7.12 + (Closes: 334139) + + -- Alexander Sack Sun, 16 Oct 2005 15:00:00 +0100 + +enigmail (2:0.92.1-0ubuntu05.10) breezy-security; urgency=low + + * SECURITY UPDATE: incorrect key selection, causing information disclosure + * Update to 0.92.1, whose only change from 0.92.0 is to fix a bug where the + key selection dialog can incorrectly select a key with a user ID that does + not have additional information, which allows parties with that key to + decrypt the message. This has been assigned CVE-2005-3256 by mitre.org. + + -- Adam Conrad Thu, 20 Oct 2005 21:34:43 +1000 + +enigmail (2:0.92-4) unstable; urgency=low + + * respin for mozilla 1.7.11 and mozilla-thunderbird 1.0.7 + (Closes: 331207) + + -- Alexander Sack Mon, 17 Oct 2005 21:30:00 +0100 + +enigmail (2:0.92-3) unstable; urgency=low + + * respin for mozilla 1.7.10 (Closes: 321147) + + -- Alexander Sack Sat, 15 Oct 2005 23:55:00 +0100 + +enigmail (2:0.92-2) unstable; urgency=low + + * removed stupid amd64 gcc-3.4 dependency + + -- Alexander Sack Thu, 13 Oct 2005 15:00:00 +0100 + +enigmail (2:0.92-1ubuntu5) breezy; urgency=low + + * Update control and rules for Thunderbird 1.0.7 (no other changes) + + -- Adam Conrad Tue, 11 Oct 2005 03:34:59 +1000 + +enigmail (2:0.92-1ubuntu4) breezy; urgency=low + + * Make enigmail buildable and installable with mozilla 1.7.12, using + the same SDK tarball as the mozilla-mailnews 1.7.10 build. + + -- Stephan Hermann Mon, 26 Sep 2005 09:18:18 +0200 + +enigmail (2:0.92-1ubuntu3) breezy; urgency=low + + * Make enigmail buildable and installable with mozilla 1.7.11, using + the same SDK tarball as the mozilla-mailnews 1.7.10 build. + + -- Adam Conrad Sat, 13 Aug 2005 16:39:54 +1000 + +enigmail (2:0.92-1ubuntu2) breezy; urgency=low + + * Stop using gcc-3.4 for amd64, now that gcc-4.0 is the default compiler. + + -- Adam Conrad Mon, 1 Aug 2005 12:20:42 +1000 + +enigmail (2:0.92-1ubuntu1) breezy; urgency=low + + * Update debian/control to allow building and installation with mozilla + 1.7.10 and add debian/configure.sh.MOZILLA_1_7_10_RELEASE for the same. + + -- Adam Conrad Mon, 1 Aug 2005 10:34:26 +1000 + +enigmail (2:0.92-1) unstable; urgency=low + + * new upstream release + * gcc-4.0 transition + * no control.in patching for default build procedure anymore. + moved patching from clean target to ./debian/rules update_control + * updated sdk.mozdev releases to THUNDERBIRD_1_0_6 and + MOZILLA_RELEASE_1_7_8 + * prepared MOZILLA_RELEASE_1_7_10 + + -- Alexander Sack Thu, 21 Jul 2005 23:59:59 +0100 + +enigmail (2:0.91-4) unstable; urgency=high + + * urgency high to rush into sarge. Just a respin for new + mozilla version ... looks safe to go into testing. + + -- Alexander Sack Sun, 22 May 2005 22:00:00 +0100 + +enigmail (2:0.91-3) unstable; urgency=low + + * new upstream release enigmail 0.91. Respin for mozilla 1.7.7 + * upload to unstable. + * introduce debian/control.in file to ease maintenance due + to version upgrades + + -- Alexander Sack Mon, 18 Apr 2005 20:30:00 +0100 + +enigmail (2:0.91-2) unstable; urgency=low + + * new upstream release enigmail 0.91. Respin for mozilla 1.7.6 + + -- Alexander Sack Mon, 11 Apr 2005 23:30:00 +0100 + +enigmail (2:0.91-1) unstable; urgency=low + + * new upstream release enigmail 0.91 + + -- Alexander Sack Mon, 11 Apr 2005 22:00:00 +0100 + +enigmail (2:0.90.2-1) unstable; urgency=low + + * new upstream release enigmail 0.90.2 - plain + bugfixes and support for thunderbird 1.0.2 + * builds for mozilla-mailnews 1.7.6 (Closes: 301975,302084) + + -- Alexander Sack Tue, 29 Mar 2005 21:00:00 +0100 + +enigmail (2:0.90.1-1) unstable; urgency=low + + * new upstream release enigmail 0.90.1 + + -- Alexander Sack Sat, 12 Feb 2005 23:00:00 +0100 + +enigmail (2:0.90.0-1) unstable; urgency=low + + * new upstream release enigmail 0.90.0 + * upload to unstable + * build for mozilla 1.7.5 (Closes: 290726) + + -- Alexander Sack Sun, 16 Jan 2005 12:00:00 +0100 + +enigmail (2:0.89.5.experimental-1) experimental; urgency=low + + * new upstream release uses ipc 1.1.2 and enigmail 0.89.5 + * upstream fix: no logging on the terminal anymore + (Closes: 246736) + * fixed amd64 build problems. Setting gcc to 3.4 + (Closes: 283887) + * removed irrelevant parts from README.Debian (See: 273818) + + -- Alexander Sack Tue, 7 Dec 2004 22:00:00 +0100 + +enigmail (2:0.89.0.experimental-1) experimental; urgency=low + + * mailnews uses ipc 1.1.1 and enigmail 0.89.0 now + * hopefully will go to unstable at some point closing + really old ITP (Closes: 138190, 216928) + + -- Alexander Sack Mon, 22 Nov 2004 12:00:00 +0100 + +enigmail (2:0.89.0-2) unstable; urgency=medium + + * important small bug fix: fix old extension site + contents.rdf, that disable enigmail in thunderbird + (Closes: 286261) + * backported: fixed amd64 build problems. Setting gcc to 3.4 + (Closes: 283887) + * backported: + removed irrelevant parts from README.Debian (See: 273818) + + -- Alexander Sack Sun, 19 Dec 2004 10:00:00 +0100 + +enigmail (2:0.89.0-1) unstable; urgency=low + + * new upstream release + + -- Alexander Sack Mon, 08 Nov 2004 10:00:00 +0100 + +enigmail (2:0.86.1.debian1-1) unstable; urgency=low + + * respin for new mozilla version in testing + + -- Alexander Sack Mon, 18 Oct 2004 20:00:00 +0100 + +enigmail (2:0.86.1-0.testing.1) unstable; urgency=low + + * new upstream release for new thunderbird + + -- Alexander Sack Thu, 17 Sep 2004 20:00:00 +0100 + +enigmail (2:0.85.0.1-0.testing.1) unstable; urgency=low + + * respin for new thunderbird 0.7.3 + * includes new mozsdk for RELEASE_THUNDERBIRD_0_7_3 + + -- Alexander Sack Thu, 5 Aug 2004 20:00:00 +0100 + +enigmail (2:0.85.0-0.testing.2) unstable; urgency=low + + * fixed versioned dependency of mozilla-enigmail on + mozilla-mailnews to match current sid version + * removed accidentally applied patches for thunderbird + from the list of patches applied to the mailnews target. + Closes a (not yet posted) bug that displayed all mozilla + toolbar icons instead of the true decrypt button of enigmail + + -- Alexander Sack Thu, 29 Jul 2004 01:00:00 +0100 + +enigmail (2:0.85.0-0.testing.1) unstable; urgency=low + + * new upstream version - 0.85.0 + * produces binaries for thunderbird and mozilla-mailnews + (Closes: 138190, 216928) + * is sensible wether the distribution contains mozilla 1.6 or + 1.7.1 + * Fixed upstream: gpg boundaries are now displayed correctly in + news (Closes: 246734) + + -- Alexander Sack Mon, 26 Jul 2004 01:00:00 +0100 + +enigmail (2:0.84.2-1) unstable; urgency=low + + * new upstream release 0.84.2 + * added 50-enigmail-extension.txt and extension.part.enigmail + to extensions.d directory + + -- Alexander Sack Thu, 1 Jul 2004 15:15:00 +0100 + +enigmail (2:0.84.1-0.asac4) unstable; urgency=low + + * added 50-enigmail-extension.txt and extension.part.enigmail + to extensions.d directory + * removed upgrade menu item from enigmail menu, + because it is not applicable to debian packaged + extensions + enigmail is now its own package and therefore has + a new version scheme. hence this version is + 2:0.84.1-0.asac3 + + -- Alexander Sack Thu, 27 Jun 2004 15:15:00 +0100 + +mozilla-enigmail (0.84.1-0.asac1) unstable; urgency=low + + * new upstream release 0.84.1 packaged + + -- Alexander Sack Sun, 06 Jun 2004 16:01:20 +0100 + +mozilla-enigmail (0.84.0-0.asac1) unstable; urgency=low + + * new upstream release 0.84.0 packaged + + -- Alexander Sack Mon, 10 May 2004 01:13:20 +0100 + +mozilla-enigmail (0.83.6-0.asac2) unstable; urgency=low + + * added copyright file + * moved linked enigmail.js as config file to /etc/mozilla/enigmail.js + + -- Alexander Sack Tue, 13 Apr 2004 01:13:20 +0100 + +mozilla-enigmail (0.83.6-0.asac1) unstable; urgency=low + + * initial preview release of mozilla enigmail package + + -- Alexander Sack Tue, 13 Apr 2004 01:13:20 +0100 + --- enigmail-1.1.2.orig/debian/control +++ enigmail-1.1.2/debian/control @@ -0,0 +1,33 @@ +Source: enigmail +Section: mail +Priority: optional +Maintainer: Ubuntu Mozilla Team +XSBC-Original-Maintainer: Alexander Sack +Uploaders: Willi Mann +Build-Depends: debhelper (>= 7.0.50~), + mozilla-devscripts, + quilt (>= 0.46-7~), + thunderbird-dev (>= 3.1~) | icedove-dev (>= 3.1~), + libgtk2.0-dev, + libidl-dev, + libdbus-glib-1-dev, + libnotify-dev, + libasound2-dev, + libxt-dev, + libnspr4-dev +Standards-Version: 3.8.4 + +Package: enigmail +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, gnupg +Recommends: ${xpi:Recommends} +Provides: ${xpi:Provides} +Enhances: ${xpi:Enhances} +Description: Enigmail - GPG support for Thunderbird and Debian Icedove + OpenPGP extension for Thunderbird. Enigmail allows users to access the + features provided by the popular GnuPG software from within Thunderbird. + . + Enigmail is capable of signing, authenticating, encrypting and decrypting + email. Additionally, it supports both the inline PGP format, as well as the + PGP/MIME format as described in RFC 3156. + --- enigmail-1.1.2.orig/debian/patches/frozen_api.diff +++ enigmail-1.1.2/debian/patches/frozen_api.diff @@ -0,0 +1,671 @@ +unchanged: +--- enigmail-1.0.1/extensions/enigmail/src/nsEnigMimeListener.cpp 2007/10/03 08:01:54 1.15 ++++ enigmail-1.0.1/extensions/enigmail/src/nsEnigMimeListener.cpp 2010/05/02 16:56:53 1.17 +@@ -45,7 +45,7 @@ + #include "nsAutoLock.h" + #include "nsIInputStream.h" + #include "nsIThread.h" +-#include "nsString.h" ++#include "nsStringAPI.h" + #include "nsNetUtil.h" + #include "mimehdrs2.h" + #include "nsMimeTypes.h" +@@ -53,7 +53,6 @@ + #ifdef _ENIG_MOZILLA_1_8 + #include "nsFileStream.h" + #endif +-#undef MOZILLA_INTERNAL_API + + #include "nsEnigMimeListener.h" + +@@ -675,6 +674,25 @@ nsEnigMimeListener::HeaderSearch(const c + return headersFound || lastSegment; + } + ++static void ++__ReplaceCSubstring (nsACString &string, const char* replace, const char* with) ++{ ++ PRInt32 i = string.Find (replace); ++ while ( i >= 0 ) { ++ string.Replace (i, strlen (replace), with); ++ i = string.Find (replace); ++ } ++} ++ ++static void ++__ReplaceCChar (nsACString &string, const char replace, const char with) ++{ ++ PRInt32 i = string.FindChar (replace); ++ while (i >= 0 ) { ++ string.Replace (i, 1, (const char*) &with, 1); ++ i = string.FindChar (replace); ++ } ++} + + void + nsEnigMimeListener::ParseMimeHeaders(const char* mimeHeaders, PRUint32 count) +@@ -685,10 +703,10 @@ nsEnigMimeListener::ParseMimeHeaders(con + nsCAutoString headers(mimeHeaders, count); + + // Replace CRLF with just LF +- headers.ReplaceSubstring("\r\n", "\n"); ++ __ReplaceCSubstring(headers, "\r\n", "\n"); + + // Replace CR with LF (for MAC-style line endings) +- headers.ReplaceChar('\r', '\n'); ++ __ReplaceCChar(headers, '\r', '\n'); + + // Eliminate all leading whitespace (including linefeeds) + headers.Trim(" \t\n", PR_TRUE, PR_FALSE); +@@ -699,8 +717,8 @@ nsEnigMimeListener::ParseMimeHeaders(con + } + + // Handle continuation of MIME headers, i.e., newline followed by whitespace +- headers.ReplaceSubstring( "\n ", " "); +- headers.ReplaceSubstring( "\n\t", "\t"); ++ __ReplaceCSubstring(headers, "\n ", " "); ++ __ReplaceCSubstring(headers, "\n\t", "\t"); + + //DEBUG_LOG(("nsEnigMimeListener::ParseMimeHeaders: headers='%s'\n", headers.get())); + +@@ -708,7 +726,7 @@ nsEnigMimeListener::ParseMimeHeaders(con + while (offset < headers.Length()) { + PRInt32 lineEnd = headers.FindChar('\n', offset); + +- if (lineEnd == kNotFound) { ++ if (lineEnd < 0) { + // Header line terminator not found + NS_NOTREACHED("lineEnd == kNotFound"); + return; +@@ -726,11 +744,11 @@ nsEnigMimeListener::ParseMimeHeaders(con + + if (mDecodeContent) { + // Decode data +- if (mContentEncoding.EqualsIgnoreCase("base64")) { ++ if (mContentEncoding.Equals("base64", CaseInsensitiveCompare)) { + + mDecoderData = MimeB64DecoderInit(EnigMimeListener_write, (void*) this); + +- } else if (mContentEncoding.EqualsIgnoreCase("quoted-printable")) { ++ } else if (mContentEncoding.Equals("quoted-printable", CaseInsensitiveCompare)) { + + mDecoderData = MimeQPDecoderInit(EnigMimeListener_write, (void*) this); + } +@@ -750,9 +768,10 @@ nsEnigMimeListener::ParseHeader(const ch + // Create header string + nsCAutoString headerStr(header, count); + ++ //DEBUG_LOG(("nsEnigMimeListener::ParseHeader: header='%s'\n", headerStr.get())); + PRInt32 colonOffset; + colonOffset = headerStr.FindChar(':'); +- if (colonOffset == kNotFound) ++ if (colonOffset < 0) + return; + + // Null header key not allowed +@@ -760,31 +779,30 @@ nsEnigMimeListener::ParseHeader(const ch + return; + + // Extract header key (not case-sensitive) +- nsCAutoString headerKey; +- headerStr.Left(headerKey, colonOffset); ++ nsCAutoString headerKey = (nsCString) nsDependentCSubstring (headerStr, 0, colonOffset); + ToLowerCase(headerKey); + ++ + // Extract header value, trimming leading/trailing whitespace +- nsCAutoString buf; +- headerStr.Right(buf, headerStr.Length() - colonOffset - 1); +- buf.Trim(" "); ++ nsCAutoString buf = (nsCString) nsDependentCSubstring (headerStr, colonOffset+1, headerStr.Length() - colonOffset); ++ buf.Trim(" ", PR_TRUE, PR_TRUE); + +- //DEBUG_LOG(("nsEnigMimeListener::ParseHeader: %s: %s\n", headerKey.get(), buf.get())); ++ //DEBUG_LOG(("nsEnigMimeListener::ParseHeader: '%s': %s\n", headerKey.get(), buf.get())); + + PRInt32 semicolonOffset = buf.FindChar(';'); + +- nsCAutoString headerValue; +- if (semicolonOffset == kNotFound) { ++ nsCString headerValue; ++ if (semicolonOffset < 0) { + // No parameters +- headerValue = buf.get(); ++ headerValue = ((nsCString)buf).get(); + + } else { + // Extract value to left of parameters +- buf.Left(headerValue, semicolonOffset); ++ headerValue = nsDependentCSubstring (buf, 0, semicolonOffset); + } + + // Trim leading and trailing spaces in header value +- headerValue.Trim(" "); ++ headerValue.Trim(" ", PR_TRUE, PR_TRUE); + + if (headerKey.Equals("content-type")) { + mContentType = headerValue; +@@ -846,10 +864,10 @@ nsEnigMimeListener::ParseHeader(const ch + mContentDisposition.get())); + + } else if (headerKey.Equals("content-length")) { +- PRInt32 status; ++ nsresult status; + PRInt32 value = headerValue.ToInteger(&status); + +- if (NS_SUCCEEDED((nsresult) status)) ++ if (NS_SUCCEEDED(status)) + mContentLength = value; + + DEBUG_LOG(("nsEnigMimeListener::ParseHeader: ContenLengtht=%d\n", +only in patch2: +unchanged: +--- enigmail-1.0.1/extensions/enigmail/src/nsEnigMimeService.cpp 2007/12/24 10:59:12 1.19 ++++ enigmail-1.0.1/extensions/enigmail/src/nsEnigMimeService.cpp 2010/05/02 16:56:53 1.21 +@@ -45,7 +45,7 @@ + #include "nsEnigMimeService.h" + #include "nspr.h" + #include "plstr.h" +-#include "nsString.h" ++#include "nsStringAPI.h" + #include "nsCOMPtr.h" + #include "nsIDOMNode.h" + #include "nsIDOMText.h" +@@ -54,8 +54,6 @@ + #include "nsIComponentRegistrar.h" + #include "nsIGenericFactory.h" + #include "nsEnigContentHandler.h" +-#include "nsReadableUtils.h" +-#undef MOZILLA_INTERNAL_API + + NS_GENERIC_FACTORY_CONSTRUCTOR(nsEnigContentHandler) + +@@ -209,6 +207,27 @@ nsEnigMimeService::GetVersion(char **_re + return NS_OK; + } + ++ ++static void ++__ReplaceSubstring (nsAString &string, nsAString &replace, nsAString &with) ++{ ++ PRInt32 i = string.Find (replace); ++ while (i >= 0) { ++ string.Replace (i, replace.Length(), with); ++ i = string.Find (replace); ++ } ++} ++ ++static void ++__ReplaceChar (nsAString &string, const PRUnichar replace, const PRUnichar with) ++{ ++ PRInt32 i = string.FindChar (replace); ++ while (i >= 0) { ++ string.Replace (i, 1, &with, 1); ++ i = string.FindChar (replace); ++ } ++} ++ + NS_IMETHODIMP + nsEnigMimeService::GetPlainText(nsIDOMNode* domNode, + const PRUnichar* findStr, +@@ -252,14 +271,14 @@ nsEnigMimeService::GetPlainText(nsIDOMNo + + if (outStr.FindChar(0xA0) >= 0) { + // Replace non-breaking spaces with plain spaces +- outStr.ReplaceChar(0xA0, ' '); ++ __ReplaceChar(outStr, 0xA0, ' '); + } + + if (findStr && +- nsCharTraits::length(findStr) && +- (outStr.Find(findStr) < 0) ) { ++ nsDependentString(findStr).Length() && ++ (outStr.Find(nsDependentString(findStr)) < 0) ) { + // Substring not found; return empty string +- outStr.Truncate(0); ++ outStr.Truncate(); + } + + text = outStr; +@@ -468,4 +487,4 @@ NS_IMETHODIMP nsPipeTransport::InitComma + + return rv; + } +-*/ +\ No newline at end of file ++*/ +Description: convert enigmail source to use frozen API only +Author: Alexander Sack + +--- +The information above should follow the Patch Tagging Guidelines, please +checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here +are templates for supplementary fields that you might want to add: + +Origin: , +Bug: +Bug-Debian: http://bugs.debian.org/ +Forwarded: +Reviewed-By: +Last-Update: + +--- enigmail-1.0.1.orig/extensions/enigmail/src/nsEnigMimeVerify.cpp ++++ enigmail-1.0.1/extensions/enigmail/src/nsEnigMimeVerify.cpp +@@ -42,8 +42,7 @@ + #include "enigmail.h" + #include "nspr.h" + #include "nsCOMPtr.h" +-#include "nsString.h" +-#include "nsXPIDLString.h" ++#include "nsStringAPI.h" + #include "nsNetUtil.h" + #include "nsNetCID.h" + #include "nsIPrompt.h" +@@ -380,11 +379,11 @@ temBoundary += "--"; + PRInt32 exitCode; + PRUint32 statusFlags; + +- nsXPIDLString keyId; +- nsXPIDLString userId; +- nsXPIDLString sigDate; +- nsXPIDLString errorMsg; +- nsXPIDLString blockSeparation; ++ nsString keyId; ++ nsString userId; ++ nsString sigDate; ++ nsString errorMsg; ++ nsString blockSeparation; + + nsCOMPtr enigmailSvc = do_GetService(NS_ENIGMAIL_CONTRACTID, &rv); + if (NS_FAILED(rv)) return rv; +@@ -420,7 +419,7 @@ temBoundary += "--"; + if (securityInfo) { + nsCOMPtr enigHeaderSink = do_QueryInterface(securityInfo); + if (enigHeaderSink) { +- rv = enigHeaderSink->UpdateSecurityStatus(mURISpec, exitCode, statusFlags, keyId, userId, sigDate, errorMsg, blockSeparation); ++ rv = enigHeaderSink->UpdateSecurityStatus(mURISpec, exitCode, statusFlags, keyId.get(), userId.get(), sigDate.get(), errorMsg.get(), blockSeparation.get()); + } + } + +@@ -459,7 +458,7 @@ nsEnigMimeVerify::OnStartRequest(nsIRequ + rv = mInnerMimeListener->GetContentType(innerContentType); + if (NS_FAILED(rv)) return rv; + +- if (!innerContentType.EqualsIgnoreCase("application/pgp-signature")) { ++ if (!innerContentType.Equals("application/pgp-signature", CaseInsensitiveCompare)) { + DEBUG_LOG(("nsEnigMimeVerify::OnStartRequest: ERROR innerContentType=%s\n", innerContentType.get())); + return NS_ERROR_FAILURE; + } +@@ -481,7 +480,7 @@ nsEnigMimeVerify::OnStartRequest(nsIRequ + rv = mOuterMimeListener->GetContentType(contentType); + if (NS_FAILED(rv)) return rv; + +- if (!contentType.EqualsIgnoreCase("multipart/signed")) { ++ if (!contentType.Equals("multipart/signed", CaseInsensitiveCompare)) { + ERROR_LOG(("nsEnigMimeVerify::OnStartRequest: ERROR contentType=%s\n", contentType.get())); + return NS_ERROR_FAILURE; + } +@@ -490,7 +489,7 @@ nsEnigMimeVerify::OnStartRequest(nsIRequ + rv = mOuterMimeListener->GetContentProtocol(contentProtocol); + if (NS_FAILED(rv)) return rv; + +- if (!contentProtocol.EqualsIgnoreCase("application/pgp-signature")) { ++ if (!contentProtocol.Equals("application/pgp-signature", CaseInsensitiveCompare)) { + ERROR_LOG(("nsEnigMimeVerify::OnStartRequest: ERROR contentProtocol=%s\n", contentProtocol.get())); + return NS_ERROR_FAILURE; + } +@@ -500,25 +499,25 @@ nsEnigMimeVerify::OnStartRequest(nsIRequ + if (NS_FAILED(rv)) return rv; + + nsCAutoString hashSymbol; +- if (contentMicalg.EqualsIgnoreCase("pgp-md5")) { ++ if (contentMicalg.Equals("pgp-md5", CaseInsensitiveCompare)) { + hashSymbol = "MD5"; + +- } else if (contentMicalg.EqualsIgnoreCase("pgp-sha1")) { ++ } else if (contentMicalg.Equals("pgp-sha1", CaseInsensitiveCompare)) { + hashSymbol = "SHA1"; + +- } else if (contentMicalg.EqualsIgnoreCase("pgp-ripemd160")) { ++ } else if (contentMicalg.Equals("pgp-ripemd160", CaseInsensitiveCompare)) { + hashSymbol = "RIPEMD160"; + +- } else if (contentMicalg.EqualsIgnoreCase("pgp-sha224")) { ++ } else if (contentMicalg.Equals("pgp-sha224", CaseInsensitiveCompare)) { + hashSymbol = "SHA224"; + +- } else if (contentMicalg.EqualsIgnoreCase("pgp-sha256")) { ++ } else if (contentMicalg.Equals("pgp-sha256", CaseInsensitiveCompare)) { + hashSymbol = "SHA256"; + +- } else if (contentMicalg.EqualsIgnoreCase("pgp-sha384")) { ++ } else if (contentMicalg.Equals("pgp-sha384", CaseInsensitiveCompare)) { + hashSymbol = "SHA384"; + +- } else if (contentMicalg.EqualsIgnoreCase("pgp-sha512")) { ++ } else if (contentMicalg.Equals("pgp-sha512", CaseInsensitiveCompare)) { + hashSymbol = "SHA512"; + + } else { +@@ -585,7 +584,7 @@ nsEnigMimeVerify::OnStartRequest(nsIRequ + nsCOMPtr enigmailSvc = do_GetService(NS_ENIGMAIL_CONTRACTID, &rv); + if (NS_FAILED(rv)) return rv; + +- nsXPIDLString errorMsg; ++ nsString errorMsg; + PRBool verifyOnly = PR_TRUE; + PRBool noOutput = PR_TRUE; + PRBool noProxy = PR_TRUE; +@@ -614,7 +613,7 @@ nsEnigMimeVerify::OnStartRequest(nsIRequ + nsCOMPtr enigHeaderSink = do_QueryInterface(securityInfo); + if (enigHeaderSink) { + NS_NAMED_LITERAL_STRING(nullString, ""); +- rv = enigHeaderSink->UpdateSecurityStatus(mURISpec, -1, statusFlags, nullString.get(), nullString.get(), nullString.get(), errorMsg, nullString.get()); ++ rv = enigHeaderSink->UpdateSecurityStatus(mURISpec, -1, statusFlags, nullString.get(), nullString.get(), nullString.get(), errorMsg.get(), nullString.get()); + } + } + +--- enigmail-1.0.1.orig/extensions/enigmail/src/nsEnigMsgCompose.cpp ++++ enigmail-1.0.1/extensions/enigmail/src/nsEnigMsgCompose.cpp +@@ -40,7 +40,7 @@ + #define FORCE_PR_LOG /* Allow logging even in release build */ + + #include "enigmail.h" +-#include "nsXPIDLString.h" ++#include "nsStringAPI.h" + #include "nsIMsgCompFields.h" + #include "nsIMsgWindow.h" + #include "nsMsgBaseCID.h" +@@ -51,7 +51,6 @@ + #include "nsEnigMsgCompose.h" + #include "nspr.h" + #include "nsCOMPtr.h" +-#include "nsString.h" + #include "nsIPrompt.h" + #include "nsNetUtil.h" + #include "nsIThread.h" +@@ -477,7 +476,7 @@ nsEnigMsgCompose::Init() + DEBUG_LOG(("nsEnigMsgCompose::Init: hashAlgorithm=%s\n", mHashAlgorithm.get())); + } + +- nsXPIDLString errorMsg; ++ nsString errorMsg; + PRUint32 statusFlags; + PRBool noProxy = PR_TRUE; + rv = enigmailSvc->EncryptMessageStart(nsnull, prompter, +@@ -747,7 +746,7 @@ nsEnigMsgCompose::FinishAux(PRBool aAbor + + PRInt32 exitCode; + PRUint32 statusFlags; +- nsXPIDLString errorMsg; ++ nsString errorMsg; + rv = enigmailSvc->EncryptMessageEnd(nsnull, + prompter, + mUIFlags, +@@ -960,7 +959,7 @@ nsEnigMsgCompose::OnStartRequest(nsIRequ + // RFC2015 crypto encapsulation + encapsulate = PR_TRUE; + +- } else if (!contentType.EqualsIgnoreCase("text/plain")) { ++ } else if (!contentType.Equals("text/plain", CaseInsensitiveCompare)) { + // Force RFC2015 crypto encapsulation for non-plaintext messages + encapsulate = PR_TRUE; + mSendFlags |= nsIEnigmail::SEND_PGP_MIME; +@@ -979,7 +978,7 @@ nsEnigMsgCompose::OnStartRequest(nsIRequ + if (NS_FAILED(rv)) return rv; + + if (mMultipartSigned) { +- rv = WriteSignedHeaders1( contentEncoding.EqualsIgnoreCase("8bit") ); ++ rv = WriteSignedHeaders1( contentEncoding.Equals("8bit", CaseInsensitiveCompare) ); + if (NS_FAILED(rv)) return rv; + + // Copy original headers to output +@@ -998,11 +997,11 @@ nsEnigMsgCompose::OnStartRequest(nsIRequ + rv = WriteOut(headers.get(), headers.Length()); + if (NS_FAILED(rv)) return rv; + +- if (contentEncoding.EqualsIgnoreCase("base64")) { ++ if (contentEncoding.Equals("base64", CaseInsensitiveCompare)) { + + mEncoderData = MimeB64EncoderInit(EnigMsgCompose_write, (void*) mWriter); + +- } else if (contentEncoding.EqualsIgnoreCase("quoted-printable")) { ++ } else if (contentEncoding.Equals("quoted-printable", CaseInsensitiveCompare)) { + + mEncoderData = MimeQPEncoderInit(EnigMsgCompose_write, (void*) mWriter); + } +--- enigmail-1.0.1.orig/extensions/enigmail/src/nsEnigMimeWriter.cpp ++++ enigmail-1.0.1/extensions/enigmail/src/nsEnigMimeWriter.cpp +@@ -49,7 +49,6 @@ + #endif + + #include "nsEnigMimeWriter.h" +-#undef MOZILLA_INTERNAL_API + + #ifdef PR_LOGGING + PRLogModuleInfo* gEnigMimeWriterLog = NULL; +--- enigmail-1.0.1.orig/extensions/enigmail/src/mimehdrs2.cpp ++++ enigmail-1.0.1/extensions/enigmail/src/mimehdrs2.cpp +@@ -39,12 +39,70 @@ + #include "nsCOMPtr.h" + #include "msgCore.h" + #include "plstr.h" +-#include "nsEscape.h" + #include "nsMailHeaders.h" + #include "msgCore.h" + #include "mimehdrs2.h" + #undef MOZILLA_INTERNAL_API + ++#define HEX_ESCAPE '%' ++ ++#define UNHEX(C) \ ++ ((C >= '0' && C <= '9') ? C - '0' : \ ++ ((C >= 'A' && C <= 'F') ? C - 'A' + 10 : \ ++ ((C >= 'a' && C <= 'f') ? C - 'a' + 10 : 0))) ++ ++ ++static PRInt32 __nsUnescapeCount(char * str) ++{ ++ register char *src = str; ++ register char *dst = str; ++ static const char hexChars[] = "0123456789ABCDEFabcdef"; ++ ++ char c1[] = " "; ++ char c2[] = " "; ++ char* const pc1 = c1; ++ char* const pc2 = c2; ++ ++ while (*src) ++ { ++ c1[0] = *(src+1); ++ if (*(src+1) == '\0') ++ c2[0] = '\0'; ++ else ++ c2[0] = *(src+2); ++ ++ if (*src != HEX_ESCAPE || PL_strpbrk(pc1, hexChars) == 0 || ++ PL_strpbrk(pc2, hexChars) == 0 ) ++ *dst++ = *src++; ++ else ++ { ++ src++; /* walk over escape */ ++ if (*src) ++ { ++ *dst = UNHEX(*src) << 4; ++ src++; ++ } ++ if (*src) ++ { ++ *dst = (*dst + UNHEX(*src)); ++ src++; ++ } ++ dst++; ++ } ++ } ++ ++ *dst = 0; ++ return (int)(dst - str); ++ ++} /* NET_UnEscapeCnt */ ++ ++static char* __nsUnescape(char * str) ++{ ++ __nsUnescapeCount(str); ++ return str; ++} ++ ++ + PRBool MimeHeaders_IsAsciiSpace(PRUnichar aChar) { + return ((aChar == ' ') || (aChar == '\r') || + (aChar == '\n') || (aChar == '\t')); +@@ -190,7 +248,7 @@ MimeHeaders_get_parameter (const char *h + *(s+(value_end-(s_quote2+1))) = 0; + if (needUnescape) + { +- nsUnescape(s); ++ __nsUnescape(s); + if (token_end-token_start == parm_len+1) + return s; /* we done; this is the simple case of + encoding charset and language info +@@ -224,7 +282,7 @@ MimeHeaders_get_parameter (const char *h + memcpy(s+len, value_start, value_end-value_start); + *(s+len+(value_end-value_start)) = 0; + if (needUnescape) +- nsUnescape(s+len); ++ __nsUnescape(s+len); + } + } + } +--- enigmail-1.0.1.orig/extensions/enigmail/src/nsEnigContentHandler.cpp ++++ enigmail-1.0.1/extensions/enigmail/src/nsEnigContentHandler.cpp +@@ -46,7 +46,7 @@ + #include "nspr.h" + #include "plstr.h" + #include "nsCOMPtr.h" +-#include "nsString.h" ++#include "nsStringAPI.h" + #include "nsNetUtil.h" + #include "nsIThread.h" + #include "nsIMimeObjectClassAccess.h" +@@ -54,7 +54,6 @@ + #ifdef _ENIG_MOZILLA_1_8 + #include "nsFileStream.h" + #endif +-#undef MOZILLA_INTERNAL_API + + MimeContainerClass* mimeContainerClassP = NULL; + +--- enigmail-1.0.1.orig/extensions/enigmail/src/nsEnigMimeWriter.h ++++ enigmail-1.0.1/extensions/enigmail/src/nsEnigMimeWriter.h +@@ -42,7 +42,7 @@ + + #include "nsIEnigMimeWriter.h" + #include "nsCOMPtr.h" +-#include "nsString.h" ++#include "nsStringAPI.h" + + // Implementation class for nsIEnigMimeWriter + class nsEnigMimeWriter : public nsIEnigMimeWriter +--- enigmail-1.0.1.orig/extensions/enigmail/src/nsEnigMimeListener.h ++++ enigmail-1.0.1/extensions/enigmail/src/nsEnigMimeListener.h +@@ -42,7 +42,7 @@ + + #include "nsIEnigMimeListener.h" + #include "nsCOMPtr.h" +-#include "nsString.h" ++#include "nsStringAPI.h" + #include "modmimee2.h" + + // Implementation class for nsIEnigMimeListener +--- enigmail-1.0.1.orig/extensions/enigmail/src/nsEnigMimeDecrypt.cpp ++++ enigmail-1.0.1/extensions/enigmail/src/nsEnigMimeDecrypt.cpp +@@ -42,8 +42,7 @@ + #include "nspr.h" + #include "nsCOMPtr.h" + #include "plstr.h" +-#include "nsString.h" +-#include "nsXPIDLString.h" ++#include "nsStringAPI.h" + #include "nsNetUtil.h" + #include "nsIPrompt.h" + #include "nsIMsgWindow.h" +@@ -56,7 +55,6 @@ + #include "nsIPipeTransport.h" + #include "nsIIPCBuffer.h" + #include "nsIEnigmail.h" +-#undef MOZILLA_INTERNAL_API + + #ifdef PR_LOGGING + PRLogModuleInfo* gEnigMimeDecryptLog = NULL; +@@ -290,7 +288,7 @@ nsEnigMimeDecrypt::FinishAux(nsIMsgWindo + if (NS_FAILED(rv)) + return rv; + +- nsXPIDLString errorMsg; ++ nsString errorMsg; + PRBool noOutput = PR_FALSE; + PRBool noProxy = PR_FALSE; + PRUint32 statusFlags; +@@ -311,7 +309,7 @@ nsEnigMimeDecrypt::FinishAux(nsIMsgWindo + nsCOMPtr enigHeaderSink = do_QueryInterface(securityInfo); + if (enigHeaderSink) { + NS_NAMED_LITERAL_STRING(nullString, ""); +- rv = enigHeaderSink->UpdateSecurityStatus(uriSpec, -1, statusFlags, nullString.get(), nullString.get(), nullString.get(), errorMsg, nullString.get()); ++ rv = enigHeaderSink->UpdateSecurityStatus(uriSpec, -1, statusFlags, nullString.get(), nullString.get(), nullString.get(), errorMsg.get(), nullString.get()); + } + } + +@@ -435,10 +433,10 @@ nsEnigMimeDecrypt::FinishAux(nsIMsgWindo + mBuffer->Shutdown(); + + PRInt32 exitCode; +- nsXPIDLString keyId; +- nsXPIDLString userId; +- nsXPIDLString sigDate; +- nsXPIDLString blockSeparation; ++ nsString keyId; ++ nsString userId; ++ nsString sigDate; ++ nsString blockSeparation; + + PRUint32 uiFlags = nsIEnigmail::UI_PGP_MIME; + +@@ -459,7 +457,7 @@ nsEnigMimeDecrypt::FinishAux(nsIMsgWindo + if (securityInfo) { + nsCOMPtr enigHeaderSink = do_QueryInterface(securityInfo); + if (enigHeaderSink) { +- rv = enigHeaderSink->UpdateSecurityStatus(uriSpec, exitCode, statusFlags, keyId, userId, sigDate, errorMsg, blockSeparation); ++ rv = enigHeaderSink->UpdateSecurityStatus(uriSpec, exitCode, statusFlags, keyId.get(), userId.get(), sigDate.get(), errorMsg.get(), blockSeparation.get()); + } + } + +--- enigmail-1.0.1.orig/extensions/enigmail/src/nsEnigMsgCompose.h ++++ enigmail-1.0.1/extensions/enigmail/src/nsEnigMsgCompose.h +@@ -37,7 +37,6 @@ + #ifndef _nsEnigMsgCompose_h_ + #define _nsEnigMsgCompose_h_ + +-#define MOZILLA_INTERNAL_API + #include "nsCOMPtr.h" + #include "nsIFactory.h" + #include "nsIMsgComposeSecure.h" +@@ -48,7 +47,7 @@ + #include "modmimee2.h" + #include "enigmail.h" + #include "nsIEnigMimeWriter.h" +-#include "nsString.h" ++#include "nsStringAPI.h" + + + #define NS_ENIGMSGCOMPOSE_CLASSNAME "Enigmail Msg Compose" +--- enigmail-1.0.1.orig/extensions/enigmail/src/enigmail.h ++++ enigmail-1.0.1/extensions/enigmail/src/enigmail.h +@@ -33,8 +33,6 @@ + #ifndef enigmail_h__ + #define enigmail_h__ + +-#define MOZILLA_INTERNAL_API +- + #if MOZILLA_MAJOR_VERSION==1 && MOZILLA_MINOR_VERSION<9 + #define _ENIG_MOZILLA_1_8 + #else --- enigmail-1.1.2.orig/debian/patches/makefile-in-empty-xpcom-fix.diff +++ enigmail-1.1.2/debian/patches/makefile-in-empty-xpcom-fix.diff @@ -0,0 +1,13 @@ +Index: enigmail-1.0.1/extensions/enigmail/Makefile.in +=================================================================== +--- enigmail-1.0.1.orig/extensions/enigmail/Makefile.in 2010-06-01 17:38:45.000000000 +0200 ++++ enigmail-1.0.1/extensions/enigmail/Makefile.in 2010-06-01 17:39:39.000000000 +0200 +@@ -95,7 +95,7 @@ + endif + + xpi:: +- $(srcdir)/genxpi $(XPIFILE) $(XPI_MODULE_VERS) $(OS_ARCH) $(TARGET_XPCOM_ABI) $(MOZ_APP_NAME)-$(MOZ_APP_VERSION) $(DIST)/bin $(srcdir) $(XPI_MODULE) $(DLL_SUFFIX) $(LIB_PREFIX) ++ $(srcdir)/genxpi $(XPIFILE) $(XPI_MODULE_VERS) $(OS_ARCH) "$(TARGET_XPCOM_ABI)" $(MOZ_APP_NAME)-$(MOZ_APP_VERSION) $(DIST)/bin $(srcdir) $(XPI_MODULE) $(DLL_SUFFIX) $(LIB_PREFIX) + + clean:: + test -f $(DIST)/bin/$(XPIFILE) && rm $(DIST)/bin/$(XPIFILE) || echo "" --- enigmail-1.1.2.orig/debian/patches/series +++ enigmail-1.1.2/debian/patches/series @@ -0,0 +1,4 @@ +#frozen_api.diff +build_system_dont_link_libxul.diff +autoconf.diff +makefile-in-empty-xpcom-fix.diff --- enigmail-1.1.2.orig/debian/patches/build_system_dont_link_libxul.diff +++ enigmail-1.1.2/debian/patches/build_system_dont_link_libxul.diff @@ -0,0 +1,11 @@ +--- builds/enigmail-1.0.1/configure.in 2010-02-16 05:07:34.000000000 +0100 ++++ hacked_working_tree/configure.in 2010-03-22 00:40:10.000000000 +0100 +@@ -7503,7 +7504,7 @@ + AC_SUBST(LIBXUL_LIBS) + + if test -n "$MOZ_ENABLE_LIBXUL"; then +- XPCOM_LIBS="$LIBXUL_LIBS" ++ XPCOM_LIBS="$DYNAMIC_XPCOM_LIBS" + AC_DEFINE(MOZ_ENABLE_LIBXUL) + else + if test -n "$BUILD_STATIC_LIBS"; then --- enigmail-1.1.2.orig/debian/patches/autoconf.diff +++ enigmail-1.1.2/debian/patches/autoconf.diff @@ -0,0 +1,11 @@ +--- a/configure.orig 2010-03-22 02:44:30.000000000 +0100 ++++ b/configure 2010-03-22 02:44:31.000000000 +0100 +@@ -19998,7 +19998,7 @@ + + + if test -n "$MOZ_ENABLE_LIBXUL"; then +- XPCOM_LIBS="$LIBXUL_LIBS" ++ XPCOM_LIBS="$DYNAMIC_XPCOM_LIBS" + cat >> confdefs.h <<\EOF + #define MOZ_ENABLE_LIBXUL 1 + EOF --- enigmail-1.1.2.orig/debian/source/format +++ enigmail-1.1.2/debian/source/format @@ -0,0 +1 @@ +1.0