Skip to content

Commit 552d007

Browse files
authored
Merge pull request #2202 from SAP/pr-jdk-25.0.3+6
Merge to tag jdk-25.0.3+6
2 parents 4404fc4 + d91e3ef commit 552d007

318 files changed

Lines changed: 9221 additions & 6754 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

make/autoconf/lib-bundled.m4

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -267,8 +267,8 @@ AC_DEFUN_ONCE([LIB_SETUP_ZLIB],
267267
LIBZ_LIBS=""
268268
if test "x$USE_EXTERNAL_LIBZ" = "xfalse"; then
269269
LIBZ_CFLAGS="$LIBZ_CFLAGS -I$TOPDIR/src/java.base/share/native/libzip/zlib"
270-
if test "x$OPENJDK_TARGET_OS" = xmacosx; then
271-
LIBZ_CFLAGS="$LIBZ_CFLAGS -DHAVE_UNISTD_H"
270+
if test "x$OPENJDK_TARGET_OS" = xmacosx -o "x$OPENJDK_TARGET_OS" = xaix -o "x$OPENJDK_TARGET_OS" = xlinux; then
271+
LIBZ_CFLAGS="$LIBZ_CFLAGS -DHAVE_UNISTD_H=1 -DHAVE_STDARG_H=1"
272272
fi
273273
else
274274
LIBZ_LIBS="-lz"

src/java.base/share/data/tzdata/VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,4 @@
2121
# or visit www.oracle.com if you need additional information or have any
2222
# questions.
2323
#
24-
tzdata2025c
24+
tzdata2026a

src/java.base/share/data/tzdata/etcetera

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,8 @@
4343
# which load the "UTC" file to handle seconds properly.
4444
Zone Etc/UTC 0 - UTC
4545

46-
# Functions like gmtime load the "GMT" file to handle leap seconds properly.
46+
# If leap second support is enabled, functions like gmtime
47+
# load the "GMT" file to handle leap seconds properly.
4748
# Vanguard section, which works with most .zi parsers.
4849
#Zone GMT 0 - GMT
4950
# Rearguard section, for TZUpdater 2.3.2 and earlier.

src/java.base/share/data/tzdata/europe

Lines changed: 68 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1064,9 +1064,19 @@ Zone Atlantic/Faroe -0:27:04 - LMT 1908 Jan 11 # Tórshavn
10641064

10651065
# Greenland
10661066
#
1067-
# From Paul Eggert (2004-10-31):
1067+
# From Paul Eggert (2026-01-22):
1068+
# During World War II, Greenland was effectively independent of Denmark and
1069+
# observed daylight saving time. TIME, volume 37, page 23 (1941-04-21)
1070+
# <https://time.com/archive/6770243/war-peace-greenlands-icy-mountains/> says,
1071+
# "Penfield and West made their way to the U.S.'s most northerly consulate.
1072+
# They were astonished to find that Greenlanders, with almost 24 hours of
1073+
# sunlight a day during the summer, have daylight saving time."
1074+
# As the details are unknown they are omitted from the data for now.
1075+
#
10681076
# During World War II, Germany maintained secret manned weather stations in
10691077
# East Greenland and Franz Josef Land, but we don't know their time zones.
1078+
# Also, they're likely out of scope for the database
1079+
# as we lack resources to track every bit of military activity.
10701080
# My source for this is Wilhelm Dege's book mentioned under Svalbard.
10711081
#
10721082
# From Paul Eggert (2017-12-10):
@@ -1980,7 +1990,6 @@ Zone Europe/Malta 0:58:04 - LMT 1893 Nov 2 # Valletta
19801990

19811991
# From Stepan Golosunov (2016-03-07):
19821992
# the act of the government of the Republic of Moldova Nr. 132 from 1990-05-04
1983-
# http://lex.justice.md/viewdoc.php?action=view&view=doc&id=298782&lang=2
19841993
# ... says that since 1990-05-06 on the territory of the Moldavian SSR
19851994
# time would be calculated as the standard time of the second time belt
19861995
# plus one hour of the "summer" time. To implement that clocks would be
@@ -2035,9 +2044,61 @@ Zone Europe/Malta 0:58:04 - LMT 1893 Nov 2 # Valletta
20352044
# says the 2014-03-30 spring-forward transition was at 02:00 local time.
20362045
# Guess that since 1997 Moldova has switched one hour before the EU.
20372046

2047+
# From Heitor David Pinto (2026-02-22):
2048+
# Soviet Moldovan resolution 132 of 1990 defined the summer time period from
2049+
# the last Sunday in March at 2:00 to the last Sunday in September at 3:00,
2050+
# matching the dates used in most of Europe at the time:
2051+
# https://web.archive.org/web/20211107050832/http://lex.justice.md/viewdoc.php?action=view&view=doc&id=298782&lang=1
2052+
#
2053+
# It seems that in 1996 Moldova changed the end date to October like most of
2054+
# Europe, but kept the transitions at 2:00 and 3:00 rather than 1:00 UTC,
2055+
# which would have been locally 3:00 and 4:00....
2056+
#
2057+
# The notices in the Moldovan government website and broadcaster showed the
2058+
# transitions at 2:00 and 3:00 until 2021:
2059+
# 2015 https://old.gov.md/en/node/7304
2060+
# 2016 https://old.gov.md/en/node/12587
2061+
# 2017 https://old.gov.md/en/node/20654
2062+
# 2017 https://old.gov.md/en/content/moldova-upholds-winter-time-night-28-29-october
2063+
# 2018 https://old.gov.md/en/content/moldova-switch-summer-time
2064+
# 2018 https://old.gov.md/en/content/cabinet-ministers-informs-about-switch-winter-time-28-october
2065+
# 2019 https://old.gov.md/en/content/moldova-switch-summer-time-31-march
2066+
# 2019 https://old.gov.md/en/node/31122
2067+
# 2020 https://old.gov.md/en/node/32771
2068+
# 2020 https://old.gov.md/en/node/34497
2069+
# 2021 https://trm.md/ro/social/moldova-trece-in-aceasta-noapte-la-ora-de-vara
2070+
# 2021 https://trm.md/en/social/republica-moldova-trece-la-ora-de-iarna1
2071+
#
2072+
# However, since 2022, the notices showed the transitions at 3:00 and 4:00,
2073+
# matching the EU rule at 1:00 UTC:
2074+
# 2022 https://trm.md/en/social/in-acest-weekend-republica-moldova-trece-la-ora-de-vara
2075+
# 2022 https://old.gov.md/en/content/moldova-switch-winter-time
2076+
# 2023 https://moldova1.md/p/6587/ora-de-vara-2023-cum-schimbam-acele-ceasornicelor-si-cand-trecem-la-ora-de-vara
2077+
# 2023 https://old.gov.md/en/node/46662
2078+
# 2024 https://moldova1.md/p/26535/republica-moldova-trece-la-ora-de-vara-in-acest-weekend
2079+
# 2024 https://moldova1.md/p/37768/republica-moldova-trece-in-aceasta-noapte-la-ora-de-iarna
2080+
# 2025 https://moldova1.md/p/46349/republica-moldova-trece-la-ora-de-vara-pe-30-martie-cum-ne-afecteaza-si-ce-recomanda-medicii
2081+
# 2025 https://moldova1.md/p/60469/republica-moldova-trece-la-ora-de-iarna-ceasurile-se-dau-inapoi-cu-o-ora
2082+
#
2083+
# It seems that the changes to the end date and transition times were just
2084+
# done in practice without formally changing the resolution. In late 2025, the
2085+
# government said that the Soviet resolution was still in force, and proposed
2086+
# a new resolution to replace it and formally establish the EU rule:
2087+
# ... based on the notices, it seems that in practice Moldova already
2088+
# uses the EU rule since 2022. This was also the year when Moldova applied to
2089+
# join the EU.
2090+
#
2091+
# From Robert Bastian (2026-02-26):
2092+
# This has been approved and published in the government gazette:
2093+
# https://monitorul.gov.md/ro/monitorul/view/pdf/3234/part/2#page=27
2094+
#
2095+
# From Paul Eggert (2026-02-24):
2096+
# Also see Svetlana Rudenko, "Moldova abandons the 'Soviet era'", Logos Press,
2097+
# 2026-02-21 <https://logos-pres.md/en/news/moldova-abandons-the-soviet-era/>.
2098+
20382099
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S
2039-
Rule Moldova 1997 max - Mar lastSun 2:00 1:00 S
2040-
Rule Moldova 1997 max - Oct lastSun 3:00 0 -
2100+
Rule Moldova 1997 2021 - Mar lastSun 2:00 1:00 S
2101+
Rule Moldova 1997 2021 - Oct lastSun 3:00 0 -
20412102

20422103
# Zone NAME STDOFF RULES FORMAT [UNTIL]
20432104
Zone Europe/Chisinau 1:55:20 - LMT 1880
@@ -2050,7 +2111,8 @@ Zone Europe/Chisinau 1:55:20 - LMT 1880
20502111
2:00 Russia EE%sT 1992
20512112
2:00 E-Eur EE%sT 1997
20522113
# See Romania commentary for the guessed 1997 transition to EU rules.
2053-
2:00 Moldova EE%sT
2114+
2:00 Moldova EE%sT 2022
2115+
2:00 EU EE%sT
20542116

20552117
# Poland
20562118

@@ -2436,7 +2498,7 @@ Zone Atlantic/Madeira -1:07:36 - LMT 1884 # Funchal
24362498
# Nine O'clock <http://www.nineoclock.ro/POL/1778pol.html>
24372499
# (1998-10-23) reports that the switch occurred at
24382500
# 04:00 local time in fall 1998. For lack of better info,
2439-
# assume that Romania and Moldova switched to EU rules in 1997,
2501+
# assume that Romania switched to EU rules in 1997,
24402502
# the same year as Bulgaria.
24412503
#
24422504
# Rule NAME FROM TO - IN ON AT SAVE LETTER/S

src/java.base/share/data/tzdata/leapseconds

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ Leap 2016 Dec 31 23:59:60 + S
9393
# Any additional leap seconds will come after this.
9494
# This Expires line is commented out for now,
9595
# so that pre-2020a zic implementations do not reject this file.
96-
#Expires 2026 Jun 28 00:00:00
96+
#Expires 2026 Dec 28 00:00:00
9797

9898
# Here are POSIX timestamps for the data in this file.
9999
# "#updated" gives the last time the leap seconds data changed
@@ -102,8 +102,8 @@ Leap 2016 Dec 31 23:59:60 + S
102102
# "#expires" gives the first time this file might be wrong;
103103
# if this file was derived from the IERS leap-seconds.list,
104104
# this is typically a bit less than one year after "updated".
105-
#updated 1751846400 (2025-07-07 00:00:00 UTC)
106-
#expires 1782604800 (2026-06-28 00:00:00 UTC)
105+
#updated 1767698058 (2026-01-06 11:14:18 UTC)
106+
#expires 1798416000 (2026-12-28 00:00:00 UTC)
107107

108108
# Updated through IERS Bulletin C (https://hpiers.obspm.fr/iers/bul/bulc/bulletinc.dat)
109-
# File expires on 28 June 2026
109+
# File expires on 28 December 2026

src/java.base/share/legal/zlib.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
## zlib v1.3.1
1+
## zlib v1.3.2
22

33
### zlib License
44
<pre>
55

6-
Copyright (C) 1995-2024 Jean-loup Gailly and Mark Adler
6+
Copyright (C) 1995-2026 Jean-loup Gailly and Mark Adler
77

88
This software is provided 'as-is', without any express or implied
99
warranty. In no event will the authors be held liable for any damages

src/java.base/share/native/libzip/zlib/ChangeLog

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,57 @@
11

22
ChangeLog file for zlib
33

4+
Changes in 1.3.2 (17 Feb 2026)
5+
- Continued rewrite of CMake build [Vollstrecker]
6+
- Various portability improvements
7+
- Various github workflow additions and improvements
8+
- Check for negative lengths in crc32_combine functions
9+
- Copy only the initialized window contents in inflateCopy
10+
- Prevent the use of insecure functions without an explicit request
11+
- Add compressBound_z and deflateBound_z functions for large values
12+
- Use atomics to build inflate fixed tables once
13+
- Add definition of ZLIB_INSECURE to build tests with c89 and c94
14+
- Add --undefined option to ./configure for UBSan checker
15+
- Copy only the initialized deflate state in deflateCopy
16+
- Zero inflate state on allocation
17+
- Remove untgz from contrib
18+
- Add _z versions of the compress and uncompress functions
19+
- Vectorize the CRC-32 calculation on the s390x
20+
- Set bit 11 of the zip header flags in minizip if UTF-8
21+
- Update OS/400 support
22+
- Add a test to configure to check for a working compiler
23+
- Check for invalid NULL pointer inputs to zlib operations
24+
- Add --mandir to ./configure to specify manual directory
25+
- Add LICENSE.Info-Zip to contrib/minizip
26+
- Remove vstudio projects in lieu of cmake-generated projects
27+
- Replace strcpy() with memcpy() in contrib/minizip
28+
29+
Changes in 1.3.1.2 (8 Dec 2025)
30+
- Improve portability to RISC OS
31+
- Permit compiling contrib/minizip/unzip.c with decryption
32+
- Enable build of shared library on AIX
33+
- Make deflateBound() more conservative and handle Z_STREAM_END
34+
- Add zipAlreadyThere() to minizip zip.c to help avoid duplicates
35+
- Make z_off_t 64 bits by default
36+
- Add deflateUsed() function to get the used bits in the last byte
37+
- Avoid out-of-bounds pointer arithmetic in inflateCopy()
38+
- Add Haiku to configure for proper LDSHARED settings
39+
- Add Bazel targets
40+
- Complete rewrite of CMake build [Vollstrecker]
41+
- Clarify the use of errnum in gzerror()
42+
- Note that gzseek() requests are deferred until the next operation
43+
- Note the use of gzungetc() to run a deferred seek while reading
44+
- Fix bug in inflatePrime() for 16-bit ints
45+
- Add a "G" option to force gzip, disabling transparency in gzread()
46+
- Improve the discrimination between trailing garbage and bad gzip
47+
- Allow gzflush() to write empty gzip members
48+
- Remove redundant frees of point list on error in examples/zran.c
49+
- Clarify the use of inflateGetHeader()
50+
- Update links to the RFCs
51+
- Return all available uncompressed data on error in gzread.c
52+
- Support non-blocking devices in the gz* routines
53+
- Various other small improvements
54+
455
Changes in 1.3.1 (22 Jan 2024)
556
- Reject overflows of zip header fields in minizip
657
- Fix bug in inflateSync() for data held in bit buffer

src/java.base/share/native/libzip/zlib/README

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
ZLIB DATA COMPRESSION LIBRARY
22

3-
zlib 1.3.1 is a general purpose data compression library. All the code is
4-
thread safe. The data format used by the zlib library is described by RFCs
5-
(Request for Comments) 1950 to 1952 in the files
6-
http://tools.ietf.org/html/rfc1950 (zlib format), rfc1951 (deflate format) and
7-
rfc1952 (gzip format).
3+
zlib 1.3.2 is a general purpose data compression library. All the code is
4+
thread safe (though see the FAQ for caveats). The data format used by the zlib
5+
library is described by RFCs (Request for Comments) 1950 to 1952 at
6+
https://datatracker.ietf.org/doc/html/rfc1950 (zlib format), rfc1951 (deflate
7+
format) and rfc1952 (gzip format).
88

