• Home
  • History
  • Annotate
  • only in /libcore/ojluni/src/main/java/java/util/zip/
History log of /libcore/ojluni/src/main/java/java/util/zip/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
6975f84c2ed72e1e26d20190b6f318718c849008 01-Mar-2017 Tobias Thierer <tobiast@google.com> Make Android patch docs in ojluni more consistent with style guide

This CL consists of an automated and a manual part (originally
reviewed as separate CLs, then squashed together before submitting
in order to minimize the number of times each Android-changed line
is touch, since that makes future git archaeology on these simpler).

Automated part: Run the following command (performs regex replacements):

find ojluni -name \*\.java | xargs sed -i \
-e 's/Android[- ]changed/Android-changed/ig' \
-e 's/Android-changed :/Android-changed:/g' \
-e 's/Android-changed \(BEGIN\|END\)/\1 Android-changed/g' \
-e 's/Android-changed - /Android-changed: /g' \
-e 's/Android[- ]removed/Android-removed/ig' \
-e 's/Android-removed :/Android-removed:/g' \
-e 's/Android-removed \(BEGIN\|END\)/\1 Android-removed/g' \
-e 's/Android-removed - /Android-removed: /g' \
-e 's/Android[- ]added/Android-added/ig' \
-e 's/Android-added :/Android-added:/g' \
-e 's/Android-added \(BEGIN\|END\)/\1 Android-added/g' \
-e 's/Android-added - /Android-added: /g' \
-e 's/----- \(BEGIN\|END\) android\( -----\)\?/\1 Android-changed/g' \
-e 's/\/\* \(BEGIN\|END\) Android-changed \*\//\/\/ \1 Android-changed/g'

Manual part: Move BEGIN Android-* lines out of block comments

Some Android-{changed,removed,added} lines occurred inside block comments.
This CL targets places in ojluni that contained the String "* BEGIN Android-"

Changes made by this CL include:

- Move the "BEGIN Android-" line into a line comment (the style guide
mandates that "Android-" lines are always in line comments). In many
cases, that line comment is immediately followed by a block comment
holding commented-out upstream code.
- Add corresponding "// END Android-" line comments, where missing.
- Drop documented import changes altogether. These create noise for
little benefit:
(1.) Most import problems will be found at compile time
(2.) They generally correspond to documented changes elsewhere in
the file.
- In most cases, the phrasing of comments and the decision whether to
keep commented out upstream code was not changed by this CL.
- Some additional tweaks were made in line with the style guide.

No attempt was made to:

- Verify that commented-out upstream code actually matches the
current upstream.
- Make any fixes (eg. to comments) that would have required
git archaeology (looking up historic commits).

Bug: 35841464
Test: make droid cts update-api

Change-Id: Ibc60979cb6061cfb0e9c7096cc9dcab30ddfa733
eflaterInputStream.java
nflater.java
nflaterInputStream.java
ipFile.java
ipInputStream.java
111a30eb86a4f03aa66494850ea1e4d4e81f386a 10-Feb-2017 Przemyslaw Szczepaniak <pszczepaniak@google.com> Merge "Add synchronized to Deflater.needsInput()"
2a10fb51b4012e0cb08adab0b632845a8c50fc32 06-Feb-2017 Przemyslaw Szczepaniak <pszczepaniak@google.com> Add synchronized to Deflater.needsInput()

Ported from openjdk8u121

changeset: 11054:c982997a738b
user: coffeys
date: Thu Oct 15 14:41:37 2015 +0100
summary: 8038502: Deflater.needsInput() should use synchronization

Test: CtsLibcoreTestCases
Bug: 31028374
Change-Id: I9c480bab4a35ec3f6bd431bc5ccdd5ff7e39440d
eflater.java
5618a1b5167db9fb4578c7b54b6234b95cca1f53 03-Feb-2017 Przemyslaw Szczepaniak <pszczepaniak@google.com> java.util.zip Thread safety fixes

Ported from openjdk8u112

changeset: 11053:9ad796b3ce4d
user: coffeys
date: Thu Oct 15 09:33:03 2015 +0100
summary: 6907252: ZipFileInputStream Not Thread-Safe

changeset: 11052:9e7d9568678d
user: robm
date: Sat Oct 17 21:55:25 2015 +0100
summary: 8133249: Occasional SIGSEGV: non thread-safe use of strerr in get LastErrorString

Test: CtsLibcoreTestCases
Bug: 31028374
Change-Id: I763f2863f4f492660211f9d8a8667156690de6c8
StreamRef.java
ipFile.java
87f7605e13ad5eea96f294a1fcc79f4208681825 17-Nov-2016 Przemyslaw Szczepaniak <pszczepaniak@google.com> Merge "java.util.zip.Zip* port from openJdk8u60"
am: 33f6c9f4ed

Change-Id: Ic0861e6a1a11da2d5439032d8d3706934309bd20
6c970474e9416807cabde3620045906ad3903c6c 01-Nov-2016 Przemyslaw Szczepaniak <pszczepaniak@google.com> java.util.zip.Zip* port from openJdk8u60

