Commit Graph

80 Commits

Author SHA1 Message Date
Mike Hommey
3b0b47d020 Bug 1355661 - Add support for brotli streams in Jar archives. r=aklotz
Modern compression algorithms are better than zlib both in terms of
space and time. The jar format, used for e.g. omni.ja, addons, etc.
could benefit from using such modern algorithms, but the format only
allows a limited set of compression algorithms.

However, the format in itself is flexible, in that it can be extended
with arbitrary compression algorithms. This breaks compatibility with
programs like unzip, obviously, but we've never promised the files
shipped with Firefox will always remain "valid" zips (which they already
aren't, but they currently work with most zip readers).

With this change, we allow those archives to contain brotli streams,
using an arbitrary large value for the compression type in the Zip local
file header. This only allows to read such archives, but not to produce
them, and, for now, support for brotli streams is kept Nightly-only,
until everything is pieced together and we're happy to ship it.
2017-04-07 14:48:25 +09:00
Mike Hommey
b4c00e0497 Bug 1355661 - Continue inflating even when the Fd was closed, as long as there is still output pending. r=aklotz
This appears to have been "broken" since bug 510844, for some value of
broken where it doesn't actually cause any problem in practice because
of how zlib behaves.

That is, in practice, we always still have input to process when there's
pending output. But while that's true with zlib, that's not necessarily
true for other decompressors (e.g. brotli).
2017-04-07 14:05:23 +09:00
Chris Peterson
d26f577bf7 Bug 1235236 - Annotate intentional switch fallthrough to suppress -Wimplicit-fallthrough warning in modules/libjar/. r=aklotz
modules/libjar/nsJARInputStream.cpp:112:13 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
2015-11-22 22:13:58 -08:00
Cameron McCormack
f7e0168a64 Bug 1225004 - Record reason for NS_ERROR_FILE_CORRUPTED in nsLayoutStylesheetCache::LoadSheet in crash reports. r=roc 2015-11-16 19:18:45 +11:00
Wes Kocher
fb3bcf9f8f Backed out changeset 4efb6cc4fd5d (bug 1225004) for build bustage CLOSED TREE 2015-11-16 14:51:17 -08:00
Cameron McCormack
6f779c4392 Bug 1225004 - Record reason for NS_ERROR_FILE_CORRUPTED in nsLayoutStylesheetCache::LoadSheet in crash reports. r=roc 2015-11-16 19:18:45 +11:00
Nigel Babu
41531a0a2b Backed out changeset 6d47b0590988 (bug 1225004) for ASAN build bustage on a CLOSED TREE 2015-11-16 14:46:58 +05:30
Cameron McCormack
cec3ef3221 Bug 1225004 - Record reason for NS_ERROR_FILE_CORRUPTED in nsLayoutStylesheetCache::LoadSheet in crash reports. r=roc 2015-11-16 19:18:45 +11:00
Dragana Damjanovic
f5e3e71a6d Bug 905127 - Part 2 - remove unnecessary nsNetUtil.h includes r=jduell 2015-07-06 07:55:00 +02:00
Nicholas Nethercote
0247de46d8 Bug 1127201 (attempt 2, part 1) - Replace most NS_ABORT_IF_FALSE calls with MOZ_ASSERT. r=Waldo. 2015-02-09 14:34:50 -08:00
Andrew McCreight
e048a7df33 Back out Bug 1127201 (part 2) for various problems. 2015-02-06 15:04:32 -08:00
Nicholas Nethercote
40ab0270d5 Bug 1127201 (part 2) - Convert all NS_ABORT_IF_FALSE calls to MOZ_ASSERT. r=Waldo. 2015-02-04 20:05:36 -08:00
Birunthan Mohanathas
eeb9aaaa94 Bug 900908 - Part 3: Change uses of numbered macros in nsIClassInfoImpl.h/nsISupportsImpl.h to the variadic variants. r=froydnj 2014-04-27 03:06:00 -04:00
Dave Townsend
72546c24e5 Bug 935596 : nsJARInputStream crashes debug builds when it encounters a corrupt zip file. r=taras 2013-11-07 11:32:55 -08:00
David Rajchenbach-Teller
03f5cd893d Bug 927366 - nsJARInputStream shouldn't crash when it is asked about buffering;r=taras 2013-10-18 13:54:00 +01:00
Joshua Cranmer
9b57110864 Bug 884061 - Part 3p: Use NS_DECL_THREADSAFE_ISUPPORTS in modules/, r=taras,bsmedberg 2013-07-18 21:23:44 -05:00
Mats Palmgren
7532b4e736 Bug 786533 - Replace NS_MIN/NS_MAX with std::min/std::max and #include <algorithm> where needed. r=ehsan 2013-01-15 13:22:03 +01:00
Isaac Aggrey
3bf4e923e3 Bug 802706: Remove usage of NSPRFormatTime.h from tree; r=ehsan 2012-11-14 13:14:21 -06:00
Ehsan Akhgari
6fcd1b9b0a Backed out changeset da25394a8b55 (bug 802706) for build bustage 2012-11-14 13:24:12 -08:00
Isaac Aggrey
fedbe86957 Bug 802706: Remove usage of NSPRFormatTime.h from tree; r=ehsan,wtc 2012-11-14 13:14:21 -06:00
Brian Smith
ec8f0146e1 Bug 794510: Part 6 - Fixups needed to build on Windows and Android and Mac OS X debug, plus shorten comment to be less than 80 columns; r=ehsan 2012-10-18 15:55:48 -04:00
Isaac Aggrey
6dc7532117 Bug 794510: Part 3 - create NSPRFormatTime.h with temporarily undef'd NO_NSPR_10_SUPPORT for compatibility; r=ehsan 2012-10-11 13:16:29 -05:00
Randell Jesup
3b4961b603 Bug 773151: Convert nsCAutoString->nsAutoCString CLOSED TREE r=bsmedberg 2012-09-01 22:35:17 -04:00
Ehsan Akhgari
243c878d26 Bug 579517 - Part 1: Automated conversion of NSPR numeric types to stdint types in Gecko; r=bsmedberg
This patch was generated by a script.  Here's the source of the script for
future reference:

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*/.hg*" \
       ! -wholename "obj-ff-dbg*" \
       ! -name nsXPCOMCID.h \
       ! -name prtypes.h \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert PRInt8 int8_t
convert PRUint8 uint8_t
convert PRInt16 int16_t
convert PRUint16 uint16_t
convert PRInt32 int32_t
convert PRUint32 uint32_t
convert PRInt64 int64_t
convert PRUint64 uint64_t

convert PRIntn int
convert PRUintn unsigned

convert PRSize size_t

convert PROffset32 int32_t
convert PROffset64 int64_t

convert PRPtrdiff ptrdiff_t

convert PRFloat64 double
2012-08-22 11:56:38 -04:00
Honza Bambas
473edc0cbf Bug 215450: Allow uploading of files greater than 2gb in size. Involves making input streams 64-bit capable. Significant work done by Makoto Kato, finished by Honza Bambas. r=hbambas,bsmedberg,jdrew,sicking 2012-08-10 22:44:11 -04:00
Aryeh Gregor
8b4a23fc4c Bug 777292 part 2 - Change all nsnull to nullptr 2012-07-30 17:20:58 +03:00
Gervase Markham
cb6a072c2a Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Chris Coulson
a1e5b6fd40 Bug 737463 - nsJARInputStream leaks if it is closed before the stream is inflated. r=mwu 2012-04-11 17:55:22 -04:00
Ehsan Akhgari
478ad1a412 Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron
Landing on a CLOSED TREE
2011-10-17 10:59:28 -04:00
Michael Wu
0fe7772ece Bug 675553 - Switch from PRBool to bool on a CLOSED TREE , r=bsmedberg,khuey,bz,cjones 2011-09-28 23:19:26 -07:00
Taras Glek
7f9522092f Bug 598416: add try/catch in places in nsZipReader.cpp that access mmaped memory directly r=bsmedberg a=blocking2.0-betaN 2010-11-11 12:13:48 -08:00
Taras Glek
e611ffa575 Bug 590242 - Do not open omnijar 3x r=mwu, sr=bsmedberg, a=beltzner 2010-09-09 14:01:00 -07:00
Michael Wu
54916e6b23 Bug 533038 - 2. Generalize nsZipArchive and nsZipHandle to read from different sources, r=taras a=blocking-beta6 2010-09-08 20:37:34 -07:00
Michal Novotny
6790a95edc Bug 525741 - two JAR tests fail if modification date of their files is on day daylight saving time starts or ends and after time change. r=dtownsend,tglek 2009-12-16 00:01:08 +01:00
Taras Glek
c7a2bc8794 Bug 536911: fix null dereference topcash r=alfredkayser 2009-12-31 10:10:20 -08:00
Jae-Seong Lee-Russo
793a8b36bc Bug 530409 - Replace PR_MIN/PR_MAX with NS_MIN/NS_MAX in /modules/libjar/, r=tglek 2009-12-13 09:32:10 -08:00
Alfred Kayser
c3f47d62d5 Bug 511754 - make nsZipItems point at ZipCentral references to mmapped jar area r=tglek 2009-10-17 17:54:54 +02:00
Alfred Kayser
c6510b76c7 Bug 510844 - Remove memcpy()s for compressed jar reading. r=taras 2009-10-04 19:20:45 +02:00
Marco Bonardo
8db79d8f43 Backed out changeset 3cab7a0c2c3d due to mochitest timeout. 2009-09-03 14:15:19 +02:00
Alfred Kayser
440b800224 Bug 510844 - "Remove memcpy()s for compressed jar reading" [r=tglek] 2009-09-01 14:47:00 -05:00
Reed Loden
731c6bf35f Backing out 510844 to fix unittest failure on CLOSED TREE. 2009-09-01 16:20:47 -05:00
Alfred Kayser
d67483290b Bug 510844 - "Remove memcpy()s for compressed jar reading" [r=tglek] 2009-09-01 14:47:00 -05:00
Taras Glek
438a96d9ae Bug 504864: mmap io for JARs r=bsmedberg 2009-08-12 13:50:12 -07:00
Serge Gautherie
512b325a93 Backed out "changeset: ff9eba3f8224" of
Bug 504864 - mmap io for JARs; r=benjamin
which does not compile on Windows
2009-08-08 12:40:50 +02:00
Taras Glek
fd006379ec Bug 504864 - mmap io for JARs; r=benjamin 2009-08-08 12:07:39 +02:00
Fred Jendrzejewski
cbc6639bab Bug 466622. Replace nsCStringArray with nsTArray<nsCString> for more consistent code and fewer heap allocations. r+sr=roc,r=bsmedberg 2009-01-22 17:15:34 +13:00
7e9c838684 bug 422118 crash reading malformed zip archives. r=biesi, sr=bzbarsky, a=schrep 2008-03-19 12:28:38 -07:00
dbaron@dbaron.org
552c7ce66f Don't close the same file descriptors twice. b=367817 r+sr=darin 2007-01-25 23:05:22 +00:00
bzbarsky@mit.edu
43faaa1049 Filter out entries for files in subdirectories even at the root. Bug 367459,
patch by Alfred Kayser <alfredkayser@nl.ibm.com>, r+sr=bzbarsky
2007-01-22 01:47:50 +00:00
gavin@gavinsharp.com
65ab2a8390 Bug 337561: Merge nsJARDirectoryInputStream into nsJARInputStream, patch by Alfred Kayser <alfredkayser@nl.ibm.com>, r+sr=darin 2006-10-10 13:24:57 +00:00