99
All functions of the compression library are documented in the file zlib.h
1010
(volunteer to write man pages welcome, contact [email protected]). A usage example
@@ -21,17 +21,17 @@ make_vms.com.
2121

2222
Questions about zlib should be sent to <[email protected]>, or to Gilles Vollant
2323
<[email protected]> for the Windows DLL version. The zlib home page is
24-
http://zlib.net/ . Before reporting a problem, please check this site to
24+
https://zlib.net/ . Before reporting a problem, please check this site to
2525
verify that you have the latest version of zlib; otherwise get the latest
2626
version and check whether the problem still exists or not.
2727

28-
PLEASE read the zlib FAQ http://zlib.net/zlib_faq.html before asking for help.
28+
PLEASE read the zlib FAQ https://zlib.net/zlib_faq.html before asking for help.
2929

3030
Mark Nelson <[email protected]> wrote an article about zlib for the Jan. 1997
3131
issue of Dr. Dobb's Journal; a copy of the article is available at
32-
https://marknelson.us/posts/1997/01/01/zlib-engine.html .
32+
https://zlib.net/nelson/ .
3333

34-
The changes made in version 1.3.1 are documented in the file ChangeLog.
34+
The changes made in version 1.3.2 are documented in the file ChangeLog.
3535

3636
Unsupported third party contributions are provided in directory contrib/ .
3737