- Added missing android-changed tags for various changes.
- Fixed buggy extended DOS timestamp generation/reading
in ZipEntry and ZipUtils.

ZipEntry:
-Support for extended dos time (better timestamp resolution).
-Support for last modification, access time and creation time
stored in optional extra data.
-Because of last modification field, setTime works for ranges
outside of dos time range (< 1980 && > 2099). THIS change breaks
ZipEntryTest.test_setTimeJ. IMHO it's worth to adopt new
behavior.

ZipFile:
-Added spliterator support.
-Moved entries() iterator implementation to inner named class.
-ZipFileInputStream#read modifies pos/rem field in a
synchronized block.

ZipInputStream:
-Removed code for parsing optional extra data in .readLOC
(moved to ZipEntry).

ZipOutputStream:
-New property for inhibiting Zip64 for > 64k entries
-ZipEntry last modification, access time and creation time
support

ZipUtils.java:
-New file with common, time and byte-array related methods extracted
from ZipEntry and ZipFile

java_util_zip_ZipFile.c
-Use of ZIP_GetEntry2 with explicit addSlash param

zip_util.c/h:
-hash(const char *s) no longer used.
-New method, ZIP_GetEntry2, with explicit handling
of adding slash at the name end
-Zip entry name may include embedded null character.

Test: CtsLibcoreTestCases
Bug: 29935305
Change-Id: Ib691c81b158ec37419a903bfa4261a12139fbff7
ipEntry.java
ipFile.java
ipInputStream.java
ipOutputStream.java
ipUtils.java
ec2262e64709932f58f88dd448fab25f4be7f663 09-Nov-2016 Przemyslaw Szczepaniak <pszczepaniak@google.com> Fix ZipFile exception for non-existent files

This change fixes N regression in java.util.zip.ZipFile constructor.
In previous android releases, for non-existent files, ZipFile
constructor was throwing FileNotFoundException. Due to
change in commit adc40417389a57bc7a831f55334bffcc07343eb9,
N started to use ZipException in this case. This change
reverts to pre-N behavior.

Test: libcore.java.util.zip.ZipFileTest
Bug: 31077136
Change-Id: I7c7240d0808552f4e0cf4ed4ccbda7537df2d2b1
(cherry picked from commit d95a908045486d862dfe0be056dd4ecfb3bd7693)
ipFile.java
ce27766ff2cb33432017df70f74f0732adaabd97 09-Nov-2016 Narayan Kamath <narayan@google.com> ZipFile: Never change file offset during I/O operations.

Use pread instead read and eliminate unnecessary calls to lseek.

dalvik.system.VMClassLoader maintains a cache of JarFile objects
that it creates whenever it loads resources from them. This cache may
be populated in the zygote as a side effect of preloading classes. When
processes are forked from the zygote, the file descriptors associated
with these JarFile objects point to the same kernel file description
and may end up stepping on each others toes. To avoid such issues, we
never make any offset changes to the associated file.

Note that we have a guarantee that the file will never be closed in
any forked process because the associated JarFile objects can never be
collected.

Test: run cts -m CtsLibcoreTestCases / ZipStressTest / manual testing
to trigger the race condition.

Bug: 30407219
Change-Id: Ic770a6ab6aca7f123a90002327d7f0a321e9afef
(cherry picked from commit 0393d3c84ed9bd24bcf0dac3782a1cc23400ace8)
ipFile.java
48dd2b2377f6d676f1af6f37b290474a00cab94f 01-Nov-2016 Przemyslaw Szczepaniak <pszczepaniak@google.com> Merge "Port java.util.zip.GZIPInputStream changes from OpenJdk8u60"
am: 1cbb00d875

Change-Id: I4636dccb773bc443c55a48718a193a82c44aaa40
1cbb00d875642779dd1f80cfc65864b28d90badc 01-Nov-2016 Treehugger Robot <treehugger-gerrit@google.com> Merge "Port java.util.zip.GZIPInputStream changes from OpenJdk8u60"
cc2ba8a2b5b33eaebbe03adceea68abe8576e354 27-Oct-2016 Przemyslaw Szczepaniak <pszczepaniak@google.com> Port java.util.zip.GZIPInputStream changes from OpenJdk8u60

Contains:
- Header update
- Added missing android-changed tag
- Fix for GZIPInputStream calling "close" on the input
stream in it's read() (specifically in the readTrailer).
Problem originates from SequenceInputStream usage
side-effect.

Test: cts run of CtsLibcoreTestCases
Bug: 29935305
Change-Id: I7986fe5d506f39cf4e45d37706623f8e195b4bcf
ZIPInputStream.java
9ed25c84361a626b66692a6924bfac5ab8ce3e59 28-Oct-2016 Przemyslaw Szczepaniak <pszczepaniak@google.com> Merge "Port java.util.zip.(CRC|Adler)32 changes from openJdk8u60"
am: b3982e508c

Change-Id: Iff7f18186dbf71ff4d53bcb0cd97e3475d753b10
6c877179523385568cb4752a5825bf76f46769e2 26-Oct-2016 Przemyslaw Szczepaniak <pszczepaniak@google.com> Port java.util.zip.(CRC|Adler)32 changes from openJdk8u60

