Hello community, here is the log from the commit of package icedtea-web for openSUSE:Factory checked in at 2017-12-19 10:56:49 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/icedtea-web (Old) and /work/SRC/openSUSE:Factory/.icedtea-web.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "icedtea-web" Tue Dec 19 10:56:49 2017 rev:24 rq:557421 version:1.7.1 Changes: -------- --- /work/SRC/openSUSE:Factory/icedtea-web/icedtea-web.changes 2017-12-01 15:54:11.226851769 +0100 +++ /work/SRC/openSUSE:Factory/.icedtea-web.new/icedtea-web.changes 2017-12-19 10:56:57.057800820 +0100 @@ -1,0 +2,14 @@ +Fri Dec 15 15:08:21 UTC 2017 - [email protected] + +- Update to 1.7.1 + * better work with authors file + * better work with jdk9 + * Added possibility to turn off https preference via deployment + properties +- Removed patches: + * icedtea-web-exports.patch + * icedtea-web-javadoc9.patch + * icedtea-web-x509factory.patch + + Integrated upstream + +------------------------------------------------------------------- Old: ---- icedtea-web-1.7.tar.gz icedtea-web-exports.patch icedtea-web-javadoc9.patch icedtea-web-x509factory.patch New: ---- icedtea-web-1.7.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ icedtea-web.spec ++++++ --- /var/tmp/diff_new_pack.sLtKdQ/_old 2017-12-19 10:56:57.825763747 +0100 +++ /var/tmp/diff_new_pack.sLtKdQ/_new 2017-12-19 10:56:57.829763554 +0100 @@ -29,7 +29,7 @@ %define jnlphandler %{gurlhandler}/jnlp %define jnlpshandler %{gurlhandler}/jnlps Name: icedtea-web -Version: 1.7 +Version: 1.7.1 Release: 0 Summary: Java Web Start implementation License: GPL-2.0-with-classpath-exception @@ -37,10 +37,7 @@ Url: http://icedtea.classpath.org Source0: http://icedtea.classpath.org/download/source/icedtea-web-%{version}.tar.gz Patch0: icedtea-web-suse-desktop-files.patch -Patch1: icedtea-web-exports.patch -Patch2: icedtea-web-x509factory.patch -Patch3: icedtea-web-javadoc9.patch -Patch4: icedtea-web-jdk10.patch +Patch1: icedtea-web-jdk10.patch BuildRequires: autoconf BuildRequires: automake BuildRequires: desktop-file-utils @@ -107,9 +104,6 @@ %setup -q -n icedtea-web-%{version} %patch0 -p1 %patch1 -p1 -%patch2 -p1 -%patch3 -p1 -%patch4 -p1 %build autoreconf -fiv ++++++ icedtea-web-1.7.tar.gz -> icedtea-web-1.7.1.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icedtea-web-1.7/AUTHORS new/icedtea-web-1.7.1/AUTHORS --- old/icedtea-web-1.7/AUTHORS 2017-07-20 13:52:59.901882685 +0200 +++ new/icedtea-web-1.7.1/AUTHORS 2017-12-15 15:15:07.482639040 +0100 @@ -11,7 +11,7 @@ Adam Domurad <[email protected]> Lukasz Dracz <[email protected]> Thomas Fitzsimmons <[email protected]> -Michał Górny < [email protected] > +Michał Górny <[email protected]> Mark Greenwood <[email protected]> Tereza Hlavackova <[email protected]> Peter Hatina <[email protected]> @@ -43,6 +43,5 @@ Man Lung Wong <[email protected]> This project also includes code from the following projects: - OpenJDK <http://openjdk.java.net/> Netx <http://jnlp.sourceforge.net/netx/> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icedtea-web-1.7/ChangeLog new/icedtea-web-1.7.1/ChangeLog --- old/icedtea-web-1.7/ChangeLog 2017-07-20 13:52:59.923882435 +0200 +++ new/icedtea-web-1.7.1/ChangeLog 2017-12-15 15:15:07.497638872 +0100 @@ -1,3 +1,56 @@ +2017-12-15 Jiri Vanek <[email protected]> + + Pre-release tuning + * Makefile.am: (netx-html-gen.stamp) set number of changests to 7 (since 1.7) + * NEWS: set date and added content for 1.7.1 + * configure.ac: (AC_INIT) set to use 1.7.1 + +2017-15-12 Jiri Vanek <[email protected]> + Tomáš Votava <[email protected]> + + Authors made as links in html docs, PR3426 - ITW Docs do not have correct 'AUTHOR' field + * netx/net/sourceforge/jnlp/util/docprovider/TextsProvider.java: isntanceof replaced by correct interface method + * netx/net/sourceforge/jnlp/util/docprovider/formatters/formatters/Formatter.java: added getAdressLink and replaceLtGtCharacters methods + * netx/net/sourceforge/jnlp/util/docprovider/formatters/formatters/HtmlFormatter.java: implemented newmethods. Added dummy antispam protection + * netx/net/sourceforge/jnlp/util/docprovider/formatters/formatters/ReplacingTextFormatter.java: dummy impl of new methods + * tests/netx/unit/net/sourceforge/jnlp/util/docprovider/ReadAutorsTest.java: adapted + * AUTHORS: removed invalid space after one lt mark + * Makefile: (generate-docs.stamp) added and used (where appropriate) + path to src AUTHORS file. + * netx/net/sourceforge/jnlp/resources/Messages.properties: added message for + case, when no authors file specified on input. + * netx/net/sourceforge/jnlp/util/docprovider/TextsProvider.java: implemented + possibility to include authors file to documentation. + * tests/netx/unit/net/sourceforge/jnlp/util/docprovider/ReadAutorsTest.java: + tests for generator + +2017-15-12 Fridrich Strba <[email protected]> + + Set source language version for javadoc generation for jdk9, Get rid of X509Factory class usage, Plugin made work again with jdk9 + * Makefile.am: (JAVADOC_OPTS) if HAVE_JAVA9 then -source is appended with + correct IT_LANGUAGE_SOURCE_VERSION number + * netx/net/sourceforge/jnlp/security/CertificateUtils.java: removed import and usage of + X509Factory (replaced by hardcoded string). Still better then reflection. + * configure.ac: removed check for sun.security.provider.X509Factory + * launcher/launchers.in: added exports for sun.applet + * plugin/icedteanp/IcedTeaNPPlugin.cc: same + +2017-12-08 Jiri Vanek <jvanek at redhat.com> + + Added possibility to turn off https preference via deployment properties + * netx/net/sourceforge/jnlp/cache/ResourceUrlCreator.java: + if deployment.https.noenforce is true, then https variants are not smuggled into urlslist + * netx/net/sourceforge/jnlp/config/Defaults.java: + deployment.https.noenforce declared as false by default + * netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java: + added field of KEY_HTTPS_DONT_ENFORCE = "deployment.https.noenforce" + +2017-07-20 Jiri Vanek <[email protected]> + + Post-release changes + * NEWS: added 1.7.1 section + * configure.ac: (AC_INIT) bumped to 1.7.1pre + 2017-07-20 Jiri Vanek <[email protected]> * javaws.desktop.in: value type changed from %f (file) to %u (url) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icedtea-web-1.7/Makefile.am new/icedtea-web-1.7.1/Makefile.am --- old/icedtea-web-1.7/Makefile.am 2017-07-20 13:52:59.926882401 +0200 +++ new/icedtea-web-1.7.1/Makefile.am 2017-12-15 15:15:07.500638838 +0100 @@ -218,6 +218,9 @@ if ENABLE_DOCS JAVADOC_OPTS=-use -keywords -encoding UTF-8 -splitIndex \ -bottom '<font size="-1"> <a href="http://icedtea.classpath.org/bugzilla">Submit a bug or feature</a></font>' +if HAVE_JAVA9 +JAVADOC_OPTS+=-source $(IT_LANGUAGE_SOURCE_VERSION) +endif if JAVADOC_SUPPORTS_J_OPTIONS JAVADOC_MEM_OPTS=-J-Xmx1024m -J-Xms128m endif @@ -727,6 +730,7 @@ HTML_DOCS_TARGET_DIR="$(DOCS_DIR)/html" ; \ PLAIN_DOCS_TARGET_DIR="$(DOCS_DIR)/plain" ; \ MAN_DOCS_TARGET_DIR="$(DOCS_DIR)/man" ; \ + AUTHORS_FILE_TARGET="$(TOP_SRC_DIR)/AUTHORS" ; \ mkdir "$$HTML_DOCS_TARGET_DIR" ; \ mkdir "$$PLAIN_DOCS_TARGET_DIR" ; \ mkdir "$$MAN_DOCS_TARGET_DIR" ; \ @@ -742,16 +746,16 @@ export LANG=$$LANG_ID; \ mkdir "$$HTML_DOCS_TARGET_DIR/$$ID" ; \ echo "<li><a href='$$ID/icedtea-web.html'>$$LANG_ID</a></li>" >> "$$HTML_DOCS_INDEX" ; \ - $$TP_COMMAND html "$$HTML_DOCS_TARGET_DIR/$$ID" $$TP_TAIL ; \ + $$TP_COMMAND html "$$HTML_DOCS_TARGET_DIR/$$ID" $$TP_TAIL "-authorFile=$$AUTHORS_FILE_TARGET" ; \ mkdir "$$PLAIN_DOCS_TARGET_DIR/$$ID" ; \ - $$TP_COMMAND plain "$$PLAIN_DOCS_TARGET_DIR/$$ID" 160 $$TP_TAIL; \ + $$TP_COMMAND plain "$$PLAIN_DOCS_TARGET_DIR/$$ID" 160 $$TP_TAIL "-authorFile=$$AUTHORS_FILE_TARGET" ; \ if [ $$ID = "en" ] ; then \ MAN_DESC="$$MAN_DOCS_TARGET_DIR/man1" ; \ else \ MAN_DESC="$$MAN_DOCS_TARGET_DIR/$$ID/man1" ; \ fi ; \ mkdir -p "$$MAN_DESC" ; \ - $$TP_COMMAND man $$ENCOD "$$MAN_DESC" $$TP_TAIL ; \ + $$TP_COMMAND man $$ENCOD "$$MAN_DESC" $$TP_TAIL "-authorFile=$$AUTHORS_FILE_TARGET" ; \ $$TP_COMMAND htmlIntro "$(NETX_DIR)/net/sourceforge/jnlp/resources/about_$$ID.html" $$TP_TAIL; \ done ; \ export LANG=$$LANG_BACKUP ; \ @@ -763,7 +767,7 @@ mkdir -p html-gen; \ cp AUTHORS NEWS COPYING ChangeLog html-gen/; \ export HTML_GEN_DEBUG=true; \ - ${SHELL} html-gen.sh 236; \ + ${SHELL} html-gen.sh 7; \ unset HTML_GEN_DEBUG) ${INSTALL_DATA} $(NETX_SRCDIR)/../html-gen/*.html $(NETX_RESOURCE_DIR) rm -r $(NETX_SRCDIR)/../html-gen/ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icedtea-web-1.7/Makefile.in new/icedtea-web-1.7.1/Makefile.in --- old/icedtea-web-1.7/Makefile.in 2017-07-20 13:53:26.928576279 +0200 +++ new/icedtea-web-1.7.1/Makefile.in 2017-12-15 15:19:39.226526299 +0100 @@ -87,6 +87,7 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ +@ENABLE_DOCS_TRUE@@HAVE_JAVA9_TRUE@am__append_1 = -source $(IT_LANGUAGE_SOURCE_VERSION) subdir = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ @@ -253,7 +254,6 @@ SUN_NET_WWW_PROTOCOL_JAR_URLJARFILE = @SUN_NET_WWW_PROTOCOL_JAR_URLJARFILE@ SUN_NET_WWW_PROTOCOL_JAR_URLJARFILECALLBACK = @SUN_NET_WWW_PROTOCOL_JAR_URLJARFILECALLBACK@ SUN_SECURITY_ACTION_GETPROPERTYACTION = @SUN_SECURITY_ACTION_GETPROPERTYACTION@ -SUN_SECURITY_PROVIDER_X509FACTORY = @SUN_SECURITY_PROVIDER_X509FACTORY@ SUN_SECURITY_UTIL_HOSTNAMECHECKER = @SUN_SECURITY_UTIL_HOSTNAMECHECKER@ SUN_SECURITY_UTIL_SECURITYCONSTANTS = @SUN_SECURITY_UTIL_SECURITYCONSTANTS@ SUN_SECURITY_VALIDATOR_VALIDATOREXCEPTION = @SUN_SECURITY_VALIDATOR_VALIDATOREXCEPTION@ @@ -343,9 +343,10 @@ @CP_SUPPORTS_REFLINK_TRUE@REFLINK = --reflink=auto @SRC_DIR_HARDLINKABLE_FALSE@SRC_DIR_LINK = $(REFLINK) @SRC_DIR_HARDLINKABLE_TRUE@SRC_DIR_LINK = -l -@ENABLE_DOCS_TRUE@JAVADOC_OPTS = -use -keywords -encoding UTF-8 -splitIndex \ -@ENABLE_DOCS_TRUE@ -bottom '<font size="-1"> <a href="http://icedtea.classpath.org/bugzilla">Submit a bug or feature</a></font>' - +@ENABLE_DOCS_TRUE@JAVADOC_OPTS = -use -keywords -encoding UTF-8 \ +@ENABLE_DOCS_TRUE@ -splitIndex -bottom '<font size="-1"> <a \ +@ENABLE_DOCS_TRUE@ href="http://icedtea.classpath.org/bugzilla">Submit \ +@ENABLE_DOCS_TRUE@ a bug or feature</a></font>' $(am__append_1) @ENABLE_DOCS_TRUE@@JAVADOC_SUPPORTS_J_OPTIONS_TRUE@JAVADOC_MEM_OPTS = -J-Xmx1024m -J-Xms128m # if you create netx-dist-tests-whitelist in top directory, and place "expr match" regexes @@ -1312,6 +1313,7 @@ HTML_DOCS_TARGET_DIR="$(DOCS_DIR)/html" ; \ PLAIN_DOCS_TARGET_DIR="$(DOCS_DIR)/plain" ; \ MAN_DOCS_TARGET_DIR="$(DOCS_DIR)/man" ; \ + AUTHORS_FILE_TARGET="$(TOP_SRC_DIR)/AUTHORS" ; \ mkdir "$$HTML_DOCS_TARGET_DIR" ; \ mkdir "$$PLAIN_DOCS_TARGET_DIR" ; \ mkdir "$$MAN_DOCS_TARGET_DIR" ; \ @@ -1327,16 +1329,16 @@ export LANG=$$LANG_ID; \ mkdir "$$HTML_DOCS_TARGET_DIR/$$ID" ; \ echo "<li><a href='$$ID/icedtea-web.html'>$$LANG_ID</a></li>" >> "$$HTML_DOCS_INDEX" ; \ - $$TP_COMMAND html "$$HTML_DOCS_TARGET_DIR/$$ID" $$TP_TAIL ; \ + $$TP_COMMAND html "$$HTML_DOCS_TARGET_DIR/$$ID" $$TP_TAIL "-authorFile=$$AUTHORS_FILE_TARGET" ; \ mkdir "$$PLAIN_DOCS_TARGET_DIR/$$ID" ; \ - $$TP_COMMAND plain "$$PLAIN_DOCS_TARGET_DIR/$$ID" 160 $$TP_TAIL; \ + $$TP_COMMAND plain "$$PLAIN_DOCS_TARGET_DIR/$$ID" 160 $$TP_TAIL "-authorFile=$$AUTHORS_FILE_TARGET" ; \ if [ $$ID = "en" ] ; then \ MAN_DESC="$$MAN_DOCS_TARGET_DIR/man1" ; \ else \ MAN_DESC="$$MAN_DOCS_TARGET_DIR/$$ID/man1" ; \ fi ; \ mkdir -p "$$MAN_DESC" ; \ - $$TP_COMMAND man $$ENCOD "$$MAN_DESC" $$TP_TAIL ; \ + $$TP_COMMAND man $$ENCOD "$$MAN_DESC" $$TP_TAIL "-authorFile=$$AUTHORS_FILE_TARGET" ; \ $$TP_COMMAND htmlIntro "$(NETX_DIR)/net/sourceforge/jnlp/resources/about_$$ID.html" $$TP_TAIL; \ done ; \ export LANG=$$LANG_BACKUP ; \ @@ -1348,7 +1350,7 @@ mkdir -p html-gen; \ cp AUTHORS NEWS COPYING ChangeLog html-gen/; \ export HTML_GEN_DEBUG=true; \ - ${SHELL} html-gen.sh 236; \ + ${SHELL} html-gen.sh 7; \ unset HTML_GEN_DEBUG) ${INSTALL_DATA} $(NETX_SRCDIR)/../html-gen/*.html $(NETX_RESOURCE_DIR) rm -r $(NETX_SRCDIR)/../html-gen/ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icedtea-web-1.7/NEWS new/icedtea-web-1.7.1/NEWS --- old/icedtea-web-1.7/NEWS 2017-07-20 13:52:59.927882390 +0200 +++ new/icedtea-web-1.7.1/NEWS 2017-12-15 15:15:07.501638827 +0100 @@ -8,6 +8,11 @@ CVE-XXXX-YYYY: http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY +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 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icedtea-web-1.7/configure new/icedtea-web-1.7.1/configure --- old/icedtea-web-1.7/configure 2017-07-20 13:53:26.433581891 +0200 +++ new/icedtea-web-1.7.1/configure 2017-12-15 15:19:38.751531746 +0100 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for icedtea-web 1.7. +# Generated by GNU Autoconf 2.69 for icedtea-web 1.7.1. # # Report bugs to <[email protected]>. # @@ -579,8 +579,8 @@ # Identity of this package. PACKAGE_NAME='icedtea-web' PACKAGE_TARNAME='icedtea-web' -PACKAGE_VERSION='1.7' -PACKAGE_STRING='icedtea-web 1.7' +PACKAGE_VERSION='1.7.1' +PACKAGE_STRING='icedtea-web 1.7.1' PACKAGE_BUGREPORT='[email protected]' PACKAGE_URL='http://icedtea.classpath.org/wiki/IcedTea-Web' @@ -645,7 +645,6 @@ SUN_SECURITY_X509_X500NAME SUN_SECURITY_UTIL_HOSTNAMECHECKER SUN_SECURITY_UTIL_SECURITYCONSTANTS -SUN_SECURITY_PROVIDER_X509FACTORY JAVA_NET_COOKIEHANDLER JAVA_NET_HTTPCOOKIE JAVA_NET_COOKIEMANAGER @@ -1414,7 +1413,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures icedtea-web 1.7 to adapt to many kinds of systems. +\`configure' configures icedtea-web 1.7.1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1484,7 +1483,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of icedtea-web 1.7:";; + short | recursive ) echo "Configuration of icedtea-web 1.7.1:";; esac cat <<\_ACEOF @@ -1647,7 +1646,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -icedtea-web configure 1.7 +icedtea-web configure 1.7.1 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1740,7 +1739,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by icedtea-web $as_me 1.7, which was +It was created by icedtea-web $as_me 1.7.1, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2603,7 +2602,7 @@ # Define the identity of the package. PACKAGE='icedtea-web' - VERSION='1.7' + VERSION='1.7.1' cat >>confdefs.h <<_ACEOF @@ -6430,7 +6429,7 @@ cd tmp.$$ mkdir pkg cat << \EOF > $CLASS -/* [#]line 6433 "configure" */ +/* [#]line 6432 "configure" */ package pkg; public class Test @@ -7455,7 +7454,7 @@ mkdir -p tmp.$$/$(dirname $CLASS) cd tmp.$$ cat << \EOF > $CLASS -/* [#]line 7458 "configure" */ +/* [#]line 7457 "configure" */ package some.pkg; import java.util.jar.Pack200; @@ -7516,7 +7515,7 @@ mkdir -p tmp.$$/$(dirname $CLASS) cd tmp.$$ cat << \EOF > $CLASS -/* [#]line 7519 "configure" */ +/* [#]line 7518 "configure" */ package some.pkg; import java.net.CookieManager; @@ -7577,7 +7576,7 @@ mkdir -p tmp.$$/$(dirname $CLASS) cd tmp.$$ cat << \EOF > $CLASS -/* [#]line 7580 "configure" */ +/* [#]line 7579 "configure" */ package some.pkg; import java.net.HttpCookie; @@ -7638,7 +7637,7 @@ mkdir -p tmp.$$/$(dirname $CLASS) cd tmp.$$ cat << \EOF > $CLASS -/* [#]line 7641 "configure" */ +/* [#]line 7640 "configure" */ package some.pkg; import java.net.CookieHandler; @@ -7680,67 +7679,6 @@ -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if sun.security.provider.X509Factory is available from some.pkg (module \"$JAVA_BASE\")" >&5 -$as_echo_n "checking if sun.security.provider.X509Factory is available from some.pkg (module \"$JAVA_BASE\")... " >&6; } -if ${it_cv_SUN_SECURITY_PROVIDER_X509FACTORY+:} false; then : - $as_echo_n "(cached) " >&6 -else - -# first is the variableto save in, second param is name of class to find, -# third is name of package to make check in. -# mostly some.pkg is ok, but some tests must bedone in sun.applet or other special directory -# fourth, optional is module -MODULE_NAME="$JAVA_BASE" -if test -n "$MODULE_NAME" ; then - PATCH_MODULE="--patch-module $MODULE_NAME=." -fi -PKGPATH=`echo some.pkg | sed "s;\\.;/;g" ` -CLASS=$PKGPATH/Test.java -BYTECODE=$(echo $CLASS|sed 's#\.java##') -mkdir -p tmp.$$/$(dirname $CLASS) -cd tmp.$$ -cat << \EOF > $CLASS -/* [#]line 7703 "configure" */ -package some.pkg; - -import sun.security.provider.X509Factory; - -public class Test -{ - public static void main(String[] args) - throws Exception - { - System.out.println(Class.forName("sun.security.provider.X509Factory")); - } -} - -EOF -if $JAVAC $PATCH_MODULE -cp . $JAVACFLAGS -nowarn $CLASS >&5 2>&1; then - if $JAVA $PATCH_MODULE -classpath . $BYTECODE >&5 2>&1; then - it_cv_SUN_SECURITY_PROVIDER_X509FACTORY=yes; - else - it_cv_SUN_SECURITY_PROVIDER_X509FACTORY=no; - fi -else - it_cv_SUN_SECURITY_PROVIDER_X509FACTORY=no; -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $it_cv_SUN_SECURITY_PROVIDER_X509FACTORY" >&5 -$as_echo "$it_cv_SUN_SECURITY_PROVIDER_X509FACTORY" >&6; } -rm -f $CLASS *.class -cd .. -# should be rmdir but has to be rm -rf due to sun.applet usage -rm -rf tmp.$$ -if test x"${it_cv_SUN_SECURITY_PROVIDER_X509FACTORY}" = "xno"; then - as_fn_error $? "sun.security.provider.X509Factory not found." "$LINENO" 5 -fi -SUN_SECURITY_PROVIDER_X509FACTORY=${it_cv_SUN_SECURITY_PROVIDER_X509FACTORY} - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if sun.security.util.SecurityConstants is available from some.pkg (module \"$JAVA_BASE\")" >&5 $as_echo_n "checking if sun.security.util.SecurityConstants is available from some.pkg (module \"$JAVA_BASE\")... " >&6; } if ${it_cv_SUN_SECURITY_UTIL_SECURITYCONSTANTS+:} false; then : @@ -7761,7 +7699,7 @@ mkdir -p tmp.$$/$(dirname $CLASS) cd tmp.$$ cat << \EOF > $CLASS -/* [#]line 7764 "configure" */ +/* [#]line 7702 "configure" */ package some.pkg; import sun.security.util.SecurityConstants; @@ -7822,7 +7760,7 @@ mkdir -p tmp.$$/$(dirname $CLASS) cd tmp.$$ cat << \EOF > $CLASS -/* [#]line 7825 "configure" */ +/* [#]line 7763 "configure" */ package some.pkg; import sun.security.util.HostnameChecker; @@ -7883,7 +7821,7 @@ mkdir -p tmp.$$/$(dirname $CLASS) cd tmp.$$ cat << \EOF > $CLASS -/* [#]line 7886 "configure" */ +/* [#]line 7824 "configure" */ package some.pkg; import sun.security.x509.X500Name; @@ -7944,7 +7882,7 @@ mkdir -p tmp.$$/$(dirname $CLASS) cd tmp.$$ cat << \EOF > $CLASS -/* [#]line 7947 "configure" */ +/* [#]line 7885 "configure" */ package some.pkg; import sun.security.action.GetPropertyAction; @@ -8007,7 +7945,7 @@ mkdir -p tmp.$$/$(dirname $CLASS) cd tmp.$$ cat << \EOF > $CLASS -/* [#]line 8010 "configure" */ +/* [#]line 7948 "configure" */ package some.pkg; import sun.security.util.HexDumpEncoder; @@ -8068,7 +8006,7 @@ mkdir -p tmp.$$/$(dirname $CLASS) cd tmp.$$ cat << \EOF > $CLASS -/* [#]line 8071 "configure" */ +/* [#]line 8009 "configure" */ package some.pkg; import jdk.internal.util.jar.JarIndex; @@ -8130,7 +8068,7 @@ mkdir -p tmp.$$/$(dirname $CLASS) cd tmp.$$ cat << \EOF > $CLASS -/* [#]line 8133 "configure" */ +/* [#]line 8071 "configure" */ package some.pkg; import sun.misc.HexDumpEncoder; @@ -8191,7 +8129,7 @@ mkdir -p tmp.$$/$(dirname $CLASS) cd tmp.$$ cat << \EOF > $CLASS -/* [#]line 8194 "configure" */ +/* [#]line 8132 "configure" */ package some.pkg; import sun.misc.JarIndex; @@ -8252,7 +8190,7 @@ mkdir -p tmp.$$/$(dirname $CLASS) cd tmp.$$ cat << \EOF > $CLASS -/* [#]line 8255 "configure" */ +/* [#]line 8193 "configure" */ package some.pkg; import sun.misc.Launcher; @@ -8314,7 +8252,7 @@ mkdir -p tmp.$$/$(dirname $CLASS) cd tmp.$$ cat << \EOF > $CLASS -/* [#]line 8317 "configure" */ +/* [#]line 8255 "configure" */ package some.pkg; import sun.security.validator.ValidatorException; @@ -8375,7 +8313,7 @@ mkdir -p tmp.$$/$(dirname $CLASS) cd tmp.$$ cat << \EOF > $CLASS -/* [#]line 8378 "configure" */ +/* [#]line 8316 "configure" */ package some.pkg; import com.sun.net.ssl.internal.ssl.X509ExtendedTrustManager; @@ -8436,7 +8374,7 @@ mkdir -p tmp.$$/$(dirname $CLASS) cd tmp.$$ cat << \EOF > $CLASS -/* [#]line 8439 "configure" */ +/* [#]line 8377 "configure" */ package some.pkg; import sun.net.www.protocol.jar.URLJarFile; @@ -8497,7 +8435,7 @@ mkdir -p tmp.$$/$(dirname $CLASS) cd tmp.$$ cat << \EOF > $CLASS -/* [#]line 8500 "configure" */ +/* [#]line 8438 "configure" */ package some.pkg; import sun.net.www.protocol.jar.URLJarFileCallBack; @@ -8559,7 +8497,7 @@ mkdir -p tmp.$$/$(dirname $CLASS) cd tmp.$$ cat << \EOF > $CLASS -/* [#]line 8562 "configure" */ +/* [#]line 8500 "configure" */ package some.pkg; import sun.awt.X11.XEmbeddedFrame; @@ -8622,7 +8560,7 @@ mkdir -p tmp.$$/$(dirname $CLASS) cd tmp.$$ cat << \EOF > $CLASS -/* [#]line 8625 "configure" */ +/* [#]line 8563 "configure" */ package some.pkg; import sun.awt.windows.WEmbeddedFrame; @@ -8684,7 +8622,7 @@ mkdir -p tmp.$$/$(dirname $CLASS) cd tmp.$$ cat << \EOF > $CLASS -/* [#]line 8687 "configure" */ +/* [#]line 8625 "configure" */ package some.pkg; import com.sun.jndi.toolkit.url.UrlUtil; @@ -8745,7 +8683,7 @@ mkdir -p tmp.$$/$(dirname $CLASS) cd tmp.$$ cat << \EOF > $CLASS -/* [#]line 8748 "configure" */ +/* [#]line 8686 "configure" */ package some.pkg; import sun.net.www.protocol.http.Handler; @@ -8806,7 +8744,7 @@ mkdir -p tmp.$$/$(dirname $CLASS) cd tmp.$$ cat << \EOF > $CLASS -/* [#]line 8809 "configure" */ +/* [#]line 8747 "configure" */ package sun.applet; import sun.applet.AppletImageRef; @@ -8859,7 +8797,7 @@ mkdir -p tmp.$$ cd tmp.$$ cat << \EOF > $CLASS -/* [#]line 8862 "configure" */ +/* [#]line 8800 "configure" */ import java.lang.reflect.*; public class TestAppletViewer @@ -11842,7 +11780,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by icedtea-web $as_me 1.7, which was +This file was extended by icedtea-web $as_me 1.7.1, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -11900,7 +11838,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -icedtea-web config.status 1.7 +icedtea-web config.status 1.7.1 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icedtea-web-1.7/configure.ac new/icedtea-web-1.7.1/configure.ac --- old/icedtea-web-1.7/configure.ac 2017-07-20 13:52:59.929882367 +0200 +++ new/icedtea-web-1.7.1/configure.ac 2017-12-15 15:15:07.503638804 +0100 @@ -1,4 +1,4 @@ -AC_INIT([icedtea-web],[1.7],[[email protected]], [icedtea-web], [http://icedtea.classpath.org/wiki/IcedTea-Web]) +AC_INIT([icedtea-web],[1.7.1],[[email protected]], [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]) @@ -95,7 +95,6 @@ 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_PROVIDER_X509FACTORY, [sun.security.provider.X509Factory], [some.pkg], [$JAVA_BASE]) 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]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icedtea-web-1.7/launcher/launchers.in new/icedtea-web-1.7.1/launcher/launchers.in --- old/icedtea-web-1.7/launcher/launchers.in 2017-07-20 13:52:59.930882356 +0200 +++ new/icedtea-web-1.7.1/launcher/launchers.in 2017-12-15 15:15:07.504638793 +0100 @@ -167,6 +167,10 @@ k=$((k+1)) COMMAND[k]="java.base/sun.net.www.protocol.http=ALL-UNNAMED,java.desktop" k=$((k+1)) +COMMAND[k]="--add-exports" +k=$((k+1)) +COMMAND[k]="java.desktop/sun.applet=ALL-UNNAMED,jdk.jsobject" +k=$((k+1)) fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icedtea-web-1.7/netx/net/sourceforge/jnlp/cache/ResourceUrlCreator.java new/icedtea-web-1.7.1/netx/net/sourceforge/jnlp/cache/ResourceUrlCreator.java --- old/icedtea-web-1.7/netx/net/sourceforge/jnlp/cache/ResourceUrlCreator.java 2017-07-20 13:52:59.958882038 +0200 +++ new/icedtea-web-1.7.1/netx/net/sourceforge/jnlp/cache/ResourceUrlCreator.java 2017-12-15 15:15:07.533638468 +0100 @@ -42,6 +42,8 @@ import java.util.List; import net.sourceforge.jnlp.DownloadOptions; +import net.sourceforge.jnlp.config.DeploymentConfiguration; +import net.sourceforge.jnlp.runtime.JNLPRuntime; import net.sourceforge.jnlp.util.logging.OutputController; public class ResourceUrlCreator { @@ -95,14 +97,17 @@ urls.add(resource.getLocation()); - //preffering https and owerriding case, when applciation was moved to https, but the jnlp stayed intacted - List<URL> urlsCopy = new LinkedList<>(urls); - for (URL u : urlsCopy) { - if (u.getProtocol().equals("http")) { - try { - urls.add(0, copyUrltoHttps(u)); - } catch (Exception ex) { - OutputController.getLogger().log(ex); + boolean noHttpsPreffered = Boolean.valueOf(JNLPRuntime.getConfiguration().getProperty(DeploymentConfiguration.KEY_HTTPS_DONT_ENFORCE)); + if (!noHttpsPreffered) { + //preffering https and owerriding case, when applciation was moved to https, but the jnlp stayed intacted + List<URL> urlsCopy = new LinkedList<>(urls); + for (URL u : urlsCopy) { + if (u.getProtocol().equals("http")) { + try { + urls.add(0, copyUrltoHttps(u)); + } catch (Exception ex) { + OutputController.getLogger().log(ex); + } } } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icedtea-web-1.7/netx/net/sourceforge/jnlp/config/Defaults.java new/icedtea-web-1.7.1/netx/net/sourceforge/jnlp/config/Defaults.java --- old/icedtea-web-1.7/netx/net/sourceforge/jnlp/config/Defaults.java 2017-07-20 13:52:59.959882027 +0200 +++ new/icedtea-web-1.7.1/netx/net/sourceforge/jnlp/config/Defaults.java 2017-12-15 15:15:07.535638446 +0100 @@ -220,7 +220,12 @@ BasicValueValidators.getBooleanValidator(), String.valueOf(true) }, - { + { + DeploymentConfiguration.KEY_HTTPS_DONT_ENFORCE, + BasicValueValidators.getBooleanValidator(), + String.valueOf(false) + }, + { DeploymentConfiguration.KEY_SECURITY_PROMPT_USER_FOR_JNLP, BasicValueValidators.getBooleanValidator(), String.valueOf(true) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icedtea-web-1.7/netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java new/icedtea-web-1.7.1/netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java --- old/icedtea-web-1.7/netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java 2017-07-20 13:52:59.960882016 +0200 +++ new/icedtea-web-1.7.1/netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java 2017-12-15 15:15:07.536638435 +0100 @@ -151,6 +151,9 @@ public static final String KEY_SECURITY_INSTALL_AUTHENTICATOR = "deployment.security.authenticator"; public static final String KEY_STRICT_JNLP_CLASSLOADER = "deployment.jnlpclassloader.strict"; + + /** Boolean. Do not prefere https over http */ + public static final String KEY_HTTPS_DONT_ENFORCE = "deployment.https.noenforce"; /* * Networking */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icedtea-web-1.7/netx/net/sourceforge/jnlp/resources/Messages.properties new/icedtea-web-1.7.1/netx/net/sourceforge/jnlp/resources/Messages.properties --- old/icedtea-web-1.7/netx/net/sourceforge/jnlp/resources/Messages.properties 2017-07-20 13:52:59.975881846 +0200 +++ new/icedtea-web-1.7.1/netx/net/sourceforge/jnlp/resources/Messages.properties 2017-12-15 15:15:07.547638311 +0100 @@ -30,6 +30,7 @@ BUTback=Back BUTforward=Forward BUTreload=Reload +ITWdocsMissingAuthors=See authors file HEADLESS_MISSCONFIGURED=Headless check failed. You are forced to run without any graphics. IcedTea-Web can run like this, but your app probably not. This is likely bug in your system. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icedtea-web-1.7/netx/net/sourceforge/jnlp/security/CertificateUtils.java new/icedtea-web-1.7.1/netx/net/sourceforge/jnlp/security/CertificateUtils.java --- old/icedtea-web-1.7/netx/net/sourceforge/jnlp/security/CertificateUtils.java 2017-07-20 13:52:59.904882651 +0200 +++ new/icedtea-web-1.7.1/netx/net/sourceforge/jnlp/security/CertificateUtils.java 2017-12-15 15:15:07.484639017 +0100 @@ -58,7 +58,6 @@ import net.sourceforge.jnlp.runtime.Translator; import net.sourceforge.jnlp.util.logging.OutputController; import net.sourceforge.jnlp.util.replacements.BASE64Encoder; -import sun.security.provider.X509Factory; /** * Common utilities to manipulate certificates. Provides methods to add @@ -193,9 +192,9 @@ CertificateException { BASE64Encoder encoder = new BASE64Encoder(); - out.println(X509Factory.BEGIN_CERT); + out.println("-----BEGIN CERTIFICATE-----"); encoder.encodeBuffer(cert.getEncoded(), out); - out.println(X509Factory.END_CERT); + out.println("-----END CERTIFICATE-----"); } public static void dumpPKCS12(String alias, File file, KeyStore ks, char[] password) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icedtea-web-1.7/netx/net/sourceforge/jnlp/util/docprovider/TextsProvider.java new/icedtea-web-1.7.1/netx/net/sourceforge/jnlp/util/docprovider/TextsProvider.java --- old/icedtea-web-1.7/netx/net/sourceforge/jnlp/util/docprovider/TextsProvider.java 2017-07-20 13:52:59.960882016 +0200 +++ new/icedtea-web-1.7.1/netx/net/sourceforge/jnlp/util/docprovider/TextsProvider.java 2017-12-15 15:15:07.533638468 +0100 @@ -33,18 +33,23 @@ this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. -*/ - + */ package net.sourceforge.jnlp.util.docprovider; +import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; +import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; +import java.io.InputStreamReader; import java.io.OutputStream; import java.io.OutputStreamWriter; +import java.io.Reader; import java.io.Writer; +import java.util.ArrayList; +import java.util.Arrays; import java.util.Collections; import java.util.Comparator; import java.util.List; @@ -63,13 +68,16 @@ import net.sourceforge.jnlp.util.docprovider.formatters.formatters.ReplacingTextFormatter; public abstract class TextsProvider { + + private static File authorFileFromUserInput = null; private final String encoding; private final Formatter formatter; private final boolean forceTitles; protected final boolean expandVariables; private boolean prepared = false; - + private File authorFilePath = null; + private boolean introduction = true; private boolean synopsis = true; private boolean description = true; @@ -184,7 +192,6 @@ for (Map.Entry<String, Setting<String>> entry : defs) { if (matchSttingsValueWithInfrastrucutreFile(entry.getValue(), f)) { controlledBy = " " + Translator.R("BUTControlledBy", getFormatter().getBold(entry.getKey())); - break; } } @@ -271,13 +278,9 @@ public String getAuthors() { if (forceTitles) { return getFormatter().getTitle(ManFormatter.KnownSections.AUTHOR) - + getFormatter().wrapParagraph( - getFormatter().process(Translator.R("ITWTBdebug")) - + getFormatter().getNewLine()); + + generateAuthorsSection(authorFilePath); } else { - return getFormatter().wrapParagraph( - getFormatter().process(Translator.R("ITWTBdebug")) - + getFormatter().getNewLine()); + return generateAuthorsSection(authorFilePath); } } @@ -399,7 +402,7 @@ public static void main(String[] args) throws IOException { // Shutdown hook from OutputController was causing hanging build on Windows. It's not used on headless. JNLPRuntime.setHeadless(true); - + if (args.length == 0) { System.out.println(" * IcedTea-Web self documentation tool list of arguments *"); System.out.println(" * argument version - last parameter of each command, is used when there is no internal versionknown *"); @@ -412,24 +415,38 @@ System.out.println("man encoding targetDir expand version - will generate man documentation to target dir in desired encoding"); System.out.println("plain targetDir maxLineWidth expand version - will generate plain text documentation to target dir in desired encoding"); System.out.println(" - maxLineWidth is in <5," + Integer.MAX_VALUE + ">"); + System.out.println("to generate informations about authors from a file, use argument '-authorFile' with path to AUTHORS file located in icedtea-web." + + "\n eg. -authorFile=/home/user/icedtea-web/AUTHORS"); } else { - ReplacingTextFormatter.backupVersion = args[args.length - 1]; - boolean expand = Boolean.valueOf(args[args.length - 2]); - switch (args[0]) { + List<String> argsList = new ArrayList<>(); + argsList.addAll(Arrays.asList(args)); + for (String s : argsList) { + if (s.startsWith("-authorFile=")) { + authorFileFromUserInput = new File(s.split("=")[1]); + if (!authorFileFromUserInput.exists()) { + throw new RuntimeException(authorFileFromUserInput.getAbsolutePath() + " does not exists"); + } + argsList.remove(s); + break; + } + } + ReplacingTextFormatter.backupVersion = argsList.get(argsList.size() - 1); + boolean expand = Boolean.valueOf(argsList.get(argsList.size() - 2)); + switch (argsList.get(0)) { case "all": generateAll(new File(System.getProperty("user.dir")), expand); break; case "html": - generateOnlineHtmlHelp(new File(args[1]), expand); + generateOnlineHtmlHelp(new File(argsList.get(1)), expand); break; case "htmlIntro": - generateItwIntro(new File(args[1]), expand); + generateItwIntro(new File(argsList.get(1)), expand); break; case "man": - generateManText(args[1], new File(args[2]), expand); + generateManText(argsList.get(1), new File(argsList.get(2)), expand); break; case "plain": - generatePlainTextDocs(new File(args[1]), Integer.valueOf(args[2]), expand); + generatePlainTextDocs(new File(argsList.get(1)), Integer.valueOf(argsList.get(2)), expand); break; default: System.out.println("unknown param"); @@ -441,6 +458,7 @@ public static void generateItwIntro(File f, boolean expand) throws IOException { IcedTeaWebTextsProvider itw = new IcedTeaWebTextsProvider("utf-8", new HtmlFormatter(false, true, false), false, expand); + //!!AUTHORS FILE IS NOT NEEDED IN THIS METHOD, AUTHORS ARE GENERATED SEPARATELY INTO ANOTHER TAB itw.setSeeAlso(false); itw.writeToFile(f); } @@ -481,15 +499,15 @@ } } JavaWsTextsProvider javaws = new JavaWsTextsProvider(encoding, new HtmlFormatter(allowContext, allowLogo, includeXmlHeader), titles, expand); - javaws.writeToDir(dir); ItwebSettingsTextsProvider itws = new ItwebSettingsTextsProvider(encoding, new HtmlFormatter(allowContext, allowLogo, includeXmlHeader), titles, expand); - itws.writeToDir(dir); PolicyEditorTextsProvider pe = new PolicyEditorTextsProvider(encoding, new HtmlFormatter(allowContext, allowLogo, includeXmlHeader), titles, expand); - pe.writeToDir(dir); IcedTeaWebTextsProvider itw = new IcedTeaWebTextsProvider(encoding, new HtmlFormatter(allowContext, allowLogo, includeXmlHeader), titles, expand); - itw.writeToDir(dir); ItwebPluginTextProvider pl = new ItwebPluginTextProvider(encoding, new HtmlFormatter(allowContext, allowLogo, includeXmlHeader), titles, expand); - pl.writeToDir(dir); + TextsProvider[] providers = new TextsProvider[]{javaws, itws, pe, itw, pl}; + for (TextsProvider provider : providers) { + provider.setAuthorFilePath(authorFileFromUserInput); + provider.writeToDir(dir); + } } @@ -499,15 +517,15 @@ public static void generateManText(String encoding, File dir, boolean titles, boolean expand) throws IOException { JavaWsTextsProvider javaws = new JavaWsTextsProvider(encoding, new ManFormatter(), titles, expand); - javaws.writeToDir(dir); ItwebSettingsTextsProvider itws = new ItwebSettingsTextsProvider(encoding, new ManFormatter(), titles, expand); - itws.writeToDir(dir); PolicyEditorTextsProvider pe = new PolicyEditorTextsProvider(encoding, new ManFormatter(), titles, expand); - pe.writeToDir(dir); IcedTeaWebTextsProvider itw = new IcedTeaWebTextsProvider(encoding, new ManFormatter(), titles, expand); - itw.writeToDir(dir); ItwebPluginTextProvider pl = new ItwebPluginTextProvider(encoding, new ManFormatter(), titles, expand); - pl.writeToDir(dir); + TextsProvider[] providers = new TextsProvider[]{javaws, itws, pe, itw, pl}; + for (TextsProvider provider : providers) { + provider.setAuthorFilePath(authorFileFromUserInput); + provider.writeToDir(dir); + } } @@ -517,15 +535,15 @@ public static void generatePlainTextDocs(String encoding, File dir, String indent, int lineWidth, boolean titles, boolean expand) throws IOException { JavaWsTextsProvider javaws = new JavaWsTextsProvider(encoding, new PlainTextFormatter(indent, lineWidth), titles, expand); - javaws.writeToDir(dir); ItwebSettingsTextsProvider itws = new ItwebSettingsTextsProvider(encoding, new PlainTextFormatter(indent, lineWidth), titles, expand); - itws.writeToDir(dir); PolicyEditorTextsProvider pe = new PolicyEditorTextsProvider(encoding, new PlainTextFormatter(indent, lineWidth), titles, expand); - pe.writeToDir(dir); IcedTeaWebTextsProvider itw = new IcedTeaWebTextsProvider(encoding, new PlainTextFormatter(indent, lineWidth), titles, expand); - itw.writeToDir(dir); ItwebPluginTextProvider pl = new ItwebPluginTextProvider(encoding, new PlainTextFormatter(indent, lineWidth), titles, expand); - pl.writeToDir(dir); + TextsProvider[] providers = new TextsProvider[]{javaws, itws, pe, itw, pl}; + for(TextsProvider provider : providers){ + provider.setAuthorFilePath(authorFileFromUserInput); + provider.writeToDir(dir); + } } @@ -671,6 +689,11 @@ this.authors = authors; } + public void setAuthorFilePath(File authorFilePath) { + this.authorFilePath = authorFilePath; + } + + /** * @return the seeAlso */ @@ -695,4 +718,49 @@ return s; } + private String readAuthors(File authors) { + try { + return readAuthorsImpl(authors); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + + private String readAuthorsImpl(File authors) throws IOException { + return readAuthorsImpl(new InputStreamReader(new FileInputStream(authors), "UTF-8")); + + } + + String readAuthorsImpl(Reader authors) throws IOException { + StringBuilder sb = new StringBuilder(); + boolean areAuthors = false; + BufferedReader reader = new BufferedReader(authors); + while (true) { + String line = reader.readLine(); + if (line == null) { + break; + } + if (line.trim().isEmpty()) { + areAuthors = !areAuthors; + } + sb.append(getFormatter().process(getFormatter().getAdressLink(line))); + if (getFormatter() instanceof HtmlFormatter || areAuthors == false) { + sb.append(getFormatter().getNewLine()); + } + } + return sb.toString(); + } + + private String generateAuthorsSection(File filePath) { + if (filePath == null) { + return getFormatter().wrapParagraph( + getFormatter().process(Translator.R("ITWdocsMissingAuthors")) + + getFormatter().getNewLine()); + } else { + return getFormatter().wrapParagraph( + getFormatter().process(readAuthors(filePath)) + + getFormatter().getNewLine()); + } + } } + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icedtea-web-1.7/netx/net/sourceforge/jnlp/util/docprovider/formatters/formatters/Formatter.java new/icedtea-web-1.7.1/netx/net/sourceforge/jnlp/util/docprovider/formatters/formatters/Formatter.java --- old/icedtea-web-1.7/netx/net/sourceforge/jnlp/util/docprovider/formatters/formatters/Formatter.java 2017-07-20 13:52:59.961882004 +0200 +++ new/icedtea-web-1.7.1/netx/net/sourceforge/jnlp/util/docprovider/formatters/formatters/Formatter.java 2017-12-15 15:15:07.533638468 +0100 @@ -74,5 +74,9 @@ public String getTail(); public String getFileSuffix(); + + public String getAdressLink(String s); + + public String replaceLtGtCharacters(String s); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icedtea-web-1.7/netx/net/sourceforge/jnlp/util/docprovider/formatters/formatters/HtmlFormatter.java new/icedtea-web-1.7.1/netx/net/sourceforge/jnlp/util/docprovider/formatters/formatters/HtmlFormatter.java --- old/icedtea-web-1.7/netx/net/sourceforge/jnlp/util/docprovider/formatters/formatters/HtmlFormatter.java 2017-07-20 13:52:59.961882004 +0200 +++ new/icedtea-web-1.7.1/netx/net/sourceforge/jnlp/util/docprovider/formatters/formatters/HtmlFormatter.java 2017-12-15 15:15:07.533638468 +0100 @@ -33,8 +33,7 @@ this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. -*/ - + */ package net.sourceforge.jnlp.util.docprovider.formatters.formatters; import java.util.Date; @@ -43,14 +42,15 @@ import java.util.TreeMap; import net.sourceforge.jnlp.runtime.JNLPRuntime; - public class HtmlFormatter extends ReplacingTextFormatter { private final Map<String, String> content = new TreeMap<>(); private final boolean allowContext; private final boolean allowLogo; private final boolean includeXmlHeader; - public static final String SUFFIX = "html"; + private final String lT = "<"; + private final String gT = ">"; + public static final String SUFFIX = "html"; @Override public String process(String s) { @@ -58,7 +58,6 @@ return s; } - public HtmlFormatter(boolean allowContext, boolean allowLogo, boolean includeXmlHeader) { this.allowContext = allowContext; this.allowLogo = allowLogo; @@ -146,7 +145,7 @@ @Override public String getFileSuffix() { - return "."+SUFFIX; + return "." + SUFFIX; } @Override @@ -182,4 +181,30 @@ return "<li><b>" + key + " </b> - " + process(value) + "</li>"; } + @Override + public String getAdressLink(String s) { + String emailDelBracket = s.replaceAll(".*<", ""); + String adress = emailDelBracket.replaceAll(">.*", ""); + if (s.contains("@")) { + String name = s.replaceAll("<.*", "").trim(); + return "<a href=\"mailto:" + antiSpam(adress) + "\" target=\"_top\">" + name + "</a>"; + } else { + return s.replaceAll("<.*>", "<a href=\"" + adress + "\">" + adress + "</a>"); + } + } + + @Override + public String replaceLtGtCharacters(String s) { + String replaceLt = s.replaceAll("<", lT); + String replaceLtGt = replaceLt.replaceAll(">", gT); + return replaceLtGt; + } + + private static String antiSpam(String adress) { + StringBuilder sb = new StringBuilder(); + for (int x = 0; x < adress.length(); x++) { + sb.append(adress.charAt(x)).append(" "); + } + return sb.toString().trim(); + } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icedtea-web-1.7/netx/net/sourceforge/jnlp/util/docprovider/formatters/formatters/ReplacingTextFormatter.java new/icedtea-web-1.7.1/netx/net/sourceforge/jnlp/util/docprovider/formatters/formatters/ReplacingTextFormatter.java --- old/icedtea-web-1.7/netx/net/sourceforge/jnlp/util/docprovider/formatters/formatters/ReplacingTextFormatter.java 2017-07-20 13:52:59.962881993 +0200 +++ new/icedtea-web-1.7.1/netx/net/sourceforge/jnlp/util/docprovider/formatters/formatters/ReplacingTextFormatter.java 2017-12-15 15:15:07.534638457 +0100 @@ -99,8 +99,16 @@ return sb.toString(); } + @Override + public String getAdressLink(String s) { + return s; + } - + @Override + public String replaceLtGtCharacters(String s) { + return s; + } + } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icedtea-web-1.7/plugin/icedteanp/IcedTeaNPPlugin.cc new/icedtea-web-1.7.1/plugin/icedteanp/IcedTeaNPPlugin.cc --- old/icedtea-web-1.7/plugin/icedteanp/IcedTeaNPPlugin.cc 2017-07-20 13:52:59.906882628 +0200 +++ new/icedtea-web-1.7.1/plugin/icedteanp/IcedTeaNPPlugin.cc 2017-12-15 15:15:07.485639006 +0100 @@ -1588,7 +1588,8 @@ "java.naming/com.sun.jndi.toolkit.url=ALL-UNNAMED,java.desktop", "java.desktop/sun.applet=ALL-UNNAMED,java.desktop", "java.base/sun.security.action=ALL-UNNAMED,java.desktop", - "java.base/sun.net.www.protocol.http=ALL-UNNAMED,java.desktop" + "java.base/sun.net.www.protocol.http=ALL-UNNAMED,java.desktop", + "java.desktop/sun.applet=ALL-UNNAMED,jdk.jsobject" }; NPError diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/icedtea-web-1.7/tests/netx/unit/net/sourceforge/jnlp/util/docprovider/ReadAutorsTest.java new/icedtea-web-1.7.1/tests/netx/unit/net/sourceforge/jnlp/util/docprovider/ReadAutorsTest.java --- old/icedtea-web-1.7/tests/netx/unit/net/sourceforge/jnlp/util/docprovider/ReadAutorsTest.java 1970-01-01 01:00:00.000000000 +0100 +++ new/icedtea-web-1.7.1/tests/netx/unit/net/sourceforge/jnlp/util/docprovider/ReadAutorsTest.java 2017-12-15 15:15:07.504638793 +0100 @@ -0,0 +1,168 @@ +/* ReadAutorsTest.java + Copyright (C) 2017 Red Hat, Inc. + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License as published by +the Free Software Foundation, version 2. + +IcedTea is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to +the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. + */ + +package net.sourceforge.jnlp.util.docprovider; + +import java.io.IOException; +import java.io.StringReader; +import net.sourceforge.jnlp.util.docprovider.formatters.formatters.HtmlFormatter; +import net.sourceforge.jnlp.util.docprovider.formatters.formatters.ManFormatter; +import net.sourceforge.jnlp.util.docprovider.formatters.formatters.PlainTextFormatter; +import static org.junit.Assert.assertEquals; +import org.junit.Test; + +public class ReadAutorsTest { + + public static final String NEWLINE = System.getProperty("line.separator"); + public static final String HTMLNEWLINE = "<BR/>"; + public static final String MANNEWLINE = ".br"; + private static final String ANTISPAM_EMAIL="t e s t @ t e s t . t e s t"; + + public static final String TESTTEXT = "NAME SURNAME <[email protected]>" + NEWLINE + "<><><>"; + public static final String BRACKETSTESTREPLACED = "NAME SURNAME &#[email protected]>" + NEWLINE + "<><><>"; + public static final String BRACKETSTESTREPLACEDHTML = "<a href=\"mailto:"+ANTISPAM_EMAIL+"\"" + " target=\"_top\">NAME SURNAME</a>" + HTMLNEWLINE + NEWLINE + "<a href=\"\"></a>" + HTMLNEWLINE + NEWLINE; + public static final String BRACKETSTESTREPLACEDMAN = "NAME SURNAME <[email protected]>" + NEWLINE + MANNEWLINE + NEWLINE + "<><><>" + NEWLINE + MANNEWLINE + NEWLINE; + public static final String BRACKETSTESTREPLACEDPLAIN = TESTTEXT + NEWLINE; + + public static final String FILESTREAM = "This is autor list." + NEWLINE + "This is random text." + NEWLINE + + NEWLINE + + "NAME SURNAME <[email protected]>" + NEWLINE + + "NAME SURNAME <[email protected]>" + NEWLINE + + "NAME SURNAME <[email protected]>" + NEWLINE + + "NAME SURNAME <[email protected]>" + NEWLINE + + "NAME SURNAME <[email protected]>" + NEWLINE + + "NAME SURNAME <[email protected]>" + NEWLINE + + NEWLINE + + "This is list with links" + NEWLINE + + "OpenJDK <http://openjdk.java.net/>" + NEWLINE + + "OpenJDK <http://openjdk.java.net/>" + NEWLINE; + public static final String FILESTREAMHTML = "This is autor list." + HTMLNEWLINE + NEWLINE + "This is random text." + HTMLNEWLINE + NEWLINE + + HTMLNEWLINE + NEWLINE + + "<a href=\"mailto:"+ANTISPAM_EMAIL+"\" target=\"_top\">NAME SURNAME</a>" + HTMLNEWLINE + NEWLINE + + "<a href=\"mailto:"+ANTISPAM_EMAIL+"\" target=\"_top\">NAME SURNAME</a>" + HTMLNEWLINE + NEWLINE + + "<a href=\"mailto:"+ANTISPAM_EMAIL+"\" target=\"_top\">NAME SURNAME</a>" + HTMLNEWLINE + NEWLINE + + "<a href=\"mailto:"+ANTISPAM_EMAIL+"\" target=\"_top\">NAME SURNAME</a>" + HTMLNEWLINE + NEWLINE + + "<a href=\"mailto:"+ANTISPAM_EMAIL+"\" target=\"_top\">NAME SURNAME</a>" + HTMLNEWLINE + NEWLINE + + "<a href=\"mailto:"+ANTISPAM_EMAIL+"\" target=\"_top\">NAME SURNAME</a>" + HTMLNEWLINE + NEWLINE + + HTMLNEWLINE + NEWLINE + + "This is list with links" + HTMLNEWLINE + NEWLINE + + "OpenJDK <a href=\"http://openjdk.java.net/\">http://openjdk.java.net/</a>" + HTMLNEWLINE + NEWLINE + + "OpenJDK <a href=\"http://openjdk.java.net/\">http://openjdk.java.net/</a>" + HTMLNEWLINE + NEWLINE; + public static final String FILESTREAMPLAIN = "This is autor list." + NEWLINE + "This is random text." + NEWLINE + + "NAME SURNAME <[email protected]>" + + "NAME SURNAME <[email protected]>" + + "NAME SURNAME <[email protected]>" + + "NAME SURNAME <[email protected]>" + + "NAME SURNAME <[email protected]>" + + "NAME SURNAME <[email protected]>" + NEWLINE + + "This is list with links" + NEWLINE + + "OpenJDK <http://openjdk.java.net/>" + NEWLINE + + "OpenJDK <http://openjdk.java.net/>" + NEWLINE; + + @Test + public void replaceBracketsWithEntitiesHtml() throws IOException { + TextsProvider tp = new TextsProvider("utf-8", new HtmlFormatter(), true, true) { + @Override + public String getId() { + return "test1"; + } + }; + String output = tp.readAuthorsImpl(new StringReader(TESTTEXT)); + assertEquals(BRACKETSTESTREPLACEDHTML, output); + } + + @Test + public void replaceBracketsWithEntitiesMan() throws IOException { + TextsProvider tp = new TextsProvider("utf-8", new ManFormatter(), true, true) { + @Override + public String getId() { + return "test2"; + } + }; + String output = tp.readAuthorsImpl(new StringReader(TESTTEXT)); + assertEquals(BRACKETSTESTREPLACEDMAN, output); + } + + @Test + public void replaceBracketsWithEntitiesPlain() throws IOException { + TextsProvider tp = new TextsProvider("utf-8", new PlainTextFormatter(), true, true) { + @Override + public String getId() { + return "test3"; + } + }; + String output = tp.readAuthorsImpl(new StringReader(TESTTEXT)); + assertEquals(BRACKETSTESTREPLACEDPLAIN, output); + } + + @Test + public void newLineTestHtml() throws IOException { + TextsProvider tp = new TextsProvider("utf-8", new HtmlFormatter(), true, true) { + @Override + public String getId() { + return "test4"; + } + }; + String output = tp.readAuthorsImpl(new StringReader(FILESTREAM)); + assertEquals(FILESTREAMHTML, output); + + } + + @Test + public void newLineTestPlainText() throws IOException { + TextsProvider tp = new TextsProvider("utf-8", new PlainTextFormatter(), true, true) { + @Override + public String getId() { + return "test5"; + } + }; + String output = tp.readAuthorsImpl(new StringReader(FILESTREAM)); + assertEquals(FILESTREAMPLAIN, output); + } + + @Test + public void replaceLtGtTest() throws IOException { + TextsProvider tp = new TextsProvider("utf-8", new HtmlFormatter(), true, true) { + @Override + public String getId() { + return "test6"; + } + }; + String output = tp.getFormatter().replaceLtGtCharacters(TESTTEXT); + assertEquals(BRACKETSTESTREPLACED, output); + } +}