@@ -43,9 +43,9 @@ can be found at https://github.com/pmqs/IO-Compress .
4343

4444
A Python interface to zlib written by A.M. Kuchling <[email protected]> is
4545
available in Python 1.5 and later versions, see
46-
http://docs.python.org/library/zlib.html .
46+
https://docs.python.org/3/library/zlib.html .
4747

48-
zlib is built into tcl: http://wiki.tcl.tk/4610 .
48+
zlib is built into tcl: https://wiki.tcl-lang.org/page/zlib .
4949

5050
An experimental package to read and write files in .zip format, written on top
5151
of zlib by Gilles Vollant <[email protected]>, is available in the
@@ -69,9 +69,7 @@ Notes for some targets:
6969
- zlib doesn't work on HP-UX 9.05 with some versions of /bin/cc. It works with
7070
other compilers. Use "make test" to check your compiler.
7171

72-
- gzdopen is not supported on RISCOS or BEOS.
73-
74-
- For PalmOs, see http://palmzlib.sourceforge.net/
72+
- For PalmOs, see https://palmzlib.sourceforge.net/
7573

7674

7775
Acknowledgments:
@@ -83,7 +81,7 @@ Acknowledgments:
8381

8482
Copyright notice:
8583

86-
(C) 1995-2024 Jean-loup Gailly and Mark Adler
84+
(C) 1995-2026 Jean-loup Gailly and Mark Adler
8785