- Added new method for both CRC32 and Adler32:
update(ByteBuffer).
- Minor javadoc and header updates

Test: cts run of CtsLibcoreTestCases
Bug: 29935305
Change-Id: I80acc491d36f5b6a04e6a2dbeb461632d02389f6
dler32.java
RC32.java
da196975402c72c2e9e43d977d4ad4d28e210962 26-Oct-2016 Przemyslaw Szczepaniak <pszczepaniak@google.com> Merge "Port trivial java.util.zip changes from openJdk8u60"
am: b2d6966995

Change-Id: I24940f5e467bd6179ab212223d31e4cc05d8c273
f54e9b2a5f66f0caa1ae89e15ed0a26d00795df1 25-Oct-2016 Przemyslaw Szczepaniak <pszczepaniak@google.com> Port trivial java.util.zip changes from openJdk8u60

This change consists of javadoc updates, minor code
changes and missing android-changed tags. Non-trivial
changes will be handled in separate changes.

Deflater: Missing close-guard&initIDs android-changed tag
DeflaterInputStream: Javadoc updates
DeflaterOutputStream: Javadoc updates, added missing android-changed tag
in .deflate()
GZIPOutputStream: Javadoc updates
Inflater: Javadoc updates, missing close-guard&initIDs android-changed tag
InflaterInputStream: Added missing Android-changed tags, javadoc updates,
replaced "& 0xff" with Byte.toUnsignedInt call.
InflaterOutputStream: Javadoc updates
ZipConstants, ZipCoder: Header update
package.html: ZIP app note URL refresh
java_util_zip_Deflater.c: init method switch reformated, Z_VERSION_ERROR
handling
java_util_zip_Inflater.c: init method switch reformated, Z_VERSION_ERROR
handling

Test: cts run of CtsLibcoreTestCases
Bug: 29935305
Change-Id: If9223c5835a273cf20d77fb1432b989f644ac41d
eflater.java
eflaterInputStream.java
eflaterOutputStream.java
ZIPOutputStream.java
nflater.java
nflaterInputStream.java
nflaterOutputStream.java
ipCoder.java
ipConstants.java
ipConstants64.java
ackage.html
046ddd5efe5715ec47bb14423caf7a160a407150 12-Sep-2016 Przemyslaw Szczepaniak <pszczepaniak@google.com> Fix ZipFile exception for non-existent files am: d95a908045
am: 0891418a56

Change-Id: I3467c0462337975f3b06f354cf91691df9a4ac98
d95a908045486d862dfe0be056dd4ecfb3bd7693 25-Aug-2016 Przemyslaw Szczepaniak <pszczepaniak@google.com> Fix ZipFile exception for non-existent files

This change fixes N regression in java.util.zip.ZipFile constructor.
In previous android releases, for non-existent files, ZipFile
constructor was throwing FileNotFoundException. Due to
change in commit adc40417389a57bc7a831f55334bffcc07343eb9,
N started to use ZipException in this case. This change
reverts to pre-N behavior.

Test: libcore.java.util.zip.ZipFileTest
Bug: 31077136
Change-Id: I7c7240d0808552f4e0cf4ed4ccbda7537df2d2b1
ipFile.java
7749d4bf336601110cffc639080653de44bb17e9 19-Aug-2016 Narayan Kamath <narayan@google.com> ZipFile: Never change file offset during I/O operations. am: 0393d3c84e
am: 1e5e6d4d1b

Change-Id: Ie80cb644cb7076735f36bd4aa85d372ab4d386a9
0393d3c84ed9bd24bcf0dac3782a1cc23400ace8 18-Aug-2016 Narayan Kamath <narayan@google.com> ZipFile: Never change file offset during I/O operations.

Use pread instead read and eliminate unnecessary calls to lseek.

dalvik.system.VMClassLoader maintains a cache of JarFile objects
that it creates whenever it loads resources from them. This cache may
be populated in the zygote as a side effect of preloading classes. When
processes are forked from the zygote, the file descriptors associated
with these JarFile objects point to the same kernel file description
and may end up stepping on each others toes. To avoid such issues, we
never make any offset changes to the associated file.

Note that we have a guarantee that the file will never be closed in
any forked process because the associated JarFile objects can never be
collected.

test: run cts -m CtsLibcoreTestCases / ZipStressTest / manual testing
to trigger the race condition.

bug: 30407219
Change-Id: Ic770a6ab6aca7f123a90002327d7f0a321e9afef
ipFile.java
fde01e06d8aacfc18c2d4bf1930e271ae5c812d1 02-Aug-2016 Yi Kong <yikong@google.com> Remove unnecessary +x flag

Source code files and serialized resource files should not have x flag set.

This is a follow up to commit 49965c1d, where native codes and some Java
source files are left out.

Bug: 29977629
Test: Build, CTS tests
Change-Id: I475491284cf5784ed499daa434c2845cdadea3a0
ackage.html
49965c1dc9da104344f4893a05e45795a5740d20 30-Jun-2016 Ganesh Mahendran <opensource.ganesh@gmail.com> remove x attribute of java file

