Blob Blame History Raw
https://access.redhat.com/documentation/en-us/openjdk/11/html/using_alt-java

--- icedtea-web-1.8.8/rust-launcher/src/os_access.rs		2021-10-27 22:13:18.000000000 +0200
+++ icedtea-web-1.8.8/rust-launcher/src/os_access.rs.alt-java	2023-04-23 00:57:00.189483248 +0200
@@ -5,9 +5,20 @@
 use log_helper;
 
 pub fn create_java_cmd(os: &Os,jre_dir: &std::path::PathBuf, args: &Vec<String>) -> std::process::Command {
-    let mut bin_java = jre_dir.clone();
-    bin_java.push("bin");
-    bin_java.push("java");
+    // Support for alt-java(1) (same as java(1) except for CVE-2018-3639 mitigation)
+    let mut alt_bin_java = jre_dir.clone();
+    alt_bin_java.push("bin");
+    alt_bin_java.push("alt-java");
+    let mut bin_java;
+    if alt_bin_java.exists() {
+        os.log("itw-rust-debug: alt-java found");
+        bin_java = alt_bin_java;
+    } else {
+        os.log("itw-rust-debug: alt-java NOT found");
+        bin_java = jre_dir.clone();
+        bin_java.push("bin");
+        bin_java.push("java");
+    }
     let mut cmd = std::process::Command::new(&bin_java);
     for ar in args.into_iter() {
         cmd.arg(ar);
--- icedtea-web-1.8.8/shell-launcher/launchers.sh.in		2021-10-27 22:13:18.000000000 +0200
+++ icedtea-web-1.8.8/shell-launcher/launchers.sh.in.alt-java	2023-04-23 00:55:23.484860554 +0200
@@ -137,6 +137,13 @@
   shift
 done
 
+# Support for alt-java(1) (same as java(1) except for CVE-2018-3639 mitigation)
+java_dir="`dirname ${JAVA}`"
+alt_java="alt-java"
+if [ -e "$java_dir/$alt_java" ] ; then
+  JAVA="`dirname ${JAVA}`/$alt_java"
+fi
+
 # TODO: inline args without using COMMAND[array] to unify linux/windows scripts
 k=0
 COMMAND[k]="${JAVA}"