Commit cc575d16 authored by Vincent Privat's avatar Vincent Privat

New upstream version 1.7.1 (Closes: #886109)

parent 099097ad
......@@ -4,17 +4,20 @@ Please keep this list in alphabetical order.
Lillian Angel <langel@redhat.com>
Andrew Azores <aazores@redhat.com>
Deepak Bhole <dbhole@redhat.com>
Adam Buchta <adbuch7@gmail.com>
Ricardo Martín Camarero <rickyepoderi@yahoo.es>
Marcin Cieslak <marcin.cieslak@gmail.com>
Danesh Dadachanji <ddadacha@redhat.com>
Adam Domurad <adomurad@redhat.com>
Lukasz Dracz <ldracz@redhat.com>
Thomas Fitzsimmons <fitzsim@redhat.com>
Michał Górny < mgorny@gentoo.org >
Michał Górny <mgorny@gentoo.org>
Mark Greenwood <mark@dcs.shef.ac.uk>
Tereza Hlavackova <hlavackova.tereza@gmail.com>
Peter Hatina <phatina@redhat.com>
Andrew John Hughes <ahughes@redhat.com>
Jie Kang <jkang@redhat.com>
Alex Kashchenko <akashche@redhat.com>
Matthias Klose <doko@ubuntu.com>
Alexandr Kolouch <skolnag@gmail.com>
Jan Kmetko <jan.kmetko.ml@gmail.com>
......@@ -28,15 +31,17 @@ Kurt Miller <kurt@intricatesoftware.com>
Saad Mohammad <smohammad@redhat.com>
Martin Olsson <martin@minimum.se>
Stefan Ring <stefan@complang.tuwien.ac.at>
Ville Skyttä <ville.skytta@iki.fi>
Fridrich Strba <fridrich.strba@suse.com>
Andrew Su <asu@redhat.com>
Joshua Sumali <jsumali@redhat.com>
Michal Vala <mvala@redhat.com>
Jiri Vanek <jvanek@redhat.com>
Tomáš Votava <tomcacolca@gmail.com>
Mark Wielaard <mark@klomp.org>
Jacob Wisor <gitne@excite.co.jp>
Man Lung Wong <mwong@redhat.com>
This project also includes code from the following projects:
OpenJDK <http://openjdk.java.net/>
Netx <http://jnlp.sourceforge.net/netx/>
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
This diff is collapsed.
......@@ -8,25 +8,30 @@ GX - http://bugs.gentoo.org/show_bug.cgi?id=X
CVE-XXXX-YYYY: http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY
New in release 1.6.2 (2016-02-03):
New in release 1.7.1 (2017-12-15):
* better work with authors file
* better work with jdk9
* Added possibility to turn off https preference via deployment properties
New in release 1.7 (2017-07-19):
* PR3366 - bash completion file was split to three, and is setup-able by bashcompdir environment variable
* added experimental support for windows
* added experimental support for java 9 (linux only)
* added experimental support for jnlp protocol (see https://bugs.openjdk.java.net/browse/JDK-8055464)
* restricted to JDK8 and higher
* all connection restrictions now consider also port
* Enabled Entry-Point attribute check
* permissions sandbox and signed app and unsigned app with permissions all-permissions now run in sandbox instead of not at all.
* fixed DownloadService
* PR2779: html-gen.sh: Don't try to call hg if .hg directory isn't present
* PR2591 - IcedTea-Web request resources twice for meta informations and causes ClientAbortException on tomcat in conjunction with JnlpDownloadServlet
* PR2690 - Can't run BOM into JNLP file
* PR2669 - remove bash-specific syntax from top level Makefile.am
* PR2489 - various NPEs when codebase is null
* NetX
- main-class attribute trimmed by default
- in strict mode, main-class attribute checked for invalid characters
* Plugin
- RH1273691 - Escaped equals signs in deployment.properties not un-escaped when used
- PR2746 - IcedTea-Web Plugin 1.6.1: net.sourceforge.jnlp.LaunchException
- PR2714 - IcedTea-Web plugin sends uninitialized memory garbage across a pipe when NPN_GetValueForURL call fails
New in release 1.6.1 (2015-09-11):
* Enabled Entry-Point attribute check
* permissions sandbox and signed app and unsigned app with permissions all-permissions now run in sandbox instead of not at all.
* fixed DownloadService
* PR2855 - configure.ac: Remove unnecessary checks for libX11 and zlib
* PR878 - (http-511) Handle HTTP error 511 Network Authentication Required (standard secure proxy authentification/captive portal detection)
* PR1190 - unuseable javaws cache handling
* PR3227 - can not save file with query longer then (together with name) then 255 chars
* comments in deployment.properties now should persists load/save
* fixed bug in caching of files with query
* fixed issues with recreating of existing shortcut
......@@ -35,23 +40,45 @@ New in release 1.6.1 (2015-09-11):
* RH1231441 Unable to read the text of the buttons of the security dialogue
* Fixed RH1233697 icedtea-web: applet origin spoofing
* Fixed RH1233667 icedtea-web: unexpected permanent authorization of unsigned applets
* FIXED PR3263 - Cannot retrieve JavaScript Engine using ScriptEngineManager.getEngineByName
* fixed fatal impact of initialization error of FileLog
* MissingALACAdialog made available also for unsigned applications (but ignoring actual manifest value) and fixed
* more dialogs got remember me possibility
- MissingALACAttributePanel
- AccessWarning
- MissingPermissionsAttributePanel
- MatchingALACAttributePanel
- UnsignedAppletTrustWarningPanel
- PartiallySignedAppTrustWarningPanel
* Itw-settings
- All rememberable dialogues can have saved value modified
* NetX
- fixed issues with -html shortcuts
- fixed issue with -html receiving garbage in width and height
- main-class attribute trimmed by default
- in strict mode, main-class attribute checked for invalid characters
- added -browser switch as workaround around most uttermost http authentications cornercases
* PolicyEditor
- Entry list is sorted, entries will appear with consistent ordering
- file flag made to work when used standalone
- file flag and main argument cannot be used in combination
- file flag cannot be used in combination with main argument
- defaultfile flag added
- support for SignedBy and Principals along with existing Codebase
* Plugin
- RH1273691 - Escaped equals signs in deployment.properties not un-escaped when used
- PR2746 - IcedTea-Web Plugin 1.6.1: net.sourceforge.jnlp.LaunchException
- PR2714 - IcedTea-Web plugin sends uninitialized memory garbage across a pipe when NPN_GetValueForURL call fails
- PR3198 - Error in webmin
- PR2968 - IcedTea-Web crashes on Dell EqualLogic SAN
New in release 1.6 (2015-04-29):
New in release 1.6 (2015-XX-XX):
* Massively improved offline abilities. Added Xoffline switch to force work without inet connection.
* Improved to be able to run with any JDK
* JDK 6 and older no longer supported
* JDK 8 support added (URLPermission granted if applicable)
* JDK 9 supported
* JDK 9 supported
* Added support for Entry-Point manifest attribute
* Added KEY_ENABLE_MANIFEST_ATTRIBUTES_CHECK deployment property to control scan of Manifest file
* Added KEY_ENABLE_MANIFEST_ATTRIBUTES_CHECK deployment property to control scan of Manifest file
* starting arguments now accept also -- abbreviations
* Added new documentation
* Added support for menu shortcuts - both javaws applications/applets and html applets are supported
......@@ -215,7 +242,7 @@ Common
New in release 1.1 (2011-XX-XX):
* Security updates
- S6983554, CVE-2010-4450: Launcher incorrect processing of empty library path entries
- S6983554, CVE-2010-4450: Launcher incorrect processing of empty library path entries
- RH677332, CVE-2011-0706: IcedTea multiple signers privilege escalation
* New Features
- IcedTea-Web now installs to a FHS-compliant location
......
......@@ -64,8 +64,6 @@ incantation. The build requirements are as follows:
* A bootstrap JDK. You can use any java JDK7 or higher compatible.
* A C compiler (for the launchers).
* libX11
* zlib-devel
Additionally, the plugin requires:
......
This diff is collapsed.
This diff is collapsed.
_itwebsettings()
{
local cur prev opts base
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
# Icedtea-web settings Options
opts="@OPTIONS@"
COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
return 0
}
complete -F _itwebsettings itweb-settings
_javaws()
{
local cur prev opts base
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
# JavaWs Options
opts="@OPTIONS@"
if [[ $prev == *"-jnlp" || $prev == *"-html" ]] ; then
COMPREPLY=($(compgen -f -X "!*" -- ${cur}))
if [ -d "$COMPREPLY" ] ; then
COMPREPLY="$COMPREPLY/"
fi
return 0
fi
if [[ $cur == "" ]] ; then
COMPREPLY=($(compgen -W "aa_file_or_url ${opts} zz_file_or_url" -- ${cur}))
return 0
fi
if [[ $cur == "-"* ]] ; then
COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
return 0
else
COMPREPLY=($(compgen -f -X "!*" -- ${cur}))
if [ -d "$COMPREPLY" ] ; then
COMPREPLY="$COMPREPLY/"
fi
return 0
fi
}
complete -F _javaws javaws
_policyeditor()
{
local cur prev opts base
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
# PolicyEditor Options
opts="@OPTIONS@"
COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
return 0
}
complete -F _policyeditor policyeditor
This diff is collapsed.
AC_INIT([icedtea-web],[1.6.2],[distro-pkg-dev@openjdk.java.net], [icedtea-web], [http://icedtea.classpath.org/wiki/IcedTea-Web])
AC_INIT([icedtea-web],[1.7.1],[distro-pkg-dev@openjdk.java.net], [icedtea-web], [http://icedtea.classpath.org/wiki/IcedTea-Web])
AM_INIT_AUTOMAKE([1.9 tar-pax foreign])
AC_CONFIG_FILES([Makefile netx.manifest])
AM_MAINTAINER_MODE([enable])
......@@ -41,6 +41,22 @@ if test x"$BIN_BASH" = x ; then
AC_MSG_ERROR([/bin/bash is used in runtime and for about generation. Dying sooner rather then later])
fi
build_linux=no
build_windows=no
case "${host_os}" in
linux*)
build_linux=yes
;;
cygwin*)
build_windows=yes
;;
*)
AC_MSG_ERROR(["OS $host_os is not supported"])
;;
esac
AM_CONDITIONAL([LINUX], [test "$build_linux" = "yes"])
AM_CONDITIONAL([WINDOWS], [test "$build_windows" = "yes"])
IT_CHECK_WITH_GCJ
FIND_TOOL([ZIP], [zip])
FIND_JAVAC
......@@ -54,17 +70,11 @@ IT_FIND_PACK200
IT_SET_VERSION
IT_CHECK_XULRUNNER_VERSION
IT_CHECK_PLUGINJAR
AC_CHECK_LIB(z, main,, [AC_MSG_ERROR("zlib not found - try installing zlib-devel")])
dnl Check for libX11 headers and libraries.
PKG_CHECK_MODULES(X11, x11,[X11_FOUND=yes],[X11_FOUND=no])
if test "x${X11_FOUND}" = xno
then
AC_MSG_ERROR([Could not find x11 - \
Try installing libX11-devel.])
if test "$enable_native_plugin" = yes -a ! "$enable_pluginjar" = yes ; then
AC_MSG_ERROR([$enable_native_plugin/$enable_pluginjar you can not build native_plugin without pluginjar])
fi
AC_SUBST(X11_CFLAGS)
AC_SUBST(X11_LIBS)
dnl PR46074 (gcc) - Missing java.net cookie code required by IcedTea plugin
dnl IT563 - NetX uses sun.security code
......@@ -75,23 +85,43 @@ dnl IT573 - Plugin depends on sun.awt,X11.XEmbeddedFrame.java
dnl IT575 - Plugin depends on com.sun/jndi.toolkit.url.UrlUtil
dnl IT576 - Plugin depends on sun.applet.AppletImageRef
dnl IT578 - Remove need for patching AppletPanel for Plugin/Webstart
IT_CHECK_FOR_CLASS(JAVA_UTIL_JAR_PACK200, [java.util.jar.Pack200])
IT_CHECK_FOR_CLASS(JAVA_NET_COOKIEMANAGER, [java.net.CookieManager])
IT_CHECK_FOR_CLASS(JAVA_NET_HTTPCOOKIE, [java.net.HttpCookie])
IT_CHECK_FOR_CLASS(JAVA_NET_COOKIEHANDLER, [java.net.CookieHandler])
IT_CHECK_FOR_CLASS(SUN_SECURITY_PROVIDER_X509FACTORY, [sun.security.provider.X509Factory])
IT_CHECK_FOR_CLASS(SUN_SECURITY_UTIL_SECURITYCONSTANTS, [sun.security.util.SecurityConstants])
IT_CHECK_FOR_CLASS(SUN_SECURITY_UTIL_HOSTNAMECHECKER, [sun.security.util.HostnameChecker])
IT_CHECK_FOR_CLASS(SUN_SECURITY_X509_X500NAME, [sun.security.x509.X500Name])
IT_CHECK_FOR_HEXDUMPENCODER
IT_CHECK_FOR_CLASS(SUN_SECURITY_VALIDATOR_VALIDATOREXCEPTION, [sun.security.validator.ValidatorException])
IT_CHECK_FOR_CLASS(COM_SUN_NET_SSL_INTERNAL_SSL_X509EXTENDEDTRUSTMANAGER,
[com.sun.net.ssl.internal.ssl.X509ExtendedTrustManager])
IT_CHECK_FOR_CLASS(SUN_NET_WWW_PROTOCOL_JAR_URLJARFILE, [sun.net.www.protocol.jar.URLJarFile])
IT_CHECK_FOR_CLASS(SUN_NET_WWW_PROTOCOL_JAR_URLJARFILECALLBACK, [sun.net.www.protocol.jar.URLJarFileCallBack])
IT_CHECK_FOR_CLASS(SUN_AWT_X11_XEMBEDDEDFRAME, [sun.awt.X11.XEmbeddedFrame])
IT_CHECK_FOR_CLASS(COM_SUN_JNDI_TOOLKIT_URL_URLUTIL, [com.sun.jndi.toolkit.url.UrlUtil])
IT_CHECK_FOR_CLASS(SUN_APPLET_APPLETIMAGEREF, [sun.applet.AppletImageRef])
if test x"$HAVE_JAVA9" = xyes ; then
JAVA_BASE=java.base
JAVA_DESKTOP=java.desktop
JAVA_NAMING=java.naming
fi
IT_CHECK_FOR_CLASS(JAVA_UTIL_JAR_PACK200, [java.util.jar.Pack200], [some.pkg], [])
IT_CHECK_FOR_CLASS(JAVA_NET_COOKIEMANAGER, [java.net.CookieManager], [some.pkg], [])
IT_CHECK_FOR_CLASS(JAVA_NET_HTTPCOOKIE, [java.net.HttpCookie], [some.pkg], [])
IT_CHECK_FOR_CLASS(JAVA_NET_COOKIEHANDLER, [java.net.CookieHandler], [some.pkg], [])
# in jdk9, those classes are using internal apis, must be enabled via module cheats
IT_CHECK_FOR_CLASS(SUN_SECURITY_UTIL_SECURITYCONSTANTS, [sun.security.util.SecurityConstants], [some.pkg], [$JAVA_BASE])
IT_CHECK_FOR_CLASS(SUN_SECURITY_UTIL_HOSTNAMECHECKER, [sun.security.util.HostnameChecker], [some.pkg], [$JAVA_BASE])
IT_CHECK_FOR_CLASS(SUN_SECURITY_X509_X500NAME, [sun.security.x509.X500Name], [some.pkg], [$JAVA_BASE])
IT_CHECK_FOR_CLASS(SUN_SECURITY_ACTION_GETPROPERTYACTION, [sun.security.action.GetPropertyAction], [some.pkg], [$JAVA_BASE])
# the classname cant be substitued by variable, as it is substituted to inner class
if test x"$HAVE_JAVA9" = xyes ; then
IT_CHECK_FOR_CLASS(HEXDUMPENCODER, [sun.security.util.HexDumpEncoder], [some.pkg], [$JAVA_BASE])
IT_CHECK_FOR_CLASS(SUN_MISC_JARINDEX, [jdk.internal.util.jar.JarIndex], [some.pkg], [$JAVA_BASE])
else
IT_CHECK_FOR_CLASS(HEXDUMPENCODER, [sun.misc.HexDumpEncoder], [some.pkg], [$JAVA_BASE])
IT_CHECK_FOR_CLASS(SUN_MISC_JARINDEX, [sun.misc.JarIndex], [some.pkg], [$JAVA_BASE])
IT_CHECK_FOR_CLASS(SUN_MISC_LAUNCHER, [sun.misc.Launcher], [some.pkg], [$JAVA_BASE])
fi
IT_CHECK_FOR_CLASS(SUN_SECURITY_VALIDATOR_VALIDATOREXCEPTION, [sun.security.validator.ValidatorException], [some.pkg], [$JAVA_BASE])
IT_CHECK_FOR_CLASS(COM_SUN_NET_SSL_INTERNAL_SSL_X509EXTENDEDTRUSTMANAGER, [com.sun.net.ssl.internal.ssl.X509ExtendedTrustManager], [some.pkg], [$JAVA_BASE])
IT_CHECK_FOR_CLASS(SUN_NET_WWW_PROTOCOL_JAR_URLJARFILE, [sun.net.www.protocol.jar.URLJarFile], [some.pkg], [$JAVA_BASE])
IT_CHECK_FOR_CLASS(SUN_NET_WWW_PROTOCOL_JAR_URLJARFILECALLBACK, [sun.net.www.protocol.jar.URLJarFileCallBack], [some.pkg], [$JAVA_BASE])
if test "x$build_linux" = xyes ; then
IT_CHECK_FOR_CLASS(SUN_AWT_X11_XEMBEDDEDFRAME, [sun.awt.X11.XEmbeddedFrame], [some.pkg], [$JAVA_DESKTOP])
fi
if test "x$build_windows" = xyes ; then
IT_CHECK_FOR_CLASS(SUN_AWT_WEMBEDDEDFRAME, [sun.awt.windows.WEmbeddedFrame], [some.pkg], [$JAVA_DESKTOP])
fi
IT_CHECK_FOR_CLASS(COM_SUN_JNDI_TOOLKIT_URL_URLUTIL, [com.sun.jndi.toolkit.url.UrlUtil], [some.pkg], [$JAVA_NAMING])
IT_CHECK_FOR_CLASS(SUN_NET_WWW_PROTOCOL_HTTP_HANDLER, [sun.net.www.protocol.http.Handler], [some.pkg], [$JAVA_BASE])
IT_CHECK_FOR_CLASS(SUN_APPLET_APPLETIMAGEREF, [sun.applet.AppletImageRef], [sun.applet], [$JAVA_DESKTOP])
IT_CHECK_FOR_SUN_APPLET_ACCESSIBILITY
IT_CHECK_GLIB_VERSION
IT_CHECK_XULRUNNER_MIMEDESCRIPTION_CONSTCHAR
......@@ -126,6 +156,31 @@ IT_FIND_OPTIONAL_JAR([asm], ASM,
IT_CHECK_FOR_TAGSOUP
if test "x$build_windows" = xyes ; then
IT_CHECK_FOR_WIX
fi
IT_FIND_OPTIONAL_JAR([wixgen], WIXGEN, [/usr/share/java/wixgen.jar $WIX_TOOLSET_DIR/wixgen.jar $WIX_TOOLSET_DIR/../wixgen.jar])
echo -n "checking for MSI deps... "
if test "x$WIX_TOOLSET_DIR" = "x" ; then
if test "x$WIXGEN_JAR" = "x" ; then
echo "No WiX tools, nor wixgen jar, correct - build on linux or on windows witout MSI"
else
echo "No WiX tools, but wixgen jar - wixgen jar will do its job, but is useless. No MSI can be generated"
fi
else
if test "x$WIXGEN_JAR" = "x" ; then
echo "WiX tools, but no wixgen jar, fatal. You need wixgen.jar from https://github.com/akashche/wixgen"
exit 1
else
echo "WiX tools and wixgen jar - build on windows with MSI generation support"
fi
fi
PKG_CHECK_VAR(bashcompdir, [bash-completion], [completionsdir], ,
bashcompdir="${sysconfdir}/bash_completion.d")
AC_SUBST(bashcompdir)
AC_CONFIG_FILES([jrunscript], [chmod u+x jrunscript])
AC_CONFIG_FILES([build.properties])
......
......@@ -141,7 +141,8 @@ do
BOLD=0
fi
date_regex=[0-9]{4}-[0-9]{2}-[0-9]{2}
if [[ "$LINE" =~ $date_regex* ]] # Matches line starting with eg 2013-07-01
cutLine=`echo $LINE | sed "s/&.*//"` # on some versions of windows, the & caused the [[ ]] command to fail
if [[ "$cutLine" =~ $date_regex ]] # Matches line starting with eg 2013-07-01
then
html_space="\&ensp;\&ensp;"
if [ -n "${REPO_URL}" ]; then
......
#/bin/bash
#place this file over to /etc/bash_completion.d/ to make this file useful
#Note: If you do not have bash-completion you will need to install it
_itweb-settings()
{
local cur prev opts base
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
# Icedtea-web settings Options
opts="-check -get -headless -help -info -list -reset -set -verbose"
COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
return 0
}
complete -F _itweb-settings itweb-settings
_policyeditor()
{
local cur prev opts base
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
# PolicyEditor Options
opts="-codebase -file -defaultfile -help"
COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
return 0
}
complete -F _policyeditor policyeditor
_javaws()
{
local cur prev opts base
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
# JavaWs Options
opts="-about -help -license -viewer -Xclearcache -allowredirect -arg -headless -html -jnlp -nosecurity -noupdate -param -property -strict -update -verbose -version -Xignoreheaders -xml -Xnofork -Xoffline -Xtrustnone"
COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
return 0
}
complete -F _javaws javaws
......@@ -2,10 +2,10 @@
Name=IcedTea Web Start
GenericName=Java Web Start
Comment=IcedTea Application Launcher
Exec=PATH_TO_JAVAWS %f
Exec=PATH_TO_JAVAWS %u
Icon=javaws
Terminal=false
Type=Application
NoDisplay=true
Categories=Network;WebBrowser;
MimeType=application/x-java-jnlp-file;
MimeType=application/x-java-jnlp-file;x-scheme-handler/jnlp;x-scheme-handler/jnlps
javaws.png

4.6 KB | W: | H:

javaws.png

10.2 KB | W: | H:

javaws.png
javaws.png
javaws.png
javaws.png
  • 2-up
  • Swipe
  • Onion skin
rem use JAVAWS_J_OPTIONS to pass java arguments, instead of -J opts for this script. This will be fixed in next releases
rem use ITW_HOME to set location where ITW can be found. Form there all binaries and jars and other resources are found
rem use JAVA_HOME to set path to JRE
rem any redistribution/installer can replace INST_ITW_HOME and INST_JAVA_HOME to create better defaults
rem if not set, following defaults are used
set CLASSNAME=@MAIN_CLASS@
set PROGRAM_NAME=@PROGRAM_NAME@
set NASHORN=lib/ext/nashorn.jar
set LAUNCHER_FLAGS=-Xms8m
if "%PROGRAM_NAME%" == "javaws" (
set ITW_WIN_SPECIALS=-Xnofork
) else (
set ITW_WIN_SPECIALS=
)
rem warning for linux users: when you put VAR="value" also quotes are stored in VAR!
rem maybe set "VAR=value" is working better?
set INST_JAVA_HOME=
set BAD_SLASH_SCRIPT_DIR=%~dp0
set SCRIPT_DIR=%BAD_SLASH_SCRIPT_DIR:\=/%
set ITW_HOME=%SCRIPT_DIR%../
rem the following is for testing-only and not intended to be robust
rem will not work from 32-bit firefox
for /f "tokens=*" %%a in ('%windir%\System32\reg query "HKLM\SOFTWARE\JavaSoft\Java Development Kit"') do set "version_key=%%a"
set "version=%version_key:~58%"
for /f "tokens=*" %%a in ('%windir%\System32\reg query "HKLM\SOFTWARE\JavaSoft\Java Development Kit\%version%" /v JavaHome') do set "jh_key=%%a"
set BAD_SLASH_JAVA_HOME=%jh_key:~22%
set REG_JAVA_HOME=%BAD_SLASH_JAVA_HOME:\=/%
"%REG_JAVA_HOME%/bin/java.exe" -version
if errorlevel 0 if not errorlevel 1 (
set JAVA_HOME=%REG_JAVA_HOME%
)
if "%INST_JAVA_HOME%" == "" (
if not "%JAVA_HOME%" == "" (
set CP=%JAVA_HOME%/lib/rt.jar;%JAVA_HOME%/lib/jfxrt.jar
set NASHORN=%JAVA_HOME%/%NASHORN%
set JAVA=%JAVA_HOME%/bin/java
) else (
set CP=@JRE@/lib/rt.jar;@JRE@/lib/jfxrt.jar
set NASHORN=@JRE@/%NASHORN%
set JAVA=@JAVA@
)
) else (
set CP=%INST_JAVA_HOME%/lib/rt.jar;%INST_JAVA_HOME%/lib/jfxrt.jar
set NASHORN=%INST_JAVA_HOME%/%NASHORN%
set JAVA=%INST_JAVA_HOME%/bin/java
)
if "%ITW_HOME%" == "" (
if not "%INST_ITW_HOME%" == "" (
set SPLASH_LOCATION=%INST_ITW_HOME%/share/icedtea-web/javaws_splash.png
set BINARY_LOCATION=%INST_ITW_HOME%/bin/@PROGRAM_NAME@.bat
set LAUNCHER_BOOTCLASSPATH=-Xbootclasspath/a:%INST_ITW_HOME%/share/icedtea-web/netx.jar;%INST_ITW_HOME%/share/icedtea-web/plugin.jar;%INST_ITW_HOME%/share/icedtea-web/jsobject.jar;%INST_ITW_HOME%/win-deps-runtime/js.jar;%INST_ITW_HOME%/win-deps-runtime/tagsoup.jar;%NASHORN%
) else (
set SPLASH_LOCATION=@JAVAWS_SPLASH_LOCATION@
set BINARY_LOCATION=@BIN_LOCATION@.bat
set LAUNCHER_BOOTCLASSPATH=@LAUNCHER_BOOTCLASSPATH@;%NASHORN%
)
) else (
set SPLASH_LOCATION=%ITW_HOME%/share/icedtea-web/javaws_splash.png
set BINARY_LOCATION=%ITW_HOME%/bin/@PROGRAM_NAME@.bat
set LAUNCHER_BOOTCLASSPATH=-Xbootclasspath/a:%ITW_HOME%/share/icedtea-web/netx.jar;%ITW_HOME%/share/icedtea-web/plugin.jar;%ITW_HOME%/share/icedtea-web/jsobject.jar;%ITW_HOME%/win-deps-runtime/js.jar;%ITW_HOME%/win-deps-runtime/tagsoup.jar;%NASHORN%
)
rem TODO use "exec -a %PROGRAM_NAME% ..." idiom
"%JAVA%" "-splash:%SPLASH_LOCATION%" "%LAUNCHER_BOOTCLASSPATH%" %LAUNCHER_FLAGS% %JAVAWS_J_OPTIONS% "-classpath" "%CP%" "-Dicedtea-web.bin.name=%PROGRAM_NAME%" "-Dicedtea-web.bin.location=%BINARY_LOCATION%" "%CLASSNAME%" %ITW_WIN_SPECIALS% %*
SET errno=%ERRORLEVEL%
echo Please press any key to close this window/get back prompt
pause > nul
EXIT /B %errno%
#!/bin/bash
NASHORN=lib/ext/nashorn.jar
JAVA=@JAVA@
LAUNCHER_BOOTCLASSPATH=@LAUNCHER_BOOTCLASSPATH@
LAUNCHER_BOOTCLASSPATH='@LAUNCHER_BOOTCLASSPATH@'
LAUNCHER_FLAGS=-Xms8m
CLASSNAME=@MAIN_CLASS@
BINARY_LOCATION=@BIN_LOCATION@
......@@ -25,14 +26,22 @@ if [ "x$CUSTOM_JRE" = "x" ] ; then
CUSTOM_JRE=`grep "$CUSTOM_JRE_REGEX" /etc/.java/.deploy/deployment.properties 2>/dev/null | sed "s/$CUSTOM_JRE_REGEX//g"`
fi;
if [ "x$CUSTOM_JRE" != "x" ] ; then
if [ -e "$CUSTOM_JRE" -a -e "$CUSTOM_JRE/bin/java" -a -e "$CUSTOM_JRE/lib/rt.jar" ] ; then
if [ -e "$CUSTOM_JRE" -a -e "$CUSTOM_JRE/bin/java" ] ; then
JAVA=$CUSTOM_JRE/bin/java
CP=$CUSTOM_JRE/lib/rt.jar:$CUSTOM_JRE/lib/jfxrt.jar
LAUNCHER_BOOTCLASSPATH=$LAUNCHER_BOOTCLASSPATH:$CUSTOM_JRE/$NASHORN
else
echo "Your custom JRE $CUSTOM_JRE read from deployment.properties under key $PROPERTY_NAME as $CUSTOM_JRE is not valid. Using default ($JAVA, $CP) in attempt to start. Please fix this."
fi
else
LAUNCHER_BOOTCLASSPATH="$LAUNCHER_BOOTCLASSPATH:@JRE@/$NASHORN"
fi;
JDK9="NO"
if ${JAVA} -version 2>&1 | grep -q "version \"9-" ; then
JDK9="YES"
fi
JAVA_ARGS=( )
ARGS=( )
COMMAND=()
......@@ -72,6 +81,99 @@ COMMAND[k]="${LAUNCHER_BOOTCLASSPATH}"
k=$((k+1))
COMMAND[k]="${LAUNCHER_FLAGS}"
k=$((k+1))
if [ "x$JDK9" == "xYES" ] ; then
COMMAND[k]="--patch-module"
k=$((k+1))
COMMAND[k]="java.desktop=@PLUGIN_JAR@:@NETX_JAR@"
k=$((k+1))
# jsobject must be pathched separately from plugin
# otherwise netscape pkg would be shared by two modules, which is forbiden
JSOBJECT_JAR=@JSOBJECT_JAR@
# plugin jar may not be built
if [ ! "x$JSOBJECT_JAR" == "x" ] ; then
COMMAND[k]="--patch-module"
k=$((k+1))
COMMAND[k]="jdk.jsobject=$JSOBJECT_JAR"
k=$((k+1))
fi
COMMAND[k]="--add-reads"
k=$((k+1))
COMMAND[k]="java.base=ALL-UNNAMED,java.desktop"
k=$((k+1))
COMMAND[k]="--add-reads"
k=$((k+1))
COMMAND[k]="java.desktop=ALL-UNNAMED,java.naming"
k=$((k+1))
COMMAND[k]="--add-reads"
k=$((k+1))
COMMAND[k]="java.naming=ALL-UNNAMED,java.desktop"
k=$((k+1))
COMMAND[k]="--add-exports"
k=$((k+1))
COMMAND[k]="java.desktop/sun.awt=ALL-UNNAMED,java.desktop"
k=$((k+1))
COMMAND[k]="--add-exports"
k=$((k+1))
COMMAND[k]="java.desktop/javax.jnlp=ALL-UNNAMED,java.desktop"
k=$((k+1))
COMMAND[k]="--add-exports"
k=$((k+1))
COMMAND[k]="java.base/sun.security.provider=ALL-UNNAMED,java.desktop"
k=$((k+1))