java file does not need x attribute. This patch removes it.

Change-Id: I2a7170d99f4bee7a7b819621c84dd197ded37fa2
Signed-off-by: Ganesh Mahendran <opensource.ganesh@gmail.com>
dler32.java
RC32.java
heckedInputStream.java
heckedOutputStream.java
hecksum.java
ataFormatException.java
eflater.java
eflaterInputStream.java
eflaterOutputStream.java
ZIPInputStream.java
ZIPOutputStream.java
nflater.java
nflaterInputStream.java
nflaterOutputStream.java
StreamRef.java
ipCoder.java
ipConstants.java
ipConstants64.java
ipEntry.java
ipError.java
ipException.java
ipFile.java
ipInputStream.java
ipOutputStream.java
a128ef7c6913e8b5f2ef4678ade5f97d7f7f452f 26-May-2016 Przemyslaw Szczepaniak <pszczepaniak@google.com> Fix java.util.zip.ZipFile with OPEN_DELETE.

openJdk java.util.zip.ZipFile with OPEN_DELETE flag
uses unlink to remove the file just after it's opened.

This is causing trouble on /storage partition, we
can read/write unlinked file easily, but lseek seems
to fail with ENOENT.

This change introduces alternative implementation that
doesn't use unlink before closing the file.

Bug: 28901232
Bug: 28950284
Change-Id: I871a84e9a14bc1b4b9d5b0faa207579e27bcfc81
(cherry picked from commit ae6b1b85c67401fc9d986c3ffb7d9e8a9c804c30)
ipFile.java
ae6b1b85c67401fc9d986c3ffb7d9e8a9c804c30 26-May-2016 Przemyslaw Szczepaniak <pszczepaniak@google.com> Fix java.util.zip.ZipFile with OPEN_DELETE.

openJdk java.util.zip.ZipFile with OPEN_DELETE flag
uses unlink to remove the file just after it's opened.

This is causing trouble on /storage partition, we
can read/write unlinked file easily, but lseek seems
to fail with ENOENT.

This change introduces alternative implementation that
doesn't use unlink before closing the file.

Bug: 28901232
Bug: 28950284
Change-Id: I871a84e9a14bc1b4b9d5b0faa207579e27bcfc81
ipFile.java
d66fb8e8bb26b1d294a7c42d740acaf427a3a0a3 03-May-2016 Przemyslaw Szczepaniak <pszczepaniak@google.com> Move clinit code to registration funtions

Moved clinit code that fetches field/method ids
to JNI registration funcitons. This will allow to
compile-time initialize these classes.

More classes will follow.

Bug: 28153851
Change-Id: I5918e281a65a2ca2168dfe1bdd18cc3c5df8f2f6
(cherry picked from commit 2798490baa8ee586e38bdd09707f4fb18ef0d023)
eflater.java
nflater.java
ipFile.java
2798490baa8ee586e38bdd09707f4fb18ef0d023 03-May-2016 Przemyslaw Szczepaniak <pszczepaniak@google.com> Move clinit code to registration funtions

Moved clinit code that fetches field/method ids
to JNI registration funcitons. This will allow to
compile-time initialize these classes.

More classes will follow.

Bug: 28153851
Change-Id: I5918e281a65a2ca2168dfe1bdd18cc3c5df8f2f6
eflater.java
nflater.java
ipFile.java
fa07c88938c939eea9770e52f4813476e4ba6f3b 12-Feb-2016 Narayan Kamath <narayan@google.com> ZipFile: Improve performance for ZipFile.<init>

Avoid thousands of JNI transitions in the constructor. We can
quite easily check for invalid entry names and duplicates while
parsing the central directory in native code.

The benchmarks show that the median time for opening a file with 8192
entries decreased from 488ms to 120us.

AFTER:
Trial Report (1 of 3):
Experiment {instrument=runtime, benchmarkMethod=timeZipFileOpen, vm=default, parameters={numEntries=128}}
Results:
runtime(ns): min=112794.57, 1st qu.=113238.72, median=114539.28, mean=119694.66, 3rd qu.=125191.84, max=143145.02
Trial Report (2 of 3):
Experiment {instrument=runtime, benchmarkMethod=timeZipFileOpen, vm=default, parameters={numEntries=1024}}
Results:
runtime(ns): min=112868.04, 1st qu.=113582.70, median=115180.93, mean=117760.32, 3rd qu.=118067.87, max=137760.10
Trial Report (3 of 3):
Experiment {instrument=runtime, benchmarkMethod=timeZipFileOpen, vm=default, parameters={numEntries=8192}}
Results:
runtime(ns): min=112417.27, 1st qu.=114630.16, median=117272.70, mean=119197.74, 3rd qu.=122742.84, max=135330.50

