Skip to content

Commit f588fd7

Browse files
committedMar 12, 2024
Co-locate public_suffix_list.dat with sun.security.util.DomainName for hermetic support.
1 parent ff1450b commit f588fd7

File tree

2 files changed

+10
-7
lines changed

2 files changed

+10
-7
lines changed
 

‎make/Images.gmk

+2-1
Original file line numberDiff line numberDiff line change
@@ -84,8 +84,9 @@ ifeq ($(STATIC_JAVA), true)
8484
HERMETIC_PSFONT2D_PROPERTIES := /java.desktop/lib/psfontj2d.properties=/java.desktop/sun/print/psfontj2d.properties
8585
HERMETIC_BLOCKED_CERTS := /java.base/lib/security/blocked.certs=/java.base/sun/security/util/blocked.certs
8686
HERMETIC_CACERTS := /java.base/lib/security/cacerts=/java.base/sun/security/util/cacerts
87+
HERMETIC_PUBLIC_SUFFIX_LIST_DAT := /java.base/lib/security/public_suffix_list.dat=/java.base/sun/security/util/public_suffix_list.dat
8788

88-
HERMETIC_RESOURCES := --hermetic-resources $(HERMETIC_JAVA_SECURITY),$(HERMETIC_LOGGING_PROPERTIES),$(HERMETIC_NET_PROPERTIES),$(HERMETIC_PSFONT_PROPERTIES_JA),$(HERMETIC_PSFONT2D_PROPERTIES),$(HERMETIC_BLOCKED_CERTS),$(HERMETIC_CACERTS)
89+
HERMETIC_RESOURCES := --hermetic-resources $(HERMETIC_JAVA_SECURITY),$(HERMETIC_LOGGING_PROPERTIES),$(HERMETIC_NET_PROPERTIES),$(HERMETIC_PSFONT_PROPERTIES_JA),$(HERMETIC_PSFONT2D_PROPERTIES),$(HERMETIC_BLOCKED_CERTS),$(HERMETIC_CACERTS),$(HERMETIC_PUBLIC_SUFFIX_LIST_DAT)
8990
endif
9091

9192
JLINK_TOOL := $(JLINK) -J-Djlink.debug=true \

‎src/java.base/share/classes/sun/security/util/DomainName.java

+8-6
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@
3232
import java.io.InputStream;
3333
import java.io.InputStreamReader;
3434
import java.io.IOException;
35-
import java.nio.file.Files;
3635
import java.security.AccessController;
3736
import java.security.PrivilegedAction;
3837
import java.util.Arrays;
@@ -213,11 +212,14 @@ private static InputStream getPubSuffixStream() {
213212
@Override
214213
public InputStream run() {
215214
try {
216-
return Files.newInputStream(
217-
JavaHome.getJDKResource(
218-
System.getProperty("java.home"),
219-
"lib", "security",
220-
"public_suffix_list.dat"));
215+
if (JavaHome.isHermetic()) {
216+
return DomainName.class.getResourceAsStream(
217+
"public_suffix_list.dat");
218+
} else {
219+
return new FileInputStream(
220+
new File(System.getProperty("java.home"),
221+
"lib/security/public_suffix_list.dat"));
222+
}
221223
} catch (IOException e) {
222224
return null;
223225
}

0 commit comments

Comments
 (0)
Please sign in to comment.