From bugzilla-daemon at icedtea.classpath.org Sat Jun 1 18:33:12 2013
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Sun, 02 Jun 2013 01:33:12 +0000
Subject: [Bug 1467] New: Java emits Concurrency Exception when PulseAudio is
called to emit sound
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1467
Bug ID: 1467
Summary: Java emits Concurrency Exception when PulseAudio is
called to emit sound
Classification: Unclassified
Product: IcedTea
Version: unspecified
Hardware: x86_64
OS: Linux
Status: NEW
Severity: major
Priority: P3
Component: IcedTea
Assignee: gnu.andrew at redhat.com
Reporter: wilbur.killebrew at gmail.com
CC: unassigned at icedtea.classpath.org
Created attachment 879
--> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=879&action=edit
Java Stacktrace and partial threaddump listing (edited)
At times, an exception is issued when a commercial Java application issues a
notification sound (bell or chime). The sound emits, but the application halts
and must be restarted -- if it is not halted, but allowed to run, it will crash
the OS so thoroughly that power must be cycled to restart.
It is not clear whether the problem is in the Java program (TDAmeritrade's
Thinkorswim -- (ToS)), in PulseAudio or in Java or one of the related Java
interfaces. The stacktrace seems to indicate a concurrency handling problem in
ToS, but I'm not a Java programmer. I have notified TDAmeritrade of the issue.
I am reporting this as an icedtea bug because there are numerous claims that
PulseAudio does not play well with Java. It is not inconceivable that there
may be a concurrency handling problem within the PulseAudio/Icedtea interface.
In this simple application, I shuould think that concurrency handling ought not
be an issue the application should have to confront.
TDAmeritrade should be congratulated (and supported) for providing this
important commercial application for Linux, as virtually all others absolutely
require MS Windows. Other than this exception-on-bell/chime issue, Thinkorswim
runs faultlessly on Ubuntu 12.04 and Linux Mint (both 13 "Maya" and 14
"Nadia"), the former with openJDK 6, the latter with openJDK 7. It is very
disconcerting, however, for the program to halt and have to be restarted when a
notification issues a chime -- could make the trading experience a bit hairy.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130602/6e7221b4/attachment.html
From bugzilla-daemon at icedtea.classpath.org Sun Jun 2 02:23:46 2013
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Sun, 02 Jun 2013 09:23:46 +0000
Subject: [Bug 1026] Apps fail to run because of the nanoxml parser's strict
XML validation
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1026
Heiko changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |lil_tux at web.de
--- Comment #5 from Heiko ---
The problem are the ampersands in the href entity of the jnlp tag (and probably
in every other entity as well). Just try the following
1) OK:
2) OK:
3) FAIL:
4) OK:
At a quick specification glance, the URL "should" be properly encoded, but it
hasn't to. And the client "must" use the URL as is, thus it probably should not
try to validate it and especially not try to find XML entities in the URL.
Anyway, net.sourceforge.nanoxml.XMLElement.scanString has the following code:
} else if (ch == '&') {
this.resolveEntity(string);
} else {
which on URL 3 tries to resolve "&par2" into an xml entity until it finds ';',
which it doesn't and thus throws an exception.
I'm not familiar with the code enough to come up with a proper solution, but
I'd say one should guard XMLElement.resolveEntity from being called for
attributes and especially from being called for attribute values.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130602/3e5ab3dc/attachment.html
From bugzilla-daemon at icedtea.classpath.org Sun Jun 2 09:27:26 2013
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Sun, 02 Jun 2013 16:27:26 +0000
Subject: [Bug 1026] Apps fail to run because of the nanoxml parser's strict
XML validation
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1026
--- Comment #6 from Heiko ---
Created attachment 880
--> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=880&action=edit
Remove interpretation of entities
Remove interpretation of entities starting with '&'. As far as I can tell, the
interpretation is only done in a) attribute values and b) in PCDATA. I'd say
both should be kept as-is. The patch fixes the issue for me and makes the
applet also work properly with URL 3) from my previous comment.
For future release I'd go with something more tested than nanoxml. Since applet
initialization already is costly, there's no reason for taking the tiniest xml
parser, is there?
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130602/0d4de55a/attachment.html
From bugzilla-daemon at icedtea.classpath.org Mon Jun 3 00:40:31 2013
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Mon, 03 Jun 2013 07:40:31 +0000
Subject: [Bug 1465] java.io.FileNotFoundException while trying to download a
JAR file
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1465
JiriVanek changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
CC| |jvanek at redhat.com
Assignee|dbhole at redhat.com |jvanek at redhat.com
--- Comment #6 from JiriVanek ---
Hi Thomas!
Thanx for investigations - nice monologue :)
The changes looks ok, I will test and resend them to distro.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130603/20d4b83f/attachment.html
From ptisnovs at icedtea.classpath.org Mon Jun 3 01:11:08 2013
From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org)
Date: Mon, 03 Jun 2013 08:11:08 +0000
Subject: /hg/gfx-test: Five new tests added into ClippingCircleByRectangl...
Message-ID:
changeset ed8160c7efb3 in /hg/gfx-test
details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=ed8160c7efb3
author: Pavel Tisnovsky
date: Mon Jun 03 10:14:37 2013 +0200
Five new tests added into ClippingCircleByRectangleShape.
diffstat:
ChangeLog | 5 +
src/org/gfxtest/testsuites/ClippingCircleByRectangleShape.java | 95 ++++++++++
2 files changed, 100 insertions(+), 0 deletions(-)
diffs (117 lines):
diff -r c43d115f3780 -r ed8160c7efb3 ChangeLog
--- a/ChangeLog Fri May 31 14:24:09 2013 +0200
+++ b/ChangeLog Mon Jun 03 10:14:37 2013 +0200
@@ -1,3 +1,8 @@
+2013-06-03 Pavel Tisnovsky
+
+ * src/org/gfxtest/testsuites/ClippingCircleByRectangleShape.java:
+ Five new tests added into ClippingCircleByRectangleShape.
+
2013-05-31 Pavel Tisnovsky
* src/org/gfxtest/testsuites/ClippingCircleByRectangleShape.java:
diff -r c43d115f3780 -r ed8160c7efb3 src/org/gfxtest/testsuites/ClippingCircleByRectangleShape.java
--- a/src/org/gfxtest/testsuites/ClippingCircleByRectangleShape.java Fri May 31 14:24:09 2013 +0200
+++ b/src/org/gfxtest/testsuites/ClippingCircleByRectangleShape.java Mon Jun 03 10:14:37 2013 +0200
@@ -811,6 +811,101 @@
}
/**
+ * Check if circle shape could be clipped by a rectangular shape. Circle is
+ * rendered using alpha paint with white color at 0% transparency.
+ *
+ * @param image
+ * work image
+ * @param graphics2d
+ * graphics canvas
+ * @return test result status - PASSED, FAILED or ERROR
+ */
+ public TestResult testClipCircleByRectangleShapeAlphaPaintWhite000(TestImage image, Graphics2D graphics2d)
+ {
+ // draw circle clipped by rectangle using alpha paint with 0%
+ // transparency
+ drawCircleClippedByRectangleAlphaPaintWhite(image, graphics2d, 0);
+ // test result
+ return TestResult.PASSED;
+ }
+
+ /**
+ * Check if circle shape could be clipped by a rectangular shape. Circle is
+ * rendered using alpha paint with white color at 25% transparency.
+ *
+ * @param image
+ * work image
+ * @param graphics2d
+ * graphics canvas
+ * @return test result status - PASSED, FAILED or ERROR
+ */
+ public TestResult testClipCircleByRectangleShapeAlphaPaintWhite025(TestImage image, Graphics2D graphics2d)
+ {
+ // draw circle clipped by rectangle using alpha paint with 25%
+ // transparency
+ drawCircleClippedByRectangleAlphaPaintWhite(image, graphics2d, 25);
+ // test result
+ return TestResult.PASSED;
+ }
+
+ /**
+ * Check if circle shape could be clipped by a rectangular shape. Circle is
+ * rendered using alpha paint with white color at 50% transparency.
+ *
+ * @param image
+ * work image
+ * @param graphics2d
+ * graphics canvas
+ * @return test result status - PASSED, FAILED or ERROR
+ */
+ public TestResult testClipCircleByRectangleShapeAlphaPaintWhite050(TestImage image, Graphics2D graphics2d)
+ {
+ // draw circle clipped by rectangle using alpha paint with 50%
+ // transparency
+ drawCircleClippedByRectangleAlphaPaintWhite(image, graphics2d, 50);
+ // test result
+ return TestResult.PASSED;
+ }
+
+ /**
+ * Check if circle shape could be clipped by a rectangular shape. Circle is
+ * rendered using alpha paint with white color at 75% transparency.
+ *
+ * @param image
+ * work image
+ * @param graphics2d
+ * graphics canvas
+ * @return test result status - PASSED, FAILED or ERROR
+ */
+ public TestResult testClipCircleByRectangleShapeAlphaPaintWhite075(TestImage image, Graphics2D graphics2d)
+ {
+ // draw circle clipped by rectangle using alpha paint with 75%
+ // transparency
+ drawCircleClippedByRectangleAlphaPaintWhite(image, graphics2d, 75);
+ // test result
+ return TestResult.PASSED;
+ }
+
+ /**
+ * Check if circle shape could be clipped by a rectangular shape. Circle is
+ * rendered using alpha paint with white color at 100% transparency.
+ *
+ * @param image
+ * work image
+ * @param graphics2d
+ * graphics canvas
+ * @return test result status - PASSED, FAILED or ERROR
+ */
+ public TestResult testClipCircleByRectangleShapeAlphaPaintWhite100(TestImage image, Graphics2D graphics2d)
+ {
+ // draw circle clipped by rectangle using alpha paint with 100%
+ // transparency
+ drawCircleClippedByRectangleAlphaPaintWhite(image, graphics2d, 100);
+ // test result
+ return TestResult.PASSED;
+ }
+
+ /**
* Check if circle shape could be clipped by a rectangle shape. Circle is
* rendered using horizontal gradient paint.
*
From bugzilla-daemon at icedtea.classpath.org Mon Jun 3 01:17:31 2013
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Mon, 03 Jun 2013 08:17:31 +0000
Subject: [Bug 1026] Apps fail to run because of the nanoxml parser's strict
XML validation
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1026
JiriVanek changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
CC| |jvanek at redhat.com
Assignee|omajid at redhat.com |adomurad at redhat.com
--- Comment #7 from JiriVanek ---
Adam, will the tagsoup patch help with this? Should not, but how it is possible
that we still see xml parsing error in 1.4 when you have removed the parsing?
Heiko - in 1.4 the parser was/should be removed from applets processing.
However this issue will remain - the url must be entered correctly, and it is
what knuddels does not do.
Or am I wrong?
Maybe we are doing one more unnecessary url coding/decoding, but then
soemthing is rotteb below, as java's URI .decode/encode should do this job for
us...
/me just thinking baout
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130603/cf0c2741/attachment.html
From bugzilla-daemon at icedtea.classpath.org Mon Jun 3 02:17:32 2013
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Mon, 03 Jun 2013 09:17:32 +0000
Subject: [Bug 1435] [IcedTea7] OpenJDK 7 returns incorrect TrueType font
metrics
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1435
--- Comment #3 from hg commits ---
details:
http://icedtea.classpath.org//hg/icedtea7-forest/jdk?cmd=changeset;node=fdd98e50f1df
author: andrew
date: Fri May 31 23:03:47 2013 +0100
PR1435: OpenJDK 7 returns incorrect TrueType font metrics
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130603/187716e4/attachment.html
From jvanek at redhat.com Mon Jun 3 02:24:55 2013
From: jvanek at redhat.com (Jiri Vanek)
Date: Mon, 03 Jun 2013 11:24:55 +0200
Subject: [rfc][icedtea-web] Make applet resize message handling
asynchronous
In-Reply-To: <51A8F70A.8050907@redhat.com>
References: <51A8F70A.8050907@redhat.com>
Message-ID: <51AC60E7.3070807@redhat.com>
On 05/31/2013 09:16 PM, Adam Domurad wrote:
> Hi, this is a defensive patch to remove deadlock possibility entirely from the applet resizing message. I think as much as it can be avoided, blocking operations should not occur on the worker threads. We never make more than 2 worker threads for normal messages, so they should spawn a thread for any task that will potentially take a substantial time.
>
> ChangeLog:
> 2013-XX-XX Adam Domurad
>
> * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java:
> Handle resizing more robustly by not blocking worker thread
>
> I am also writing this little page: http://icedtea.classpath.org/wiki/Fixing_IcedTea-Web_Browser_Hanging
> Comments welcome. It is linked from the icedtea-web wiki page under 'Common problems'.
>
> Happy hacking,
> -Adam
Looks good to me. Just nit which you may/do not need to follow:
To create inner ResizeAppletPanel class impelmenting Runnable, so it will:
- you will just call new Thread(new resizeAppletPanel(panel)) in main codse
- will lead programmer to use the thread if he will need to call resize on some other place
- I know you do not like many tinny classes but imho it is more clear O:)
According to the page:
http://icedtea.classpath.org/wiki/Fixing_IcedTea-Web_Browser_Hanging
nice effort! Should be linked for mman page otherwise
It does not mention js->appelt->js deadlock. Is this deadlock in subset for this page?
J.
From bugzilla-daemon at icedtea.classpath.org Mon Jun 3 02:25:53 2013
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Mon, 03 Jun 2013 09:25:53 +0000
Subject: [Bug 1433] A fatal error has been detected by the Java Runtime
Environment
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1433
Andrew John Hughes changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution|--- |WONTFIX
Severity|blocker |normal
--- Comment #4 from Andrew John Hughes ---
1.7.4 is no longer supported. Please update to 1.11.x or 1.12.x and reopen if
this can be replicated with one of those releases.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130603/a8ff97d2/attachment.html
From ptisnovs at icedtea.classpath.org Mon Jun 3 02:47:14 2013
From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org)
Date: Mon, 03 Jun 2013 09:47:14 +0000
Subject: /hg/rhino-tests: Updated four tests in ScriptContextClassTest fo...
Message-ID:
changeset 5d030140c10f in /hg/rhino-tests
details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=5d030140c10f
author: Pavel Tisnovsky
date: Mon Jun 03 11:50:42 2013 +0200
Updated four tests in ScriptContextClassTest for (Open)JDK8 API:
getMethod, getMethods, getDeclaredMethod and getDeclaredMethods.
diffstat:
ChangeLog | 6 +
src/org/RhinoTests/ScriptContextClassTest.java | 122 ++++++++++++++++++++++++-
2 files changed, 124 insertions(+), 4 deletions(-)
diffs (180 lines):
diff -r 89917103dafe -r 5d030140c10f ChangeLog
--- a/ChangeLog Fri May 31 14:26:53 2013 +0200
+++ b/ChangeLog Mon Jun 03 11:50:42 2013 +0200
@@ -1,3 +1,9 @@
+2013-06-03 Pavel Tisnovsky
+
+ * src/org/RhinoTests/ScriptContextClassTest.java:
+ Updated four tests in ScriptContextClassTest for (Open)JDK8 API:
+ getMethod, getMethods, getDeclaredMethod and getDeclaredMethods.
+
2013-05-31 Pavel Tisnovsky
* src/org/RhinoTests/InvocableClassTest.java:
diff -r 89917103dafe -r 5d030140c10f src/org/RhinoTests/ScriptContextClassTest.java
--- a/src/org/RhinoTests/ScriptContextClassTest.java Fri May 31 14:26:53 2013 +0200
+++ b/src/org/RhinoTests/ScriptContextClassTest.java Mon Jun 03 11:50:42 2013 +0200
@@ -657,6 +657,23 @@
"public abstract void javax.script.ScriptContext.setWriter(java.io.Writer)",
};
+ final String[] methodsThatShouldExist_jdk8 = {
+ "public abstract int javax.script.ScriptContext.getAttributesScope(java.lang.String)",
+ "public abstract java.io.Reader javax.script.ScriptContext.getReader()",
+ "public abstract java.io.Writer javax.script.ScriptContext.getErrorWriter()",
+ "public abstract java.io.Writer javax.script.ScriptContext.getWriter()",
+ "public abstract java.lang.Object javax.script.ScriptContext.getAttribute(java.lang.String)",
+ "public abstract java.lang.Object javax.script.ScriptContext.getAttribute(java.lang.String,int)",
+ "public abstract java.lang.Object javax.script.ScriptContext.removeAttribute(java.lang.String,int)",
+ "public abstract java.util.List javax.script.ScriptContext.getScopes()",
+ "public abstract javax.script.Bindings javax.script.ScriptContext.getBindings(int)",
+ "public abstract void javax.script.ScriptContext.setAttribute(java.lang.String,java.lang.Object,int)",
+ "public abstract void javax.script.ScriptContext.setBindings(javax.script.Bindings,int)",
+ "public abstract void javax.script.ScriptContext.setErrorWriter(java.io.Writer)",
+ "public abstract void javax.script.ScriptContext.setReader(java.io.Reader)",
+ "public abstract void javax.script.ScriptContext.setWriter(java.io.Writer)",
+ };
+
// get all inherited methods
Method[] methods = this.scriptContextClass.getMethods();
// and transform the array into a list of method names
@@ -664,7 +681,20 @@
for (Method method : methods) {
methodsAsString.add(method.toString());
}
- String[] methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7;
+
+ String[] methodsThatShouldExist = null;
+ switch (getJavaVersion()) {
+ case 6:
+ methodsThatShouldExist = methodsThatShouldExist_jdk6;
+ break;
+ case 7:
+ methodsThatShouldExist = methodsThatShouldExist_jdk7;
+ break;
+ case 8:
+ methodsThatShouldExist = methodsThatShouldExist_jdk8;
+ break;
+ }
+
// check if all required methods really exists
for (String methodThatShouldExists : methodsThatShouldExist) {
assertTrue(methodsAsString.contains(methodThatShouldExists),
@@ -711,6 +741,23 @@
"public abstract void javax.script.ScriptContext.setWriter(java.io.Writer)",
};
+ final String[] declaredMethodsThatShouldExist_jdk8 = {
+ "public abstract int javax.script.ScriptContext.getAttributesScope(java.lang.String)",
+ "public abstract java.io.Reader javax.script.ScriptContext.getReader()",
+ "public abstract java.io.Writer javax.script.ScriptContext.getErrorWriter()",
+ "public abstract java.io.Writer javax.script.ScriptContext.getWriter()",
+ "public abstract java.lang.Object javax.script.ScriptContext.getAttribute(java.lang.String)",
+ "public abstract java.lang.Object javax.script.ScriptContext.getAttribute(java.lang.String,int)",
+ "public abstract java.lang.Object javax.script.ScriptContext.removeAttribute(java.lang.String,int)",
+ "public abstract java.util.List javax.script.ScriptContext.getScopes()",
+ "public abstract javax.script.Bindings javax.script.ScriptContext.getBindings(int)",
+ "public abstract void javax.script.ScriptContext.setAttribute(java.lang.String,java.lang.Object,int)",
+ "public abstract void javax.script.ScriptContext.setBindings(javax.script.Bindings,int)",
+ "public abstract void javax.script.ScriptContext.setErrorWriter(java.io.Writer)",
+ "public abstract void javax.script.ScriptContext.setReader(java.io.Reader)",
+ "public abstract void javax.script.ScriptContext.setWriter(java.io.Writer)",
+ };
+
// get all declared methods
Method[] declaredMethods = this.scriptContextClass.getDeclaredMethods();
// and transform the array into a list of method names
@@ -718,7 +765,20 @@
for (Method method : declaredMethods) {
methodsAsString.add(method.toString());
}
- String[] declaredMethodsThatShouldExist = getJavaVersion() < 7 ? declaredMethodsThatShouldExist_jdk6 : declaredMethodsThatShouldExist_jdk7;
+
+ String[] declaredMethodsThatShouldExist = null;
+ switch (getJavaVersion()) {
+ case 6:
+ declaredMethodsThatShouldExist = declaredMethodsThatShouldExist_jdk6;
+ break;
+ case 7:
+ declaredMethodsThatShouldExist = declaredMethodsThatShouldExist_jdk7;
+ break;
+ case 8:
+ declaredMethodsThatShouldExist = declaredMethodsThatShouldExist_jdk8;
+ break;
+ }
+
// check if all required methods really exists
for (String methodThatShouldExists : declaredMethodsThatShouldExist) {
assertTrue(methodsAsString.contains(methodThatShouldExists),
@@ -763,7 +823,34 @@
methodsThatShouldExist_jdk7.put("removeAttribute", new Class[] {java.lang.String.class, int.class});
methodsThatShouldExist_jdk7.put("setAttribute", new Class[] {java.lang.String.class, java.lang.Object.class, int.class});
- Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7;
+ Map methodsThatShouldExist_jdk8 = new TreeMap();
+ methodsThatShouldExist_jdk8.put("setBindings", new Class[] {javax.script.Bindings.class, int.class});
+ methodsThatShouldExist_jdk8.put("getBindings", new Class[] {int.class});
+ methodsThatShouldExist_jdk8.put("getWriter", new Class[] {});
+ methodsThatShouldExist_jdk8.put("setWriter", new Class[] {java.io.Writer.class});
+ methodsThatShouldExist_jdk8.put("getReader", new Class[] {});
+ methodsThatShouldExist_jdk8.put("setReader", new Class[] {java.io.Reader.class});
+ methodsThatShouldExist_jdk8.put("getErrorWriter", new Class[] {});
+ methodsThatShouldExist_jdk8.put("setErrorWriter", new Class[] {java.io.Writer.class});
+ methodsThatShouldExist_jdk8.put("setAttribute", new Class[] {java.lang.String.class, java.lang.Object.class, int.class});
+ methodsThatShouldExist_jdk8.put("getAttribute", new Class[] {java.lang.String.class});
+ methodsThatShouldExist_jdk8.put("getAttribute", new Class[] {java.lang.String.class, int.class});
+ methodsThatShouldExist_jdk8.put("removeAttribute", new Class[] {java.lang.String.class, int.class});
+ methodsThatShouldExist_jdk8.put("getAttributesScope", new Class[] {java.lang.String.class});
+ methodsThatShouldExist_jdk8.put("getScopes", new Class[] {});
+
+ Map methodsThatShouldExist = null;
+ switch (getJavaVersion()) {
+ case 6:
+ methodsThatShouldExist = methodsThatShouldExist_jdk6;
+ break;
+ case 7:
+ methodsThatShouldExist = methodsThatShouldExist_jdk7;
+ break;
+ case 8:
+ methodsThatShouldExist = methodsThatShouldExist_jdk8;
+ break;
+ }
// check if all required methods really exist
for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) {
@@ -821,7 +908,34 @@
methodsThatShouldExist_jdk7.put("removeAttribute", new Class[] {java.lang.String.class, int.class});
methodsThatShouldExist_jdk7.put("setAttribute", new Class[] {java.lang.String.class, java.lang.Object.class, int.class});
- Map methodsThatShouldExist = getJavaVersion() < 7 ? methodsThatShouldExist_jdk6 : methodsThatShouldExist_jdk7;
+ Map methodsThatShouldExist_jdk8 = new TreeMap();
+ methodsThatShouldExist_jdk8.put("setBindings", new Class[] {javax.script.Bindings.class, int.class});
+ methodsThatShouldExist_jdk8.put("getBindings", new Class[] {int.class});
+ methodsThatShouldExist_jdk8.put("getWriter", new Class[] {});
+ methodsThatShouldExist_jdk8.put("setWriter", new Class[] {java.io.Writer.class});
+ methodsThatShouldExist_jdk8.put("getReader", new Class[] {});
+ methodsThatShouldExist_jdk8.put("setReader", new Class[] {java.io.Reader.class});
+ methodsThatShouldExist_jdk8.put("getErrorWriter", new Class[] {});
+ methodsThatShouldExist_jdk8.put("setErrorWriter", new Class[] {java.io.Writer.class});
+ methodsThatShouldExist_jdk8.put("setAttribute", new Class[] {java.lang.String.class, java.lang.Object.class, int.class});
+ methodsThatShouldExist_jdk8.put("getAttribute", new Class[] {java.lang.String.class});
+ methodsThatShouldExist_jdk8.put("getAttribute", new Class[] {java.lang.String.class, int.class});
+ methodsThatShouldExist_jdk8.put("removeAttribute", new Class[] {java.lang.String.class, int.class});
+ methodsThatShouldExist_jdk8.put("getAttributesScope", new Class[] {java.lang.String.class});
+ methodsThatShouldExist_jdk8.put("getScopes", new Class[] {});
+
+ Map methodsThatShouldExist = null;
+ switch (getJavaVersion()) {
+ case 6:
+ methodsThatShouldExist = methodsThatShouldExist_jdk6;
+ break;
+ case 7:
+ methodsThatShouldExist = methodsThatShouldExist_jdk7;
+ break;
+ case 8:
+ methodsThatShouldExist = methodsThatShouldExist_jdk8;
+ break;
+ }
// check if all required methods really exist
for (Map.Entry methodThatShouldExists : methodsThatShouldExist.entrySet()) {
From bugzilla-daemon at icedtea.classpath.org Mon Jun 3 02:52:18 2013
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Mon, 03 Jun 2013 09:52:18 +0000
Subject: [Bug 1467] Java emits Concurrency Exception when PulseAudio is
called to emit sound
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1467
Andrew John Hughes changed:
What |Removed |Added
----------------------------------------------------------------------------
Component|IcedTea |PulseAudio
Assignee|gnu.andrew at redhat.com |omajid at redhat.com
Severity|major |normal
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130603/e340d42b/attachment.html
From bugzilla-daemon at icedtea.classpath.org Mon Jun 3 02:57:48 2013
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Mon, 03 Jun 2013 09:57:48 +0000
Subject: [Bug 1156] Fatal: Read Error: Could not read or parse the JNLP file.
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1156
Bug 1156 depends on bug 909, which changed state.
Bug 909 Summary: The Java applet at http://de.gosupermodel.com/games/wardrobegame.jsp fails.
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=909
What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |REOPENED
Resolution|FIXED |---
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130603/922fb4df/attachment.html
From bugzilla-daemon at icedtea.classpath.org Mon Jun 3 02:57:45 2013
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Mon, 03 Jun 2013 09:57:45 +0000
Subject: [Bug 909] The Java applet at
http://de.gosupermodel.com/games/wardrobegame.jsp fails.
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=909
JiriVanek changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |REOPENED
CC| |jvanek at redhat.com
Resolution|FIXED |---
--- Comment #6 from JiriVanek ---
Although load, it do not accept most of user interactions. It requests awt
queue permissions, which is not allowed in IcedTEa-Web. Should be?
Exception in thread "AWT-EventQueue-1" java.security.AccessControlException:
access denied (java.awt.AWTPermission accessEventQueue)
at
java.security.AccessControlContext.checkPermission(AccessControlContext.java:393)
at
java.security.AccessController.checkPermission(AccessController.java:553)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at
net.sourceforge.jnlp.runtime.JNLPSecurityManager.checkPermission(JNLPSecurityManager.java:284)
at
java.lang.SecurityManager.checkAwtEventQueueAccess(SecurityManager.java:1415)
at
net.sourceforge.jnlp.runtime.JNLPSecurityManager.checkAwtEventQueueAccess(JNLPSecurityManager.java:460)
at java.awt.Toolkit.getSystemEventQueue(Toolkit.java:1683)
at Ve.a(ProWag:546)
at UY.run(ProWag:67)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:226)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:647)
at java.awt.EventQueue.access$000(EventQueue.java:96)
at java.awt.EventQueue$1.run(EventQueue.java:608)
at java.awt.EventQueue$1.run(EventQueue.java:606)
at java.security.AccessController.doPrivileged(Native Method)
at
java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:617)
at
java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)
at
java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:138)
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130603/7377c8ff/attachment.html
From bugzilla-daemon at icedtea.classpath.org Mon Jun 3 03:39:27 2013
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Mon, 03 Jun 2013 10:39:27 +0000
Subject: [Bug 1465] java.io.FileNotFoundException while trying to download a
JAR file
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1465
--- Comment #7 from JiriVanek ---
My bad...
The reason why we started with all this monstrosities around url, were
situations that we got both encoded and decoded urls. To this your patch is
vulnerable. To be honest, I'm for revoking of Saad's patch, and maybe return
old solution with some improvements....
Or maybe rewrite whole this mechanism :-/
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130603/6a7974f2/attachment.html
From bugzilla-daemon at icedtea.classpath.org Mon Jun 3 03:46:59 2013
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Mon, 03 Jun 2013 10:46:59 +0000
Subject: [Bug 1465] java.io.FileNotFoundException while trying to download a
JAR file
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1465
--- Comment #8 from JiriVanek ---
Please, see
http://icedtea.classpath.org/hg/icedtea-web/file/2566a700bd86/tests/netx/unit/net/sourceforge/jnlp/util/UrlUtilsTest.java
testNormalizeUrl
testNormalizeUrlAndStripParams
testDecodeUrlQuietly
testNormalizeUrlQuietly
testDecodeUrlAsFile
Have been broken by your patch.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130603/d191fb22/attachment.html
From bugzilla-daemon at icedtea.classpath.org Mon Jun 3 03:55:57 2013
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Mon, 03 Jun 2013 10:55:57 +0000
Subject: [Bug 1026] Apps fail to run because of the nanoxml parser's strict
XML validation
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1026
--- Comment #8 from Heiko ---
Just to be clear, jnlp-7-mrel-spec states:
"URLs in a JNLP file should always be properly encoded (also known as "escaped"
form in RFC 2396 Section 2.4.2), e.g., a space should be represented as %20 in
a HTTP URL. A JNLP Client must use the URL exactly as specified in the JNLP
file when making a request to the Web server"
and
"
request ::= href [ "?" arguments ]
arguments ::= key "=" value ( "&" key "=" value ) *
"
"Should" does not mean "must". And the client must not alter the URL, which in
<=icetea-web-1.3 is done by the kind-of broken nanoxml code.
The patch I use stops nanoxml from changing '&' to '&', where nanoxml
kind-of runs amok since it tries to do the replacement everywhere, even in
URLs, descriptions and PCDATA.
Is there an easy way to test out icedtea-web-1.4? Im currently on:
dev-java/icedtea-7.2.3.9
dev-java/icedtea-web-1.3.1-r7
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130603/3f9ecc32/attachment.html
From bugzilla-daemon at icedtea.classpath.org Mon Jun 3 04:29:16 2013
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Mon, 03 Jun 2013 11:29:16 +0000
Subject: [Bug 1026] Apps fail to run because of the nanoxml parser's strict
XML validation
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1026
--- Comment #9 from Heiko ---
Ohw, just realized, that there is a 1.4 release since beginning of May. Sorry
for that. Anyway, I just tried it and still have the very same error
IcedTea-Web Plugin version: 1.4
Exception was:
net.sourceforge.jnlp.ParseException: Invalid XML document syntax.
at net.sourceforge.jnlp.Parser.getRootNode(Parser.java:1312)
[..]
Caused by: net.sourceforge.nanoxml.XMLParseException: XML Parse Exception
during parsing of a jnlp element at line 20: Unexpected end of data reached
at
net.sourceforge.nanoxml.XMLElement.unexpectedEndOfData(XMLElement.java:1094)
at net.sourceforge.nanoxml.XMLElement.readChar(XMLElement.java:877)
at net.sourceforge.nanoxml.XMLElement.resolveEntity(XMLElement.java:1013)
at net.sourceforge.nanoxml.XMLElement.scanString(XMLElement.java:658)
at net.sourceforge.nanoxml.XMLElement.scanElement(XMLElement.java:915)
at net.sourceforge.nanoxml.XMLElement.parseFromReader(XMLElement.java:512)
at net.sourceforge.nanoxml.XMLElement.parseFromReader(XMLElement.java:464)
at net.sourceforge.jnlp.Parser.getRootNode(Parser.java:1308)
... 7 more
Caused by:
net.sourceforge.nanoxml.XMLParseException: XML Parse Exception during parsing
of a jnlp element at line 20: Unexpected end of data reached
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130603/0136f108/attachment.html
From bugzilla-daemon at icedtea.classpath.org Mon Jun 3 04:56:48 2013
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Mon, 03 Jun 2013 11:56:48 +0000
Subject: [Bug 1465] java.io.FileNotFoundException while trying to download a
JAR file
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1465
--- Comment #9 from JiriVanek ---
Created attachment 881
--> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=881&action=edit
less invasive patch
Hi Thomas!
What do you think about this patch? Well nothing nice but imho the best what we
can do in this case...
If it will works for you and/or are ok with it, I will sent to formal review.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130603/91b7d0e0/attachment.html
From bugzilla-daemon at icedtea.classpath.org Mon Jun 3 06:00:33 2013
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Mon, 03 Jun 2013 13:00:33 +0000
Subject: [Bug 1026] Apps fail to run because of the nanoxml parser's strict
XML validation
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1026
Andrew John Hughes changed:
What |Removed |Added
----------------------------------------------------------------------------
Version|unspecified |1.4
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130603/1c4b596d/attachment.html
From bugzilla-daemon at icedtea.classpath.org Mon Jun 3 06:32:07 2013
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Mon, 03 Jun 2013 13:32:07 +0000
Subject: [Bug 1026] Apps fail to run because of the nanoxml parser's strict
XML validation
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1026
--- Comment #10 from JiriVanek ---
>
> The patch I use stops nanoxml from changing '&' to '&', where nanoxml
> kind-of runs amok since it tries to do the replacement everywhere, even in
> URLs, descriptions and PCDATA.
>
We should probably get rid og XMLElement's Hashtable entities;
compeltely. The url is sanitized correctly later.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130603/4021c31f/attachment.html
From jvanek at redhat.com Mon Jun 3 07:32:48 2013
From: jvanek at redhat.com (Jiri Vanek)
Date: Mon, 03 Jun 2013 16:32:48 +0200
Subject: [rfc][icedtea-web] Make applet resize message handling
asynchronous
In-Reply-To: <51AC9C1A.9060909@redhat.com>
References: <51A8F70A.8050907@redhat.com> <51AC60E7.3070807@redhat.com>
<51AC9C1A.9060909@redhat.com>
Message-ID: <51ACA910.3020708@redhat.com>
On 06/03/2013 03:37 PM, Adam Domurad wrote:
> On 06/03/2013 05:24 AM, Jiri Vanek wrote:
>> On 05/31/2013 09:16 PM, Adam Domurad wrote:
>>> Hi, this is a defensive patch to remove deadlock possibility entirely
>>> from the applet resizing message. I think as much as it can be
>>> avoided, blocking operations should not occur on the worker threads.
>>> We never make more than 2 worker threads for normal messages, so they
>>> should spawn a thread for any task that will potentially take a
>>> substantial time.
>>>
>>> ChangeLog:
>>> 2013-XX-XX Adam Domurad
>>>
>>> * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java:
>>> Handle resizing more robustly by not blocking worker thread
>>>
>>> I am also writing this little page:
>>> http://icedtea.classpath.org/wiki/Fixing_IcedTea-Web_Browser_Hanging
>>> Comments welcome. It is linked from the icedtea-web wiki page under
>>> 'Common problems'.
>>>
>>> Happy hacking,
>>> -Adam
>>
>> Looks good to me. Just nit which you may/do not need to follow:
>>
>> To create inner ResizeAppletPanel class impelmenting Runnable, so it will:
>> - you will just call new Thread(new resizeAppletPanel(panel)) in main
>> codse
>> - will lead programmer to use the thread if he will need to call
>> resize on some other place
>> - I know you do not like many tinny classes but imho it is more clear O:)
>
> I don't think this is very reusable. All the other cases where you would resize are after the applet has initialized. I rather leave it as is.
ok, thanx!
>
>>
>>
>> According to the page:
>> http://icedtea.classpath.org/wiki/Fixing_IcedTea-Web_Browser_Hanging
>> nice effort! Should be linked for mman page otherwise
>
> It is
>
>> It does not mention js->appelt->js deadlock. Is this deadlock in subset
>> for this page?
>
> You can add it :-)
ok:)
From adomurad at icedtea.classpath.org Mon Jun 3 07:52:18 2013
From: adomurad at icedtea.classpath.org (adomurad at icedtea.classpath.org)
Date: Mon, 03 Jun 2013 14:52:18 +0000
Subject: /hg/icedtea-web: 2 new changesets
Message-ID:
changeset 8e6aa48abeba in /hg/icedtea-web
details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=8e6aa48abeba
author: Adam Domurad
date: Mon Jun 03 10:34:36 2013 -0400
Extract NativeLibraryStorage class from JNLPClassLoader
changeset d6f6c5524acc in /hg/icedtea-web
details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=d6f6c5524acc
author: Adam Domurad
date: Mon Jun 03 10:51:47 2013 -0400
Add NativeLibraryStorageTEst
diffstat:
ChangeLog | 19 +
netx/net/sourceforge/jnlp/cache/NativeLibraryStorage.java | 162 +++++++++
netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 139 +-------
netx/net/sourceforge/jnlp/util/StreamUtils.java | 22 +-
tests/netx/unit/net/sourceforge/jnlp/cache/NativeLibraryStorageTest.java | 172 ++++++++++
tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPClassLoaderTest.java | 120 +-----
tests/test-extensions/net/sourceforge/jnlp/util/FileTestUtils.java | 129 +++++++
7 files changed, 546 insertions(+), 217 deletions(-)
diffs (truncated from 927 to 500 lines):
diff -r 2566a700bd86 -r d6f6c5524acc ChangeLog
--- a/ChangeLog Wed May 29 15:43:21 2013 -0400
+++ b/ChangeLog Mon Jun 03 10:51:47 2013 -0400
@@ -1,3 +1,22 @@
+2013-06-03 Adam Domurad
+
+ * netx/net/sourceforge/jnlp/util/StreamUtils.java
+ (copyStream): New, copies input stream to output stream
+ * tests/netx/unit/net/sourceforge/jnlp/cache/NativeLibraryStorageTest.java:
+ New, tests lookup of native libraries from folders and jars.
+ * tests/test-extensions/net/sourceforge/jnlp/util/FileTestUtils.java:
+ New, contains utilities for testing open file descriptors, creating temporary
+ directories, and creating jars.
+ * tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPClassLoaderTest.java:
+ Replace jar creation methods with ones from FileTestUtils.
+
+2013-06-03 Adam Domurad
+
+ * netx/net/sourceforge/jnlp/cache/NativeLibraryStorage.java: New,
+ stores and searches for native library files that are loaded from jars.
+ * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: Move code
+ that handled native jar caching to NativeLibraryStorage.
+
2013-05-29 Adam Domurad
* tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPClassLoaderTest.java:
diff -r 2566a700bd86 -r d6f6c5524acc netx/net/sourceforge/jnlp/cache/NativeLibraryStorage.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/netx/net/sourceforge/jnlp/cache/NativeLibraryStorage.java Mon Jun 03 10:51:47 2013 -0400
@@ -0,0 +1,162 @@
+package net.sourceforge.jnlp.cache;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Enumeration;
+import java.util.List;
+import java.util.jar.JarEntry;
+import java.util.jar.JarFile;
+
+import net.sourceforge.jnlp.runtime.JNLPRuntime;
+import net.sourceforge.jnlp.util.FileUtils;
+
+/**
+ * Handles loading and access of native code loading through a JNLP application or applet.
+ * Stores native code in a temporary folder.
+ * Be sure to call cleanupTemporayFolder when finished with the object.
+ */
+public class NativeLibraryStorage {
+ private ResourceTracker tracker;
+ private List nativeSearchDirectories = new ArrayList();
+
+ /* Temporary directory to store native jar entries, added to our search path */
+ private File jarEntryDirectory = null;
+
+ public NativeLibraryStorage(ResourceTracker tracker) {
+ this.tracker = tracker;
+ }
+
+ /**
+ * Clean up our temporary folder if we created one.
+ */
+ public void cleanupTemporaryFolder() {
+ if (jarEntryDirectory != null) {
+ if (JNLPRuntime.isDebug()) {
+ System.out.println("Cleaning up native directory" + jarEntryDirectory.getAbsolutePath());
+ }
+ try {
+ FileUtils.recursiveDelete(jarEntryDirectory,
+ new File(System.getProperty("java.io.tmpdir")));
+ jarEntryDirectory = null;
+ } catch (IOException e) {
+ /*
+ * failed to delete a file in tmpdir, no big deal (as well the VM
+ * might be shutting down at this point so no much we can do)
+ */
+ }
+ }
+ }
+
+ /**
+ * Adds the {@link File} to the search path of this {@link NativeLibraryStorage}
+ * when trying to find a native library
+ */
+ public void addSearchDirectory(File directory) {
+ nativeSearchDirectories.add(directory);
+ }
+
+ public List getSearchDirectories() {
+ return nativeSearchDirectories;
+ }
+
+ /**
+ * Looks in the search directories for 'fileName',
+ * returning a path to the found file if it exists.
+ * Returns null otherwise.
+ */
+ public File findLibrary(String fileName) {
+ for (File dir : getSearchDirectories()) {
+ File target = new File(dir, fileName);
+ if (target.exists())
+ return target;
+ }
+ return null;
+ }
+
+ public static final String[] NATIVE_LIBRARY_EXTENSIONS = { ".so", ".dylib", ".jnilib", ".framework", ".dll" };
+
+ /**
+ * Search for and enable any native code contained in a JAR by copying the
+ * native files into the filesystem. Called in the security context of the
+ * classloader.
+ */
+ public void addSearchJar(URL jarLocation) {
+ if (JNLPRuntime.isDebug())
+ System.out.println("Activate native: " + jarLocation);
+
+ File localFile = tracker.getCacheFile(jarLocation);
+ if (localFile == null)
+ return;
+
+ try {
+ JarFile jarFile = new JarFile(localFile, false);
+ Enumeration entries = jarFile.entries();
+
+ while (entries.hasMoreElements()) {
+ JarEntry e = entries.nextElement();
+
+ if (e.isDirectory()) {
+ continue;
+ }
+
+ String name = new File(e.getName()).getName();
+ boolean isLibrary = false;
+
+ for (String suffix : NATIVE_LIBRARY_EXTENSIONS) {
+ if (name.endsWith(suffix)) {
+ isLibrary = true;
+ break;
+ }
+ }
+ if (!isLibrary) {
+ continue;
+ }
+
+ ensureNativeStoreDirectory();
+
+ File outFile = new File(jarEntryDirectory, name);
+ if (!outFile.isFile()) {
+ FileUtils.createRestrictedFile(outFile, true);
+ }
+ CacheUtil.streamCopy(jarFile.getInputStream(e),
+ new FileOutputStream(outFile));
+ }
+
+ jarFile.close();
+ } catch (IOException ex) {
+ if (JNLPRuntime.isDebug())
+ ex.printStackTrace();
+ }
+ }
+
+ void ensureNativeStoreDirectory() {
+ if (jarEntryDirectory == null) {
+ jarEntryDirectory = createNativeStoreDirectory();
+ addSearchDirectory(jarEntryDirectory);
+ }
+ }
+
+ /**
+ * Create a random base directory to store native code files in.
+ */
+ private static File createNativeStoreDirectory() {
+ final int rand = (int)((Math.random()*2 - 1) * Integer.MAX_VALUE);
+ File nativeDir = new File(System.getProperty("java.io.tmpdir")
+ + File.separator + "netx-native-"
+ + (rand & 0xFFFF));
+ File parent = nativeDir.getParentFile();
+ if (!parent.isDirectory() && !parent.mkdirs()) {
+ return null;
+ }
+
+ try {
+ FileUtils.createRestrictedDirectory(nativeDir);
+ return nativeDir;
+ } catch (IOException e) {
+ return null;
+ }
+ }
+}
diff -r 2566a700bd86 -r d6f6c5524acc netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java
--- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Wed May 29 15:43:21 2013 -0400
+++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Mon Jun 03 10:51:47 2013 -0400
@@ -82,6 +82,7 @@
import net.sourceforge.jnlp.Version;
import net.sourceforge.jnlp.cache.CacheUtil;
import net.sourceforge.jnlp.cache.IllegalResourceDescriptorException;
+import net.sourceforge.jnlp.cache.NativeLibraryStorage;
import net.sourceforge.jnlp.cache.ResourceTracker;
import net.sourceforge.jnlp.cache.UpdatePolicy;
import net.sourceforge.jnlp.security.AppVerifier;
@@ -127,11 +128,8 @@
* initialization of applets that share a unique key*/
private static Map uniqueKeyToLock = new HashMap();
- /** the directory for native code */
- private File nativeDir = null; // if set, some native code exists
-
- /** a list of directories that contain native libraries */
- private List nativeDirectories = Collections.synchronizedList(new LinkedList());
+ /** Provides a search path & temporary storage for native code */
+ private NativeLibraryStorage nativeLibraryStorage;
/** security context */
private AccessControlContext acc = AccessController.getContext();
@@ -231,6 +229,8 @@
this.updatePolicy = policy;
this.resources = file.getResources();
+ this.nativeLibraryStorage = new NativeLibraryStorage(tracker);
+
this.mainClass = mainName;
AppVerifier verifier;
@@ -270,21 +270,7 @@
* there is one). Other classloaders (parent, peers) will all
* cleanup things they created
*/
- if (nativeDir != null) {
- if (JNLPRuntime.isDebug()) {
- System.out.println("Cleaning up native directory" + nativeDir.getAbsolutePath());
- }
- try {
- FileUtils.recursiveDelete(nativeDir,
- new File(System.getProperty("java.io.tmpdir")));
- } catch (IOException e) {
- /*
- * failed to delete a file in tmpdir, no big deal (not
- * to mention that the VM is shutting down at this
- * point so no much we can do)
- */
- }
- }
+ nativeLibraryStorage.cleanupTemporaryFolder();
}
});
}
@@ -1349,7 +1335,7 @@
}
// some programs place a native library in any jar
- activateNative(jar);
+ nativeLibraryStorage.addSearchJar(jar.getLocation());
}
return null;
@@ -1360,114 +1346,14 @@
}
/**
- * Search for and enable any native code contained in a JAR by copying the
- * native files into the filesystem. Called in the security context of the
- * classloader.
- */
- protected void activateNative(JARDesc jar) {
- if (JNLPRuntime.isDebug())
- System.out.println("Activate native: " + jar.getLocation());
-
- File localFile = tracker.getCacheFile(jar.getLocation());
- if (localFile == null)
- return;
-
- String[] librarySuffixes = { ".so", ".dylib", ".jnilib", ".framework", ".dll" };
-
- try {
- JarFile jarFile = new JarFile(localFile, false);
- Enumeration entries = jarFile.entries();
-
- while (entries.hasMoreElements()) {
- JarEntry e = entries.nextElement();
-
- if (e.isDirectory()) {
- continue;
- }
-
- String name = new File(e.getName()).getName();
- boolean isLibrary = false;
-
- for (String suffix : librarySuffixes) {
- if (name.endsWith(suffix)) {
- isLibrary = true;
- break;
- }
- }
- if (!isLibrary) {
- continue;
- }
-
- if (nativeDir == null)
- nativeDir = getNativeDir();
-
- File outFile = new File(nativeDir, name);
- if (!outFile.isFile()) {
- FileUtils.createRestrictedFile(outFile, true);
- }
- CacheUtil.streamCopy(jarFile.getInputStream(e),
- new FileOutputStream(outFile));
-
- }
- jarFile.close();
- } catch (IOException ex) {
- if (JNLPRuntime.isDebug())
- ex.printStackTrace();
- }
- }
-
- /**
- * Return the base directory to store native code files in.
- * This method does not need to return the same directory across
- * calls.
- */
- protected File getNativeDir() {
- final int rand = (int)((Math.random()*2 - 1) * Integer.MAX_VALUE);
- nativeDir = new File(System.getProperty("java.io.tmpdir")
- + File.separator + "netx-native-"
- + (rand & 0xFFFF));
- File parent = nativeDir.getParentFile();
- if (!parent.isDirectory() && !parent.mkdirs()) {
- return null;
- }
-
- try {
- FileUtils.createRestrictedDirectory(nativeDir);
- // add this new native directory to the search path
- addNativeDirectory(nativeDir);
- return nativeDir;
- } catch (IOException e) {
- return null;
- }
- }
-
- /**
- * Adds the {@link File} to the search path of this {@link JNLPClassLoader}
- * when trying to find a native library
- */
- protected void addNativeDirectory(File nativeDirectory) {
- nativeDirectories.add(nativeDirectory);
- }
-
- /**
- * Returns a list of all directories in the search path of the current classloader
- * when it tires to find a native library.
- * @return a list of directories in the search path for native libraries
- */
- protected List getNativeDirectories() {
- return nativeDirectories;
- }
-
- /**
* Return the absolute path to the native library.
*/
protected String findLibrary(String lib) {
String syslib = System.mapLibraryName(lib);
+ File libFile = nativeLibraryStorage.findLibrary(syslib);
- for (File dir : getNativeDirectories()) {
- File target = new File(dir, syslib);
- if (target.exists())
- return target.toString();
+ if (libFile != null) {
+ return libFile.toString();
}
String result = super.findLibrary(lib);
@@ -2044,8 +1930,9 @@
addToCodeBaseLoader(extLoader.file.getCodeBase());
// native search paths
- for (File nativeDirectory : extLoader.getNativeDirectories())
- addNativeDirectory(nativeDirectory);
+ for (File nativeDirectory : extLoader.nativeLibraryStorage.getSearchDirectories()) {
+ nativeLibraryStorage.addSearchDirectory(nativeDirectory);
+ }
// security descriptors
for (URL key : extLoader.jarLocationSecurityMap.keySet()) {
diff -r 2566a700bd86 -r d6f6c5524acc netx/net/sourceforge/jnlp/util/StreamUtils.java
--- a/netx/net/sourceforge/jnlp/util/StreamUtils.java Wed May 29 15:43:21 2013 -0400
+++ b/netx/net/sourceforge/jnlp/util/StreamUtils.java Mon Jun 03 10:51:47 2013 -0400
@@ -42,16 +42,17 @@
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
+import java.io.OutputStream;
public class StreamUtils {
- /***
+ /**
* Closes a stream, without throwing IOException.
* In case of IOException, prints the stack trace to System.err.
*
* @param stream the stream that will be closed
*/
- public static void closeSilently (Closeable stream) {
+ public static void closeSilently(Closeable stream) {
if (stream != null) {
try {
stream.close();
@@ -61,8 +62,23 @@
}
}
+ /**
+ * Copy an input stream's contents into an output stream.
+ */
+ public static void copyStream(InputStream input, OutputStream output)
+ throws IOException {
+ byte[] buffer = new byte[1024];
+ while (true) {
+ int bytesRead = input.read(buffer);
+ if (bytesRead == -1) {
+ break;
+ }
+ output.write(buffer, 0, bytesRead);
+ }
+ }
- public static String readStreamAsString(InputStream stream) throws IOException {
+ public static String readStreamAsString(InputStream stream)
+ throws IOException {
InputStreamReader is = new InputStreamReader(stream);
StringBuilder sb = new StringBuilder();
BufferedReader br = new BufferedReader(is);
diff -r 2566a700bd86 -r d6f6c5524acc tests/netx/unit/net/sourceforge/jnlp/cache/NativeLibraryStorageTest.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/netx/unit/net/sourceforge/jnlp/cache/NativeLibraryStorageTest.java Mon Jun 03 10:51:47 2013 -0400
@@ -0,0 +1,172 @@
+/*
+Copyright (C) 2013 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.cache;
+
+import static net.sourceforge.jnlp.util.FileTestUtils.assertNoFileLeak;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import java.io.File;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.List;
+
+import net.sourceforge.jnlp.Version;
+import net.sourceforge.jnlp.util.FileTestUtils;
+
+import org.junit.Test;
+
+public class NativeLibraryStorageTest {
+
+ /**************************************************************************
+ * Test helpers *
+ **************************************************************************/
+
From adomurad at redhat.com Mon Jun 3 08:28:46 2013
From: adomurad at redhat.com (Adam Domurad)
Date: Mon, 03 Jun 2013 11:28:46 -0400
Subject: [icedtea-web] PluginAppletViewer.java:1625 - Can "cl" be null?
In-Reply-To: <1370003542.17521.6.camel@localhost.localdomain>
References: <1370003542.17521.6.camel@localhost.localdomain>
Message-ID: <51ACB62E.8010509@redhat.com>
On 05/31/2013 08:32 AM, Thomas Meyer wrote:
> Hi,
>
> two questions/remarks:
>
> 1.) while debugging bug 1465 I hit a constellation where "cl" was null?
> Is this something that could happen in reality or did I fumble to much
> with the debugger?
>
> --- a/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java Mon Jul 09 16:22:05 2012 -0400
> +++ b/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java Fri May 31 12:49:17 2013 +0200
> @@ -1625,9 +1625,10 @@
>
> appletShutdown(p);
> appletPanels.removeElement(p);
> -
> +
> // Mark classloader unusable
> - ((JNLPClassLoader) cl).decrementLoaderUseCount();
> + if(cl != null)
> + ((JNLPClassLoader) cl).decrementLoaderUseCount();
>
> try {
> SwingUtilities.invokeAndWait(new Runnable() {
>
> 2.) While debugging bug 1465 I hit a funny constellation where the
> underlying "juniper SSL connection" timed out and so in
> net.sourceforge.jnlp.cache.ResourceTracker.downloadResource(Resource) I
> did just receive an HTML file with the message, that my current session
> timed out.
> This HTML file was written to the cache directory, as "JICA-foo.jar". Is
> the missing check for "Content-Type" in this method intentional?
>
>
>
1.)
Hi Thomas, I cannot think of any case where this could be null. If you
have reproducing steps we can look into it, it would indicate something
odd happening I think. (Side rant: Nullable-by-default is evil :-( )
2.)
While I cannot speak specifically about this method, generally we do not
reject things based on stuff like 'Content-Type' to be as lenient as
possible for eg non-compliant servers.
Cheers,
-Adam
From adomurad at redhat.com Mon Jun 3 09:04:54 2013
From: adomurad at redhat.com (Adam Domurad)
Date: Mon, 03 Jun 2013 12:04:54 -0400
Subject: [rfc][icedtea-web] Add helper for getting NetxPanel's by unique key
Message-ID: <51ACBEA6.6050108@redhat.com>
Hi all. This mostly makes sense in the context of a patch that Jiri
Vanek is working on. This adds a missing piece needed to operate on all
NetxPanel's with a given unique key.
To get the NetxPanel's from
UnsignedAppletTrustConfirmation.checkUnsignedWithUserIfRequired just do:
List appletPanels =
PluginAppletViewer.getAppletPanelsWithUniqueKey(file.getUniqueKey());
ChangeLog:
2013-06-03 Adam Domurad
* netx/net/sourceforge/jnlp/NetxPanel.java
(getUniqueKey): New, returns applet unique key.
(getThreadGroup): Use getUniqueKey.
(NetxPanel): Use getUniqueKey.
* plugin/icedteanp/java/sun/applet/PluginAppletViewer.java:
(getAppletPanelsWithUniqueKey): New, get all applet panels with a
given unique key.
Pushing probably depends on how useful it is to Jiri.
Happy hacking,
-Adam
-------------- next part --------------
A non-text attachment was scrubbed...
Name: netxpanels-from-unique-key.patch
Type: text/x-patch
Size: 3733 bytes
Desc: not available
Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130603/e6c8aaa3/netxpanels-from-unique-key.patch
From adomurad at icedtea.classpath.org Mon Jun 3 09:37:58 2013
From: adomurad at icedtea.classpath.org (adomurad at icedtea.classpath.org)
Date: Mon, 03 Jun 2013 16:37:58 +0000
Subject: /hg/icedtea-web: Handle resizing plugin message more robustly by...
Message-ID:
changeset a486f1493133 in /hg/icedtea-web
details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=a486f1493133
author: Adam Domurad
date: Mon Jun 03 12:25:50 2013 -0400
Handle resizing plugin message more robustly by not blocking worker thread
diffstat:
ChangeLog | 5 +
plugin/icedteanp/java/sun/applet/PluginAppletViewer.java | 85 ++++++++-------
2 files changed, 52 insertions(+), 38 deletions(-)
diffs (116 lines):
diff -r d6f6c5524acc -r a486f1493133 ChangeLog
--- a/ChangeLog Mon Jun 03 10:51:47 2013 -0400
+++ b/ChangeLog Mon Jun 03 12:25:50 2013 -0400
@@ -1,3 +1,8 @@
+2013-06-03 Adam Domurad
+
+ * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java:
+ Handle resizing more robustly by not blocking worker thread
+
2013-06-03 Adam Domurad
* netx/net/sourceforge/jnlp/util/StreamUtils.java
diff -r d6f6c5524acc -r a486f1493133 plugin/icedteanp/java/sun/applet/PluginAppletViewer.java
--- a/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java Mon Jun 03 10:51:47 2013 -0400
+++ b/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java Mon Jun 03 12:25:50 2013 -0400
@@ -677,53 +677,62 @@
PluginDebug.debug("Applet panel ", panel, " initialized");
}
+ /* Resizes an applet panel, waiting for the applet to initialze.
+ * Should be done asynchronously to avoid the chance of deadlock. */
+ private void resizeAppletPanel(final int width, final int height) {
+ // Wait for panel to come alive
+ waitForAppletInit(panel);
+
+ SwingUtilities.invokeLater(new Runnable() {
+ public void run() {
+ panel.updateSizeInAtts(height, width);
+
+ setSize(width, height);
+
+ // There is a rather odd drawing bug whereby resizing
+ // the panel makes no difference on initial call
+ // because the panel thinks that it is already the
+ // right size. Validation has no effect there either.
+ // So we work around by setting size to 1, validating,
+ // and then setting to the right size and validating
+ // again. This is not very efficient, and there is
+ // probably a better way -- but resizing happens
+ // quite infrequently, so for now this is how we do it
+
+ panel.setSize(1, 1);
+ panel.validate();
+
+ panel.setSize(width, height);
+ panel.validate();
+
+ panel.applet.resize(width, height);
+ panel.applet.validate();
+ }
+ });
+ }
+
public void handleMessage(int reference, String message) {
if (message.startsWith("width")) {
- // Wait for panel to come alive
- waitForAppletInit(panel);
-
// 0 => width, 1=> width_value, 2 => height, 3=> height_value
String[] dimMsg = message.split(" ");
+ final int width = Integer.parseInt(dimMsg[1]);
final int height = Integer.parseInt(dimMsg[3]);
- final int width = Integer.parseInt(dimMsg[1]);
- panel.updateSizeInAtts(height, width);
+ /* Resize the applet asynchronously, to avoid the chance of
+ * deadlock while waiting for the applet to initialize.
+ *
+ * In general, worker threads should spawn new threads for any blocking operations. */
+ Thread resizeAppletThread = new Thread("resizeAppletThread") {
+ @Override
+ public void run() {
+ resizeAppletPanel(width, height);
+ }
+ };
- try {
- SwingUtilities.invokeAndWait(new Runnable() {
- public void run() {
-
- setSize(width, height);
-
- // There is a rather odd drawing bug whereby resizing
- // the panel makes no difference on initial call
- // because the panel thinks that it is already the
- // right size. Validation has no effect there either.
- // So we work around by setting size to 1, validating,
- // and then setting to the right size and validating
- // again. This is not very efficient, and there is
- // probably a better way -- but resizing happens
- // quite infrequently, so for now this is how we do it
-
- panel.setSize(1, 1);
- panel.validate();
-
- panel.setSize(width, height);
- panel.validate();
-
- panel.applet.resize(width, height);
- panel.applet.validate();
- }
- });
- } catch (InterruptedException e) {
- // do nothing
- e.printStackTrace();
- } catch (InvocationTargetException e) {
- // do nothing
- e.printStackTrace();
- }
+ /* Let it eventually complete */
+ resizeAppletThread.start();
} else if (message.startsWith("GetJavaObject")) {
From aazores at redhat.com Mon Jun 3 10:06:05 2013
From: aazores at redhat.com (Andrew Azores)
Date: Mon, 03 Jun 2013 13:06:05 -0400
Subject: [rfc][icedtea-web] Stripping semicolon tags from jar urls
Message-ID: <51ACCCFD.9080505@redhat.com>
Changelog:
* netx/net/sourceforge/jnlp/Parser.java: added call to
UrlUtils.stripSemicolon()
* netx/net/sourceforge/jnlp/util/UrlUtils.java: added method
stripSemicolon()
* tests/netx/unit/net/sourceforge/jnlp/ParserBasic.java: added tests for
Parser.getUrl()
* tests/netx/unit/net/sourceforge/jnlp/basic.jnlp: added case for
ParserBasic
* tests/netx/unit/net/sourceforge/jnlp/util/UrlUtilsTest.java: added
tests for UrlUtils.stripSemicolon()
*
tests/reproducers/simple/StripSemicolons/testcases/StripSemicolonsTest.java:
added reproducer for UrlUtils.stripSemicolon()
* tests/reproducers/simple/StripSemicolons/srcs/StripSemicolons.java:
class used in reproducer above
*
tests/reproducers/simple/StripSemicolons/resources/stripsemicolons.jnlp:
jnlp used to reference class above
Created unit tests and reproducer for this change, which has also been
moved out into UrlUtils.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: basic.jnlp.patch
Type: text/x-patch
Size: 568 bytes
Desc: not available
Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130603/e315300c/basic.jnlp.patch
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Parser.java.patch
Type: text/x-patch
Size: 1076 bytes
Desc: not available
Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130603/e315300c/Parser.java.patch
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ParserBasic.java.patch
Type: text/x-patch
Size: 3799 bytes
Desc: not available
Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130603/e315300c/ParserBasic.java.patch
-------------- next part --------------
A non-text attachment was scrubbed...
Name: stripsemicolons.jnlp.patch
Type: text/x-patch
Size: 2502 bytes
Desc: not available
Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130603/e315300c/stripsemicolons.jnlp.patch
-------------- next part --------------
A non-text attachment was scrubbed...
Name: StripSemicolons.java.patch
Type: text/x-patch
Size: 2194 bytes
Desc: not available
Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130603/e315300c/StripSemicolons.java.patch
-------------- next part --------------
A non-text attachment was scrubbed...
Name: StripSemicolonsTest.java.patch
Type: text/x-patch
Size: 3566 bytes
Desc: not available
Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130603/e315300c/StripSemicolonsTest.java.patch
-------------- next part --------------
A non-text attachment was scrubbed...
Name: UrlUtils.java.patch
Type: text/x-patch
Size: 1209 bytes
Desc: not available
Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130603/e315300c/UrlUtils.java.patch
-------------- next part --------------
A non-text attachment was scrubbed...
Name: UrlUtilsTest.java.patch
Type: text/x-patch
Size: 2238 bytes
Desc: not available
Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130603/e315300c/UrlUtilsTest.java.patch
From jvanek at redhat.com Mon Jun 3 12:39:40 2013
From: jvanek at redhat.com (Jiri Vanek)
Date: Mon, 03 Jun 2013 21:39:40 +0200
Subject: [rfc][icedtea-web] Removing applications tab in jawas-about
In-Reply-To: <51A8B9BC.3040603@redhat.com>
References: <519CC72F.30107@redhat.com> <519CD4B1.3030708@redhat.com>
<519FC36A.8070505@redhat.com> <51A33BDC.4090002@redhat.com>
<51A8B9BC.3040603@redhat.com>
Message-ID: <51ACF0FC.7010107@redhat.com>
On 05/31/2013 04:54 PM, Andrew Azores wrote:
> On 05/27/2013 06:56 AM, Jiri Vanek wrote:
>> On 05/24/2013 09:45 PM, Andrew Azores wrote:
>>> On 05/22/2013 10:22 AM, Jiri Vanek wrote:
>>>> On 05/22/2013 03:25 PM, Andrew Azores wrote:
>>>>> Removed applications.html and references to it in "jawas -about"
>>>>>
>>>>> Changelog:
>>>>>
>>>>> extra/net/sourceforge/javaws/about/Main.java: Removed applications tab
>>>>> extra/net/sourceforge/javaws/about/resources/applications.html: Removed unneeded file
>>>>
>>>>
>>>> Hi! To be honest - I'm for complete removal of this "about". Or at least of much more havy
>>>> refactoring
>>>>
>>>> Also to be honest(2) this is so deeply needed that it deserves an line in
>>>> http://icedtea.classpath.org/wiki/IcedTea-Web#IcedTea-Web_1.5 table.
>>>>
>>>> It should work at least somehow in headless mode, and should be generated from already existing
>>>> resources (eg authors, news...)
>>>>
>>>> So in short - get rid of "extras" jar (and it logic in makefile) and write specialised about
>>>> dialogue inisde netx itself:) Feel free to be inspired by existing one, but avoid duplicated
>>>> resources.
>>>>
>>>> if you want to bother with it (+1!) then please assign yourself on
>>>> http://icedtea.classpath.org/wiki/IcedTea-Web#IcedTea-Web_1.5, and go on!
>>>>
>>>>
>>>>
>>>> Best regards from CZ!
>>>> J.
>>>
>>> Hi Jiri,
>>>
>>> I'll take a look into creating that dialogue, it should be a good opportunity for me to keep
>>> learning more about the code base before delving into more difficult tasks.
>>>
>>
>> here you are http://icedtea.classpath.org/wiki/IcedTea-Web#IcedTea-Web_1.5 :))
>>
>> Please try to move in as small steps as possible or split the patch to as many logically-complete parts as possible, otherwise they will be very difficult to review.
>> This change should be simple code, but there will be probably huger amount of it.
>> You can start with moving the window into embedded one out of extreas.
>> Also it would be nice to have as much of it generated from NEWS, AUTHORS, maybe Changelog, COPYING? Reuse the rest?
>> just nits... I do not wont to put boundaries to your imagination which must be much more fresh then my is :)
>>
>> Best regards
>> J.
>>
>>
>>
> Changelog:
>
> Makefile.am: removed logic for extras.jar
>
> netx/net/sourceforge/jnlp/runtime/Boot.java: Added -headless -about mode
>
> netx/net/sourceforge/jnlp/resources/Messages.properties: Added messages used in -headless -about
>
> netx/net/sourceforge/jnlp/about/About.java: Changed name from Main, moved out of extras, added logic to generate content from AUTHORS, COPYING, NEWS, ChangeLog
>
> netx/net/sourceforge/jnlp/resources/about.jnlp: References changed About class
>
> netx/net/sourceforge/jnlp/about/Constants.java: String constants pulled out of About.java
>
> netx/net/sourceforge/jnlp/about/HTMLPanel.java: Moved out of extras.jar
>
> netx/net/sourceforge/jnlp/resources/about.html: Relocated
>
> netx/net/sourceforge/jnlp/resources/applications.html: Relocated
>
> netx/net/sourceforge/jnlp/resources/jamIcon.jpg: Relocated
>
> netx/net/sourceforge/jnlp/resources/notes.html: Relocated and commented out authors lines since there is a new Authors tab
>
> Lots of changed files but most of them have small changes made to them eg relocation, hopefully this is not too hard to review overall. I'm also not sure what else should be done for -about -headless, I'd definitely like some feedback on what else to put in there.
Ugh, general comment - never split patch to such a pieces - when I wrote split to small steps or logically-complex parts, thsi was not in my mind :)
Mostly the logically-compelx are refactoring, changes and tests. Not individual filles :) Deeply sorry for confusion.
But this round is not vaste of time:
Please, post all refactoring as separate changeset:
- move of classes and delation of unnecessary files
- makefile and code changes according to this change
- maybe thsi will affect some exiting tests. Please double ensoure that all unittests and reproducers works
In second changes you will add new code and tests
- again - except new tests this will affect some exiting tests. Please double ensure that all unittests and reproducers works
The codechanges itself:
- the about.jnlp file msut be reomoved. It have no place in new schema.
- code itself looks good (not deep investigations), but all new methods needs unittests
Whats is:
> +++/--- b/netx/net/sourceforge/jnlp/resources/notes.html
> @@ -18,6 +18,7 @@
>
>
>
> +
>
>
>
>
>
??
The code should be removed, not commented, and tbh, why so? /me to lazy to read rest of file
- if (null != getOption("-about"))
- System.out.println(aboutMessage);
+ if (null != getOption("-about")) {
+ if (null != getOption("-headless")) {
+ System.out.println(itwInfoMessage);
+ System.exit(0);
+ } else {
+ System.out.println(aboutMessage);
+ }
+ }
I'mnot sure if I follow - the haedless message is much more complex then "normal" -it is correct, but I do not see the launching of dialogue
It is not launching in else branch?
for (InputStream stream : streams) {
+ try {
+ File tempfile = File.createTempFile("javaws-about", ".html");
+ tempfile.deleteOnExit();
+ FileOutputStream fos = new FileOutputStream(tempfile);
+
+ int bytesRead = stream.read(cbuf, 0, cbuf.length);
+ for (int i = 0; i < bytesRead; i++) {
+ if (cbuf[i] == '\n') {
+ fos.write(Constants.HTML.br);
Please do not use FileOutputStream as base class
Use (buffered)reader/writer build upon FileStream *with specified encoding* (utf-8) in this case
Also , TBH... This is the most complicated and actually strangest filesaving :)
+ public static class HTML {
+ public static final byte[] lt = {'&', 'l', 't', ';'};
+ public static final byte[] gt = {'&', 'g', 't', ';'};
+ public static final byte[] amp = {'&', 'a', 'm', 'p', ';'};
+ public static final byte[] br = {'<', 'b', 'r', '>'};
+ }
Nonnnoo :) Please use plain strings like "
" where possible. THis is not mission critical code :)
+ public static final int buffer_size = 20480; // 20KB
NOOOO! DO not reinvite the wheel:)
Please use buffered machanism already presented in java.
After ^ and ^^ remove, the other "public static final String " in Constants as separate class maybe lsot its purpose, but we will se how it will look in next round.
Two *RFC* at the end:
- tabs - You have created all the tabs. On one side, it is not bad, on second it is to compelx. Especially the Changelog one. Please try to think about it and reduce the amount of information to usefull limit.
Also the news should be limited to latest release or something like that. No borders to imagination! Try to thinkg about it like user, what do you expect to find here?
- the generation of content - I'm not sure if generating the files in runtime (and so adding News, License.. adn so on into INSTALL is good idea.
On the other hand, I'm not sure if some pre-generation (which I had in my mind initially) is better idea :)
Sorry if review is not straightforward, I did my best for such a supplicated one :(
Sorry one more times If I wrote my previous email in confusing way :(
And thank you very much for doing this, This patch on its best way!
J.
From adomurad at redhat.com Mon Jun 3 14:09:20 2013
From: adomurad at redhat.com (Adam Domurad)
Date: Mon, 03 Jun 2013 17:09:20 -0400
Subject: [rfc][icedtea-web] Remove unneeded IcedTeaRunnable.cc & .h
Message-ID: <51AD0600.6000704@redhat.com>
So I was getting the plugin compiling in Eclipse when I realized that
these files aren't used in the build. Seeing as they aren't referenced
anywhere in the source tree, it's a good idea to get rid of them.
ChangeLog:
2013-06-03 Adam Domurad
Remove unused files.
* plugin/icedteanp/IcedTeaRunnable.cc: Removed.
* plugin/icedteanp/IcedTeaRunnable.h: Removed.
Happy hacking,
-Adam
-------------- next part --------------
A non-text attachment was scrubbed...
Name: remove-unneeded-IcedTeaRunnable.patch
Type: text/x-patch
Size: 5702 bytes
Desc: not available
Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130603/a960a221/remove-unneeded-IcedTeaRunnable.patch
From jvanek at redhat.com Mon Jun 3 22:50:06 2013
From: jvanek at redhat.com (Jiri Vanek)
Date: Tue, 04 Jun 2013 07:50:06 +0200
Subject: [rfc][icedtea-web] Remove unneeded IcedTeaRunnable.cc & .h
In-Reply-To: <51AD0600.6000704@redhat.com>
References: <51AD0600.6000704@redhat.com>
Message-ID: <51AD800E.2000809@redhat.com>
On 06/03/2013 11:09 PM, Adam Domurad wrote:
> So I was getting the plugin compiling in Eclipse when I realized that these files aren't used in the build. Seeing as they aren't referenced anywhere in the source tree, it's a good idea to get rid of them.
>
> ChangeLog:
> 2013-06-03 Adam Domurad
>
> Remove unused files.
> * plugin/icedteanp/IcedTeaRunnable.cc: Removed.
> * plugin/icedteanp/IcedTeaRunnable.h: Removed.
>
>
> Happy hacking,
> -Adam
yup, clean, clean clean. Thanx!
From jvanek at redhat.com Mon Jun 3 23:32:58 2013
From: jvanek at redhat.com (Jiri Vanek)
Date: Tue, 04 Jun 2013 08:32:58 +0200
Subject: [rfc][icedtea-web] Add helper for getting NetxPanel's by unique
key
In-Reply-To: <51ACBEA6.6050108@redhat.com>
References: <51ACBEA6.6050108@redhat.com>
Message-ID: <51AD8A1A.6060108@redhat.com>
On 06/03/2013 06:04 PM, Adam Domurad wrote:
> Hi all. This mostly makes sense in the context of a patch that Jiri Vanek is working on. This adds a missing piece needed to operate on all NetxPanel's with a given unique key.
>
> To get the NetxPanel's from UnsignedAppletTrustConfirmation.checkUnsignedWithUserIfRequired just do:
>
> List appletPanels = PluginAppletViewer.getAppletPanelsWithUniqueKey(file.getUniqueKey());
>
> ChangeLog:
> 2013-06-03 Adam Domurad
>
> * netx/net/sourceforge/jnlp/NetxPanel.java
> (getUniqueKey): New, returns applet unique key.
> (getThreadGroup): Use getUniqueKey.
> (NetxPanel): Use getUniqueKey.
> * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java:
> (getAppletPanelsWithUniqueKey): New, get all applet panels with a
> given unique key.
>
> Pushing probably depends on how useful it is to Jiri.
>
> Happy hacking,
> -Adam
I think there is an issue that I can not use PluginAppletViever from netx where the splash code is placed.
Also isn't the synchronisation redundant?
Do you mind If I get inspired by your code encapsulate it in my patch instead of bubbling the NetxPanel?
J.
From ptisnovs at icedtea.classpath.org Tue Jun 4 00:53:46 2013
From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org)
Date: Tue, 04 Jun 2013 07:53:46 +0000
Subject: /hg/gfx-test: One helper method and eight new tests added into B...
Message-ID:
changeset b80631955f1a in /hg/gfx-test
details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=b80631955f1a
author: Pavel Tisnovsky
date: Tue Jun 04 09:57:12 2013 +0200
One helper method and eight new tests added into BitBltConvolveOp.
diffstat:
ChangeLog | 5 +
src/org/gfxtest/testsuites/BitBltConvolveOp.java | 129 +++++++++++++++++++++++
2 files changed, 134 insertions(+), 0 deletions(-)
diffs (158 lines):
diff -r ed8160c7efb3 -r b80631955f1a ChangeLog
--- a/ChangeLog Mon Jun 03 10:14:37 2013 +0200
+++ b/ChangeLog Tue Jun 04 09:57:12 2013 +0200
@@ -1,3 +1,8 @@
+2013-06-04 Pavel Tisnovsky
+
+ * src/org/gfxtest/testsuites/BitBltConvolveOp.java:
+ One helper method and eight new tests added into BitBltConvolveOp.
+
2013-06-03 Pavel Tisnovsky
* src/org/gfxtest/testsuites/ClippingCircleByRectangleShape.java:
diff -r ed8160c7efb3 -r b80631955f1a src/org/gfxtest/testsuites/BitBltConvolveOp.java
--- a/src/org/gfxtest/testsuites/BitBltConvolveOp.java Mon Jun 03 10:14:37 2013 +0200
+++ b/src/org/gfxtest/testsuites/BitBltConvolveOp.java Tue Jun 04 09:57:12 2013 +0200
@@ -150,6 +150,23 @@
}
/**
+ * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR
+ *
+ * @param image
+ * image used as a destination for BitBlt-type operations
+ * @param graphics2d
+ * graphics canvas
+ * @param rasterOp
+ * selected raster operation
+ * @return test result status - PASSED, FAILED or ERROR
+ */
+ private TestResult doBitBltEmptyBufferedImageType4ByteABGR(TestImage image, Graphics2D graphics2d,
+ BufferedImageOp rasterOp)
+ {
+ return CommonBitmapOperations.doBitBltTestWithEmptyImage(image, graphics2d, BufferedImage.TYPE_4BYTE_ABGR, rasterOp);
+ }
+
+ /**
* Test basic BitBlt operation for buffered image containing checker pattern
* with type TYPE_3BYTE_BGR
*
@@ -334,6 +351,118 @@
}
/**
+ * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR.
+ *
+ * @param image
+ * image used as a destination for BitBlt-type operations
+ * @param graphics2d
+ * graphics canvas
+ * @return test result status - PASSED, FAILED or ERROR
+ */
+ public TestResult testBitBltEmptyBufferedImageType4ByteABGRbackgroundNoOpKernel1x1ROP(TestImage image, Graphics2D graphics2d)
+ {
+ return doBitBltEmptyBufferedImageType4ByteABGR(image, graphics2d, noopKernel1x1ROP);
+ }
+
+ /**
+ * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR.
+ *
+ * @param image
+ * image used as a destination for BitBlt-type operations
+ * @param graphics2d
+ * graphics canvas
+ * @return test result status - PASSED, FAILED or ERROR
+ */
+ public TestResult testBitBltEmptyBufferedImageType4ByteABGRbackgroundNoOpKernel3x3ROP(TestImage image, Graphics2D graphics2d)
+ {
+ return doBitBltEmptyBufferedImageType4ByteABGR(image, graphics2d, noopKernel3x3ROP);
+ }
+
+ /**
+ * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR.
+ *
+ * @param image
+ * image used as a destination for BitBlt-type operations
+ * @param graphics2d
+ * graphics canvas
+ * @return test result status - PASSED, FAILED or ERROR
+ */
+ public TestResult testBitBltEmptyBufferedImageType4ByteABGRbackgroundNoOpKernel5x5ROP(TestImage image, Graphics2D graphics2d)
+ {
+ return doBitBltEmptyBufferedImageType4ByteABGR(image, graphics2d, noopKernel5x5ROP);
+ }
+
+ /**
+ * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR.
+ *
+ * @param image
+ * image used as a destination for BitBlt-type operations
+ * @param graphics2d
+ * graphics canvas
+ * @return test result status - PASSED, FAILED or ERROR
+ */
+ public TestResult testBitBltEmptyBufferedImageType4ByteABGRbackgroundSmoothingKernel2x2ROP(TestImage image, Graphics2D graphics2d)
+ {
+ return doBitBltEmptyBufferedImageType4ByteABGR(image, graphics2d, smoothingKernel2x2ROP);
+ }
+
+ /**
+ * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR.
+ *
+ * @param image
+ * image used as a destination for BitBlt-type operations
+ * @param graphics2d
+ * graphics canvas
+ * @return test result status - PASSED, FAILED or ERROR
+ */
+ public TestResult testBitBltEmptyBufferedImageType4ByteABGRbackgroundSmoothingKernel2x23x3ROP(TestImage image, Graphics2D graphics2d)
+ {
+ return doBitBltEmptyBufferedImageType4ByteABGR(image, graphics2d, smoothingKernel3x3ROP);
+ }
+
+ /**
+ * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR.
+ *
+ * @param image
+ * image used as a destination for BitBlt-type operations
+ * @param graphics2d
+ * graphics canvas
+ * @return test result status - PASSED, FAILED or ERROR
+ */
+ public TestResult testBitBltEmptyBufferedImageType4ByteABGRbackgroundSmoothingKernel2x25x5ROP(TestImage image, Graphics2D graphics2d)
+ {
+ return doBitBltEmptyBufferedImageType4ByteABGR(image, graphics2d, smoothingKernel5x5ROP);
+ }
+
+ /**
+ * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR.
+ *
+ * @param image
+ * image used as a destination for BitBlt-type operations
+ * @param graphics2d
+ * graphics canvas
+ * @return test result status - PASSED, FAILED or ERROR
+ */
+ public TestResult testBitBltEmptyBufferedImageType4ByteABGRbackgroundSobelOperatorGxROP(TestImage image, Graphics2D graphics2d)
+ {
+ return doBitBltEmptyBufferedImageType4ByteABGR(image, graphics2d, sobelOperatorGxROP);
+ }
+
+ /**
+ * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR.
+ *
+ * @param image
+ * image used as a destination for BitBlt-type operations
+ * @param graphics2d
+ * graphics canvas
+ * @return test result status - PASSED, FAILED or ERROR
+ */
+ public TestResult testBitBltEmptyBufferedImageType4ByteABGRbackgroundSobelOperatorGyROP(TestImage image, Graphics2D graphics2d)
+ {
+ return doBitBltEmptyBufferedImageType4ByteABGR(image, graphics2d, sobelOperatorGyROP);
+ }
+
+ /**
* Test basic BitBlt operation for checker buffered image with type TYPE_3BYTE_BGR.
*
* @param image
From ptisnovs at icedtea.classpath.org Tue Jun 4 01:22:02 2013
From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org)
Date: Tue, 04 Jun 2013 08:22:02 +0000
Subject: /hg/rhino-tests: Updated to work correctly in JDK6-JDK8.
Message-ID:
changeset 704a31613698 in /hg/rhino-tests
details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=704a31613698
author: Pavel Tisnovsky
date: Tue Jun 04 10:25:30 2013 +0200
Updated to work correctly in JDK6-JDK8.
diffstat:
ChangeLog | 5 ++
src/org/RhinoTests/ScriptEngineFactoryClassTest.java | 36 ++++++++++++++++++-
2 files changed, 39 insertions(+), 2 deletions(-)
diffs (79 lines):
diff -r 5d030140c10f -r 704a31613698 ChangeLog
--- a/ChangeLog Mon Jun 03 11:50:42 2013 +0200
+++ b/ChangeLog Tue Jun 04 10:25:30 2013 +0200
@@ -1,3 +1,8 @@
+2013-06-04 Pavel Tisnovsky
+
+ * src/org/RhinoTests/ScriptEngineFactoryClassTest.java:
+ Updated to work correctly in JDK6-JDK8.
+
2013-06-03 Pavel Tisnovsky
* src/org/RhinoTests/ScriptContextClassTest.java:
diff -r 5d030140c10f -r 704a31613698 src/org/RhinoTests/ScriptEngineFactoryClassTest.java
--- a/src/org/RhinoTests/ScriptEngineFactoryClassTest.java Mon Jun 03 11:50:42 2013 +0200
+++ b/src/org/RhinoTests/ScriptEngineFactoryClassTest.java Tue Jun 04 10:25:30 2013 +0200
@@ -919,6 +919,9 @@
final String[] annotationsThatShouldExists_jdk7 = {
};
+ final String[] annotationsThatShouldExists_jdk8 = {
+ };
+
// get all annotations
Annotation[] annotations = this.scriptEngineFactoryClass.getAnnotations();
// and transform the array into a list of annotation names
@@ -926,7 +929,20 @@
for (Annotation annotation : annotations) {
annotationsAsString.add(annotation.toString());
}
- String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7;
+
+ String[] annotationsThatShouldExists = null;
+ switch (getJavaVersion()) {
+ case 6:
+ annotationsThatShouldExists = annotationsThatShouldExists_jdk6;
+ break;
+ case 7:
+ annotationsThatShouldExists = annotationsThatShouldExists_jdk7;
+ break;
+ case 8:
+ annotationsThatShouldExists = annotationsThatShouldExists_jdk8;
+ break;
+ }
+
// check if all required annotations really exists
for (String annotationThatShouldExists : annotationsThatShouldExists) {
assertTrue(annotationsAsString.contains(annotationThatShouldExists),
@@ -945,6 +961,9 @@
final String[] annotationsThatShouldExists_jdk7 = {
};
+ final String[] annotationsThatShouldExists_jdk8 = {
+ };
+
// get all annotations
Annotation[] annotations = this.scriptEngineFactoryClass.getDeclaredAnnotations();
// and transform the array into a list of annotation names
@@ -952,7 +971,20 @@
for (Annotation annotation : annotations) {
annotationsAsString.add(annotation.toString());
}
- String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7;
+
+ String[] annotationsThatShouldExists = null;
+ switch (getJavaVersion()) {
+ case 6:
+ annotationsThatShouldExists = annotationsThatShouldExists_jdk6;
+ break;
+ case 7:
+ annotationsThatShouldExists = annotationsThatShouldExists_jdk7;
+ break;
+ case 8:
+ annotationsThatShouldExists = annotationsThatShouldExists_jdk8;
+ break;
+ }
+
// check if all required annotations really exists
for (String annotationThatShouldExists : annotationsThatShouldExists) {
assertTrue(annotationsAsString.contains(annotationThatShouldExists),
From jvanek at redhat.com Tue Jun 4 01:50:02 2013
From: jvanek at redhat.com (Jiri Vanek)
Date: Tue, 04 Jun 2013 10:50:02 +0200
Subject: [rfc][icedtea-web] Stripping semicolon tags from jar urls
In-Reply-To: <51ACCCFD.9080505@redhat.com>
References: <51ACCCFD.9080505@redhat.com>
Message-ID: <51ADAA3A.8090809@redhat.com>
On 06/03/2013 07:06 PM, Andrew Azores wrote:
> Changelog:
>
> * netx/net/sourceforge/jnlp/Parser.java: added call to UrlUtils.stripSemicolon()
> * netx/net/sourceforge/jnlp/util/UrlUtils.java: added method stripSemicolon()
>
> * tests/netx/unit/net/sourceforge/jnlp/ParserBasic.java: added tests for Parser.getUrl()
> * tests/netx/unit/net/sourceforge/jnlp/basic.jnlp: added case for ParserBasic
> * tests/netx/unit/net/sourceforge/jnlp/util/UrlUtilsTest.java: added tests for UrlUtils.stripSemicolon()
>
> * tests/reproducers/simple/StripSemicolons/testcases/StripSemicolonsTest.java: added reproducer for UrlUtils.stripSemicolon()
> * tests/reproducers/simple/StripSemicolons/srcs/StripSemicolons.java: class used in reproducer above
> * tests/reproducers/simple/StripSemicolons/resources/stripsemicolons.jnlp: jnlp used to reference class above
>
>
> Created unit tests and reproducer for this change, which has also been moved out into UrlUtils.
Please split by logical units, not by files.
In this case three patches - fix, tests, reproducr(s) (with testcase)
J.
From bugzilla-daemon at icedtea.classpath.org Tue Jun 4 03:12:47 2013
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Tue, 04 Jun 2013 10:12:47 +0000
Subject: [Bug 1468] New: A fatal error when working with eclipse juno
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1468
Bug ID: 1468
Summary: A fatal error when working with eclipse juno
Classification: Unclassified
Product: IcedTea
Version: 2.3.9
Hardware: x86
OS: Linux
Status: NEW
Severity: major
Priority: P3
Component: IcedTea
Assignee: gnu.andrew at redhat.com
Reporter: s.kaelberer at googlemail.com
CC: unassigned at icedtea.classpath.org
Created attachment 882
--> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=882&action=edit
error report file
Eclipse crashes after at most 2 minutes working with it. It seems not to be
connected with actions I am doing in eclipse.
I tried also to use Java 6, (IcedTea6 1.10.4), but see the same crashes. The
difference is only that the crashes in IcedTea6 1.10.4 happen not so often
(maybe after 10-20 minutes working in eclipse)
My distro is OpenSuSE 12.3
Version of eclipse:
Eclipse Java EE IDE for Web Developers.
Version: Juno Service Release 2
Build id: 20130225-0426
The error I am receiving in the CLI is:
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x76d8b2d3, pid=4971, tid=3076028096
#
# JRE version: 7.0_21-b02
# Java VM: OpenJDK Client VM (23.7-b01 mixed mode linux-x86 )
# Problematic frame:
# C [libsoup-2.4.so.1+0x5a2d3] soup_session_feature_detach+0x23
#
# Failed to write core dump. Core dumps have been disabled. To enable core
dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /home/sernat/Entwicklung/Java/eclipse/hs_err_pid4971.log
#
# If you would like to submit a bug report, please include
# instructions on how to reproduce the bug and visit:
# http://icedtea.classpath.org/bugzilla
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130604/b48821a3/attachment.html
From bugzilla-daemon at icedtea.classpath.org Tue Jun 4 04:33:51 2013
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Tue, 04 Jun 2013 11:33:51 +0000
Subject: [Bug 1026] Apps fail to run because of the nanoxml parser's strict
XML validation
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1026
JiriVanek changed:
What |Removed |Added
----------------------------------------------------------------------------
Assignee|adomurad at redhat.com |jvanek at redhat.com
--- Comment #11 from JiriVanek ---
Ok. New parser based on taxoup fixed this.
I will close as fixed-next release when it will be pushed.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130604/56243a7b/attachment.html
From jvanek at redhat.com Tue Jun 4 06:12:03 2013
From: jvanek at redhat.com (Jiri Vanek)
Date: Tue, 04 Jun 2013 15:12:03 +0200
Subject: [rfc][icedtea-web] minor fix to Messages.propertie CCannotClearCache
Message-ID: <51ADE7A3.1000301@redhat.com>
Ok for head and 1.4?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: message.patch
Type: text/x-patch
Size: 825 bytes
Desc: not available
Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130604/e11cd5ff/message.patch
From jvanek at redhat.com Tue Jun 4 06:18:40 2013
From: jvanek at redhat.com (Jiri Vanek)
Date: Tue, 04 Jun 2013 15:18:40 +0200
Subject: [rfc][icedtea-web] renewed tagsoup
Message-ID: <51ADE930.5030206@redhat.com>
Again, I'm trying to reincarnate old Omair's tagsoup patch.
As this was developed by Omair, then rewritten by Adam, and now by Me, I think it is quite reviwed :)
tests are adapted, and few added
Ok for head? Some tests included.
Also do not forget taht the results of this patch are visible only with tagsoup installed. Without it, or with -xml it behaves as normlay.
(note, this will need to go to wiki)
By the way the PR1026 is fixed by this, and there can come more
I have already made quite deep testing, and some more testing will come, so please do not halt this for tests. Soem reproducers are in row.
J.
From helpcrypto at gmail.com Tue Jun 4 06:14:42 2013
From: helpcrypto at gmail.com (helpcrypto helpcrypto)
Date: Tue, 4 Jun 2013 15:14:42 +0200
Subject: [OT?] Get current firefox profile
Message-ID:
Hi.
Any of you know an easy way of getting firefox current profile from my
applet?
I found, but Component.classes gives permission denied:
http://stackoverflow.com/questions/5695230/how-to-get-the-current-firefox-profile-path-from-within-my-applet
Thanks!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130604/28bf386b/attachment.html
From jvanek at redhat.com Tue Jun 4 06:21:15 2013
From: jvanek at redhat.com (Jiri Vanek)
Date: Tue, 04 Jun 2013 15:21:15 +0200
Subject: Fwd: [rfc][icedtea-web] renewed tagsoup
Message-ID: <51ADE9CB.2090709@redhat.com>
attached missing attachment
-------- Original Message --------
Subject: [rfc][icedtea-web] renewed tagsoup
Date: Tue, 04 Jun 2013 15:18:40 +0200
From: Jiri Vanek
To: IcedTea Distro List
Again, I'm trying to reincarnate old Omair's tagsoup patch.
As this was developed by Omair, then rewritten by Adam, and now by Me, I think it is quite reviwed :)
tests are adapted, and few added
Ok for head? Some tests included.
Also do not forget taht the results of this patch are visible only with tagsoup installed. Without it, or with -xml it behaves as normlay.
(note, this will need to go to wiki)
By the way the PR1026 is fixed by this, and there can come more
I have already made quite deep testing, and some more testing will come, so please do not halt this for tests. Soem reproducers are in row.
J.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: tagsoup.diff
Type: text/x-patch
Size: 100662 bytes
Desc: not available
Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130604/e8f50aa0/tagsoup.diff
From adomurad at redhat.com Tue Jun 4 06:23:42 2013
From: adomurad at redhat.com (Adam Domurad)
Date: Tue, 04 Jun 2013 09:23:42 -0400
Subject: [rfc][icedtea-web] minor fix to Messages.propertie
CCannotClearCache
In-Reply-To: <51ADE7A3.1000301@redhat.com>
References: <51ADE7A3.1000301@redhat.com>
Message-ID: <51ADEA5E.6030701@redhat.com>
On 06/04/2013 09:12 AM, Jiri Vanek wrote:
> Ok for head and 1.4?
>
>
Sure go ahead, but I do think the wording is a little odd.
Maybe something like: 'Can not clear the cache at this time. If the
problem persists, try closing your browser & JNLP applications.'
I do not know if we should be telling people to kill all java
applications, really. Up to you though if you want to keep it in.
-Adam
From aazores at redhat.com Tue Jun 4 06:22:47 2013
From: aazores at redhat.com (Andrew Azores)
Date: Tue, 04 Jun 2013 09:22:47 -0400
Subject: [rfc][icedtea-web] Stripping semicolon tags from jar urls
In-Reply-To: <51ADAA3A.8090809@redhat.com>
References: <51ACCCFD.9080505@redhat.com> <51ADAA3A.8090809@redhat.com>
Message-ID: <51ADEA27.1060501@redhat.com>
On 06/04/2013 04:50 AM, Jiri Vanek wrote:
> On 06/03/2013 07:06 PM, Andrew Azores wrote:
>> Changelog:
>>
>> * netx/net/sourceforge/jnlp/Parser.java: added call to
>> UrlUtils.stripSemicolon()
>> * netx/net/sourceforge/jnlp/util/UrlUtils.java: added method
>> stripSemicolon()
>>
>> * tests/netx/unit/net/sourceforge/jnlp/ParserBasic.java: added tests
>> for Parser.getUrl()
>> * tests/netx/unit/net/sourceforge/jnlp/basic.jnlp: added case for
>> ParserBasic
>> * tests/netx/unit/net/sourceforge/jnlp/util/UrlUtilsTest.java: added
>> tests for UrlUtils.stripSemicolon()
>>
>> *
>> tests/reproducers/simple/StripSemicolons/testcases/StripSemicolonsTest.java:
>> added reproducer for UrlUtils.stripSemicolon()
>> * tests/reproducers/simple/StripSemicolons/srcs/StripSemicolons.java:
>> class used in reproducer above
>> *
>> tests/reproducers/simple/StripSemicolons/resources/stripsemicolons.jnlp:
>> jnlp used to reference class above
>>
>>
>> Created unit tests and reproducer for this change, which has also
>> been moved out into UrlUtils.
> Please split by logical units, not by files.
> In this case three patches - fix, tests, reproducr(s) (with testcase)
>
>
> J.
Hopefully this is more manageable :)
I definitely need some feedback on the reproducer, I'm not sure exactly
what to be doing with it and at the moment it feels like it's just
duplicating the unit tests.
Andrew A
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fix.patch
Type: text/x-patch
Size: 2285 bytes
Desc: not available
Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130604/b5ea22c5/fix.patch
-------------- next part --------------
A non-text attachment was scrubbed...
Name: reproducer.patch
Type: text/x-patch
Size: 8262 bytes
Desc: not available
Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130604/b5ea22c5/reproducer.patch
-------------- next part --------------
A non-text attachment was scrubbed...
Name: unit_tests.patch
Type: text/x-patch
Size: 14709 bytes
Desc: not available
Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130604/b5ea22c5/unit_tests.patch
From jvanek at redhat.com Tue Jun 4 06:31:23 2013
From: jvanek at redhat.com (Jiri Vanek)
Date: Tue, 04 Jun 2013 15:31:23 +0200
Subject: [rfc][icedtea-web] fix for PR1465 - java.io.FileNotFoundException
while trying to download a JAR file
Message-ID: <51ADEC2B.3000202@redhat.com>
Although not nice, not even bad.
tbh this was known issue, and when sad was pushing his patch we decided to ignore %20 and + similarity under html encoding, and difference under RFC2396.
Apearently, wrongly.
J.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: thomasFix_1.patch
Type: text/x-patch
Size: 3844 bytes
Desc: not available
Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130604/4e6c68e2/thomasFix_1.patch
From jvanek at redhat.com Tue Jun 4 06:38:49 2013
From: jvanek at redhat.com (Jiri Vanek)
Date: Tue, 04 Jun 2013 15:38:49 +0200
Subject: [OT?] Get current firefox profile
In-Reply-To:
References:
Message-ID: <51ADEDE9.1030503@redhat.com>
On 06/04/2013 03:14 PM, helpcrypto helpcrypto wrote:
> Hi.
>
>
> Any of you know an easy way of getting firefox current profile from my applet?
>
> I found, but Component.classes gives permission denied:
>
> http://stackoverflow.com/questions/5695230/how-to-get-the-current-firefox-profile-path-from-within-my-applet
>
> Thanks!
>
>
I have not tried, but it give sense that applet must be signed to do this.
J.
From bugzilla-daemon at icedtea.classpath.org Tue Jun 4 07:16:04 2013
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Tue, 04 Jun 2013 14:16:04 +0000
Subject: [Bug 909] The Java applet at
http://de.gosupermodel.com/games/wardrobegame.jsp fails.
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=909
Deepak Bhole changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |dbhole at redhat.com
Assignee|smohammad at redhat.com |adomurad at redhat.com
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130604/6af0232a/attachment.html
From jvanek at redhat.com Tue Jun 4 07:34:40 2013
From: jvanek at redhat.com (Jiri Vanek)
Date: Tue, 04 Jun 2013 16:34:40 +0200
Subject: [rfc][icedtea-web] Stripping semicolon tags from jar urls
In-Reply-To: <51ADEA27.1060501@redhat.com>
References: <51ACCCFD.9080505@redhat.com> <51ADAA3A.8090809@redhat.com>
<51ADEA27.1060501@redhat.com>
Message-ID: <51ADFB00.2040009@redhat.com>
General comment - please strip only parts of old coverstion which are already solved or become irrelevant thanx to new code (but strip!-)
On 06/04/2013 03:22 PM, Andrew Azores wrote:
> On 06/04/2013 04:50 AM, Jiri Vanek wrote:
>> On 06/03/2013 07:06 PM, Andrew Azores wrote:
>>> Changelog:
>>>
>>> * netx/net/sourceforge/jnlp/Parser.java: added call to UrlUtils.stripSemicolon()
>>> * netx/net/sourceforge/jnlp/util/UrlUtils.java: added method stripSemicolon()
>>>
>>> * tests/netx/unit/net/sourceforge/jnlp/ParserBasic.java: added tests for Parser.getUrl()
>>> * tests/netx/unit/net/sourceforge/jnlp/basic.jnlp: added case for ParserBasic
>>> * tests/netx/unit/net/sourceforge/jnlp/util/UrlUtilsTest.java: added tests for UrlUtils.stripSemicolon()
>>>
>>> * tests/reproducers/simple/StripSemicolons/testcases/StripSemicolonsTest.java: added reproducer for UrlUtils.stripSemicolon()
>>> * tests/reproducers/simple/StripSemicolons/srcs/StripSemicolons.java: class used in reproducer above
>>> * tests/reproducers/simple/StripSemicolons/resources/stripsemicolons.jnlp: jnlp used to reference class above
>>>
>>>
>>> Created unit tests and reproducer for this change, which has also been moved out into UrlUtils.
>> Please split by logical units, not by files.
>> In this case three patches - fix, tests, reproducr(s) (with testcase)
>>
>>
>> J.
> Hopefully this is more manageable :)
>
> I definitely need some feedback on the reproducer, I'm not sure exactly what to be doing with it and at the moment it feels like it's just duplicating the unit tests.
Unit tests are testing the code, reproducers are integration tests - they test if the code is realy used when it should be used.
An I think you ahve messed it a bit togehter :) But nvm. You have done a little bit redundant work, and individual parts are strangly merged, but the testd do not need to be thrown away.
Tahnxz for splitting it, loosk much better!
>
> Andrew A
>
>
> fix.patch
>
>
> diff --git a/netx/net/sourceforge/jnlp/Parser.java b/netx/net/sourceforge/jnlp/Parser.java
> --- a/netx/net/sourceforge/jnlp/Parser.java
> +++ b/netx/net/sourceforge/jnlp/Parser.java
> @@ -29,6 +29,7 @@ import java.util.*;
> import net.sourceforge.jnlp.UpdateDesc.Check;
> import net.sourceforge.jnlp.UpdateDesc.Policy;
> import net.sourceforge.jnlp.runtime.JNLPRuntime;
> +import net.sourceforge.jnlp.util.UrlUtils;
> import net.sourceforge.nanoxml.*;
>
> /**
> @@ -1063,9 +1064,12 @@ class Parser {
> * @throws ParseException if the JNLP file is invalid
> */
> public URL getURL(Node node, String name, URL base) throws ParseException {
> - String href = getAttribute(node, name, null);
> - if (href == null)
> + String href = UrlUtils.stripSemicolon(getAttribute(node, name, null));
> + // Remove appended semicolon "tags" (https://bugzilla.redhat.com/show_bug.cgi?id=905074)
> +
> + if (href == null) {
> return null; // so that code can throw an exception if attribute was required
> + }
eeee? ahve null chel *after* your new code some purpose? Also why the remove initialisation? I would expect :
String href = getAttribute(node, name, null);
if (href == null) {
return null; // so that code can throw an exception if attribute was required
}
// Remove appended semicolon "tags" (https://bugzilla.redhat.com/show_bug.cgi?id=905074)
String href = UrlUtils.stripSemicolon(href);
>
> try {
> if (base == null)
> diff --git a/netx/net/sourceforge/jnlp/util/UrlUtils.java b/netx/net/sourceforge/jnlp/util/UrlUtils.java
> --- a/netx/net/sourceforge/jnlp/util/UrlUtils.java
> +++ b/netx/net/sourceforge/jnlp/util/UrlUtils.java
> @@ -139,4 +139,25 @@ public class UrlUtils {
> public static File decodeUrlAsFile(URL url) {
> return new File(decodeUrlQuietly(url).getFile());
> }
> +
> + /* Strip any characters after the file extension iff there is a semicolon after the extension. */
> + public static String stripSemicolon(String url) {
> + if (url == null)
> + return null;
> +
> + // If JNLP specifies JAR URL with .JAR extension (as it should), then look for any semicolons
> + // after this position. If one is found, remove it and any following characters.
> + int fileExtension = url.toUpperCase().lastIndexOf(".JAR");
> + if (fileExtension != -1) {
> + int firstSemiColon = url.indexOf(';', fileExtension);
> + if (firstSemiColon != -1) {
> + url = url.substring(0, firstSemiColon);
> + }
> + }
> + return url;
> + }
> +
> + public static URL stripSemicolon(URL url) throws MalformedURLException {
> + return new URL(stripSemicolon(url.toString()));
> + }
> }
Those two methods above looks already ok :)
>
>
As yu have messed unittest and reproducer together, I willt try to mark hat should be what.
> reproducer.patch
>
>
> diff --git a/tests/reproducers/simple/StripSemicolons/resources/stripsemicolons.jnlp b/tests/reproducers/simple/StripSemicolons/resources/stripsemicolons.jnlp
> new file mode 100644
hmm.. this jnlp should simulate the "corrupted" run, so shouldn't there be semicolon somewhere?
> --- /dev/null
> +++ b/tests/reproducers/simple/StripSemicolons/resources/stripsemicolons.jnlp
> @@ -0,0 +1,53 @@
> +
> +
> +
> +
> +stripsemicolons
> +IcedTea
> +
> +stripsemicolons
> +
> +
> +
> +
Maybe here ??
> +
> +
> +
> +
> +
> diff --git a/tests/reproducers/simple/StripSemicolons/srcs/StripSemicolons.java b/tests/reproducers/simple/StripSemicolons/srcs/StripSemicolons.java
> new file mode 100644
> --- /dev/null
> +++ b/tests/reproducers/simple/StripSemicolons/srcs/StripSemicolons.java
> @@ -0,0 +1,45 @@
> +import net.sourceforge.jnlp.util.UrlUtils;
> +
> +/* SimpleTest2.java
> +Copyright (C) 2011 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.
> + */
> +
> +public class StripSemicolons {
> + public static void main(String[] args) {
> + System.out.println("running");
> + for (String arg: args) System.out.println(UrlUtils.stripSemicolon(arg));
> + }
> +}
You mentioned that the ; can be used also in extensions definitions - if sou, then this jnlp is msisng, and if sou, then the code in main should check if extension was downlaoded
Also appelts are affected by this issue or not? Please provide and execute also html simulating this issue.
> + for (String arg: args) System.out.println(UrlUtils.stripSemicolon(arg));
^ this is terrible misunderstending of issue. THe reproducer must BE THE ISSUE, not execute the method which was written to help him to run. I will sent Adam to your help otherwise wi weill end up in nevereding emailing deadlock;)
> diff --git a/tests/reproducers/simple/StripSemicolons/testcases/StripSemicolonsTest.java b/tests/reproducers/simple/StripSemicolons/testcases/StripSemicolonsTest.java
> new file mode 100644
> --- /dev/null
> +++ b/tests/reproducers/simple/StripSemicolons/testcases/StripSemicolonsTest.java
> @@ -0,0 +1,83 @@
> +/* SimpleTest2Test.java
> +Copyright (C) 2011 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.
> + */
> +
> +import java.util.ArrayList;
> +import net.sourceforge.jnlp.ServerAccess;
> +import net.sourceforge.jnlp.util.UrlUtils;
> +import net.sourceforge.jnlp.annotations.KnownToFail;
> +import org.junit.Assert;
> +
> +import org.junit.Test;
> +
> +public class StripSemicolonsTest {
> +
Yaaah THIS ????
> + private static ServerAccess server = new ServerAccess();
> +
> + private static String[] testCases = {
> + "http://localhost/jar.jar;tag",
> + "http://localhost/jar;tag.jar",
> + "http://local;host/jar;tag.jar;tag1;tag2",
> + "http://zhbapssp-spsv01.bwns.ch:8080/spectrum/lib/jsafeJCEFIPS.jar;no_javaws_cheat"
> + };
> + private static String[] expectedResults = {
> + "http://localhost/jar.jar",
> + "http://localhost/jar;tag.jar",
> + "http://local;host/jar;tag.jar",
> + "http://zhbapssp-spsv01.bwns.ch:8080/spectrum/lib/jsafeJCEFIPS.jar"
> + };
^^^^^^^^^ is unittest - just one method to iterate those two arrays, against your new method.
> +
> + @Test
> + public void testStripSemicolonsLaunch() throws Exception {
> + ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/stripsemicolons.jnlp");
> + Assert.assertTrue("stdout should contain " + "running" + " but did not", pr.stdout.contains("running"));
Pelase use ContainsRule for this. It is not necessary here, but is good habbit in reproducers.
> + }
> +
> + @Test
> + public void testStripSemicolonsTests() throws Exception {
> + ArrayList args = new ArrayList();
> + args.add("-nosecurity");
> + for (String test : testCases) {
> + args.add("-arg");
> + args.add(test);
> + }
> + ServerAccess.ProcessResult pr = server.executeJavawsHeadless(args, "/stripsemicolons.jnlp");
> + for (String result : expectedResults) {
> + Assert.assertTrue("stdout should contain " + result + " but did not.", pr.stdout.contains(result));
> + }
eehhhh.. what is this??? When you mett adam in officxe, ask him :)
> + }
> +
> +}
>
>
> unit_tests.patch
>
>
> diff --git a/tests/netx/unit/net/sourceforge/jnlp/ParserBasic.java b/tests/netx/unit/net/sourceforge/jnlp/ParserBasic.java
> --- a/tests/netx/unit/net/sourceforge/jnlp/ParserBasic.java
> +++ b/tests/netx/unit/net/sourceforge/jnlp/ParserBasic.java
> @@ -37,15 +37,14 @@ exception statement from your version.
>
> package net.sourceforge.jnlp;
>
> -import java.io.ByteArrayInputStream;
> import java.io.InputStream;
> +import java.net.MalformedURLException;
> +import java.net.URL;
> import java.util.List;
> -import net.sourceforge.jnlp.runtime.CodeBaseClassLoaderTest;
> +
> import net.sourceforge.jnlp.mock.DummyJNLPFile;
>
> -import org.junit.After;
> import org.junit.Assert;
> -import org.junit.Before;
> import org.junit.BeforeClass;
> import org.junit.Test;
>
> @@ -54,6 +53,7 @@ public class ParserBasic {
>
> private static Node root;
> private static Parser parser;
> + private static int numResourceJars = 4;
>
> @BeforeClass
> public static void setUp() throws ParseException {
> @@ -222,13 +222,17 @@ public class ParserBasic {
> boolean foundNative = false;
> boolean foundEager = false;
> boolean foundLazy = false;
> + boolean foundBadlyNamed = false;
>
> JARDesc[] jars = resources.getJARs();
> - Assert.assertEquals(3, jars.length);
> + Assert.assertEquals(numResourceJars, jars.length);
> for (int i = 0; i< jars.length; i++) {
> if (jars[i].isNative()) {
> foundNative = true;
> Assert.assertEquals("http://localhost/native.jar", jars[i].getLocation().toString());
> + } else if (jars[i].isMain()) {
> + foundBadlyNamed = true;
> + Assert.assertEquals("http://localhost/semicolon.jar", jars[i].getLocation().toString());
I'm not sure if I understand pupose of this hunk
> } else if (jars[i].isEager()) {
> foundEager = true;
> Assert.assertEquals("http://localhost/eager.jar", jars[i].getLocation().toString());
> @@ -243,6 +247,7 @@ public class ParserBasic {
> Assert.assertTrue(foundNative);
> Assert.assertTrue(foundLazy);
> Assert.assertTrue(foundEager);
> + Assert.assertTrue(foundBadlyNamed);
> }
>
> @Test
> @@ -281,4 +286,48 @@ public class ParserBasic {
> Assert.assertArrayEquals(new String[] { "arg1", "arg2" }, app.getArguments());
> }
>
> + @Test
> + public void testGetUrl() throws ParseException {
> + Node resources = null;
> + for (Node child : root.getChildNodes()) {
> + if (child.getNodeName().equals("resources")) {
> + resources = child;
> + break;
> + }
> + }
> +
> + Assert.assertNotNull(resources);
> +
> + Node[] jars = new Node[numResourceJars - 1];
> + int index = 0;
> + for (Node child: resources.getChildNodes()) {
> + if (child.getNodeName().equals("jar")) {
> + jars[index] = child;
> + index++;
> + }
> + }
> +
> + for (Node jar : jars) {
> + try {
> + String url = parser.getURL(jar, "href", new URL("http://localhost")).toString();
> + String href = jar.getAttribute("href");
> + Assert.assertFalse(url.equals(""));
> + Assert.assertFalse(href.equals(""));
> +
> + int fileExtension = href.toUpperCase().lastIndexOf(".JAR");
> + if (fileExtension != -1) {
> + int semiColon = href.indexOf(';', fileExtension);
> + if (semiColon != -1) {
> + href = href.substring(0, semiColon);
> + }
> + }
> +
> + Assert.assertEquals(url,"http://localhost/" + href);
> +
> + if (url.lastIndexOf(';') != -1) Assert.assertTrue(url.lastIndexOf(';')< url.indexOf('.'));
> + } catch (MalformedURLException e) {
> + Assert.assertTrue(false);
> + }
actually even this is misty for me in context od unittests
> + }
> + }
> }
> diff --git a/tests/netx/unit/net/sourceforge/jnlp/basic.jnlp b/tests/netx/unit/net/sourceforge/jnlp/basic.jnlp
> --- a/tests/netx/unit/net/sourceforge/jnlp/basic.jnlp
> +++ b/tests/netx/unit/net/sourceforge/jnlp/basic.jnlp
> @@ -35,6 +35,7 @@
> max-heap-size='128m' />
>
>
> +
>
>
>
Its probably good idea to test also parser on this issue.
> diff --git a/tests/netx/unit/net/sourceforge/jnlp/util/UrlUtilsTest.java b/tests/netx/unit/net/sourceforge/jnlp/util/UrlUtilsTest.java
> --- a/tests/netx/unit/net/sourceforge/jnlp/util/UrlUtilsTest.java
> +++ b/tests/netx/unit/net/sourceforge/jnlp/util/UrlUtilsTest.java
> @@ -43,6 +43,7 @@ import static org.junit.Assert.assertFal
> import java.io.File;
> import java.net.URL;
>
> +import org.junit.Assert;
> import org.junit.Test;
>
> public class UrlUtilsTest {
> @@ -116,4 +117,26 @@ public class UrlUtilsTest {
> assertEquals(testFile, UrlUtils.decodeUrlAsFile(encodedUrl));
> }
> }
> +
> + @Test
> + public void testStripSemicolon() {
> + String simpleCodebase ="http://localhost/",
> + complexCodebase ="http://localhost/i=123?q=456¶m=test;semicolon/",
> + simpleJarName = "file.jar",
> + complexJarName = "file2.jar.pack.gz;no_javaws_cheat",
> + multiTaggedJarName = "file.jar;ignored;ignored;ignored",
> + bareJarName = "jar",
> + taggedBareJarName = "jar;ignored";
> +
> + Assert.assertEquals(simpleCodebase + simpleJarName, UrlUtils.stripSemicolon(simpleCodebase + simpleJarName));
> + Assert.assertEquals(simpleCodebase + bareJarName, UrlUtils.stripSemicolon(simpleCodebase + bareJarName));
> + Assert.assertEquals(simpleCodebase + "file2.jar.pack.gz", UrlUtils.stripSemicolon(simpleCodebase + complexJarName));
> + Assert.assertEquals(simpleCodebase + "file.jar", UrlUtils.stripSemicolon(simpleCodebase + multiTaggedJarName));
> + Assert.assertEquals(simpleCodebase + taggedBareJarName, UrlUtils.stripSemicolon(simpleCodebase + taggedBareJarName));
> + Assert.assertEquals(complexCodebase + simpleJarName, UrlUtils.stripSemicolon(complexCodebase + simpleJarName));
> + Assert.assertEquals(complexCodebase + bareJarName, UrlUtils.stripSemicolon(complexCodebase + bareJarName));
> + Assert.assertEquals(complexCodebase + "file2.jar.pack.gz", UrlUtils.stripSemicolon(complexCodebase + complexJarName));
> + Assert.assertEquals(complexCodebase + "file.jar", UrlUtils.stripSemicolon(complexCodebase + multiTaggedJarName));
> + Assert.assertEquals(complexCodebase + taggedBareJarName, UrlUtils.stripSemicolon(complexCodebase + taggedBareJarName));
This is strange. Sorry
> + }
> }
> \ No newline at end of file
> diff --git a/tests/reproducers/simple/StripSemicolons/resources/stripsemicolons.jnlp b/tests/reproducers/simple/StripSemicolons/resources/stripsemicolons.jnlp
> new file mode 100644
> --- /dev/null
> +++ b/tests/reproducers/simple/StripSemicolons/resources/stripsemicolons.jnlp
> @@ -0,0 +1,53 @@
> +
> +
> +
> +
> +stripsemicolons
> +IcedTea
> +
> +stripsemicolons
> +
> +
> +
> +
> +
> +
> +
> +
> +
> diff --git a/tests/reproducers/simple/StripSemicolons/srcs/StripSemicolons.java b/tests/reproducers/simple/StripSemicolons/srcs/StripSemicolons.java
> new file mode 100644
> --- /dev/null
> +++ b/tests/reproducers/simple/StripSemicolons/srcs/StripSemicolons.java
> @@ -0,0 +1,45 @@
> +import net.sourceforge.jnlp.util.UrlUtils;
> +
> +/* SimpleTest2.java
> +Copyright (C) 2011 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.
> + */
> +
> +public class StripSemicolons {
> + public static void main(String[] args) {
> + System.out.println("running");
> + for (String arg: args) System.out.println(UrlUtils.stripSemicolon(arg));
> + }
> +}
> diff --git a/tests/reproducers/simple/StripSemicolons/testcases/StripSemicolonsTest.java b/tests/reproducers/simple/StripSemicolons/testcases/StripSemicolonsTest.java
> new file mode 100644
> --- /dev/null
> +++ b/tests/reproducers/simple/StripSemicolons/testcases/StripSemicolonsTest.java
> @@ -0,0 +1,83 @@
> +/* SimpleTest2Test.java
> +Copyright (C) 2011 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.
> + */
> +
> +import java.util.ArrayList;
> +import net.sourceforge.jnlp.ServerAccess;
> +import net.sourceforge.jnlp.util.UrlUtils;
> +import net.sourceforge.jnlp.annotations.KnownToFail;
> +import org.junit.Assert;
> +
> +import org.junit.Test;
> +
> +public class StripSemicolonsTest {
> +
> + private static ServerAccess server = new ServerAccess();
> +
> + private static String[] testCases = {
> + "http://localhost/jar.jar;tag",
> + "http://localhost/jar;tag.jar",
> + "http://local;host/jar;tag.jar;tag1;tag2",
> + "http://zhbapssp-spsv01.bwns.ch:8080/spectrum/lib/jsafeJCEFIPS.jar;no_javaws_cheat"
> + };
> + private static String[] expectedResults = {
> + "http://localhost/jar.jar",
> + "http://localhost/jar;tag.jar",
> + "http://local;host/jar;tag.jar",
> + "http://zhbapssp-spsv01.bwns.ch:8080/spectrum/lib/jsafeJCEFIPS.jar"
> + };
> +
> + @Test
> + public void testStripSemicolonsLaunch() throws Exception {
> + ServerAccess.ProcessResult pr = server.executeJavawsHeadless(null, "/stripsemicolons.jnlp");
> + Assert.assertTrue("stdout should contain " + "running" + " but did not", pr.stdout.contains("running"));
> + }
> +
> + @Test
> + public void testStripSemicolonsTests() throws Exception {
> + ArrayList args = new ArrayList();
> + args.add("-nosecurity");
> + for (String test : testCases) {
> + args.add("-arg");
> + args.add(test);
> + }
> + ServerAccess.ProcessResult pr = server.executeJavawsHeadless(args, "/stripsemicolons.jnlp");
> + for (String result : expectedResults) {
> + Assert.assertTrue("stdout should contain " + result + " but did not.", pr.stdout.contains(result));
> + }
> + }
> +
This was already here, wasn'nt it?
> +}
Genral comments to test:
In your case you will add two or three testmethods to unittest files:
- tests/netx/unit/net/sourceforge/jnlp/ParserBasic.java:
added tests for Parser.getUrl() - correct, this will iterate through your testCase and comapre with expectedessults in assserEwuals. Nice test
- tests/netx/unit/net/sourceforge/jnlp/util/UrlUtilsTest.java:
This is bonus test, and should be muchhless complicated then you started it - You wil prvide jnlp file (like * tests/netx/unit/net/sourceforge/jnlp/basic.jnlp: added case for ParserBasic) s separate file or or as string (and s inputstream) for parser. No localhosts here!
Then yo will tests if parser returns correct urls.
Reproducer:
You must prepare one or two "semicolon corrupted" html and one or two "semicolon corrupted" jnlp file.
If you will try to test also extension with semicolon, you shoud tests taht extension was loaded in your (in src) main class. Otehrwise some "app finished" stdout is enough
you shoud use closing listener for applets
your testcase is then executing the html and jnlp files, and is checking the output. By this way you will find that your fix is really workling.
I'm sending adam to look over your shoulder:)
Good luck!
J
From adomurad at redhat.com Tue Jun 4 07:44:29 2013
From: adomurad at redhat.com (Adam Domurad)
Date: Tue, 04 Jun 2013 10:44:29 -0400
Subject: [rfc][icedtea-web] Add helper for getting NetxPanel's by unique
key
In-Reply-To: <51AD8A1A.6060108@redhat.com>
References: <51ACBEA6.6050108@redhat.com> <51AD8A1A.6060108@redhat.com>
Message-ID: <51ADFD4D.5010101@redhat.com>
Sorry for duplicate, forgot to send to list.
On 06/04/2013 02:32 AM, Jiri Vanek wrote:
> On 06/03/2013 06:04 PM, Adam Domurad wrote:
>> Hi all. This mostly makes sense in the context of a patch that Jiri
>> Vanek is working on. This adds a missing piece needed to operate on
>> all NetxPanel's with a given unique key.
>>
>> To get the NetxPanel's from
>> UnsignedAppletTrustConfirmation.checkUnsignedWithUserIfRequired just do:
>>
>> List appletPanels =
>> PluginAppletViewer.getAppletPanelsWithUniqueKey(file.getUniqueKey());
>>
>> ChangeLog:
>> 2013-06-03 Adam Domurad
>>
>> * netx/net/sourceforge/jnlp/NetxPanel.java
>> (getUniqueKey): New, returns applet unique key.
>> (getThreadGroup): Use getUniqueKey.
>> (NetxPanel): Use getUniqueKey.
>> * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java:
>> (getAppletPanelsWithUniqueKey): New, get all applet panels with a
>> given unique key.
>>
>> Pushing probably depends on how useful it is to Jiri.
>>
>> Happy hacking,
>> -Adam
>
> I think there is an issue that I can not use PluginAppletViever from
> netx where the splash code is placed.
Good point.
> Also isn't the synchronisation redundant?
Nope. Iterating over Vector is not by itself thread-safe, there can
still be a concurrent modification.
> Do you mind If I get inspired by your code encapsulate it in my patch
> instead of bubbling the NetxPanel?
Of course! IMO you should keep this list in NetxPanel and have it
updated on applet create, destroy etc. This way PluginAppletViewer will
still indirectly control it.
>
> J.
Cheers,
-Adam
From adomurad at icedtea.classpath.org Tue Jun 4 07:45:41 2013
From: adomurad at icedtea.classpath.org (adomurad at icedtea.classpath.org)
Date: Tue, 04 Jun 2013 14:45:41 +0000
Subject: /hg/icedtea-web: Remove unused IcedTeaRunnable.h & IcedTeaRunnab...
Message-ID:
changeset 07f37cd6d7bc in /hg/icedtea-web
details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=07f37cd6d7bc
author: Adam Domurad
date: Tue Jun 04 10:47:19 2013 -0400
Remove unused IcedTeaRunnable.h & IcedTeaRunnable.cc
diffstat:
ChangeLog | 6 ++
plugin/icedteanp/IcedTeaRunnable.cc | 75 --------------------------
plugin/icedteanp/IcedTeaRunnable.h | 102 ------------------------------------
3 files changed, 6 insertions(+), 177 deletions(-)
diffs (198 lines):
diff -r a486f1493133 -r 07f37cd6d7bc ChangeLog
--- a/ChangeLog Mon Jun 03 12:25:50 2013 -0400
+++ b/ChangeLog Tue Jun 04 10:47:19 2013 -0400
@@ -1,3 +1,9 @@
+2013-06-04 Adam Domurad
+
+ Remove unused files.
+ * plugin/icedteanp/IcedTeaRunnable.cc: Removed.
+ * plugin/icedteanp/IcedTeaRunnable.h: Removed.
+
2013-06-03 Adam Domurad
* plugin/icedteanp/java/sun/applet/PluginAppletViewer.java:
diff -r a486f1493133 -r 07f37cd6d7bc plugin/icedteanp/IcedTeaRunnable.cc
--- a/plugin/icedteanp/IcedTeaRunnable.cc Mon Jun 03 12:25:50 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,75 +0,0 @@
-/* IcedTeaRunnable.cc
-
- Copyright (C) 2009, 2010 Red Hat
-
-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; either version 2, or (at your option)
-any later version.
-
-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. */
-
-#include
-#include "IcedTeaRunnable.h"
-
-NS_IMPL_ISUPPORTS1 (IcedTeaRunnable, nsIRunnable)
-
-IcedTeaRunnable::IcedTeaRunnable ()
-{
-}
-
-IcedTeaRunnable::~IcedTeaRunnable ()
-{
-}
-
-NS_IMETHODIMP
-IcedTeaRunnable::Run ()
-{
- return NS_ERROR_NOT_IMPLEMENTED;
-}
-
-IcedTeaRunnableMethod::IcedTeaRunnableMethod (Method method, void* thread_data, void* result)
-: method (method),
- thread_data(thread_data),
- result(result)
-{
-}
-
-IcedTeaRunnableMethod::~IcedTeaRunnableMethod ()
-{
- }
-
-NS_IMETHODIMP
-IcedTeaRunnableMethod::Run ()
-{
- printf("Running method...\n");
- (*method) (thread_data, result);
- return NS_OK;
-}
diff -r a486f1493133 -r 07f37cd6d7bc plugin/icedteanp/IcedTeaRunnable.h
--- a/plugin/icedteanp/IcedTeaRunnable.h Mon Jun 03 12:25:50 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,102 +0,0 @@
-/* IcedTeaRunnable.h
-
- Copyright (C) 2009, 2010 Red Hat
-
-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; either version 2, or (at your option)
-any later version.
-
-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. */
-
-#ifndef __ICEDTEARUNNABLE_H__
-#define __ICEDTEARUNNABLE_H__
-
-#define MOZILLA 1
-#if MOZILLA
-
-#include
-#include
-
-/*
- * This struct holds the result from the main-thread dispatched method
- */
-typedef struct result_data
-{
- // Return identifier (if applicable)
- int return_identifier;
-
- // Return string (if applicable)
- std::string* return_string;
-
- // Return wide/mb string (if applicable)
- std::wstring* return_wstring;
-
- // Error message (if an error occurred)
- std::string* error_msg;
-
- // Boolean indicating if an error occurred
- bool error_occured;
-
- // If this result is ready
- bool result_ready;
-
-} ResultData;
-
-class IcedTeaRunnable : public nsIRunnable
-{
-public:
- NS_DECL_ISUPPORTS
- NS_DECL_NSIRUNNABLE
-
- IcedTeaRunnable ();
-
- ~IcedTeaRunnable ();
-};
-
-class IcedTeaRunnableMethod : public IcedTeaRunnable
-{
-public:
-
- typedef void* (*Method) (void*, void*);
-
- IcedTeaRunnableMethod (Method, void* thread_data, void* result);
- NS_IMETHOD Run ();
-
- ~IcedTeaRunnableMethod ();
-
- Method method;
- void* thread_data;
- void* result;
-};
-
-#endif /* MOZILLA */
-
-#endif /* __ICEDTEARUNNABLE_H__ */
From jvanek at icedtea.classpath.org Tue Jun 4 08:33:07 2013
From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org)
Date: Tue, 04 Jun 2013 15:33:07 +0000
Subject: /hg/icedtea-web: more detailed hint for CCannotClearCache
Message-ID:
changeset f22262521491 in /hg/icedtea-web
details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=f22262521491
author: Jiri Vanek
date: Tue Jun 04 17:35:53 2013 +0200
more detailed hint for CCannotClearCache
diffstat:
ChangeLog | 5 +++++
netx/net/sourceforge/jnlp/resources/Messages.properties | 2 +-
2 files changed, 6 insertions(+), 1 deletions(-)
diffs (24 lines):
diff -r 07f37cd6d7bc -r f22262521491 ChangeLog
--- a/ChangeLog Tue Jun 04 10:47:19 2013 -0400
+++ b/ChangeLog Tue Jun 04 17:35:53 2013 +0200
@@ -1,3 +1,8 @@
+2013-06-04 Jiri Vanek
+
+ * netx/net/sourceforge/jnlp/resources/Messages.properties:
+ more detailed hint for CCannotClearCache
+
2013-06-04 Adam Domurad
Remove unused files.
diff -r 07f37cd6d7bc -r f22262521491 netx/net/sourceforge/jnlp/resources/Messages.properties
--- a/netx/net/sourceforge/jnlp/resources/Messages.properties Tue Jun 04 10:47:19 2013 -0400
+++ b/netx/net/sourceforge/jnlp/resources/Messages.properties Tue Jun 04 17:35:53 2013 +0200
@@ -202,7 +202,7 @@
CChooseCache=Choose a cache directory...
CChooseCacheInfo=NetX needs a location for storing cache files.
CChooseCacheDir=Cache directory
-CCannotClearCache=Can not clear cache at this time
+CCannotClearCache=Can not clear the cache at this time. Try later. If the problem persists, try closing your browser(s) & JNLP applications. At the end you can try to kill all java applications.
CFakeCache=Cache is corrupt. Fixing.
CFakedCache=Cache was corrupt and has been fixed. It is strongly recommended that you run 'javaws -Xclearcache' and rerun your application as soon as possible.
From jvanek at icedtea.classpath.org Tue Jun 4 08:33:36 2013
From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org)
Date: Tue, 04 Jun 2013 15:33:36 +0000
Subject: /hg/release/icedtea-web-1.4: more detailed hint for CCannotClear...
Message-ID:
changeset 6990997b492c in /hg/release/icedtea-web-1.4
details: http://icedtea.classpath.org/hg/release/icedtea-web-1.4?cmd=changeset;node=6990997b492c
author: Jiri Vanek
date: Tue Jun 04 17:36:17 2013 +0200
more detailed hint for CCannotClearCache
diffstat:
ChangeLog | 5 +++++
netx/net/sourceforge/jnlp/resources/Messages.properties | 2 +-
2 files changed, 6 insertions(+), 1 deletions(-)
diffs (24 lines):
diff -r e281ea56466e -r 6990997b492c ChangeLog
--- a/ChangeLog Wed May 29 10:56:57 2013 -0400
+++ b/ChangeLog Tue Jun 04 17:36:17 2013 +0200
@@ -1,3 +1,8 @@
+2013-06-04 Jiri Vanek
+
+ * netx/net/sourceforge/jnlp/resources/Messages.properties:
+ more detailed hint for CCannotClearCache
+
2013-05-29 Adam Domurad
* netx/net/sourceforge/jnlp/resources/Messages.properties:
diff -r e281ea56466e -r 6990997b492c netx/net/sourceforge/jnlp/resources/Messages.properties
--- a/netx/net/sourceforge/jnlp/resources/Messages.properties Wed May 29 10:56:57 2013 -0400
+++ b/netx/net/sourceforge/jnlp/resources/Messages.properties Tue Jun 04 17:36:17 2013 +0200
@@ -202,7 +202,7 @@
CChooseCache=Choose a cache directory...
CChooseCacheInfo=NetX needs a location for storing cache files.
CChooseCacheDir=Cache directory
-CCannotClearCache=Can not clear cache at this time
+CCannotClearCache=Can not clear the cache at this time. Try later. If the problem persists, try closing your browser(s) & JNLP applications. At the end you can try to kill all java applications.
CFakeCache=Cache is corrupt. Fixing.
CFakedCache=Cache was corrupt and has been fixed. It is strongly recommended that you run 'javaws -Xclearcache' and rerun your application as soon as possible.
From adomurad at redhat.com Tue Jun 4 08:58:28 2013
From: adomurad at redhat.com (Adam Domurad)
Date: Tue, 04 Jun 2013 11:58:28 -0400
Subject: [rfc][icedtea-web] More testing for IcedTeaScriptablePluginObject.cc
+ memory leak fixes
Message-ID: <51AE0EA4.5040405@redhat.com>
Hi all, I am looking into making the 'getvalue' NPAPI hook non-blocking.
This involves the Java-in-Javascript wrappers, so I'm trying to put more
of it under test.
Included is a leak fix and extra C++ test infrastructure + tests. It is
working very well at detecting leaks due to 'new' without a
corresponding 'delete'.
Before the fix two tests should report 1 leak with 'new'. After fix all
tests should pass.
Test ChangeLog:
2013-XX-XX Adam Domurad
* plugin/icedteanp/IcedTeaPluginUtils.cc: Add global state clearing
utility functions.
* plugin/icedteanp/IcedTeaPluginUtils.h: Same.
* tests/cpp-unit-tests/IcedTeaScriptablePluginObjectTest.cc: Test
scriptable object creation and destruction.
* tests/cpp-unit-tests/browser_mock.cc
(mock_createobject): New, mocks NPAPI 'createobject'.
* tests/cpp-unit-tests/MemoryLeakDetector.h: New, memory leak detection
utility class.
* tests/cpp-unit-tests/main.cc
(ReportTestFinish): Print which tests resulted in memory leaks.
Fix ChangeLog:
2013-XX-XX Adam Domurad
* plugin/icedteanp/IcedTeaScriptablePluginObject.cc
(IcedTeaScriptablePluginObject::get_scriptable_java_package_object): Fix
memory leak due to allocated NPClass.
(IcedTeaScriptableJavaPackageObject::get_scriptable_java_object):
Same.
Cheers,
-Adam
-------------- next part --------------
A non-text attachment was scrubbed...
Name: test-JS-wrapper-objects.patch
Type: text/x-patch
Size: 11537 bytes
Desc: not available
Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130604/492bc822/test-JS-wrapper-objects.patch
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fix-JS-wrapper-leaks.patch
Type: text/x-patch
Size: 7110 bytes
Desc: not available
Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130604/492bc822/fix-JS-wrapper-leaks.patch
From gnu.andrew at redhat.com Tue Jun 4 09:25:47 2013
From: gnu.andrew at redhat.com (Andrew Hughes)
Date: Tue, 4 Jun 2013 12:25:47 -0400 (EDT)
Subject: [rfc][icedtea-web] fix for RH947647, following the XDG basedir
specification
In-Reply-To:
References: <519A756D.9030308@redhat.com> <519AD027.4050105@redhat.com>
<519B5241.7010407@redhat.com>
Message-ID: <1583560531.3709366.1370363147349.JavaMail.root@redhat.com>
----- Original Message -----
> Hi
>
>
> On Tue, May 21, 2013 at 6:53 AM, Jiri Vanek wrote:
>
> >
> > Some more thoughts about this:
> > - eg I have non XDG variable set, but many applications have already
> > started to use theirs default values.
> >
>
> I am not sure what you mean by this but distributions aren't supposed to
> set any of XDG environment variables by default. It is solely a deployment
> customization for the odd cases out there. Running cache in tmpfs or
> config from nfs or whatever
>
>
> > - If we decide to move to ./config and ./cache:
> > if used XDG* variables are set, then use them. otherwise use ./config
> > and ./cache
> > if they change, user is on his own?
> >
>
> Yes. If users customize it, they will have to deal with the fallout.
>
>
> > - how about xdg not following systems (windows) ? Keep .icedtea or move to
> > ./config and ./cache ?
> >
>
> Hidden directories is not how Windows programs stores its profiles. You
> might consider following what glib helper functions do
>
> Refer to
> https://developer.gnome.org/glib/2.34/glib-Miscellaneous-Utility-Functions.html
>
> g_get_user_cache_dir() and so on
>
I didn't realise glib supported this for so long (since 2.6). It seems like an
excellent solution to just use that.
> Rahul
>
--
Andrew :)
Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)
PGP Key: 248BDC07 (https://keys.indymedia.org/)
Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07
From helpcrypto at gmail.com Tue Jun 4 11:40:34 2013
From: helpcrypto at gmail.com (helpcrypto helpcrypto)
Date: Tue, 4 Jun 2013 20:40:34 +0200
Subject: [OT?] Get current firefox profile
In-Reply-To: <51ADEDE9.1030503@redhat.com>
References:
<51ADEDE9.1030503@redhat.com>
Message-ID:
Mine is signed, but still dont have the way to do it...any clue?
On Tue, Jun 4, 2013 at 3:38 PM, Jiri Vanek wrote:
> On 06/04/2013 03:14 PM, helpcrypto helpcrypto wrote:
>
>> Hi.
>>
>>
>> Any of you know an easy way of getting firefox current profile from my
>> applet?
>>
>> I found, but Component.classes gives permission denied:
>>
>> http://stackoverflow.com/**questions/5695230/how-to-get-**
>> the-current-firefox-profile-**path-from-within-my-applet
>>
>> Thanks!
>>
>>
>>
> I have not tried, but it give sense that applet must be signed to do this.
> J.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130604/4b14e78e/attachment.html
From adomurad at redhat.com Tue Jun 4 13:06:34 2013
From: adomurad at redhat.com (Adam Domurad)
Date: Tue, 04 Jun 2013 16:06:34 -0400
Subject: [rfc][icedtea-web] fix for PR1465 - java.io.FileNotFoundException
while trying to download a JAR file
In-Reply-To: <51ADEC2B.3000202@redhat.com>
References: <51ADEC2B.3000202@redhat.com>
Message-ID: <51AE48CA.6060102@redhat.com>
On 06/04/2013 09:31 AM, Jiri Vanek wrote:
> Although not nice, not even bad.
>
> tbh this was known issue, and when sad was pushing his patch we
> decided to ignore %20 and + similarity under html encoding, and
> difference under RFC2396.
> Apearently, wrongly.
>
> J.
I have done some research and I think I found a solution that should be
pleasing. See the unit tests in the patch, too.
Basically new URI(url) will check RFC2396 validity.
See http://stackoverflow.com/questions/304806/encode-and-decode-rfc2396-urls
This avoids the whole normalization mess if the URL is already valid. As
long as we create URLs in a manner that ensures they are correct, this
will be preserved.
This should reduce the future chance of unintended icedtea-web quirks, too.
Happy hacking,
-Adam
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PR1465-fix.patch
Type: text/x-patch
Size: 3990 bytes
Desc: not available
Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130604/d1802350/PR1465-fix.patch
From adomurad at redhat.com Tue Jun 4 13:08:55 2013
From: adomurad at redhat.com (Adam Domurad)
Date: Tue, 04 Jun 2013 16:08:55 -0400
Subject: [rfc][icedtea-web] fix for PR1465 - java.io.FileNotFoundException
while trying to download a JAR file
In-Reply-To: <51AE48CA.6060102@redhat.com>
References: <51ADEC2B.3000202@redhat.com> <51AE48CA.6060102@redhat.com>
Message-ID: <51AE4957.5020302@redhat.com>
On 06/04/2013 04:06 PM, Adam Domurad wrote:
> On 06/04/2013 09:31 AM, Jiri Vanek wrote:
>> Although not nice, not even bad.
>>
>> tbh this was known issue, and when sad was pushing his patch we
>> decided to ignore %20 and + similarity under html encoding, and
>> difference under RFC2396.
>> Apearently, wrongly.
>>
>> J.
>
> I have done some research and I think I found a solution that should
> be pleasing. See the unit tests in the patch, too.
>
> Basically new URI(url) will check RFC2396 validity.
> See
> http://stackoverflow.com/questions/304806/encode-and-decode-rfc2396-urls
>
> This avoids the whole normalization mess if the URL is already valid.
> As long as we create URLs in a manner that ensures they are correct,
> this will be preserved.
> This should reduce the future chance of unintended icedtea-web quirks,
> too.
>
> Happy hacking,
> -Adam
There was a bit of noise in the diff, so just reassuring that
UrlUtils.normalizeUrl is intended to be untouched other than the line
'if (protocol == null || !shouldEncode || url.getPath() == null ||
isValidRFC2396Url(url)) {'
Happy hacking,
-Adam
From ptisnovs at icedtea.classpath.org Wed Jun 5 01:24:58 2013
From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org)
Date: Wed, 05 Jun 2013 08:24:58 +0000
Subject: /hg/gfx-test: Added five new tests into BitBltCropImage.
Message-ID:
changeset 423cbdb30284 in /hg/gfx-test
details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=423cbdb30284
author: Pavel Tisnovsky
date: Wed Jun 05 10:28:26 2013 +0200
Added five new tests into BitBltCropImage.
diffstat:
ChangeLog | 5 +
src/org/gfxtest/testsuites/BitBltCropImage.java | 98 +++++++++++++++++++++++++
2 files changed, 103 insertions(+), 0 deletions(-)
diffs (120 lines):
diff -r b80631955f1a -r 423cbdb30284 ChangeLog
--- a/ChangeLog Tue Jun 04 09:57:12 2013 +0200
+++ b/ChangeLog Wed Jun 05 10:28:26 2013 +0200
@@ -1,3 +1,8 @@
+2013-06-05 Pavel Tisnovsky
+
+ * src/org/gfxtest/testsuites/BitBltCropImage.java:
+ Added five new tests into BitBltCropImage.
+
2013-06-04 Pavel Tisnovsky
* src/org/gfxtest/testsuites/BitBltConvolveOp.java:
diff -r b80631955f1a -r 423cbdb30284 src/org/gfxtest/testsuites/BitBltCropImage.java
--- a/src/org/gfxtest/testsuites/BitBltCropImage.java Tue Jun 04 09:57:12 2013 +0200
+++ b/src/org/gfxtest/testsuites/BitBltCropImage.java Wed Jun 05 10:28:26 2013 +0200
@@ -83,6 +83,104 @@
{
/**
+ * Test basic BitBlt operation for checker buffered image with type TYPE_3BYTE_BGR.
+ * No crop is performed to that image.
+ * @param image
+ * image used as a destination for BitBlt-type operations
+ * @param graphics2d
+ * graphics canvas
+ * @return test result status - PASSED, FAILED or ERROR
+ */
+ public TestResult testBitBltCheckerBufferedImageType3ByteBGRNoCrop(TestImage image, Graphics2D graphics2d)
+ {
+ // create new buffered image and then perform BitBlt test using crop operation.
+ return CommonBitmapOperations.doBitBltTestWithCheckerImage(image, graphics2d, BufferedImage.TYPE_3BYTE_BGR);
+ }
+
+ /**
+ * Test basic BitBlt operation for checker buffered image with type
+ * TYPE_3BYTE_BGR. Image is cropped so only north-west quarter of it is rendered.
+ *
+ * @param image
+ * image used as a destination for BitBlt-type operations
+ * @param graphics2d
+ * graphics canvas
+ * @return test result status - PASSED, FAILED or ERROR
+ */
+ public TestResult testBitBltCheckerBufferedImageType3ByteBGRCropNW(TestImage image, Graphics2D graphics2d)
+ {
+ // create new buffered image and then perform BitBlt test using crop operation.
+ return CommonBitmapOperations.doBitBltTestWithCheckerImage(image, graphics2d, BufferedImage.TYPE_3BYTE_BGR,
+ BitmapCropRegions.CROP_REGION_NW);
+ }
+
+ /**
+ * Test basic BitBlt operation for checker buffered image with type
+ * TYPE_3BYTE_BGR. Image is cropped so only north-east quarter of it is rendered.
+ *
+ * @param image
+ * image used as a destination for BitBlt-type operations
+ * @param graphics2d
+ * graphics canvas
+ * @return test result status - PASSED, FAILED or ERROR
+ */
+ public TestResult testBitBltCheckerBufferedImageType3ByteBGRCropNE(TestImage image, Graphics2D graphics2d)
+ {
+ // create new buffered image and then perform BitBlt test using crop operation.
+ return CommonBitmapOperations.doBitBltTestWithCheckerImage(image, graphics2d, BufferedImage.TYPE_3BYTE_BGR,
+ BitmapCropRegions.CROP_REGION_NE);
+ }
+
+ /**
+ * Test basic BitBlt operation for checker buffered image with type
+ * TYPE_3BYTE_BGR. Image is cropped so only south-west quarter of it is rendered.
+ *
+ * @param image
+ * image used as a destination for BitBlt-type operations
+ * @param graphics2d
+ * graphics canvas
+ * @return test result status - PASSED, FAILED or ERROR
+ */
+ public TestResult testBitBltCheckerBufferedImageType3ByteBGRCropSW(TestImage image, Graphics2D graphics2d)
+ {
+ // create new buffered image and then perform BitBlt test using crop operation.
+ return CommonBitmapOperations.doBitBltTestWithCheckerImage(image, graphics2d, BufferedImage.TYPE_3BYTE_BGR,
+ BitmapCropRegions.CROP_REGION_SW);
+ }
+
+ /**
+ * Test basic BitBlt operation for checker buffered image with type
+ * TYPE_3BYTE_BGR. Image is cropped so only south-east quarter of it is rendered.
+ *
+ * @param image
+ * image used as a destination for BitBlt-type operations
+ * @param graphics2d
+ * graphics canvas
+ * @return test result status - PASSED, FAILED or ERROR
+ */
+ public TestResult testBitBltCheckerBufferedImageType3ByteBGRCropSE(TestImage image, Graphics2D graphics2d)
+ {
+ // create new buffered image and then perform BitBlt test using crop operation.
+ return CommonBitmapOperations.doBitBltTestWithCheckerImage(image, graphics2d, BufferedImage.TYPE_3BYTE_BGR,
+ BitmapCropRegions.CROP_REGION_SE);
+ }
+
+ /**
+ * Test basic BitBlt operation for checker buffered image with type TYPE_4BYTE_ABGR.
+ * No crop is performed to that image.
+ * @param image
+ * image used as a destination for BitBlt-type operations
+ * @param graphics2d
+ * graphics canvas
+ * @return test result status - PASSED, FAILED or ERROR
+ */
+ public TestResult testBitBltCheckerBufferedImageType4ByteABGRNoCrop(TestImage image, Graphics2D graphics2d)
+ {
+ // create new buffered image and then perform BitBlt test using crop operation.
+ return CommonBitmapOperations.doBitBltTestWithCheckerImage(image, graphics2d, BufferedImage.TYPE_4BYTE_ABGR);
+ }
+
+ /**
* Test basic BitBlt operation for checker buffered image with type
* TYPE_BYTE_BINARY. No crop is performed to that image.
*
From ptisnovs at icedtea.classpath.org Wed Jun 5 01:39:15 2013
From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org)
Date: Wed, 05 Jun 2013 08:39:15 +0000
Subject: /hg/rhino-tests: Updated ScriptContextClassTest to work correctl...
Message-ID:
changeset 4de9c7877164 in /hg/rhino-tests
details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=4de9c7877164
author: Pavel Tisnovsky
date: Wed Jun 05 10:42:41 2013 +0200
Updated ScriptContextClassTest to work correctly in JDK6-JDK8.
diffstat:
ChangeLog | 5 +++
src/org/RhinoTests/ScriptContextClassTest.java | 36 ++++++++++++++++++++++++-
2 files changed, 39 insertions(+), 2 deletions(-)
diffs (79 lines):
diff -r 704a31613698 -r 4de9c7877164 ChangeLog
--- a/ChangeLog Tue Jun 04 10:25:30 2013 +0200
+++ b/ChangeLog Wed Jun 05 10:42:41 2013 +0200
@@ -1,3 +1,8 @@
+2013-06-05 Pavel Tisnovsky
+
+ * src/org/RhinoTests/ScriptContextClassTest.java:
+ Updated ScriptContextClassTest to work correctly in JDK6-JDK8.
+
2013-06-04 Pavel Tisnovsky
* src/org/RhinoTests/ScriptEngineFactoryClassTest.java:
diff -r 704a31613698 -r 4de9c7877164 src/org/RhinoTests/ScriptContextClassTest.java
--- a/src/org/RhinoTests/ScriptContextClassTest.java Tue Jun 04 10:25:30 2013 +0200
+++ b/src/org/RhinoTests/ScriptContextClassTest.java Wed Jun 05 10:42:41 2013 +0200
@@ -967,6 +967,9 @@
final String[] annotationsThatShouldExists_jdk7 = {
};
+ final String[] annotationsThatShouldExists_jdk8 = {
+ };
+
// get all annotations
Annotation[] annotations = this.scriptContextClass.getAnnotations();
// and transform the array into a list of annotation names
@@ -974,7 +977,20 @@
for (Annotation annotation : annotations) {
annotationsAsString.add(annotation.toString());
}
- String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7;
+
+ String[] annotationsThatShouldExists = null;
+ switch (getJavaVersion()) {
+ case 6:
+ annotationsThatShouldExists = annotationsThatShouldExists_jdk6;
+ break;
+ case 7:
+ annotationsThatShouldExists = annotationsThatShouldExists_jdk7;
+ break;
+ case 8:
+ annotationsThatShouldExists = annotationsThatShouldExists_jdk8;
+ break;
+ }
+
// check if all required annotations really exists
for (String annotationThatShouldExists : annotationsThatShouldExists) {
assertTrue(annotationsAsString.contains(annotationThatShouldExists),
@@ -993,6 +1009,9 @@
final String[] annotationsThatShouldExists_jdk7 = {
};
+ final String[] annotationsThatShouldExists_jdk8 = {
+ };
+
// get all annotations
Annotation[] annotations = this.scriptContextClass.getDeclaredAnnotations();
// and transform the array into a list of annotation names
@@ -1000,7 +1019,20 @@
for (Annotation annotation : annotations) {
annotationsAsString.add(annotation.toString());
}
- String[] annotationsThatShouldExists = getJavaVersion() < 7 ? annotationsThatShouldExists_jdk6 : annotationsThatShouldExists_jdk7;
+
+ String[] annotationsThatShouldExists = null;
+ switch (getJavaVersion()) {
+ case 6:
+ annotationsThatShouldExists = annotationsThatShouldExists_jdk6;
+ break;
+ case 7:
+ annotationsThatShouldExists = annotationsThatShouldExists_jdk7;
+ break;
+ case 8:
+ annotationsThatShouldExists = annotationsThatShouldExists_jdk8;
+ break;
+ }
+
// check if all required annotations really exists
for (String annotationThatShouldExists : annotationsThatShouldExists) {
assertTrue(annotationsAsString.contains(annotationThatShouldExists),
From bugzilla-daemon at icedtea.classpath.org Wed Jun 5 05:16:30 2013
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Wed, 05 Jun 2013 12:16:30 +0000
Subject: [Bug 1471] New: Error: guarantee(error != (symbolOop)__null,"tag
mismatch with resolution error table")
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1471
Bug ID: 1471
Summary: Error: guarantee(error != (symbolOop)__null,"tag
mismatch with resolution error table")
Classification: Unclassified
Product: IcedTea
Version: 6-1.8.13
Hardware: x86_64
OS: Linux
Status: NEW
Severity: normal
Priority: P3
Component: IcedTea
Assignee: gnu.andrew at redhat.com
Reporter: clement.bellot at exascale-computing.eu
CC: unassigned at icedtea.classpath.org
Created attachment 884
--> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=884&action=edit
The error log.
When debugging step by step an eclipse plugin, the attached error occurred.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130605/7af7c269/attachment.html
From adomurad at redhat.com Wed Jun 5 07:34:40 2013
From: adomurad at redhat.com (Adam Domurad)
Date: Wed, 05 Jun 2013 10:34:40 -0400
Subject: [rfc][icedtea-web] Fix wrongly placed object construction helpers
in IcedTeaScriptablePluginObject
Message-ID: <51AF4C80.4050609@redhat.com>
Whoever wrote these static helpers switched up which class they are
associated with -- it took me a while of being confused to notice it,
too. This patch places the object creation helper methods in the right
class.
I added some more type safety too to prevent future confusion.
No changelog yet, I'll wait for an ack on the patch first.
Cheers,
-Adam
-------------- next part --------------
A non-text attachment was scrubbed...
Name: IcedTeaScriptablePluginObject-fix-wrongly-placed-static-methods.patch
Type: text/x-patch
Size: 9587 bytes
Desc: not available
Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130605/c5e8b2f4/IcedTeaScriptablePluginObject-fix-wrongly-placed-static-methods.patch
From bugzilla-daemon at icedtea.classpath.org Wed Jun 5 08:17:27 2013
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Wed, 05 Jun 2013 15:17:27 +0000
Subject: [Bug 1062] JVM Crashes while image load using Java Advanced Imaging
(JAI) library
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1062
Andrew John Hughes changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution|--- |WONTFIX
--- Comment #1 from Andrew John Hughes ---
This version is no longer supported. Please reopen if this bug can be
replicated on 1.11.x or 1.12.x.
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130605/c58ca31e/attachment.html
From bugzilla-daemon at icedtea.classpath.org Wed Jun 5 08:17:59 2013
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Wed, 05 Jun 2013 15:17:59 +0000
Subject: [Bug 1064] hs_err_pid2132.log
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1064
--- Comment #1 from Andrew John Hughes ---
How do you reproduce this error?
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130605/186398bc/attachment.html
From bugzilla-daemon at icedtea.classpath.org Wed Jun 5 08:44:51 2013
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Wed, 05 Jun 2013 15:44:51 +0000
Subject: [Bug 1473] New: javaws should not depend on name od local file
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1473
Bug ID: 1473
Summary: javaws should not depend on name od local file
Classification: Unclassified
Product: IcedTea-Web
Version: unspecified
Hardware: all
OS: All
Status: NEW
Severity: major
Priority: P3
Component: NetX (javaws)
Assignee: jvanek at redhat.com
Reporter: jvanek at redhat.com
CC: omajid at redhat.com, unassigned at icedtea.classpath.org
When user use firefox (or any other browser) to download an jnlp file like
"open with" then (mostly) happens this :
file save as correctName.jnlp, and javaws will take it and execute it.
When this same happens next times, then file is saved as (not)
correctName_someIdToMakeItUnique_.jnlp
Then itw will crash because it tryes to download (from codebase) the file
correctName_someIdToMakeItUnique_.jnlp - which do not exist.
The fix should be easy - to ignore name of the file completely and use
(extracted) value from href.
Maybe there can be issue as we are redownlaoding jnlp in some strange way but I
hope whit will not bean obstacle.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130605/85774b6a/attachment.html
From bugzilla-daemon at icedtea.classpath.org Wed Jun 5 08:47:30 2013
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Wed, 05 Jun 2013 15:47:30 +0000
Subject: [Bug 1473] javaws should not depend on name of local file
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1473
JiriVanek changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|javaws should not depend on |javaws should not depend on
|name od local file |name of local file
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130605/bb28d41d/attachment.html
From jvanek at redhat.com Wed Jun 5 09:02:49 2013
From: jvanek at redhat.com (Jiri Vanek)
Date: Wed, 05 Jun 2013 18:02:49 +0200
Subject: [rfc][icedtea-web] fix for RH947647, following the XDG basedir
specification
In-Reply-To: <1583560531.3709366.1370363147349.JavaMail.root@redhat.com>
References: <519A756D.9030308@redhat.com> <519AD027.4050105@redhat.com>
<519B5241.7010407@redhat.com>
<1583560531.3709366.1370363147349.JavaMail.root@redhat.com>
Message-ID: <51AF6129.2080502@redhat.com>
...
>>>
>>
>> Yes. If users customize it, they will have to deal with the fallout.
>>
>>
>>> - how about xdg not following systems (windows) ? Keep .icedtea or move to
>>> ./config and ./cache ?
>>>
>>
>> Hidden directories is not how Windows programs stores its profiles. You
>> might consider following what glib helper functions do
>>
>> Refer to
>> https://developer.gnome.org/glib/2.34/glib-Miscellaneous-Utility-Functions.html
>>
>> g_get_user_cache_dir() and so on
>>
>
> I didn't realise glib supported this for so long (since 2.6). It seems like an
> excellent solution to just use that.
>
Hm... Im' wondering how to use this function cleanly from java...
I think that we should use the value of XDG variables or default ~/{.config .cache}/icedtea-web and
_everywhere_. Even on systems like windows which do not support this.
As if we do this difference now, possible change of filesytem structure for some far future
icedtea-web x.y.z , will be quite complicated.
J.
From jvanek at redhat.com Wed Jun 5 10:52:20 2013
From: jvanek at redhat.com (Jiri Vanek)
Date: Wed, 05 Jun 2013 19:52:20 +0200
Subject: [rfc][icedtea-web] fix for PR1465 - java.io.FileNotFoundException
while trying to download a JAR file
In-Reply-To: <51AE4957.5020302@redhat.com>
References: <51ADEC2B.3000202@redhat.com> <51AE48CA.6060102@redhat.com>
<51AE4957.5020302@redhat.com>
Message-ID: <51AF7AD4.7090604@redhat.com>
On 06/04/2013 10:08 PM, Adam Domurad wrote:
> On 06/04/2013 04:06 PM, Adam Domurad wrote:
>> On 06/04/2013 09:31 AM, Jiri Vanek wrote:
>>> Although not nice, not even bad.
>>>
>>> tbh this was known issue, and when sad was pushing his patch we decided to ignore %20 and +
>>> similarity under html encoding, and difference under RFC2396.
>>> Apearently, wrongly.
>>>
>>> J.
>>
>> I have done some research and I think I found a solution that should be pleasing. See the unit
>> tests in the patch, too.
>>
>> Basically new URI(url) will check RFC2396 validity.
>> See http://stackoverflow.com/questions/304806/encode-and-decode-rfc2396-urls
>>
>> This avoids the whole normalization mess if the URL is already valid. As long as we create URLs in
>> a manner that ensures they are correct, this will be preserved.
>> This should reduce the future chance of unintended icedtea-web quirks, too.
>>
>> Happy hacking,
>> -Adam
>
> There was a bit of noise in the diff, so just reassuring that UrlUtils.normalizeUrl is intended to
> be untouched other than the line
> 'if (protocol == null || !shouldEncode || url.getPath() == null || isValidRFC2396Url(url)) {'
>
> Happy hacking,
> -Adam
Hi.
Here is final version. I think you can go and push. Both head and 1.4 (or let it for me at morning CET)
Before push - can you run "Spaces can be everywhere" reproducers set? (about 7tests...)
It worked for me but there were some random(I hope..) failures, and I'm littlebit on doubts because
of need of ResourceTrackerTest changes.
Thanx for double checking and cooperation.
J.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pr14XX.patch
Type: text/x-patch
Size: 6442 bytes
Desc: not available
Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130605/e253d3e4/pr14XX.patch
From jvanek at redhat.com Wed Jun 5 10:56:21 2013
From: jvanek at redhat.com (Jiri Vanek)
Date: Wed, 05 Jun 2013 19:56:21 +0200
Subject: [fyi][icedtea-web] enabling testing on f19 again
Message-ID: <51AF7BC5.1040502@redhat.com>
Hi!
There was some mysterious change in junit api. This small fix is fixing it,a nd should be harmelss
for older.
This will go also to 1.4 otherwise we will not be able to enable %check in spec.
Also can possible reviewer try this (junit, codecoverage, reproducers(just one is enough:) and
reproducers coverage targets) on some older then 19 fedora? I have run out of machines and have
everywhere f19 right now:-/
Thanx!
J.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: unittestsOkForf19.patch
Type: text/x-patch
Size: 827 bytes
Desc: not available
Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130605/e2ece08d/unittestsOkForf19.patch
From adomurad at icedtea.classpath.org Wed Jun 5 12:10:27 2013
From: adomurad at icedtea.classpath.org (adomurad at icedtea.classpath.org)
Date: Wed, 05 Jun 2013 19:10:27 +0000
Subject: /hg/icedtea-web: Fix PR1465 - java.io.FileNotFoundException whil...
Message-ID:
changeset 83e496086fea in /hg/icedtea-web
details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=83e496086fea
author: Adam Domurad
date: Wed Jun 05 15:12:01 2013 -0400
Fix PR1465 - java.io.FileNotFoundException while trying to download a JAR file
diffstat:
ChangeLog | 13 +++++
NEWS | 2 +
netx/net/sourceforge/jnlp/util/UrlUtils.java | 15 +++++-
tests/netx/unit/net/sourceforge/jnlp/cache/ResourceTrackerTest.java | 4 +-
tests/netx/unit/net/sourceforge/jnlp/util/UrlUtilsTest.java | 26 +++++++++-
5 files changed, 56 insertions(+), 4 deletions(-)
diffs (139 lines):
diff -r f22262521491 -r 83e496086fea ChangeLog
--- a/ChangeLog Tue Jun 04 17:35:53 2013 +0200
+++ b/ChangeLog Wed Jun 05 15:12:01 2013 -0400
@@ -1,3 +1,16 @@
+2013-06-05 Adam Domurad
+
+ Fix PR1465
+ * NEWS: Bug fix note
+ * netx/net/sourceforge/jnlp/util/UrlUtils.java
+ (isValidRFC2396Url): New, tests if valid URL by RFC2396 rules
+ (normalizeUrl): Don't normalize if valid by RFC2396
+ * tests/netx/unit/net/sourceforge/jnlp/cache/ResourceTrackerTest.java:
+ Adapt which URLs we expect to change when normalizing URLs
+ * tests/netx/unit/net/sourceforge/jnlp/util/UrlUtilsTest.java:
+ (testIsValidRFC2396Url): New, tests isValidRFC2396Url
+ (testNormalizeUrl): Add new test with valid RFC2396 URL
+
2013-06-04 Jiri Vanek
* netx/net/sourceforge/jnlp/resources/Messages.properties:
diff -r f22262521491 -r 83e496086fea NEWS
--- a/NEWS Tue Jun 04 17:35:53 2013 +0200
+++ b/NEWS Wed Jun 05 15:12:01 2013 -0400
@@ -9,6 +9,8 @@
CVE-XXXX-YYYY: http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY
New in release 1.5 (2013-XX-XX):
+* NetX
+ - PR1465 - java.io.FileNotFoundException while trying to download a JAR file
* Plugin
- PR854: Resizing an applet several times causes 100% CPU load
diff -r f22262521491 -r 83e496086fea netx/net/sourceforge/jnlp/util/UrlUtils.java
--- a/netx/net/sourceforge/jnlp/util/UrlUtils.java Tue Jun 04 17:35:53 2013 +0200
+++ b/netx/net/sourceforge/jnlp/util/UrlUtils.java Wed Jun 05 15:12:01 2013 -0400
@@ -86,16 +86,29 @@
}
}
+ /* Use the URI syntax check of 'toURI' to see if it matches RFC2396.
+ * See http://www.ietf.org/rfc/rfc2396.txt */
+ public static boolean isValidRFC2396Url(URL url) {
+ try {
+ url.toURI();
+ return true;
+ } catch (URISyntaxException e) {
+ return false;
+ }
+ }
+
/* Ensure a URL is properly percent-encoded.
* Certain usages require local-file URLs to be encoded, eg for code-base & document-base. */
public static URL normalizeUrl(URL url, boolean encodeFileUrls) throws MalformedURLException, UnsupportedEncodingException, URISyntaxException {
if (url == null) {
return null;
}
+
String protocol = url.getProtocol();
boolean shouldEncode = (encodeFileUrls || !"file".equals(protocol));
- if (protocol == null || !shouldEncode || url.getPath() == null) {
+ // PR1465: We should not call 'URLDecoder.decode' on RFC2396-compliant URLs
+ if (protocol == null || !shouldEncode || url.getPath() == null || isValidRFC2396Url(url)) {
return url;
}
diff -r f22262521491 -r 83e496086fea tests/netx/unit/net/sourceforge/jnlp/cache/ResourceTrackerTest.java
--- a/tests/netx/unit/net/sourceforge/jnlp/cache/ResourceTrackerTest.java Tue Jun 04 17:35:53 2013 +0200
+++ b/tests/netx/unit/net/sourceforge/jnlp/cache/ResourceTrackerTest.java Wed Jun 05 15:12:01 2013 -0400
@@ -80,7 +80,7 @@
Assert.assertFalse("url " + i + " must be normalized (and so not equals) too normalized url " + i, u[i].equals(n[i]));
}
}
- public static final int CHANGE_BORDER = 6;
+ public static final int CHANGE_BORDER = 8;
public static URL[] getUrls() throws MalformedURLException {
URL[] u = {
@@ -91,9 +91,9 @@
new URL("http:///SpacesCanBeEverywhere1.jnlp"),
new URL("file://localhost/home/jvanek/Desktop/icedtea-web/tests.build/jnlp_test_server/Spaces can be everywhere2.jnlp"),
new URL("http://localhost:44321/testpage.jnlp?applicationID=25"),
- /*changing*/
new URL("http://localhost:44321/Spaces%20Can%20Be%20Everyw%2Fhere1.jnlp"),
new URL("http://localhost/Spaces+Can+Be+Everywhere1.jnlp"),
+ /*changing*/
new URL("http://localhost/SpacesC anBeEverywhere1.jnlp?a=5&b=10#df"),
new URL("http:///oook.jnlp?a=5&b=ahoj ???? dd#df"),
new URL("http://localhost/Spaces?????????????????????? can !@^*(){}[].jnlp?a=5&ahoj ???? dd#df"),
diff -r f22262521491 -r 83e496086fea tests/netx/unit/net/sourceforge/jnlp/util/UrlUtilsTest.java
--- a/tests/netx/unit/net/sourceforge/jnlp/util/UrlUtilsTest.java Tue Jun 04 17:35:53 2013 +0200
+++ b/tests/netx/unit/net/sourceforge/jnlp/util/UrlUtilsTest.java Wed Jun 05 15:12:01 2013 -0400
@@ -39,8 +39,11 @@
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
import java.io.File;
+import java.net.MalformedURLException;
+import java.net.URISyntaxException;
import java.net.URL;
import org.junit.Test;
@@ -95,6 +98,27 @@
// Test file URL with file URL encoding turned on
assertEquals("file://example/%20test",
UrlUtils.normalizeUrl(new URL("file://example/ test"), true).toString());
+
+ // PR1465: Test that RFC2396-compliant URLs are not touched
+ // Example taken from bug report: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1465
+ String rfc2396Valid = "https://example.com/,DSID=64c19c5b657df383835706571a7c7216,DanaInfo=example.com,CT=java+JICAComponents/JICA-sicaN.jar";
+ assertEquals(rfc2396Valid,
+ UrlUtils.normalizeUrl(new URL(rfc2396Valid)).toString());
+ }
+
+ @Test
+ public void testIsValidRFC2396Url() throws Exception {
+ String rfc2396Valid = "https://example.com/,foo=bar+baz/JICA-sicaN.jar";
+ assertTrue(UrlUtils.isValidRFC2396Url(new URL(rfc2396Valid)));
+
+ // These should invalidate the URL
+ // See http://www.ietf.org/rfc/rfc2396.txt (2.4.3. Excluded US-ASCII Characters)
+ char[] invalidCharacters = {'<', '>', '%', '"', };
+ for (char chr : invalidCharacters) {
+ assertFalse("validation failed with '" + chr + "'",UrlUtils.isValidRFC2396Url(new URL(rfc2396Valid + chr)));
+ }
+ //special test for space inisde. Space at the end can be trimmed
+ assertFalse("validation failed with '" + ' ' + "'",UrlUtils.isValidRFC2396Url(new URL("https://example.com/,foo=bar+ba z/JICA-sicaN.jar")));
}
@Test
@@ -116,4 +140,4 @@
assertEquals(testFile, UrlUtils.decodeUrlAsFile(encodedUrl));
}
}
-}
\ No newline at end of file
+}
From bugzilla-daemon at icedtea.classpath.org Wed Jun 5 12:10:37 2013
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Wed, 05 Jun 2013 19:10:37 +0000
Subject: [Bug 1465] java.io.FileNotFoundException while trying to download a
JAR file
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1465
--- Comment #10 from hg commits ---
details:
http://icedtea.classpath.org//hg/icedtea-web?cmd=changeset;node=83e496086fea
author: Adam Domurad
date: Wed Jun 05 15:12:01 2013 -0400
Fix PR1465 - java.io.FileNotFoundException while trying to download a JAR
file
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130605/4f43e252/attachment.html
From adomurad at redhat.com Wed Jun 5 12:49:51 2013
From: adomurad at redhat.com (Adam Domurad)
Date: Wed, 05 Jun 2013 15:49:51 -0400
Subject: [rfc][icedtea-web] Fix wrongly placed object construction helpers
in IcedTeaScriptablePluginObject
In-Reply-To: <51AF9629.5070506@redhat.com>
References: <51AF4C80.4050609@redhat.com> <51AF9629.5070506@redhat.com>
Message-ID: <51AF965F.8050602@redhat.com>
On 06/05/2013 03:48 PM, Adam Domurad wrote:
> On 06/05/2013 10:34 AM, Adam Domurad wrote:
>> Whoever wrote these static helpers switched up which class they are
>> associated with -- it took me a while of being confused to notice it,
>> too. This patch places the object creation helper methods in the
>> right class.
>> I added some more type safety too to prevent future confusion.
>>
>> No changelog yet, I'll wait for an ack on the patch first.
>>
>> Cheers,
>> -Adam
>
> Here is additional refactoring on top of this patch and the
> '[rfc][icedtea-web] More testing for IcedTeaScriptablePluginObject.cc
> + memory leak fixes' fix patch. This stuff is necessary cleanup in my
> opinion; this code has been neglected.
>
> Again changelog waiting for ack, I recommend using a tool like eg meld
> to look at the differences here. They are all safe and minor IMO.
> The reason for touching this code is to try to make the 'getvalue'
> npapi call non-blocking, so it will never hang firefox.
To clarify, the reason for the refactoring is to make way for a nicer
patch for this. This patch does not accomplish it yet.
>
> Cheers,
> -Adam
From adomurad at redhat.com Wed Jun 5 12:55:09 2013
From: adomurad at redhat.com (Adam Domurad)
Date: Wed, 05 Jun 2013 15:55:09 -0400
Subject: [rfc][icedtea-web] Fix wrongly placed object construction helpers
in IcedTeaScriptablePluginObject
In-Reply-To: <51AF965F.8050602@redhat.com>
References: <51AF4C80.4050609@redhat.com> <51AF9629.5070506@redhat.com>
<51AF965F.8050602@redhat.com>
Message-ID: <51AF979D.9070502@redhat.com>
On 06/05/2013 03:49 PM, Adam Domurad wrote:
> On 06/05/2013 03:48 PM, Adam Domurad wrote:
>> On 06/05/2013 10:34 AM, Adam Domurad wrote:
>>> Whoever wrote these static helpers switched up which class they are
>>> associated with -- it took me a while of being confused to notice
>>> it, too. This patch places the object creation helper methods in the
>>> right class.
>>> I added some more type safety too to prevent future confusion.
>>>
>>> No changelog yet, I'll wait for an ack on the patch first.
>>>
>>> Cheers,
>>> -Adam
>>
>> Here is additional refactoring on top of this patch and the
>> '[rfc][icedtea-web] More testing for IcedTeaScriptablePluginObject.cc
>> + memory leak fixes' fix patch. This stuff is necessary cleanup in my
>> opinion; this code has been neglected.
>>
>> Again changelog waiting for ack, I recommend using a tool like eg
>> meld to look at the differences here. They are all safe and minor IMO.
>> The reason for touching this code is to try to make the 'getvalue'
>> npapi call non-blocking, so it will never hang firefox.
>
> To clarify, the reason for the refactoring is to make way for a nicer
> patch for this. This patch does not accomplish it yet.
>
Ugh, forgot the patch as well in my hurry, here it is.
>>
>> Cheers,
>> -Adam
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: refactor-icedteascriptable.patch
Type: text/x-patch
Size: 17823 bytes
Desc: not available
Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130605/2289d5ea/refactor-icedteascriptable.patch
From andrew at icedtea.classpath.org Wed Jun 5 12:59:46 2013
From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org)
Date: Wed, 05 Jun 2013 19:59:46 +0000
Subject: /hg/icedtea7: PR1170: Ensure unlimited crypto policy is in place.
Message-ID:
changeset 080f4776a2f8 in /hg/icedtea7
details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=080f4776a2f8
author: Andrew John Hughes
date: Wed Jun 05 20:59:33 2013 +0100
PR1170: Ensure unlimited crypto policy is in place.
2013-06-05 Andrew John Hughes
PR1170: Ensure unlimited crypto policy is in place.
* Makefile.am:
(CRYPTO_CHECK_BUILD_DIR): New variable.
(EXTRA_DIST): Add TestCryptoLevel.java
(.PHONY): Add new clean targets.
(check-crypto): Run the crypto checker on a normal
stage 2 build.
(clean-check-crypto): Delete the check-crypto stamp.
(check-crypto-debug): Run the crypto checker on a
debug stage 2 build.
(clean-check-crypto-debug): Delete the
check-crypto-debug stamp.
(icedtea-stage2): Depend on check-crypto.
(clean-icedtea-stage2): Depend on clean-check-crypto.
(icedtea-debug-stage2): Depend on check-crypto-debug.
(clean-icedtea-debug-stage2): Depend on
clean-check-crypto-debug.
(check-crypto-boot): Run the crypto checker on
the stage 1 build.
(clean-check-crypto-boot): Delete the
check-crypto-boot stamp.
(icedtea-stage1): Depend on check-crypto-boot.
(clean-icedtea-stage1): Depend on
clean-check-crypto-boot.
(cryptocheck): Build the crypto checker.
(clean-cryptocheck): Revert cryptocheck.
* NEWS: Updated.
* TestCryptoLevel.java:
Checks whether the unlimited crypto policy is in
place or not.
diffstat:
ChangeLog | 33 ++++++++++++++++++++++
Makefile.am | 75 +++++++++++++++++++++++++++++++++++++++++++------
NEWS | 1 +
TestCryptoLevel.java | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++
4 files changed, 177 insertions(+), 10 deletions(-)
diffs (293 lines):
diff -r 02bbff3d71ff -r 080f4776a2f8 ChangeLog
--- a/ChangeLog Thu May 23 11:26:52 2013 +0100
+++ b/ChangeLog Wed Jun 05 20:59:33 2013 +0100
@@ -1,3 +1,36 @@
+2013-06-05 Andrew John Hughes
+
+ PR1170: Ensure unlimited crypto policy is in place.
+ * Makefile.am:
+ (CRYPTO_CHECK_BUILD_DIR): New variable.
+ (EXTRA_DIST): Add TestCryptoLevel.java
+ (.PHONY): Add new clean targets.
+ (check-crypto): Run the crypto checker on a normal
+ stage 2 build.
+ (clean-check-crypto): Delete the check-crypto stamp.
+ (check-crypto-debug): Run the crypto checker on a
+ debug stage 2 build.
+ (clean-check-crypto-debug): Delete the
+ check-crypto-debug stamp.
+ (icedtea-stage2): Depend on check-crypto.
+ (clean-icedtea-stage2): Depend on clean-check-crypto.
+ (icedtea-debug-stage2): Depend on check-crypto-debug.
+ (clean-icedtea-debug-stage2): Depend on
+ clean-check-crypto-debug.
+ (check-crypto-boot): Run the crypto checker on
+ the stage 1 build.
+ (clean-check-crypto-boot): Delete the
+ check-crypto-boot stamp.
+ (icedtea-stage1): Depend on check-crypto-boot.
+ (clean-icedtea-stage1): Depend on
+ clean-check-crypto-boot.
+ (cryptocheck): Build the crypto checker.
+ (clean-cryptocheck): Revert cryptocheck.
+ * NEWS: Updated.
+ * TestCryptoLevel.java:
+ Checks whether the unlimited crypto policy is in
+ place or not.
+
2013-05-23 Andrew John Hughes
* NEWS: Update with fixes brought in by latest
diff -r 02bbff3d71ff -r 080f4776a2f8 Makefile.am
--- a/Makefile.am Thu May 23 11:26:52 2013 +0100
+++ b/Makefile.am Wed Jun 05 20:59:33 2013 +0100
@@ -66,6 +66,7 @@
STAGE1_BOOT_DIR = $(abs_top_builddir)/bootstrap/boot
STAGE2_BOOT_DIR = $(abs_top_builddir)/bootstrap/icedtea
JAMVM_IMPORT_PATH = $(abs_top_builddir)/jamvm/install/hotspot
+CRYPTO_CHECK_BUILD_DIR = $(abs_top_builddir)/cryptocheck.build
# Source directories
@@ -251,6 +252,7 @@
# Sources list
REWRITER_SRCS = $(top_srcdir)/rewriter/com/redhat/rewriter/ClassRewriter.java
+CRYPTO_CHECK_SRCS = $(top_srcdir)/TestCryptoLevel.java
# Patch list
@@ -774,7 +776,8 @@
scripts/jni_desc \
rewriter/agpl-3.0.txt \
$(REWRITER_SRCS) \
- THANKYOU test/tapset
+ THANKYOU test/tapset \
+ $(CRYPTO_CHECK_SRCS)
# Top-Level Targets
# =================
@@ -831,7 +834,8 @@
clean-tests clean-tapset-report clean-add-systemtap \
clean-add-systemtap-debug clean-add-pulseaudio clean-add-pulseaudio-debug \
clean-add-nss clean-add-tzdata-support clean-add-tzdata-support-debug \
- clean-add-systemtap-boot clean-add-pulseaudio-boot clean-add-tzdata-support-boot
+ clean-add-systemtap-boot clean-add-pulseaudio-boot clean-add-tzdata-support-boot \
+ clean-check-crypto clean-check-crypto-debug clean-check-crypto-boot
env:
@echo 'unset JAVA_HOME'
@@ -1802,6 +1806,16 @@
fi
rm -f stamps/add-tzdata-support.stamp
+stamps/check-crypto.stamp: stamps/cryptocheck.stamp
+ if [ -e $(BUILD_OUTPUT_DIR)/j2sdk-image/bin/java ] ; then \
+ $(BUILD_OUTPUT_DIR)/j2sdk-image/bin/java -cp $(CRYPTO_CHECK_BUILD_DIR) TestCryptoLevel ; \
+ fi
+ mkdir -p stamps
+ touch $@
+
+clean-check-crypto:
+ rm -f stamps/check-crypto.stamp
+
stamps/icedtea-debug.stamp: stamps/bootstrap-directory-symlink-stage2.stamp \
stamps/download.stamp stamps/extract.stamp $(OPENJDK_TREE) \
stamps/cacao.stamp stamps/rewrite-rhino.stamp stamps/jamvm.stamp
@@ -1904,23 +1918,33 @@
fi
rm -f stamps/add-tzdata-support-debug.stamp
-stamps/icedtea-stage2.stamp: stamps/icedtea.stamp stamps/add-cacao.stamp \
- stamps/add-zero.stamp stamps/add-jamvm.stamp stamps/add-systemtap.stamp \
- stamps/add-pulseaudio.stamp stamps/add-tzdata-support.stamp
+stamps/check-crypto-debug.stamp: stamps/cryptocheck.stamp
+ if [ -e $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/bin/java ] ; then \
+ $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/bin/java -cp $(CRYPTO_CHECK_BUILD_DIR) TestCryptoLevel ; \
+ fi
mkdir -p stamps
touch $@
-clean-icedtea-stage2: clean-add-jamvm
+clean-check-crypto-debug:
+ rm -f stamps/check-crypto-debug.stamp
+
+stamps/icedtea-stage2.stamp: stamps/icedtea.stamp stamps/add-cacao.stamp \
+ stamps/add-zero.stamp stamps/add-jamvm.stamp stamps/add-systemtap.stamp \
+ stamps/add-pulseaudio.stamp stamps/add-tzdata-support.stamp stamps/check-crypto.stamp
+ mkdir -p stamps
+ touch $@
+
+clean-icedtea-stage2: clean-add-jamvm clean-check-crypto
rm -f stamps/icedtea-stage2.stamp
stamps/icedtea-debug-stage2.stamp: stamps/icedtea-debug.stamp \
stamps/add-cacao-debug.stamp stamps/add-zero-debug.stamp stamps/add-jamvm-debug.stamp \
stamps/add-systemtap-debug.stamp stamps/add-pulseaudio-debug.stamp \
- stamps/add/tzdata-support-debug.stamp
+ stamps/add/tzdata-support-debug.stamp stamps/check-crypto-debug.stamp
mkdir -p stamps
touch $@
-clean-icedtea-debug-stage2: clean-add-jamvm-debug
+clean-icedtea-debug-stage2: clean-add-jamvm-debug clean-check-crypto-debug
rm -f stamps/icedtea-debug-stage2.stamp
# OpenJDK boot Targets
@@ -2012,14 +2036,24 @@
fi
rm -f stamps/add-tzdata-support-boot.stamp
+stamps/check-crypto-boot.stamp: stamps/cryptocheck.stamp
+ if [ -e $(BOOT_BUILD_OUTPUT_DIR)/j2sdk-image/bin/java ] ; then \
+ $(BOOT_BUILD_OUTPUT_DIR)/j2sdk-image/bin/java -cp $(CRYPTO_CHECK_BUILD_DIR) TestCryptoLevel ; \
+ fi
+ mkdir -p stamps
+ touch $@
+
+clean-check-crypto-boot:
+ rm -f stamps/check-crypto-boot.stamp
+
stamps/icedtea-stage1.stamp: stamps/icedtea-boot.stamp \
stamps/add-systemtap-boot.stamp stamps/add-pulseaudio-boot.stamp \
- stamps/add-tzdata-support-boot.stamp
+ stamps/add-tzdata-support-boot.stamp stamps/check-crypto-boot.stamp
mkdir -p stamps
touch $@
clean-icedtea-stage1: clean-add-systemtap-boot clean-add-pulseaudio-boot \
- clean-add-tzdata-support-boot
+ clean-add-tzdata-support-boot clean-check-crypto-boot
rm -f stamps/icedtea-stage1.stamp
# Rebuild targets
@@ -2582,6 +2616,19 @@
cp $(SYSTEM_JDK_DIR)/jre/lib/rt.jar $(STAGE1_BOOT_DIR)/jre/lib ; \
fi
+# Crypto Level Check
+
+stamps/cryptocheck.stamp: $(INITIAL_BOOTSTRAP_LINK_STAMP)
+ mkdir -p $(CRYPTO_CHECK_BUILD_DIR)
+ $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \
+ -d $(CRYPTO_CHECK_BUILD_DIR) $(CRYPTO_CHECK_SRCS)
+ mkdir -p stamps
+ touch $@
+
+clean-cryptocheck:
+ rm -rf $(CRYPTO_CHECK_BUILD_DIR)
+ rm -f stamps/cryptocheck.stamp
+
# Target Aliases
# ===============
@@ -2615,8 +2662,16 @@
cacao: stamps/cacao.stamp
+check-crypto: stamps/check-crypto.stamp
+
+check-crypto-boot: stamps/check-crypto-boot.stamp
+
+check-crypto-debug: stamps/check-crypto-debug.stamp
+
clone-boot: stamps/clone-boot.stamp
+cryptocheck: stamps/cryptocheck.stamp
+
download: stamps/download.stamp
download-cacao: stamps/download-cacao.stamp
diff -r 02bbff3d71ff -r 080f4776a2f8 NEWS
--- a/NEWS Thu May 23 11:26:52 2013 +0100
+++ b/NEWS Wed Jun 05 20:59:33 2013 +0100
@@ -809,6 +809,7 @@
- Include defs.make in buildtree.make so ZERO_BUILD is recognised and JVM_VARIANT_ZERO set.
- Make sure libffi cflags and libs are used.
- PR1378: Add AArch64 support to Zero
+ - PR1170: Ensure unlimited crypto policy is in place.
* CACAO
- src/vm/jit/x86_64/asmpart.S (asm_abstractmethoderror): Keep stack aligned.
- src/native/jni.cpp (GetObjectClass): Remove null pointer check.
diff -r 02bbff3d71ff -r 080f4776a2f8 TestCryptoLevel.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/TestCryptoLevel.java Wed Jun 05 20:59:33 2013 +0100
@@ -0,0 +1,78 @@
+/* TestCryptoLevel -- Ensure unlimited crypto policy is in use.
+ Copyright (C) 2012 Red Hat, Inc.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero General Public License as
+published by the Free Software Foundation, either version 3 of the
+License, or (at your option) any later version.
+
+This program 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 Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program. If not, see .
+*/
+
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.lang.reflect.InvocationTargetException;
+
+import java.security.Permission;
+import java.security.PermissionCollection;
+
+public class TestCryptoLevel
+{
+ public static void main(String[] args)
+ throws NoSuchFieldException, ClassNotFoundException,
+ IllegalAccessException, InvocationTargetException
+ {
+ Class> cls = null;
+ Method def = null, exempt = null;
+
+ try
+ {
+ cls = Class.forName("javax.crypto.JceSecurity");
+ }
+ catch (ClassNotFoundException ex)
+ {
+ System.err.println("Running a non-Sun JDK.");
+ System.exit(0);
+ }
+ catch (ExceptionInInitializerError err)
+ {
+ System.err.println("Failed to initialise JceSecurity: "
+ + err.getCause().getCause().getMessage());
+ System.exit(-2);
+ }
+ try
+ {
+ def = cls.getDeclaredMethod("getDefaultPolicy");
+ exempt = cls.getDeclaredMethod("getExemptPolicy");
+ }
+ catch (NoSuchMethodException ex)
+ {
+ System.err.println("Running IcedTea with the original crypto patch.");
+ System.exit(0);
+ }
+ def.setAccessible(true);
+ exempt.setAccessible(true);
+ PermissionCollection defPerms = (PermissionCollection) def.invoke(null);
+ PermissionCollection exemptPerms = (PermissionCollection) exempt.invoke(null);
+ Class> apCls = Class.forName("javax.crypto.CryptoAllPermission");
+ Field apField = apCls.getDeclaredField("INSTANCE");
+ apField.setAccessible(true);
+ Permission allPerms = (Permission) apField.get(null);
+ if (defPerms.implies(allPerms) && (exemptPerms == null || exemptPerms.implies(allPerms)))
+ {
+ System.err.println("Running with the unlimited policy.");
+ System.exit(0);
+ }
+ else
+ {
+ System.err.println("WARNING: Running with a restricted crypto policy.");
+ System.exit(-1);
+ }
+ }
+}
From adomurad at redhat.com Wed Jun 5 12:48:57 2013
From: adomurad at redhat.com (Adam Domurad)
Date: Wed, 05 Jun 2013 15:48:57 -0400
Subject: [rfc][icedtea-web] Fix wrongly placed object construction helpers
in IcedTeaScriptablePluginObject
In-Reply-To: <51AF4C80.4050609@redhat.com>
References: <51AF4C80.4050609@redhat.com>
Message-ID: <51AF9629.5070506@redhat.com>
On 06/05/2013 10:34 AM, Adam Domurad wrote:
> Whoever wrote these static helpers switched up which class they are
> associated with -- it took me a while of being confused to notice it,
> too. This patch places the object creation helper methods in the right
> class.
> I added some more type safety too to prevent future confusion.
>
> No changelog yet, I'll wait for an ack on the patch first.
>
> Cheers,
> -Adam
Here is additional refactoring on top of this patch and the
'[rfc][icedtea-web] More testing for IcedTeaScriptablePluginObject.cc +
memory leak fixes' fix patch. This stuff is necessary cleanup in my
opinion; this code has been neglected.
Again changelog waiting for ack, I recommend using a tool like eg meld
to look at the differences here. They are all safe and minor IMO.
The reason for touching this code is to try to make the 'getvalue' npapi
call non-blocking, so it will never hang firefox.
Cheers,
-Adam
From bugzilla-daemon at icedtea.classpath.org Wed Jun 5 14:30:54 2013
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Wed, 05 Jun 2013 21:30:54 +0000
Subject: [Bug 1474] New: Can't get javaws to use SOCKS proxy
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1474
Bug ID: 1474
Summary: Can't get javaws to use SOCKS proxy
Classification: Unclassified
Product: IcedTea-Web
Version: 1.4
Hardware: x86_64
OS: Linux
Status: NEW
Severity: normal
Priority: P3
Component: NetX (javaws)
Assignee: omajid at redhat.com
Reporter: silvrax at gmail.com
CC: unassigned at icedtea.classpath.org
I've been trying to load a web start application using a SOCKS proxy. The proxy
is provided using ssh -D option, so there is only a SOCKS proxy, at
localhost:8989. I've been saving the jnlp locally and then running javaws from
the command line. I've used itweb-settings to configure the proxy.
First, I've only configured the SOCKS proxy, which results in this
~/.icedtea/deployment.properties:
deployment.proxy.socks.port=8989
deployment.proxy.socks.host=localhost
deployment.proxy.type=1
deployment.security.level=ASK_UNSIGNED
I've also tried checking the "Use this proxy for all protocols" check-box,
which results in:
deployment.proxy.socks.port=8989
deployment.proxy.same=true
deployment.proxy.socks.host=localhost
deployment.proxy.type=1
deployment.security.level=ASK_UNSIGNED
In both of these cases I see this exception when it tries to download the first
file:
Status: CONNECTING DOWNLOAD STARTED +(CONNECTING) -(CONNECT) @ /images/logo.gif
All possible urls for location=https://10.10.0.1:443/images/logo.gif
state=CONNECTING DOWNLOAD STARTED : [https://10.10.0.1:443/images/logo.gif,
https://10.10.0.1:443/images/logo.gif]
Selecting proxy for: https://10.10.0.1:443/images/logo.gif
java.lang.RuntimeException: java.lang.IllegalArgumentException: hostname can't
be null
at
sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1241)
at
sun.net.www.protocol.http.HttpURLConnection.getHeaderField(HttpURLConnection.java:2713)
at
java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:477)
at
sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:338)
at
net.sourceforge.jnlp.cache.ResourceTracker.getUrlResponseCode(ResourceTracker.java:872)
at
net.sourceforge.jnlp.cache.ResourceTracker.findBestUrl(ResourceTracker.java:911)
at
net.sourceforge.jnlp.cache.ResourceTracker.initializeResource(ResourceTracker.java:789)
at
net.sourceforge.jnlp.cache.ResourceTracker.processResource(ResourceTracker.java:624)
at
net.sourceforge.jnlp.cache.ResourceTracker.access$500(ResourceTracker.java:76)
at
net.sourceforge.jnlp.cache.ResourceTracker$Downloader$1.run(ResourceTracker.java:1172)
at
net.sourceforge.jnlp.cache.ResourceTracker$Downloader$1.run(ResourceTracker.java:1170)
at java.security.AccessController.doPrivileged(Native Method)
at
net.sourceforge.jnlp.cache.ResourceTracker$Downloader.run(ResourceTracker.java:1170)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.IllegalArgumentException: hostname can't be null
at java.net.InetSocketAddress.checkHost(InetSocketAddress.java:149)
at java.net.InetSocketAddress.(InetSocketAddress.java:216)
at
net.sourceforge.jnlp.runtime.JNLPProxySelector.getFromConfiguration(JNLPProxySelector.java:306)
at
net.sourceforge.jnlp.runtime.JNLPProxySelector.select(JNLPProxySelector.java:202)
at
sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:925)
at
sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:177)
at
sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1299)
at
java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:468)
... 11 more
So, it looks like in this it's just not grokking my proxy configuration.
I also tried filling in localhost:8989 for the http(s) protocols, which
resulted in this configuration file:
deployment.proxy.https.host=localhost
deployment.proxy.http.host=localhost
deployment.proxy.socks.port=8989
deployment.proxy.socks.host=localhost
deployment.proxy.https.port=8989
deployment.proxy.type=1
deployment.proxy.http.port=8989
deployment.security.level=ASK_UNSIGNED
In this case I got the following exception:
Status: CONNECTING DOWNLOAD STARTED +(CONNECTING) -(CONNECT) @ /images/logo.gif
All possible urls for location=https://10.10.0.1:443/images/logo.gif
state=CONNECTING DOWNLOAD STARTED : [https://10.10.0.1:443/images/logo.gif,
https://10.10.0.1:443/images/logo.gif]
Selecting proxy for: https://10.10.0.1:443/images/logo.gif
Selected proxies: [HTTP @ localhost/127.0.0.1:8989]
While processing https://10.10.0.1:443/images/logo.gif by HEAD for resource
location=https://10.10.0.1:443/images/logo.gif state=CONNECTING DOWNLOAD
STARTED got java.net.SocketException: Unexpected end of file from server:
java.net.SocketException: Unexpected end of file from server
at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:718)
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:579)
at
sun.net.www.protocol.http.HttpURLConnection.doTunneling(HttpURLConnection.java:1788)
at
sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:183)
at
sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1299)
at
java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:468)
at
sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:338)
at
net.sourceforge.jnlp.cache.ResourceTracker.getUrlResponseCode(ResourceTracker.java:872)
at
net.sourceforge.jnlp.cache.ResourceTracker.findBestUrl(ResourceTracker.java:911)
at
net.sourceforge.jnlp.cache.ResourceTracker.initializeResource(ResourceTracker.java:789)
at
net.sourceforge.jnlp.cache.ResourceTracker.processResource(ResourceTracker.java:624)
at
net.sourceforge.jnlp.cache.ResourceTracker.access$500(ResourceTracker.java:76)
at
net.sourceforge.jnlp.cache.ResourceTracker$Downloader$1.run(ResourceTracker.java:1172)
at
net.sourceforge.jnlp.cache.ResourceTracker$Downloader$1.run(ResourceTracker.java:1170)
at java.security.AccessController.doPrivileged(Native Method)
at
net.sourceforge.jnlp.cache.ResourceTracker$Downloader.run(ResourceTracker.java:1170)
at java.lang.Thread.run(Thread.java:722)
To me that seems to indicate that it is now trying to use the proxy, but my
guess is it's not using the SOCKS protocol to talk to it?
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130605/f15b4832/attachment.html
From andrew at icedtea.classpath.org Wed Jun 5 15:03:08 2013
From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org)
Date: Wed, 05 Jun 2013 22:03:08 +0000
Subject: /hg/icedtea7: 2 new changesets
Message-ID:
changeset 609b5317bd98 in /hg/icedtea7
details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=609b5317bd98
author: Andrew John Hughes
date: Wed Jun 05 22:56:36 2013 +0100
RH513605, PR1280: Updating/Installing OpenJDK should recreate the shared class-data archive
2013-06-05 Andrew John Hughes
PR1280: Updating/Installing OpenJDK should recreate the
shared class-data archive
* Makefile.am:
(.PHONY): Add clean-add-archive, clean-add-archive-debug
and clean-add-archive-boot.
2013-02-08 Andrew John Hughes
PR1301: PR1171 causes Zero builds to fail
* Makefile.am:
(add-archive): Don't run -Xshare:dump if building
Zero.
(add-archive-debug): Likewise.
(add-archive-boot): Likewise.
2013-01-25 Andrew John Hughes
* Makefile.am:
(clean-add-archive): Delete the archive.
(clean-add-archive-debug): Likewise for debug.
(clean-add-archive-boot): Likewise for bootstrap.
2012-11-28 Andrew John Hughes
* Makefile.am:
(add-archive): Only run -Xshare:dump when java
exists and we aren't building CACAO or JamVM.
(add-archive-debug): Likewise.
(add-archive-boot): Likewise.
2012-11-20 Andrew John Hughes
RH513605: Updating/Installing OpenJDK should recreate
the shared class-data archive
* Makefile.am:
(add-archive): Run -Xshare:dump on the newly built JDK.
(clean-add-archive): Delete stamp.
(add-archive-debug): Same as add-archive for icedtea-debug.
(clean-add-archive-debug): Same as clean-add-archive for icedtea-debug.
(icedtea-stage2): Depend on add-archive.
(clean-icedtea-stage2): Depend on clean-add-archive.
(icedtea-debug-stage2): Depend on add-archive-debug.
(clean-icedtea-debug-stage2): Depend on clean-add-archive-debug.
(add-archive-boot): Same as add-archive for icedtea-boot.
(clean-add-archive-boot): Same as clean-add-archive for icedtea-boot.
(icedtea-stage1): Depend on add-archive-boot.
(clean-icedtea-stage1): Depend on clean-add-archive-boot.
* NEWS: Mention.
changeset bfcb188e2568 in /hg/icedtea7
details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=bfcb188e2568
author: Andrew John Hughes
date: Wed Jun 05 23:01:32 2013 +0100
Make clean-crypto targets depend on JDK being built.
2013-06-05 Andrew John Hughes
* Makefile.am:
(check-crypto): Depend on icedtea.stamp.
(add-archive): Move into correct position in file.
(clean-add-archive): Likewise.
(check-crypto-debug): Depend on icedtea-debug.stamp.
(clean-crypto-boot): Depend on icedtea-boot.stamp.
diffstat:
ChangeLog | 60 ++++++++++++++++++++++++++++++++++++++++++++++
Makefile.am | 79 +++++++++++++++++++++++++++++++++++++++++++++++++++++-------
NEWS | 1 +
3 files changed, 130 insertions(+), 10 deletions(-)
diffs (235 lines):
diff -r 080f4776a2f8 -r bfcb188e2568 ChangeLog
--- a/ChangeLog Wed Jun 05 20:59:33 2013 +0100
+++ b/ChangeLog Wed Jun 05 23:01:32 2013 +0100
@@ -1,3 +1,63 @@
+2013-06-05 Andrew John Hughes
+
+ * Makefile.am:
+ (check-crypto): Depend on icedtea.stamp.
+ (add-archive): Move into correct position in file.
+ (clean-add-archive): Likewise.
+ (check-crypto-debug): Depend on icedtea-debug.stamp.
+ (clean-crypto-boot): Depend on icedtea-boot.stamp.
+
+2013-06-05 Andrew John Hughes
+
+ PR1280: Updating/Installing OpenJDK should recreate the
+ shared class-data archive
+ * Makefile.am:
+ (.PHONY): Add clean-add-archive, clean-add-archive-debug
+ and clean-add-archive-boot.
+
+2013-02-08 Andrew John Hughes
+
+ PR1301: PR1171 causes Zero builds to fail
+ * Makefile.am:
+ (add-archive): Don't run -Xshare:dump if building
+ Zero.
+ (add-archive-debug): Likewise.
+ (add-archive-boot): Likewise.
+
+2013-01-25 Andrew John Hughes
+
+ * Makefile.am:
+ (clean-add-archive): Delete the archive.
+ (clean-add-archive-debug): Likewise for debug.
+ (clean-add-archive-boot): Likewise for bootstrap.
+
+2012-11-28 Andrew John Hughes
+
+ * Makefile.am:
+ (add-archive): Only run -Xshare:dump when java
+ exists and we aren't building CACAO or JamVM.
+ (add-archive-debug): Likewise.
+ (add-archive-boot): Likewise.
+
+2012-11-20 Andrew John Hughes
+
+ RH513605: Updating/Installing OpenJDK should recreate
+ the shared class-data archive
+ * Makefile.am:
+ (add-archive): Run -Xshare:dump on the newly built JDK.
+ (clean-add-archive): Delete stamp.
+ (add-archive-debug): Same as add-archive for icedtea-debug.
+ (clean-add-archive-debug): Same as clean-add-archive for icedtea-debug.
+ (icedtea-stage2): Depend on add-archive.
+ (clean-icedtea-stage2): Depend on clean-add-archive.
+ (icedtea-debug-stage2): Depend on add-archive-debug.
+ (clean-icedtea-debug-stage2): Depend on clean-add-archive-debug.
+ (add-archive-boot): Same as add-archive for icedtea-boot.
+ (clean-add-archive-boot): Same as clean-add-archive for icedtea-boot.
+ (icedtea-stage1): Depend on add-archive-boot.
+ (clean-icedtea-stage1): Depend on clean-add-archive-boot.
+ * NEWS: Mention.
+
2013-06-05 Andrew John Hughes
PR1170: Ensure unlimited crypto policy is in place.
diff -r 080f4776a2f8 -r bfcb188e2568 Makefile.am
--- a/Makefile.am Wed Jun 05 20:59:33 2013 +0100
+++ b/Makefile.am Wed Jun 05 23:01:32 2013 +0100
@@ -835,7 +835,8 @@
clean-add-systemtap-debug clean-add-pulseaudio clean-add-pulseaudio-debug \
clean-add-nss clean-add-tzdata-support clean-add-tzdata-support-debug \
clean-add-systemtap-boot clean-add-pulseaudio-boot clean-add-tzdata-support-boot \
- clean-check-crypto clean-check-crypto-debug clean-check-crypto-boot
+ clean-check-crypto clean-check-crypto-debug clean-check-crypto-boot \
+ clean-add-archive clean-add-archive-debug clean-add-archive-boot
env:
@echo 'unset JAVA_HOME'
@@ -1806,7 +1807,7 @@
fi
rm -f stamps/add-tzdata-support.stamp
-stamps/check-crypto.stamp: stamps/cryptocheck.stamp
+stamps/check-crypto.stamp: stamps/cryptocheck.stamp stamps/icedtea.stamp
if [ -e $(BUILD_OUTPUT_DIR)/j2sdk-image/bin/java ] ; then \
$(BUILD_OUTPUT_DIR)/j2sdk-image/bin/java -cp $(CRYPTO_CHECK_BUILD_DIR) TestCryptoLevel ; \
fi
@@ -1816,6 +1817,22 @@
clean-check-crypto:
rm -f stamps/check-crypto.stamp
+stamps/add-archive.stamp: stamps/icedtea.stamp
+if !ENABLE_JAMVM
+if !ENABLE_CACAO
+if !ZERO_BUILD
+ if [ -e $(BUILD_OUTPUT_DIR)/j2sdk-image/bin/java ] ; then \
+ $(BUILD_OUTPUT_DIR)/j2sdk-image/bin/java -Xshare:dump ; \
+ fi
+endif
+endif
+endif
+ touch stamps/add-archive.stamp
+
+clean-add-archive:
+ rm -vf $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/$(INSTALL_ARCH_DIR)/*/*.jsa
+ rm -f stamps/add-archive.stamp
+
stamps/icedtea-debug.stamp: stamps/bootstrap-directory-symlink-stage2.stamp \
stamps/download.stamp stamps/extract.stamp $(OPENJDK_TREE) \
stamps/cacao.stamp stamps/rewrite-rhino.stamp stamps/jamvm.stamp
@@ -1918,7 +1935,7 @@
fi
rm -f stamps/add-tzdata-support-debug.stamp
-stamps/check-crypto-debug.stamp: stamps/cryptocheck.stamp
+stamps/check-crypto-debug.stamp: stamps/cryptocheck.stamp stamps/icedtea-debug.stamp
if [ -e $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/bin/java ] ; then \
$(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/bin/java -cp $(CRYPTO_CHECK_BUILD_DIR) TestCryptoLevel ; \
fi
@@ -1928,23 +1945,42 @@
clean-check-crypto-debug:
rm -f stamps/check-crypto-debug.stamp
+stamps/add-archive-debug.stamp: stamps/icedtea-debug.stamp
+if !ENABLE_JAMVM
+if !ENABLE_CACAO
+if !ZERO_BUILD
+ if [ -e $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/bin/java ] ; then \
+ $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/bin/java -Xshare:dump ; \
+ fi
+endif
+endif
+endif
+ touch stamps/add-archive-debug.stamp
+
+clean-add-archive-debug:
+ rm -vf $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/$(INSTALL_ARCH_DIR)/*/*.jsa
+ rm -f stamps/add-archive-debug.stamp
+
stamps/icedtea-stage2.stamp: stamps/icedtea.stamp stamps/add-cacao.stamp \
stamps/add-zero.stamp stamps/add-jamvm.stamp stamps/add-systemtap.stamp \
- stamps/add-pulseaudio.stamp stamps/add-tzdata-support.stamp stamps/check-crypto.stamp
+ stamps/add-pulseaudio.stamp stamps/add-tzdata-support.stamp stamps/check-crypto.stamp \
+ stamps/add-archive.stamp
mkdir -p stamps
touch $@
-clean-icedtea-stage2: clean-add-jamvm clean-check-crypto
+clean-icedtea-stage2: clean-add-jamvm clean-check-crypto clean-add-archive
rm -f stamps/icedtea-stage2.stamp
stamps/icedtea-debug-stage2.stamp: stamps/icedtea-debug.stamp \
stamps/add-cacao-debug.stamp stamps/add-zero-debug.stamp stamps/add-jamvm-debug.stamp \
stamps/add-systemtap-debug.stamp stamps/add-pulseaudio-debug.stamp \
- stamps/add/tzdata-support-debug.stamp stamps/check-crypto-debug.stamp
+ stamps/add/tzdata-support-debug.stamp stamps/check-crypto-debug.stamp \
+ stamps/add-archive-debug.stamp
mkdir -p stamps
touch $@
-clean-icedtea-debug-stage2: clean-add-jamvm-debug clean-check-crypto-debug
+clean-icedtea-debug-stage2: clean-add-jamvm-debug clean-check-crypto-debug \
+ clean-add-archive-debug
rm -f stamps/icedtea-debug-stage2.stamp
# OpenJDK boot Targets
@@ -2036,7 +2072,7 @@
fi
rm -f stamps/add-tzdata-support-boot.stamp
-stamps/check-crypto-boot.stamp: stamps/cryptocheck.stamp
+stamps/check-crypto-boot.stamp: stamps/cryptocheck.stamp stamps/icedtea-boot.stamp
if [ -e $(BOOT_BUILD_OUTPUT_DIR)/j2sdk-image/bin/java ] ; then \
$(BOOT_BUILD_OUTPUT_DIR)/j2sdk-image/bin/java -cp $(CRYPTO_CHECK_BUILD_DIR) TestCryptoLevel ; \
fi
@@ -2046,14 +2082,31 @@
clean-check-crypto-boot:
rm -f stamps/check-crypto-boot.stamp
+stamps/add-archive-boot.stamp: stamps/icedtea-boot.stamp
+if !ENABLE_JAMVM
+if !ENABLE_CACAO
+if !ZERO_BUILD
+ if [ -e $(BOOT_BUILD_OUTPUT_DIR)/j2sdk-image/bin/java ] ; then \
+ $(BOOT_BUILD_OUTPUT_DIR)/j2sdk-image/bin/java -Xshare:dump ; \
+ fi
+endif
+endif
+endif
+ touch $@
+
+clean-add-archive-boot:
+ rm -vf $(BOOT_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/$(INSTALL_ARCH_DIR)/*/*.jsa
+ rm -f stamps/add-archive-boot.stamp
+
stamps/icedtea-stage1.stamp: stamps/icedtea-boot.stamp \
stamps/add-systemtap-boot.stamp stamps/add-pulseaudio-boot.stamp \
- stamps/add-tzdata-support-boot.stamp stamps/check-crypto-boot.stamp
+ stamps/add-tzdata-support-boot.stamp stamps/check-crypto-boot.stamp \
+ stamps/add-archive-boot.stamp
mkdir -p stamps
touch $@
clean-icedtea-stage1: clean-add-systemtap-boot clean-add-pulseaudio-boot \
- clean-add-tzdata-support-boot clean-check-crypto-boot
+ clean-add-tzdata-support-boot clean-check-crypto-boot clean-add-archive-boot
rm -f stamps/icedtea-stage1.stamp
# Rebuild targets
@@ -2632,6 +2685,12 @@
# Target Aliases
# ===============
+add-archive: stamps/add-archive.stamp
+
+add-archive-boot: stamps/add-archive-ecj.stamp
+
+add-archive-debug: stamps/add-archive-debug.stamp
+
add-nss: stamps/add-nss.stamp
add-nss-debug: stamps/add-nss-debug.stamp
diff -r 080f4776a2f8 -r bfcb188e2568 NEWS
--- a/NEWS Wed Jun 05 20:59:33 2013 +0100
+++ b/NEWS Wed Jun 05 23:01:32 2013 +0100
@@ -810,6 +810,7 @@
- Make sure libffi cflags and libs are used.
- PR1378: Add AArch64 support to Zero
- PR1170: Ensure unlimited crypto policy is in place.
+ - RH513605, PR1280: Updating/Installing OpenJDK should recreate the shared class-data archive
* CACAO
- src/vm/jit/x86_64/asmpart.S (asm_abstractmethoderror): Keep stack aligned.
- src/native/jni.cpp (GetObjectClass): Remove null pointer check.
From bugzilla-daemon at icedtea.classpath.org Wed Jun 5 15:03:22 2013
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Wed, 05 Jun 2013 22:03:22 +0000
Subject: [Bug 1280] [IcedTea7] Shared class data archive should be generated
post-build on architectures with the client VM
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1280
--- Comment #2 from hg commits ---
details:
http://icedtea.classpath.org//hg/icedtea7?cmd=changeset;node=609b5317bd98
author: Andrew John Hughes
date: Wed Jun 05 22:56:36 2013 +0100
RH513605, PR1280: Updating/Installing OpenJDK should recreate the shared
class-data archive
2013-06-05 Andrew John Hughes
PR1280: Updating/Installing OpenJDK should recreate the
shared class-data archive
* Makefile.am:
(.PHONY): Add clean-add-archive, clean-add-archive-debug
and clean-add-archive-boot.
2013-02-08 Andrew John Hughes
PR1301: PR1171 causes Zero builds to fail
* Makefile.am:
(add-archive): Don't run -Xshare:dump if building
Zero.
(add-archive-debug): Likewise.
(add-archive-boot): Likewise.
2013-01-25 Andrew John Hughes
* Makefile.am:
(clean-add-archive): Delete the archive.
(clean-add-archive-debug): Likewise for debug.
(clean-add-archive-boot): Likewise for bootstrap.
2012-11-28 Andrew John Hughes
* Makefile.am:
(add-archive): Only run -Xshare:dump when java
exists and we aren't building CACAO or JamVM.
(add-archive-debug): Likewise.
(add-archive-boot): Likewise.
2012-11-20 Andrew John Hughes
RH513605: Updating/Installing OpenJDK should recreate
the shared class-data archive
* Makefile.am:
(add-archive): Run -Xshare:dump on the newly built JDK.
(clean-add-archive): Delete stamp.
(add-archive-debug): Same as add-archive for icedtea-debug.
(clean-add-archive-debug): Same as clean-add-archive for icedtea-debug.
(icedtea-stage2): Depend on add-archive.
(clean-icedtea-stage2): Depend on clean-add-archive.
(icedtea-debug-stage2): Depend on add-archive-debug.
(clean-icedtea-debug-stage2): Depend on clean-add-archive-debug.
(add-archive-boot): Same as add-archive for icedtea-boot.
(clean-add-archive-boot): Same as clean-add-archive for icedtea-boot.
(icedtea-stage1): Depend on add-archive-boot.
(clean-icedtea-stage1): Depend on clean-add-archive-boot.
* NEWS: Mention.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130605/0713bde6/attachment.html
From bugzilla-daemon at icedtea.classpath.org Wed Jun 5 15:03:29 2013
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Wed, 05 Jun 2013 22:03:29 +0000
Subject: [Bug 1301] PR1171 causes builds of Zero to fail
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1301
--- Comment #5 from hg commits ---
details:
http://icedtea.classpath.org//hg/icedtea7?cmd=changeset;node=609b5317bd98
author: Andrew John Hughes
date: Wed Jun 05 22:56:36 2013 +0100
RH513605, PR1280: Updating/Installing OpenJDK should recreate the shared
class-data archive
2013-06-05 Andrew John Hughes
PR1280: Updating/Installing OpenJDK should recreate the
shared class-data archive
* Makefile.am:
(.PHONY): Add clean-add-archive, clean-add-archive-debug
and clean-add-archive-boot.
2013-02-08 Andrew John Hughes
PR1301: PR1171 causes Zero builds to fail
* Makefile.am:
(add-archive): Don't run -Xshare:dump if building
Zero.
(add-archive-debug): Likewise.
(add-archive-boot): Likewise.
2013-01-25 Andrew John Hughes
* Makefile.am:
(clean-add-archive): Delete the archive.
(clean-add-archive-debug): Likewise for debug.
(clean-add-archive-boot): Likewise for bootstrap.
2012-11-28 Andrew John Hughes
* Makefile.am:
(add-archive): Only run -Xshare:dump when java
exists and we aren't building CACAO or JamVM.
(add-archive-debug): Likewise.
(add-archive-boot): Likewise.
2012-11-20 Andrew John Hughes
RH513605: Updating/Installing OpenJDK should recreate
the shared class-data archive
* Makefile.am:
(add-archive): Run -Xshare:dump on the newly built JDK.
(clean-add-archive): Delete stamp.
(add-archive-debug): Same as add-archive for icedtea-debug.
(clean-add-archive-debug): Same as clean-add-archive for icedtea-debug.
(icedtea-stage2): Depend on add-archive.
(clean-icedtea-stage2): Depend on clean-add-archive.
(icedtea-debug-stage2): Depend on add-archive-debug.
(clean-icedtea-debug-stage2): Depend on clean-add-archive-debug.
(add-archive-boot): Same as add-archive for icedtea-boot.
(clean-add-archive-boot): Same as clean-add-archive for icedtea-boot.
(icedtea-stage1): Depend on add-archive-boot.
(clean-icedtea-stage1): Depend on clean-add-archive-boot.
* NEWS: Mention.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130605/bb02dfab/attachment.html
From metherid at gmail.com Wed Jun 5 22:32:48 2013
From: metherid at gmail.com (Rahul Sundaram)
Date: Thu, 6 Jun 2013 01:32:48 -0400
Subject: [rfc][icedtea-web] fix for RH947647,
following the XDG basedir specification
In-Reply-To: <1583560531.3709366.1370363147349.JavaMail.root@redhat.com>
References: <519A756D.9030308@redhat.com> <519AD027.4050105@redhat.com>
<519B5241.7010407@redhat.com>
<1583560531.3709366.1370363147349.JavaMail.root@redhat.com>
Message-ID:
Hi
If it is ok to call into that, it would work in a standard way according to
the spec. It is well tested and widely used.
Rahul
On Tue, Jun 4, 2013 at 12:25 PM, Andrew Hughes wrote:
>
>
> ----- Original Message -----
> > Hi
> >
> >
> > On Tue, May 21, 2013 at 6:53 AM, Jiri Vanek wrote:
> >
> > >
> > > Some more thoughts about this:
> > > - eg I have non XDG variable set, but many applications have already
> > > started to use theirs default values.
> > >
> >
> > I am not sure what you mean by this but distributions aren't supposed to
> > set any of XDG environment variables by default. It is solely a
> deployment
> > customization for the odd cases out there. Running cache in tmpfs or
> > config from nfs or whatever
> >
> >
> > > - If we decide to move to ./config and ./cache:
> > > if used XDG* variables are set, then use them. otherwise use
> ./config
> > > and ./cache
> > > if they change, user is on his own?
> > >
> >
> > Yes. If users customize it, they will have to deal with the fallout.
> >
> >
> > > - how about xdg not following systems (windows) ? Keep .icedtea or
> move to
> > > ./config and ./cache ?
> > >
> >
> > Hidden directories is not how Windows programs stores its profiles. You
> > might consider following what glib helper functions do
> >
> > Refer to
> >
> https://developer.gnome.org/glib/2.34/glib-Miscellaneous-Utility-Functions.html
> >
> > g_get_user_cache_dir() and so on
> >
>
> I didn't realise glib supported this for so long (since 2.6). It seems
> like an
> excellent solution to just use that.
>
> > Rahul
> >
>
> --
> Andrew :)
>
> Free Java Software Engineer
> Red Hat, Inc. (http://www.redhat.com)
>
> PGP Key: 248BDC07 (https://keys.indymedia.org/)
> Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130606/b6584281/attachment.html
From thomas at m3y3r.de Wed Jun 5 23:40:31 2013
From: thomas at m3y3r.de (Thomas Meyer)
Date: Thu, 06 Jun 2013 08:40:31 +0200
Subject: Fwd: Re: [rfc][icedtea-web] fix for PR1465 -
java.io.FileNotFoundException while trying to download a JAR file
In-Reply-To: <51AE4A5F.6020902@redhat.com>
References: <51AE48CA.6060102@redhat.com> <51AE4A5F.6020902@redhat.com>
Message-ID: <1370500831.24531.1.camel@localhost.localdomain>
Am Dienstag, den 04.06.2013, 16:13 -0400 schrieb Adam Domurad:
> Hi, this is re: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1465
> I would greatly appreciate if you could try this patch (apply to HEAD)
> with the applet from the bug report.
>
> Thanks,
> -Adam
>
>
> -------- Original Message --------
> Subject: Re: [rfc][icedtea-web] fix for PR1465 -
> java.io.FileNotFoundException while trying to download a JAR file
> Date: Tue, 04 Jun 2013 16:06:34 -0400
> From: Adam Domurad
> To: distro-pkg-dev at openjdk.java.net, Jiri Vanek
>
>
>
> On 06/04/2013 09:31 AM, Jiri Vanek wrote:
> > Although not nice, not even bad.
> >
> > tbh this was known issue, and when sad was pushing his patch we
> > decided to ignore %20 and + similarity under html encoding, and
> > difference under RFC2396.
> > Apearently, wrongly.
> >
> > J.
>
> I have done some research and I think I found a solution that should be
> pleasing. See the unit tests in the patch, too.
>
> Basically new URI(url) will check RFC2396 validity.
> See http://stackoverflow.com/questions/304806/encode-and-decode-rfc2396-urls
>
> This avoids the whole normalization mess if the URL is already valid. As
> long as we create URLs in a manner that ensures they are correct, this
> will be preserved.
> This should reduce the future chance of unintended icedtea-web quirks, too.
Hi,
thanks for the patch. It works for me.
Besides that I'm seeing these stacktraces on startup of icedtea-web:
java version "1.7.0_19"
OpenJDK Runtime Environment (fedora-2.3.9.9.fc19-x86_64)
OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)
Exception in thread "AWT-EventQueue-1"
java.lang.IllegalArgumentException: Width (0) and height (0) cannot be
<= 0
at
java.awt.image.DirectColorModel.createCompatibleWritableRaster(DirectColorModel.java:1016)
at
sun.awt.X11GraphicsConfig.createAcceleratedImage(X11GraphicsConfig.java:384)
at sun.awt.X11.XComponentPeer.createImage(XComponentPeer.java:769)
at java.awt.Component.createImage(Component.java:3555)
at sun.applet.PluginAppletViewer.paint(PluginAppletViewer.java:1550)
at sun.applet.PluginAppletViewer.update(PluginAppletViewer.java:1566)
at sun.awt.RepaintArea.updateComponent(RepaintArea.java:255)
at sun.awt.X11.XRepaintArea.updateComponent(XRepaintArea.java:60)
at sun.awt.RepaintArea.paint(RepaintArea.java:232)
at sun.awt.X11.XComponentPeer.handleEvent(XComponentPeer.java:591)
at java.awt.Component.dispatchEventImpl(Component.java:4937)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Window.dispatchEventImpl(Window.java:2719)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:729)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:688)
at java.awt.EventQueue$3.run(EventQueue.java:686)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain
$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain
$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:702)
at java.awt.EventQueue$4.run(EventQueue.java:700)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain
$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:699)
at
java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at
java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
Exception in thread "Thread-6" java.lang.NullPointerException
at sun.applet.PluginAppletViewer$8.run(PluginAppletViewer.java:1485)
at java.lang.Thread.run(Thread.java:722)
with kind regards
thomas
>
> Happy hacking,
> -Adam
>
>
>
From ptisnovs at icedtea.classpath.org Thu Jun 6 00:36:37 2013
From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org)
Date: Thu, 06 Jun 2013 07:36:37 +0000
Subject: /hg/gfx-test: New method used by several gfx. tests added into C...
Message-ID:
changeset ad011872d058 in /hg/gfx-test
details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=ad011872d058
author: Pavel Tisnovsky
date: Wed Jun 05 15:38:12 2013 +0200
New method used by several gfx. tests added into CommonBitmapOperations,
six new tests added into BitBltBasicTests test suite.
diffstat:
ChangeLog | 7 +
src/org/gfxtest/framework/CommonBitmapOperations.java | 28 +++++-
src/org/gfxtest/testsuites/BitBltBasicTests.java | 90 +++++++++++++++++++
3 files changed, 124 insertions(+), 1 deletions(-)
diffs (159 lines):
diff -r 423cbdb30284 -r ad011872d058 ChangeLog
--- a/ChangeLog Wed Jun 05 10:28:26 2013 +0200
+++ b/ChangeLog Wed Jun 05 15:38:12 2013 +0200
@@ -1,3 +1,10 @@
+2013-06-06 Pavel Tisnovsky
+
+ * src/org/gfxtest/framework/CommonBitmapOperations.java:
+ New method used by several gfx. tests.
+ * src/org/gfxtest/testsuites/BitBltBasicTests.java:
+ Six new tests added into BitBltBasicTests test suite.
+
2013-06-05 Pavel Tisnovsky
* src/org/gfxtest/testsuites/BitBltCropImage.java:
diff -r 423cbdb30284 -r ad011872d058 src/org/gfxtest/framework/CommonBitmapOperations.java
--- a/src/org/gfxtest/framework/CommonBitmapOperations.java Wed Jun 05 10:28:26 2013 +0200
+++ b/src/org/gfxtest/framework/CommonBitmapOperations.java Wed Jun 05 15:38:12 2013 +0200
@@ -370,7 +370,7 @@
// BitBlt with 1:1 scaling, no flipping and no cropping
return BitBltOperations.performBitBlt(bufferedImage, image, graphics2d, bgcolor) ? TestResult.PASSED : TestResult.FAILED;
}
-
+
/**
* Create new buffered image containing checker pattern and then perform basic BitBlt test.
*
@@ -509,6 +509,32 @@
}
/**
+ * Create new buffered image and then perform basic BitBlt test.
+ *
+ * @param image
+ * image to which another image is to be drawn
+ * @param graphics2d
+ * graphics canvas
+ * @param imageType
+ * type of the created image
+ * @param bgcolor
+ * background color
+ */
+ public static TestResult doBitBltTestWithDiagonalCheckerImage(TestImage image, Graphics2D graphics2d, int imageType, Color bgcolor)
+ {
+ // create new buffered bitmap with given type
+ // bitmap should be empty - solid color pixels
+ BufferedImage bufferedImage = ImageFactory.createDiagonalCheckerImage(GRID_SIZE, DEFAULT_TEST_IMAGE_WIDTH, DEFAULT_TEST_IMAGE_HEIGHT, imageType);
+ // basic check if buffered image was created
+ if (bufferedImage == null)
+ {
+ return TestResult.FAILED;
+ }
+ // BitBlt with 1:1 scaling, no flipping and no cropping
+ return BitBltOperations.performBitBlt(bufferedImage, image, graphics2d, bgcolor) ? TestResult.PASSED : TestResult.FAILED;
+ }
+
+ /**
* Create new buffered image containing diagonal checker pattern and then perform basic BitBlt test.
*
* @param image
diff -r 423cbdb30284 -r ad011872d058 src/org/gfxtest/testsuites/BitBltBasicTests.java
--- a/src/org/gfxtest/testsuites/BitBltBasicTests.java Wed Jun 05 10:28:26 2013 +0200
+++ b/src/org/gfxtest/testsuites/BitBltBasicTests.java Wed Jun 05 15:38:12 2013 +0200
@@ -4308,6 +4308,96 @@
}
/**
+ * Test basic BitBlt operation for horizontal cyan gradient buffered image with type TYPE_INT_RGB.
+ *
+ * @param image
+ * image used as a destination for BitBlt-type operations
+ * @param graphics2d
+ * graphics canvas
+ * @return test result status - PASSED, FAILED or ERROR
+ */
+ public TestResult testBitBltHorizontalCyanGradientBufferedImageTypeIntRGB(TestImage image, Graphics2D graphics2d)
+ {
+ // create new buffered image and then perform basic BitBlt test.
+ return CommonBitmapOperations.doBitBltTestWithHorizontalCyanGradientImage(image, graphics2d, BufferedImage.TYPE_INT_RGB);
+ }
+
+ /**
+ * Test basic BitBlt operation for horizontal cyan gradient buffered image with type TYPE_INT_ARGB.
+ *
+ * @param image
+ * image used as a destination for BitBlt-type operations
+ * @param graphics2d
+ * graphics canvas
+ * @return test result status - PASSED, FAILED or ERROR
+ */
+ public TestResult testBitBltHorizontalCyanGradientBufferedImageTypeIntARGB(TestImage image, Graphics2D graphics2d)
+ {
+ // create new buffered image and then perform basic BitBlt test.
+ return CommonBitmapOperations.doBitBltTestWithHorizontalCyanGradientImage(image, graphics2d, BufferedImage.TYPE_INT_ARGB);
+ }
+
+ /**
+ * Test basic BitBlt operation for horizontal cyan gradient buffered image with type TYPE_INT_ARGB_PRE.
+ *
+ * @param image
+ * image used as a destination for BitBlt-type operations
+ * @param graphics2d
+ * graphics canvas
+ * @return test result status - PASSED, FAILED or ERROR
+ */
+ public TestResult testBitBltHorizontalCyanGradientBufferedImageTypeIntARGB_Pre(TestImage image, Graphics2D graphics2d)
+ {
+ // create new buffered image and then perform basic BitBlt test.
+ return CommonBitmapOperations.doBitBltTestWithHorizontalCyanGradientImage(image, graphics2d, BufferedImage.TYPE_INT_ARGB_PRE);
+ }
+
+ /**
+ * Test basic BitBlt operation for horizontal cyan gradient buffered image with type TYPE_USHORT_555_RGB.
+ *
+ * @param image
+ * image used as a destination for BitBlt-type operations
+ * @param graphics2d
+ * graphics canvas
+ * @return test result status - PASSED, FAILED or ERROR
+ */
+ public TestResult testBitBltHorizontalCyanGradientBufferedImageTypeUshort555RGB(TestImage image, Graphics2D graphics2d)
+ {
+ // create new buffered image and then perform basic BitBlt test.
+ return CommonBitmapOperations.doBitBltTestWithHorizontalCyanGradientImage(image, graphics2d, BufferedImage.TYPE_USHORT_555_RGB);
+ }
+
+ /**
+ * Test basic BitBlt operation for horizontal cyan gradient buffered image with type TYPE_USHORT_565_RGB.
+ *
+ * @param image
+ * image used as a destination for BitBlt-type operations
+ * @param graphics2d
+ * graphics canvas
+ * @return test result status - PASSED, FAILED or ERROR
+ */
+ public TestResult testBitBltHorizontalCyanGradientBufferedImageTypeUshort565RGB(TestImage image, Graphics2D graphics2d)
+ {
+ // create new buffered image and then perform basic BitBlt test.
+ return CommonBitmapOperations.doBitBltTestWithHorizontalCyanGradientImage(image, graphics2d, BufferedImage.TYPE_USHORT_565_RGB);
+ }
+
+ /**
+ * Test basic BitBlt operation for horizontal cyan gradient buffered image with type TYPE_USHORT_GRAY.
+ *
+ * @param image
+ * image used as a destination for BitBlt-type operations
+ * @param graphics2d
+ * graphics canvas
+ * @return test result status - PASSED, FAILED or ERROR
+ */
+ public TestResult testBitBltHorizontalCyanGradientBufferedImageTypeUshortGray(TestImage image, Graphics2D graphics2d)
+ {
+ // create new buffered image and then perform basic BitBlt test.
+ return CommonBitmapOperations.doBitBltTestWithHorizontalCyanGradientImage(image, graphics2d, BufferedImage.TYPE_USHORT_GRAY);
+ }
+
+ /**
* Entry point to the test suite.
*
* @param args not used in this case
From ptisnovs at icedtea.classpath.org Thu Jun 6 00:37:21 2013
From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org)
Date: Thu, 06 Jun 2013 07:37:21 +0000
Subject: /hg/rhino-tests: Updated some tests in ScriptEngineClassTest for...
Message-ID:
changeset 55a3c2780d77 in /hg/rhino-tests
details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=55a3c2780d77
author: Pavel Tisnovsky
date: Thu Jun 06 09:40:50 2013 +0200
Updated some tests in ScriptEngineClassTest for (Open)JDK8 API:
getFields and getDeclaredFields.
diffstat:
ChangeLog | 6 +
src/org/RhinoTests/ScriptEngineClassTest.java | 90 +++++++++++++++++++++++++-
2 files changed, 92 insertions(+), 4 deletions(-)
diffs (141 lines):
diff -r 4de9c7877164 -r 55a3c2780d77 ChangeLog
--- a/ChangeLog Wed Jun 05 10:42:41 2013 +0200
+++ b/ChangeLog Thu Jun 06 09:40:50 2013 +0200
@@ -1,3 +1,9 @@
+2013-06-06 Pavel Tisnovsky
+
+ * src/org/RhinoTests/ScriptEngineClassTest.java:
+ Updated some tests in ScriptEngineClassTest for (Open)JDK8 API:
+ getFields and getDeclaredFields.
+
2013-06-05 Pavel Tisnovsky
* src/org/RhinoTests/ScriptContextClassTest.java:
diff -r 4de9c7877164 -r 55a3c2780d77 src/org/RhinoTests/ScriptEngineClassTest.java
--- a/src/org/RhinoTests/ScriptEngineClassTest.java Wed Jun 05 10:42:41 2013 +0200
+++ b/src/org/RhinoTests/ScriptEngineClassTest.java Thu Jun 06 09:40:50 2013 +0200
@@ -454,9 +454,29 @@
"public static final java.lang.String javax.script.ScriptEngine.LANGUAGE",
"public static final java.lang.String javax.script.ScriptEngine.LANGUAGE_VERSION",
};
+ final String[] fieldsThatShouldExist_jdk8 = {
+ "public static final java.lang.String javax.script.ScriptEngine.ARGV",
+ "public static final java.lang.String javax.script.ScriptEngine.FILENAME",
+ "public static final java.lang.String javax.script.ScriptEngine.ENGINE",
+ "public static final java.lang.String javax.script.ScriptEngine.ENGINE_VERSION",
+ "public static final java.lang.String javax.script.ScriptEngine.NAME",
+ "public static final java.lang.String javax.script.ScriptEngine.LANGUAGE",
+ "public static final java.lang.String javax.script.ScriptEngine.LANGUAGE_VERSION",
+ };
// get the right array of field signatures
- final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7;
+ String[] fieldsThatShouldExist = null;
+ switch (getJavaVersion()) {
+ case 6:
+ fieldsThatShouldExist = fieldsThatShouldExist_jdk6;
+ break;
+ case 7:
+ fieldsThatShouldExist = fieldsThatShouldExist_jdk7;
+ break;
+ case 8:
+ fieldsThatShouldExist = fieldsThatShouldExist_jdk8;
+ break;
+ }
// get all fields
Field[] fields = this.scriptEngineClass.getFields();
@@ -495,10 +515,30 @@
"public static final java.lang.String javax.script.ScriptEngine.LANGUAGE",
"public static final java.lang.String javax.script.ScriptEngine.LANGUAGE_VERSION",
};
+ final String[] declaredFieldsThatShouldExist_jdk8 = {
+ "public static final java.lang.String javax.script.ScriptEngine.ARGV",
+ "public static final java.lang.String javax.script.ScriptEngine.FILENAME",
+ "public static final java.lang.String javax.script.ScriptEngine.ENGINE",
+ "public static final java.lang.String javax.script.ScriptEngine.ENGINE_VERSION",
+ "public static final java.lang.String javax.script.ScriptEngine.NAME",
+ "public static final java.lang.String javax.script.ScriptEngine.LANGUAGE",
+ "public static final java.lang.String javax.script.ScriptEngine.LANGUAGE_VERSION",
+ };
// get the right array of field signatures
// following fields should be declared
- final String[] declaredFieldsThatShouldExist = getJavaVersion() < 7 ? declaredFieldsThatShouldExist_jdk6 : declaredFieldsThatShouldExist_jdk7;
+ String[] declaredFieldsThatShouldExist = null;
+ switch (getJavaVersion()) {
+ case 6:
+ declaredFieldsThatShouldExist = declaredFieldsThatShouldExist_jdk6;
+ break;
+ case 7:
+ declaredFieldsThatShouldExist = declaredFieldsThatShouldExist_jdk7;
+ break;
+ case 8:
+ declaredFieldsThatShouldExist = declaredFieldsThatShouldExist_jdk8;
+ break;
+ }
// get all declared fields
Field[] declaredFields = this.scriptEngineClass.getDeclaredFields();
@@ -537,8 +577,28 @@
"LANGUAGE",
"LANGUAGE_VERSION",
};
+ final String[] fieldsThatShouldExist_jdk8 = {
+ "ARGV",
+ "FILENAME",
+ "ENGINE",
+ "ENGINE_VERSION",
+ "NAME",
+ "LANGUAGE",
+ "LANGUAGE_VERSION",
+ };
- final String[] fieldsThatShouldExist = getJavaVersion() < 7 ? fieldsThatShouldExist_jdk6 : fieldsThatShouldExist_jdk7;
+ String[] fieldsThatShouldExist = null;
+ switch (getJavaVersion()) {
+ case 6:
+ fieldsThatShouldExist = fieldsThatShouldExist_jdk6;
+ break;
+ case 7:
+ fieldsThatShouldExist = fieldsThatShouldExist_jdk7;
+ break;
+ case 8:
+ fieldsThatShouldExist = fieldsThatShouldExist_jdk8;
+ break;
+ }
// check if all required fields really exists
for (String fieldThatShouldExists : fieldsThatShouldExist) {
@@ -578,8 +638,30 @@
"LANGUAGE",
"LANGUAGE_VERSION",
};
+ final String[] declaredFieldsThatShouldExist_jdk8 = {
+ "ARGV",
+ "FILENAME",
+ "ENGINE",
+ "ENGINE_VERSION",
+ "NAME",
+ "LANGUAGE",
+ "LANGUAGE_VERSION",
+ };
- final String[] declaredFieldsThatShouldExist = getJavaVersion() < 7 ? declaredFieldsThatShouldExist_jdk6 : declaredFieldsThatShouldExist_jdk7;
+ // get the right array of field signatures
+ // following fields should be declared
+ String[] declaredFieldsThatShouldExist = null;
+ switch (getJavaVersion()) {
+ case 6:
+ declaredFieldsThatShouldExist = declaredFieldsThatShouldExist_jdk6;
+ break;
+ case 7:
+ declaredFieldsThatShouldExist = declaredFieldsThatShouldExist_jdk7;
+ break;
+ case 8:
+ declaredFieldsThatShouldExist = declaredFieldsThatShouldExist_jdk8;
+ break;
+ }
// check if all required declared fields really exists
for (String declaredFieldThatShouldExists : declaredFieldsThatShouldExist) {
From bugzilla-daemon at icedtea.classpath.org Thu Jun 6 03:37:46 2013
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Thu, 06 Jun 2013 10:37:46 +0000
Subject: [Bug 1274] [TRACKER] IcedTea 2.4.0 Release
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1274
Bug 1274 depends on bug 1170, which changed state.
Bug 1170 Summary: [IcedTea7] Ensure unlimited crypto policy or crypto removal patch is in place.
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1170
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution|--- |FIXED
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130606/f63c524f/attachment.html
From bugzilla-daemon at icedtea.classpath.org Thu Jun 6 03:39:33 2013
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Thu, 06 Jun 2013 10:39:33 +0000
Subject: [Bug 1280] [IcedTea7] Shared class data archive should be generated
post-build on architectures with the client VM
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1280
Andrew John Hughes changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution|--- |FIXED
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130606/9139359c/attachment.html
From bugzilla-daemon at icedtea.classpath.org Thu Jun 6 03:39:34 2013
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Thu, 06 Jun 2013 10:39:34 +0000
Subject: [Bug 1274] [TRACKER] IcedTea 2.4.0 Release
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1274
Bug 1274 depends on bug 1280, which changed state.
Bug 1280 Summary: [IcedTea7] Shared class data archive should be generated post-build on architectures with the client VM
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1280
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution|--- |FIXED
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130606/f71884c0/attachment.html
From bugzilla-daemon at icedtea.classpath.org Thu Jun 6 03:50:00 2013
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Thu, 06 Jun 2013 10:50:00 +0000
Subject: [Bug 1471] Error: guarantee(error != (symbolOop)__null, "tag mismatch
with resolution error table")
In-Reply-To:
References:
Message-ID:
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1471
Andrew John Hughes changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution|--- |WONTFIX
--- Comment #1 from Andrew John Hughes ---
This version is no longer supported. Please reopen if this can be reproduced
on 1.11.x or 1.12.x.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130606/32ead328/attachment.html
From jvanek at redhat.com Thu Jun 6 06:15:14 2013
From: jvanek at redhat.com (Jiri Vanek)
Date: Thu, 06 Jun 2013 15:15:14 +0200
Subject: Issues in latests updates - selinux, firefox and icedtea-web
Message-ID: <51B08B62.101@redhat.com>
Hi all!
There is new rule in selinux (since slinux-policy.3) when enforcing for firefox (since 20)
When something launched in firefox is launching something, what is not in standard path
(/usr/lib(64) /usr/bin ...), then it is denied.
That is case of custom installations of icedtea-web (eg I have --prefix=~/icedtea-web-image)
The IcedTeaPlugin.so is launching java - and is palced in {prefix} - So is denied.
I think this behaviour is not a bug. However user is not always informed via "pop up" (is always in
logs) so this can be confusing.
I think that the bug with ppups was already fixed so no bug even here.
Interesting is that other browsers are not affected.
J.
From gitne at excite.co.jp Thu Jun 6 06:45:18 2013
From: gitne at excite.co.jp (=?ISO-2022-JP?B?SmFjb2IgV2lzb3I=?=)
Date: Thu, 6 Jun 2013 22:45:18 +0900
Subject: =?ISO-2022-JP?B?UmU6IFtpY2VkdGVhLXdlYl1bcmZjXSBNb3JlIGNvbXBsZXRlIE5ldFggamFyIGZpbGUgbWFuaWZlc3Q=?=
Message-ID: <201306061345.r56DjIp2010387@mail-web02.excite.co.jp>
"Jiri Vanek" wrote:
> On 05/21/2013 01:30 AM, Jacob Wisor wrote:
> > "Jiri Vanek" wrote:
> >> On 05/03/2013 03:33 PM, Jiri Vanek wrote:
> >>> On 05/02/2013 07:03 PM, Omair Majid wrote:
> >>>> On 05/02/2013 12:57 PM, Jacob Wisor wrote:
> >>>>> "Omair Majid" wrote:
> >>>>>> On 05/02/2013 11:15 AM, Jacob Wisor wrote:
> >>>>>>> "Jacob Wisor" wrote:
> >>>>>>>>> I would like to propose to make the jar file manifest more
> >>>>>>>>> complete, though I am not sure about the "Implementation-Vendor"
> >>>>>>>>> attribute's (key) value.
> >>>>>>
> >>>>>> I would use "IcedTea"
> >>>>>>
> >>>>>>> +Implementation-URL: http://icedtea.classpath.org/wiki/IcedTea-Web
> >>>>>>
> >>>>>> Please use @PACKAGE_URL@ here, instead of duplicating the URL.
> >>>>>
> >>>>> Setting IcedTea as vendor and then setting "Implementation-URL" to
> >>>>> @PACKAGE_URL@ does not compute. How about setting
> >>>>> "Implementation-Vendor" to @VENDOR@ (or @PACKAGE_VENDOR@?) and adding
> >>>>> it to the build script, hence "IcedTea" being the default for
> >>>>> @VENDOR@ and "http://icedtea.classpath.org/wiki/IcedTea-Web" the
> >>>>> default for @PACKAGE_URL@?
> >>>>
> >>>> That sounds fine to me. I went with @PACKAGE_URL@ since it's already
> >>>> defined, and used in only a few places, whereas the string IcedTea is
> >>>> probably present in every file already (along the lines of "This file is
> >>>> part of IcedTea").
> >>>>
> >>>> I would like to hear what others think about "IcedTea" as the vendor,
> >>>> before we decide to use it.
> >>>
> >>> I'm for it. We are also using it in *all* jnlp testcases (IcedTea) so it would be
> >>> nicely consistent.
> >>>
> >>> Thank you for taking this review!
> >>>
> >>> J.
> >>>
> >>
> >> diff -r 3dd0ae4efe78 netx.manifest.in
> >> --- a/netx.manifest.in Mon May 20 15:13:32 2013 +0200
> >> +++ b/netx.manifest.in Mon May 20 15:57:59 2013 +0200
> >> @@ -1,2 +1,8 @@
> >> Implementation-Title: @PACKAGE_NAME@
> >> Implementation-Version: @FULL_VERSION@
> >> +Implementation-URL: @PACKAGE_URL@
> >> +Implementation-Vendor: IcedTea
> >
> > What about the vendor? This acutally should be a distro's or publisher's name. It is the same as with the title and url. In my understanding only an unmodified release may/should bear the label IcedTea as vendor, hence especially major or commercial distros should adjust this key for thier release, even more, should they modify an IcedTea release before releasing a binary.
> >
> > But, this is only my interpretation of the jar manifest file specification, and maybe I am taking this too seriously. :)
>
>
> We are forwarding the distribution via configure - eg
> http://pkgs.fedoraproject.org/cgit/icedtea-web.git/tree/icedtea-web.spec#n103
Sorry for responding so late, but I have been cut off the inet lately. What is the status on this?
> My interpretation of Implementation-Vendor is the person/organisation who actually implemented the
> specification.
>
> Thanx for hints!
> >
> >> +Specification-Title: JSR56: Java Network Launching Protocol and API
> >> +Specification-URL: http://jcp.org/aboutJava/communityprocess/mrel/jsr056
> >> +Specification-Vendor: Java Community Process
> >> +Specification-Version: 6.0
From jvanek at redhat.com Thu Jun 6 06:51:06 2013
From: jvanek at redhat.com (Jiri Vanek)
Date: Thu, 06 Jun 2013 15:51:06 +0200
Subject: [icedtea-web][rfc] More complete NetX jar file manifest
In-Reply-To: <201306061345.r56DjIp2010387@mail-web02.excite.co.jp>
References: <201306061345.r56DjIp2010387@mail-web02.excite.co.jp>
Message-ID: <51B093CA.4040403@redhat.com>
On 06/06/2013 03:45 PM, Jacob Wisor wrote:
> "Jiri Vanek" wrote:
>> On 05/21/2013 01:30 AM, Jacob Wisor wrote:
>>> "Jiri Vanek" wrote:
>>>> On 05/03/2013 03:33 PM, Jiri Vanek wrote:
>>>>> On 05/02/2013 07:03 PM, Omair Majid wrote:
>>>>>> On 05/02/2013 12:57 PM, Jacob Wisor wrote:
>>>>>>> "Omair Majid" wrote:
>>>>>>>> On 05/02/2013 11:15 AM, Jacob Wisor wrote:
>>>>>>>>> "Jacob Wisor" wrote:
>>>>>>>>>>> I would like to propose to make the jar file manifest more
>>>>>>>>>>> complete, though I am not sure about the "Implementation-Vendor"
>>>>>>>>>>> attribute's (key) value.
>>>>>>>>
>>>>>>>> I would use "IcedTea"
>>>>>>>>
>>>>>>>>> +Implementation-URL: http://icedtea.classpath.org/wiki/IcedTea-Web
>>>>>>>>
>>>>>>>> Please use @PACKAGE_URL@ here, instead of duplicating the URL.
>>>>>>>
>>>>>>> Setting IcedTea as vendor and then setting "Implementation-URL" to
>>>>>>> @PACKAGE_URL@ does not compute. How about setting
>>>>>>> "Implementation-Vendor" to @VENDOR@ (or @PACKAGE_VENDOR@?) and adding
>>>>>>> it to the build script, hence "IcedTea" being the default for
>>>>>>> @VENDOR@ and "http://icedtea.classpath.org/wiki/IcedTea-Web" the
>>>>>>> default for @PACKAGE_URL@?
>>>>>>
>>>>>> That sounds fine to me. I went with @PACKAGE_URL@ since it's already
>>>>>> defined, and used in only a few places, whereas the string IcedTea is
>>>>>> probably present in every file already (along the lines of "This file is
>>>>>> part of IcedTea").
>>>>>>
>>>>>> I would like to hear what others think about "IcedTea" as the vendor,
>>>>>> before we decide to use it.
>>>>>
>>>>> I'm for it. We are also using it in *all* jnlp testcases (IcedTea) so it would be
>>>>> nicely consistent.
>>>>>
>>>>> Thank you for taking this review!
>>>>>
>>>>> J.
>>>>>
>>>>
>>>> diff -r 3dd0ae4efe78 netx.manifest.in
>>>> --- a/netx.manifest.in Mon May 20 15:13:32 2013 +0200
>>>> +++ b/netx.manifest.in Mon May 20 15:57:59 2013 +0200
>>>> @@ -1,2 +1,8 @@
>>>> Implementation-Title: @PACKAGE_NAME@
>>>> Implementation-Version: @FULL_VERSION@
>>>> +Implementation-URL: @PACKAGE_URL@
>>>> +Implementation-Vendor: IcedTea
>>>
>>> What about the vendor? This acutally should be a distro's or publisher's name. It is the same as with the title and url. In my understanding only an unmodified release may/should bear the label IcedTea as vendor, hence especially major or commercial distros should adjust this key for thier release, even more, should they modify an IcedTea release before releasing a binary.
>>>
>>> But, this is only my interpretation of the jar manifest file specification, and maybe I am taking this too seriously. :)
>>
>>
>> We are forwarding the distribution via configure - eg
>> http://pkgs.fedoraproject.org/cgit/icedtea-web.git/tree/icedtea-web.spec#n103
>
> Sorry for responding so late, but I have been cut off the inet lately. What is the status on this?
Np!
It is waiting for your allow. to be pushed by me, or by yourself
J.
>
>> My interpretation of Implementation-Vendor is the person/organisation who actually implemented the
>> specification.
>>
>> Thanx for hints!
>>>
>>>> +Specification-Title: JSR56: Java Network Launching Protocol and API
>>>> +Specification-URL: http://jcp.org/aboutJava/communityprocess/mrel/jsr056
>>>> +Specification-Vendor: Java Community Process
>>>> +Specification-Version: 6.0
From gitne at excite.co.jp Thu Jun 6 06:57:19 2013
From: gitne at excite.co.jp (=?ISO-2022-JP?B?SmFjb2IgV2lzb3I=?=)
Date: Thu, 6 Jun 2013 22:57:19 +0900
Subject: =?ISO-2022-JP?B?UmU6IFtpY2VkdGVhLXdlYl1bcmZjXSBNb3JlIGNvbXBsZXRlIE5ldFggamFyIGZpbGUgbWFuaWZlc3Q=?=
Message-ID: <201306061357.r56DvJfm021354@mail-web03.excite.co.jp>
"Jiri Vanek" wrote:
> On 06/06/2013 03:45 PM, Jacob Wisor wrote:
> > "Jiri Vanek" wrote:
> >> On 05/21/2013 01:30 AM, Jacob Wisor wrote:
> >>> "Jiri Vanek" wrote:
> >>>> On 05/03/2013 03:33 PM, Jiri Vanek wrote:
> >>>>> On 05/02/2013 07:03 PM, Omair Majid wrote:
> >>>>>> On 05/02/2013 12:57 PM, Jacob Wisor wrote:
> >>>>>>> "Omair Majid" wrote:
> >>>>>>>> On 05/02/2013 11:15 AM, Jacob Wisor wrote:
> >>>>>>>>> "Jacob Wisor" wrote:
> >>>>>>>>>>> I would like to propose to make the jar file manifest more
> >>>>>>>>>>> complete, though I am not sure about the "Implementation-Vendor"
> >>>>>>>>>>> attribute's (key) value.
> >>>>>>>>
> >>>>>>>> I would use "IcedTea"
> >>>>>>>>
> >>>>>>>>> +Implementation-URL: http://icedtea.classpath.org/wiki/IcedTea-Web
> >>>>>>>>
> >>>>>>>> Please use @PACKAGE_URL@ here, instead of duplicating the URL.
> >>>>>>>
> >>>>>>> Setting IcedTea as vendor and then setting "Implementation-URL" to
> >>>>>>> @PACKAGE_URL@ does not compute. How about setting
> >>>>>>> "Implementation-Vendor" to @VENDOR@ (or @PACKAGE_VENDOR@?) and adding
> >>>>>>> it to the build script, hence "IcedTea" being the default for
> >>>>>>> @VENDOR@ and "http://icedtea.classpath.org/wiki/IcedTea-Web" the
> >>>>>>> default for @PACKAGE_URL@?
> >>>>>>
> >>>>>> That sounds fine to me. I went with @PACKAGE_URL@ since it's already
> >>>>>> defined, and used in only a few places, whereas the string IcedTea is
> >>>>>> probably present in every file already (along the lines of "This file is
> >>>>>> part of IcedTea").
> >>>>>>
> >>>>>> I would like to hear what others think about "IcedTea" as the vendor,
> >>>>>> before we decide to use it.
> >>>>>
> >>>>> I'm for it. We are also using it in *all* jnlp testcases (IcedTea) so it would be
> >>>>> nicely consistent.
> >>>>>
> >>>>> Thank you for taking this review!
> >>>>>
> >>>>> J.
> >>>>>
> >>>>
> >>>> diff -r 3dd0ae4efe78 netx.manifest.in
> >>>> --- a/netx.manifest.in Mon May 20 15:13:32 2013 +0200
> >>>> +++ b/netx.manifest.in Mon May 20 15:57:59 2013 +0200
> >>>> @@ -1,2 +1,8 @@
> >>>> Implementation-Title: @PACKAGE_NAME@
> >>>> Implementation-Version: @FULL_VERSION@
> >>>> +Implementation-URL: @PACKAGE_URL@
> >>>> +Implementation-Vendor: IcedTea
> >>>
> >>> What about the vendor? This acutally should be a distro's or publisher's name. It is the same as with the title and url. In my understanding only an unmodified release may/should bear the label IcedTea as vendor, hence especially major or commercial distros should adjust this key for thier release, even more, should they modify an IcedTea release before releasing a binary.
> >>>
> >>> But, this is only my interpretation of the jar manifest file specification, and maybe I am taking this too seriously. :)
> >>
> >>
> >> We are forwarding the distribution via configure - eg
> >> http://pkgs.fedoraproject.org/cgit/icedtea-web.git/tree/icedtea-web.spec#n103
> >
> > Sorry for responding so late, but I have been cut off the inet lately. What is the status on this?
>
> Np!
>
>
> It is waiting for your allow. to be pushed by me, or by yourself
Okay then, push please. I am currently missing any really usable access, so there is not much for me that I can do.
> J.
> >
> >> My interpretation of Implementation-Vendor is the person/organisation who actually implemented the
> >> specification.
> >>
> >> Thanx for hints!
> >>>
> >>>> +Specification-Title: JSR56: Java Network Launching Protocol and API
> >>>> +Specification-URL: http://jcp.org/aboutJava/communityprocess/mrel/jsr056
> >>>> +Specification-Vendor: Java Community Process
> >>>> +Specification-Version: 6.0
>
>
From jvanek at redhat.com Thu Jun 6 07:08:42 2013
From: jvanek at redhat.com (Jiri Vanek)
Date: Thu, 06 Jun 2013 16:08:42 +0200
Subject: [fyi][icedtea-web] enabling testing on f19 again
In-Reply-To: <51AF7BC5.1040502@redhat.com>
References: <51AF7BC5.1040502@redhat.com>
Message-ID: <51B097EA.80006@redhat.com>
On 06/05/2013 07:56 PM, Jiri Vanek wrote:
> Hi!
>
> There was some mysterious change in junit api. This small fix is fixing it,a nd should be harmelss
> for older.
>
> This will go also to 1.4 otherwise we will not be able to enable %check in spec.
>
> Also can possible reviewer try this (junit, codecoverage, reproducers(just one is enough:) and
> reproducers coverage targets) on some older then 19 fedora? I have run out of machines and have
> everywhere f19 right now:-/
>
> Thanx!
>
> J.
Ugh. Jana have reviewed this today a and tested on f18.
It looks like she forgot to sent results. As I desperately need this in, and she left for vacation,
I will push,
J.
From jvanek at redhat.com Thu Jun 6 07:11:52 2013
From: jvanek at redhat.com (Jiri Vanek)
Date: Thu, 06 Jun 2013 16:11:52 +0200
Subject: [rfc][icedtea-web] get rid of two unwanted exception - was Re: Fwd:
Re: [rfc][icedtea-web] fix for PR1465 - java.io.FileNotFoundException
while trying to download a JAR file
In-Reply-To: <1370500831.24531.1.camel@localhost.localdomain>
References: <51AE48CA.6060102@redhat.com> <51AE4A5F.6020902@redhat.com>
<1370500831.24531.1.camel@localhost.localdomain>
Message-ID: <51B098A8.1070006@redhat.com>
On 06/06/2013 08:40 AM, Thomas Meyer wrote:
> Am Dienstag, den 04.06.2013, 16:13 -0400 schrieb Adam Domurad:
>> Hi, this is re: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1465
>> I would greatly appreciate if you could try this patch (apply to HEAD)
>> with the applet from the bug report.
>>
>> Thanks,
>> -Adam
>>
>>
>> -------- Original Message --------
>> Subject: Re: [rfc][icedtea-web] fix for PR1465 -
>> java.io.FileNotFoundException while trying to download a JAR file
>> Date: Tue, 04 Jun 2013 16:06:34 -0400
>> From: Adam Domurad
>> To: distro-pkg-dev at openjdk.java.net, Jiri Vanek
>>
>>
>>
>> On 06/04/2013 09:31 AM, Jiri Vanek wrote:
>>> Although not nice, not even bad.
>>>
>>> tbh this was known issue, and when sad was pushing his patch we
>>> decided to ignore %20 and + similarity under html encoding, and
>>> difference under RFC2396.
>>> Apearently, wrongly.
>>>
>>> J.
>>
>> I have done some research and I think I found a solution that should be
>> pleasing. See the unit tests in the patch, too.
>>
>> Basically new URI(url) will check RFC2396 validity.
>> See http://stackoverflow.com/questions/304806/encode-and-decode-rfc2396-urls
>>
>> This avoids the whole normalization mess if the URL is already valid. As
>> long as we create URLs in a manner that ensures they are correct, this
>> will be preserved.
>> This should reduce the future chance of unintended icedtea-web quirks, too.
>
> Hi,
>
> thanks for the patch. It works for me.
>
Thanx for test!
> Besides that I'm seeing these stacktraces on startup of icedtea-web:
it loosk like your applet have width and height 0. Surprisingly It will not fail for "or".
The best fix is to enhance it to 1 x 1 on your side;)
- Actually - you really *should*. According to my knowledge chrome and chromium do not lunch zero
area applets.
nvm - the fix + reproducer is simple and is attached.
Thanx for keeping in loop with us!
>
> java version "1.7.0_19"
> OpenJDK Runtime Environment (fedora-2.3.9.9.fc19-x86_64)
> OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)
> Exception in thread "AWT-EventQueue-1"
> java.lang.IllegalArgumentException: Width (0) and height (0) cannot be
> <= 0
> at
> java.awt.image.DirectColorModel.createCompatibleWritableRaster(DirectColorModel.java:1016)
> at
> sun.awt.X11GraphicsConfig.createAcceleratedImage(X11GraphicsConfig.java:384)
> at sun.awt.X11.XComponentPeer.createImage(XComponentPeer.java:769)
> at java.awt.Component.createImage(Component.java:3555)
> at sun.applet.PluginAppletViewer.paint(PluginAppletViewer.java:1550)
> at sun.applet.PluginAppletViewer.update(PluginAppletViewer.java:1566)
> at sun.awt.RepaintArea.updateComponent(RepaintArea.java:255)
> at sun.awt.X11.XRepaintArea.updateComponent(XRepaintArea.java:60)
> at sun.awt.RepaintArea.paint(RepaintArea.java:232)
> at sun.awt.X11.XComponentPeer.handleEvent(XComponentPeer.java:591)
> at java.awt.Component.dispatchEventImpl(Component.java:4937)
> at java.awt.Container.dispatchEventImpl(Container.java:2287)
> at java.awt.Window.dispatchEventImpl(Window.java:2719)
> at java.awt.Component.dispatchEvent(Component.java:4687)
> at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:729)
> at java.awt.EventQueue.access$200(EventQueue.java:103)
> at java.awt.EventQueue$3.run(EventQueue.java:688)
> at java.awt.EventQueue$3.run(EventQueue.java:686)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.security.ProtectionDomain
> $1.doIntersectionPrivilege(ProtectionDomain.java:76)
> at java.security.ProtectionDomain
> $1.doIntersectionPrivilege(ProtectionDomain.java:87)
> at java.awt.EventQueue$4.run(EventQueue.java:702)
> at java.awt.EventQueue$4.run(EventQueue.java:700)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.security.ProtectionDomain
> $1.doIntersectionPrivilege(ProtectionDomain.java:76)
> at java.awt.EventQueue.dispatchEvent(EventQueue.java:699)
> at
> java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
> at
> java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
> at
> java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
> at
> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
> at
> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
> at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
>
> Exception in thread "Thread-6" java.lang.NullPointerException
> at sun.applet.PluginAppletViewer$8.run(PluginAppletViewer.java:1485)
> at java.lang.Thread.run(Thread.java:722)
>
> with kind regards
> thomas
>
>>
>> Happy hacking,
>> -Adam
>>
>>
>>
>
>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 2twoSilencedExceptions-fix.patch
Type: text/x-patch
Size: 1631 bytes
Desc: not available
Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130606/68f6122b/2twoSilencedExceptions-fix.patch
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 2twoSilencedExceptions-test.patch
Type: text/x-patch
Size: 8001 bytes
Desc: not available
Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130606/68f6122b/2twoSilencedExceptions-test.patch
From jvanek at redhat.com Thu Jun 6 07:16:22 2013
From: jvanek at redhat.com (Jiri Vanek)
Date: Thu, 06 Jun 2013 16:16:22 +0200
Subject: [rfc][icedtea-web] access denied for new
PropertyPermission("java.vm.name",
"read") inisde net.sourceforge.jnlp
Message-ID: <51B099B6.60608@redhat.com>
I have just noted that javaws is throwing AccessCotnroll exception by its own run when launching
some applets/applications (not plugin).
The "corrupted" entry is
access denied for new PropertyPermission("java.vm.name", "read")
inside netx/net/sourceforge/jnlp/SecurityDesc.java: new
PropertyPermission("java.vm.name", "read"),
Have anybody encountered it too?
J.
From adomurad at redhat.com Thu Jun 6 07:33:22 2013
From: adomurad at redhat.com (Adam Domurad)
Date: Thu, 06 Jun 2013 10:33:22 -0400
Subject: [rfc][icedtea-web] get rid of two unwanted exception - was Re:
Fwd: Re: [rfc][icedtea-web] fix for PR1465 -
java.io.FileNotFoundException while trying to download a JAR file
In-Reply-To: <51B098A8.1070006@redhat.com>
References: <51AE48CA.6060102@redhat.com> <51AE4A5F.6020902@redhat.com>
<1370500831.24531.1.camel@localhost.localdomain>
<51B098A8.1070006@redhat.com>
Message-ID: <51B09DB2.4050807@redhat.com>
On 06/06/2013 10:11 AM, Jiri Vanek wrote:
> On 06/06/2013 08:40 AM, Thomas Meyer wrote:
>> Am Dienstag, den 04.06.2013, 16:13 -0400 schrieb Adam Domurad:
>>> Hi, this is re:
>>> http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1465
>>> I would greatly appreciate if you could try this patch (apply to HEAD)
>>> with the applet from the bug report.
>>>
>>> Thanks,
>>> -Adam
>>>
>>>
>>> -------- Original Message --------
>>> Subject: Re: [rfc][icedtea-web] fix for PR1465 -
>>> java.io.FileNotFoundException while trying to download a JAR file
>>> Date: Tue, 04 Jun 2013 16:06:34 -0400
>>> From: Adam Domurad
>>> To: distro-pkg-dev at openjdk.java.net, Jiri Vanek
>>>
>>>
>>>
>>> On 06/04/2013 09:31 AM, Jiri Vanek wrote:
>>>> Although not nice, not even bad.
>>>>
>>>> tbh this was known issue, and when sad was pushing his patch we
>>>> decided to ignore %20 and + similarity under html encoding, and
>>>> difference under RFC2396.
>>>> Apearently, wrongly.
>>>>
>>>> J.
>>>
>>> I have done some research and I think I found a solution that should be
>>> pleasing. See the unit tests in the patch, too.
>>>
>>> Basically new URI(url) will check RFC2396 validity.
>>> See
>>> http://stackoverflow.com/questions/304806/encode-and-decode-rfc2396-urls
>>>
>>>
>>> This avoids the whole normalization mess if the URL is already
>>> valid. As
>>> long as we create URLs in a manner that ensures they are correct, this
>>> will be preserved.
>>> This should reduce the future chance of unintended icedtea-web
>>> quirks, too.
>>
>> Hi,
>>
>> thanks for the patch. It works for me.
>>
> Thanx for test!
>> Besides that I'm seeing these stacktraces on startup of icedtea-web:
>
> it loosk like your applet have width and height 0. Surprisingly It
> will not fail for "or".
> The best fix is to enhance it to 1 x 1 on your side;)
> - Actually - you really *should*. According to my knowledge chrome
> and chromium do not lunch zero area applets.
>
> nvm - the fix + reproducer is simple and is attached.
>
> Thanx for keeping in loop with us!
>
>>
>> java version "1.7.0_19"
>> OpenJDK Runtime Environment (fedora-2.3.9.9.fc19-x86_64)
>> OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)
>> Exception in thread "AWT-EventQueue-1"
>> java.lang.IllegalArgumentException: Width (0) and height (0) cannot be
>> <= 0
>> at
>> java.awt.image.DirectColorModel.createCompatibleWritableRaster(DirectColorModel.java:1016)
>>
>> at
>> sun.awt.X11GraphicsConfig.createAcceleratedImage(X11GraphicsConfig.java:384)
>>
>> at sun.awt.X11.XComponentPeer.createImage(XComponentPeer.java:769)
>> at java.awt.Component.createImage(Component.java:3555)
>> at sun.applet.PluginAppletViewer.paint(PluginAppletViewer.java:1550)
>> at
>> sun.applet.PluginAppletViewer.update(PluginAppletViewer.java:1566)
>> at sun.awt.RepaintArea.updateComponent(RepaintArea.java:255)
>> at sun.awt.X11.XRepaintArea.updateComponent(XRepaintArea.java:60)
>> at sun.awt.RepaintArea.paint(RepaintArea.java:232)
>> at sun.awt.X11.XComponentPeer.handleEvent(XComponentPeer.java:591)
>> at java.awt.Component.dispatchEventImpl(Component.java:4937)
>> at java.awt.Container.dispatchEventImpl(Container.java:2287)
>> at java.awt.Window.dispatchEventImpl(Window.java:2719)
>> at java.awt.Component.dispatchEvent(Component.java:4687)
>> at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:729)
>> at java.awt.EventQueue.access$200(EventQueue.java:103)
>> at java.awt.EventQueue$3.run(EventQueue.java:688)
>> at java.awt.EventQueue$3.run(EventQueue.java:686)
>> at java.security.AccessController.doPrivileged(Native Method)
>> at java.security.ProtectionDomain
>> $1.doIntersectionPrivilege(ProtectionDomain.java:76)
>> at java.security.ProtectionDomain
>> $1.doIntersectionPrivilege(ProtectionDomain.java:87)
>> at java.awt.EventQueue$4.run(EventQueue.java:702)
>> at java.awt.EventQueue$4.run(EventQueue.java:700)
>> at java.security.AccessController.doPrivileged(Native Method)
>> at java.security.ProtectionDomain
>> $1.doIntersectionPrivilege(ProtectionDomain.java:76)
>> at java.awt.EventQueue.dispatchEvent(EventQueue.java:699)
>> at
>> java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
>>
>> at
>> java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
>>
>> at
>> java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
>>
>> at
>> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
>> at
>> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
>> at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
>>
>> Exception in thread "Thread-6" java.lang.NullPointerException
>> at sun.applet.PluginAppletViewer$8.run(PluginAppletViewer.java:1485)
>> at java.lang.Thread.run(Thread.java:722)
>>
>> with kind regards
>> thomas
>>
>>>
>>> Happy hacking,
>>> -Adam
>>>
>>>
>>>
>>
>>
>>
>
Fix:
> diff -r 83e496086fea
> netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java
> --- a/netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java
> Wed Jun 05 15:12:01 2013 -0400
> +++ b/netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java
> Thu Jun 06 16:05:09 2013 +0200
> @@ -427,7 +427,9 @@
> jrePath = jreSetting.getValue();
> }
> } catch (Exception ex) {
> - ex.printStackTrace();
> + if (JNLPRuntime.isDebug()){
> + ex.printStackTrace();
> + }
I am a bit weary of debuggifying *all* exceptions this way, just because
it can even silence array bound exceptions, and I don't search through
the debug logs much unless I have a specific issue in mind.
I don't insist though.
> }
>
> File jreFile;
> @@ -530,6 +532,9 @@
> try {
> return parsePropertiesFile(file);
> } catch (IOException e) {
> + if (JNLPRuntime.isDebug()){
> + e.printStackTrace();
> + }
This one is OK
> return null;
> }
> }
> diff -r 83e496086fea
> plugin/icedteanp/java/sun/applet/PluginAppletViewer.java
> --- a/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java Wed
> Jun 05 15:12:01 2013 -0400
> +++ b/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java Thu
> Jun 06 16:05:09 2013 +0200
> @@ -1547,7 +1547,9 @@
>
> // If the image or the graphics don't exist, create new ones
> if (bufFrameImg == null || bufFrameImgGraphics == null) {
> - bufFrameImg = createImage(getWidth(), getHeight());
> + // althoug invisible applets do not have right to palint
> + // we rather paint to 1x1 to be sure all callabck will be
> completed
This looks OK to go in.
Spelling: althoug -> although, palint -> paint, callabck -> callbacks
> + bufFrameImg = createImage(Math.max(1, getWidth()),
> Math.max(1, getHeight()));
> bufFrameImgGraphics = bufFrameImg.getGraphics();
> }
>
Reproducer looks good, thanks for the test.
Cheers,
-Adam
From aazores at redhat.com Thu Jun 6 08:07:53 2013
From: aazores at redhat.com (Andrew Azores)
Date: Thu, 06 Jun 2013 11:07:53 -0400
Subject: [rfc][icedtea-web] Stripping semicolon tags from jar urls
In-Reply-To: <51ADFB00.2040009@redhat.com>
References: <51ACCCFD.9080505@redhat.com> <51ADAA3A.8090809@redhat.com>
<51ADEA27.1060501@redhat.com> <51ADFB00.2040009@redhat.com>
Message-ID: <51B0A5C9.5050704@redhat.com>
Changelog:
* tests/test-extensions/net/sourceforge/jnlp/TinyHttpdImpl.java: added
stripHttpPathParams method to remove semicolon-delimited "tags" from end
of JAR URLs
*
tests/test-extensions-tests/net/sourceforge/jnlp/ServerAccessTest.java:
added test case for new method in TinyHttpdImpl
*
tests/reproducers/simple/StripHttpPathParams/resources/StripHttpPathParams.html:
browser-launched applet test case for reproducer
*
tests/reproducers/simple/StripHttpPathParams/resources/StripHttpPathParams.jnlp:
JNLP test case for reproducer
*
tests/reproducers/simple/StripHttpPathParams/srcs/StripHttpPathParams.java:
reproducer
*
tests/reproducers/simple/StripHttpPathParams/testcases/StripHttpPathParamsTest.java:
reproducer
Moved the semicolon-stripping logic out of Parser since it turns out it
wasn't needed there anymore, but it was needed for TinyHttpdImpl.
Changed unit testing to target this instead. Fixed existing reproducer
and added HTML applet test case.
Andrew A
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fix.patch
Type: text/x-patch
Size: 2144 bytes
Desc: not available
Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130606/7d3a09b1/fix.patch
-------------- next part --------------
A non-text attachment was scrubbed...
Name: reproducer.patch
Type: text/x-patch
Size: 10371 bytes
Desc: not available
Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130606/7d3a09b1/reproducer.patch
-------------- next part --------------
A non-text attachment was scrubbed...
Name: unit_test.patch
Type: text/x-patch
Size: 1604 bytes
Desc: not available
Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20130606/7d3a09b1/unit_test.patch
From jvanek at icedtea.classpath.org Thu Jun 6 08:13:05 2013
From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org)
Date: Thu, 06 Jun 2013 15:13:05 +0000
Subject: /hg/release/icedtea-web-1.3: Made all tests running wit junit4.1...
Message-ID:
changeset 3c5e0952d876 in /hg/release/icedtea-web-1.3
details: http://icedtea.classpath.org/hg/release/icedtea-web-1.3?cmd=changeset;node=3c5e0952d876
author: Jiri Vanek
date: Thu Jun 06 17:09:54 2013 +0200
Made all tests running wit junit4.10 and higher
* tests/junit-runner/CommandLine.java: (runMain) is no longer overriding
and (runMainAndExit) is now calling System.exit rather then system.exit
diffstat:
ChangeLog | 6 ++++++
tests/junit-runner/CommandLine.java | 3 +--
2 files changed, 7 insertions(+), 2 deletions(-)
diffs (28 lines):
diff -r ff0d07a33ad2 -r 3c5e0952d876 ChangeLog
--- a/ChangeLog Thu May 02 13:55:23 2013 -0400
+++ b/ChangeLog Thu Jun 06 17:09:54 2013 +0200
@@ -1,3 +1,9 @@
+2013-06-06 Jiri Vanek
+
+ Made all tests running wit junit4.10 and higher
+ * tests/junit-runner/CommandLine.java: (runMain) is no longer overriding
+ and (runMainAndExit) is now calling System.exit rather then system.exit
+
2013-05-02 Adam Domurad
Ensure document-base is properly encoded.
diff -r ff0d07a33ad2 -r 3c5e0952d876 tests/junit-runner/CommandLine.java
--- a/tests/junit-runner/CommandLine.java Thu May 02 13:55:23 2013 -0400
+++ b/tests/junit-runner/CommandLine.java Thu Jun 06 17:09:54 2013 +0200
@@ -26,10 +26,9 @@
public static void runMainAndExit(JUnitSystem system, String... args) {
new CommandLine().runMain(system, args);
- system.exit(0);
+ System.exit(0);
}
- @Override
public Result runMain(JUnitSystem system, String... args) {
List> classes = new ArrayList>();
List missingClasses = new ArrayList();
From jvanek at icedtea.classpath.org Thu Jun 6 08:13:28 2013
From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org)
Date: Thu, 06 Jun 2013 15:13:28 +0000
Subject: /hg/release/icedtea-web-1.4: 2 new changesets
Message-ID:
changeset 49e141f43b54 in /hg/release/icedtea-web-1.4
details: http://icedtea.classpath.org/hg/release/icedtea-web-1.4?cmd=changeset;node=49e141f43b54
author: Jiri Vanek
date: Thu Jun 06 16:59:47 2013 +0200
Silenced deployment.properties and zero size applet exceptions with tests
changeset f9a77057c524 in /hg/release/icedtea-web-1.4
details: http://icedtea.classpath.org/hg/release/icedtea-web-1.4?cmd=changeset;node=f9a77057c524
author: Jiri Vanek
date: Thu Jun 06 17:08:19 2013 +0200
Made all tests running wit junit4.10 and higher
* tests/junit-runner/CommandLine.java: (runMain) is no longer overriding
and (runMainAndExit) is now calling System.exit rather then system.exit
diffstat:
ChangeLog | 22 +++++
netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java | 7 +-
plugin/icedteanp/java/sun/applet/PluginAppletViewer.java | 4 +-
tests/junit-runner/CommandLine.java | 3 +-
tests/reproducers/simple/AppletTest/resources/appletZeroH.html | 44 ++++++++++
tests/reproducers/simple/AppletTest/resources/appletZeroW.html | 44 ++++++++++
tests/reproducers/simple/AppletTest/resources/appletZeroWH.html | 44 ++++++++++
tests/reproducers/simple/AppletTest/testcases/AppletTestTests.java | 27 +++++-
8 files changed, 190 insertions(+), 5 deletions(-)
diffs (265 lines):
diff -r 6990997b492c -r f9a77057c524 ChangeLog
--- a/ChangeLog Tue Jun 04 17:36:17 2013 +0200
+++ b/ChangeLog Thu Jun 06 17:08:19 2013 +0200
@@ -1,3 +1,25 @@
+2013-06-06 Jiri Vanek
+
+ Made all tests running wit junit4.10 and higher
+ * tests/junit-runner/CommandLine.java: (runMain) is no longer overriding
+ and (runMainAndExit) is now calling System.exit rather then system.exit
+
+2013-06-06 Jiri Vanek
+
+ Silenced deployment.properties and zero size applet exceptions with tests
+ * netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java:
+ (findSystemConfigFile) and (loadProperties) now prints already cough exception
+ only in debug mode
+ * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: (paint)
+ now paints into 1 x 1 applet instead of 0 x 0 in case of 0 x 0 applet
+ * tests/reproducers/simple/AppletTest/resources/appletZeroH.html: new file
+ * tests/reproducers/simple/AppletTest/resources/appletZeroW.html: new file
+ * tests/reproducers/simple/AppletTest/resources/appletZeroWH.html: new file
+ - testing launchers with zero as width, height or both
+ * tests/reproducers/simple/AppletTest/testcases/AppletTestTests.java:
+ added launchers and evaluations for three new htmls - (appletZeroWH)
+ (appletZeroW) (appletZeroH)
+
2013-06-04 Jiri Vanek
* netx/net/sourceforge/jnlp/resources/Messages.properties:
diff -r 6990997b492c -r f9a77057c524 netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java
--- a/netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java Tue Jun 04 17:36:17 2013 +0200
+++ b/netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java Thu Jun 06 17:08:19 2013 +0200
@@ -427,7 +427,9 @@
jrePath = jreSetting.getValue();
}
} catch (Exception ex) {
- ex.printStackTrace();
+ if (JNLPRuntime.isDebug()){
+ ex.printStackTrace();
+ }
}
File jreFile;
@@ -530,6 +532,9 @@
try {
return parsePropertiesFile(file);
} catch (IOException e) {
+ if (JNLPRuntime.isDebug()){
+ e.printStackTrace();
+ }
return null;
}
}
diff -r 6990997b492c -r f9a77057c524 plugin/icedteanp/java/sun/applet/PluginAppletViewer.java
--- a/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java Tue Jun 04 17:36:17 2013 +0200
+++ b/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java Thu Jun 06 17:08:19 2013 +0200
@@ -1538,7 +1538,9 @@
// If the image or the graphics don't exist, create new ones
if (bufFrameImg == null || bufFrameImgGraphics == null) {
- bufFrameImg = createImage(getWidth(), getHeight());
+ // although invisible applets do not have right to paint
+ // we rather paint to 1x1 to be sure all callbacks will be completed
+ bufFrameImg = createImage(Math.max(1, getWidth()), Math.max(1, getHeight()));
bufFrameImgGraphics = bufFrameImg.getGraphics();
}
diff -r 6990997b492c -r f9a77057c524 tests/junit-runner/CommandLine.java
--- a/tests/junit-runner/CommandLine.java Tue Jun 04 17:36:17 2013 +0200
+++ b/tests/junit-runner/CommandLine.java Thu Jun 06 17:08:19 2013 +0200
@@ -26,10 +26,9 @@
public static void runMainAndExit(JUnitSystem system, String... args) {
new CommandLine().runMain(system, args);
- system.exit(0);
+ System.exit(0);
}
- @Override
public Result runMain(JUnitSystem system, String... args) {
List> classes = new ArrayList>();
List missingClasses = new ArrayList();
diff -r 6990997b492c -r f9a77057c524 tests/reproducers/simple/AppletTest/resources/appletZeroH.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/reproducers/simple/AppletTest/resources/appletZeroH.html Thu Jun 06 17:08:19 2013 +0200
@@ -0,0 +1,44 @@
+
+
+
+
+
diff -r 6990997b492c -r f9a77057c524 tests/reproducers/simple/AppletTest/resources/appletZeroW.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/reproducers/simple/AppletTest/resources/appletZeroW.html Thu Jun 06 17:08:19 2013 +0200
@@ -0,0 +1,44 @@
+
+
+
+
+
diff -r 6990997b492c -r f9a77057c524 tests/reproducers/simple/AppletTest/resources/appletZeroWH.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/reproducers/simple/AppletTest/resources/appletZeroWH.html Thu Jun 06 17:08:19 2013 +0200
@@ -0,0 +1,44 @@
+
+
+
+
+
diff -r 6990997b492c -r f9a77057c524 tests/reproducers/simple/AppletTest/testcases/AppletTestTests.java
--- a/tests/reproducers/simple/AppletTest/testcases/AppletTestTests.java Tue Jun 04 17:36:17 2013 +0200
+++ b/tests/reproducers/simple/AppletTest/testcases/AppletTestTests.java Thu Jun 06 17:08:19 2013 +0200
@@ -1,4 +1,4 @@
-/* AppletTestTests.java
+/*
Copyright (C) 2011 Red Hat, Inc.
This file is part of IcedTea.
@@ -154,4 +154,29 @@
ServerAccess.PROCESS_TIMEOUT = 20 * 1000; //back to normal
}
}
+
+
+ @Test
+ @TestInBrowsers(testIn = {Browsers.one})
+ @NeedsDisplay
+ public void appletZeroWH() throws Exception {
+ ProcessResult pr = server.executeBrowser("/appletZeroWH.html", new CountingClosingListenerImpl(), new CountingClosingListenerImpl());
+ evaluateApplet(pr, false);
+ }
+
+ @Test
+ @TestInBrowsers(testIn = {Browsers.one})
+ @NeedsDisplay
+ public void appletZeroW() throws Exception {
+ ProcessResult pr = server.executeBrowser("/appletZeroW.html", new CountingClosingListenerImpl(), new CountingClosingListenerImpl());
+ evaluateApplet(pr, false);
+ }
+
+ @Test
+ @TestInBrowsers(testIn = {Browsers.one})
+ @NeedsDisplay
+ public void appletZeroH() throws Exception {
+ ProcessResult pr = server.executeBrowser("/appletZeroH.html", new CountingClosingListenerImpl(), new CountingClosingListenerImpl());
+ evaluateApplet(pr, false);
+ }
}
From jvanek at icedtea.classpath.org Thu Jun 6 08:13:53 2013
From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org)
Date: Thu, 06 Jun 2013 15:13:53 +0000
Subject: /hg/icedtea-web: 3 new changesets
Message-ID:
changeset 229f9b1f594a in /hg/icedtea-web
details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=229f9b1f594a
author: Jiri Vanek
date: Thu Jun 06 16:39:44 2013 +0200
Enhanced manifest
* netx.manifest.in: added Implementation-URL, Implementation-Vendor,
Specification-Title, Specification-URL, Specification-Vendor and
Specification-Version entries
changeset 3e8df126cba2 in /hg/icedtea-web
details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=3e8df126cba2
author: Jiri Vanek
date: Thu Jun 06 16:57:14 2013 +0200
Silenced deployment.properties and zero size applet exceptions with tests
changeset e8341834febd in /hg/icedtea-web
details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=e8341834febd
author: Jiri Vanek
date: Thu Jun 06 17:07:28 2013 +0200
Made all tests running wit junit4.10 and higher
* tests/junit-runner/CommandLine.java: (runMain) is no longer overriding
and (runMainAndExit) is now calling System.exit rather then system.exit
diffstat:
ChangeLog | 30 ++++++
netx.manifest.in | 6 +
netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java | 7 +-
plugin/icedteanp/java/sun/applet/PluginAppletViewer.java | 4 +-
tests/junit-runner/CommandLine.java | 3 +-
tests/reproducers/simple/AppletTest/resources/appletZeroH.html | 44 ++++++++++
tests/reproducers/simple/AppletTest/resources/appletZeroW.html | 44 ++++++++++
tests/reproducers/simple/AppletTest/resources/appletZeroWH.html | 44 ++++++++++
tests/reproducers/simple/AppletTest/testcases/AppletTestTests.java | 27 +++++-
9 files changed, 204 insertions(+), 5 deletions(-)
diffs (285 lines):
diff -r 83e496086fea -r e8341834febd ChangeLog
--- a/ChangeLog Wed Jun 05 15:12:01 2013 -0400
+++ b/ChangeLog Thu Jun 06 17:07:28 2013 +0200
@@ -1,3 +1,33 @@
+2013-06-06 Jiri Vanek
+
+ Made all tests running wit junit4.10 and higher
+ * tests/junit-runner/CommandLine.java: (runMain) is no longer overriding
+ and (runMainAndExit) is now calling System.exit rather then system.exit
+
+2013-06-06 Jiri Vanek
+
+ Silenced deployment.properties and zero size applet exceptions with tests
+ * netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java:
+ (findSystemConfigFile) and (loadProperties) now prints already cough exception
+ only in debug mode
+ * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: (paint)
+ now paints into 1 x 1 applet instead of 0 x 0 in case of 0 x 0 applet
+ * tests/reproducers/simple/AppletTest/resources/appletZeroH.html: new file
+ * tests/reproducers/simple/AppletTest/resources/appletZeroW.html: new file
+ * tests/reproducers/simple/AppletTest/resources/appletZeroWH.html: new file
+ - testing launchers with zero as width, height or both
+ * tests/reproducers/simple/AppletTest/testcases/AppletTestTests.java:
+ added launchers and evaluations for three new htmls - (appletZeroWH)
+ (appletZeroW) (appletZeroH)
+
+2013-06-06 Jiri Vanek
+ Jacob Wisor
+
+ Enhanced manifest
+ * netx.manifest.in: added Implementation-URL, Implementation-Vendor,
+ Specification-Title, Specification-URL, Specification-Vendor and
+ Specification-Version entries
+
2013-06-05 Adam Domurad
Fix PR1465
diff -r 83e496086fea -r e8341834febd netx.manifest.in
--- a/netx.manifest.in Wed Jun 05 15:12:01 2013 -0400
+++ b/netx.manifest.in Thu Jun 06 17:07:28 2013 +0200
@@ -1,2 +1,8 @@
Implementation-Title: @PACKAGE_NAME@
Implementation-Version: @FULL_VERSION@
+Implementation-URL: @PACKAGE_URL@
+Implementation-Vendor: IcedTea
+Specification-Title: JSR56: Java Network Launching Protocol and API
+Specification-URL: http://jcp.org/aboutJava/communityprocess/mrel/jsr056
+Specification-Vendor: Java Community Process
+Specification-Version: 6.0
diff -r 83e496086fea -r e8341834febd netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java
--- a/netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java Wed Jun 05 15:12:01 2013 -0400
+++ b/netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java Thu Jun 06 17:07:28 2013 +0200
@@ -427,7 +427,9 @@
jrePath = jreSetting.getValue();
}
} catch (Exception ex) {
- ex.printStackTrace();
+ if (JNLPRuntime.isDebug()){
+ ex.printStackTrace();
+ }
}
File jreFile;
@@ -530,6 +532,9 @@
try {
return parsePropertiesFile(file);
} catch (IOException e) {
+ if (JNLPRuntime.isDebug()){
+ e.printStackTrace();
+ }
return null;
}
}
diff -r 83e496086fea -r e8341834febd plugin/icedteanp/java/sun/applet/PluginAppletViewer.java
--- a/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java Wed Jun 05 15:12:01 2013 -0400
+++ b/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java Thu Jun 06 17:07:28 2013 +0200
@@ -1547,7 +1547,9 @@
// If the image or the graphics don't exist, create new ones
if (bufFrameImg == null || bufFrameImgGraphics == null) {
- bufFrameImg = createImage(getWidth(), getHeight());
+ // although invisible applets do not have right to paint
+ // we rather paint to 1x1 to be sure all callbacks will be completed
+ bufFrameImg = createImage(Math.max(1, getWidth()), Math.max(1, getHeight()));
bufFrameImgGraphics = bufFrameImg.getGraphics();
}
diff -r 83e496086fea -r e8341834febd tests/junit-runner/CommandLine.java
--- a/tests/junit-runner/CommandLine.java Wed Jun 05 15:12:01 2013 -0400
+++ b/tests/junit-runner/CommandLine.java Thu Jun 06 17:07:28 2013 +0200
@@ -26,10 +26,9 @@
public static void runMainAndExit(JUnitSystem system, String... args) {
new CommandLine().runMain(system, args);
- system.exit(0);
+ System.exit(0);
}
- @Override
public Result runMain(JUnitSystem system, String... args) {
List> classes = new ArrayList>();
List missingClasses = new ArrayList();
diff -r 83e496086fea -r e8341834febd tests/reproducers/simple/AppletTest/resources/appletZeroH.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/reproducers/simple/AppletTest/resources/appletZeroH.html Thu Jun 06 17:07:28 2013 +0200
@@ -0,0 +1,44 @@
+
+
+
+
+
diff -r 83e496086fea -r e8341834febd tests/reproducers/simple/AppletTest/resources/appletZeroW.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/reproducers/simple/AppletTest/resources/appletZeroW.html Thu Jun 06 17:07:28 2013 +0200
@@ -0,0 +1,44 @@
+
+
+
+
+
diff -r 83e496086fea -r e8341834febd tests/reproducers/simple/AppletTest/resources/appletZeroWH.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/reproducers/simple/AppletTest/resources/appletZeroWH.html Thu Jun 06 17:07:28 2013 +0200
@@ -0,0 +1,44 @@
+
+
+
+
+
diff -r 83e496086fea -r e8341834febd tests/reproducers/simple/AppletTest/testcases/AppletTestTests.java
--- a/tests/reproducers/simple/AppletTest/testcases/AppletTestTests.java Wed Jun 05 15:12:01 2013 -0400
+++ b/tests/reproducers/simple/AppletTest/testcases/AppletTestTests.java Thu Jun 06 17:07:28 2013 +0200
@@ -1,4 +1,4 @@
-/* AppletTestTests.java
+/*
Copyright (C) 2011 Red Hat, Inc.
This file is part of IcedTea.
@@ -154,4 +154,29 @@
ServerAccess.PROCESS_TIMEOUT = 20 * 1000; //back to normal
}
}
+
+
+ @Test
+ @TestInBrowsers(testIn = {Browsers.one})
+ @NeedsDisplay
+ public void appletZeroWH() throws Exception {
+ ProcessResult pr = server.executeBrowser("/appletZeroWH.html", new CountingClosingListenerImpl(), new CountingClosingListenerImpl());
+ evaluateApplet(pr, false);
+ }
+
+ @Test
+ @TestInBrowsers(testIn = {Browsers.one})
+ @NeedsDisplay
+ public void appletZeroW() throws Exception {
+ ProcessResult pr = server.executeBrowser("/appletZeroW.html", new CountingClosingListenerImpl(), new CountingClosingListenerImpl());
+ evaluateApplet(pr, false);
+ }
+
+ @Test
+ @TestInBrowsers(testIn = {Browsers.one})
+ @NeedsDisplay
+ public void appletZeroH() throws Exception {
+ ProcessResult pr = server.executeBrowser("/appletZeroH.html", new CountingClosingListenerImpl(), new CountingClosingListenerImpl());
+ evaluateApplet(pr, false);
+ }
}
From jvanek at redhat.com Thu Jun 6 08:50:58 2013
From: jvanek at redhat.com (Jiri Vanek)
Date: Thu, 06 Jun 2013 17:50:58 +0200
Subject: [rfc][icedtea-web] Stripping semicolon tags from jar urls
In-Reply-To: <51B0A5C9.5050704@redhat.com>
References: <51ACCCFD.9080505@redhat.com> <51ADAA3A.8090809@redhat.com>
<51ADEA27.1060501@redhat.com> <51ADFB00.2040009@redhat.com>
<51B0A5C9.5050704@redhat.com>
Message-ID: <51B0AFE2.3020204@redhat.com>
On 06/06/2013 05:07 PM, Andrew Azores wrote:
> Changelog:
>
> * tests/test-extensions/net/sourceforge/jnlp/TinyHttpdImpl.java: added stripHttpPathParams method to
> remove semicolon-delimited "tags" from end of JAR URLs
>
> * tests/test-extensions-tests/net/sourceforge/jnlp/ServerAccessTest.java: added test case for new
> method in TinyHttpdImpl
>
> * tests/reproducers/simple/StripHttpPathParams/resources/StripHttpPathParams.html: browser-launched
> applet test case for reproducer
> * tests/reproducers/simple/StripHttpPathParams/resources/StripHttpPathParams.jnlp: JNLP test case
> for reproducer
> * tests/reproducers/simple/StripHttpPathParams/srcs/StripHttpPathParams.java: reproducer
> * tests/reproducers/simple/StripHttpPathParams/testcases/StripHttpPathParamsTest.java: reproducer
>
>
> Moved the semicolon-stripping logic out of Parser since it turns out it wasn't needed there anymore,
> but it was needed for TinyHttpdImpl. Changed unit testing to target this instead. Fixed existing
> reproducer and added HTML applet test case.
>
After discussion
Nice work on this already !
FileInputStream f = new FileInputStream(pp);
f.read(b);
+ f.close();
String content = ""
Are you sure with this close? I'm not.... I'm actually against this line unless it is defended.
Before so - please run all reproducers and double check that this line have not caused any issues.
rest is only cosmetic changes please:
public static String stripHttpPathParams(String url) {
+ if (url == null)
+ return null;
+
Brackets needed around condition body
+ public void testStripHttpPathParamsLaunch() throws Exception {
+ ProcessResult pr = server.executeJavawsHeadless("/StripHttpPathParams.jnlp");
+ Assert.assertTrue("stdout should contain \"running\" but did not", pr.stdout.contains("running"));
+ }
Indentation issue
+ System.out.println("*** APPLET RUNNING ***");
+ System.exit(0);
The exit is redundant for applets. Pelase remove
+ Assert.assertTrue("stdout should contain \"*** APPLET RUNNING ***\" but did not",
pr.stdout.contains("*** APPLET RUNNING ***"));
+ Assert.assertTrue(pr.wasTerminated);
Please do not copypaste - the *** APPLET RUNNING *** is known consatnt in test-extensions.
+ Assert.assertTrue(pr.wasTerminated);
I know this is wide spread across the tests, but I believe it is wrong. Unless you strongly desire
to keep it here, please remove.
Unittests do also have strange indentation. Are you using some formatting tool? Both Netbens and
Eclipse can do the job for you. In icedtea-web is .settiings directory with config files for ITW
if you wont.
After above is fixed, then I will push for you.
Also one more nit. As separate changeset, can you please
extract the:
p = URLDecoder.decode(p, "UTF-8");
p = p.replaceAll("\\?.*", "");
p = (".".concat((p.endsWith("/")) ? p.concat("index.html") :
p)).replace('/', File.separatorChar);
p = stripHttpPathParams(p);
(and maybe few more lines)
To some method urlToFile or similar and - especially - with unittes in test-extensions-tests as you
are already skilled in. The future urlToFile have already grown a bit and it is not clear what is
is supposed to do :)
Good job! Thankx for your code!
J.
From andrew at icedtea.classpath.org Thu Jun 6 09:06:38 2013
From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org)
Date: Thu, 06 Jun 2013 16:06:38 +0000
Subject: /hg/icedtea7: 5 new changesets
Message-ID:
changeset 76348ab9702d in /hg/icedtea7
details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=76348ab9702d
author: Andrew John Hughes
date: Thu Jun 06 14:23:03 2013 +0100
Actually invoke clean-cryptocheck.
2013-06-06 Andrew John Hughes
* Makefile.am:
(.PHONY): Add clean-cryptocheck.
(clean-local): Likewise.
changeset 8a402a3b4727 in /hg/icedtea7
details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=8a402a3b4727
author: Andrew John Hughes
date: Thu Jun 06 14:28:36 2013 +0100
PR1358: Make XRender mandatory.
2013-03-21 Michal Vyskocil
PR1358: Make XRender mandatory.
* configure.ac:
Remove check on ENABLE_XRENDER variable
which is no longer set.
changeset cec6f644a4db in /hg/icedtea7
details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=cec6f644a4db
author: Andrew John Hughes
date: Thu Jun 06 17:03:19 2013 +0100
PR1360: Check for /usr/lib64 JVMs and generic JPackage alternative
2013-06-06 Andrew John Hughes
* INSTALL:
Synchronise list of VMs with macro in acinclude.m4.
* acinclude.m4: Provide separate output for user
specified JDKs and the checking process. Extend
the list of JVMs to include more from Fedora &
RHEL and the newer Gentoo variants.
* NEWS: Updated.
2013-03-21 Michal Vyskocil
PR1360: Check for /usr/lib64 JVMs and generic JPackage alternative
* INSTALL: Add /etc/alternatives/java_sdk_openjdk.
* acinclude.m4: Likewise.
2013-06-06 Andrew John Hughes
* AUTHORS: Updated with Michal.
changeset fdf24edd4879 in /hg/icedtea7
details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=fdf24edd4879
author: Andrew John Hughes
date: Thu Jun 06 17:05:25 2013 +0100
Merge THANKYOU into AUTHORS for simplicity.
2013-06-06 Andrew John Hughes
* AUTHORS: Include entries from THANKYOU.
* THANKYOU: Removed.
changeset 070a86b396c8 in /hg/icedtea7
details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=070a86b396c8
author: Andrew John Hughes
date: Thu Jun 06 17:06:23 2013 +0100
Update my Red Hat e-mail address.
2013-06-06 Andrew John Hughes
* ChangeLog: Update my Red Hat e-mail address.
diffstat:
AUTHORS | 5 +-
ChangeLog | 916 ++++++++++++++++++++++++++++++----------------------------
INSTALL | 7 +-
Makefile.am | 6 +-
NEWS | 2 +
THANKYOU | 9 -
acinclude.m4 | 24 +-
configure.ac | 11 +-
8 files changed, 515 insertions(+), 465 deletions(-)
diffs (truncated from 3882 to 500 lines):
diff -r bfcb188e2568 -r 070a86b396c8 AUTHORS
--- a/AUTHORS Wed Jun 05 23:01:32 2013 +0100
+++ b/AUTHORS Thu Jun 06 17:06:23 2013 +0100
@@ -14,7 +14,8 @@
Kyle Galloway
Dennis Gilmore
Andrew Haley
-Andrew John Hughes
+C. K. Jester-Young