BEFORE:
Trial Report (1 of 3):
Experiment {instrument=runtime, benchmarkMethod=benchmarkZipFileOpen, vm=default, parameters={numEntries=128}}
Results:
runtime(ns): min=9360144.37, 1st qu.=9559712.86, median=9839983.50, mean=9816559.27, 3rd qu.=10057399.81, max=10170918.14
Trial Report (2 of 3):
Experiment {instrument=runtime, benchmarkMethod=benchmarkZipFileOpen, vm=default, parameters={numEntries=1024}}
Results:
runtime(ns): min=60682471.64, 1st qu.=62388598.00, median=64319977.57, mean=66545494.60, 3rd qu.=72114121.64, max=77298980.57
Trial Report (3 of 3):
Experiment {instrument=runtime, benchmarkMethod=benchmarkZipFileOpen, vm=default, parameters={numEntries=8192}}
Results:
runtime(ns): min=485804479.00, 1st qu.=487322656.00, median=488986250.00, mean=489820034.67, 3rd qu.=492383229.50, max=495372604.00

bug: 27145664

(cherry picked from commit 8c6a910cd20026c9181a46c8e800a4a566f14527)

Change-Id: Ic1bfe934548f7baf8b8789f069f654725a4b228b
ipFile.java
8c6a910cd20026c9181a46c8e800a4a566f14527 12-Feb-2016 Narayan Kamath <narayan@google.com> ZipFile: Improve performance for ZipFile.<init>

Avoid thousands of JNI transitions in the constructor. We can
quite easily check for invalid entry names and duplicates while
parsing the central directory in native code.

The benchmarks show that the median time for opening a file with 8192
entries decreased from 488ms to 120us.

AFTER:
Trial Report (1 of 3):
Experiment {instrument=runtime, benchmarkMethod=timeZipFileOpen, vm=default, parameters={numEntries=128}}
Results:
runtime(ns): min=112794.57, 1st qu.=113238.72, median=114539.28, mean=119694.66, 3rd qu.=125191.84, max=143145.02
Trial Report (2 of 3):
Experiment {instrument=runtime, benchmarkMethod=timeZipFileOpen, vm=default, parameters={numEntries=1024}}
Results:
runtime(ns): min=112868.04, 1st qu.=113582.70, median=115180.93, mean=117760.32, 3rd qu.=118067.87, max=137760.10
Trial Report (3 of 3):
Experiment {instrument=runtime, benchmarkMethod=timeZipFileOpen, vm=default, parameters={numEntries=8192}}
Results:
runtime(ns): min=112417.27, 1st qu.=114630.16, median=117272.70, mean=119197.74, 3rd qu.=122742.84, max=135330.50

BEFORE:
Trial Report (1 of 3):
Experiment {instrument=runtime, benchmarkMethod=benchmarkZipFileOpen, vm=default, parameters={numEntries=128}}
Results:
runtime(ns): min=9360144.37, 1st qu.=9559712.86, median=9839983.50, mean=9816559.27, 3rd qu.=10057399.81, max=10170918.14
Trial Report (2 of 3):
Experiment {instrument=runtime, benchmarkMethod=benchmarkZipFileOpen, vm=default, parameters={numEntries=1024}}
Results:
runtime(ns): min=60682471.64, 1st qu.=62388598.00, median=64319977.57, mean=66545494.60, 3rd qu.=72114121.64, max=77298980.57
Trial Report (3 of 3):
Experiment {instrument=runtime, benchmarkMethod=benchmarkZipFileOpen, vm=default, parameters={numEntries=8192}}
Results:
runtime(ns): min=485804479.00, 1st qu.=487322656.00, median=488986250.00, mean=489820034.67, 3rd qu.=492383229.50, max=495372604.00

bug: 27145664

Change-Id: I510e923ac54d52082b9eafa0f151ad4f71826333
ipFile.java
f37dcda672c24f29269578defc6fc7c1615f4cd4 02-Feb-2016 Narayan Kamath <narayan@google.com> ZipEntry: Update comment.

Change-Id: Iff15962ca474e245f736d5a8bd1c2d29a608a85b
ipEntry.java
189d3d5eb6b6ff364889df280f6a1911aae09b91 08-Jan-2016 Narayan Kamath <narayan@google.com> InflaterInputStream : Unconditionally close external inflaters.

bug: 26462400
Change-Id: Iee06e72f6913b67cea13c0c2f818cb12f9985019
ZIPInputStream.java
nflaterInputStream.java
ipInputStream.java
9bd6371468aac3ddaa7057127d5ef152aea1227d 06-Jan-2016 Narayan Kamath <narayan@google.com> Re-enable closeguard on a few classes that were missing it.

Change-Id: I49f580dbd02def75584a00edc849c2b3fbdb8aec
eflater.java
nflater.java
ipFile.java
2c87ad3a45cecf9e344487cad1abfdebe79f2c7c 21-Dec-2015 Narayan Kamath <narayan@google.com> Update file headers.

Change-Id: I8149f41585768a1a4b72ab7bb4a1452376c05cc2
eflaterInputStream.java
eflaterOutputStream.java
nflater.java
nflaterInputStream.java
ipEntry.java
ipFile.java
ipInputStream.java
ipOutputStream.java
e8e4da2f84da30bbc11a63b7a87a153f62b1ce65 27-Nov-2015 Przemyslaw Szczepaniak <pszczepaniak@google.com> Remove StrictJarFile from ClassPathURLStreamHandler