8886
This software is provided 'as-is', without any express or implied
8987
warranty. In no event will the authors be held liable for any damages

src/java.base/share/native/libzip/zlib/compress.c

Lines changed: 34 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
*/
2424

2525
/* compress.c -- compress a memory buffer
26-
* Copyright (C) 1995-2005, 2014, 2016 Jean-loup Gailly, Mark Adler
26+
* Copyright (C) 1995-2026 Jean-loup Gailly, Mark Adler
2727
* For conditions of distribution and use, see copyright notice in zlib.h
2828
*/
2929

@@ -42,13 +42,19 @@
4242
compress2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
4343
memory, Z_BUF_ERROR if there was not enough room in the output buffer,
4444
Z_STREAM_ERROR if the level parameter is invalid.
45+
46+
The _z versions of the functions take size_t length arguments.
4547
*/
46-
int ZEXPORT compress2(Bytef *dest, uLongf *destLen, const Bytef *source,
47-
uLong sourceLen, int level) {
48+
int ZEXPORT compress2_z(Bytef *dest, z_size_t *destLen, const Bytef *source,
49+
z_size_t sourceLen, int level) {
4850
z_stream stream;
4951
int err;
5052
const uInt max = (uInt)-1;
51-
uLong left;
53+
z_size_t left;
54+
55+
if ((sourceLen > 0 && source == NULL) ||
56+
destLen == NULL || (*destLen > 0 && dest == NULL))
57+
return Z_STREAM_ERROR;
5258

5359
left = *destLen;
5460
*destLen = 0;
@@ -67,23 +73,36 @@ int ZEXPORT compress2(Bytef *dest, uLongf *destLen, const Bytef *source,
6773

6874
do {
6975
if (stream.avail_out == 0) {
70-
stream.avail_out = left > (uLong)max ? max : (uInt)left;
76+
stream.avail_out = left > (z_size_t)max ? max : (uInt)left;
7177
left -= stream.avail_out;
7278
}
7379
if (stream.avail_in == 0) {
74-
stream.avail_in = sourceLen > (uLong)max ? max : (uInt)sourceLen;
80+
stream.avail_in = sourceLen > (z_size_t)max ? max :
81+
(uInt)sourceLen;
7582
sourceLen -= stream.avail_in;
7683
}
7784
err = deflate(&stream, sourceLen ? Z_NO_FLUSH : Z_FINISH);
7885
} while (err == Z_OK);
7986

80-
*destLen = stream.total_out;
87+
*destLen = (z_size_t)(stream.next_out - dest);
8188
deflateEnd(&stream);
8289
return err == Z_STREAM_END ? Z_OK : err;
8390
}
84-
91+
int ZEXPORT compress2(Bytef *dest, uLongf *destLen, const Bytef *source,
92+
uLong sourceLen, int level) {
93+
int ret;
94+
z_size_t got = *destLen;
95+
ret = compress2_z(dest, &got, source, sourceLen, level);
96+
*destLen = (uLong)got;
97+
return ret;
98+
}
8599
/* ===========================================================================
86100
*/
101+
int ZEXPORT compress_z(Bytef *dest, z_size_t *destLen, const Bytef *source,
102+
z_size_t sourceLen) {
103+
return compress2_z(dest, destLen, source, sourceLen,
104+
Z_DEFAULT_COMPRESSION);
105+
}
87106
int ZEXPORT compress(Bytef *dest, uLongf *destLen, const Bytef *source,
88107
uLong sourceLen) {
89108
return compress2(dest, destLen, source, sourceLen, Z_DEFAULT_COMPRESSION);
@@ -93,7 +112,12 @@ int ZEXPORT compress(Bytef *dest, uLongf *destLen, const Bytef *source,
93112
If the default memLevel or windowBits for deflateInit() is changed, then
94113
this function needs to be updated.
95114
*/
115+
z_size_t ZEXPORT compressBound_z(z_size_t sourceLen) {
116+
z_size_t bound = sourceLen + (sourceLen >> 12) + (sourceLen >> 14) +
117+
(sourceLen >> 25) + 13;
118+
return bound < sourceLen ? (z_size_t)-1 : bound;
119+
}
96120
uLong ZEXPORT compressBound(uLong sourceLen) {
97-
return sourceLen + (sourceLen >> 12) + (sourceLen >> 14) +
98-
(sourceLen >> 25) + 13;
121+
z_size_t bound = compressBound_z(sourceLen);
122+
return (uLong)bound != bound ? (uLong)-1 : (uLong)bound;
99123
}

0 commit comments

Comments
 (0)