StrictJarFile was moved from libcore to framework/base
(licensing reasons) and in no longer accessible in
the ClassPathURLStreamHandler. I replaced it using
JarFile class.

+ ZipFile compatibility fix, openjdk ZipFile#getInputStream
was not fine with directory entries without "/" suffix (returning null),
fixed a flag to deal with them like in previous impl.

Bug: 25337946
Change-Id: I9832b34664bd331a96cd06aabb4cbf834c58f208
ipFile.java
1a9ca631d5e2d44f39b556132af3a3cb4e34a966 28-Sep-2015 Przemyslaw Szczepaniak <pszczepaniak@google.com> Update StrictJarFile.

Also add a hidden ZipEntry constructor that this code expects.

Change-Id: I30c437b016bbbfcebe5a81bad4af3b31ee2317f3
ipEntry.java
8dd7ce3e7ee13c49c8483f8a931747ab247fb573 21-Aug-2015 Przemyslaw Szczepaniak <pszczepaniak@google.com> Fix ZipInputStream#available()

ZipInputStream#available() will return 0 if there's
no more bytes to read in deflated file.

Fixes ZipInputStreamTest#test_available

Change-Id: Ic8b2dc1d042e8ce2c4f98c60beff9617adec2b02
ipInputStream.java
d4f87eb09746acbeaf5321c000306ac994f32836 19-Aug-2015 Przemyslaw Szczepaniak <pszczepaniak@google.com> Fix for ZipOutputStreamTest#testCreateEmpty

Change-Id: I90141c5a7f5ec72b33b362cfcc00d426f11a9df0
ipOutputStream.java
adbb22cb1c38fcb6160276fa2739a46b0ce516c3 19-Aug-2015 Przemyslaw Szczepaniak <pszczepaniak@google.com> Fix DeflaterOutputStreamTest#testSyncFlushDeflater

Based on https://googleplex-android-review.git.corp.google.com/#/c/102108

Change-Id: I78fefa10929d58c4947abed5af815c10b89db02c
eflaterOutputStream.java
9c17d0241b1b974e5379949df2ff881d0fff3ef4 07-Aug-2015 Narayan Kamath <narayan@google.com> Throw IOException on all stream operations on closed ZipFiles.

Change-Id: I0ade0cd2fab28203c0f0a78978ce1db46cdb3f5d
ipFile.java
b3c5785d4f83fe0ce0bfa91f04e7cc0989e93142 07-Aug-2015 Narayan Kamath <narayan@google.com> Throw ISE on closed inflaters.

Change-Id: I17de85b7230f36d0437d5e1f3ab4508bcac895f0
nflater.java
35b9ace5413a5198f13e73763e0d1b693361c104 07-Aug-2015 Narayan Kamath <narayan@google.com> Improve InflaterInputStream#available.

Eagerly set eof depending on the inflater state.

Change-Id: Ib89f86d88353027c144bd85ae0c0c5b8af2399fa
nflaterInputStream.java
457d3b26a6cbd62d203d3b56f69bcc441ea8d66f 07-Aug-2015 Narayan Kamath <narayan@google.com> Improve DeflaterInputStream#available.

We set reachEOF as soon as def.finished() == true.

Change-Id: Ib843221c1b029de577f7399c5e1ff89b1279824d
eflaterInputStream.java
3ecf5a6acea7b312ca410f52ac5b1e993ba710c9 13-Jul-2015 Przemyslaw Szczepaniak <pszczepaniak@google.com> java.util.zip.Adler32 native code

Change-Id: If109b6bd8869548132c21686ebf55df107ea7ec2
dler32.java
f7ab2bc37debba91864bfec6572a3e7bbe994c58 06-May-2015 Piotr Jastrzebski <haaawk@google.com> Use OpenJdk implementation of java.net.*

- Add FileURLConnection.
- NetworkUtilities : Update field names in JNI.
- Suppress a few libcore tests that rely on internal implementation
details.
- Remove code that loads the net library (not needed on android).
- DatagramSocket : Add setNetworkInterface method.
- HttpCookie : make parse & field public
- Inet4Address / Inet6Address : Add getAddressInternal.
- InetAddress : Add methods required by frameworks/base, particularly
those required to deal with net-ids and scope ids.
- URI : Add UriCodec static members for AUTHORITY_ENCODER and friends.
- URL : Add toUriLenient
- URLStreamHandler : Add a toExternalForm variant that optionally
escapes illegal chars.
- Inet4AddressImpl.c : Unconditionally define HAS_GLIBC_GETHOSTBY_R

Change-Id: Ic51f863941f5d954ed6cf86309cc610e711d54bd
ipFile.java
adc40417389a57bc7a831f55334bffcc07343eb9 21-Apr-2015 Piotr Jastrzebski <haaawk@google.com> Fix unit tests from java.util.{zip, logging, prefs}.*

- zip64 is now supported.
- LogManager: use getResourceAsStream for logging.properties.
- MemoryHandler : use context classloader for loading properties.
- ZipEntry : Explicitly use UTF-8 for names and comments.

- ZipFile :
- Error out early if the file is too short..
- .. or if the file has zero zip entries.
- .. or if the file has two entries with the same name.
- .. or if any the entries have a C string terminator in their name.

Change-Id: Ie0cdb3d9dd5f12181507b20fc239bba3b2b9b374
ipEntry.java
ipFile.java
a8ed084745590c5e4a0e8559b5821809d60fe242 21-Apr-2015 Piotr Jastrzebski <haaawk@google.com> Use OpenJdk implementation of java.util.zip.*

- Move some of the internal implementation details of libcore's
zipfile into StrictJarFile.
- TODO: Adler32 continues to use old native code from libcore, this
must be switched over.
- InflaterInputStream: |closed| becomes protected.
- ZipFile : Always use mmap.
- ZipEntry : Add a long dataOffset.
- Switch all native code over to explicit registration.

Change-Id: Id5519b4548ea1eb22fd182edfbd2c804dc6f3bb5
dler32.java
nflaterInputStream.java
ipEntry.java
ipFile.java
51b1b6997fd3f980076b8081f7f1165ccc2a4008 16-Feb-2015 Piotr Jastrzebski <haaawk@google.com> Initial import of OpenJdk files.

Create new libcore/ojluni directory with src/main/java and
src/main/native subdirectiories.

Build ojluni into core-oj jar.

Use openjdk classes from java.awt.font package.

Copy all files from jdk/src/share/classes and jdk/src/solaris/classes
directories in openjdk into libcore/ojluni/src/main/java.

Copy following native files from openjdk to
libcore/ojluni/src/main/native:
jdk/src/solaris/native/java/io/canonicalize_md.c
build/linux-amd64/include/classfile_constants.h
jdk/src/share/native/java/net/DatagramPacket.c
jdk/src/solaris/native/sun/net/spi/DefaultProxySelector.c
jdk/src/share/native/java/lang/Double.c
jdk/src/share/native/java/lang/fdlibm/include/fdlibm.h
jdk/src/solaris/native/sun/nio/ch/FileChannelImpl.c
jdk/src/solaris/native/java/io/FileDescriptor_md.c
jdk/src/solaris/native/sun/nio/ch/FileDispatcherImpl.c
jdk/src/share/native/java/io/FileInputStream.c
jdk/src/solaris/native/sun/nio/ch/FileKey.c
jdk/src/solaris/native/java/io/FileOutputStream_md.c
jdk/src/solaris/native/java/io/FileSystem_md.c
jdk/src/share/native/java/lang/Float.c
jdk/src/share/native/java/net/Inet4Address.c
jdk/src/solaris/native/java/net/Inet4AddressImpl.c
jdk/src/share/native/java/net/Inet6Address.c
jdk/src/solaris/native/java/net/Inet6AddressImpl.c
jdk/src/share/native/java/net/InetAddress.c
jdk/src/solaris/native/java/net/InetAddressImplFactory.c
jdk/src/share/native/java/io/io_util.c
jdk/src/solaris/native/sun/nio/ch/IOUtil.c
jdk/src/share/native/java/io/io_util.h
jdk/src/solaris/native/java/io/io_util_md.c
jdk/src/solaris/native/java/io/io_util_md.h
build/linux-amd64/tmp/java/java.nio/nio/CClassHeaders/java_io_FileDescriptor.h
build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_io_FileInputStream.h
build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_io_FileOutputStream.h
build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_io_FileSystem.h
build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_io_ObjectStreamClass.h
build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_io_UnixFileSystem.h
build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_lang_Double.h
build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_lang_Float.h
build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_lang_Integer.h
build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_lang_Long.h
build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_lang_Runtime.h
build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_lang_Shutdown.h
build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_lang_StrictMath.h
build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_lang_String.h
build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_lang_System.h
build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_lang_Thread.h
build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_lang_Throwable.h
build/linux-amd64/tmp/sun/java.net/net/CClassHeaders/java_net_DatagramPacket.h
build/linux-amd64/tmp/sun/java.net/net/CClassHeaders/java_net_Inet4Address.h
build/linux-amd64/tmp/sun/java.net/net/CClassHeaders/java_net_Inet4AddressImpl.h
build/linux-amd64/tmp/sun/java.net/net/CClassHeaders/java_net_Inet6Address.h
build/linux-amd64/tmp/sun/java.net/net/CClassHeaders/java_net_Inet6AddressImpl.h
build/linux-amd64/tmp/sun/java.net/net/CClassHeaders/java_net_InetAddress.h
build/linux-amd64/tmp/sun/java.net/net/CClassHeaders/java_net_InetAddressImplFactory.h
build/linux-amd64/tmp/sun/java.net/net/CClassHeaders/java_net_NetworkInterface.h
build/linux-amd64/tmp/sun/java.net/net/CClassHeaders/java_net_PlainDatagramSocketImpl.h
build/linux-amd64/tmp/sun/java.net/net/CClassHeaders/java_net_PlainSocketImpl.h
build/linux-amd64/tmp/sun/java.net/net/CClassHeaders/java_net_SocketInputStream.h
build/linux-amd64/tmp/sun/java.net/net/CClassHeaders/java_net_SocketOptions.h
build/linux-amd64/tmp/sun/java.net/net/CClassHeaders/java_net_SocketOutputStream.h
jdk/src/share/native/java/lang/java_props.h
jdk/src/solaris/native/java/lang/java_props_md.c
jdk/src/share/native/java/util/zip/Adler32.c as java_util_zip_Adler32.c
jdk/src/share/native/java/util/zip/CRC32.c as java_util_zip_CRC32.c
build/linux-amd64/tmp/sun/java.util.zip/zip/CClassHeaders/java_util_zip_CRC32.h
jdk/src/share/native/java/util/zip/Deflater.c as java_util_zip_Deflater.c
build/linux-amd64/tmp/sun/java.util.zip/zip/CClassHeaders/java_util_zip_Deflater.h
jdk/src/share/native/java/util/zip/Inflater.c as java_util_zip_Inflater.c
build/linux-amd64/tmp/sun/java.util.zip/zip/CClassHeaders/java_util_zip_Inflater.h
jdk/src/share/native/java/util/zip/ZipFile.c as java_util_zip_ZipFile.c
build/linux-amd64/tmp/sun/java.util.zip/zip/CClassHeaders/java_util_zip_ZipFile.h
jdk/src/share/native/java/lang/fdlibm/include/jfdlibm.h
jdk/src/share/native/common/jlong.h
jdk/src/solaris/native/common/jlong_md.h
jdk/src/share/native/common/jni_util.c
jdk/src/share/native/common/jni_util.h
jdk/src/solaris/native/common/jni_util_md.c
jdk/src/share/javavm/export/jvm.h
jdk/src/solaris/javavm/export/jvm_md.h
jdk/src/solaris/native/java/net/linux_close.c
jdk/src/share/native/sun/misc/NativeSignalHandler.c
jdk/src/solaris/native/sun/nio/ch/NativeThread.c
jdk/src/share/native/java/net/net_util.c
jdk/src/share/native/java/net/net_util.h
jdk/src/solaris/native/java/net/net_util_md.c
jdk/src/solaris/native/java/net/net_util_md.h
jdk/src/solaris/native/java/net/NetworkInterface.c
jdk/src/share/native/sun/nio/ch/nio.h
jdk/src/solaris/native/sun/nio/ch/nio_util.h
jdk/src/share/native/java/io/ObjectStreamClass.c
jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c
jdk/src/solaris/native/java/net/PlainSocketImpl.c
jdk/src/solaris/native/java/lang/ProcessEnvironment_md.c
jdk/src/share/native/java/lang/Runtime.c
jdk/src/share/native/java/lang/Shutdown.c
jdk/src/share/native/sun/misc/Signal.c
jdk/src/solaris/native/java/net/SocketInputStream.c
jdk/src/solaris/native/java/net/SocketOutputStream.c
jdk/src/share/native/java/lang/StrictMath.c
jdk/src/share/native/java/lang/String.c
build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/sun_misc_NativeSignalHandler.h
build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/sun_misc_Signal.h
build/linux-amd64/tmp/sun/java.net/net/CClassHeaders/sun_net_spi_DefaultProxySelector.h
build/linux-amd64/tmp/java/java.nio/nio/CClassHeaders/sun_nio_ch_FileChannelImpl.h
build/linux-amd64/tmp/java/java.nio/nio/CClassHeaders/sun_nio_ch_FileDispatcherImpl.h
build/linux-amd64/tmp/java/java.nio/nio/CClassHeaders/sun_nio_ch_FileKey.h
build/linux-amd64/tmp/java/java.nio/nio/CClassHeaders/sun_nio_ch_IOStatus.h
build/linux-amd64/tmp/java/java.nio/nio/CClassHeaders/sun_nio_ch_IOUtil.h
build/linux-amd64/tmp/java/java.nio/nio/CClassHeaders/sun_nio_ch_NativeThread.h
jdk/src/share/native/java/lang/System.c
jdk/src/share/native/java/lang/Thread.c
jdk/src/share/native/java/lang/Throwable.c
jdk/src/solaris/native/java/io/UnixFileSystem_md.c
jdk/src/solaris/native/java/lang/UNIXProcess_md.c
jdk/src/share/native/java/util/zip/zip_util.c
jdk/src/share/native/java/util/zip/zip_util.h

Change-Id: Ib237df4e1b7b5b4d9f12e74d189e6ec9eed3c31d
dler32.java
RC32.java
heckedInputStream.java
heckedOutputStream.java
hecksum.java
ataFormatException.java
eflater.java
eflaterInputStream.java
eflaterOutputStream.java
ZIPInputStream.java
ZIPOutputStream.java
nflater.java
nflaterInputStream.java
nflaterOutputStream.java
StreamRef.java
ipCoder.java
ipConstants.java
ipConstants64.java
ipEntry.java
ipError.java
ipException.java
ipFile.java
ipInputStream.java
ipOutputStream.java
ackage.html