From omajid at redhat.com Sun Jun 1 14:43:39 2014 From: omajid at redhat.com (Omair Majid) Date: Sun, 1 Jun 2014 10:43:39 -0400 Subject: [rfc][icedtea-web] PolicyEditor model refactor In-Reply-To: <5388A343.3040906@redhat.com> References: <5374E325.3000705@redhat.com> <20140529221946.GC2313@redhat.com> <5388911B.2080102@redhat.com> <20140530142509.GB32071@redhat.com> <5388A343.3040906@redhat.com> Message-ID: <20140601144338.GA2406@redhat.com> * Andrew Azores [2014-05-30 11:27]: > Eh, sure. weakThis is already around and has valid uses (I think), but I can > change this to use the direct reference as well. CustomPolicyViewer doesn't > handle a null parent very well anyway. > > New patch only makes the weakThis -> PolicyEditor.this change. There are still some weakThis uses around, but you can do that separately. Patch looks okay to go in. Cheers, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From bugzilla-daemon at icedtea.classpath.org Sun Jun 1 20:43:27 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sun, 01 Jun 2014 20:43:27 +0000 Subject: [Bug 1811] New: Eclipse: Constantly SIGSEGV'ing when using auto-correct functions Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1811 Bug ID: 1811 Summary: Eclipse: Constantly SIGSEGV'ing when using auto-correct functions Product: IcedTea Version: 2.4.7 Hardware: x86_64 OS: Linux Status: NEW Severity: normal Priority: P5 Component: JamVM Assignee: xerxes at zafena.se Reporter: openjdk1 at yopmail.com CC: unassigned at icedtea.classpath.org Created attachment 1090 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=1090&action=edit Latest of the 17 crash logs... This seems to occur when Eclipse goes to notify me of missing imports, etc. If you go to import the file or mouseover any of the errors it cannot handle it and I get a SIGSEGV. It might also have something to do with dex merging as I see this in the terminal prior to the event. Regardless - This has reproducibly occurred 17 times. ----------------------------------------------------- Merged dex A (12 defs/4.8KiB) with dex B (505 defs/547.1KiB). Result is 517 defs/677.8KiB. Took 0.3s # # A fatal error has been detected by the Java Runtime Environment: # # SIGSEGV (0xb) at pc=0x00007fbccb903781, pid=28181, tid=140452240176896 # # JRE version: OpenJDK Runtime Environment (7.0_55-b14) (build 1.7.0_55-b14) # Java VM: OpenJDK 64-Bit Server VM (24.51-b03 mixed mode linux-amd64 compressed oops) # Problematic frame: # C [libsoup-2.4.so.1+0x72781] soup_session_feature_detach+0x11 # # Core dump written. Default location: /home/manjaro/adt-bundle-linux-x86_64-20131030/eclipse/core or core.28181 # # An error report file with more information is saved as: # /home/manjaro/adt-bundle-linux-x86_64-20131030/eclipse/hs_err_pid28181.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. # java version "1.7.0_55" OpenJDK Runtime Environment (IcedTea 2.4.7) (ArchLinux build 7.u55_2.4.7-1-x86_64) OpenJDK 64-Bit Server VM (build 24.51-b03, mixed mode) -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From ptisnovs at icedtea.classpath.org Mon Jun 2 11:31:32 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Mon, 02 Jun 2014 11:31:32 +0000 Subject: /hg/gfx-test: Another ten new helper methods added into BitBltBu... Message-ID: changeset a7c9405ecdd8 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=a7c9405ecdd8 author: Pavel Tisnovsky date: Mon Jun 02 13:32:19 2014 +0200 Another ten new helper methods added into BitBltBufferedImageOp. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/BitBltBufferedImageOp.java | 170 ++++++++++++++++++ 2 files changed, 175 insertions(+), 0 deletions(-) diffs (192 lines): diff -r ce5c532fd9da -r a7c9405ecdd8 ChangeLog --- a/ChangeLog Mon May 26 11:25:48 2014 +0200 +++ b/ChangeLog Mon Jun 02 13:32:19 2014 +0200 @@ -1,3 +1,8 @@ +2014-06-02 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/BitBltBufferedImageOp.java: + Another ten new helper methods added into BitBltBufferedImageOp. + 2014-05-26 Pavel Tisnovsky * src/org/gfxtest/testsuites/CAGOperationsOnTwoOverlappingCircles.java: diff -r ce5c532fd9da -r a7c9405ecdd8 src/org/gfxtest/testsuites/BitBltBufferedImageOp.java --- a/src/org/gfxtest/testsuites/BitBltBufferedImageOp.java Mon May 26 11:25:48 2014 +0200 +++ b/src/org/gfxtest/testsuites/BitBltBufferedImageOp.java Mon Jun 02 13:32:19 2014 +0200 @@ -2438,6 +2438,176 @@ } /** + * Test basic BitBlt operation for buffered image with type {@link BufferedImage#TYPE_BYTE_GRAY}. + * + * @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 + */ + protected TestResult doBitBltDiagonalColorStripesTypeByteGray(TestImage image, Graphics2D graphics2d, + BufferedImageOp rasterOp) + { + return CommonBitmapOperations.doBitBltTestWithDiagonalColorStripesImage(image, graphics2d, BufferedImage.TYPE_BYTE_GRAY, rasterOp); + } + + /** + * Test basic BitBlt operation for buffered image with type {@link BufferedImage#TYPE_INT_BGR}. + * + * @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 + */ + protected TestResult doBitBltDiagonalColorStripesTypeIntBGR(TestImage image, Graphics2D graphics2d, + BufferedImageOp rasterOp) + { + return CommonBitmapOperations.doBitBltTestWithDiagonalColorStripesImage(image, graphics2d, BufferedImage.TYPE_INT_BGR, rasterOp); + } + + /** + * Test basic BitBlt operation for buffered image with type {@link BufferedImage#TYPE_INT_RGB}. + * + * @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 + */ + protected TestResult doBitBltDiagonalColorStripesTypeIntRGB(TestImage image, Graphics2D graphics2d, + BufferedImageOp rasterOp) + { + return CommonBitmapOperations.doBitBltTestWithDiagonalColorStripesImage(image, graphics2d, BufferedImage.TYPE_INT_RGB, rasterOp); + } + + /** + * Test basic BitBlt operation for buffered image with type {@link BufferedImage#TYPE_INT_ARGB}. + * + * @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 + */ + protected TestResult doBitBltDiagonalColorStripesTypeIntARGB(TestImage image, Graphics2D graphics2d, + BufferedImageOp rasterOp) + { + return CommonBitmapOperations.doBitBltTestWithDiagonalColorStripesImage(image, graphics2d, BufferedImage.TYPE_INT_ARGB, rasterOp); + } + + /** + * Test basic BitBlt operation for buffered image with type {@link BufferedImage#TYPE_INT_ARGB_PRE}. + * + * @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 + */ + protected TestResult doBitBltDiagonalColorStripesTypeIntARGB_Pre(TestImage image, Graphics2D graphics2d, + BufferedImageOp rasterOp) + { + return CommonBitmapOperations.doBitBltTestWithDiagonalColorStripesImage(image, graphics2d, BufferedImage.TYPE_INT_ARGB_PRE, rasterOp); + } + + /** + * Test basic BitBlt operation for buffered image with type {@link BufferedImage#TYPE_USHORT_555_RGB}. + * + * @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 + */ + protected TestResult doBitBltDiagonalColorStripesTypeUshort555RGB(TestImage image, Graphics2D graphics2d, + BufferedImageOp rasterOp) + { + return CommonBitmapOperations.doBitBltTestWithDiagonalColorStripesImage(image, graphics2d, BufferedImage.TYPE_USHORT_555_RGB, rasterOp); + } + + /** + * Test basic BitBlt operation for buffered image with type {@link BufferedImage#TYPE_USHORT_565_RGB}. + * + * @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 + */ + protected TestResult doBitBltDiagonalColorStripesTypeUshort565RGB(TestImage image, Graphics2D graphics2d, + BufferedImageOp rasterOp) + { + return CommonBitmapOperations.doBitBltTestWithDiagonalColorStripesImage(image, graphics2d, BufferedImage.TYPE_USHORT_565_RGB, rasterOp); + } + + /** + * Test basic BitBlt operation for buffered image with type {@link BufferedImage#TYPE_USHORT_GRAY}. + * + * @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 + */ + protected TestResult doBitBltDiagonalColorStripesTypeUshortGray(TestImage image, Graphics2D graphics2d, + BufferedImageOp rasterOp) + { + return CommonBitmapOperations.doBitBltTestWithDiagonalColorStripesImage(image, graphics2d, BufferedImage.TYPE_USHORT_GRAY, rasterOp); + } + + /** + * Test basic BitBlt operation for buffered image with type {@link BufferedImage#TYPE_3BYTE_BGR}. + * + * @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 + */ + protected TestResult doBitBltBWDotsType3ByteBGR(TestImage image, Graphics2D graphics2d, + BufferedImageOp rasterOp) + { + return CommonBitmapOperations.doBitBltTestWithBWDotsImage(image, graphics2d, BufferedImage.TYPE_3BYTE_BGR, rasterOp); + } + + /** + * Test basic BitBlt operation for buffered image with type {@link BufferedImage#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 + */ + protected TestResult doBitBltBWDotsType4ByteABGR(TestImage image, Graphics2D graphics2d, + BufferedImageOp rasterOp) + { + return CommonBitmapOperations.doBitBltTestWithBWDotsImage(image, graphics2d, BufferedImage.TYPE_4BYTE_ABGR, rasterOp); + } + + /** * Entry point to the test suite. * * @param args not used in this case From bugzilla-daemon at icedtea.classpath.org Mon Jun 2 12:39:35 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 02 Jun 2014 12:39:35 +0000 Subject: [Bug 877] CUPS should not be a mandatory requirement In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=877 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Version|8-hg |7-hg Blocks| |1698 Target Milestone|--- |2.6.0 --- Comment #4 from Andrew John Hughes --- Retargetting for 7-hg and 2.6.0 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Mon Jun 2 12:39:35 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 02 Jun 2014 12:39:35 +0000 Subject: [Bug 1698] [TRACKER] IcedTea 2.6.0 Release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1698 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on| |877 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Mon Jun 2 13:11:50 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 02 Jun 2014 13:11:50 +0000 Subject: [Bug 1810] The IcedTea plugin crashes on Firefox. In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1810 Andrew Azores changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED CC| |aazores at redhat.com Assignee|dbhole at redhat.com |aazores 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: From bugzilla-daemon at icedtea.classpath.org Mon Jun 2 13:14:58 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 02 Jun 2014 13:14:58 +0000 Subject: [Bug 1810] The IcedTea plugin crashes on Firefox. In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1810 --- Comment #2 from Andrew Azores --- Hmm, odd that you can't use 'ICEDTEAPLUGIN_DEBUG=true firefox 2>&1 | tee plugin.log'. Maybe you don't have 'tee' installed? You can perhaps try ''ICEDTEAPLUGIN_DEBUG=true firefox &> plugin.log' instead. It's a known issue with the current version of IcedTea-Web that signed applets with the Permissions attribute set to Sandbox are not fully supported, however. If you examine the crash message, it most likely will say this and ask you to retry running the applet but with the "Sandbox" button on the security dialog that appears. There's currently a patch awaiting review that resolves this issue, so (hopefully) the next minor ITW release won't have this issue. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Mon Jun 2 13:23:24 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 02 Jun 2014 13:23:24 +0000 Subject: [Bug 1761] plugin does not start at all, or crashes after some time in sandboxes mode In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1761 Andrew Azores changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution|--- |DUPLICATE --- Comment #2 from Andrew Azores --- Probable duplicate of 1769. *** This bug has been marked as a duplicate of bug 1769 *** -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Mon Jun 2 13:24:04 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 02 Jun 2014 13:24:04 +0000 Subject: [Bug 1810] The IcedTea plugin crashes on Firefox. In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1810 --- Comment #3 from Andrew Azores --- Probable duplicate of 1769. http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1769 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Mon Jun 2 13:25:40 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 02 Jun 2014 13:25:40 +0000 Subject: [Bug 1767] IcedTea-web plugin fails where it once did not In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1767 Andrew Azores changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution|--- |DUPLICATE --- Comment #2 from Andrew Azores --- *** This bug has been marked as a duplicate of bug 1769 *** -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From aazores at icedtea.classpath.org Mon Jun 2 13:35:32 2014 From: aazores at icedtea.classpath.org (aazores at icedtea.classpath.org) Date: Mon, 02 Jun 2014 13:35:32 +0000 Subject: /hg/icedtea-web: PolicyEditor file/model logic extracted into Po... Message-ID: changeset 428af70f3b7c in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=428af70f3b7c author: Andrew Azores date: Mon Jun 02 09:35:20 2014 -0400 PolicyEditor file/model logic extracted into PolicyFileModel 2014-06-02 Andrew Azores * netx/net/sourceforge/jnlp/security/policyeditor/CustomPolicyViewer.java: store PolicyFileModel as field. (updateCustomPermissions): new method * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java (codebasePermissionsMap, customPermissionsMap, file, fileWatcher, savePolicyFile, openAndParsePolicyFile): Policy file model logic extracted into new PolicyFileModel class. (policyFile) new PolicyFileModel field. (addNewCodebase, getCodebases, getPermissions, getCustomPermissions, updateCheckboxes, updateCheckboxesImpl, updateCustomPermissions, resetCodebases, openAndParsePolicyFile, savePolicyFile, initializeMapForCodebase, checkPolicyChangesWithDialog): refactored to use PolicyFileModel * netx/net/sourceforge/jnlp/security/policyeditor/PolicyFileModel.java: new class for modelling Policy files * tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorParsingTest.java: update to use PolicyEditor's policyFile field * tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorTest.java (testReturnedCustomPermissionsSetIsCopy): initial assertion of empty set added, final assertion of empty set rephrased (testReturnedCodebasesAreCopy) renamed testReturnedCodebasesIsCopy, rephrased and using assertEquals rather than assertTrue diffstat: ChangeLog | 23 + netx/net/sourceforge/jnlp/security/policyeditor/CustomPolicyViewer.java | 33 +- netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java | 400 ++------- netx/net/sourceforge/jnlp/security/policyeditor/PolicyFileModel.java | 283 +++++++ tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorParsingTest.java | 9 +- tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorTest.java | 15 +- 6 files changed, 445 insertions(+), 318 deletions(-) diffs (truncated from 1097 to 500 lines): diff -r ef96a1c8776b -r 428af70f3b7c ChangeLog --- a/ChangeLog Fri May 30 16:07:45 2014 -0400 +++ b/ChangeLog Mon Jun 02 09:35:20 2014 -0400 @@ -1,3 +1,26 @@ +2014-06-02 Andrew Azores + + * netx/net/sourceforge/jnlp/security/policyeditor/CustomPolicyViewer.java: + store PolicyFileModel as field. (updateCustomPermissions): new method + * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java + (codebasePermissionsMap, customPermissionsMap, file, fileWatcher, + savePolicyFile, openAndParsePolicyFile): Policy file model logic extracted + into new PolicyFileModel class. (policyFile) new PolicyFileModel field. + (addNewCodebase, getCodebases, getPermissions, getCustomPermissions, + updateCheckboxes, updateCheckboxesImpl, updateCustomPermissions, + resetCodebases, openAndParsePolicyFile, savePolicyFile, + initializeMapForCodebase, checkPolicyChangesWithDialog): refactored to use + PolicyFileModel + * netx/net/sourceforge/jnlp/security/policyeditor/PolicyFileModel.java: + new class for modelling Policy files + * tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorParsingTest.java: + update to use PolicyEditor's policyFile field + * tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorTest.java + (testReturnedCustomPermissionsSetIsCopy): initial assertion of empty set + added, final assertion of empty set rephrased + (testReturnedCodebasesAreCopy) renamed testReturnedCodebasesIsCopy, + rephrased and using assertEquals rather than assertTrue + 2014-05-29 Jie Kang Added reproducer for PR1794: Bug where Java variables are not accessed diff -r ef96a1c8776b -r 428af70f3b7c netx/net/sourceforge/jnlp/security/policyeditor/CustomPolicyViewer.java --- a/netx/net/sourceforge/jnlp/security/policyeditor/CustomPolicyViewer.java Fri May 30 16:07:45 2014 -0400 +++ b/netx/net/sourceforge/jnlp/security/policyeditor/CustomPolicyViewer.java Mon Jun 02 09:35:20 2014 -0400 @@ -56,6 +56,7 @@ import javax.swing.JOptionPane; import javax.swing.JScrollPane; import javax.swing.ListSelectionModel; +import javax.swing.ScrollPaneConstants; import javax.swing.WindowConstants; import javax.swing.border.EmptyBorder; @@ -74,17 +75,23 @@ private final JLabel listLabel = new JLabel(); private final ActionListener addButtonAction, removeButtonAction, closeButtonAction; private final WeakReference weakThis = new WeakReference<>(this); + private final PolicyFileModel policyFile; + private final PolicyEditor parent; + private final String codebase; /** * @param parent the parent PolicyEditor which created this CustomPolicyViewer * @param codebase the codebase for which these custom permissions are enabled - * @param permissions a collection of CustomPermissions which were found in the policy file + * @param policyFile the PolicyFileModel */ - public CustomPolicyViewer(final PolicyEditor parent, final String codebase, final Collection permissions) { + public CustomPolicyViewer(final PolicyEditor parent, final String codebase, final PolicyFileModel policyFile) { super(); + this.parent = parent; + this.codebase = codebase; + this.policyFile = policyFile; setLayout(new GridBagLayout()); setTitle(R("PECPTitle")); - customPermissions.addAll(permissions); + customPermissions.addAll(policyFile.getCopyOfCustomPermissions().get(codebase)); for (final CustomPermission perm : customPermissions) { listModel.addElement(perm); } @@ -112,7 +119,7 @@ if (perm != null) { customPermissions.add(perm); listModel.addElement(perm); - parent.updateCustomPermissions(codebase, customPermissions); + updateCustomPermissions(); } } }; @@ -127,7 +134,7 @@ } customPermissions.remove(list.getSelectedValue()); listModel.removeElement(list.getSelectedValue()); - parent.updateCustomPermissions(codebase, customPermissions); + updateCustomPermissions(); } }; removeButton.setText(R("PECPRemoveButton")); @@ -152,8 +159,8 @@ } listLabel.setText(R("PECPListLabel", codebaseText)); - scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); - scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); + scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED); + scrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS); list.setSelectedIndex(0); setupLayout(); setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); @@ -209,4 +216,16 @@ setMinimumSize(getPreferredSize()); } + /** + * Update the custom permissions map. Used by the Custom Policy Viewer to update its parent + * PolicyEditor to changes it has made + * @param codebase the codebase for which changes were made + * @param permissions the permissions granted to this codebase + */ + private void updateCustomPermissions() { + parent.setChangesMade(); + policyFile.clearCustomCodebase(codebase); + policyFile.addCustomPermissions(codebase, customPermissions); + } + } diff -r ef96a1c8776b -r 428af70f3b7c netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java --- a/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java Fri May 30 16:07:45 2014 -0400 +++ b/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java Mon Jun 02 09:35:20 2014 -0400 @@ -58,13 +58,9 @@ import java.lang.reflect.InvocationTargetException; import java.net.MalformedURLException; import java.net.URL; -import java.nio.channels.FileLock; -import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Arrays; -import java.util.Calendar; import java.util.Collection; -import java.util.Collections; import java.util.HashMap; import java.util.HashSet; import java.util.LinkedList; @@ -72,8 +68,6 @@ import java.util.Map; import java.util.Set; import java.util.TreeMap; -import java.util.regex.Matcher; -import java.util.regex.Pattern; import javax.swing.AbstractAction; import javax.swing.AbstractButton; @@ -95,6 +89,7 @@ import javax.swing.JScrollPane; import javax.swing.KeyStroke; import javax.swing.ListSelectionModel; +import javax.swing.ScrollPaneConstants; import javax.swing.SwingUtilities; import javax.swing.UIManager; import javax.swing.WindowConstants; @@ -106,7 +101,6 @@ import net.sourceforge.jnlp.security.policyeditor.PolicyEditorPermissions.Group; import net.sourceforge.jnlp.util.FileUtils; import net.sourceforge.jnlp.util.FileUtils.OpenFileResult; -import net.sourceforge.jnlp.util.MD5SumWatcher; import net.sourceforge.jnlp.util.logging.OutputController; /** @@ -160,13 +154,9 @@ + " " + FILE_FLAG + "\t\t\t" + R("PEFileFlag") + "\n" + " " + CODEBASE_FLAG + "\t\t" + R("PECodebaseFlag") + "\n"; - private static final String AUTOGENERATED_NOTICE = "/* DO NOT MODIFY! AUTO-GENERATED */"; - - private File file; + private final PolicyFileModel policyFile = new PolicyFileModel(); private boolean changesMade = false; private boolean closed = false; - private final Map> codebasePermissionsMap = new HashMap<>(); - private final Map> customPermissionsMap = new HashMap<>(); private final Map checkboxMap = new TreeMap<>(); private final List groupBoxList = new ArrayList<>(Group.values().length); private final JScrollPane scrollPane = new JScrollPane(); @@ -177,7 +167,6 @@ private final JFileChooser fileChooser; private CustomPolicyViewer cpViewer = null; private final WeakReference weakThis = new WeakReference<>(this); - private MD5SumWatcher fileWatcher; private final ActionListener okButtonAction, addCodebaseButtonAction, removeCodebaseButtonAction, openButtonAction, saveAsButtonAction, viewCustomButtonAction; @@ -187,9 +176,9 @@ private final PolicyEditorPermissions.Group group; - private JCheckBoxWithGroup(Group g) { - super(g.getTitle()); - group = g; + private JCheckBoxWithGroup(Group group) { + super(group.getTitle()); + this.group = group; } public Group getGroup() { @@ -233,27 +222,29 @@ } if (filepath != null) { - file = new File(filepath); + policyFile.setFile(new File(filepath)); openAndParsePolicyFile(); } else { resetCodebases(); + addNewCodebase(""); } + changesMade = false; - fileChooser = new JFileChooser(file); + fileChooser = new JFileChooser(policyFile.getFile()); fileChooser.setFileHidingEnabled(false); okButtonAction = new ActionListener() { @Override public void actionPerformed(final ActionEvent event) { - if (file == null) { + if (policyFile.getFile() == null) { final int choice = fileChooser.showOpenDialog(weakThis.get()); if (choice == JFileChooser.APPROVE_OPTION) { - file = fileChooser.getSelectedFile(); + policyFile.setFile(fileChooser.getSelectedFile()); } } // May still be null if user cancelled the file chooser - if (file != null) { + if (policyFile.getFile() != null) { savePolicyFile(); } } @@ -285,10 +276,10 @@ if (changesMade) { final int save = JOptionPane.showConfirmDialog(weakThis.get(), R("PESaveChanges")); if (save == JOptionPane.YES_OPTION) { - if (file == null) { + if (policyFile.getFile() == null) { final int choice = fileChooser.showSaveDialog(weakThis.get()); if (choice == JFileChooser.APPROVE_OPTION) { - file = fileChooser.getSelectedFile(); + policyFile.setFile(fileChooser.getSelectedFile()); } else if (choice == JFileChooser.CANCEL_OPTION) { return; } @@ -300,7 +291,7 @@ } final int choice = fileChooser.showOpenDialog(weakThis.get()); if (choice == JFileChooser.APPROVE_OPTION) { - file = fileChooser.getSelectedFile(); + policyFile.setFile(fileChooser.getSelectedFile()); openAndParsePolicyFile(); } } @@ -311,7 +302,7 @@ public void actionPerformed(final ActionEvent e) { final int choice = fileChooser.showSaveDialog(weakThis.get()); if (choice == JFileChooser.APPROVE_OPTION) { - file = fileChooser.getSelectedFile(); + policyFile.setFile(fileChooser.getSelectedFile()); changesMade = true; savePolicyFile(); } @@ -329,7 +320,7 @@ return; } if (cpViewer == null) { - cpViewer = new CustomPolicyViewer(weakThis.get(), codebase, customPermissionsMap.get(codebase)); + cpViewer = new CustomPolicyViewer(PolicyEditor.this, codebase, policyFile); cpViewer.setVisible(true); } else { cpViewer.toFront(); @@ -654,19 +645,21 @@ */ public void addNewCodebase(final String codebase) { try { - new URL(codebase); - } catch (MalformedURLException mfue) { + if (!codebase.isEmpty()) { + new URL(codebase); + } + } catch (final MalformedURLException mfue) { OutputController.getLogger().log("Could not add codebase " + codebase); OutputController.getLogger().log(mfue); return; } - final boolean existingCodebase = initializeMapForCodebase(codebase); final String model; if (codebase.isEmpty()) { model = R("PEGlobalSettings"); } else { model = codebase; } + final boolean existingCodebase = policyFile.addCodebase(codebase); if (!existingCodebase) { SwingUtilities.invokeLater(new Runnable() { @Override @@ -746,7 +739,7 @@ if (previousIndex < 0) { previousIndex = 0; } - codebasePermissionsMap.remove(codebase); + policyFile.removeCodebase(codebase); final int fIndex = previousIndex; SwingUtilities.invokeLater(new Runnable() { @Override @@ -758,40 +751,23 @@ changesMade = true; } - /** - * @return the set of Codebase entries in the policy file - */ public Set getCodebases() { - return new HashSet(codebasePermissionsMap.keySet()); + return new HashSet<>(policyFile.getCopyOfPermissions().keySet()); } - /** - * @param codebase the codebase to query - * @return a map of permissions to whether these permissions are set for the given codebase - */ public Map getPermissions(final String codebase) { - final Map permissions = codebasePermissionsMap.get(codebase); - if (permissions != null) { - return new HashMap(permissions); - } else { - final Map blank = new HashMap<>(); - for (final PolicyEditorPermissions perm : PolicyEditorPermissions.values()) { - blank.put(perm, false); - } - return blank; - } + policyFile.addCodebase(codebase); + return new HashMap<>(policyFile.getCopyOfPermissions().get(codebase)); } - /** - * @param codebase the codebase to query - * @return a collection of CustomPermissions granted to the given codebase - */ public Collection getCustomPermissions(final String codebase) { - final Collection permissions = customPermissionsMap.get(codebase); - if (permissions != null) { - return new HashSet(permissions); - } else { - return Collections.emptySet(); + policyFile.addCodebase(codebase); + return new HashSet<>(policyFile.getCopyOfCustomPermissions().get(codebase)); + } + + private void updateCheckboxes() { + for (String codebase : policyFile.getCopyOfPermissions().keySet()) { + updateCheckboxes(codebase); } } @@ -829,30 +805,19 @@ for (final ActionListener l : box.getActionListeners()) { box.removeActionListener(l); } - initializeMapForCodebase(codebase); - final Map map = codebasePermissionsMap.get(codebase); - final boolean state; - if (map != null) { - final Boolean s = map.get(perm); - if (s != null) { - state = s; - } else { - state = false; - } - } else { - state = false; - } + policyFile.addCodebase(codebase); + final boolean state = policyFile.getPermission(codebase, perm); for (final JCheckBoxWithGroup jg : groupBoxList) { - jg.setState(map); + jg.setState(policyFile.getCopyOfPermissions().get(codebase)); } box.setSelected(state); box.addActionListener(new ActionListener() { @Override public void actionPerformed(final ActionEvent e) { changesMade = true; - map.put(perm, box.isSelected()); + policyFile.setPermission(codebase, perm, box.isSelected()); for (JCheckBoxWithGroup jg : groupBoxList) { - jg.setState(map); + jg.setState(policyFile.getCopyOfPermissions().get(codebase)); } } }); @@ -1003,9 +968,8 @@ backup.add(l); groupCh.removeActionListener(l); } - final Map map = codebasePermissionsMap.get(codebase); for (final PolicyEditorPermissions p : groupCh.getGroup().getPermissions()) { - map.put(p, groupCh.isSelected()); + policyFile.setPermission(codebase, p, groupCh.isSelected()); } changesMade = true; updateCheckboxes(codebase); @@ -1066,8 +1030,8 @@ }); list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); - scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); - scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); + scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED); + scrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS); scrollPane.setViewportView(list); final GridBagConstraints listConstraints = new GridBagConstraints(); listConstraints.fill = GridBagConstraints.BOTH; @@ -1111,243 +1075,79 @@ setMinimumSize(getPreferredSize()); } - /** - * Update the custom permissions map. Used by the Custom Policy Viewer to update its parent - * PolicyEditor to changes it has made - * @param codebase the codebase for which changes were made - * @param permissions the permissions granted to this codebase - */ - void updateCustomPermissions(final String codebase, final Collection permissions) { + void setChangesMade() { changesMade = true; - customPermissionsMap.get(codebase).clear(); - customPermissionsMap.get(codebase).addAll(permissions); } private void resetCodebases() { listModel.clear(); - codebasePermissionsMap.clear(); - customPermissionsMap.clear(); - - initializeMapForCodebase(""); - listModel.addElement(R("PEGlobalSettings")); - list.setSelectedValue(R("PEGlobalSettings"), true); - updateCheckboxes(""); + policyFile.clearPermissions(); + policyFile.clearCustomPermissions(); } - /** - * Open the file pointed to by the filePath field. This is either provided by the - * "-file" command line flag, or if none given, comes from DeploymentConfiguration. - */ private void openAndParsePolicyFile() { - new Thread() { - @Override - public void run() { - resetCodebases(); - - if (!file.exists()) { - try { - file.createNewFile(); - } catch (final IOException e) { - OutputController.getLogger().log(e); - // If this fails we'll end up handling it a few lines down anyway. - } + resetCodebases(); + try { + policyFile.getFile().createNewFile(); + } catch (final IOException e) { + OutputController.getLogger().log(e); + } + final OpenFileResult ofr = FileUtils.testFilePermissions(policyFile.getFile()); + if (ofr == OpenFileResult.FAILURE || ofr == OpenFileResult.NOT_FILE) { + FileUtils.showCouldNotOpenFilepathDialog(weakThis.get(), policyFile.getFile().getPath()); + return; + } + if (ofr == OpenFileResult.CANT_WRITE) { + FileUtils.showReadOnlyDialog(weakThis.get()); + } + try { + policyFile.openAndParsePolicyFile(); + changesMade = false; + for (final String codebase : policyFile.getCodebases()) { + final String model; + if (codebase.isEmpty()) { + model = R("PEGlobalSettings"); + } else { + model = codebase; } - final OpenFileResult ofr = FileUtils.testFilePermissions(file); - if (ofr == OpenFileResult.FAILURE || ofr == OpenFileResult.NOT_FILE) { - FileUtils.showCouldNotOpenFilepathDialog(weakThis.get(), file.getPath()); - return; - } - if (ofr == OpenFileResult.CANT_WRITE) { - FileUtils.showReadOnlyDialog(weakThis.get()); - } - final String contents; - try { - fileWatcher = new MD5SumWatcher(file); - fileWatcher.update(); - // User-level policy files are expected to be short enough that loading them in as a String - // should not actually be *too* bad, and it's easy to work with. - contents = FileUtils.loadFileAsString(file); - } catch (final IOException e) { - OutputController.getLogger().log(e); - OutputController.getLogger().log(OutputController.Level.ERROR_ALL, R("RCantOpenFile", file.getPath())); - FileUtils.showCouldNotOpenDialog(weakThis.get(), R("PECouldNotOpen")); From aazores at redhat.com Mon Jun 2 13:36:30 2014 From: aazores at redhat.com (Andrew Azores) Date: Mon, 02 Jun 2014 09:36:30 -0400 Subject: [rfc][icedtea-web] Temporary Permissions as check boxes In-Reply-To: <478067093.9206491.1401482670568.JavaMail.zimbra@redhat.com> References: <478067093.9206491.1401482670568.JavaMail.zimbra@redhat.com> Message-ID: <538C7DDE.3060905@redhat.com> On 05/30/2014 04:44 PM, Lukasz Dracz wrote: > Hello, > > I have changed the Temporary Permissions menu items into check box menu items, and changed up the behaviour to take this into account. Adding the set of permissions happens when a check box is selected and removed when not, to a new temporary Permissions collection. When the user is satisfied with the selection of temporary permissions they have chosen, they press sandbox which is when the new temporary Permissions collection gets applied like the old way. > A planned future patch is to restructure the temporary permissions into categories and presets that would make better sense under this check box concept. > > Changelog: > 2014-05-30 Lukasz Dracz > > Changed Temporary Permissions from menu items to check box menu items > * netx/net/sourceforge/jnlp/security/dialogs/TemporaryPermissionsButton.java > (TemporaryPermissionsListener.actionPerformed): Added behaviour to add > or remove permissions from a new collection of permissions based on > whether the item is checked or not > (TemporaryPermissionsButton.TemporaryPermissionsButton): Added action > listener and applied the new collection of permissions for when the > sandbox button is pressed > > > Thank you, > Lukasz Dracz I think you forgot an attachment. Thanks, -- Andrew A From bugzilla-daemon at icedtea.classpath.org Mon Jun 2 13:37:40 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 02 Jun 2014 13:37:40 +0000 Subject: [Bug 1812] New: [IcedTea8] Unable to locate HotSpot checksum when downloading Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1812 Bug ID: 1812 Summary: [IcedTea8] Unable to locate HotSpot checksum when downloading Product: IcedTea Version: 8-hg Hardware: all OS: All Status: NEW Severity: normal Priority: P5 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: gnu.andrew at redhat.com CC: unassigned at icedtea.classpath.org /bin/wget "`gawk 'version==$1 {print $2}' version=default /notnfs/nighttester/icedtea8-target-testing/hotspot.map`"/archive/"`gawk 'version==$1 {print $3}' version=default /notnfs/nighttester/icedtea8-target-testing/hotspot.map`".tar.gz -O hotspot.tar.gz ; \ if ! echo " hotspot.tar.gz" \ | /bin/sha256sum --check ; \ then echo "ERROR: Bad download of HotSpot zip"; false; \ fi; \ fi /bin/sha256sum: standard input: no properly formatted SHA256 checksum lines found Typo in the Makefile results in the empty echo line above. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Mon Jun 2 13:38:06 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 02 Jun 2014 13:38:06 +0000 Subject: [Bug 1812] [IcedTea8] Unable to locate HotSpot checksum when downloading In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1812 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Blocks| |1282 Target Milestone|--- |3.0.0 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Mon Jun 2 13:38:06 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 02 Jun 2014 13:38:06 +0000 Subject: [Bug 1282] [TRACKER] IcedTea 3.0.0 Release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1282 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on| |1812 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From andrew at icedtea.classpath.org Mon Jun 2 13:49:00 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Mon, 02 Jun 2014 13:49:00 +0000 Subject: /hg/icedtea6: 2 new changesets Message-ID: changeset 1da0a61f16a1 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=1da0a61f16a1 author: Andrew John Hughes date: Fri May 23 02:08:32 2014 +0100 S7027300, RH1098399: Unsynchronized HashMap access causes endless loop 2014-05-22 Andrew John Hughes * Makefile.am: (ICEDTEA_PATCHES): Add new patch. * NEWS: Updated. * patches/openjdk/7027300-unsync_hashmap_causes_endless_loop.patch: Backport fix to replace HashMap usage with ConcurrentHashMap, avoiding deadlock. changeset 93a1398d268f in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=93a1398d268f author: Andrew John Hughes date: Mon Jun 02 14:48:27 2014 +0100 S6611637: NullPointerException in sun.font.GlyphLayout$EngineRecord.init S6727719: Performance of TextLayout.getBounds() S6745225: Memory leak while drawing Attributed String S6904962: GlyphVector.getVisualBounds should not be affected by leading or trailing white space. S7183251: Netbeans editor renders text wrong on JDK 7u6 build 2014-05-28 Andrew John Hughes * Makefile.am: (ICEDTEA_PATCHES): Add new patches. * NEWS: Updated. * patches/openjdk/6611637-npe_in_glyphlayout.patch, * patches/openjdk/6727719-performance_of_textlayout_getbounds.patch, * patches/openjdk/6745225-memory_leak_in_attributed_string.patch, * patches/openjdk/6904962-getvisualbounds_affected_by_white_space.patch, * patches/openjdk/7183251-netbeans_renders_text_wrong.patch: Backport text layout fixes. diffstat: ChangeLog | 21 + Makefile.am | 8 +- NEWS | 6 + patches/openjdk/6611637-npe_in_glyphlayout.patch | 21 + patches/openjdk/6727719-performance_of_textlayout_getbounds.patch | 36 ++ patches/openjdk/6745225-memory_leak_in_attributed_string.patch | 160 ++++++++++ patches/openjdk/6904962-getvisualbounds_affected_by_white_space.patch | 129 ++++++++ patches/openjdk/7027300-unsync_hashmap_causes_endless_loop.patch | 33 ++ patches/openjdk/7183251-netbeans_renders_text_wrong.patch | 24 + 9 files changed, 437 insertions(+), 1 deletions(-) diffs (490 lines): diff -r 29d6e0e0c2d2 -r 93a1398d268f ChangeLog --- a/ChangeLog Fri May 09 13:28:18 2014 +0200 +++ b/ChangeLog Mon Jun 02 14:48:27 2014 +0100 @@ -1,3 +1,24 @@ +2014-05-28 Andrew John Hughes + + * Makefile.am: + (ICEDTEA_PATCHES): Add new patches. + * NEWS: Updated. + * patches/openjdk/6611637-npe_in_glyphlayout.patch, + * patches/openjdk/6727719-performance_of_textlayout_getbounds.patch, + * patches/openjdk/6745225-memory_leak_in_attributed_string.patch, + * patches/openjdk/6904962-getvisualbounds_affected_by_white_space.patch, + * patches/openjdk/7183251-netbeans_renders_text_wrong.patch: + Backport text layout fixes. + +2014-05-22 Andrew John Hughes + + * Makefile.am: + (ICEDTEA_PATCHES): Add new patch. + * NEWS: Updated. + * patches/openjdk/7027300-unsync_hashmap_causes_endless_loop.patch: + Backport fix to replace HashMap usage with ConcurrentHashMap, + avoiding deadlock. + 2014-05-09 Jiri Vanek * Makefile.am: (add-nss-debug.stamp): fixed ECJ_BUILD_OUTPUT_DIR diff -r 29d6e0e0c2d2 -r 93a1398d268f Makefile.am --- a/Makefile.am Fri May 09 13:28:18 2014 +0200 +++ b/Makefile.am Mon Jun 02 14:48:27 2014 +0100 @@ -614,7 +614,13 @@ patches/shark-drop_compile_method_arg_following_7083786.patch \ patches/openjdk/7151089-numa_should_not_free_shm_large_pages.patch \ patches/openjdk/8013057-detect_mmap_commit_failures.patch \ - patches/openjdk/8026887-make_large_page_allocations_easier_to_debug.patch + patches/openjdk/8026887-make_large_page_allocations_easier_to_debug.patch \ + patches/openjdk/7027300-unsync_hashmap_causes_endless_loop.patch \ + patches/openjdk/7183251-netbeans_renders_text_wrong.patch \ + patches/openjdk/6904962-getvisualbounds_affected_by_white_space.patch \ + patches/openjdk/6611637-npe_in_glyphlayout.patch \ + patches/openjdk/6727719-performance_of_textlayout_getbounds.patch \ + patches/openjdk/6745225-memory_leak_in_attributed_string.patch if WITH_RHINO ICEDTEA_PATCHES += \ diff -r 29d6e0e0c2d2 -r 93a1398d268f NEWS --- a/NEWS Fri May 09 13:28:18 2014 +0200 +++ b/NEWS Mon Jun 02 14:48:27 2014 +0100 @@ -15,7 +15,13 @@ New in release 1.14.0 (201X-XX-XX): * Backports + - S6611637: NullPointerException in sun.font.GlyphLayout$EngineRecord.init + - S6727719: Performance of TextLayout.getBounds() + - S6745225: Memory leak while drawing Attributed String + - S6904962: GlyphVector.getVisualBounds should not be affected by leading or trailing white space. + - S7027300, RH1098399: Unsynchronized HashMap access causes endless loop - S7151089: PS NUMA: NUMA allocator should not attempt to free pages when using SHM large pages + - S7183251: Netbeans editor renders text wrong on JDK 7u6 build - S8013057: Detect mmap() commit failures in Linux and Solaris os::commit_memory() impls and call vm_exit_out_of_memory() - S8026887: Make issues due to failed large pages allocations easier to debug diff -r 29d6e0e0c2d2 -r 93a1398d268f patches/openjdk/6611637-npe_in_glyphlayout.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/openjdk/6611637-npe_in_glyphlayout.patch Mon Jun 02 14:48:27 2014 +0100 @@ -0,0 +1,21 @@ +# HG changeset patch +# User prr +# Date 1211221532 25200 +# Mon May 19 11:25:32 2008 -0700 +# Node ID 075152aa892eda98de7530b761bb347e44a58ba6 +# Parent bf2c66511d1bf7c2a4d04b3f8bda635466abae44 +6611637: NullPointerException in sun.font.GlyphLayout$EngineRecord.init +Reviewed-by: tdv, jgodinez + +diff -r bf2c66511d1b -r 075152aa892e src/share/classes/sun/font/GlyphLayout.java +--- openjdk/jdk/src/share/classes/sun/font/GlyphLayout.java Fri May 16 03:10:58 2008 +0400 ++++ openjdk/jdk/src/share/classes/sun/font/GlyphLayout.java Mon May 19 11:25:32 2008 -0700 +@@ -85,7 +85,7 @@ + private GVData _gvdata; + + // cached glyph layout data for reuse +- private static GlyphLayout cache; // reusable ++ private static volatile GlyphLayout cache; // reusable + + private LayoutEngineFactory _lef; // set when get is called, unset when done is called + private TextRecord _textRecord; // the text we're working on, used by iterators diff -r 29d6e0e0c2d2 -r 93a1398d268f patches/openjdk/6727719-performance_of_textlayout_getbounds.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/openjdk/6727719-performance_of_textlayout_getbounds.patch Mon Jun 02 14:48:27 2014 +0100 @@ -0,0 +1,36 @@ +# HG changeset patch +# User prr +# Date 1236884509 25200 +# Thu Mar 12 12:01:49 2009 -0700 +# Node ID 59696dfd545508d75e1cb89446fb7074fd50fdab +# Parent 8d5144dfc642e4da0e5b91bd28b7fa1e4e5e133b +6727719: Performance of TextLayout.getBounds() +Reviewed-by: jgodinez, dougfelt + +diff -r 8d5144dfc642 -r 59696dfd5455 src/share/classes/sun/font/FileFontStrike.java +--- openjdk/jdk/src/share/classes/sun/font/FileFontStrike.java Thu Mar 05 10:56:06 2009 -0800 ++++ openjdk/jdk/src/share/classes/sun/font/FileFontStrike.java Thu Mar 12 12:01:49 2009 -0700 +@@ -842,8 +842,22 @@ + return fileFont.getGlyphOutlineBounds(pScalerContext, glyphCode); + } + ++ private ConcurrentHashMap outlineMap; ++ + GeneralPath getGlyphOutline(int glyphCode, float x, float y) { +- return fileFont.getGlyphOutline(pScalerContext, glyphCode, x, y); ++ if (outlineMap == null) { ++ outlineMap = new ConcurrentHashMap(); ++ } ++ GeneralPath gp = (GeneralPath)outlineMap.get(glyphCode); ++ if (gp == null) { ++ gp = fileFont.getGlyphOutline(pScalerContext, glyphCode, 0, 0); ++ outlineMap.put(glyphCode, gp); ++ } ++ gp = (GeneralPath)gp.clone(); // mutable! ++ if (x != 0f || y != 0f) { ++ gp.transform(AffineTransform.getTranslateInstance(x, y)); ++ } ++ return gp; + } + + GeneralPath getGlyphVectorOutline(int[] glyphs, float x, float y) { diff -r 29d6e0e0c2d2 -r 93a1398d268f patches/openjdk/6745225-memory_leak_in_attributed_string.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/openjdk/6745225-memory_leak_in_attributed_string.patch Mon Jun 02 14:48:27 2014 +0100 @@ -0,0 +1,160 @@ +# HG changeset patch +# User prr +# Date 1237830054 25200 +# Mon Mar 23 10:40:54 2009 -0700 +# Node ID e43ea83ca69672b961ed71d85ba78e112ce63877 +# Parent 467e4f25965c37adf1fbdeb93b494bd05449dbc3 +6745225: Memory leak while drawing Attributed String +Reviewed-by: jgodinez, dougfelt + +diff -r 467e4f25965c -r e43ea83ca696 src/share/classes/sun/font/FileFontStrike.java +--- openjdk/jdk/src/share/classes/sun/font/FileFontStrike.java Fri Mar 20 20:05:22 2009 +0300 ++++ openjdk/jdk/src/share/classes/sun/font/FileFontStrike.java Mon Mar 23 10:40:54 2009 -0700 +@@ -26,6 +26,7 @@ + package sun.font; + + import java.lang.ref.SoftReference; ++import java.lang.ref.WeakReference; + import java.awt.Font; + import java.awt.GraphicsEnvironment; + import java.awt.Rectangle; +@@ -842,15 +843,29 @@ + return fileFont.getGlyphOutlineBounds(pScalerContext, glyphCode); + } + +- private ConcurrentHashMap outlineMap; ++ private ++ WeakReference> outlineMapRef; + + GeneralPath getGlyphOutline(int glyphCode, float x, float y) { +- if (outlineMap == null) { +- outlineMap = new ConcurrentHashMap(); ++ ++ GeneralPath gp = null; ++ ConcurrentHashMap outlineMap = null; ++ ++ if (outlineMapRef != null) { ++ outlineMap = outlineMapRef.get(); ++ if (outlineMap != null) { ++ gp = (GeneralPath)outlineMap.get(glyphCode); ++ } + } +- GeneralPath gp = (GeneralPath)outlineMap.get(glyphCode); ++ + if (gp == null) { + gp = fileFont.getGlyphOutline(pScalerContext, glyphCode, 0, 0); ++ if (outlineMap == null) { ++ outlineMap = new ConcurrentHashMap(); ++ outlineMapRef = ++ new WeakReference ++ >(outlineMap); ++ } + outlineMap.put(glyphCode, gp); + } + gp = (GeneralPath)gp.clone(); // mutable! +diff -r 467e4f25965c -r e43ea83ca696 src/share/classes/sun/font/GlyphLayout.java +--- openjdk/jdk/src/share/classes/sun/font/GlyphLayout.java Fri Mar 20 20:05:22 2009 +0300 ++++ openjdk/jdk/src/share/classes/sun/font/GlyphLayout.java Mon Mar 23 10:40:54 2009 -0700 +@@ -338,6 +338,8 @@ + cache = new ConcurrentHashMap(10); + cacheRef = new + SoftReference>(cache); ++ } else if (cache.size() >= 512) { ++ cache.clear(); + } + cache.put(key, res); + } +diff -r 467e4f25965c -r e43ea83ca696 test/java/awt/font/LineBreakMeasurer/FRCTest.java +--- /dev/null Thu Jan 01 00:00:00 1970 +0000 ++++ openjdk/jdk/test/java/awt/font/LineBreakMeasurer/FRCTest.java Mon Mar 23 10:40:54 2009 -0700 +@@ -0,0 +1,90 @@ ++/* ++ * Copyright 2008-9 Sun Microsystems, Inc. All Rights Reserved. ++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ++ * ++ * This code is free software; you can redistribute it and/or modify it ++ * under the terms of the GNU General Public License version 2 only, as ++ * published by the Free Software Foundation. ++ * ++ * This code 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 ++ * version 2 for more details (a copy is included in the LICENSE file that ++ * accompanied this code). ++ * ++ * You should have received a copy of the GNU General Public License version ++ * 2 along with this work; if not, write to the Free Software Foundation, ++ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. ++ * ++ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ++ * CA 95054 USA or visit www.sun.com if you need additional information or ++ * have any questions. ++ */ ++ ++/* ++ * @test ++ * @bug 6448405 6519513 6745225 ++ * @summary static HashMap cache in LineBreakMeasurer can grow wihout bounds ++ * @run main/othervm/timeout=600 -client -Xms16m -Xmx16m FRCTest ++ */ ++import java.awt.*; ++import java.awt.image.*; ++import java.awt.font.*; ++import java.awt.geom.*; ++import java.text.*; ++import java.util.Hashtable; ++ ++public class FRCTest { ++ ++ static AttributedString vanGogh = new AttributedString( ++ "Many people believe that Vincent van Gogh painted his best works " + ++ "during the two-year period he spent in Provence. Here is where he " + ++ "painted The Starry Night--which some consider to be his greatest " + ++ "work of all. However, as his artistic brilliance reached new " + ++ "heights in Provence, his physical and mental health plummeted. ", ++ new Hashtable()); ++ ++ public static void main(String[] args) { ++ ++ // First test the behaviour of Graphics2D.getFontRenderContext(); ++ BufferedImage bi = new BufferedImage(1, 1, BufferedImage.TYPE_INT_RGB); ++ Graphics2D g2d = bi.createGraphics(); ++ AffineTransform g2dTx = new AffineTransform(2,0,2,0,1,1); ++ g2d.setTransform(g2dTx); ++ AffineTransform frcTx = g2d.getFontRenderContext().getTransform(); ++ AffineTransform frcExpected = new AffineTransform(2,0,2,0,0,0); ++ if (!frcTx.equals(frcExpected)) { ++ throw new RuntimeException("FRC Tx may have translate?"); ++ } ++ ++ // Now test that using different translates with LBM is OK ++ // This test doesn't prove a lot since showing a leak really ++ // requires a basher test that can run for a long time. ++ for (int x=0;x<100;x++) { ++ for (int y=0;y<100;y++) { ++ AttributedCharacterIterator aci = vanGogh.getIterator(); ++ AffineTransform tx = AffineTransform.getTranslateInstance(x, y); ++ FontRenderContext frc = new FontRenderContext(tx, false, false); ++ LineBreakMeasurer lbm = new LineBreakMeasurer(aci, frc); ++ lbm.setPosition(aci.getBeginIndex()); ++ while (lbm.getPosition() < aci.getEndIndex()) { ++ lbm.nextLayout(100f); ++ } ++ } ++ } ++ ++ for (int x=0;x<25;x++) { ++ for (int y=0;y<25;y++) { ++ AttributedCharacterIterator aci = vanGogh.getIterator(); ++ double rot = Math.random()*.4*Math.PI - .2*Math.PI; ++ AffineTransform tx = AffineTransform.getRotateInstance(rot); ++ FontRenderContext frc = new FontRenderContext(tx, false, false); ++ LineBreakMeasurer lbm = new LineBreakMeasurer(aci, frc); ++ lbm.setPosition(aci.getBeginIndex()); ++ while (lbm.getPosition() < aci.getEndIndex()) { ++ lbm.nextLayout(100f); ++ } ++ } ++ } ++ } ++} diff -r 29d6e0e0c2d2 -r 93a1398d268f patches/openjdk/6904962-getvisualbounds_affected_by_white_space.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/openjdk/6904962-getvisualbounds_affected_by_white_space.patch Mon Jun 02 14:48:27 2014 +0100 @@ -0,0 +1,129 @@ +# HG changeset patch +# User prr +# Date 1259620775 28800 +# Mon Nov 30 14:39:35 2009 -0800 +# Node ID 479c14bec7f18baa769a9f8598c1b17884487f7a +# Parent ba01efbf7c70428f8791ee577d98283123fc0c8a +6904962: GlyphVector.getVisualBounds should not be affected by leading or trailing white space. +Reviewed-by: igor, dougfelt + +diff -r ba01efbf7c70 -r 479c14bec7f1 src/share/classes/sun/font/StandardGlyphVector.java +--- openjdk/jdk/src/share/classes/sun/font/StandardGlyphVector.java Mon Nov 09 14:23:49 2009 -0800 ++++ openjdk/jdk/src/share/classes/sun/font/StandardGlyphVector.java Mon Nov 30 14:39:35 2009 -0800 +@@ -396,12 +396,19 @@ + + // !!! not cached, assume TextLayout will cache if necessary + public Rectangle2D getVisualBounds() { +- if (glyphs.length == 0) { +- return new Rectangle2D.Float(0, 0, 0, 0); ++ Rectangle2D result = null; ++ for (int i = 0; i < glyphs.length; ++i) { ++ Rectangle2D glyphVB = getGlyphVisualBounds(i).getBounds2D(); ++ if (!glyphVB.isEmpty()) { ++ if (result == null) { ++ result = glyphVB; ++ } else { ++ Rectangle2D.union(result, glyphVB, result); ++ } ++ } + } +- Rectangle2D result = getGlyphVisualBounds(0).getBounds2D(); +- for (int i = 1; i < glyphs.length; ++i) { +- Rectangle2D.union(result, getGlyphVisualBounds(i).getBounds2D(), result); ++ if (result == null) { ++ result = new Rectangle2D.Float(0, 0, 0, 0); + } + return result; + } +@@ -1787,8 +1794,19 @@ + gp.transform(sgv.invdtx); + result = gp.getBounds2D(); + } +- result.setRect(result.getMinX() + x + dx, result.getMinY() + y + dy, +- result.getWidth(), result.getHeight()); ++ /* Since x is the logical advance of the glyph to this point. ++ * Because of the way that Rectangle.union is specified, this ++ * means that subsequent unioning of a rect including that ++ * will be affected, even if the glyph is empty. So skip such ++ * cases. This alone isn't a complete solution since x==0 ++ * may also not be what is wanted. The code that does the ++ * unioning also needs to be aware to ignore empty glyphs. ++ */ ++ if (!result.isEmpty()) { ++ result.setRect(result.getMinX() + x + dx, ++ result.getMinY() + y + dy, ++ result.getWidth(), result.getHeight()); ++ } + return result; + } + +diff -r ba01efbf7c70 -r 479c14bec7f1 test/java/awt/font/GlyphVector/VisualBounds.java +--- /dev/null Thu Jan 01 00:00:00 1970 +0000 ++++ openjdk/jdk/test/java/awt/font/GlyphVector/VisualBounds.java Mon Nov 30 14:39:35 2009 -0800 +@@ -0,0 +1,66 @@ ++/* ++ * Copyright 2009 Sun Microsystems, Inc. All Rights Reserved. ++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ++ * ++ * This code is free software; you can redistribute it and/or modify it ++ * under the terms of the GNU General Public License version 2 only, as ++ * published by the Free Software Foundation. ++ * ++ * This code 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 ++ * version 2 for more details (a copy is included in the LICENSE file that ++ * accompanied this code). ++ * ++ * You should have received a copy of the GNU General Public License version ++ * 2 along with this work; if not, write to the Free Software Foundation, ++ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. ++ * ++ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, ++ * CA 95054 USA or visit www.sun.com if you need additional information or ++ * have any questions. ++ */ ++ ++/* @test ++ * @summary leading and trailing spaces must not affect visual bounds ++ * @bug 6904962 ++ */ ++ ++ ++import java.awt.*; ++import java.awt.font.*; ++import java.awt.geom.*; ++ ++public class VisualBounds { ++ ++ public static void main(String args[]) { ++ ++ String s1 = "a"; ++ String s2 = s1+" "; ++ String s3 = " "+s1; ++ Font f = new Font("Dialog", Font.PLAIN, 12); ++ FontRenderContext frc = new FontRenderContext(null, false, false); ++ GlyphVector gv1 = f.createGlyphVector(frc, s1); ++ GlyphVector gv2 = f.createGlyphVector(frc, s2); ++ GlyphVector gv3 = f.createGlyphVector(frc, s3); ++ Rectangle2D bds1 = gv1.getVisualBounds(); ++ Rectangle2D bds2 = gv2.getVisualBounds(); ++ Rectangle2D bds3 = gv3.getVisualBounds(); ++ GlyphVector gv4 = f.createGlyphVector(frc, " "); ++ Rectangle2D bds4 = gv4.getVisualBounds(); ++ System.out.println(bds1); ++ System.out.println(bds2); ++ System.out.println(bds3); ++ System.out.println(bds4); ++ ++ if (!bds1.equals(bds2)) { ++ throw new RuntimeException("Trailing space: Visual bounds differ"); ++ } ++ if (bds2.getWidth() != bds3.getWidth()) { ++ throw new RuntimeException("Leading space: Visual widths differ"); ++ } ++ if (!bds4.isEmpty()) { ++ throw new RuntimeException("Non empty bounds for space"); ++ } ++ } ++} diff -r 29d6e0e0c2d2 -r 93a1398d268f patches/openjdk/7027300-unsync_hashmap_causes_endless_loop.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/openjdk/7027300-unsync_hashmap_causes_endless_loop.patch Mon Jun 02 14:48:27 2014 +0100 @@ -0,0 +1,33 @@ +# HG changeset patch +# User vkarnauk +# Date 1340286118 -14400 +# Thu Jun 21 17:41:58 2012 +0400 +# Node ID f71b6117fd7bbb13ed4c1f68ace873695edd49cb +# Parent 762ae4a20c8b115e5cb486c5204d8bdee747ee59 +7027300: Unsynchronized HashMap access causes endless loop +Reviewed-by: bae, prr + +diff -r 762ae4a20c8b -r f71b6117fd7b src/share/classes/sun/font/SunLayoutEngine.java +--- openjdk/jdk/src/share/classes/sun/font/SunLayoutEngine.java Thu Jun 21 14:19:12 2012 +0400 ++++ openjdk/jdk/src/share/classes/sun/font/SunLayoutEngine.java Thu Jun 21 17:41:58 2012 +0400 +@@ -33,7 +33,7 @@ + import sun.font.GlyphLayout.*; + import java.awt.geom.Point2D; + import java.lang.ref.SoftReference; +-import java.util.HashMap; ++import java.util.concurrent.ConcurrentHashMap; + import java.util.Locale; + + /* +@@ -129,9 +129,9 @@ + + // !!! don't need this unless we have more than one sun layout engine... + public LayoutEngine getEngine(LayoutEngineKey key) { +- HashMap cache = (HashMap)cacheref.get(); ++ ConcurrentHashMap cache = (ConcurrentHashMap)cacheref.get(); + if (cache == null) { +- cache = new HashMap(); ++ cache = new ConcurrentHashMap(); + cacheref = new SoftReference(cache); + } + diff -r 29d6e0e0c2d2 -r 93a1398d268f patches/openjdk/7183251-netbeans_renders_text_wrong.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/openjdk/7183251-netbeans_renders_text_wrong.patch Mon Jun 02 14:48:27 2014 +0100 @@ -0,0 +1,24 @@ +# HG changeset patch +# User prr +# Date 1342804653 25200 +# Fri Jul 20 10:17:33 2012 -0700 +# Node ID 84d5cdbe7bce2caf907ec842ac7b4fa2097fb295 +# Parent bf5bf37108c14d1d01b8a1043f9e3ff0e3727869 +7183251: Netbeans editor renders text wrong on JDK 7u6 build +Reviewed-by: igor, jgodinez + +diff -r bf5bf37108c1 -r 84d5cdbe7bce src/share/classes/sun/font/SunLayoutEngine.java +--- openjdk/jdk/src/share/classes/sun/font/SunLayoutEngine.java Fri Jul 20 13:58:52 2012 +0400 ++++ openjdk/jdk/src/share/classes/sun/font/SunLayoutEngine.java Fri Jul 20 10:17:33 2012 -0700 +@@ -137,8 +137,9 @@ + + LayoutEngine e = (LayoutEngine)cache.get(key); + if (e == null) { +- e = new SunLayoutEngine(key.copy()); +- cache.put(key, e); ++ LayoutEngineKey copy = key.copy(); ++ e = new SunLayoutEngine(copy); ++ cache.put(copy, e); + } + return e; + } From andrew at icedtea.classpath.org Mon Jun 2 13:50:35 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Mon, 02 Jun 2014 13:50:35 +0000 Subject: /hg/icedtea: PR1812: Unable to locate HotSpot checksum when down... Message-ID: changeset 239ef498435c in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=239ef498435c author: Andrew John Hughes date: Mon Jun 02 14:50:10 2014 +0100 PR1812: Unable to locate HotSpot checksum when downloading 2014-06-02 Andrew John Hughes * Makefile.am: (download-openjdk): Fix typo using HOTSPOT_SHA256SUM instead of HS_SHA256SUM. * NEWS: Updated. diffstat: ChangeLog | 7 +++++++ Makefile.am | 2 +- NEWS | 1 + 3 files changed, 9 insertions(+), 1 deletions(-) diffs (37 lines): diff -r 8543b35292bb -r 239ef498435c ChangeLog --- a/ChangeLog Fri May 30 22:31:03 2014 +0100 +++ b/ChangeLog Mon Jun 02 14:50:10 2014 +0100 @@ -1,3 +1,10 @@ +2014-06-02 Andrew John Hughes + + * Makefile.am: + (download-openjdk): Fix typo using + HOTSPOT_SHA256SUM instead of HS_SHA256SUM. + * NEWS: Updated. + 2014-05-30 Andrew John Hughes PR1806: Support Debian/Ubuntu 7 & 8 OpenJDK diff -r 8543b35292bb -r 239ef498435c Makefile.am --- a/Makefile.am Fri May 30 22:31:03 2014 +0100 +++ b/Makefile.am Mon Jun 02 14:50:10 2014 +0100 @@ -722,7 +722,7 @@ mv $(HOTSPOT_SRC_ZIP) $(HOTSPOT_SRC_ZIP).old ; \ fi ; \ $(WGET) $(HS_URL)/archive/$(HS_CHANGESET).tar.gz -O $(HOTSPOT_SRC_ZIP) ; \ - if ! echo "$(HOTSPOT_SHA256SUM) $(HOTSPOT_SRC_ZIP)" \ + if ! echo "$(HS_SHA256SUM) $(HOTSPOT_SRC_ZIP)" \ | $(SHA256SUM) --check ; \ then echo "ERROR: Bad download of HotSpot zip"; false; \ fi; \ diff -r 8543b35292bb -r 239ef498435c NEWS --- a/NEWS Fri May 30 22:31:03 2014 +0100 +++ b/NEWS Mon Jun 02 14:50:10 2014 +0100 @@ -36,6 +36,7 @@ - PR1796: make fails with "computed checksum did NOT match" - Remove jcheck - PR1806: Support Debian/Ubuntu 7 & 8 OpenJDK Installs as Boot JDK + - PR1812: Unable to locate HotSpot checksum when downloading * JamVM - JSR 292: Invoke Dynamic - JSR 308: Type Annotations From bugzilla-daemon at icedtea.classpath.org Mon Jun 2 13:50:41 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 02 Jun 2014 13:50:41 +0000 Subject: [Bug 1812] [IcedTea8] Unable to locate HotSpot checksum when downloading In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1812 --- Comment #1 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea?cmd=changeset;node=239ef498435c author: Andrew John Hughes date: Mon Jun 02 14:50:10 2014 +0100 PR1812: Unable to locate HotSpot checksum when downloading 2014-06-02 Andrew John Hughes * Makefile.am: (download-openjdk): Fix typo using HOTSPOT_SHA256SUM instead of HS_SHA256SUM. * NEWS: Updated. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Mon Jun 2 13:56:47 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 02 Jun 2014 13:56:47 +0000 Subject: [Bug 1812] [IcedTea8] Unable to locate HotSpot checksum when downloading In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1812 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: From bugzilla-daemon at icedtea.classpath.org Mon Jun 2 13:56:47 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 02 Jun 2014 13:56:47 +0000 Subject: [Bug 1282] [TRACKER] IcedTea 3.0.0 Release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1282 Bug 1282 depends on bug 1812, which changed state. Bug 1812 Summary: [IcedTea8] Unable to locate HotSpot checksum when downloading http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1812 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: From ldracz at redhat.com Mon Jun 2 14:09:40 2014 From: ldracz at redhat.com (Lukasz Dracz) Date: Mon, 2 Jun 2014 10:09:40 -0400 (EDT) Subject: [rfc][icedtea-web] Temporary Permissions as check boxes In-Reply-To: <538C7DDE.3060905@redhat.com> References: <478067093.9206491.1401482670568.JavaMail.zimbra@redhat.com> <538C7DDE.3060905@redhat.com> Message-ID: <1099968511.9565551.1401718180783.JavaMail.zimbra@redhat.com> ----- Original Message ----- > From: "Andrew Azores" > To: "Lukasz Dracz" , distro-pkg-dev at openjdk.java.net > Sent: Monday, June 2, 2014 9:36:30 AM > Subject: Re: [rfc][icedtea-web] Temporary Permissions as check boxes > > On 05/30/2014 04:44 PM, Lukasz Dracz wrote: > > Hello, > > > > I have changed the Temporary Permissions menu items into check box menu > > items, and changed up the behaviour to take this into account. Adding the > > set of permissions happens when a check box is selected and removed when > > not, to a new temporary Permissions collection. When the user is satisfied > > with the selection of temporary permissions they have chosen, they press > > sandbox which is when the new temporary Permissions collection gets > > applied like the old way. > > A planned future patch is to restructure the temporary permissions into > > categories and presets that would make better sense under this check box > > concept. > > > > Changelog: > > 2014-05-30 Lukasz Dracz > > > > Changed Temporary Permissions from menu items to check box menu > > items > > * > > netx/net/sourceforge/jnlp/security/dialogs/TemporaryPermissionsButton.java > > (TemporaryPermissionsListener.actionPerformed): Added behaviour to > > add > > or remove permissions from a new collection of permissions based > > on > > whether the item is checked or not > > (TemporaryPermissionsButton.TemporaryPermissionsButton): Added > > action > > listener and applied the new collection of permissions for when > > the > > sandbox button is pressed > > > > > > Thank you, > > Lukasz Dracz > > I think you forgot an attachment. > > Thanks, > > -- > Andrew A > > Hello, Yes I did, thank you for reminding me and sorry for the inconvenience. I have attached the mentioned patch to this email. Thank you Lukasz D -------------- next part -------------- A non-text attachment was scrubbed... Name: CheckBoxMenuItemForTemporaryPermissions-2.patch Type: text/x-patch Size: 6826 bytes Desc: not available URL: From aazores at redhat.com Mon Jun 2 14:27:50 2014 From: aazores at redhat.com (Andrew Azores) Date: Mon, 02 Jun 2014 10:27:50 -0400 Subject: [rfc][icedtea-web][policyeditor] Reduced usage of weak references Message-ID: <538C89E6.5050005@redhat.com> Hi, This patch reduces the usage of weak references in PolicyEditor and CustomPolicyViewer. There is still one use of a weak reference left, used when closing PolicyEditor and answering 'Yes' to saving changes first. In this case, the "Changes Saved" dialog appears after the editor has been closed and disposed, but the dialog holds a reference to it. This results in the JVM not exiting after PolicyEditor is closed. Using the weak reference in the way it's still used here allows for the JVM to properly exit once the editor is closed, while still allowing the dialog to be modal when it is shown in situations where the editor is not already closed. ChangeLog: * netx/net/sourceforge/jnlp/security/policyeditor/CustomPolicyViewer.java (weakThis): removed * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java (weakThis): used only in showChangesSavedDialog, other uses changed to PolicyEditor.this Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: policyeditor-weakthis.patch Type: text/x-patch Size: 11016 bytes Desc: not available URL: From aazores at redhat.com Mon Jun 2 15:08:45 2014 From: aazores at redhat.com (Andrew Azores) Date: Mon, 02 Jun 2014 11:08:45 -0400 Subject: [rfc][icedtea-web][policyeditor] SwingWorkers for opening/saving Message-ID: <538C937D.10301@redhat.com> Hi, This patch simply puts the blocking IO PolicyFileModel calls for opening and saving policy files into SwingWorkers. Currently there is no progress indicator - any suggestions on what kind of visual to use here? There isn't any easy way (at least right now) to determine how far along the opening/saving process is, so a standard rectangular progress indicator doesn't sound right to me. ChangeLog: * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java (openAndParsePolicyFile, savePolicyFile): use SwingWorkers (checkPolicyChangesWithDialog): handle Exceptions thrown by policyFile.hasChanged() and policyFile.getFile().getCanonicalPath(), rather than letting them bubble up Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: policyeditor-swingworker.patch Type: text/x-patch Size: 6900 bytes Desc: not available URL: From aazores at redhat.com Mon Jun 2 15:16:06 2014 From: aazores at redhat.com (Andrew Azores) Date: Mon, 02 Jun 2014 11:16:06 -0400 Subject: [rfc][icedtea-web] Temporary Permissions as check boxes In-Reply-To: <1099968511.9565551.1401718180783.JavaMail.zimbra@redhat.com> References: <478067093.9206491.1401482670568.JavaMail.zimbra@redhat.com> <538C7DDE.3060905@redhat.com> <1099968511.9565551.1401718180783.JavaMail.zimbra@redhat.com> Message-ID: <538C9536.8080807@redhat.com> On 06/02/2014 10:09 AM, Lukasz Dracz wrote: > > ----- Original Message ----- >> From: "Andrew Azores" >> To: "Lukasz Dracz" , distro-pkg-dev at openjdk.java.net >> Sent: Monday, June 2, 2014 9:36:30 AM >> Subject: Re: [rfc][icedtea-web] Temporary Permissions as check boxes >> >> On 05/30/2014 04:44 PM, Lukasz Dracz wrote: >>> Hello, >>> >>> I have changed the Temporary Permissions menu items into check box menu >>> items, and changed up the behaviour to take this into account. Adding the >>> set of permissions happens when a check box is selected and removed when >>> not, to a new temporary Permissions collection. When the user is satisfied >>> with the selection of temporary permissions they have chosen, they press >>> sandbox which is when the new temporary Permissions collection gets >>> applied like the old way. >>> A planned future patch is to restructure the temporary permissions into >>> categories and presets that would make better sense under this check box >>> concept. >>> >>> Changelog: >>> 2014-05-30 Lukasz Dracz >>> >>> Changed Temporary Permissions from menu items to check box menu >>> items >>> * >>> netx/net/sourceforge/jnlp/security/dialogs/TemporaryPermissionsButton.java >>> (TemporaryPermissionsListener.actionPerformed): Added behaviour to >>> add >>> or remove permissions from a new collection of permissions based >>> on >>> whether the item is checked or not >>> (TemporaryPermissionsButton.TemporaryPermissionsButton): Added >>> action >>> listener and applied the new collection of permissions for when >>> the >>> sandbox button is pressed >>> >>> >>> Thank you, >>> Lukasz Dracz >> I think you forgot an attachment. >> >> Thanks, >> >> -- >> Andrew A >> >> > Hello, > > Yes I did, thank you for reminding me and sorry for the inconvenience. > I have attached the mentioned patch to this email. > > Thank you > Lukasz D + temporaryPermissions.addAll((Collection) permissions); Is the cast here necessary? Please remove it if not. Otherwise, this looks good. Thanks, -- Andrew A From omajid at redhat.com Mon Jun 2 15:17:59 2014 From: omajid at redhat.com (Omair Majid) Date: Mon, 2 Jun 2014 11:17:59 -0400 Subject: [rfc][icedtea-web][policyeditor] SwingWorkers for opening/saving In-Reply-To: <538C937D.10301@redhat.com> References: <538C937D.10301@redhat.com> Message-ID: <20140602151759.GA6211@redhat.com> * Andrew Azores [2014-06-02 11:10]: > This patch simply puts the blocking IO PolicyFileModel calls for opening and > saving policy files into SwingWorkers. Patch looks good to me. > Currently there is no progress indicator - any suggestions on what > kind of visual to use here? There isn't any easy way (at least right > now) to determine how far along the opening/saving process is, so a > standard rectangular progress indicator doesn't sound right to me. An indeterminate progress bar [1] might be the simplest. Thanks, Omair [1] http://docs.oracle.com/javase/8/docs/api/javax/swing/JProgressBar.html#setIndeterminate-boolean- -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From jkang at redhat.com Mon Jun 2 15:20:24 2014 From: jkang at redhat.com (Jie Kang) Date: Mon, 2 Jun 2014 11:20:24 -0400 (EDT) Subject: [rfc][icedtea-web] Refactor of LiveConnect Tests In-Reply-To: <406866104.9602842.1401722239383.JavaMail.zimbra@redhat.com> Message-ID: <1529622958.9604504.1401722424370.JavaMail.zimbra@redhat.com> Hello, This patch refactors the majority of LiveConnect Tests (JS to Java and vice-versa) fixing the race condition between asynchronous JS and the J-applet. Code format is standardized and deprecated code usage is removed/replaced. Note that the file JSTest.js is duplicated for all LiveConnect Tests. This is because every single test requires the same function in JSTest.js to prevent the race condition from occurring. However, the test suite is not designed to easily have this code appear only once while also having tests be properly separate (ie. every single test-case should be able to run by itself without relying on another test case). If anyone has any suggestions on how to better implement this please say. Thanks, Jie Kang -------------- next part -------------- A non-text attachment was scrubbed... Name: liveconnect-testrefactor.patch Type: text/x-patch Size: 130174 bytes Desc: not available URL: From omajid at redhat.com Mon Jun 2 15:44:28 2014 From: omajid at redhat.com (Omair Majid) Date: Mon, 2 Jun 2014 11:44:28 -0400 Subject: [rfc][icedtea-web] Refactor of LiveConnect Tests In-Reply-To: <1529622958.9604504.1401722424370.JavaMail.zimbra@redhat.com> References: <406866104.9602842.1401722239383.JavaMail.zimbra@redhat.com> <1529622958.9604504.1401722424370.JavaMail.zimbra@redhat.com> Message-ID: <20140602154428.GB6211@redhat.com> * Jie Kang [2014-06-02 11:22]: > Note that the file JSTest.js is duplicated for all LiveConnect Tests. > This is because every single test requires the same function in > JSTest.js to prevent the race condition from occurring. However, the > test suite is not designed to easily have this code appear only once > while also having tests be properly separate (ie. every single > test-case should be able to run by itself without relying on another > test case). If anyone has any suggestions on how to better implement > this please say. My suggestion is to fix the test suite. Introduce a location for a common test resources shared across reproducers and put the duplicated file there. Also, introduce some way a reproducer can refer to shared files. This way, only those reproducers that need the shared will make use of them. Thanks, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From bugzilla-daemon at icedtea.classpath.org Mon Jun 2 15:55:37 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 02 Jun 2014 15:55:37 +0000 Subject: [Bug 1813] New: [IcedTea8] HotSpot URL should be used with --enable-hg Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1813 Bug ID: 1813 Summary: [IcedTea8] HotSpot URL should be used with --enable-hg Product: IcedTea Version: 8-hg Hardware: all OS: All Status: NEW Severity: enhancement Priority: P5 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: gnu.andrew at redhat.com CC: unassigned at icedtea.classpath.org At present, use of the --enable-hg option to get sources from Mercurial ignores the HotSpot settings in hotspot.map. It should at least use the URL, even though, by definition, the changesets aren't used. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Mon Jun 2 15:56:00 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 02 Jun 2014 15:56:00 +0000 Subject: [Bug 1282] [TRACKER] IcedTea 3.0.0 Release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1282 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on| |1813 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Mon Jun 2 15:56:00 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 02 Jun 2014 15:56:00 +0000 Subject: [Bug 1813] [IcedTea8] HotSpot URL should be used with --enable-hg In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1813 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Blocks| |1282 Depends on| |1364 Target Milestone|--- |3.0.0 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Mon Jun 2 15:56:00 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 02 Jun 2014 15:56:00 +0000 Subject: [Bug 1364] [IcedTea8] Replace hgforest support In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1364 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Blocks| |1813 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Mon Jun 2 15:57:12 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 02 Jun 2014 15:57:12 +0000 Subject: [Bug 1814] New: [IcedTea7] HotSpot URL should be used with --enable-hg Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1814 Bug ID: 1814 Summary: [IcedTea7] HotSpot URL should be used with --enable-hg Product: IcedTea Version: 7-hg Hardware: all OS: All Status: NEW Severity: enhancement Priority: P5 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: gnu.andrew at redhat.com CC: unassigned at icedtea.classpath.org Clone of PR1813 for IcedTea7. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Mon Jun 2 15:57:41 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 02 Jun 2014 15:57:41 +0000 Subject: [Bug 1814] [IcedTea7] HotSpot URL should be used with --enable-hg In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1814 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Blocks| |1284 Depends on| |1365 Target Milestone|--- |2.5.0 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Mon Jun 2 15:57:41 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 02 Jun 2014 15:57:41 +0000 Subject: [Bug 1284] [TRACKER] IcedTea 2.5.0 Release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1284 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on| |1814 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Mon Jun 2 15:57:41 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 02 Jun 2014 15:57:41 +0000 Subject: [Bug 1365] [IcedTea7] Replace hgforest support In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1365 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Blocks| |1814 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Mon Jun 2 16:07:03 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 02 Jun 2014 16:07:03 +0000 Subject: [Bug 1809] SIGSEGV in RSSOwl In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1809 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |INVALID Severity|critical |normal --- Comment #1 from Andrew John Hughes --- This is a crash in native code, not the JDK. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Mon Jun 2 16:07:28 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 02 Jun 2014 16:07:28 +0000 Subject: [Bug 1811] Eclipse: Constantly SIGSEGV'ing when using auto-correct functions In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1811 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |gnu.andrew at redhat.com Component|JamVM |IcedTea Resolution|--- |INVALID Assignee|xerxes at zafena.se |gnu.andrew at redhat.com --- Comment #1 from Andrew John Hughes --- This is a crash in libsoup, not the JDK. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Mon Jun 2 16:08:44 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 02 Jun 2014 16:08:44 +0000 Subject: [Bug 1805] fatal error crash running iDRAC7 virtual media In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1805 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea |NetX (javaws) Version|7-hg |unspecified Assignee|gnu.andrew at redhat.com |omajid at redhat.com Product|IcedTea |IcedTea-Web -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From aazores at redhat.com Mon Jun 2 16:26:56 2014 From: aazores at redhat.com (Andrew Azores) Date: Mon, 02 Jun 2014 12:26:56 -0400 Subject: [rfc][icedtea-web][policyeditor] SwingWorkers for opening/saving In-Reply-To: <20140602151759.GA6211@redhat.com> References: <538C937D.10301@redhat.com> <20140602151759.GA6211@redhat.com> Message-ID: <538CA5D0.7040308@redhat.com> On 06/02/2014 11:17 AM, Omair Majid wrote: > * Andrew Azores [2014-06-02 11:10]: >> This patch simply puts the blocking IO PolicyFileModel calls for opening and >> saving policy files into SwingWorkers. > Patch looks good to me. > >> Currently there is no progress indicator - any suggestions on what >> kind of visual to use here? There isn't any easy way (at least right >> now) to determine how far along the opening/saving process is, so a >> standard rectangular progress indicator doesn't sound right to me. > An indeterminate progress bar [1] might be the simplest. > > Thanks, > Omair > > [1] http://docs.oracle.com/javase/8/docs/api/javax/swing/JProgressBar.html#setIndeterminate-boolean- > Added an indeterminate progress bar inside a modal dialog. Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: policyeditor-swingworker-2.patch Type: text/x-patch Size: 9420 bytes Desc: not available URL: From bugzilla-daemon at icedtea.classpath.org Mon Jun 2 17:30:42 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 02 Jun 2014 17:30:42 +0000 Subject: [Bug 1815] New: [IcedTea8] Split download/extraction rules for OpenJDK so they can run in parallel Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1815 Bug ID: 1815 Summary: [IcedTea8] Split download/extraction rules for OpenJDK so they can run in parallel Product: IcedTea Version: 8-hg Hardware: all OS: All Status: NEW Severity: enhancement Priority: P5 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: gnu.andrew at redhat.com CC: unassigned at icedtea.classpath.org The zips can all be downloaded independently of one another, and only the root tree needs to be extracted before the other subrepos. So, instead of one big openjdk target, smaller targets can be used. This will enable downloading and extraction to happen in parallel, and makes it easier to re-run failed targets. It depends on the removal of hgforest, as that downloads+extracts everything in one command. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Mon Jun 2 17:31:08 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 02 Jun 2014 17:31:08 +0000 Subject: [Bug 1282] [TRACKER] IcedTea 3.0.0 Release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1282 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on| |1815 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Mon Jun 2 17:31:08 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 02 Jun 2014 17:31:08 +0000 Subject: [Bug 1364] [IcedTea8] Replace hgforest support In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1364 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Blocks| |1815 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Mon Jun 2 17:31:08 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 02 Jun 2014 17:31:08 +0000 Subject: [Bug 1815] [IcedTea8] Split download/extraction rules for OpenJDK so they can run in parallel In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1815 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Blocks| |1282 Depends on| |1364 Target Milestone|--- |3.0.0 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Mon Jun 2 17:31:46 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 02 Jun 2014 17:31:46 +0000 Subject: [Bug 1815] [IcedTea8] Split download/extraction rules for OpenJDK so they can run in parallel In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1815 --- Comment #1 from Andrew John Hughes --- Note that Nashorn was already added as a separate target and HotSpot downloading is being split out already for PR1813. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Mon Jun 2 17:33:25 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 02 Jun 2014 17:33:25 +0000 Subject: [Bug 1816] New: [IcedTea7] Split download/extraction rules for OpenJDK so they can run in parallel Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1816 Bug ID: 1816 Summary: [IcedTea7] Split download/extraction rules for OpenJDK so they can run in parallel Product: IcedTea Version: 7-hg Hardware: all OS: All Status: NEW Severity: enhancement Priority: P5 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: gnu.andrew at redhat.com CC: unassigned at icedtea.classpath.org Clone of PR1815 for 7. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Mon Jun 2 17:33:54 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 02 Jun 2014 17:33:54 +0000 Subject: [Bug 1816] [IcedTea7] Split download/extraction rules for OpenJDK so they can run in parallel In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1816 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Blocks| |1698 Target Milestone|--- |2.6.0 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Mon Jun 2 17:33:54 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 02 Jun 2014 17:33:54 +0000 Subject: [Bug 1698] [TRACKER] IcedTea 2.6.0 Release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1698 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on| |1816 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From andrew at icedtea.classpath.org Mon Jun 2 17:41:42 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Mon, 02 Jun 2014 17:41:42 +0000 Subject: /hg/icedtea: 2 new changesets Message-ID: changeset aaf366c2ac6a in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=aaf366c2ac6a author: Andrew John Hughes date: Mon Jun 02 17:16:14 2014 +0100 PR1364: Replace hgforest support 2014-06-02 Andrew John Hughes * INSTALL: Remove documentation of --with-project as option is being removed. * Makefile.am: (OPENJDK_HG_URL): Removed. (CVMI_HG_URL): Likewise. (CLOSURES_HG_URL): Likewise. (CACIOCAVALLO_HG_URL): Likewise. (BSD_HG_URL): Likewise. (NIO2_HG_URL): Likewise. (REV_ARG): Added and set conditionally if $(HGREV) is set. (clean-local): Drop clean-hgforest. (hgforest): Removed. (clean-hgforest): Likewise. (download-openjdk): Remove project conditionals. Replace fclone usage with multiple clone calls. (download-nashorn): Add hg support. * NEWS: Updated. * acinclude.m4: (IT_ENABLE_HG): Drop IT_WITH_PROJECT dependency and simply to yes/no. (IT_WITH_PROJECT): Removed. * configure.ac: Drop IT_WITH_PROJECT. changeset c728621e76f2 in /hg/icedtea details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=c728621e76f2 author: Andrew John Hughes date: Mon Jun 02 18:41:24 2014 +0100 PR1813: HotSpot URL should be used with --enable-hg 2014-06-02 Andrew John Hughes PR1813: HotSpot URL should be used with --enable-hg * Makefile.am: (HOTSPOT_URL): Drop unused variable to avoid confusion. (.PHONY): Add clean-download-hotspot. (download); Depend on download-hotspot. (clean-download): Move clean-download-nashorn to clean-download-openjdk to retain ordering. (download-openjdk): Remove hotspot from for loop and HotSpot zip download rules. (clean-download-openjdk): Depend on clean-download-nashorn and clean-download-hotspot. (download-nashorn): Depend on download-openjdk so root directory exists for Nashorn checkout. (download-hotspot): New target. Cloning now uses HS_URL as with zip downloading. (clean-download-hotspot): Separated from clean-download-openjdk. * NEWS: Updated. diffstat: ChangeLog | 55 ++++++++++++++++++++++- INSTALL | 3 - Makefile.am | 136 +++++++++++++++++++++++----------------------------------- NEWS | 2 + acinclude.m4 | 44 +------------------ configure.ac | 1 - 6 files changed, 111 insertions(+), 130 deletions(-) diffs (407 lines): diff -r 239ef498435c -r c728621e76f2 ChangeLog --- a/ChangeLog Mon Jun 02 14:50:10 2014 +0100 +++ b/ChangeLog Mon Jun 02 18:41:24 2014 +0100 @@ -1,11 +1,60 @@ -2014-06-02 Andrew John Hughes +2014-06-02 Andrew John Hughes + + PR1813: HotSpot URL should be used with --enable-hg + * Makefile.am: + (HOTSPOT_URL): Drop unused variable to avoid + confusion. + (.PHONY): Add clean-download-hotspot. + (download); Depend on download-hotspot. + (clean-download): Move clean-download-nashorn + to clean-download-openjdk to retain ordering. + (download-openjdk): Remove hotspot from for loop + and HotSpot zip download rules. + (clean-download-openjdk): Depend on clean-download-nashorn + and clean-download-hotspot. + (download-nashorn): Depend on download-openjdk so + root directory exists for Nashorn checkout. + (download-hotspot): New target. Cloning now uses HS_URL + as with zip downloading. + (clean-download-hotspot): Separated from clean-download-openjdk. + * NEWS: Updated. + +2014-06-02 Andrew John Hughes + + PR1364: Replace hgforest support + * INSTALL: + Remove documentation of --with-project as + option is being removed. + * Makefile.am: + (OPENJDK_HG_URL): Removed. + (CVMI_HG_URL): Likewise. + (CLOSURES_HG_URL): Likewise. + (CACIOCAVALLO_HG_URL): Likewise. + (BSD_HG_URL): Likewise. + (NIO2_HG_URL): Likewise. + (REV_ARG): Added and set conditionally if + $(HGREV) is set. + (clean-local): Drop clean-hgforest. + (hgforest): Removed. + (clean-hgforest): Likewise. + (download-openjdk): Remove project conditionals. + Replace fclone usage with multiple clone calls. + (download-nashorn): Add hg support. + * NEWS: Updated. + * acinclude.m4: + (IT_ENABLE_HG): Drop IT_WITH_PROJECT dependency + and simply to yes/no. + (IT_WITH_PROJECT): Removed. + * configure.ac: Drop IT_WITH_PROJECT. + +2014-06-02 Andrew John Hughes * Makefile.am: (download-openjdk): Fix typo using HOTSPOT_SHA256SUM instead of HS_SHA256SUM. * NEWS: Updated. -2014-05-30 Andrew John Hughes +2014-05-30 Andrew John Hughes PR1806: Support Debian/Ubuntu 7 & 8 OpenJDK Installs as Boot JDK @@ -15,7 +64,7 @@ and java-8-openjdk to ICEDTEA7_VMS and ICEDTEA8_VMS respectively. -2014-05-29 Andrew John Hughes +2014-05-29 Andrew John Hughes * patches/alt-jar.patch, * patches/cacao/arch.patch, diff -r 239ef498435c -r c728621e76f2 INSTALL --- a/INSTALL Mon Jun 02 14:50:10 2014 +0100 +++ b/INSTALL Mon Jun 02 18:41:24 2014 +0100 @@ -167,9 +167,6 @@ * --with-abs-install-dir: The final install location of the j2sdk-image, for use in the SystemTap tapset. * --with-llvm-config: Specify the location of the llvm-config binary. * --with-version-suffix: Appends the given text to the JDK version output. -* --with-project: Build an OpenJDK project from the following: icedtea, jdk7, closures, cvmi, cacaiocavallo, - bsd, nio2. The default is icedtea. Use of others is at the user's risk and builds may fail. This setting - affects which forest is checked out when --enable-hg is used and the set of patches applied. Other options may be supplied which enable or disable new features. These are documented fully in the relevant section below. diff -r 239ef498435c -r c728621e76f2 Makefile.am --- a/Makefile.am Mon Jun 02 14:50:10 2014 +0100 +++ b/Makefile.am Mon Jun 02 18:41:24 2014 +0100 @@ -38,12 +38,6 @@ ICEDTEA_PREFIX = icedtea8-forest ICEDTEA_HG_URL = http://icedtea.classpath.org/hg/$(ICEDTEA_PREFIX) -OPENJDK_HG_URL = http://hg.openjdk.java.net/jdk8/jdk8 -CVMI_HG_URL = http://hg.openjdk.java.net/cvmi/cvmi/ -CLOSURES_HG_URL = http://hg.openjdk.java.net/closures/closures/ -CACIOCAVALLO_HG_URL = http://hg.openjdk.java.net/caciocavallo/jdk8/ -BSD_HG_URL = http://hg.openjdk.java.net/bsd-port/bsd-port -NIO2_HG_URL = http://hg.openjdk.java.net/nio/nio/ OPENJDK_URL = $(ICEDTEA_HG_URL) CORBA_URL = $(ICEDTEA_HG_URL)/corba @@ -51,7 +45,6 @@ JAXWS_URL = $(ICEDTEA_HG_URL)/jaxws JDK_URL = $(ICEDTEA_HG_URL)/jdk LANGTOOLS_URL = $(ICEDTEA_HG_URL)/langtools -HOTSPOT_URL = $(ICEDTEA_HG_URL)/hotspot NASHORN_URL = $(ICEDTEA_HG_URL)/nashorn # Build directories @@ -139,6 +132,10 @@ NASHORN_SRC_ZIP = nashorn.tar.gz endif +if WITH_HGREV +REV_ARG = -r $(HGREV) +endif + if ENABLE_PULSE_JAVA PULSE_JAVA_TARGET = stamps/pulse-java.stamp endif @@ -503,7 +500,7 @@ clean-icedtea clean-icedtea-debug clean-icedtea-boot clean-clone clean-clone-boot \ clean-bootstrap-directory-stage1 clean-bootstrap-directory-stage2 \ clean-bootstrap-directory-symlink-stage1 clean-bootstrap-directory-symlink-stage2 \ - clean-extract clean-native-ecj clean-hgforest clean-icedtea-stage2 \ + clean-extract clean-native-ecj clean-icedtea-stage2 \ clean-icedtea-debug-stage2 clean-icedtea-stage1 clean-add-zero clean-add-zero-debug \ clean-add-cacao clean-add-cacao-debug clean-rt clean-rewrite-rhino clean-rewriter if [ -e bootstrap ]; then \ @@ -535,7 +532,7 @@ jtregcheck clean-remove-intree-libraries \ clean-jamvm clean-extract-jamvm clean-add-jamvm clean-add-jamvm-debug \ clean-extract-hotspot clean-sanitise-openjdk clean-icedtea-debug \ - clean-download-nashorn clean-extract-nashorn + clean-download-nashorn clean-extract-nashorn clean-download-hotspot env: @echo 'unset JAVA_HOME' @@ -561,59 +558,24 @@ # OpenJDK Source Preparation Targets # ================================== -# Check for forest support - -stamps/hgforest.stamp: -if USE_HG - if ! $(HG) fclone -h; \ - then \ - echo "No forest extension found. Please refer to" \ - "http://selenic.com/mercurial/wiki/index.cgi/ForestExtension"; \ - exit 1; \ - fi; -endif - mkdir -p stamps - touch $@ - -clean-hgforest: - rm -f stamps/hgforest.stamp - # Download OpenJDK sources. stamps/download.stamp: stamps/download-openjdk.stamp stamps/download-cacao.stamp stamps/download-jamvm.stamp \ - stamps/download-nashorn.stamp + stamps/download-nashorn.stamp stamps/download-hotspot.stamp mkdir -p stamps touch $@ -clean-download: clean-download-openjdk clean-download-cacao clean-download-jamvm clean-download-nashorn +clean-download: clean-download-openjdk clean-download-cacao clean-download-jamvm rm -f stamps/download.stamp -stamps/download-openjdk.stamp: stamps/hgforest.stamp -if !OPENJDK_SRC_DIR_FOUND -if USE_CLOSURES - $(HG) fclone $(CLOSURES_HG_URL) openjdk; -else -if USE_CVMI - $(HG) fclone $(CVMI_HG_URL) openjdk; -else -if USE_CACIOCAVALLO - $(HG) fclone $(CACIOCAVALLO_HG_URL) openjdk; -else -if USE_BSD - $(HG) fclone $(BSD_HG_URL) openjdk; -else -if USE_NIO2 - hg fclone $(NIO2_HG_URL) openjdk; -else -if USE_ICEDTEA - hg fclone $(ICEDTEA_HG_URL) openjdk; +stamps/download-openjdk.stamp: +if OPENJDK_SRC_DIR_FOUND else if USE_HG -if WITH_HGREV - $(HG) fclone -r $(HGREV) $(OPENJDK_HG_URL) openjdk; -else - $(HG) fclone $(OPENJDK_HG_URL) openjdk; -endif + $(HG) clone $(REV_ARG) $(ICEDTEA_HG_URL) openjdk; + for repos in corba jaxp jaxws langtools jdk ; do \ + $(HG) clone $(REV_ARG) $(ICEDTEA_HG_URL)/$${repos} openjdk/$${repos}; \ + done else if USE_ALT_OPENJDK_SRC_ZIP ln -sf $(ALT_OPENJDK_SRC_ZIP) $(OPENJDK_SRC_ZIP) @@ -711,34 +673,12 @@ then echo "ERROR: Bad download of langtools zip"; false; \ fi; \ fi ; -if USE_ALT_HOTSPOT_SRC_ZIP - ln -sf $(ALT_HOTSPOT_SRC_ZIP) $(HOTSPOT_SRC_ZIP) -endif - if ! echo "$(HS_SHA256SUM) $(HOTSPOT_SRC_ZIP)" \ - | $(SHA256SUM) --check ; \ - then \ - if [ -e $(HOTSPOT_SRC_ZIP) ] ; \ - then \ - mv $(HOTSPOT_SRC_ZIP) $(HOTSPOT_SRC_ZIP).old ; \ - fi ; \ - $(WGET) $(HS_URL)/archive/$(HS_CHANGESET).tar.gz -O $(HOTSPOT_SRC_ZIP) ; \ - if ! echo "$(HS_SHA256SUM) $(HOTSPOT_SRC_ZIP)" \ - | $(SHA256SUM) --check ; \ - then echo "ERROR: Bad download of HotSpot zip"; false; \ - fi; \ - fi -endif -endif -endif -endif -endif -endif endif endif mkdir -p stamps touch $@ -clean-download-openjdk: +clean-download-openjdk: clean-download-nashorn clean-download-hotspot if [ ! -z $(OPENJDK_SRC_ZIP) ] ; then \ rm -f $(OPENJDK_SRC_ZIP) ; \ fi @@ -757,9 +697,6 @@ if [ ! -z $(LANGTOOLS_SRC_ZIP) ] ; then \ rm -f $(LANGTOOLS_SRC_ZIP) ; \ fi - if [ ! -z $(HOTSPOT_SRC_ZIP) ] ; then \ - rm -f $(HOTSPOT_SRC_ZIP) ; \ - fi rm -f stamps/download-openjdk.stamp stamps/download-cacao.stamp: @@ -816,11 +753,15 @@ rm -f $(JAMVM_SRC_ZIP) rm -f stamps/download-jamvm.stamp -stamps/download-nashorn.stamp: -if !OPENJDK_SRC_DIR_FOUND +stamps/download-nashorn.stamp: stamps/download-openjdk.stamp +if OPENJDK_SRC_DIR_FOUND +else +if USE_HG + $(HG) clone $(REV_ARG) $(ICEDTEA_HG_URL)/nashorn openjdk/nashorn +else if USE_ALT_NASHORN_SRC_ZIP ln -sf $(ALT_NASHORN_SRC_ZIP) $(NASHORN_SRC_ZIP) -else +endif if ! echo "$(NASHORN_SHA256SUM) $(NASHORN_SRC_ZIP)" \ | $(SHA256SUM) --check ; \ then \ @@ -845,6 +786,39 @@ fi rm -f stamps/download-nashorn.stamp +stamps/download-hotspot.stamp: stamps/download-openjdk.stamp +if OPENJDK_SRC_DIR_FOUND +else +if USE_HG + $(HG) clone $(REV_ARG) $(HS_URL) openjdk/hotspot +else +if USE_ALT_HOTSPOT_SRC_ZIP + ln -sf $(ALT_HOTSPOT_SRC_ZIP) $(HOTSPOT_SRC_ZIP) +endif + if ! echo "$(HS_SHA256SUM) $(HOTSPOT_SRC_ZIP)" \ + | $(SHA256SUM) --check ; \ + then \ + if [ -e $(HOTSPOT_SRC_ZIP) ] ; \ + then \ + mv $(HOTSPOT_SRC_ZIP) $(HOTSPOT_SRC_ZIP).old ; \ + fi ; \ + $(WGET) $(HS_URL)/archive/$(HS_CHANGESET).tar.gz -O $(HOTSPOT_SRC_ZIP) ; \ + if ! echo "$(HS_SHA256SUM) $(HOTSPOT_SRC_ZIP)" \ + | $(SHA256SUM) --check ; \ + then echo "ERROR: Bad download of HotSpot zip"; false; \ + fi; \ + fi +endif +endif + mkdir -p stamps + touch $@ + +clean-download-hotspot: + if [ ! -z $(HOTSPOT_SRC_ZIP) ] ; then \ + rm -f $(HOTSPOT_SRC_ZIP) ; \ + fi + rm -f stamps/download-hotspot.stamp + stamps/extract.stamp: stamps/extract-openjdk.stamp \ stamps/extract-cacao.stamp stamps/remove-intree-libraries.stamp \ stamps/extract-jamvm.stamp stamps/extract-hotspot.stamp \ diff -r 239ef498435c -r c728621e76f2 NEWS --- a/NEWS Mon Jun 02 14:50:10 2014 +0100 +++ b/NEWS Mon Jun 02 18:41:24 2014 +0100 @@ -37,6 +37,8 @@ - Remove jcheck - PR1806: Support Debian/Ubuntu 7 & 8 OpenJDK Installs as Boot JDK - PR1812: Unable to locate HotSpot checksum when downloading + - PR1364: Replace hgforest support + - PR1813: HotSpot URL should be used with --enable-hg * JamVM - JSR 292: Invoke Dynamic - JSR 308: Type Annotations diff -r 239ef498435c -r c728621e76f2 acinclude.m4 --- a/acinclude.m4 Mon Jun 02 14:50:10 2014 +0100 +++ b/acinclude.m4 Mon Jun 02 18:41:24 2014 +0100 @@ -822,10 +822,9 @@ AC_DEFUN([IT_ENABLE_HG], [ - AC_REQUIRE([IT_WITH_PROJECT]) AC_MSG_CHECKING(whether to retrieve the source code from Mercurial) AC_ARG_ENABLE([hg], - [AS_HELP_STRING(--enable-hg,download source code from Mercurial [[default=depends on project]])], + [AS_HELP_STRING(--enable-hg,download source code from Mercurial [[default=no]])], [ case "${enableval}" in no) @@ -837,14 +836,7 @@ esac ], [ - case "${project}" in - jdk8) - enable_hg=no - ;; - *) - enable_hg=yes - ;; - esac + enable_hg=no ]) AC_MSG_RESULT([${enable_hg}]) AM_CONDITIONAL([USE_HG], test x"${enable_hg}" = "xyes") @@ -878,38 +870,6 @@ AC_SUBST(VERSION_SUFFIX, $version_suffix) ]) -AC_DEFUN([IT_WITH_PROJECT], -[ - DEFAULT_PROJECT="jdk8" - AC_MSG_CHECKING(which OpenJDK project is being used) - AC_ARG_WITH([project], - [AS_HELP_STRING(--with-project=PROJECT,choose the OpenJDK project to use: icedtea jdk7 closures cvmi caciocavallo bsd nio2 [[PROJECT=icedtea]])], - [ - case "${withval}" in - yes) - project="${DEFAULT_PROJECT}" - ;; - no) - AC_MSG_ERROR([argument passed to --with-project should be a supported OpenJDK project (see help)]) - ;; - *) - project=${withval} - ;; - esac - ], - [ - project="${DEFAULT_PROJECT}" - ]) - AC_MSG_RESULT([${project}]) - AC_SUBST(PROJECT_NAME, $project) - AM_CONDITIONAL([USE_CLOSURES], test x"${project}" = "xclosures") - AM_CONDITIONAL([USE_CVMI], test x"${project}" = "xcvmi") - AM_CONDITIONAL([USE_CACIOCAVALLO], test x"${project}" = "xcaciocavallo") - AM_CONDITIONAL([USE_BSD], test x"${project}" = "xbsd") - AM_CONDITIONAL([USE_NIO2], test x"${project}" = "xnio2") - AM_CONDITIONAL([USE_ICEDTEA], test x"${project}" = "xicedtea") -]) - AC_DEFUN([IT_WITH_GCJ], [ AC_MSG_CHECKING([whether to compile ecj natively]) diff -r 239ef498435c -r c728621e76f2 configure.ac --- a/configure.ac Mon Jun 02 14:50:10 2014 +0100 +++ b/configure.ac Mon Jun 02 18:41:24 2014 +0100 @@ -141,7 +141,6 @@ IT_CHECK_ADDITIONAL_VMS IT_WITH_VERSION_SUFFIX -IT_WITH_PROJECT IT_ENABLE_HG IT_WITH_TZDATA_DIR From bugzilla-daemon at icedtea.classpath.org Mon Jun 2 17:41:50 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 02 Jun 2014 17:41:50 +0000 Subject: [Bug 1364] [IcedTea8] Replace hgforest support In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1364 --- Comment #1 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea?cmd=changeset;node=aaf366c2ac6a author: Andrew John Hughes date: Mon Jun 02 17:16:14 2014 +0100 PR1364: Replace hgforest support 2014-06-02 Andrew John Hughes * INSTALL: Remove documentation of --with-project as option is being removed. * Makefile.am: (OPENJDK_HG_URL): Removed. (CVMI_HG_URL): Likewise. (CLOSURES_HG_URL): Likewise. (CACIOCAVALLO_HG_URL): Likewise. (BSD_HG_URL): Likewise. (NIO2_HG_URL): Likewise. (REV_ARG): Added and set conditionally if $(HGREV) is set. (clean-local): Drop clean-hgforest. (hgforest): Removed. (clean-hgforest): Likewise. (download-openjdk): Remove project conditionals. Replace fclone usage with multiple clone calls. (download-nashorn): Add hg support. * NEWS: Updated. * acinclude.m4: (IT_ENABLE_HG): Drop IT_WITH_PROJECT dependency and simply to yes/no. (IT_WITH_PROJECT): Removed. * configure.ac: Drop IT_WITH_PROJECT. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Mon Jun 2 17:41:58 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 02 Jun 2014 17:41:58 +0000 Subject: [Bug 1813] [IcedTea8] HotSpot URL should be used with --enable-hg In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1813 --- Comment #1 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea?cmd=changeset;node=c728621e76f2 author: Andrew John Hughes date: Mon Jun 02 18:41:24 2014 +0100 PR1813: HotSpot URL should be used with --enable-hg 2014-06-02 Andrew John Hughes PR1813: HotSpot URL should be used with --enable-hg * Makefile.am: (HOTSPOT_URL): Drop unused variable to avoid confusion. (.PHONY): Add clean-download-hotspot. (download); Depend on download-hotspot. (clean-download): Move clean-download-nashorn to clean-download-openjdk to retain ordering. (download-openjdk): Remove hotspot from for loop and HotSpot zip download rules. (clean-download-openjdk): Depend on clean-download-nashorn and clean-download-hotspot. (download-nashorn): Depend on download-openjdk so root directory exists for Nashorn checkout. (download-hotspot): New target. Cloning now uses HS_URL as with zip downloading. (clean-download-hotspot): Separated from clean-download-openjdk. * NEWS: Updated. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Mon Jun 2 17:44:15 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 02 Jun 2014 17:44:15 +0000 Subject: [Bug 1364] [IcedTea8] Replace hgforest support In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1364 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: From bugzilla-daemon at icedtea.classpath.org Mon Jun 2 17:44:16 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 02 Jun 2014 17:44:16 +0000 Subject: [Bug 1815] [IcedTea8] Split download/extraction rules for OpenJDK so they can run in parallel In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1815 Bug 1815 depends on bug 1364, which changed state. Bug 1364 Summary: [IcedTea8] Replace hgforest support http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1364 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: From bugzilla-daemon at icedtea.classpath.org Mon Jun 2 17:44:16 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 02 Jun 2014 17:44:16 +0000 Subject: [Bug 1282] [TRACKER] IcedTea 3.0.0 Release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1282 Bug 1282 depends on bug 1364, which changed state. Bug 1364 Summary: [IcedTea8] Replace hgforest support http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1364 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: From bugzilla-daemon at icedtea.classpath.org Mon Jun 2 17:44:16 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 02 Jun 2014 17:44:16 +0000 Subject: [Bug 1813] [IcedTea8] HotSpot URL should be used with --enable-hg In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1813 Bug 1813 depends on bug 1364, which changed state. Bug 1364 Summary: [IcedTea8] Replace hgforest support http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1364 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: From bugzilla-daemon at icedtea.classpath.org Mon Jun 2 17:44:33 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 02 Jun 2014 17:44:33 +0000 Subject: [Bug 1810] The IcedTea plugin crashes on Firefox. In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1810 --- Comment #4 from Kabelo Moiloa --- It's probably a duplicate, so you can delete this thread after answering the following question: How can I use the Sandbox option? No security dialog is shown when running applets from the site mathinsight.org, because I probably authorized it somehow. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Mon Jun 2 17:44:40 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 02 Jun 2014 17:44:40 +0000 Subject: [Bug 1813] [IcedTea8] HotSpot URL should be used with --enable-hg In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1813 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: From bugzilla-daemon at icedtea.classpath.org Mon Jun 2 17:44:41 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 02 Jun 2014 17:44:41 +0000 Subject: [Bug 1282] [TRACKER] IcedTea 3.0.0 Release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1282 Bug 1282 depends on bug 1813, which changed state. Bug 1813 Summary: [IcedTea8] HotSpot URL should be used with --enable-hg http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1813 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: From bugzilla-daemon at icedtea.classpath.org Mon Jun 2 17:46:13 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 02 Jun 2014 17:46:13 +0000 Subject: [Bug 1341] [IcedTea8] Remove Rhino support In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1341 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|[IcedTea8] Simplify the |[IcedTea8] Remove Rhino |rhino class rewriter to |support |avoid use of concurrency | --- Comment #1 from Andrew John Hughes --- Adjusting this bug as Rhino is no longer used in OpenJDK 8, so we should actually just remove the rewriter and any configure/Makefile rules for it. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From omajid at redhat.com Mon Jun 2 17:49:28 2014 From: omajid at redhat.com (Omair Majid) Date: Mon, 2 Jun 2014 13:49:28 -0400 Subject: [rfc][icedtea-web][policyeditor] SwingWorkers for opening/saving In-Reply-To: <538CA5D0.7040308@redhat.com> References: <538C937D.10301@redhat.com> <20140602151759.GA6211@redhat.com> <538CA5D0.7040308@redhat.com> Message-ID: <20140602174927.GA15575@redhat.com> * Andrew Azores [2014-06-02 12:26]: > On 06/02/2014 11:17 AM, Omair Majid wrote: > >* Andrew Azores [2014-06-02 11:10]: > > > Currently there is no progress indicator - any suggestions on what > > > kind of visual to use here? There isn't any easy way (at least right > > > now) to determine how far along the opening/saving process is, so a > > > standard rectangular progress indicator doesn't sound right to me. > >An indeterminate progress bar [1] might be the simplest. > > > Added an indeterminate progress bar inside a modal dialog. > +++ b/netx/net/sourceforge/jnlp/security/policyeditor/IndeterminateProgressDialog.java > @@ -0,0 +1,21 @@ > +package net.sourceforge.jnlp.security.policyeditor; Missing license header in this file, otherwise patch looks fine. Cheers, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From bugzilla-daemon at icedtea.classpath.org Mon Jun 2 17:52:00 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 02 Jun 2014 17:52:00 +0000 Subject: [Bug 1810] The IcedTea plugin crashes on Firefox. In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1810 --- Comment #5 from Andrew Azores --- (1) Open the IcedTea-Web settings control panel (itweb-settings or itweb-settings.itweb) (2) Click "Certificates" on the left (3) Select "Trusted Certificates" in the dropdown box (4) Remove the certificate If there are multiple listed, you can remove them all. This will cause the prompts to appear for all signed applets again, until you choose to run them with the "Always trust" checkbox selected, in which case you won't be asked about applets signed with that certificate in the future. Can you provide the log of the stack trace that occurs for you so I can confirm that this is the same issue? If it is, I will close this report. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Mon Jun 2 17:56:08 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 02 Jun 2014 17:56:08 +0000 Subject: [Bug 1810] The IcedTea plugin crashes on Firefox. In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1810 --- Comment #6 from Kabelo Moiloa --- Created attachment 1091 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=1091&action=edit The stacktrace for the crash as requested. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From aazores at icedtea.classpath.org Mon Jun 2 17:57:08 2014 From: aazores at icedtea.classpath.org (aazores at icedtea.classpath.org) Date: Mon, 02 Jun 2014 17:57:08 +0000 Subject: /hg/icedtea-web: PolicyEditor uses SwingWorker for async IO Message-ID: changeset ea0ccfeeed06 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=ea0ccfeeed06 author: Andrew Azores date: Mon Jun 02 13:56:57 2014 -0400 PolicyEditor uses SwingWorker for async IO 2014-06-02 Andrew Azores PolicyEditor file I/O made asynchronous with a progress indicator * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java (savePolicyFile, openAndParsePolicyFile): use SwingWorker to make IO asynchronous, also show a progress bar. (checkPolicyChangesWithDialog): handle Exceptions thrown by policyFile.hasChanged() and policyFile.getFile().getCanonicalPath(), rather than letting them bubble up * netx/net/sourceforge/jnlp/security/policyeditor/IndeterminateProgressDialog.java: new class diffstat: ChangeLog | 13 + netx/net/sourceforge/jnlp/security/policyeditor/IndeterminateProgressDialog.java | 57 +++ netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java | 146 ++++++--- 3 files changed, 172 insertions(+), 44 deletions(-) diffs (275 lines): diff -r 428af70f3b7c -r ea0ccfeeed06 ChangeLog --- a/ChangeLog Mon Jun 02 09:35:20 2014 -0400 +++ b/ChangeLog Mon Jun 02 13:56:57 2014 -0400 @@ -1,5 +1,18 @@ 2014-06-02 Andrew Azores + PolicyEditor file I/O made asynchronous with a progress indicator + * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java + (savePolicyFile, openAndParsePolicyFile): use SwingWorker to make + IO asynchronous, also show a progress bar. + (checkPolicyChangesWithDialog): handle Exceptions thrown by + policyFile.hasChanged() and policyFile.getFile().getCanonicalPath(), + rather than letting them bubble up + * netx/net/sourceforge/jnlp/security/policyeditor/IndeterminateProgressDialog.java: + new class + +2014-06-02 Andrew Azores + + PolicyEditor file I/O and model logic extracted into a new class * netx/net/sourceforge/jnlp/security/policyeditor/CustomPolicyViewer.java: store PolicyFileModel as field. (updateCustomPermissions): new method * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java diff -r 428af70f3b7c -r ea0ccfeeed06 netx/net/sourceforge/jnlp/security/policyeditor/IndeterminateProgressDialog.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/netx/net/sourceforge/jnlp/security/policyeditor/IndeterminateProgressDialog.java Mon Jun 02 13:56:57 2014 -0400 @@ -0,0 +1,57 @@ +/*Copyright (C) 2014 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.security.policyeditor; + +import java.awt.Window; + +import javax.swing.JDialog; +import javax.swing.JProgressBar; + +public class IndeterminateProgressDialog extends JDialog { + + private final JProgressBar progressBar = new JProgressBar(); + + public IndeterminateProgressDialog(final Window parent, final String title) { + super(parent); + this.setTitle(title); + this.setModalityType(ModalityType.DOCUMENT_MODAL); + progressBar.setIndeterminate(true); + this.add(progressBar); + this.pack(); + } + +} diff -r 428af70f3b7c -r ea0ccfeeed06 netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java --- a/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java Mon Jun 02 09:35:20 2014 -0400 +++ b/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java Mon Jun 02 13:56:57 2014 -0400 @@ -91,6 +91,7 @@ import javax.swing.ListSelectionModel; import javax.swing.ScrollPaneConstants; import javax.swing.SwingUtilities; +import javax.swing.SwingWorker; import javax.swing.UIManager; import javax.swing.WindowConstants; import javax.swing.border.EmptyBorder; @@ -101,6 +102,7 @@ import net.sourceforge.jnlp.security.policyeditor.PolicyEditorPermissions.Group; import net.sourceforge.jnlp.util.FileUtils; import net.sourceforge.jnlp.util.FileUtils.OpenFileResult; +import net.sourceforge.jnlp.util.ScreenFinder; import net.sourceforge.jnlp.util.logging.OutputController; /** @@ -1100,54 +1102,99 @@ if (ofr == OpenFileResult.CANT_WRITE) { FileUtils.showReadOnlyDialog(weakThis.get()); } - try { - policyFile.openAndParsePolicyFile(); - changesMade = false; - for (final String codebase : policyFile.getCodebases()) { - final String model; - if (codebase.isEmpty()) { - model = R("PEGlobalSettings"); - } else { - model = codebase; + + final Window parentWindow = SwingUtilities.getWindowAncestor(this); + final JDialog progressIndicator = new IndeterminateProgressDialog(parentWindow, "Loading..."); + final SwingWorker openPolicyFileWorker = new SwingWorker() { + @Override + protected Void doInBackground() throws Exception { + try { + SwingUtilities.invokeLater(new Runnable() { + @Override + public void run() { + progressIndicator.setLocationRelativeTo(parentWindow); + progressIndicator.setVisible(true); + } + }); + policyFile.openAndParsePolicyFile(); + } catch (final FileNotFoundException fnfe) { + OutputController.getLogger().log(fnfe); + FileUtils.showCouldNotOpenDialog(weakThis.get(), R("PECouldNotOpen")); + } catch (final IOException ioe) { + OutputController.getLogger().log(ioe); + OutputController.getLogger().log(OutputController.Level.ERROR_ALL, R("RCantOpenFile", policyFile.getFile().getPath())); + FileUtils.showCouldNotOpenDialog(weakThis.get(), R("PECouldNotOpen")); } - listModel.addElement(model); + return null; } - addNewCodebase(""); - } catch (final FileNotFoundException fnfe) { - OutputController.getLogger().log(fnfe); - FileUtils.showCouldNotOpenDialog(weakThis.get(), R("PECouldNotOpen")); - } catch (final IOException ioe) { - OutputController.getLogger().log(ioe); - OutputController.getLogger().log(OutputController.Level.ERROR_ALL, R("RCantOpenFile", policyFile.getFile().getPath())); - FileUtils.showCouldNotOpenDialog(weakThis.get(), R("PECouldNotOpen")); - } + + @Override + public void done() { + changesMade = false; + for (final String codebase : policyFile.getCodebases()) { + final String model; + if (codebase.isEmpty()) { + model = R("PEGlobalSettings"); + } else { + model = codebase; + } + listModel.addElement(model); + } + addNewCodebase(""); + progressIndicator.setVisible(false); + progressIndicator.dispose(); + } + }; + openPolicyFileWorker.execute(); } /** * Save the policy model into the file pointed to by the filePath field. */ private void savePolicyFile() { - try { - final int overwriteChanges = checkPolicyChangesWithDialog(); - switch (overwriteChanges) { - case JOptionPane.YES_OPTION: - openAndParsePolicyFile(); - return; - case JOptionPane.NO_OPTION: - break; - case JOptionPane.CANCEL_OPTION: - return; - default: - break; + final int overwriteChanges = checkPolicyChangesWithDialog(); + switch (overwriteChanges) { + case JOptionPane.YES_OPTION: + openAndParsePolicyFile(); + return; + case JOptionPane.NO_OPTION: + break; + case JOptionPane.CANCEL_OPTION: + return; + default: + break; + } + + final Window parentWindow = SwingUtilities.getWindowAncestor(this); + final JDialog progressIndicator = new IndeterminateProgressDialog(parentWindow, "Saving..."); + final SwingWorker savePolicyFileWorker = new SwingWorker() { + @Override + public Void doInBackground() throws Exception { + try { + SwingUtilities.invokeLater(new Runnable() { + @Override + public void run() { + progressIndicator.setLocationRelativeTo(parentWindow); + progressIndicator.setVisible(true); + } + }); + policyFile.savePolicyFile(); + } catch (final IOException e) { + OutputController.getLogger().log(e); + showCouldNotSaveDialog(); + } + return null; } - policyFile.savePolicyFile(); - changesMade = false; - } catch (final IOException e) { - OutputController.getLogger().log(e); - showCouldNotSaveDialog(); - return; - } - showChangesSavedDialog(); + + @Override + public void done() { + changesMade = false; + showChangesSavedDialog(); + progressIndicator.setVisible(false); + progressIndicator.dispose(); + } + }; + savePolicyFileWorker.execute(); } /** @@ -1182,17 +1229,28 @@ * to the settings. "No" otherwise * @throws IOException if the file cannot be read */ - private int checkPolicyChangesWithDialog() throws IOException { - final boolean changed; + private int checkPolicyChangesWithDialog() { + boolean changed; try { changed = policyFile.hasChanged(); - } catch (FileNotFoundException e){ + } catch (FileNotFoundException e) { + OutputController.getLogger().log(e); JOptionPane.showMessageDialog(weakThis.get(), R("PEFileMissing"), R("PEFileModified"), JOptionPane.WARNING_MESSAGE); return JOptionPane.NO_OPTION; + } catch (IOException e) { + OutputController.getLogger().log(e); + changed = true; } if (changed) { - return JOptionPane.showConfirmDialog(weakThis.get(), R("PEFileModifiedDetail", policyFile.getFile().getCanonicalPath()), - R("PEFileModified"), JOptionPane.YES_NO_CANCEL_OPTION); + String policyFilePath; + try { + policyFilePath = policyFile.getFile().getCanonicalPath(); + } catch (final IOException e) { + OutputController.getLogger().log(e); + policyFilePath = policyFile.getFile().getPath(); + } + return JOptionPane.showConfirmDialog(weakThis.get(), R("PEFileModifiedDetail", policyFilePath, + R("PEFileModified"), JOptionPane.YES_NO_CANCEL_OPTION)); } else if (!changesMade) { //Return without saving or reloading return JOptionPane.CANCEL_OPTION; From bugzilla-daemon at icedtea.classpath.org Mon Jun 2 17:58:28 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 02 Jun 2014 17:58:28 +0000 Subject: [Bug 1810] The IcedTea plugin crashes on Firefox. In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1810 Andrew Azores changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution|--- |DUPLICATE --- Comment #7 from Andrew Azores --- Yes, duplicate of 1769. Closing. Thanks for the report. *** This bug has been marked as a duplicate of bug 1769 *** -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From andrew at icedtea.classpath.org Mon Jun 2 19:36:13 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Mon, 02 Jun 2014 19:36:13 +0000 Subject: /hg/icedtea7: 3 new changesets Message-ID: changeset 7c83a4e3c373 in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=7c83a4e3c373 author: Andrew John Hughes date: Mon Jun 02 18:59:06 2014 +0100 PR1807: Support Debian/Ubuntu 7 OpenJDK Install as Boot JDK 2014-06-02 Andrew John Hughes PR1807: Support Debian/Ubuntu 7 OpenJDK Install as Boot JDK * NEWS: Updated. * acinclude.m4: (IT_CHECK_FOR_JDK): Add java-7-openjdk to ICEDTEA7_VMS. changeset 6dae67d3ac69 in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=6dae67d3ac69 author: Andrew John Hughes date: Mon Jun 02 19:48:26 2014 +0100 PR1365: Replace hgforest support 2014-06-02 Andrew John Hughes * INSTALL: Remove documentation of --with-project as option is being removed. * Makefile.am: (OPENJDK_HG_URL): Removed. (CVMI_HG_URL): Likewise. (CLOSURES_HG_URL): Likewise. (CACIOCAVALLO_HG_URL): Likewise. (BSD_HG_URL): Likewise. (NIO2_HG_URL): Likewise. (REV_ARG): Added and set conditionally if $(HGREV) is set. (clean-local): Drop clean-hgforest. (hgforest): Removed. (clean-hgforest): Likewise. (download-openjdk): Remove project conditionals. Replace fclone usage with multiple clone calls. * NEWS: Updated. * acinclude.m4: (IT_ENABLE_HG): Drop IT_WITH_PROJECT dependency and simply to yes/no. (IT_WITH_PROJECT): Removed. * configure.ac: Drop IT_WITH_PROJECT. changeset 51d5f1e9310b in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=51d5f1e9310b author: Andrew John Hughes date: Mon Jun 02 20:35:33 2014 +0100 PR1814: HotSpot URL should be used with --enable-hg 2014-06-02 Andrew John Hughes PR1814: HotSpot URL should be used with --enable-hg * Makefile.am: (.PHONY): Add clean-download-hotspot. (download); Depend on download-hotspot. (clean-download): Move clean-download-nashorn to clean-download-openjdk to retain ordering. (download-openjdk): Remove hotspot from for loop and HotSpot zip download rules. (clean-download-openjdk): Depend on clean-download-hotspot. (download-hotspot): New target. Cloning now uses HS_URL as with zip downloading. (clean-download-hotspot): Separated from clean-download-openjdk. (extract-hotspot): Depend on download-hotspot. * NEWS: Updated. diffstat: ChangeLog | 53 ++++++++++++++++++++++ INSTALL | 3 - Makefile.am | 142 ++++++++++++++++++++++------------------------------------ NEWS | 3 + acinclude.m4 | 45 +----------------- configure.ac | 1 - 6 files changed, 114 insertions(+), 133 deletions(-) diffs (408 lines): diff -r 61916c3ad26e -r 51d5f1e9310b ChangeLog --- a/ChangeLog Thu May 15 12:17:33 2014 +0100 +++ b/ChangeLog Mon Jun 02 20:35:33 2014 +0100 @@ -1,3 +1,56 @@ +2014-06-02 Andrew John Hughes + + PR1814: HotSpot URL should be used with --enable-hg + * Makefile.am: + (.PHONY): Add clean-download-hotspot. + (download); Depend on download-hotspot. + (clean-download): Move clean-download-nashorn + to clean-download-openjdk to retain ordering. + (download-openjdk): Remove hotspot from for loop + and HotSpot zip download rules. + (clean-download-openjdk): Depend on clean-download-hotspot. + (download-hotspot): New target. Cloning now uses HS_URL + as with zip downloading. + (clean-download-hotspot): Separated from clean-download-openjdk. + (extract-hotspot): Depend on download-hotspot. + * NEWS: Updated. + +2014-06-02 Andrew John Hughes + + PR1365: Replace hgforest support + * INSTALL: + Remove documentation of --with-project as + option is being removed. + * Makefile.am: + (OPENJDK_HG_URL): Removed. + (CVMI_HG_URL): Likewise. + (CLOSURES_HG_URL): Likewise. + (CACIOCAVALLO_HG_URL): Likewise. + (BSD_HG_URL): Likewise. + (NIO2_HG_URL): Likewise. + (REV_ARG): Added and set conditionally if + $(HGREV) is set. + (clean-local): Drop clean-hgforest. + (hgforest): Removed. + (clean-hgforest): Likewise. + (download-openjdk): Remove project conditionals. + Replace fclone usage with multiple clone calls. + * NEWS: Updated. + * acinclude.m4: + (IT_ENABLE_HG): Drop IT_WITH_PROJECT dependency + and simply to yes/no. + (IT_WITH_PROJECT): Removed. + * configure.ac: Drop IT_WITH_PROJECT. + +2014-06-02 Andrew John Hughes + + PR1807: Support Debian/Ubuntu 7 OpenJDK + Install as Boot JDK + * NEWS: Updated. + * acinclude.m4: + (IT_CHECK_FOR_JDK): Add java-7-openjdk + to ICEDTEA7_VMS. + 2014-05-14 Andrew John Hughes PR1765: Boot JDK on ppc64le uses differently named diff -r 61916c3ad26e -r 51d5f1e9310b INSTALL --- a/INSTALL Thu May 15 12:17:33 2014 +0100 +++ b/INSTALL Mon Jun 02 20:35:33 2014 +0100 @@ -175,9 +175,6 @@ * --with-abs-install-dir: The final install location of the j2sdk-image, for use in the SystemTap tapset. * --with-llvm-config: Specify the location of the llvm-config binary. * --with-version-suffix: Appends the given text to the JDK version output. -* --with-project: Build an OpenJDK project from the following: icedtea, jdk7, closures, cvmi, cacaiocavallo, - bsd, nio2. The default is icedtea. Use of others is at the user's risk and builds may fail. This setting - affects which forest is checked out when --enable-hg is used and the set of patches applied. * --with-hotspot-build: The HotSpot to use, defaulting to 'original' i.e. hs14 as bundled with OpenJDK. * --with-pax: The command used to PaX-mark built binaries. * --enable-Werror: Turn gcc & javac warnings into errors. diff -r 61916c3ad26e -r 51d5f1e9310b Makefile.am --- a/Makefile.am Thu May 15 12:17:33 2014 +0100 +++ b/Makefile.am Mon Jun 02 20:35:33 2014 +0100 @@ -32,12 +32,6 @@ ICEDTEA_PREFIX = icedtea7-forest ICEDTEA_HG_URL = http://icedtea.classpath.org/hg/$(ICEDTEA_PREFIX) -OPENJDK_HG_URL = http://hg.openjdk.java.net/jdk7/jdk7 -CVMI_HG_URL = http://hg.openjdk.java.net/cvmi/cvmi/ -CLOSURES_HG_URL = http://hg.openjdk.java.net/closures/closures/ -CACIOCAVALLO_HG_URL = http://hg.openjdk.java.net/caciocavallo/jdk7/ -BSD_HG_URL = http://hg.openjdk.java.net/bsd-port/bsd-port -NIO2_HG_URL = http://hg.openjdk.java.net/nio/nio/ OPENJDK_URL = $(ICEDTEA_HG_URL) CORBA_URL = $(ICEDTEA_HG_URL)/corba @@ -172,6 +166,10 @@ HOTSPOT_SRC_ZIP = hotspot.tar.gz endif +if WITH_HGREV +REV_ARG = -r $(HGREV) +endif + if ENABLE_PULSE_JAVA PULSE_JAVA_TARGET = stamps/pulse-java.stamp endif @@ -790,7 +788,7 @@ clean-icedtea clean-icedtea-boot clean-clone clean-clone-boot \ clean-bootstrap-directory-stage1 clean-bootstrap-directory-stage2 \ clean-bootstrap-directory-symlink-stage1 clean-bootstrap-directory-symlink-stage2 \ - clean-extract clean-generated clean-native-ecj clean-hgforest clean-icedtea-stage2 \ + clean-extract clean-generated clean-native-ecj clean-icedtea-stage2 \ clean-icedtea-debug-stage2 clean-icedtea-stage1 clean-add-zero clean-add-zero-debug \ clean-add-cacao clean-add-cacao-debug clean-rt clean-rewrite-rhino clean-rewriter \ clean-add-systemtap clean-add-systemtap-debug clean-add-pulseaudio clean-add-pulseaudio-debug \ @@ -829,7 +827,8 @@ 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-add-archive clean-add-archive-debug clean-add-archive-boot clean-cryptocheck + clean-add-archive clean-add-archive-debug clean-add-archive-boot clean-cryptocheck \ + clean-download-hotspot env: @echo 'unset JAVA_HOME' @@ -859,59 +858,24 @@ # OpenJDK Source Preparation Targets # ================================== -# Check for forest support - -stamps/hgforest.stamp: -if USE_HG - if ! $(HG) fclone -h; \ - then \ - echo "No forest extension found. Please refer to" \ - "http://selenic.com/mercurial/wiki/index.cgi/ForestExtension"; \ - exit 1; \ - fi; -endif - mkdir -p stamps - touch $@ - -clean-hgforest: - rm -f stamps/hgforest.stamp - # Download OpenJDK sources. stamps/download.stamp: stamps/download-openjdk.stamp \ - stamps/download-cacao.stamp stamps/download-jamvm.stamp + stamps/download-cacao.stamp stamps/download-jamvm.stamp stamps/download-hotspot.stamp mkdir -p stamps touch $@ clean-download: clean-download-openjdk clean-download-cacao clean-download-jamvm rm -f stamps/download.stamp -stamps/download-openjdk.stamp: stamps/hgforest.stamp -if !OPENJDK_SRC_DIR_FOUND -if USE_CLOSURES - $(HG) fclone $(CLOSURES_HG_URL) openjdk; -else -if USE_CVMI - $(HG) fclone $(CVMI_HG_URL) openjdk; -else -if USE_CACIOCAVALLO - $(HG) fclone $(CACIOCAVALLO_HG_URL) openjdk; -else -if USE_BSD - $(HG) fclone $(BSD_HG_URL) openjdk; -else -if USE_NIO2 - hg fclone $(NIO2_HG_URL) openjdk; -else -if USE_JDK7 - hg fclone $(OPENJDK_HG_URL) openjdk; +stamps/download-openjdk.stamp: +if OPENJDK_SRC_DIR_FOUND else if USE_HG -if WITH_HGREV - $(HG) fclone -r $(HGREV) $(ICEDTEA_HG_URL) openjdk; -else - $(HG) fclone $(ICEDTEA_HG_URL) openjdk; -endif + $(HG) clone $(REV_ARG) $(ICEDTEA_HG_URL) openjdk; + for repos in corba jaxp jaxws langtools jdk ; do \ + $(HG) clone $(REV_ARG) $(ICEDTEA_HG_URL)/$${repos} openjdk/$${repos}; \ + done else if USE_ALT_OPENJDK_SRC_ZIP ln -sf $(ALT_OPENJDK_SRC_ZIP) $(OPENJDK_SRC_ZIP) @@ -1027,38 +991,12 @@ echo "ERROR: No up-to-date OpenJDK langtools zip available"; exit -1; \ fi ; \ fi ; -if USE_ALT_HOTSPOT_SRC_ZIP - ln -sf $(ALT_HOTSPOT_SRC_ZIP) $(HOTSPOT_SRC_ZIP) -endif - echo "Using HotSpot build: ${HSBUILD}" - if ! echo "$(HS_SHA256SUM) $(HOTSPOT_SRC_ZIP)" \ - | $(SHA256SUM) --check ; \ - then \ - if test "x$(enable_downloading)" = "xyes"; then \ - if [ -e $(HOTSPOT_SRC_ZIP) ] ; then \ - mv $(HOTSPOT_SRC_ZIP) $(HOTSPOT_SRC_ZIP).old ; \ - fi ; \ - $(WGET) $(HS_URL)/archive/$(HS_CHANGESET).tar.gz -O $(HOTSPOT_SRC_ZIP) ; \ - if ! echo "$(HS_SHA256SUM) $(HOTSPOT_SRC_ZIP)" \ - | $(SHA256SUM) --check ; then \ - echo "ERROR: Bad download of HotSpot zip"; false; \ - fi; \ - else \ - echo "ERROR: No up-to-date OpenJDK HotSpot zip available"; exit -1; \ - fi ; \ - fi -endif -endif -endif -endif -endif -endif endif endif mkdir -p stamps touch $@ -clean-download-openjdk: +clean-download-openjdk: clean-download-hotspot if [ ! -z $(OPENJDK_SRC_ZIP) ] ; then \ rm -f $(OPENJDK_SRC_ZIP) ; \ fi @@ -1077,9 +1015,6 @@ if [ ! -z $(LANGTOOLS_SRC_ZIP) ] ; then \ rm -f $(LANGTOOLS_SRC_ZIP) ; \ fi - if [ ! -z $(HOTSPOT_SRC_ZIP) ] ; then \ - rm -f $(HOTSPOT_SRC_ZIP) ; \ - fi rm -f stamps/download-openjdk.stamp stamps/download-cacao.stamp: @@ -1145,6 +1080,43 @@ rm -f $(JAMVM_SRC_ZIP) rm -f stamps/download-jamvm.stamp +stamps/download-hotspot.stamp: stamps/download-openjdk.stamp +if OPENJDK_SRC_DIR_FOUND +else +if USE_HG + $(HG) clone $(REV_ARG) $(HS_URL) openjdk/hotspot +else +if USE_ALT_HOTSPOT_SRC_ZIP + ln -sf $(ALT_HOTSPOT_SRC_ZIP) $(HOTSPOT_SRC_ZIP) +endif + echo "Using HotSpot build: ${HSBUILD}" + if ! echo "$(HS_SHA256SUM) $(HOTSPOT_SRC_ZIP)" \ + | $(SHA256SUM) --check ; \ + then \ + if test "x$(enable_downloading)" = "xyes"; then \ + if [ -e $(HOTSPOT_SRC_ZIP) ] ; then \ + mv $(HOTSPOT_SRC_ZIP) $(HOTSPOT_SRC_ZIP).old ; \ + fi ; \ + $(WGET) $(HS_URL)/archive/$(HS_CHANGESET).tar.gz -O $(HOTSPOT_SRC_ZIP) ; \ + if ! echo "$(HS_SHA256SUM) $(HOTSPOT_SRC_ZIP)" \ + | $(SHA256SUM) --check ; then \ + echo "ERROR: Bad download of HotSpot zip"; false; \ + fi; \ + else \ + echo "ERROR: No up-to-date OpenJDK HotSpot zip available"; exit -1; \ + fi ; \ + fi +endif +endif + mkdir -p stamps + touch $@ + +clean-download-hotspot: + if [ ! -z $(HOTSPOT_SRC_ZIP) ] ; then \ + rm -f $(HOTSPOT_SRC_ZIP) ; \ + fi + rm -f stamps/download-hotspot.stamp + stamps/extract.stamp: stamps/extract-openjdk.stamp \ stamps/extract-cacao.stamp stamps/remove-intree-libraries.stamp \ stamps/extract-jamvm.stamp stamps/extract-hotspot.stamp stamps/sanitise-openjdk.stamp @@ -1250,7 +1222,7 @@ rm -rf openjdk rm -f stamps/extract-openjdk.stamp -stamps/extract-hotspot.stamp: stamps/extract-openjdk.stamp +stamps/extract-hotspot.stamp: stamps/extract-openjdk.stamp stamps/download-hotspot.stamp set -e ; \ if [ ! -z $(HOTSPOT_SRC_ZIP) ] ; then \ if test -e ${HOTSPOT_SRC_ZIP} ; \ @@ -2756,14 +2728,10 @@ download-cacao: stamps/download-cacao.stamp +download-hotspot: stamps/download-hotspot.stamp + download-jamvm: stamps/download-jamvm.stamp -download-jaf-drop: stamps/download-jaf-drop.stamp - -download-jaxp-drop: stamps/download-jaxp-drop.stamp - -download-jaxws-drop: stamps/download-jaxws-drop.stamp - download-openjdk: stamps/download-openjdk.stamp extract: stamps/extract.stamp diff -r 61916c3ad26e -r 51d5f1e9310b NEWS --- a/NEWS Thu May 15 12:17:33 2014 +0100 +++ b/NEWS Mon Jun 02 20:35:33 2014 +0100 @@ -184,6 +184,9 @@ - PR1762: Undefined references when building with NSS 3.16.1 - PR1763: ppc64 JIT doesn't support class data sharing - PR1765: Boot JDK on ppc64le uses differently named arch directory to final build + - PR1807: Support Debian/Ubuntu 7 OpenJDK Install as Boot JDK + - PR1365: Replace hgforest support + - PR1814: HotSpot URL should be used with --enable-hg New in release 2.5.0 (2014-XX-XX): diff -r 61916c3ad26e -r 51d5f1e9310b acinclude.m4 --- a/acinclude.m4 Thu May 15 12:17:33 2014 +0100 +++ b/acinclude.m4 Mon Jun 02 20:35:33 2014 +0100 @@ -859,10 +859,9 @@ AC_DEFUN([IT_ENABLE_HG], [ - AC_REQUIRE([IT_WITH_PROJECT]) AC_MSG_CHECKING(whether to retrieve the source code from Mercurial) AC_ARG_ENABLE([hg], - [AS_HELP_STRING(--enable-hg,download source code from Mercurial [[default=depends on project]])], + [AS_HELP_STRING(--enable-hg,download source code from Mercurial [[default=no]])], [ case "${enableval}" in no) @@ -874,14 +873,7 @@ esac ], [ - case "${project}" in - icedtea) - enable_hg=no - ;; - *) - enable_hg=yes - ;; - esac + enable_hg=no ]) AC_MSG_RESULT([${enable_hg}]) AM_CONDITIONAL([USE_HG], test x"${enable_hg}" = "xyes") @@ -915,37 +907,6 @@ AC_SUBST(VERSION_SUFFIX, $version_suffix) ]) -AC_DEFUN([IT_WITH_PROJECT], -[ - AC_MSG_CHECKING(which OpenJDK project is being used) - AC_ARG_WITH([project], - [AS_HELP_STRING(--with-project=PROJECT,choose the OpenJDK project to use: icedtea jdk7 closures cvmi caciocavallo bsd nio2 [[PROJECT=icedtea]])], - [ - case "${withval}" in - yes) - project=icedtea - ;; - no) - AC_MSG_ERROR([argument passed to --with-project should be a supported OpenJDK project (see help)]) - ;; - *) - project=${withval} - ;; - esac - ], - [ - project=icedtea - ]) - AC_MSG_RESULT([${project}]) - AC_SUBST(PROJECT_NAME, $project) - AM_CONDITIONAL([USE_CLOSURES], test x"${project}" = "xclosures") - AM_CONDITIONAL([USE_CVMI], test x"${project}" = "xcvmi") - AM_CONDITIONAL([USE_CACIOCAVALLO], test x"${project}" = "xcaciocavallo") - AM_CONDITIONAL([USE_BSD], test x"${project}" = "xbsd") - AM_CONDITIONAL([USE_NIO2], test x"${project}" = "xnio2") - AM_CONDITIONAL([USE_JDK7], test x"${project}" = "xjdk7") -]) - AC_DEFUN_ONCE([IT_WITH_GCJ], [ AC_MSG_CHECKING([whether to compile ecj natively]) @@ -1183,7 +1144,7 @@ /usr/lib/jvm/java-1.6.0" ICEDTEA7_VMS="/usr/lib/jvm/icedtea-7 /usr/lib/jvm/icedtea7 /usr/lib/jvm/java-1.7.0-openjdk /usr/lib/jvm/java-1.7.0-openjdk.x86_64 /usr/lib64/jvm/java-1.7.0-openjdk - /usr/lib/jvm/java-1.7.0" + /usr/lib/jvm/java-1.7.0 /usr/lib/jvm/java-7-openjdk" for dir in ${BOOTSTRAP_VMS} ${ICEDTEA7_VMS} ${ICEDTEA6_VMS} \ /usr/lib/jvm/java-openjdk /usr/lib/jvm/openjdk /usr/lib/jvm/java-icedtea \ /etc/alternatives/java_sdk_openjdk ; do diff -r 61916c3ad26e -r 51d5f1e9310b configure.ac --- a/configure.ac Thu May 15 12:17:33 2014 +0100 +++ b/configure.ac Mon Jun 02 20:35:33 2014 +0100 @@ -180,7 +180,6 @@ IT_ENABLE_ARM32JIT IT_WITH_VERSION_SUFFIX -IT_WITH_PROJECT IT_ENABLE_HG IT_WITH_TZDATA_DIR From bugzilla-daemon at icedtea.classpath.org Mon Jun 2 19:36:27 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 02 Jun 2014 19:36:27 +0000 Subject: [Bug 1807] [IcedTea7] Support Debian/Ubuntu 7 OpenJDK Install as Boot JDK In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1807 --- Comment #1 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea7?cmd=changeset;node=7c83a4e3c373 author: Andrew John Hughes date: Mon Jun 02 18:59:06 2014 +0100 PR1807: Support Debian/Ubuntu 7 OpenJDK Install as Boot JDK 2014-06-02 Andrew John Hughes PR1807: Support Debian/Ubuntu 7 OpenJDK Install as Boot JDK * NEWS: Updated. * acinclude.m4: (IT_CHECK_FOR_JDK): Add java-7-openjdk to ICEDTEA7_VMS. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Mon Jun 2 19:36:31 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 02 Jun 2014 19:36:31 +0000 Subject: [Bug 1365] [IcedTea7] Replace hgforest support In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1365 --- Comment #2 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea7?cmd=changeset;node=6dae67d3ac69 author: Andrew John Hughes date: Mon Jun 02 19:48:26 2014 +0100 PR1365: Replace hgforest support 2014-06-02 Andrew John Hughes * INSTALL: Remove documentation of --with-project as option is being removed. * Makefile.am: (OPENJDK_HG_URL): Removed. (CVMI_HG_URL): Likewise. (CLOSURES_HG_URL): Likewise. (CACIOCAVALLO_HG_URL): Likewise. (BSD_HG_URL): Likewise. (NIO2_HG_URL): Likewise. (REV_ARG): Added and set conditionally if $(HGREV) is set. (clean-local): Drop clean-hgforest. (hgforest): Removed. (clean-hgforest): Likewise. (download-openjdk): Remove project conditionals. Replace fclone usage with multiple clone calls. * NEWS: Updated. * acinclude.m4: (IT_ENABLE_HG): Drop IT_WITH_PROJECT dependency and simply to yes/no. (IT_WITH_PROJECT): Removed. * configure.ac: Drop IT_WITH_PROJECT. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Mon Jun 2 19:36:38 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 02 Jun 2014 19:36:38 +0000 Subject: [Bug 1814] [IcedTea7] HotSpot URL should be used with --enable-hg In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1814 --- Comment #1 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea7?cmd=changeset;node=51d5f1e9310b author: Andrew John Hughes date: Mon Jun 02 20:35:33 2014 +0100 PR1814: HotSpot URL should be used with --enable-hg 2014-06-02 Andrew John Hughes PR1814: HotSpot URL should be used with --enable-hg * Makefile.am: (.PHONY): Add clean-download-hotspot. (download); Depend on download-hotspot. (clean-download): Move clean-download-nashorn to clean-download-openjdk to retain ordering. (download-openjdk): Remove hotspot from for loop and HotSpot zip download rules. (clean-download-openjdk): Depend on clean-download-hotspot. (download-hotspot): New target. Cloning now uses HS_URL as with zip downloading. (clean-download-hotspot): Separated from clean-download-openjdk. (extract-hotspot): Depend on download-hotspot. * NEWS: Updated. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From aazores at redhat.com Mon Jun 2 21:07:49 2014 From: aazores at redhat.com (Andrew Azores) Date: Mon, 02 Jun 2014 17:07:49 -0400 Subject: [rfc][icedtea-web][policyeditor] Unit tests fix after last PolicyEditor async IO patch Message-ID: <538CE7A5.4040306@redhat.com> Hi, There's a race between the unit tests and PolicyEditor instances that is causing several PolicyEditor tests to sporadically fail, due to the tests asserting certain conditions about the contents of the policy file model before it has actually been opened and parsed. This patch fixes the race by adding a "performingIO" field to the editor, which is simply marked true immediately before starting an IO operation and marked false immediately after completing it. The test cases then poll the editor every 50ms, waiting for it to complete its IO, before performing the actual tests. Additionally, the new progress bar dialog which appears during blocking IO does so assuming that the editor panel is contained within some window, which it uses as its parent to set its modality and to center itself. However, this is not necessarily the case - PolicyEditor can actually be used headless, and is used headless during the unit tests. The dialog appears during the unit tests regardless of the fact that there is no parent window. This is solved by simply checking if the parent window of the editor panel is null, and if it is, not invoking the Runnable which displays the progress indicator. Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: policyeditor-async-tests.patch Type: text/x-patch Size: 5167 bytes Desc: not available URL: From bugzilla-daemon at icedtea.classpath.org Mon Jun 2 21:54:25 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 02 Jun 2014 21:54:25 +0000 Subject: [Bug 1809] SIGSEGV in RSSOwl In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1809 --- Comment #2 from Pasa --- Thanks for the reply but what exactly does it mean? -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Tue Jun 3 02:32:34 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 03 Jun 2014 02:32:34 +0000 Subject: [Bug 1606] jnlp href value stripped of url parameters In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1606 --- Comment #1 from Vanja Bucic --- It has been a while... Does anyone have any comments on this issue? -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From mark at icedtea.classpath.org Tue Jun 3 08:17:36 2014 From: mark at icedtea.classpath.org (mark at icedtea.classpath.org) Date: Tue, 03 Jun 2014 08:17:36 +0000 Subject: /hg/buildbot: build.sh set EXTRA_VERBOSE make flag for trunk, 6 ... Message-ID: changeset b589c9b21c44 in /hg/buildbot details: http://icedtea.classpath.org/hg/buildbot?cmd=changeset;node=b589c9b21c44 author: Mark Wielaard date: Tue Jun 03 10:17:14 2014 +0200 build.sh set EXTRA_VERBOSE make flag for trunk, 6 or 7. diffstat: icedtea/build.sh | 10 ++++++++-- 1 files changed, 8 insertions(+), 2 deletions(-) diffs (27 lines): diff -r 53aff698b341 -r b589c9b21c44 icedtea/build.sh --- a/icedtea/build.sh Sat Apr 19 18:33:11 2014 +0100 +++ b/icedtea/build.sh Tue Jun 03 10:17:14 2014 +0200 @@ -26,7 +26,13 @@ if [ $# -ne 1 ]; then echo "build.sh takes one argument 6, 7 or trunk" exit -1; -elif [ "$1" != "6" -a "$1" != "7" -a "$1" != trunk ]; then +fi + +if [ "$1" == "6" -o "$1" == "7" ]; then + EXTRA_VERBOSE='VERBOSE=true' +elif [ "$1" == "trunk" ]; then + EXTRA_VERBOSE='LOG=debug' +else echo "build.sh argument must be 6, 7 or trunk" exit -1; fi @@ -118,7 +124,7 @@ && cd $ICEDTEA_BUILD_DIR \ && $ICEDTEA_DIR/configure \ --enable-nss \ - && make VERBOSE=true) 2>&1 | tee $BUILD_LOG_FILE + && make $EXTRA_VERBOSE) 2>&1 | tee $BUILD_LOG_FILE BUILD_RESULT=$? echo "Build result: $BUILD_RESULT" From aph at redhat.com Tue Jun 3 09:14:49 2014 From: aph at redhat.com (Andrew Haley) Date: Tue, 03 Jun 2014 10:14:49 +0100 Subject: Java pepper support In-Reply-To: <538D8C5C.5070205@java4.info> References: <538D8C5C.5070205@java4.info> Message-ID: <538D9209.1060806@redhat.com> On 03/06/14 09:50, Florian Binder wrote: > I am not sure if this is the right list for this question. Please let me > know if there is a better one. distro-pkg-dev at openjdk.java.net > I am interested in the future of java applets. > Chrome is phasing out NPAPI support , probably by the end of 2014. This > means java applets wont run any more in chrome. Instead of this they > introduced a new plugin api called pepper (PPAPI). > > Is there a plan to create a java pepper plugin? We're thinking about it. Come over to distro-pkg-dev and have a chat. Andrew. From ptisnovs at icedtea.classpath.org Tue Jun 3 09:38:40 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Tue, 03 Jun 2014 09:38:40 +0000 Subject: /hg/gfx-test: Ten new helper methods added into CAGOperationsOnC... Message-ID: changeset 71e36aecc981 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=71e36aecc981 author: Pavel Tisnovsky date: Tue Jun 03 11:39:32 2014 +0200 Ten new helper methods added into CAGOperationsOnChordAndRectangle. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/CAGOperationsOnChordAndRectangle.java | 230 ++++++++++ 2 files changed, 235 insertions(+), 0 deletions(-) diffs (252 lines): diff -r a7c9405ecdd8 -r 71e36aecc981 ChangeLog --- a/ChangeLog Mon Jun 02 13:32:19 2014 +0200 +++ b/ChangeLog Tue Jun 03 11:39:32 2014 +0200 @@ -1,3 +1,8 @@ +2014-06-03 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/CAGOperationsOnChordAndRectangle.java: + Ten new helper methods added into CAGOperationsOnChordAndRectangle. + 2014-06-02 Pavel Tisnovsky * src/org/gfxtest/testsuites/BitBltBufferedImageOp.java: diff -r a7c9405ecdd8 -r 71e36aecc981 src/org/gfxtest/testsuites/CAGOperationsOnChordAndRectangle.java --- a/src/org/gfxtest/testsuites/CAGOperationsOnChordAndRectangle.java Mon Jun 02 13:32:19 2014 +0200 +++ b/src/org/gfxtest/testsuites/CAGOperationsOnChordAndRectangle.java Tue Jun 03 11:39:32 2014 +0200 @@ -1776,6 +1776,236 @@ } /** + * Checks the process of creating and rendering new geometric shape + * constructed from a chord inside a rectangle using inverse subtract operator. + * The shape is rendered using vertical gradient fill. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testSmallChordInsideRectangleInverseSubtractVerticalGradientPaint(TestImage image, Graphics2D graphics2d) + { + // set vertical gradient fill + CommonRenderingStyles.setVerticalGradientFill(image, graphics2d); + // create area using inverse subtract operator + Area area = CommonCAGOperations.createAreaFromSmallerChordInsideRectangleUsingInverseSubtractOperator(image); + // fill the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from a chord inside a rectangle using intersect operator. The shape is + * rendered using vertical gradient fill. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testSmallChordInsideRectangleIntersectVerticalGradientPaint(TestImage image, Graphics2D graphics2d) + { + // set vertical gradient fill + CommonRenderingStyles.setVerticalGradientFill(image, graphics2d); + // create area using intersect operator + Area area = CommonCAGOperations.createAreaFromSmallerChordInsideRectangleUsingIntersectOperator(image); + // fill the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from a chord inside a rectangle using XOR operator. The shape is + * rendered using vertical gradient fill. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testSmallChordInsideRectangleXorVerticalGradientPaint(TestImage image, Graphics2D graphics2d) + { + // set vertical gradient fill + CommonRenderingStyles.setVerticalGradientFill(image, graphics2d); + // create area using XOR operator + Area area = CommonCAGOperations.createAreaFromSmallerChordInsideRectangleUsingXorOperator(image); + // fill the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from a chord inside a rectangle using union operator. The shape is + * rendered using diagonal gradient fill. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testSmallChordInsideRectangleUnionDiagonalGradientPaint(TestImage image, Graphics2D graphics2d) + { + // set diagonal gradient fill + CommonRenderingStyles.setDiagonalGradientFill(image, graphics2d); + // create area using union operator + Area area = CommonCAGOperations.createAreaFromSmallerChordInsideRectangleUsingUnionOperator(image); + // fill the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from a chord inside a rectangle using subtract operator. The shape is + * rendered using diagonal gradient fill. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testSmallChordInsideRectangleSubtractDiagonalGradientPaint(TestImage image, Graphics2D graphics2d) + { + // set diagonal gradient fill + CommonRenderingStyles.setDiagonalGradientFill(image, graphics2d); + // create area using subtract operator + Area area = CommonCAGOperations.createAreaFromSmallerChordInsideRectangleUsingSubtractOperator(image); + // fill the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from a chord inside a rectangle using inverse subtract operator. + * The shape is rendered using diagonal gradient fill. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testSmallChordInsideRectangleInverseSubtractDiagonalGradientPaint(TestImage image, Graphics2D graphics2d) + { + // set diagonal gradient fill + CommonRenderingStyles.setDiagonalGradientFill(image, graphics2d); + // create area using inverse subtract operator + Area area = CommonCAGOperations.createAreaFromSmallerChordInsideRectangleUsingInverseSubtractOperator(image); + // fill the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from a chord inside a rectangle using intersect operator. The shape is + * rendered using diagonal gradient fill. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testSmallChordInsideRectangleIntersectDiagonalGradientPaint(TestImage image, Graphics2D graphics2d) + { + // set diagonal gradient fill + CommonRenderingStyles.setDiagonalGradientFill(image, graphics2d); + // create area using intersect operator + Area area = CommonCAGOperations.createAreaFromSmallerChordInsideRectangleUsingIntersectOperator(image); + // fill the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from a chord inside a rectangle using XOR operator. The shape is + * rendered using diagonal gradient fill. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testSmallChordInsideRectangleXorDiagonalGradientPaint(TestImage image, Graphics2D graphics2d) + { + // set diagonal gradient fill + CommonRenderingStyles.setDiagonalGradientFill(image, graphics2d); + // create area using XOR operator + Area area = CommonCAGOperations.createAreaFromSmallerChordInsideRectangleUsingXorOperator(image); + // fill the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from chord and rectangle using union operator. The shape is + * rendered using stroke paint. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testOverlappingChordAndRectangleUnionStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // create area using union operator + Area area = CommonCAGOperations.createAreaFromOverlappingChordAndRectangleUsingUnionOperator(image); + // draw the area + graphics2d.draw(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from chord and rectangle using subtract operator. The shape is + * rendered using stroke paint. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testOverlappingChordAndRectangleSubtractStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // create area using union operator + Area area = CommonCAGOperations.createAreaFromOverlappingChordAndRectangleUsingSubtractOperator(image); + // draw the area + graphics2d.draw(area); + // test result + return TestResult.PASSED; + } + + /** * Entry point to the test suite. * * @param args not used in this case From mark at icedtea.classpath.org Tue Jun 3 12:37:42 2014 From: mark at icedtea.classpath.org (mark at icedtea.classpath.org) Date: Tue, 03 Jun 2014 12:37:42 +0000 Subject: /hg/buildbot: build.sh Add --disable-system-lcms as EXTRA_CONFIG... Message-ID: changeset fea2b60ab331 in /hg/buildbot details: http://icedtea.classpath.org/hg/buildbot?cmd=changeset;node=fea2b60ab331 author: Mark Wielaard date: Tue Jun 03 14:37:23 2014 +0200 build.sh Add --disable-system-lcms as EXTRA_CONFIGURE for 6 and 7. diffstat: icedtea/build.sh | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diffs (22 lines): diff -r b589c9b21c44 -r fea2b60ab331 icedtea/build.sh --- a/icedtea/build.sh Tue Jun 03 10:17:14 2014 +0200 +++ b/icedtea/build.sh Tue Jun 03 14:37:23 2014 +0200 @@ -30,8 +30,10 @@ if [ "$1" == "6" -o "$1" == "7" ]; then EXTRA_VERBOSE='VERBOSE=true' + EXTRA_CONFIGURE='--disable-system-lcms' elif [ "$1" == "trunk" ]; then EXTRA_VERBOSE='LOG=debug' + EXTRA_CONFIGURE='' else echo "build.sh argument must be 6, 7 or trunk" exit -1; @@ -124,6 +126,7 @@ && cd $ICEDTEA_BUILD_DIR \ && $ICEDTEA_DIR/configure \ --enable-nss \ + $EXTRA_CONFIGURE \ && make $EXTRA_VERBOSE) 2>&1 | tee $BUILD_LOG_FILE BUILD_RESULT=$? From ldracz at redhat.com Tue Jun 3 13:32:04 2014 From: ldracz at redhat.com (Lukasz Dracz) Date: Tue, 3 Jun 2014 09:32:04 -0400 (EDT) Subject: [rfc][icedtea-web] Temporary Permissions as check boxes In-Reply-To: <538C9536.8080807@redhat.com> References: <478067093.9206491.1401482670568.JavaMail.zimbra@redhat.com> <538C7DDE.3060905@redhat.com> <1099968511.9565551.1401718180783.JavaMail.zimbra@redhat.com> <538C9536.8080807@redhat.com> Message-ID: <1375318007.9971044.1401802324112.JavaMail.zimbra@redhat.com> ----- Original Message ----- > > + temporaryPermissions.addAll((Collection Permission>) permissions); > > Is the cast here necessary? Please remove it if not. Otherwise, this > looks good. > > Thanks, > > -- > Andrew A > > Hello, Your right the cast was unnecessary and I have removed it. The changed patch is attached. Thank you, Lukasz Dracz -------------- next part -------------- A non-text attachment was scrubbed... Name: CheckBoxMenuItemForTemporaryPermissions-3.patch Type: text/x-patch Size: 6866 bytes Desc: not available URL: From aazores at redhat.com Tue Jun 3 13:49:18 2014 From: aazores at redhat.com (Andrew Azores) Date: Tue, 03 Jun 2014 09:49:18 -0400 Subject: [rfc][icedtea-web] Temporary Permissions as check boxes In-Reply-To: <1375318007.9971044.1401802324112.JavaMail.zimbra@redhat.com> References: <478067093.9206491.1401482670568.JavaMail.zimbra@redhat.com> <538C7DDE.3060905@redhat.com> <1099968511.9565551.1401718180783.JavaMail.zimbra@redhat.com> <538C9536.8080807@redhat.com> <1375318007.9971044.1401802324112.JavaMail.zimbra@redhat.com> Message-ID: <538DD25E.1000908@redhat.com> On 06/03/2014 09:32 AM, Lukasz Dracz wrote: > > ----- Original Message ----- >> + temporaryPermissions.addAll((Collection> Permission>) permissions); >> >> Is the cast here necessary? Please remove it if not. Otherwise, this >> looks good. >> >> Thanks, >> >> -- >> Andrew A >> >> > Hello, > > Your right the cast was unnecessary and I have removed it. > The changed patch is attached. > > Thank you, > Lukasz Dracz > Looks good, I'll push this for you now. One nit-pick is the ChangeLog - the new ChangeLog entry should be at the top, not inserted between two others. But I'll fix this for you. Thanks, -- Andrew A From aazores at icedtea.classpath.org Tue Jun 3 13:52:39 2014 From: aazores at icedtea.classpath.org (aazores at icedtea.classpath.org) Date: Tue, 03 Jun 2014 13:52:39 +0000 Subject: /hg/icedtea-web: Temporary Permissions options made multi-select... Message-ID: changeset d87ee4e6e81a in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=d87ee4e6e81a author: Andrew Azores date: Tue Jun 03 09:52:23 2014 -0400 Temporary Permissions options made multi-selectable 2014-06-03 Lukasz Dracz Changed Temporary Permissions from menu items to check box menu items * netx/net/sourceforge/jnlp/security/dialogs/TemporaryPermissionsButton.java (TemporaryPermissionsListener.actionPerformed): Added behaviour to add or remove permissions from a new collection of permissions based on whether the item is checked or not (TemporaryPermissionsButton.TemporaryPermissionsButton): Added action listener and applied the new collection of permissions for when the sandbox button is pressed diffstat: ChangeLog | 11 ++ netx/net/sourceforge/jnlp/security/dialogs/TemporaryPermissionsButton.java | 47 +++++++-- 2 files changed, 44 insertions(+), 14 deletions(-) diffs (138 lines): diff -r ea0ccfeeed06 -r d87ee4e6e81a ChangeLog --- a/ChangeLog Mon Jun 02 13:56:57 2014 -0400 +++ b/ChangeLog Tue Jun 03 09:52:23 2014 -0400 @@ -1,3 +1,14 @@ +2014-06-03 Lukasz Dracz + + Changed Temporary Permissions from menu items to check box menu items + * netx/net/sourceforge/jnlp/security/dialogs/TemporaryPermissionsButton.java + (TemporaryPermissionsListener.actionPerformed): Added behaviour to add + or remove permissions from a new collection of permissions based on + whether the item is checked or not + (TemporaryPermissionsButton.TemporaryPermissionsButton): Added action + listener and applied the new collection of permissions for when the + sandbox button is pressed + 2014-06-02 Andrew Azores PolicyEditor file I/O made asynchronous with a progress indicator diff -r ea0ccfeeed06 -r d87ee4e6e81a netx/net/sourceforge/jnlp/security/dialogs/TemporaryPermissionsButton.java --- a/netx/net/sourceforge/jnlp/security/dialogs/TemporaryPermissionsButton.java Mon Jun 02 13:56:57 2014 -0400 +++ b/netx/net/sourceforge/jnlp/security/dialogs/TemporaryPermissionsButton.java Tue Jun 03 09:52:23 2014 -0400 @@ -48,8 +48,12 @@ import java.net.URL; import java.security.Permission; import java.util.Collection; +import java.util.HashSet; +import java.util.Objects; +import javax.swing.AbstractButton; import javax.swing.JButton; +import javax.swing.JCheckBoxMenuItem; import javax.swing.JMenuItem; import javax.swing.JPopupMenu; @@ -67,14 +71,24 @@ private PolicyEditorWindow policyEditorWindow = null; private final JNLPFile file; private final SecurityDelegate securityDelegate; + private final Collection temporaryPermissions = new HashSet<>(); public TemporaryPermissionsButton(final JNLPFile file, final SecurityDelegate securityDelegate, final JButton linkedButton) { super("\u2630"); + Objects.requireNonNull(file); + Objects.requireNonNull(securityDelegate); + Objects.requireNonNull(linkedButton); this.menu = createPolicyPermissionsMenu(); this.linkedButton = linkedButton; this.file = file; this.securityDelegate = securityDelegate; + linkedButton.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + securityDelegate.addPermissions(temporaryPermissions); + } + }); addMouseListener(new PolicyEditorPopupListener(this)); } @@ -88,47 +102,47 @@ policyMenu.addSeparator(); - final JMenuItem noFileAccess = new JMenuItem(R("STempPermNoFile")); + final JCheckBoxMenuItem noFileAccess = new JCheckBoxMenuItem(R("STempPermNoFile")); noFileAccess.addActionListener(new TemporaryPermissionsListener(TemporaryPermissions.noFileAccess())); policyMenu.add(noFileAccess); - final JMenuItem noNetworkAccess = new JMenuItem(R("STempPermNoNetwork")); + final JCheckBoxMenuItem noNetworkAccess = new JCheckBoxMenuItem(R("STempPermNoNetwork")); noNetworkAccess.addActionListener(new TemporaryPermissionsListener(TemporaryPermissions.noNetworkAccess())); policyMenu.add(noNetworkAccess); - final JMenuItem noFileOrNetwork = new JMenuItem(R("STempNoFileOrNetwork")); + final JCheckBoxMenuItem noFileOrNetwork = new JCheckBoxMenuItem(R("STempNoFileOrNetwork")); noFileOrNetwork.addActionListener(new TemporaryPermissionsListener(TemporaryPermissions.noFileOrNetworkAccess())); policyMenu.add(noFileOrNetwork); policyMenu.addSeparator(); - final JMenuItem allFileAccessOnly = new JMenuItem(R("STempAllFileAndPropertyAccess")); + final JCheckBoxMenuItem allFileAccessOnly = new JCheckBoxMenuItem(R("STempAllFileAndPropertyAccess")); allFileAccessOnly.addActionListener(new TemporaryPermissionsListener(TemporaryPermissions.allFileAccessAndProperties())); policyMenu.add(allFileAccessOnly); - final JMenuItem readLocalFilesAndProperties = new JMenuItem(R("STempReadLocalFilesAndProperties")); + final JCheckBoxMenuItem readLocalFilesAndProperties = new JCheckBoxMenuItem(R("STempReadLocalFilesAndProperties")); readLocalFilesAndProperties.addActionListener(new TemporaryPermissionsListener(TemporaryPermissions.readLocalFilesAndProperties())); policyMenu.add(readLocalFilesAndProperties); - final JMenuItem reflectionOnly = new JMenuItem(R("STempReflectionOnly")); + final JCheckBoxMenuItem reflectionOnly = new JCheckBoxMenuItem(R("STempReflectionOnly")); reflectionOnly.addActionListener(new TemporaryPermissionsListener(TemporaryPermissions.reflectionOnly())); policyMenu.add(reflectionOnly); policyMenu.addSeparator(); - final JMenuItem allMedia = new JMenuItem(R("STempAllMedia")); + final JCheckBoxMenuItem allMedia = new JCheckBoxMenuItem(R("STempAllMedia")); allMedia.addActionListener(new TemporaryPermissionsListener(TemporaryPermissions.allMedia())); policyMenu.add(allMedia); - final JMenuItem soundOnly = new JMenuItem(R("STempSoundOnly")); + final JCheckBoxMenuItem soundOnly = new JCheckBoxMenuItem(R("STempSoundOnly")); soundOnly.addActionListener(new TemporaryPermissionsListener(TemporaryPermissions.audioOnly())); policyMenu.add(soundOnly); - final JMenuItem clipboardOnly = new JMenuItem(R("STempClipboardOnly")); + final JCheckBoxMenuItem clipboardOnly = new JCheckBoxMenuItem(R("STempClipboardOnly")); clipboardOnly.addActionListener(new TemporaryPermissionsListener(TemporaryPermissions.clipboardOnly())); policyMenu.add(clipboardOnly); - final JMenuItem printOnly = new JMenuItem(R("STempPrintOnly")); + final JCheckBoxMenuItem printOnly = new JCheckBoxMenuItem(R("STempPrintOnly")); printOnly.addActionListener(new TemporaryPermissionsListener(TemporaryPermissions.printOnly())); policyMenu.add(printOnly); @@ -144,11 +158,16 @@ @Override public void actionPerformed(final ActionEvent e) { - securityDelegate.addPermissions(permissions); - menu.setVisible(false); - if (linkedButton != null) { - linkedButton.doClick(); + if (!linkedButton.isEnabled()) { + return; } + AbstractButton checkBox = (AbstractButton) e.getSource(); + if (checkBox.isSelected()) { + temporaryPermissions.addAll(permissions); + } else { + temporaryPermissions.removeAll(permissions); + } + menu.setVisible(true); } } From ldracz at redhat.com Tue Jun 3 14:23:15 2014 From: ldracz at redhat.com (Lukasz Dracz) Date: Tue, 3 Jun 2014 10:23:15 -0400 (EDT) Subject: [rfc][icedtea-web] PluginMessage test time zone In-Reply-To: <199700313.10013394.1401805318690.JavaMail.zimbra@redhat.com> Message-ID: <141484229.10013971.1401805395450.JavaMail.zimbra@redhat.com> Hello, I was looking into why CreatePluginHeaderTestOk was failing and found that when PluginMessage parses the date field in its constructor it would grab the time correctly but convert it to the user's timezone when it was being retrieved for the unit testing. I added a date variable that would parse the same date outside of PluginMessage to ensure that the test wasn't dependent on the user's time zone. Thank you, Lukasz Dracz -------------- next part -------------- A non-text attachment was scrubbed... Name: CreatePluginHeaderTestOkTimeZoneChanges.patch Type: text/x-patch Size: 4668 bytes Desc: not available URL: From omajid at redhat.com Tue Jun 3 14:28:24 2014 From: omajid at redhat.com (Omair Majid) Date: Tue, 3 Jun 2014 10:28:24 -0400 Subject: [rfc][icedtea-web] PolicyEditor NPE-on-save fix In-Reply-To: <537CAF52.4080404@redhat.com> References: <537CAF52.4080404@redhat.com> Message-ID: <20140603142823.GB2405@redhat.com> * Andrew Azores [2014-05-21 09:52]: > +++ b/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java > @@ -479,6 +479,14 @@ public class PolicyEditor extends JPanel > if (editor.changesMade) { > final int save = JOptionPane.showConfirmDialog(this, R("PESaveChanges")); > if (save == JOptionPane.YES_OPTION) { > + if (editor.file == null) { > + final int choice = editor.fileChooser.showSaveDialog(this); > + if (choice == JFileChooser.APPROVE_OPTION) { > + editor.file = editor.fileChooser.getSelectedFile(); > + } else if (choice == JFileChooser.CANCEL_OPTION) { > + return; > + } > + } > editor.savePolicyFile(); > } else if (save == JOptionPane.CANCEL_OPTION) { > return; > @@ -544,6 +552,14 @@ public class PolicyEditor extends JPanel > if (editor.changesMade) { > final int save = JOptionPane.showConfirmDialog(this, R("PESaveChanges")); > if (save == JOptionPane.YES_OPTION) { > + if (editor.file == null) { > + final int choice = editor.fileChooser.showSaveDialog(this); > + if (choice == JFileChooser.APPROVE_OPTION) { > + editor.file = editor.fileChooser.getSelectedFile(); > + } else if (choice == JFileChooser.CANCEL_OPTION) { > + return; > + } > + } > editor.savePolicyFile(); > } else if (save == JOptionPane.CANCEL_OPTION) { > return; Does it make sense to move these duplicated lines of code into a shared method? Thanks, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From omajid at redhat.com Tue Jun 3 14:41:44 2014 From: omajid at redhat.com (Omair Majid) Date: Tue, 3 Jun 2014 10:41:44 -0400 Subject: [rfc][icedtea-web] PluginMessage test time zone In-Reply-To: <141484229.10013971.1401805395450.JavaMail.zimbra@redhat.com> References: <199700313.10013394.1401805318690.JavaMail.zimbra@redhat.com> <141484229.10013971.1401805395450.JavaMail.zimbra@redhat.com> Message-ID: <20140603144143.GC2405@redhat.com> * Lukasz Dracz [2014-06-03 10:24]: > I was looking into why CreatePluginHeaderTestOk was failing and found > that when PluginMessage parses the date field in its constructor it > would grab the time correctly but convert it to the user's timezone > when it was being retrieved for the unit testing. I added a date > variable that would parse the same date outside of PluginMessage to > ensure that the test wasn't dependent on the user's time zone. An alternative is to explicitly set (and then restore) the locale using Locale.setDefault() in a @Before (and restore in an @After) method. This ensures the test always sees the same locale, irrespective of the system locale. If you are dealing with timestamps, this is often an easier approach to use. > +++ b/tests/netx/unit/net/sourceforge/jnlp/util/logging/JavaConsoleTest.java Tue Jun 03 10:18:24 2014 -0400 > + Date localized = new Date(); > + localized.setTime(new SimpleDateFormat("EEE MMM dd HH:mm:ss ZZZ yyyy").parse(TEST_TIME).getTime()); Why not just: Date localized = new SimpleDateFormat(...).parse(...) Thanks, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From aazores at redhat.com Tue Jun 3 14:58:45 2014 From: aazores at redhat.com (Andrew Azores) Date: Tue, 03 Jun 2014 10:58:45 -0400 Subject: [rfc][icedtea-web] PolicyEditor NPE-on-save fix In-Reply-To: <20140603142823.GB2405@redhat.com> References: <537CAF52.4080404@redhat.com> <20140603142823.GB2405@redhat.com> Message-ID: <538DE2A5.4060200@redhat.com> On 06/03/2014 10:28 AM, Omair Majid wrote: > * Andrew Azores [2014-05-21 09:52]: > >> +++ b/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java >> @@ -479,6 +479,14 @@ public class PolicyEditor extends JPanel >> if (editor.changesMade) { >> final int save = JOptionPane.showConfirmDialog(this, R("PESaveChanges")); >> if (save == JOptionPane.YES_OPTION) { >> + if (editor.file == null) { >> + final int choice = editor.fileChooser.showSaveDialog(this); >> + if (choice == JFileChooser.APPROVE_OPTION) { >> + editor.file = editor.fileChooser.getSelectedFile(); >> + } else if (choice == JFileChooser.CANCEL_OPTION) { >> + return; >> + } >> + } >> editor.savePolicyFile(); >> } else if (save == JOptionPane.CANCEL_OPTION) { >> return; >> @@ -544,6 +552,14 @@ public class PolicyEditor extends JPanel >> if (editor.changesMade) { >> final int save = JOptionPane.showConfirmDialog(this, R("PESaveChanges")); >> if (save == JOptionPane.YES_OPTION) { >> + if (editor.file == null) { >> + final int choice = editor.fileChooser.showSaveDialog(this); >> + if (choice == JFileChooser.APPROVE_OPTION) { >> + editor.file = editor.fileChooser.getSelectedFile(); >> + } else if (choice == JFileChooser.CANCEL_OPTION) { >> + return; >> + } >> + } >> editor.savePolicyFile(); >> } else if (save == JOptionPane.CANCEL_OPTION) { >> return; > Does it make sense to move these duplicated lines of code into a shared > method? > > Thanks, > Omair > It *can* be done, and I've done it in the attached patch, but the type safety starts getting a bit questionable since a Window is needed in some places and a PolicyEditorWindow in others. Maybe it could be done with a bit better type safety by breaking it into several helpers rather than one large one though, but at that point it's going to end up being duplicated helper calls anyway. Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: policyeditor-save-npe-2.patch Type: text/x-patch Size: 3187 bytes Desc: not available URL: From omajid at redhat.com Tue Jun 3 15:01:46 2014 From: omajid at redhat.com (Omair Majid) Date: Tue, 3 Jun 2014 11:01:46 -0400 Subject: [rfc][icedtea-web] PolicyEditor NPE-on-save fix In-Reply-To: <538DE2A5.4060200@redhat.com> References: <537CAF52.4080404@redhat.com> <20140603142823.GB2405@redhat.com> <538DE2A5.4060200@redhat.com> Message-ID: <20140603150145.GD2405@redhat.com> * Andrew Azores [2014-06-03 10:58]: > It *can* be done, and I've done it in the attached patch, but the type > safety starts getting a bit questionable since a Window is needed in some > places and a PolicyEditorWindow in others. Maybe it could be done with a bit > better type safety by breaking it into several helpers rather than one large > one though, but at that point it's going to end up being duplicated helper > calls anyway. Maybe you can make the comment less verbose? :) Anyway, patch looks okay to me. Cheers, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From bugzilla-daemon at icedtea.classpath.org Tue Jun 3 15:56:50 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 03 Jun 2014 15:56:50 +0000 Subject: [Bug 1809] SIGSEGV in RSSOwl In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1809 --- Comment #3 from Andrew John Hughes --- It means you need to report it to the RSSOwl developers, not us. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From aazores at icedtea.classpath.org Tue Jun 3 17:15:57 2014 From: aazores at icedtea.classpath.org (aazores at icedtea.classpath.org) Date: Tue, 03 Jun 2014 17:15:57 +0000 Subject: /hg/icedtea-web: Fix PolicyEditor null file on save and exit Message-ID: changeset 23a84212d1db in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=23a84212d1db author: Andrew Azores date: Tue Jun 03 13:15:50 2014 -0400 Fix PolicyEditor null file on save and exit 2014-06-03 Andrew Azores Fix for PR1776, PolicyEditor attempting to save to null file location when exiting editor and answering Yes to save changes first. * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java (quit): select file to save to using fileChooser if file is null (policyEditorWindowQuit): new helper method for PolicyEditorWindow and PolicyEditorFrame quit() diffstat: ChangeLog | 9 + netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java | 48 +++++---- 2 files changed, 36 insertions(+), 21 deletions(-) diffs (84 lines): diff -r d87ee4e6e81a -r 23a84212d1db ChangeLog --- a/ChangeLog Tue Jun 03 09:52:23 2014 -0400 +++ b/ChangeLog Tue Jun 03 13:15:50 2014 -0400 @@ -1,3 +1,12 @@ +2014-06-03 Andrew Azores + + Fix for PR1776, PolicyEditor attempting to save to null file location when + exiting editor and answering Yes to save changes first. + * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java + (quit): select file to save to using fileChooser if file is null + (policyEditorWindowQuit): new helper method for PolicyEditorWindow and + PolicyEditorFrame quit() + 2014-06-03 Lukasz Dracz Changed Temporary Permissions from menu items to check box menu items diff -r d87ee4e6e81a -r 23a84212d1db netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java --- a/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java Tue Jun 03 09:52:23 2014 -0400 +++ b/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java Tue Jun 03 13:15:50 2014 -0400 @@ -470,19 +470,35 @@ @Override public void quit() { - if (editor.changesMade) { - final int save = JOptionPane.showConfirmDialog(this, R("PESaveChanges")); - if (save == JOptionPane.YES_OPTION) { - editor.savePolicyFile(); - } else if (save == JOptionPane.CANCEL_OPTION) { - return; + policyEditorWindowQuit(this); + } + } + + /* + * Casting a Window to PolicyEditorWindow is not generally safe - be sure that + * the argument passed to this method is actually a PolicyEditorDialog or PolicyEditorFrame. + */ + private static void policyEditorWindowQuit(final Window window) { + final PolicyEditor editor = ((PolicyEditorWindow) window).getPolicyEditor(); + if (editor.changesMade) { + final int save = JOptionPane.showConfirmDialog(window, R("PESaveChanges")); + if (save == JOptionPane.YES_OPTION) { + if (editor.policyFile.getFile() == null) { + final int choice = editor.fileChooser.showSaveDialog(window); + if (choice == JFileChooser.APPROVE_OPTION) { + editor.policyFile.setFile(editor.fileChooser.getSelectedFile()); + } else if (choice == JFileChooser.CANCEL_OPTION) { + return; + } } + editor.savePolicyFile(); + } else if (save == JOptionPane.CANCEL_OPTION) { + return; } - editor.weakThis.clear(); - editor.setClosed(); - dispose(); } - + editor.weakThis.clear(); + editor.setClosed(); + window.dispose(); } public static PolicyEditorWindow getPolicyEditorFrame(final String filepath) { @@ -535,17 +551,7 @@ @Override public void quit() { - if (editor.changesMade) { - final int save = JOptionPane.showConfirmDialog(this, R("PESaveChanges")); - if (save == JOptionPane.YES_OPTION) { - editor.savePolicyFile(); - } else if (save == JOptionPane.CANCEL_OPTION) { - return; - } - } - editor.weakThis.clear(); - editor.setClosed(); - dispose(); + policyEditorWindowQuit(this); } } From aazores at redhat.com Tue Jun 3 17:48:01 2014 From: aazores at redhat.com (Andrew Azores) Date: Tue, 03 Jun 2014 13:48:01 -0400 Subject: [rfc][icedtea-web] Temporary Permissions multiple selection In-Reply-To: <1155746386.9070283.1401463247330.JavaMail.zimbra@redhat.com> References: <1155746386.9070283.1401463247330.JavaMail.zimbra@redhat.com> Message-ID: <538E0A51.9040304@redhat.com> On 05/30/2014 11:20 AM, Lukasz Dracz wrote: > Hello, > > We noticed the Always Trust checkbox would allow multiple temporary permissions to be set if checked. > This patch fixes this problem so that permissions are only added if box is unchecked. > > Thank you, > Lukasz Dracz This change was bundled with the "Temporary Permissions as check boxes" patch, no longer needs review/push. Thanks, -- Andrew A From aazores at redhat.com Tue Jun 3 17:48:54 2014 From: aazores at redhat.com (Andrew Azores) Date: Tue, 03 Jun 2014 13:48:54 -0400 Subject: [rfc][icedtea-web] Fix support for signed applets with sandbox permissions in manifest In-Reply-To: <5384BC13.5010708@redhat.com> References: <5384BC13.5010708@redhat.com> Message-ID: <538E0A86.1080001@redhat.com> On 05/27/2014 12:23 PM, Andrew Azores wrote: > Hi, > > This patch allows signed applets with sandbox permissions specified in > their manifests to actually be run sandboxed. This is in contrast to > the current behaviour where such applets will fail to launch, and the > failure message presented asks the user to try launching via the > Sandbox button next time. This was because the dialog which presented > the Sandbox button appeared very early in the JNLPClassLoader's life > cycle - early enough that no security settings had yet been set for > the classloader or any of the applet's JAR locations - whereas the > manifest checks were done later, after these settings would have > already been initialized. Fixing the issue was not as simple as doing > the manifest checks before presenting the security dialog because the > dialog was presented part way through the initialization process, > where JARs are being downloaded and checked for signing, so that the > appropriate security dialog could be shown to the user. Putting the > manifest checks first would therefore not work properly because the > JARs were not yet available. This patch resolves the issue by moving > the manifest checks inside the method which initializes the relevant > security settings, such that the required resources are available, it > is known what type of applet is about to be run, but the security > settings for the JAR locations have not yet been initialized and the > applet can thus still be set to run sandboxed safely. > > Additionally, the ManifestAttributesChecker check for the Permissions > attribute is no longer skipped when Extended Applet Security is set to > the Low level, since this allows for signed applets with Sandbox > permissions specified in their manifests to run with full permissions > when Low security is set. > > All existing reproducers have been run with this patch applied and > there appears to be no effect. Manual tests from the wiki have also > been run and no failures noted. Two new applets, reported in PR1767 > [0], have been added as test cases to the wiki. These fail without the > patch and pass with it. A reproducer is also included, however, the > ALACA dialog will appear, which means manual intervention is required > to run this test as well. The test is marked KnownToFail and this > issue documented with the test case. This cannot be worked around by > disabling manifest attributes checking since this would render the > test meaningless as the Permissions manifest attribute would then not > be run to force sandboxing. > > ChangeLog: > > 2014-05-27 Andrew Azores > > Fixed support for signed applets which specify the Permissions > attribute > as "sandbox" in their manifests. These applets are now properly run > sandboxed automatically, rather than requiring the user to click the > "Sandbox" run button. > * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > (JNLPClassLoader): manifest attributes checking and security settings > moved inside initializeResources > (initializeResources): do not set entries in > jarLocationSecurityMap until > after prompting the user on whether to run the applet as well as > performing manifest attribute checks > (initializeManifestAttributesChecker): new method > (getJnlpFileCodebase): new method, extracted from initializeResources > (SecurityDelegateImpl.setRunInSandbox): throw exception if already > forced > to run in sandbox, rather than if already prompted > * netx/net/sourceforge/jnlp/runtime/ManifestAttributesChecker.java > (checkPermissionsAttribute): do not skip checking if Extended Applet > Security is Low. Remove try/catch on setRunInSandbox call as this > is now > supported. > * > tests/reproducers/custom/SignedAppletManifestSpecifiesSandbox/testcases/SignedAppletManifestSpecifiesSandboxTests.java: > new test case > * > tests/reproducers/custom/SignedAppletManifestSpecifiesSandbox/resources/SignedAppletManifestSpecifiesSandbox.html: > same > * > tests/reproducers/custom/SignedAppletManifestSpecifiesSandbox/srcs/MANIFEST.MF: > same > * > tests/reproducers/custom/SignedAppletManifestSpecifiesSandbox/srcs/Makefile: > same > * > tests/reproducers/custom/SignedAppletManifestSpecifiesSandbox/srcs/SignedAppletManifestSpecifiesSandbox.java: > same > > > [0] http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1767 > > Thanks, > Ping. I know this is a big one, and there's currently a decent workaround in place, so no rush on review. Just need to make sure it doesn't get lost. Thanks, -- Andrew A From aazores at redhat.com Tue Jun 3 17:51:04 2014 From: aazores at redhat.com (Andrew Azores) Date: Tue, 03 Jun 2014 13:51:04 -0400 Subject: [rfc][icedtea-web] PolicyEditor empty entries save to file In-Reply-To: <538491B0.1000708@redhat.com> References: <537CCC47.9070400@redhat.com> <538491B0.1000708@redhat.com> Message-ID: <538E0B08.5020809@redhat.com> On 05/27/2014 09:22 AM, Andrew Azores wrote: > On 05/21/2014 11:54 AM, Andrew Azores wrote: >> Hi, >> >> This patch makes it so that "empty" codebase entries (those with no >> permissions applied to them) will still be written to the policy >> file, so that on re-open, the "empty" codebase is still present. A >> special exception is added for the default "All Applets" codebase, >> since it always appears in the editor anyway and it doesn't make >> sense to have a persistent empty entry in that case. >> >> For example: >> 1) policyeditor -file .config/icedtea-web/security/java.policy >> 2) add a new codebase which isn't already present, eg http://example.com >> 3) save the file >> 4) $EDITOR config/icedtea-web/security/java.policy - verify the empty >> "grant codeBase http://example/com" block is present >> 5) policyeditor -file .config/icedtea-web/security/java.policy - >> verify the example.com codebase appears and has no permissions applied >> >> ChangeLog: >> >> Empty codebase entries in PolicyEditor are saved to file >> * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java >> (savePolicyFile): fileLock made final, enabledPermissions declaration >> moved closer to usage >> * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEntry.java >> (toString): add codebase.isEmpty() condition to returning empty >> string result >> >> Thanks, >> > > Ping. > > Thanks, > Super ping! ;) Thanks, -- Andrew A From bugzilla-daemon at icedtea.classpath.org Tue Jun 3 17:55:34 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 03 Jun 2014 17:55:34 +0000 Subject: [Bug 1786] [IcedTea7] Allow x86 build to occur on x86_64 using a previously built x86_64 build In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1786 --- Comment #1 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea7-forest/jdk?cmd=changeset;node=abc72d91e223 author: andrew date: Thu May 22 20:23:38 2014 +0100 PR1786: Allow x86 build to occur on x86_64 using a previously built x86_64 build -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Tue Jun 3 17:55:39 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 03 Jun 2014 17:55:39 +0000 Subject: [Bug 1781] [IcedTea7] NSS PKCS11 provider fails to handle multipart AES encryption In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1781 --- Comment #2 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea7-forest/jdk?cmd=changeset;node=60d3d6d73a45 author: andrew date: Wed May 21 15:25:53 2014 +0100 PR1781: NSS PKCS11 provider fails to handle multipart AES encryption -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From andrew at icedtea.classpath.org Tue Jun 3 18:02:58 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Tue, 03 Jun 2014 18:02:58 +0000 Subject: /hg/release/icedtea7-forest-2.5/corba: 8036767: PPC64: Support f... Message-ID: changeset 1650f85c0dee in /hg/release/icedtea7-forest-2.5/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/corba?cmd=changeset;node=1650f85c0dee author: asmundak date: Fri Apr 11 03:12:43 2014 +0000 8036767: PPC64: Support for little endian execution model Reviewed-by: simonis diffstat: make/common/shared/Platform.gmk | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diffs (13 lines): diff -r fc55c94710a4 -r 1650f85c0dee make/common/shared/Platform.gmk --- a/make/common/shared/Platform.gmk Fri Apr 18 06:40:51 2014 +0100 +++ b/make/common/shared/Platform.gmk Fri Apr 11 03:12:43 2014 +0000 @@ -169,6 +169,9 @@ sparc*) \ echo sparc \ ;; \ + ppc64*) \ + echo ppc64 \ + ;; \ arm*) \ echo arm \ ;; \ From andrew at icedtea.classpath.org Tue Jun 3 18:03:06 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Tue, 03 Jun 2014 18:03:06 +0000 Subject: /hg/release/icedtea7-forest-2.5/jaxp: PR1753: Ant does not respe... Message-ID: changeset 49ca8c230020 in /hg/release/icedtea7-forest-2.5/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/jaxp?cmd=changeset;node=49ca8c230020 author: andrew date: Tue Apr 29 21:54:36 2014 +0100 PR1753: Ant does not respect JAVA_HOME/jdk.home setting diffstat: make/Makefile | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diffs (19 lines): diff -r 89656c61a515 -r 49ca8c230020 make/Makefile --- a/make/Makefile Fri Apr 18 06:40:52 2014 +0100 +++ b/make/Makefile Tue Apr 29 21:54:36 2014 +0100 @@ -118,13 +118,13 @@ ifdef ALT_LANGTOOLS_DIST ifdef ALT_BOOTDIR ANT_JAVA_HOME = JAVA_HOME=$(ALT_BOOTDIR) - ANT_OPTIONS += -Djdk.home=$(ALT_BOOTDIR) + ANT_OPTIONS += -Djdk.home=$(ALT_BOOTDIR) -Djava.home=$(ALT_BOOTDIR) endif ANT_OPTIONS += -Dbootstrap.dir=$(ALT_LANGTOOLS_DIST)/bootstrap else ifdef ALT_JDK_IMPORT_PATH ANT_JAVA_HOME = JAVA_HOME=$(ALT_JDK_IMPORT_PATH) - ANT_OPTIONS += -Djdk.home=$(ALT_JDK_IMPORT_PATH) + ANT_OPTIONS += -Djdk.home=$(ALT_JDK_IMPORT_PATH) -Djava.home=$(ALT_JDK_IMPORT_PATH) endif endif From bugzilla-daemon at icedtea.classpath.org Tue Jun 3 18:03:11 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 03 Jun 2014 18:03:11 +0000 Subject: [Bug 1753] [IcedTea7] Ant does not respect JAVA_HOME/jdk.home setting In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1753 --- Comment #3 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea7-forest-2.5/jaxp?cmd=changeset;node=49ca8c230020 author: andrew date: Tue Apr 29 21:54:36 2014 +0100 PR1753: Ant does not respect JAVA_HOME/jdk.home setting -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From andrew at icedtea.classpath.org Tue Jun 3 18:03:21 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Tue, 03 Jun 2014 18:03:21 +0000 Subject: /hg/release/icedtea7-forest-2.5/jaxws: PR1753: Ant does not resp... Message-ID: changeset 3a7c902a4390 in /hg/release/icedtea7-forest-2.5/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/jaxws?cmd=changeset;node=3a7c902a4390 author: andrew date: Tue Apr 29 21:54:42 2014 +0100 PR1753: Ant does not respect JAVA_HOME/jdk.home setting diffstat: make/Makefile | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diffs (19 lines): diff -r 9639895f6950 -r 3a7c902a4390 make/Makefile --- a/make/Makefile Fri Apr 18 06:40:54 2014 +0100 +++ b/make/Makefile Tue Apr 29 21:54:42 2014 +0100 @@ -101,13 +101,13 @@ ifdef ALT_LANGTOOLS_DIST ifdef ALT_BOOTDIR ANT_JAVA_HOME = JAVA_HOME=$(ALT_BOOTDIR) - ANT_OPTIONS += -Djdk.home=$(ALT_BOOTDIR) + ANT_OPTIONS += -Djdk.home=$(ALT_BOOTDIR) -Djava.home=$(ALT_BOOTDIR) endif ANT_OPTIONS += -Dbootstrap.dir=$(ALT_LANGTOOLS_DIST)/bootstrap else ifdef ALT_JDK_IMPORT_PATH ANT_JAVA_HOME = JAVA_HOME=$(ALT_JDK_IMPORT_PATH) - ANT_OPTIONS += -Djdk.home=$(ALT_JDK_IMPORT_PATH) + ANT_OPTIONS += -Djdk.home=$(ALT_JDK_IMPORT_PATH) -Djava.home=$(ALT_JDK_IMPORT_PATH) endif endif From bugzilla-daemon at icedtea.classpath.org Tue Jun 3 18:03:26 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 03 Jun 2014 18:03:26 +0000 Subject: [Bug 1753] [IcedTea7] Ant does not respect JAVA_HOME/jdk.home setting In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1753 --- Comment #4 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea7-forest-2.5/jaxws?cmd=changeset;node=3a7c902a4390 author: andrew date: Tue Apr 29 21:54:42 2014 +0100 PR1753: Ant does not respect JAVA_HOME/jdk.home setting -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From andrew at icedtea.classpath.org Tue Jun 3 18:03:34 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Tue, 03 Jun 2014 18:03:34 +0000 Subject: /hg/release/icedtea7-forest-2.5/langtools: 8036767: PPC64: Suppo... Message-ID: changeset 853f886673d8 in /hg/release/icedtea7-forest-2.5/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/langtools?cmd=changeset;node=853f886673d8 author: asmundak date: Fri Apr 11 03:13:03 2014 +0000 8036767: PPC64: Support for little endian execution model Reviewed-by: simonis diffstat: test/Makefile | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diffs (13 lines): diff -r 1b5335c79bc1 -r 853f886673d8 test/Makefile --- a/test/Makefile Fri Apr 18 06:41:00 2014 +0100 +++ b/test/Makefile Fri Apr 11 03:13:03 2014 +0000 @@ -33,6 +33,9 @@ ifeq ($(ARCH), i386) ARCH=i586 endif + ifeq ($(ARCH), ppc64le) + ARCH=ppc64 + endif endif ifeq ($(OSNAME), Darwin) PLATFORM = bsd From andrew at icedtea.classpath.org Tue Jun 3 18:03:47 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Tue, 03 Jun 2014 18:03:47 +0000 Subject: /hg/release/icedtea7-forest-2.5/hotspot: 21 new changesets Message-ID: changeset 2e44b0df2947 in /hg/release/icedtea7-forest-2.5/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/hotspot?cmd=changeset;node=2e44b0df2947 author: andrew date: Thu May 01 22:38:19 2014 +0100 PR1757: register_method usage in sharkCompiler.cpp needs to be adjusted following S7196199 changeset 15d8ca5ed040 in /hg/release/icedtea7-forest-2.5/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/hotspot?cmd=changeset;node=15d8ca5ed040 author: andrew date: Fri May 02 20:00:10 2014 +0100 Correct placement of S8041658 fix changeset 8283b5a20eed in /hg/release/icedtea7-forest-2.5/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/hotspot?cmd=changeset;node=8283b5a20eed author: andrew date: Fri May 16 16:39:47 2014 +0100 8038392: Generating prelink cache breaks JAVA 'jinfo' utility normal behavior Summary: See RH1064383 (https://bugzilla.redhat.com/show_bug.cgi?id=1064383) Contributed-by: Carlos Santos changeset 310346e75b1e in /hg/release/icedtea7-forest-2.5/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/hotspot?cmd=changeset;node=310346e75b1e author: goetz date: Wed Feb 05 17:40:37 2014 +0100 Fix handling of scalar replaced objects. Index in SafePointScalarObjectNode was wrong because we added an edge to a SafePoint without updating the offset in that node. changeset 95a97b5ea9dd in /hg/release/icedtea7-forest-2.5/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/hotspot?cmd=changeset;node=95a97b5ea9dd author: goetz date: Fri Feb 07 14:57:01 2014 +0100 8016491: PPC64 (part 2): Clean up PPC defines. Summary: Distinguish PPC, PPC64 and PPC32. PPC should guard code needed on any PPC system. PPC32 and PPC64 should guard code needed in a port for the ppc64 or ppc32 instruction set. changeset fac28fa93873 in /hg/release/icedtea7-forest-2.5/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/hotspot?cmd=changeset;node=fac28fa93873 author: goetz date: Fri Feb 07 15:08:10 2014 +0100 8016586: PPC64 (part 3): basic changes for PPC64 Summary: added #includes needed for ppc64 port. Renamed _MODEL_ppc to_MODEL_ppc_32 and renamed corresponding old _ppc files to _ppc_32. changeset b5ea1e8f0e0d in /hg/release/icedtea7-forest-2.5/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/hotspot?cmd=changeset;node=b5ea1e8f0e0d author: goetz date: Fri Feb 07 16:07:53 2014 +0100 8017313: PPC64 (part 6): stack handling improvements Summary: Precompute limit for stack overflow check changeset 2235436776a9 in /hg/release/icedtea7-forest-2.5/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/hotspot?cmd=changeset;node=2235436776a9 author: goetz date: Fri Feb 07 16:18:07 2014 +0100 016696: PPC64 (part 4): add relocation for trampoline stubs Summary: A trampoline allows to encode a small branch in the code, even if there is the chance that this branch can not reach all possible code locations. If the relocation finds that a branch is too far for the instruction in the code, it can patch it to jump to the trampoline where is sufficient space for a far branch. Needed on PPC. changeset 280853a5f930 in /hg/release/icedtea7-forest-2.5/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/hotspot?cmd=changeset;node=280853a5f930 author: goetz date: Mon Feb 10 10:34:59 2014 +0100 8019517: PPC64 (part 102): cppInterpreter: implement G1 support 8019518: PPC64 (part 103): cppInterpreter: implement support for compressed Oops 8019519: PPC64 (part 105): C interpreter: implement support for jvmti early return. 8020121: PPC64: fix build in cppInterpreter after 8019519 changeset 269da903cfc1 in /hg/release/icedtea7-forest-2.5/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/hotspot?cmd=changeset;node=269da903cfc1 author: goetz date: Mon Feb 10 10:47:51 2014 +0100 8019973: PPC64 (part 11): Fix IA64 preprocessor conditionals on AIX. changeset d50defb551ff in /hg/release/icedtea7-forest-2.5/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/hotspot?cmd=changeset;node=d50defb551ff author: goetz date: Mon Feb 10 11:52:36 2014 +0100 8017317: PPC64 (part 7): cppInterpreter: implement support for biased locking 8024469: PPC64 (part 202): cppInterpreter: support for OSR. 8029957: PPC64 (part 213): cppInterpreter: memory ordering for object initialization changeset c29ebae33d5a in /hg/release/icedtea7-forest-2.5/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/hotspot?cmd=changeset;node=c29ebae33d5a author: goetz date: Tue Jun 03 17:31:12 2014 +0100 8024468: PPC64 (part 201): cppInterpreter: implement bytecode profiling Summary: Implement profiling for c2 jit compilation. changeset 0a5c327d8d65 in /hg/release/icedtea7-forest-2.5/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/hotspot?cmd=changeset;node=0a5c327d8d65 author: goetz date: Tue Jun 03 17:33:15 2014 +0100 8024344: PPC64 (part 112): C argument in register AND stack slot. changeset 452bfa35d8c4 in /hg/release/icedtea7-forest-2.5/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/hotspot?cmd=changeset;node=452bfa35d8c4 author: goetz date: Mon Feb 17 10:25:36 2014 +0100 8033168: PPC64: gcc 4.8 warning in output_c.cpp changeset 352109fc1a1d in /hg/release/icedtea7-forest-2.5/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/hotspot?cmd=changeset;node=352109fc1a1d author: goetz date: Mon Feb 17 14:17:20 2014 +0100 PPC64: Support for ABI_ELFv2. Contributed-by: asmundak at google.com changeset 531d6b6209c6 in /hg/release/icedtea7-forest-2.5/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/hotspot?cmd=changeset;node=531d6b6209c6 author: goetz date: Fri Mar 21 21:01:24 2014 +0100 8035396: Introduce accessor for tmp_oop in frame. Summary: Avoid #ifs by introducing the accessor function interpreter_frame_temp_oop_addr(). changeset bf3b3a517a06 in /hg/release/icedtea7-forest-2.5/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/hotspot?cmd=changeset;node=bf3b3a517a06 author: goetz date: Fri Mar 28 15:05:47 2014 +0100 8036976: PPC64: implement the template interpreter changeset 16c78bf94d69 in /hg/release/icedtea7-forest-2.5/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/hotspot?cmd=changeset;node=16c78bf94d69 author: goetz date: Fri Mar 28 15:42:18 2014 +0100 New files for template interpreter Missed from 8036976: PPC64: implement the template interpreter changeset 781f202c6600 in /hg/release/icedtea7-forest-2.5/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/hotspot?cmd=changeset;node=781f202c6600 author: goetz date: Mon Mar 31 12:51:40 2014 +0200 8037915: PPC64/AIX: Several smaller fixes changeset b1263b242ca6 in /hg/release/icedtea7-forest-2.5/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/hotspot?cmd=changeset;node=b1263b242ca6 author: simonis date: Tue Jun 03 17:36:09 2014 +0100 8036767: PPC64: Support for little endian execution model Reviewed-by: simonis changeset 3017276776bf in /hg/release/icedtea7-forest-2.5/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/hotspot?cmd=changeset;node=3017276776bf author: goetz date: Thu May 08 16:16:21 2014 +0200 8042309: Some bugfixes for the ppc64 port diffstat: agent/src/os/linux/ps_proc.c | 52 +- make/aix/Makefile | 4 + make/linux/Makefile | 6 +- make/linux/makefiles/buildtree.make | 9 +- make/linux/makefiles/defs.make | 12 + make/linux/makefiles/gcc.make | 8 +- make/linux/makefiles/ppc64.make | 65 +- make/linux/platform_ppc | 6 +- src/cpu/ppc/vm/assembler_ppc.cpp | 15 +- src/cpu/ppc/vm/assembler_ppc.hpp | 15 +- src/cpu/ppc/vm/assembler_ppc.inline.hpp | 4 +- src/cpu/ppc/vm/bytes_ppc.hpp | 126 + src/cpu/ppc/vm/compile_ppc.cpp | 26 - src/cpu/ppc/vm/cppInterpreter_ppc.cpp | 21 +- src/cpu/ppc/vm/frame_ppc.cpp | 30 +- src/cpu/ppc/vm/frame_ppc.hpp | 132 +- src/cpu/ppc/vm/frame_ppc.inline.hpp | 75 +- src/cpu/ppc/vm/interp_masm_ppc_64.cpp | 1773 +++++- src/cpu/ppc/vm/interp_masm_ppc_64.hpp | 221 +- src/cpu/ppc/vm/interpreterRT_ppc.cpp | 5 + src/cpu/ppc/vm/interpreter_ppc.cpp | 64 +- src/cpu/ppc/vm/interpreter_ppc.hpp | 14 +- src/cpu/ppc/vm/javaFrameAnchor_ppc.hpp | 6 +- src/cpu/ppc/vm/jniFastGetField_ppc.cpp | 6 +- src/cpu/ppc/vm/macroAssembler_ppc.cpp | 114 +- src/cpu/ppc/vm/macroAssembler_ppc.hpp | 68 +- src/cpu/ppc/vm/macroAssembler_ppc.inline.hpp | 53 +- src/cpu/ppc/vm/methodHandles_ppc.cpp | 27 +- src/cpu/ppc/vm/ppc.ad | 178 +- src/cpu/ppc/vm/register_ppc.hpp | 32 +- src/cpu/ppc/vm/runtime_ppc.cpp | 12 +- src/cpu/ppc/vm/sharedRuntime_ppc.cpp | 143 +- src/cpu/ppc/vm/stubGenerator_ppc.cpp | 116 +- src/cpu/ppc/vm/stubRoutines_ppc_64.cpp | 13 +- src/cpu/ppc/vm/stubRoutines_ppc_64.hpp | 2 +- src/cpu/ppc/vm/templateInterpreterGenerator_ppc.hpp | 44 + src/cpu/ppc/vm/templateInterpreter_ppc.cpp | 1854 +++++ src/cpu/ppc/vm/templateInterpreter_ppc.hpp | 41 + src/cpu/ppc/vm/templateTable_ppc_64.cpp | 4261 +++++++++++++ src/cpu/ppc/vm/templateTable_ppc_64.hpp | 38 + src/cpu/ppc/vm/vm_version_ppc.cpp | 18 +- src/cpu/ppc/vm/vm_version_ppc.hpp | 2 +- src/cpu/ppc/vm/vtableStubs_ppc_64.cpp | 2 +- src/cpu/sparc/vm/frame_sparc.inline.hpp | 4 + src/cpu/x86/vm/frame_x86.inline.hpp | 4 + src/cpu/zero/vm/globals_zero.hpp | 3 +- src/os/aix/vm/mutex_aix.inline.hpp | 12 +- src/os/bsd/vm/os_bsd.cpp | 2 +- src/os/linux/vm/os_linux.cpp | 4 + src/os_cpu/aix_ppc/vm/os_aix_ppc.cpp | 1 - src/os_cpu/aix_ppc/vm/threadLS_aix_ppc.cpp | 8 +- src/os_cpu/aix_ppc/vm/thread_aix_ppc.cpp | 6 +- src/os_cpu/bsd_zero/vm/os_bsd_zero.hpp | 2 +- src/os_cpu/linux_ppc/vm/os_linux_ppc.cpp | 2 - src/os_cpu/linux_ppc/vm/thread_linux_ppc.cpp | 6 +- src/os_cpu/linux_zero/vm/os_linux_zero.hpp | 2 +- src/share/vm/adlc/output_c.cpp | 6 +- src/share/vm/code/relocInfo.cpp | 8 +- src/share/vm/code/relocInfo.hpp | 8 +- src/share/vm/interpreter/abstractInterpreter.hpp | 4 +- src/share/vm/interpreter/bytecodeInterpreter.cpp | 482 +- src/share/vm/interpreter/bytecodeInterpreterProfiling.hpp | 11 +- src/share/vm/interpreter/interpreterRuntime.cpp | 44 +- src/share/vm/interpreter/interpreterRuntime.hpp | 8 +- src/share/vm/interpreter/invocationCounter.hpp | 14 +- src/share/vm/interpreter/templateTable.hpp | 14 +- src/share/vm/oops/methodDataOop.hpp | 2 +- src/share/vm/opto/generateOptoStub.cpp | 2 +- src/share/vm/prims/forte.cpp | 10 +- src/share/vm/runtime/arguments.cpp | 9 +- src/share/vm/runtime/frame.cpp | 15 +- src/share/vm/runtime/frame.hpp | 6 +- src/share/vm/runtime/frame.inline.hpp | 7 + src/share/vm/runtime/globals.hpp | 4 +- src/share/vm/runtime/os.cpp | 2 +- src/share/vm/runtime/stubRoutines.hpp | 4 +- src/share/vm/runtime/thread.cpp | 3 + src/share/vm/runtime/thread.hpp | 29 +- src/share/vm/shark/sharkCompiler.cpp | 3 +- src/share/vm/utilities/elfFile.cpp | 2 +- src/share/vm/utilities/macros.hpp | 3 + 81 files changed, 9674 insertions(+), 795 deletions(-) diffs (truncated from 13595 to 500 lines): diff -r df3f0e040c01 -r 3017276776bf agent/src/os/linux/ps_proc.c --- a/agent/src/os/linux/ps_proc.c Thu Apr 24 16:21:06 2014 +0100 +++ b/agent/src/os/linux/ps_proc.c Thu May 08 16:16:21 2014 +0200 @@ -261,7 +261,7 @@ static bool read_lib_info(struct ps_prochandle* ph) { char fname[32]; - char buf[256]; + char buf[PATH_MAX]; FILE *fp = NULL; sprintf(fname, "/proc/%d/maps", ph->pid); @@ -271,10 +271,52 @@ return false; } - while(fgets_no_cr(buf, 256, fp)){ - char * word[6]; - int nwords = split_n_str(buf, 6, word, ' ', '\0'); - if (nwords > 5 && find_lib(ph, word[5]) == false) { + while(fgets_no_cr(buf, PATH_MAX, fp)){ + char * word[7]; + int nwords = split_n_str(buf, 7, word, ' ', '\0'); + + if (nwords < 6) { + // not a shared library entry. ignore. + continue; + } + + if (word[5][0] == '[') { + // not a shared library entry. ignore. + if (strncmp(word[5],"[stack",6) == 0) { + continue; + } + if (strncmp(word[5],"[heap]",6) == 0) { + continue; + } + + // SA don't handle VDSO + if (strncmp(word[5],"[vdso]",6) == 0) { + continue; + } + if (strncmp(word[5],"[vsyscall]",6) == 0) { + continue; + } + } + + if (nwords > 6) { + // prelink altered mapfile when the program is running. + // Entries like one below have to be skipped + // /lib64/libc-2.15.so (deleted) + // SO name in entries like one below have to be stripped. + // /lib64/libpthread-2.15.so.#prelink#.EECVts + char *s = strstr(word[5],".#prelink#"); + if (s == NULL) { + // No prelink keyword. skip deleted library + print_debug("skip shared object %s deleted by prelink\n", word[5]); + continue; + } + + // Fall through + print_debug("rectifing shared object name %s changed by prelink\n", word[5]); + *s = 0; + } + + if (find_lib(ph, word[5]) == false) { intptr_t base; lib_info* lib; #ifdef _LP64 diff -r df3f0e040c01 -r 3017276776bf make/aix/Makefile --- a/make/aix/Makefile Thu Apr 24 16:21:06 2014 +0100 +++ b/make/aix/Makefile Thu May 08 16:16:21 2014 +0200 @@ -67,6 +67,10 @@ FORCE_TIERED=1 endif endif +# C1 is not ported on ppc64, so we cannot build a tiered VM: +ifeq ($(ARCH),ppc64)) + FORCE_TIERED=0 +endif ifdef LP64 ifeq ("$(filter $(LP64_ARCH),$(BUILDARCH))","") diff -r df3f0e040c01 -r 3017276776bf make/linux/Makefile --- a/make/linux/Makefile Thu Apr 24 16:21:06 2014 +0100 +++ b/make/linux/Makefile Thu May 08 16:16:21 2014 +0200 @@ -66,6 +66,10 @@ FORCE_TIERED=1 endif endif +# C1 is not ported on ppc64, so we cannot build a tiered VM: +ifeq ($(ARCH),ppc64) + FORCE_TIERED=0 +endif ifdef LP64 ifeq ("$(filter $(LP64_ARCH),$(BUILDARCH))","") @@ -208,7 +212,7 @@ TARGETS_SHARK = $(addsuffix shark,$(TARGETS)) BUILDTREE_MAKE = $(GAMMADIR)/make/$(OSNAME)/makefiles/buildtree.make -BUILDTREE_VARS = GAMMADIR=$(GAMMADIR) OS_FAMILY=$(OSNAME) SRCARCH=$(SRCARCH) BUILDARCH=$(BUILDARCH) LIBARCH=$(LIBARCH) +BUILDTREE_VARS = GAMMADIR=$(GAMMADIR) OS_FAMILY=$(OSNAME) SRCARCH=$(SRCARCH) BUILDARCH=$(BUILDARCH) LIBARCH=$(LIBARCH) OPENJDK_TARGET_CPU_ENDIAN=$(OPENJDK_TARGET_CPU_ENDIAN) BUILDTREE_VARS += HOTSPOT_RELEASE_VERSION=$(HOTSPOT_RELEASE_VERSION) HOTSPOT_BUILD_VERSION=$(HOTSPOT_BUILD_VERSION) JRE_RELEASE_VERSION=$(JRE_RELEASE_VERSION) BUILDTREE_VARS += ENABLE_FULL_DEBUG_SYMBOLS=$(ENABLE_FULL_DEBUG_SYMBOLS) OBJCOPY=$(OBJCOPY) STRIP_POLICY=$(STRIP_POLICY) ZIP_DEBUGINFO_FILES=$(ZIP_DEBUGINFO_FILES) ZIPEXE=$(ZIPEXE) diff -r df3f0e040c01 -r 3017276776bf make/linux/makefiles/buildtree.make --- a/make/linux/makefiles/buildtree.make Thu Apr 24 16:21:06 2014 +0100 +++ b/make/linux/makefiles/buildtree.make Thu May 08 16:16:21 2014 +0200 @@ -26,7 +26,7 @@ # Usage: # # $(MAKE) -f buildtree.make SRCARCH=srcarch BUILDARCH=buildarch LIBARCH=libarch -# GAMMADIR=dir OS_FAMILY=os VARIANT=variant +# GAMMADIR=dir OS_FAMILY=os VARIANT=variant OPENJDK_TARGET_CPU_ENDIAN=endianness # # The macros ARCH, GAMMADIR, OS_FAMILY and VARIANT must be defined in the # environment or on the command-line: @@ -40,7 +40,8 @@ # HOTSPOT_RELEASE_VERSION - .-b (11.0-b07) # HOTSPOT_BUILD_VERSION - internal, internal-$(USER_RELEASE_SUFFIX) or empty # JRE_RELEASE_VERSION - .. (1.7.0) -# +# OPENJDK_TARGET_CPU_ENDIAN - target endianness: 'big'/'little'. Used to differentiate +# the architecture flavor for PowerPC64 # Builds the directory trees with makefiles plus some convenience files in # each directory: # @@ -133,7 +134,8 @@ env.sh env.csh jdkpath.sh .dbxrc test_gamma BUILDTREE_VARS = GAMMADIR=$(GAMMADIR) OS_FAMILY=$(OS_FAMILY) \ - SRCARCH=$(SRCARCH) BUILDARCH=$(BUILDARCH) LIBARCH=$(LIBARCH) VARIANT=$(VARIANT) + SRCARCH=$(SRCARCH) BUILDARCH=$(BUILDARCH) LIBARCH=$(LIBARCH) VARIANT=$(VARIANT) \ + OPENJDK_TARGET_CPU_ENDIAN=$(OPENJDK_TARGET_CPU_ENDIAN) # Define variables to be set in flags.make. # Default values are set in make/defs.make. @@ -210,6 +212,7 @@ echo "HOTSPOT_VM_DISTRO = $(HOTSPOT_VM_DISTRO)"; \ echo "OPENJDK = $(OPENJDK)"; \ echo "ZERO_BUILD = $(ZERO_BUILD)"; \ + echo "OPENJDK_TARGET_CPU_ENDIAN = $(OPENJDK_TARGET_CPU_ENDIAN)"; \ echo; \ echo "# Used for platform dispatching"; \ echo "TARGET_DEFINES = -DTARGET_OS_FAMILY_\$$(Platform_os_family)"; \ diff -r df3f0e040c01 -r 3017276776bf make/linux/makefiles/defs.make --- a/make/linux/makefiles/defs.make Thu Apr 24 16:21:06 2014 +0100 +++ b/make/linux/makefiles/defs.make Thu May 08 16:16:21 2014 +0200 @@ -133,6 +133,18 @@ PLATFORM = linux-ppc64 VM_PLATFORM = linux_ppc64 HS_ARCH = ppc + OPENJDK_TARGET_CPU_ENDIAN = big +endif + +# PPC64LE +ifeq ($(ARCH), ppc64le) + ARCH_DATA_MODEL = 64 + MAKE_ARGS += LP64=1 + PLATFORM = linux-ppc64 + VM_PLATFORM = linux_ppc64 + HS_ARCH = ppc + OPENJDK_TARGET_CPU_ENDIAN = little + ARCH := ppc64 endif # determine if HotSpot is being built in JDK6 or earlier version diff -r df3f0e040c01 -r 3017276776bf make/linux/makefiles/gcc.make --- a/make/linux/makefiles/gcc.make Thu Apr 24 16:21:06 2014 +0100 +++ b/make/linux/makefiles/gcc.make Thu May 08 16:16:21 2014 +0200 @@ -171,6 +171,11 @@ OPT_CFLAGS/mulnode.o += -O0 endif +# 8041658. Problem in GCC 4.9.0 with virtualisation removing return statements. +ifeq ($(shell expr $(CC_VER_MAJOR) = 4 \& $(CC_VER_MINOR) = 9), 1) +OPT_CFLAGS += -fno-devirtualize +endif + # Flags for generating make dependency flags. ifneq ("${CC_VER_MAJOR}", "2") DEPFLAGS = -fpch-deps -MMD -MP -MF $(DEP_DIR)/$(@:%=%.d) @@ -265,9 +270,6 @@ OPT_CFLAGS += -gstabs endif endif - ifeq ($(shell expr $(CC_VER_MAJOR) = 4 \& $(CC_VER_MINOR) = 9), 1) - OPT_CFLAGS += -fno-devirtualize - endif endif # If we are building HEADLESS, pass on to VM diff -r df3f0e040c01 -r 3017276776bf make/linux/makefiles/ppc64.make --- a/make/linux/makefiles/ppc64.make Thu Apr 24 16:21:06 2014 +0100 +++ b/make/linux/makefiles/ppc64.make Thu May 08 16:16:21 2014 +0200 @@ -23,33 +23,54 @@ # # -# produce 64 bits object files. -CFLAGS += -m64 - -# make c code know it is on a 64 bit platform. +# make c code know it is on a 64 bit platform. CFLAGS += -D_LP64=1 -# fixes `relocation truncated to fit' error for gcc 4.1. -CFLAGS += -mminimal-toc +ifeq ($(origin OPENJDK_TARGET_CPU_ENDIAN),undefined) + # This can happen during hotspot standalone build. Set endianness from + # uname. We assume build and target machines are the same. + OPENJDK_TARGET_CPU_ENDIAN:=$(if $(filter ppc64le,$(shell uname -m)),little,big) +endif -# finds use ppc64 instructions, but schedule for power5 -CFLAGS += -mcpu=powerpc64 -mtune=power5 -minsert-sched-nops=regroup_exact -mno-multiple -mno-string +ifeq ($(filter $(OPENJDK_TARGET_CPU_ENDIAN),big little),) + $(error OPENJDK_TARGET_CPU_ENDIAN value should be 'big' or 'little') +endif -# PPC uses safefetch stubs. -CFLAGS += -DSAFEFETCH_STUBS +ifeq ($(OPENJDK_TARGET_CPU_ENDIAN),big) + # produce 64 bits object files. + CFLAGS += -m64 -# let linker produce 64 bit lib. -LFLAGS_VM += -m64 + # fixes `relocation truncated to fit' error for gcc 4.1. + CFLAGS += -mminimal-toc -# let linker find external 64 bit libs. -LFLAGS_VM += -L/lib64 + # finds use ppc64 instructions, but schedule for power5 + CFLAGS += -mcpu=powerpc64 -mtune=power5 -minsert-sched-nops=regroup_exact -mno-multiple -mno-string -# specify lib format. -LFLAGS_VM += -Wl,-melf64ppc + # PPC uses safefetch stubs. + CFLAGS += -DSAFEFETCH_STUBS -# also build launcher as 64 bit executable. -LAUNCHERFLAGS += -m64 -LAUNCHERFLAGS += -D_LP64=1 -AOUT_FLAGS += -m64 -AOUT_FLAGS += -L/lib64 -AOUT_FLAGS += -Wl,-melf64ppc + # let linker produce 64 bit lib. + LFLAGS_VM += -m64 + + # let linker find external 64 bit libs. + LFLAGS_VM += -L/lib64 + + # specify lib format. + LFLAGS_VM += -Wl,-melf64ppc + + # also build launcher as 64 bit executable. + LAUNCHERFLAGS += -m64 + LAUNCHERFLAGS += -D_LP64=1 + AOUT_FLAGS += -m64 + AOUT_FLAGS += -L/lib64 + AOUT_FLAGS += -Wl,-melf64ppc +else + # Little endian machine uses ELFv2 ABI. + CFLAGS += -DVM_LITTLE_ENDIAN -DABI_ELFv2 + + # PPC uses safefetch stubs. TODO(asmundak): is this needed? + CFLAGS += -DSAFEFETCH_STUBS + + # Use Power8, this is the first CPU to support PPC64 LE with ELFv2 ABI. + CFLAGS += -mcpu=power7 -mtune=power8 -minsert-sched-nops=regroup_exact -mno-multiple -mno-string +endif diff -r df3f0e040c01 -r 3017276776bf make/linux/platform_ppc --- a/make/linux/platform_ppc Thu Apr 24 16:21:06 2014 +0100 +++ b/make/linux/platform_ppc Thu May 08 16:16:21 2014 +0200 @@ -2,11 +2,11 @@ arch = ppc -arch_model = ppc +arch_model = ppc_32 os_arch = linux_ppc -os_arch_model = linux_ppc +os_arch_model = linux_ppc_32 lib_arch = ppc @@ -14,4 +14,4 @@ gnu_dis_arch = ppc -sysdefs = -DLINUX -D_GNU_SOURCE -DPPC +sysdefs = -DLINUX -D_GNU_SOURCE -DPPC32 diff -r df3f0e040c01 -r 3017276776bf src/cpu/ppc/vm/assembler_ppc.cpp --- a/src/cpu/ppc/vm/assembler_ppc.cpp Thu Apr 24 16:21:06 2014 +0100 +++ b/src/cpu/ppc/vm/assembler_ppc.cpp Thu May 08 16:16:21 2014 +0200 @@ -1,6 +1,6 @@ /* * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. - * Copyright 2012, 2013 SAP AG. All rights reserved. + * Copyright 2012, 2014 SAP AG. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -36,6 +36,7 @@ #include "runtime/os.hpp" #include "runtime/sharedRuntime.hpp" #include "runtime/stubRoutines.hpp" +#include "utilities/macros.hpp" #ifndef SERIALGC #include "gc_implementation/g1/g1CollectedHeap.inline.hpp" #include "gc_implementation/g1/g1SATBCardTableModRefBS.hpp" @@ -383,10 +384,10 @@ bool load_xa = (xa != 0) || (xb < 0); bool return_xd = false; - if (load_xa) lis(tmp, xa); - if (xc) lis(d, xc); + if (load_xa) { lis(tmp, xa); } + if (xc) { lis(d, xc); } if (load_xa) { - if (xb) ori(tmp, tmp, xb); // No addi, we support tmp == R0. + if (xb) { ori(tmp, tmp, (unsigned short)xb); } // No addi, we support tmp == R0. } else { li(tmp, xb); // non-negative } @@ -408,18 +409,18 @@ // opt 4: avoid adding 0 if (xa) { // Highest 16-bit needed? lis(d, xa); - if (xb) addi(d, d, xb); + if (xb) { addi(d, d, xb); } } else { li(d, xb); } sldi(d, d, 32); - if (xc) addis(d, d, xc); + if (xc) { addis(d, d, xc); } } // opt 5: Return offset to be inserted into following instruction. if (return_simm16_rest) return xd; - if (xd) addi(d, d, xd); + if (xd) { addi(d, d, xd); } return 0; } diff -r df3f0e040c01 -r 3017276776bf src/cpu/ppc/vm/assembler_ppc.hpp --- a/src/cpu/ppc/vm/assembler_ppc.hpp Thu Apr 24 16:21:06 2014 +0100 +++ b/src/cpu/ppc/vm/assembler_ppc.hpp Thu May 08 16:16:21 2014 +0200 @@ -127,6 +127,7 @@ } }; +#if !defined(ABI_ELFv2) // A ppc64 function descriptor. struct FunctionDescriptor VALUE_OBJ_CLASS_SPEC { private: @@ -164,6 +165,7 @@ _env = (address) 0xbad; } }; +#endif class Assembler : public AbstractAssembler { protected: @@ -1027,15 +1029,14 @@ } static void set_imm(int* instr, short s) { - short* p = ((short *)instr) + 1; - *p = s; + // imm is always in the lower 16 bits of the instruction, + // so this is endian-neutral. Same for the get_imm below. + uint32_t w = *(uint32_t *)instr; + *instr = (int)((w & ~0x0000FFFF) | (s & 0x0000FFFF)); } static int get_imm(address a, int instruction_number) { - short imm; - short *p =((short *)a)+2*instruction_number+1; - imm = *p; - return (int)imm; + return (short)((int *)a)[instruction_number]; } static inline int hi16_signed( int x) { return (int)(int16_t)(x >> 16); } @@ -1072,6 +1073,7 @@ // Emit an address. inline address emit_addr(const address addr = NULL); +#if !defined(ABI_ELFv2) // Emit a function descriptor with the specified entry point, TOC, // and ENV. If the entry point is NULL, the descriptor will point // just past the descriptor. @@ -1079,6 +1081,7 @@ inline address emit_fd(address entry = NULL, address toc = (address) FunctionDescriptor::friend_toc, address env = (address) FunctionDescriptor::friend_env); +#endif ///////////////////////////////////////////////////////////////////////////////////// // PPC instructions diff -r df3f0e040c01 -r 3017276776bf src/cpu/ppc/vm/assembler_ppc.inline.hpp --- a/src/cpu/ppc/vm/assembler_ppc.inline.hpp Thu Apr 24 16:21:06 2014 +0100 +++ b/src/cpu/ppc/vm/assembler_ppc.inline.hpp Thu May 08 16:16:21 2014 +0200 @@ -1,6 +1,6 @@ /* * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved. - * Copyright 2012, 2013 SAP AG. All rights reserved. + * Copyright 2012, 2014 SAP AG. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -64,6 +64,7 @@ return start; } +#if !defined(ABI_ELFv2) // Emit a function descriptor with the specified entry point, TOC, and // ENV. If the entry point is NULL, the descriptor will point just // past the descriptor. @@ -82,6 +83,7 @@ return (address)fd; } +#endif // Issue an illegal instruction. 0 is guaranteed to be an illegal instruction. inline void Assembler::illtrap() { Assembler::emit_int32(0); } diff -r df3f0e040c01 -r 3017276776bf src/cpu/ppc/vm/bytes_ppc.hpp --- a/src/cpu/ppc/vm/bytes_ppc.hpp Thu Apr 24 16:21:06 2014 +0100 +++ b/src/cpu/ppc/vm/bytes_ppc.hpp Thu May 08 16:16:21 2014 +0200 @@ -35,6 +35,126 @@ // Can I count on address always being a pointer to an unsigned char? Yes. +#if defined(VM_LITTLE_ENDIAN) + + // Returns true, if the byte ordering used by Java is different from the native byte ordering + // of the underlying machine. For example, true for Intel x86, False, for Solaris on Sparc. + static inline bool is_Java_byte_ordering_different() { return true; } + + // Forward declarations of the compiler-dependent implementation + static inline u2 swap_u2(u2 x); + static inline u4 swap_u4(u4 x); + static inline u8 swap_u8(u8 x); + + static inline u2 get_native_u2(address p) { + return (intptr_t(p) & 1) == 0 + ? *(u2*)p + : ( u2(p[1]) << 8 ) + | ( u2(p[0]) ); + } + + static inline u4 get_native_u4(address p) { + switch (intptr_t(p) & 3) { + case 0: return *(u4*)p; + + case 2: return ( u4( ((u2*)p)[1] ) << 16 ) + | ( u4( ((u2*)p)[0] ) ); + + default: return ( u4(p[3]) << 24 ) + | ( u4(p[2]) << 16 ) + | ( u4(p[1]) << 8 ) + | u4(p[0]); + } + } + + static inline u8 get_native_u8(address p) { + switch (intptr_t(p) & 7) { + case 0: return *(u8*)p; + + case 4: return ( u8( ((u4*)p)[1] ) << 32 ) + | ( u8( ((u4*)p)[0] ) ); + + case 2: return ( u8( ((u2*)p)[3] ) << 48 ) + | ( u8( ((u2*)p)[2] ) << 32 ) + | ( u8( ((u2*)p)[1] ) << 16 ) + | ( u8( ((u2*)p)[0] ) ); + + default: return ( u8(p[7]) << 56 ) + | ( u8(p[6]) << 48 ) + | ( u8(p[5]) << 40 ) + | ( u8(p[4]) << 32 ) + | ( u8(p[3]) << 24 ) + | ( u8(p[2]) << 16 ) + | ( u8(p[1]) << 8 ) + | u8(p[0]); + } + } + + + + static inline void put_native_u2(address p, u2 x) { + if ( (intptr_t(p) & 1) == 0 ) *(u2*)p = x; From bugzilla-daemon at icedtea.classpath.org Tue Jun 3 18:03:54 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 03 Jun 2014 18:03:54 +0000 Subject: [Bug 1757] [IcedTea7] register_method usage in sharkCompiler.cpp needs to be adjusted following S7196199 In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1757 --- Comment #2 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea7-forest-2.5/hotspot?cmd=changeset;node=2e44b0df2947 author: andrew date: Thu May 01 22:38:19 2014 +0100 PR1757: register_method usage in sharkCompiler.cpp needs to be adjusted following S7196199 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From andrew at icedtea.classpath.org Tue Jun 3 18:04:04 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Tue, 03 Jun 2014 18:04:04 +0000 Subject: /hg/release/icedtea7-forest-2.5/jdk: 3 new changesets Message-ID: changeset e919e34acdc7 in /hg/release/icedtea7-forest-2.5/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/jdk?cmd=changeset;node=e919e34acdc7 author: andrew date: Wed May 21 15:25:53 2014 +0100 PR1781: NSS PKCS11 provider fails to handle multipart AES encryption changeset 66dd22301a54 in /hg/release/icedtea7-forest-2.5/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/jdk?cmd=changeset;node=66dd22301a54 author: andrew date: Wed May 21 15:52:15 2014 +0100 RH905128: [CRASH] OpenJDK-1.7.0 while using NSS security provider and kerberos changeset 575b3a2fa6c9 in /hg/release/icedtea7-forest-2.5/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/jdk?cmd=changeset;node=575b3a2fa6c9 author: andrew date: Tue Jun 03 18:52:56 2014 +0100 RH1059925: RFE: Version Java libraries to allow using multiple Java versions with Linux capabilities enabled Summary: Add installation location to RPATH so libraries can be found even with privileged binaries Contributed-by: Omair Majid (original unconditional version) diffstat: make/common/Defs-linux.gmk | 5 + make/common/Program.gmk | 15 +- make/java/instrument/Makefile | 6 +- src/share/classes/sun/security/pkcs11/P11Cipher.java | 388 +++++++++++------- 4 files changed, 261 insertions(+), 153 deletions(-) diffs (truncated from 616 to 500 lines): diff -r 6cb22bfdd98b -r 575b3a2fa6c9 make/common/Defs-linux.gmk --- a/make/common/Defs-linux.gmk Fri Apr 18 06:40:58 2014 +0100 +++ b/make/common/Defs-linux.gmk Tue Jun 03 18:52:56 2014 +0100 @@ -346,8 +346,13 @@ LDFLAG_Z_ORIGIN = $(Z_ORIGIN_FLAG/$(ARCH_FAMILY)) +ifneq ($(INSTALL_LOCATION),) + LDFLAGS_COMMON += $(LDFLAG_Z_ORIGIN) -Xlinker -rpath -Xlinker \$$ORIGIN:$(INSTALL_LOCATION)/jre/lib/$(LIBARCH) + LDFLAGS_COMMON += $(LD_RUNPATH_EXTRAS:%=$(LDFLAG_Z_ORIGIN) -Xlinker -rpath -Xlinker \$$ORIGIN/:$(INSTALL_LOCATION)/jre/lib/$(LIBARCH)%) +else LDFLAGS_COMMON += $(LDFLAG_Z_ORIGIN) -Xlinker -rpath -Xlinker \$$ORIGIN LDFLAGS_COMMON += $(LD_RUNPATH_EXTRAS:%=$(LDFLAG_Z_ORIGIN) -Xlinker -rpath -Xlinker \$$ORIGIN/%) +endif endif diff -r 6cb22bfdd98b -r 575b3a2fa6c9 make/common/Program.gmk --- a/make/common/Program.gmk Fri Apr 18 06:40:58 2014 +0100 +++ b/make/common/Program.gmk Tue Jun 03 18:52:56 2014 +0100 @@ -110,7 +110,11 @@ ifeq ($(PLATFORM), linux) LDFLAGS += $(LDFLAG_Z_ORIGIN) LDFLAGS += -Wl,--allow-shlib-undefined - LDFLAGS += -Wl,-rpath -Wl,\$$ORIGIN/../lib/$(LIBARCH)/jli + ifneq ($(INSTALL_LOCATION),) + LDFLAGS += -Wl,-rpath -Wl,\$$ORIGIN/../lib/$(LIBARCH)/jli:$(INSTALL_LOCATION)/jre/lib/$(LIBARCH)/jli + else + LDFLAGS += -Wl,-rpath -Wl,\$$ORIGIN/../lib/$(LIBARCH)/jli + endif endif # PLATFORM LINUX endif # PLATFORM linux solaris @@ -148,8 +152,13 @@ endif # ARCH_DATA_MODEL endif # PLATFORM SOLARIS ifeq ($(PLATFORM), linux) - LDFLAGS += -Wl,-rpath -Wl,\$$ORIGIN/../lib/$(LIBARCH) - LDFLAGS += -Wl,-rpath -Wl,\$$ORIGIN/../jre/lib/$(LIBARCH) + ifneq ($(INSTALL_LOCATION),) + LDFLAGS += -Wl,-rpath -Wl,\$$ORIGIN/../lib/$(LIBARCH):$(INSTALL_LOCATION)/lib/$(LIBARCH) + LDFLAGS += -Wl,-rpath -Wl,\$$ORIGIN/../jre/lib/$(LIBARCH):$(INSTALL_LOCATION)/jre/lib/$(LIBARCH) + else + LDFLAGS += -Wl,-rpath -Wl,\$$ORIGIN/../lib/$(LIBARCH) + LDFLAGS += -Wl,-rpath -Wl,\$$ORIGIN/../jre/lib/$(LIBARCH) + endif endif # PLATFORM LINUX diff -r 6cb22bfdd98b -r 575b3a2fa6c9 make/java/instrument/Makefile --- a/make/java/instrument/Makefile Fri Apr 18 06:40:58 2014 +0100 +++ b/make/java/instrument/Makefile Tue Jun 03 18:52:56 2014 +0100 @@ -123,7 +123,11 @@ ifeq ($(PLATFORM), linux) LDFLAGS += $(LDFLAG_Z_ORIGIN) LDFLAGS += -Wl,--allow-shlib-undefined - LDFLAGS += -Wl,-rpath -Wl,\$$ORIGIN/jli + ifneq ($(INSTALL_LOCATION),) + LDFLAGS += -Wl,-rpath -Wl,\$$ORIGIN/jli:$(INSTALL_LOCATION)/jre/lib/$(LIBARCH)/jli + else + LDFLAGS += -Wl,-rpath -Wl,\$$ORIGIN/jli + endif endif endif endif diff -r 6cb22bfdd98b -r 575b3a2fa6c9 src/share/classes/sun/security/pkcs11/P11Cipher.java --- a/src/share/classes/sun/security/pkcs11/P11Cipher.java Fri Apr 18 06:40:58 2014 +0100 +++ b/src/share/classes/sun/security/pkcs11/P11Cipher.java Tue Jun 03 18:52:56 2014 +0100 @@ -69,7 +69,7 @@ private static interface Padding { // ENC: format the specified buffer with padding bytes and return the // actual padding length - int setPaddingBytes(byte[] paddingBuffer, int padLen); + int setPaddingBytes(byte[] paddingBuffer, int offset, int padLen); // DEC: return the length of trailing padding bytes given the specified // padded data @@ -90,8 +90,8 @@ this.blockSize = blockSize; } - public int setPaddingBytes(byte[] paddingBuffer, int padLen) { - Arrays.fill(paddingBuffer, 0, padLen, (byte) (padLen & 0x007f)); + public int setPaddingBytes(byte[] paddingBuffer, int offset, int padLen) { + Arrays.fill(paddingBuffer, offset, offset + padLen, (byte) (padLen & 0x007f)); return padLen; } @@ -160,10 +160,16 @@ // original IV, if in MODE_CBC or MODE_CTR private byte[] iv; - // number of bytes buffered internally by the native mechanism and padBuffer - // if we do the padding + // number of bytes buffered by the blockBuffer private int bytesBuffered; + // number of bytes buffered internally + private int bytesBufferedInt; + + // bytes buffered from an incomplete block + private byte[] blockBuffer; + private int blockBufferLen; + P11Cipher(Token token, String algorithm, long mechanism) throws PKCS11Exception, NoSuchAlgorithmException { super(); @@ -194,6 +200,9 @@ // should not happen throw new ProviderException(nspe); } + + if (blockSize > 0) + blockBuffer = new byte[blockSize]; } protected void engineSetMode(String mode) throws NoSuchAlgorithmException { @@ -403,7 +412,8 @@ token.p11.C_DecryptFinal(session.id(), 0, buffer, 0, bufLen); } } catch (PKCS11Exception e) { - throw new ProviderException("Cancel failed", e); + if (e.getErrorCode() != CKR_OPERATION_NOT_INITIALIZED) + throw new ProviderException("Cancel failed", e); } finally { reset(); } @@ -435,7 +445,9 @@ throw ex; } bytesBuffered = 0; + bytesBufferedInt = 0; padBufferLen = 0; + blockBufferLen = 0; initialized = true; } @@ -445,7 +457,7 @@ return 0; } - int result = inLen + bytesBuffered; + int result = inLen + bytesBuffered + bytesBufferedInt; if (blockSize != 0) { // minus the number of bytes in the last incomplete block. result -= (result & (blockSize - 1)); @@ -459,7 +471,7 @@ return 0; } - int result = inLen + bytesBuffered; + int result = inLen + bytesBuffered + bytesBufferedInt; if (blockSize != 0 && encrypt && paddingType != PAD_NONE) { // add the number of bytes to make the last block complete. result += (blockSize - (result & (blockSize - 1))); @@ -471,7 +483,9 @@ private void reset() { initialized = false; bytesBuffered = 0; + bytesBufferedInt = 0; padBufferLen = 0; + blockBufferLen = 0; if (session != null) { session = token.releaseSession(session); } @@ -546,50 +560,65 @@ } try { ensureInitialized(); - int k = 0; - if (encrypt) { - k = token.p11.C_EncryptUpdate(session.id(), 0, in, inOfs, inLen, - 0, out, outOfs, outLen); - } else { - int newPadBufferLen = 0; - if (paddingObj != null) { - if (padBufferLen != 0) { - // NSS throws up when called with data not in multiple - // of blocks. Try to work around this by holding the - // extra data in padBuffer. - if (padBufferLen != padBuffer.length) { - int bufCapacity = padBuffer.length - padBufferLen; - if (inLen > bufCapacity) { - bufferInputBytes(in, inOfs, bufCapacity); - inOfs += bufCapacity; - inLen -= bufCapacity; - } else { - bufferInputBytes(in, inOfs, inLen); - return 0; - } - } - k = token.p11.C_DecryptUpdate(session.id(), - 0, padBuffer, 0, padBufferLen, - 0, out, outOfs, outLen); - padBufferLen = 0; - } - newPadBufferLen = inLen & (blockSize - 1); - if (newPadBufferLen == 0) { - newPadBufferLen = padBuffer.length; - } - inLen -= newPadBufferLen; - } - if (inLen > 0) { - k += token.p11.C_DecryptUpdate(session.id(), 0, in, inOfs, - inLen, 0, out, (outOfs + k), (outLen - k)); - } - // update 'padBuffer' if using our own padding impl. - if (paddingObj != null) { - bufferInputBytes(in, inOfs + inLen, newPadBufferLen); - } - } - bytesBuffered += (inLen - k); - return k; + int bufRes = 0; + int inRes = 0; + int newBlockBufferLen = 0; + + // NSS throws up when called with data not in multiple + // of blocks. Try to work around this by holding the + // extra data in blockBuffer. + if (blockBufferLen != 0) { + if (blockBufferLen != blockBuffer.length) { + int bufCapacity = blockBuffer.length - blockBufferLen; + if (inLen >= bufCapacity) { + bufferInputBytes(in, inOfs, bufCapacity); + inOfs += bufCapacity; + inLen -= bufCapacity; + } else { + bufferInputBytes(in, inOfs, inLen); + return 0; + } + } + if (encrypt) { + bufRes = token.p11.C_EncryptUpdate(session.id(), 0, blockBuffer, 0, + blockBufferLen, 0, out, outOfs, + outLen); + } else { + bufRes = token.p11.C_DecryptUpdate(session.id(), 0, blockBuffer, 0, + blockBufferLen, 0, out, outOfs, + outLen); + } + bytesBufferedInt += (blockBufferLen - bufRes); + blockBufferLen = 0; + bytesBuffered = 0; + } + + if (inLen == 0) + return bufRes; + + if (blockBuffer != null) { + newBlockBufferLen = inLen & (blockSize - 1); + if (!encrypt && paddingObj != null && newBlockBufferLen == 0) + // Hold the last block in the buffer if we need to unpad + newBlockBufferLen = blockBuffer.length; + inLen -= newBlockBufferLen; + bufferInputBytes(in, inOfs + inLen, newBlockBufferLen); + } + + if (inLen > 0) { + if (encrypt) { + inRes = token.p11.C_EncryptUpdate(session.id(), 0, in, inOfs, + inLen, 0, out, (outOfs + bufRes), + (outLen - bufRes)); + } else { + inRes = token.p11.C_DecryptUpdate(session.id(), 0, in, inOfs, + inLen, 0, out, (outOfs + bufRes), + (outLen - bufRes)); + } + bytesBufferedInt += (inLen - inRes); + } + + return inRes + bufRes; } catch (PKCS11Exception e) { if (e.getErrorCode() == CKR_BUFFER_TOO_SMALL) { throw (ShortBufferException) @@ -642,70 +671,79 @@ } } - int k = 0; - if (encrypt) { - if (inAddr == 0 && inArray == null) { - inArray = new byte[inLen]; - inBuffer.get(inArray); - } else { - inBuffer.position(origPos + inLen); - } - k = token.p11.C_EncryptUpdate(session.id(), - inAddr, inArray, inOfs, inLen, - outAddr, outArray, outOfs, outLen); - } else { - int newPadBufferLen = 0; - if (paddingObj != null) { - if (padBufferLen != 0) { - // NSS throws up when called with data not in multiple - // of blocks. Try to work around this by holding the - // extra data in padBuffer. - if (padBufferLen != padBuffer.length) { - int bufCapacity = padBuffer.length - padBufferLen; - if (inLen > bufCapacity) { - bufferInputBytes(inBuffer, bufCapacity); - inOfs += bufCapacity; - inLen -= bufCapacity; - } else { - bufferInputBytes(inBuffer, inLen); - return 0; - } - } - k = token.p11.C_DecryptUpdate(session.id(), 0, - padBuffer, 0, padBufferLen, outAddr, outArray, - outOfs, outLen); - padBufferLen = 0; - } - newPadBufferLen = inLen & (blockSize - 1); - if (newPadBufferLen == 0) { - newPadBufferLen = padBuffer.length; - } - inLen -= newPadBufferLen; - } - if (inLen > 0) { - if (inAddr == 0 && inArray == null) { - inArray = new byte[inLen]; - inBuffer.get(inArray); - } else { - inBuffer.position(inBuffer.position() + inLen); - } - k += token.p11.C_DecryptUpdate(session.id(), inAddr, - inArray, inOfs, inLen, outAddr, outArray, - (outOfs + k), (outLen - k)); - } - // update 'padBuffer' if using our own padding impl. - if (paddingObj != null && newPadBufferLen != 0) { - bufferInputBytes(inBuffer, newPadBufferLen); - } - } - bytesBuffered += (inLen - k); + int bufRes = 0; + int inRes = 0; + int newBlockBufferLen = 0; + + // NSS throws up when called with data not in multiple + // of blocks. Try to work around this by holding the + // extra data in blockBuffer. + if (blockBufferLen != 0) { + if (blockBufferLen != blockBuffer.length) { + int bufCapacity = blockBuffer.length - blockBufferLen; + if (inLen >= bufCapacity) { + bufferInputBytes(inBuffer, bufCapacity); + inOfs += bufCapacity; + inLen -= bufCapacity; + } else { + bufferInputBytes(inBuffer, inLen); + return 0; + } + } + if (encrypt) { + bufRes = token.p11.C_EncryptUpdate(session.id(), 0, blockBuffer, 0, + blockBufferLen, outAddr, outArray, outOfs, + outLen); + } else { + bufRes = token.p11.C_DecryptUpdate(session.id(), 0, blockBuffer, 0, + blockBufferLen, outAddr, outArray, outOfs, + outLen); + } + bytesBufferedInt += (blockBufferLen - bufRes); + blockBufferLen = 0; + bytesBuffered = 0; + } + + if (inLen == 0) + return bufRes; + + if (blockBuffer != null) { + newBlockBufferLen = inLen & (blockSize - 1); + if (!encrypt && paddingObj != null && newBlockBufferLen == 0) + // Hold the last block in the buffer if we need to unpad + newBlockBufferLen = blockBuffer.length; + inLen -= newBlockBufferLen; + bufferInputBytes(inBuffer, newBlockBufferLen); + } + + if (inAddr == 0 && inArray == null) { + inArray = new byte[inLen]; + inBuffer.get(inArray); + } else { + inBuffer.position(inBuffer.position() + inLen); + } + + if (inLen > 0) { + if (encrypt) { + inRes = token.p11.C_EncryptUpdate(session.id(), inAddr, inArray, inOfs, + inLen, outAddr, outArray, (outOfs + bufRes), + (outLen - bufRes)); + } else { + inRes = token.p11.C_DecryptUpdate(session.id(), inAddr, inArray, inOfs, + inLen, outAddr, outArray, (outOfs + bufRes), + (outLen - bufRes)); + } + bytesBufferedInt += (inLen - inRes); + } + + int total = inRes + bufRes; if (!(outBuffer instanceof DirectBuffer) && !outBuffer.hasArray()) { - outBuffer.put(outArray, outOfs, k); + outBuffer.put(outArray, outOfs, total); } else { - outBuffer.position(outBuffer.position() + k); + outBuffer.position(outBuffer.position() + total); } - return k; + return total; } catch (PKCS11Exception e) { // Reset input buffer to its original position for inBuffer.position(origPos); @@ -722,45 +760,71 @@ throws ShortBufferException, IllegalBlockSizeException, BadPaddingException { int requiredOutLen = doFinalLength(0); + boolean updating = false; + PKCS11Exception err = null; + if (outLen < requiredOutLen) { throw new ShortBufferException(); } try { ensureInitialized(); int k = 0; - if (encrypt) { - if (paddingObj != null) { - int actualPadLen = paddingObj.setPaddingBytes(padBuffer, - requiredOutLen - bytesBuffered); - k = token.p11.C_EncryptUpdate(session.id(), - 0, padBuffer, 0, actualPadLen, - 0, out, outOfs, outLen); - } + if (encrypt) { + if (blockBuffer != null) { + // Do we need to pad? + if (paddingObj != null) { + int actualPadLen = paddingObj.setPaddingBytes(blockBuffer, + blockBufferLen, blockSize - blockBufferLen); + blockBufferLen = blockSize; + } + updating = true; + k = token.p11.C_EncryptUpdate(session.id(), + 0, blockBuffer, 0, blockBufferLen, + 0, out, outOfs, outLen); + updating = false; + } k += token.p11.C_EncryptFinal(session.id(), 0, out, (outOfs + k), (outLen - k)); } else { + if (blockBufferLen != 0) { + if (paddingObj == null) + k = token.p11.C_DecryptUpdate(session.id(), 0, + blockBuffer, 0, blockBufferLen, 0, + out, outOfs, outLen); + else + k = token.p11.C_DecryptUpdate(session.id(), 0, + blockBuffer, 0, blockBufferLen, 0, + padBuffer, 0, padBuffer.length); + } if (paddingObj != null) { - if (padBufferLen != 0) { - k = token.p11.C_DecryptUpdate(session.id(), 0, - padBuffer, 0, padBufferLen, 0, padBuffer, 0, - padBuffer.length); - } k += token.p11.C_DecryptFinal(session.id(), 0, padBuffer, k, padBuffer.length - k); int actualPadLen = paddingObj.unpad(padBuffer, k); k -= actualPadLen; System.arraycopy(padBuffer, 0, out, outOfs, k); } else { - k = token.p11.C_DecryptFinal(session.id(), 0, out, outOfs, - outLen); + k += token.p11.C_DecryptFinal(session.id(), 0, out, (outOfs + k), + (outLen - k)); } } return k; } catch (PKCS11Exception e) { + err = e; handleException(e); throw new ProviderException("doFinal() failed", e); } finally { - reset(); + if (err != null) { + if (err.getErrorCode() != CKR_BUFFER_TOO_SMALL) { + if (updating) + // Work around NSS not cancelling the + // operation on an error in update + cancelOperation(); + else + reset(); + } + } else { + reset(); + } From bugzilla-daemon at icedtea.classpath.org Tue Jun 3 18:04:10 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 03 Jun 2014 18:04:10 +0000 Subject: [Bug 1781] [IcedTea7] NSS PKCS11 provider fails to handle multipart AES encryption In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1781 --- Comment #3 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea7-forest-2.5/jdk?cmd=changeset;node=e919e34acdc7 author: andrew date: Wed May 21 15:25:53 2014 +0100 PR1781: NSS PKCS11 provider fails to handle multipart AES encryption -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From ldracz at redhat.com Tue Jun 3 18:12:03 2014 From: ldracz at redhat.com (Lukasz Dracz) Date: Tue, 3 Jun 2014 14:12:03 -0400 (EDT) Subject: [rfc][icedtea-web] notNullUrlEquals throws exception In-Reply-To: <547209401.10151135.1401819042058.JavaMail.zimbra@redhat.com> Message-ID: <1142192733.10152099.1401819123756.JavaMail.zimbra@redhat.com> Hello, I looked into why verifyNotNullUrlEqualsThrowsExceptionWhenSecondArgumentIsNull was failing and found that the test was expecting a null pointer exception but forgot to specify that so I added it. Thank you, Lukasz Dracz -------------- next part -------------- A non-text attachment was scrubbed... Name: verifyNotNullUrlEqualsThrowsExceptionWhenSecondArgumentIsNull.patch Type: text/x-patch Size: 1235 bytes Desc: not available URL: From ldracz at redhat.com Tue Jun 3 18:17:20 2014 From: ldracz at redhat.com (Lukasz Dracz) Date: Tue, 3 Jun 2014 14:17:20 -0400 (EDT) Subject: [rfc][icedtea-web] notNullUrlEquals throws exception In-Reply-To: <1142192733.10152099.1401819123756.JavaMail.zimbra@redhat.com> References: <1142192733.10152099.1401819123756.JavaMail.zimbra@redhat.com> Message-ID: <1086518642.10154036.1401819440256.JavaMail.zimbra@redhat.com> Hello, Sorry I didn't notice a push had happened in the meantime, so here is the patch with the ChangeLog updating properly above the newest version. Thank you, Lukasz Dracz ----- Original Message ----- > From: "Lukasz Dracz" > To: distro-pkg-dev at openjdk.java.net > Sent: Tuesday, June 3, 2014 2:12:03 PM > Subject: [rfc][icedtea-web] notNullUrlEquals throws exception > > Hello, > > I looked into why > verifyNotNullUrlEqualsThrowsExceptionWhenSecondArgumentIsNull was failing > and found that the test was expecting a null pointer exception but forgot to > specify that so I added it. > > Thank you, > Lukasz Dracz -------------- next part -------------- A non-text attachment was scrubbed... Name: verifyNotNullUrlEqualsThrowsExceptionWhenSecondArgumentIsNull-2.patch Type: text/x-patch Size: 1242 bytes Desc: not available URL: From aazores at redhat.com Tue Jun 3 18:24:57 2014 From: aazores at redhat.com (Andrew Azores) Date: Tue, 03 Jun 2014 14:24:57 -0400 Subject: [rfc][icedtea-web] notNullUrlEquals throws exception In-Reply-To: <1086518642.10154036.1401819440256.JavaMail.zimbra@redhat.com> References: <1142192733.10152099.1401819123756.JavaMail.zimbra@redhat.com> <1086518642.10154036.1401819440256.JavaMail.zimbra@redhat.com> Message-ID: <538E12F9.4060508@redhat.com> On 06/03/2014 02:17 PM, Lukasz Dracz wrote: > Hello, > > Sorry I didn't notice a push had happened in the meantime, so here is the patch with the ChangeLog updating properly above the newest version. > > Thank you, > Lukasz Dracz > > ----- Original Message ----- >> From: "Lukasz Dracz" >> To: distro-pkg-dev at openjdk.java.net >> Sent: Tuesday, June 3, 2014 2:12:03 PM >> Subject: [rfc][icedtea-web] notNullUrlEquals throws exception >> >> Hello, >> >> I looked into why >> verifyNotNullUrlEqualsThrowsExceptionWhenSecondArgumentIsNull was failing >> and found that the test was expecting a null pointer exception but forgot to >> specify that so I added it. >> >> Thank you, >> Lukasz Dracz Looks good. Thanks, -- Andrew A From aazores at icedtea.classpath.org Tue Jun 3 18:26:08 2014 From: aazores at icedtea.classpath.org (aazores at icedtea.classpath.org) Date: Tue, 03 Jun 2014 18:26:08 +0000 Subject: /hg/icedtea-web: Fixed UrlUtilsTest.verifyNotNullUrlEqualsThrows... Message-ID: changeset 8ddd8d86855c in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=8ddd8d86855c author: Andrew Azores date: Tue Jun 03 14:25:41 2014 -0400 Fixed UrlUtilsTest.verifyNotNullUrlEqualsThrowsExceptionWhenSecondArgumentIsNull 2014-06-03 Lukasz Dracz This test expects a Null pointer exception however does not have a flag specifying that the NullPointer Exception is expected * unit/net/sourceforge/jnlp/util/UrlUtilsTest.java (verifyNotNullUrlEqualsThrowsExceptionWhenSecondArgumentIsNull): added 'expected = NullPointerException.class' to Test annotation diffstat: ChangeLog | 8 ++++++++ tests/netx/unit/net/sourceforge/jnlp/util/UrlUtilsTest.java | 2 +- 2 files changed, 9 insertions(+), 1 deletions(-) diffs (27 lines): diff -r 23a84212d1db -r 8ddd8d86855c ChangeLog --- a/ChangeLog Tue Jun 03 13:15:50 2014 -0400 +++ b/ChangeLog Tue Jun 03 14:25:41 2014 -0400 @@ -1,3 +1,11 @@ +2014-06-03 Lukasz Dracz + + This test expects a Null pointer exception however does not + have a flag specifying that the NullPointer Exception is expected + * unit/net/sourceforge/jnlp/util/UrlUtilsTest.java + (verifyNotNullUrlEqualsThrowsExceptionWhenSecondArgumentIsNull): + added 'expected = NullPointerException.class' to Test annotation + 2014-06-03 Andrew Azores Fix for PR1776, PolicyEditor attempting to save to null file location when diff -r 23a84212d1db -r 8ddd8d86855c tests/netx/unit/net/sourceforge/jnlp/util/UrlUtilsTest.java --- a/tests/netx/unit/net/sourceforge/jnlp/util/UrlUtilsTest.java Tue Jun 03 13:15:50 2014 -0400 +++ b/tests/netx/unit/net/sourceforge/jnlp/util/UrlUtilsTest.java Tue Jun 03 14:25:41 2014 -0400 @@ -264,7 +264,7 @@ UrlUtils.notNullUrlEquals(null, new URL("ftp://aa.bb")); } - @Test + @Test(expected = NullPointerException.class) public void verifyNotNullUrlEqualsThrowsExceptionWhenSecondArgumentIsNull() throws Exception { UrlUtils.notNullUrlEquals(new URL("ftp://aa.bb"), null); } From omajid at redhat.com Tue Jun 3 18:39:16 2014 From: omajid at redhat.com (Omair Majid) Date: Tue, 3 Jun 2014 14:39:16 -0400 Subject: [rfc][icedtea-web] notNullUrlEquals throws exception In-Reply-To: <1086518642.10154036.1401819440256.JavaMail.zimbra@redhat.com> References: <1142192733.10152099.1401819123756.JavaMail.zimbra@redhat.com> <1086518642.10154036.1401819440256.JavaMail.zimbra@redhat.com> Message-ID: <20140603183916.GE2405@redhat.com> * Lukasz Dracz [2014-06-03 14:19]: > Sorry I didn't notice a push had happened in the meantime, so here is > the patch with the ChangeLog updating properly above the newest > version. For what it's worth, you don't have to rebase your patch if someone (including you) pushes a fix for something completely unrelated. We may ask you to rebase a patch if it's been posted for a few months and/or doesn't apply any more (as in, the non-ChangeLog parts fail to apply and the fix is not obvious). If everyone had to rebase a patch every time someone pushed and updated ChangeLog, we would never get anything done :) Cheers, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From jkang at redhat.com Tue Jun 3 18:48:37 2014 From: jkang at redhat.com (Jie Kang) Date: Tue, 3 Jun 2014 14:48:37 -0400 (EDT) Subject: [rfc][icedtea-web] PolicyEditor empty entries save to file In-Reply-To: <538E0B08.5020809@redhat.com> References: <537CCC47.9070400@redhat.com> <538491B0.1000708@redhat.com> <538E0B08.5020809@redhat.com> Message-ID: <1650603678.10168675.1401821317357.JavaMail.zimbra@redhat.com> Hello, ----- Original Message ----- > On 05/27/2014 09:22 AM, Andrew Azores wrote: > > On 05/21/2014 11:54 AM, Andrew Azores wrote: > >> Hi, > >> > >> This patch makes it so that "empty" codebase entries (those with no > >> permissions applied to them) will still be written to the policy > >> file, so that on re-open, the "empty" codebase is still present. A > >> special exception is added for the default "All Applets" codebase, > >> since it always appears in the editor anyway and it doesn't make > >> sense to have a persistent empty entry in that case. > >> > >> For example: > >> 1) policyeditor -file .config/icedtea-web/security/java.policy > >> 2) add a new codebase which isn't already present, eg http://example.com > >> 3) save the file > >> 4) $EDITOR config/icedtea-web/security/java.policy - verify the empty > >> "grant codeBase http://example/com" block is present > >> 5) policyeditor -file .config/icedtea-web/security/java.policy - > >> verify the example.com codebase appears and has no permissions applied > >> > >> ChangeLog: > >> > >> Empty codebase entries in PolicyEditor are saved to file > >> * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java > >> (savePolicyFile): fileLock made final, enabledPermissions declaration > >> moved closer to usage > >> * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEntry.java > >> (toString): add codebase.isEmpty() condition to returning empty > >> string result > >> The patch looks fine. 0.5 from me :) Regards, Jie From ldracz at redhat.com Tue Jun 3 20:31:23 2014 From: ldracz at redhat.com (Lukasz Dracz) Date: Tue, 3 Jun 2014 16:31:23 -0400 (EDT) Subject: [rfc][icedtea-web][policyeditor] Unit tests fix after last PolicyEditor async IO patch In-Reply-To: <538CE7A5.4040306@redhat.com> References: <538CE7A5.4040306@redhat.com> Message-ID: <1368949609.10216436.1401827483960.JavaMail.zimbra@redhat.com> ----- Original Message ----- > From: "Andrew Azores" > To: "IcedTea" > Sent: Monday, June 2, 2014 5:07:49 PM > Subject: [rfc][icedtea-web][policyeditor] Unit tests fix after last PolicyEditor async IO patch > > Hi, > > There's a race between the unit tests and PolicyEditor instances that is > causing several PolicyEditor tests to sporadically fail, due to the > tests asserting certain conditions about the contents of the policy file > model before it has actually been opened and parsed. This patch fixes > the race by adding a "performingIO" field to the editor, which is simply > marked true immediately before starting an IO operation and marked false > immediately after completing it. The test cases then poll the editor > every 50ms, waiting for it to complete its IO, before performing the > actual tests. > > Additionally, the new progress bar dialog which appears during blocking > IO does so assuming that the editor panel is contained within some > window, which it uses as its parent to set its modality and to center > itself. However, this is not necessarily the case - PolicyEditor can > actually be used headless, and is used headless during the unit tests. > The dialog appears during the unit tests regardless of the fact that > there is no parent window. This is solved by simply checking if the > parent window of the editor panel is null, and if it is, not invoking > the Runnable which displays the progress indicator. > > Thanks, > > -- > Andrew A > > Hello, Patch looks good to me, it fixes the tests on my system. +0.5 from me. Thank you, Lukasz D From ldracz at redhat.com Tue Jun 3 20:32:02 2014 From: ldracz at redhat.com (Lukasz Dracz) Date: Tue, 3 Jun 2014 16:32:02 -0400 (EDT) Subject: [rfc][icedtea-web][policyeditor] Enhancement: added Rename, Copy, and Paste actions In-Reply-To: <5388D9C7.3090006@redhat.com> References: <5388D9C7.3090006@redhat.com> Message-ID: <217222196.10216794.1401827522593.JavaMail.zimbra@redhat.com> ----- Original Message ----- > From: "Andrew Azores" > To: "IcedTea" > Sent: Friday, May 30, 2014 3:19:35 PM > Subject: [rfc][icedtea-web][policyeditor] Enhancement: added Rename, Copy, and Paste actions > > Hi, > > As alluded to in the subject, this patch adds three new actions to > PolicyEditor. They are all available through the new Edit menu. The > Rename action allows a codebase entry to be renamed, keeping all of the > same permissions. The Copy and Paste actions can be used to duplicate > the permissions of one codebase and grant them to a new codebase, which > makes it easier to produce two codebase entries with very similar > permissions granted. > > This patch also fixes a bug where removing a codebase only did so for > the standard permissions map which models the checkboxes in the main > PolicyEditor UI, but did not remove custom permissions granted to the > codebase through CustomPolicyViewer. There are also some very minor > refactors included, noted in the in-patch ChangeLog. > > Thanks, > > -- > Andrew A > > Hello, Looks good to me, 0.5 from me. Regards, Lukasz D From aazores at redhat.com Tue Jun 3 20:50:28 2014 From: aazores at redhat.com (Andrew Azores) Date: Tue, 3 Jun 2014 16:50:28 -0400 (EDT) Subject: [rfc][icedtea-web] PolicyEditor empty entries save to file In-Reply-To: <1650603678.10168675.1401821317357.JavaMail.zimbra@redhat.com> References: <537CCC47.9070400@redhat.com> <538491B0.1000708@redhat.com> <538E0B08.5020809@redhat.com> <1650603678.10168675.1401821317357.JavaMail.zimbra@redhat.com> Message-ID: <1665257757.16638207.1401828628233.JavaMail.zimbra@redhat.com> Oh, turns out the old patch also doesn't cleanly apply to HEAD anymore. I've attached an updated version which does, and also does a little cleanup (ensuring that a FileLock is released). Thanks. ----- Original Message ----- > Hello, > > ----- Original Message ----- > > On 05/27/2014 09:22 AM, Andrew Azores wrote: > > > On 05/21/2014 11:54 AM, Andrew Azores wrote: > > >> Hi, > > >> > > >> This patch makes it so that "empty" codebase entries (those with no > > >> permissions applied to them) will still be written to the policy > > >> file, so that on re-open, the "empty" codebase is still present. A > > >> special exception is added for the default "All Applets" codebase, > > >> since it always appears in the editor anyway and it doesn't make > > >> sense to have a persistent empty entry in that case. > > >> > > >> For example: > > >> 1) policyeditor -file .config/icedtea-web/security/java.policy > > >> 2) add a new codebase which isn't already present, eg http://example.com > > >> 3) save the file > > >> 4) $EDITOR config/icedtea-web/security/java.policy - verify the empty > > >> "grant codeBase http://example/com" block is present > > >> 5) policyeditor -file .config/icedtea-web/security/java.policy - > > >> verify the example.com codebase appears and has no permissions applied > > >> > > >> ChangeLog: > > >> > > >> Empty codebase entries in PolicyEditor are saved to file > > >> * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java > > >> (savePolicyFile): fileLock made final, enabledPermissions declaration > > >> moved closer to usage > > >> * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEntry.java > > >> (toString): add codebase.isEmpty() condition to returning empty > > >> string result > > >> > > The patch looks fine. 0.5 from me :) > > > Regards, > > Jie > -------------- next part -------------- A non-text attachment was scrubbed... Name: policyeditor-empty-entries-2.patch Type: text/x-patch Size: 3259 bytes Desc: not available URL: From ldracz at redhat.com Tue Jun 3 20:58:16 2014 From: ldracz at redhat.com (Lukasz Dracz) Date: Tue, 3 Jun 2014 16:58:16 -0400 (EDT) Subject: [rfc][icedtea-web] PolicyEditor empty entries save to file In-Reply-To: <1665257757.16638207.1401828628233.JavaMail.zimbra@redhat.com> References: <537CCC47.9070400@redhat.com> <538491B0.1000708@redhat.com> <538E0B08.5020809@redhat.com> <1650603678.10168675.1401821317357.JavaMail.zimbra@redhat.com> <1665257757.16638207.1401828628233.JavaMail.zimbra@redhat.com> Message-ID: <1118647635.10226571.1401829096989.JavaMail.zimbra@redhat.com> ----- Original Message ----- > From: "Andrew Azores" > To: "Jie Kang" > Cc: "IcedTea" > Sent: Tuesday, June 3, 2014 4:50:28 PM > Subject: Re: [rfc][icedtea-web] PolicyEditor empty entries save to file > > Oh, turns out the old patch also doesn't cleanly apply to HEAD anymore. I've > attached an updated version which does, and also does a little cleanup > (ensuring that a FileLock is released). > > Thanks. > > ----- Original Message ----- > > Hello, > > > > ----- Original Message ----- > > > On 05/27/2014 09:22 AM, Andrew Azores wrote: > > > > On 05/21/2014 11:54 AM, Andrew Azores wrote: > > > >> Hi, > > > >> > > > >> This patch makes it so that "empty" codebase entries (those with no > > > >> permissions applied to them) will still be written to the policy > > > >> file, so that on re-open, the "empty" codebase is still present. A > > > >> special exception is added for the default "All Applets" codebase, > > > >> since it always appears in the editor anyway and it doesn't make > > > >> sense to have a persistent empty entry in that case. > > > >> > > > >> For example: > > > >> 1) policyeditor -file .config/icedtea-web/security/java.policy > > > >> 2) add a new codebase which isn't already present, eg > > > >> http://example.com > > > >> 3) save the file > > > >> 4) $EDITOR config/icedtea-web/security/java.policy - verify the empty > > > >> "grant codeBase http://example/com" block is present > > > >> 5) policyeditor -file .config/icedtea-web/security/java.policy - > > > >> verify the example.com codebase appears and has no permissions applied > > > >> > > > >> ChangeLog: > > > >> > > > >> Empty codebase entries in PolicyEditor are saved to file > > > >> * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java > > > >> (savePolicyFile): fileLock made final, enabledPermissions declaration > > > >> moved closer to usage > > > >> * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEntry.java > > > >> (toString): add codebase.isEmpty() condition to returning empty > > > >> string result > > > >> > > > > The patch looks fine. 0.5 from me :) > > > > > > Regards, > > > > Jie > > > Hello, The patch looks great to me. 0.5 from me as well. Thank you, Lukasz Dracz From aazores at icedtea.classpath.org Tue Jun 3 21:03:06 2014 From: aazores at icedtea.classpath.org (aazores at icedtea.classpath.org) Date: Tue, 03 Jun 2014 21:03:06 +0000 Subject: /hg/icedtea-web: PolicyEditor persists empty non-default codebas... Message-ID: changeset f02ad0ae6d86 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=f02ad0ae6d86 author: Andrew Azores date: Tue Jun 03 17:02:56 2014 -0400 PolicyEditor persists empty non-default codebase entries 2014-06-03 Andrew Azores PolicyEditor persists empty non-default codebase entries * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEntry.java (toString): return empty string only if the codebase both has no permissions assigned and is also the default "All Applets" codebase * netx/net/sourceforge/jnlp/security/policyeditor/PolicyFileModel.java (savePolicyFile): release fileLock with try/finally diffstat: ChangeLog | 9 ++ netx/net/sourceforge/jnlp/security/policyeditor/PolicyEntry.java | 4 +- netx/net/sourceforge/jnlp/security/policyeditor/PolicyFileModel.java | 31 ++++++--- 3 files changed, 32 insertions(+), 12 deletions(-) diffs (75 lines): diff -r 8ddd8d86855c -r f02ad0ae6d86 ChangeLog --- a/ChangeLog Tue Jun 03 14:25:41 2014 -0400 +++ b/ChangeLog Tue Jun 03 17:02:56 2014 -0400 @@ -1,3 +1,12 @@ +2014-06-03 Andrew Azores + + PolicyEditor persists empty non-default codebase entries + * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEntry.java + (toString): return empty string only if the codebase both has no + permissions assigned and is also the default "All Applets" codebase + * netx/net/sourceforge/jnlp/security/policyeditor/PolicyFileModel.java + (savePolicyFile): release fileLock with try/finally + 2014-06-03 Lukasz Dracz This test expects a Null pointer exception however does not diff -r 8ddd8d86855c -r f02ad0ae6d86 netx/net/sourceforge/jnlp/security/policyeditor/PolicyEntry.java --- a/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEntry.java Tue Jun 03 14:25:41 2014 -0400 +++ b/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEntry.java Tue Jun 03 17:02:56 2014 -0400 @@ -69,7 +69,9 @@ @Override public String toString() { - if (permissions.isEmpty() && customPermissions.isEmpty()) { + // Empty codebase is the default "All Applets" codebase. If there are no permissions + // applied to it, then don't bother recording it in the policy file. + if (codebase.isEmpty() && permissions.isEmpty() && customPermissions.isEmpty()) { return ""; } final String newline = System.getProperty("line.separator"); diff -r 8ddd8d86855c -r f02ad0ae6d86 netx/net/sourceforge/jnlp/security/policyeditor/PolicyFileModel.java --- a/netx/net/sourceforge/jnlp/security/policyeditor/PolicyFileModel.java Tue Jun 03 14:25:41 2014 -0400 +++ b/netx/net/sourceforge/jnlp/security/policyeditor/PolicyFileModel.java Tue Jun 03 17:02:56 2014 -0400 @@ -169,21 +169,30 @@ final String currentDate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(Calendar.getInstance().getTime()); sb.append("\n/* Generated by PolicyEditor at ").append(currentDate).append(" */"); sb.append(System.getProperty("line.separator")); - final Set enabledPermissions = new HashSet<>(); - FileLock fileLock = FileUtils.getFileLock(file.getAbsolutePath(), false, true); - for (final String codebase : codebasePermissionsMap.keySet()) { - enabledPermissions.clear(); - for (final Map.Entry entry : codebasePermissionsMap.get(codebase).entrySet()) { - if (entry.getValue()) { - enabledPermissions.add(entry.getKey()); + FileLock fileLock = null; + try { + fileLock = FileUtils.getFileLock(file.getAbsolutePath(), false, true); + final Set enabledPermissions = new HashSet<>(); + for (final String codebase : codebasePermissionsMap.keySet()) { + enabledPermissions.clear(); + for (final Map.Entry entry : codebasePermissionsMap.get(codebase).entrySet()) { + if (entry.getValue()) { + enabledPermissions.add(entry.getKey()); + } } + sb.append(new PolicyEntry(codebase, enabledPermissions, customPermissionsMap.get(codebase)).toString()); } - sb.append(new PolicyEntry(codebase, enabledPermissions, customPermissionsMap.get(codebase)).toString()); - } - try { - fileLock.release(); } catch (final IOException e) { OutputController.getLogger().log(e); + } finally { + if (fileLock != null) { + try { + fileLock.release(); + } catch (final IOException e) { + OutputController.getLogger().log(e); + } + + } } FileUtils.saveFile(sb.toString(), file); From jkang at redhat.com Tue Jun 3 21:12:11 2014 From: jkang at redhat.com (Jie Kang) Date: Tue, 3 Jun 2014 17:12:11 -0400 (EDT) Subject: [rfc][icedtea-web][policyeditor] Unit tests fix after last PolicyEditor async IO patch In-Reply-To: <538CE7A5.4040306@redhat.com> References: <538CE7A5.4040306@redhat.com> Message-ID: <222984742.10231171.1401829931501.JavaMail.zimbra@redhat.com> Hello, I tested the patch and everything works as expected. 0.5 from me. Regards, ----- Original Message ----- > Hi, > > There's a race between the unit tests and PolicyEditor instances that is > causing several PolicyEditor tests to sporadically fail, due to the > tests asserting certain conditions about the contents of the policy file > model before it has actually been opened and parsed. This patch fixes > the race by adding a "performingIO" field to the editor, which is simply > marked true immediately before starting an IO operation and marked false > immediately after completing it. The test cases then poll the editor > every 50ms, waiting for it to complete its IO, before performing the > actual tests. > > Additionally, the new progress bar dialog which appears during blocking > IO does so assuming that the editor panel is contained within some > window, which it uses as its parent to set its modality and to center > itself. However, this is not necessarily the case - PolicyEditor can > actually be used headless, and is used headless during the unit tests. > The dialog appears during the unit tests regardless of the fact that > there is no parent window. This is solved by simply checking if the > parent window of the editor panel is null, and if it is, not invoking > the Runnable which displays the progress indicator. > > Thanks, > > -- > Andrew A > > From aazores at icedtea.classpath.org Tue Jun 3 21:21:21 2014 From: aazores at icedtea.classpath.org (aazores at icedtea.classpath.org) Date: Tue, 03 Jun 2014 21:21:21 +0000 Subject: /hg/icedtea-web: PolicyEditor indicates active file IO and unit ... Message-ID: changeset d9ff050f08bb in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=d9ff050f08bb author: Andrew Azores date: Tue Jun 03 17:21:11 2014 -0400 PolicyEditor indicates active file IO and unit tests wait for this to complete 2014-06-03 Andrew Azores Added indicator method for if PolicyEditor is currently performing file IO. Unit tests wait for IO to complete before testing editor contents. * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java (performingIO, isPerformingIO): new field and getter to indicate if file IO is currently being performed. (changesMade): made volatile * tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorTest.java (setNewTempFile): call Thread.sleep while editor.isPerformingIO diffstat: ChangeLog | 11 ++ netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java | 46 ++++++--- tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorTest.java | 4 + 3 files changed, 46 insertions(+), 15 deletions(-) diffs (124 lines): diff -r f02ad0ae6d86 -r d9ff050f08bb ChangeLog --- a/ChangeLog Tue Jun 03 17:02:56 2014 -0400 +++ b/ChangeLog Tue Jun 03 17:21:11 2014 -0400 @@ -1,3 +1,14 @@ +2014-06-03 Andrew Azores + + Added indicator method for if PolicyEditor is currently performing file + IO. Unit tests wait for IO to complete before testing editor contents. + * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java + (performingIO, isPerformingIO): new field and getter to indicate if file + IO is currently being performed. + (changesMade): made volatile + * tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorTest.java + (setNewTempFile): call Thread.sleep while editor.isPerformingIO + 2014-06-03 Andrew Azores PolicyEditor persists empty non-default codebase entries diff -r f02ad0ae6d86 -r d9ff050f08bb netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java --- a/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java Tue Jun 03 17:02:56 2014 -0400 +++ b/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java Tue Jun 03 17:21:11 2014 -0400 @@ -157,8 +157,9 @@ + " " + CODEBASE_FLAG + "\t\t" + R("PECodebaseFlag") + "\n"; private final PolicyFileModel policyFile = new PolicyFileModel(); - private boolean changesMade = false; + private volatile boolean changesMade = false; private boolean closed = false; + private volatile boolean performingIO = false; private final Map checkboxMap = new TreeMap<>(); private final List groupBoxList = new ArrayList<>(Group.values().length); private final JScrollPane scrollPane = new JScrollPane(); @@ -1093,6 +1094,13 @@ policyFile.clearCustomPermissions(); } + /** + * @return whether this PolicyEditor is currently opening or saving a policy file to disk + */ + public boolean isPerformingIO() { + return performingIO; + } + private void openAndParsePolicyFile() { resetCodebases(); try { @@ -1115,13 +1123,16 @@ @Override protected Void doInBackground() throws Exception { try { - SwingUtilities.invokeLater(new Runnable() { - @Override - public void run() { - progressIndicator.setLocationRelativeTo(parentWindow); - progressIndicator.setVisible(true); - } - }); + if (parentWindow != null) { + SwingUtilities.invokeLater(new Runnable() { + @Override + public void run() { + progressIndicator.setLocationRelativeTo(parentWindow); + progressIndicator.setVisible(true); + } + }); + } + performingIO = true; policyFile.openAndParsePolicyFile(); } catch (final FileNotFoundException fnfe) { OutputController.getLogger().log(fnfe); @@ -1137,6 +1148,7 @@ @Override public void done() { changesMade = false; + performingIO = false; for (final String codebase : policyFile.getCodebases()) { final String model; if (codebase.isEmpty()) { @@ -1177,13 +1189,16 @@ @Override public Void doInBackground() throws Exception { try { - SwingUtilities.invokeLater(new Runnable() { - @Override - public void run() { - progressIndicator.setLocationRelativeTo(parentWindow); - progressIndicator.setVisible(true); - } - }); + if (parentWindow != null) { + SwingUtilities.invokeLater(new Runnable() { + @Override + public void run() { + progressIndicator.setLocationRelativeTo(parentWindow); + progressIndicator.setVisible(true); + } + }); + } + performingIO = true; policyFile.savePolicyFile(); } catch (final IOException e) { OutputController.getLogger().log(e); @@ -1195,6 +1210,7 @@ @Override public void done() { changesMade = false; + performingIO = false; showChangesSavedDialog(); progressIndicator.setVisible(false); progressIndicator.dispose(); diff -r f02ad0ae6d86 -r d9ff050f08bb tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorTest.java --- a/tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorTest.java Tue Jun 03 17:02:56 2014 -0400 +++ b/tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorTest.java Tue Jun 03 17:21:11 2014 -0400 @@ -59,6 +59,10 @@ public void setNewTempfile() throws Exception { tempFilePath = File.createTempFile("policyeditor", null).getCanonicalPath(); editor = new PolicyEditor(tempFilePath); + // policy file is loaded async; give it some time before we test its contents + while (editor.isPerformingIO()) { + Thread.sleep(50); + } } @Test From omajid at redhat.com Tue Jun 3 21:23:44 2014 From: omajid at redhat.com (Omair Majid) Date: Tue, 3 Jun 2014 17:23:44 -0400 Subject: [rfc][icedtea-web][policyeditor] Unit tests fix after last PolicyEditor async IO patch In-Reply-To: <538CE7A5.4040306@redhat.com> References: <538CE7A5.4040306@redhat.com> Message-ID: <20140603212344.GF2405@redhat.com> * Andrew Azores [2014-06-02 17:08]: > There's a race between the unit tests and PolicyEditor instances that is > causing several PolicyEditor tests to sporadically fail, due to the tests > asserting certain conditions about the contents of the policy file model > before it has actually been opened and parsed. This patch fixes the race by > adding a "performingIO" field to the editor, which is simply marked true > immediately before starting an IO operation and marked false immediately > after completing it. The test cases then poll the editor every 50ms, waiting > for it to complete its IO, before performing the actual tests. I am not sure I like this. Wouldn't it be better if the test was more controlled and predictable? I am thinking that the test should avoid executing thing async. Instead, it should get hold of a Runnable or something and then execute it in the current thread. This makes sure exceptions are caught (side note: SwingWorker and SwingUtilities can silently swallow exceptions [1]) and also avoids races and makes things run in a more predictable location. Thanks, Omair [1] http://jonathangiles.net/blog/?p=341 -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From aazores at redhat.com Tue Jun 3 21:32:28 2014 From: aazores at redhat.com (Andrew Azores) Date: Tue, 03 Jun 2014 17:32:28 -0400 Subject: [rfc][icedtea-web][policyeditor] Unit tests fix after last PolicyEditor async IO patch In-Reply-To: <20140603212344.GF2405@redhat.com> References: <538CE7A5.4040306@redhat.com> <20140603212344.GF2405@redhat.com> Message-ID: <538E3EEC.8000905@redhat.com> On 06/03/2014 05:23 PM, Omair Majid wrote: > * Andrew Azores [2014-06-02 17:08]: >> There's a race between the unit tests and PolicyEditor instances that is >> causing several PolicyEditor tests to sporadically fail, due to the tests >> asserting certain conditions about the contents of the policy file model >> before it has actually been opened and parsed. This patch fixes the race by >> adding a "performingIO" field to the editor, which is simply marked true >> immediately before starting an IO operation and marked false immediately >> after completing it. The test cases then poll the editor every 50ms, waiting >> for it to complete its IO, before performing the actual tests. > I am not sure I like this. Wouldn't it be better if the test was more > controlled and predictable? I am thinking that the test should avoid > executing thing async. Instead, it should get hold of a Runnable or > something and then execute it in the current thread. This makes sure > exceptions are caught (side note: SwingWorker and SwingUtilities can > silently swallow exceptions [1]) and also avoids races and makes things > run in a more predictable location. > > Thanks, > Omair > > [1] http://jonathangiles.net/blog/?p=341 > The test itself isn't doing anything async, it's PolicyEditor doing it after the SwingWorker patch. The tests used to expect that after instantiating a PolicyEditor, once the constructor returned, the editor's model of the policy file would already be ready. Now that the file loading is done async that assumption doesn't hold, and it's possible for the editor to not have parsed the policy file by the time the tests run. There are already tests for the parsing stage on its own, so extracting out the logic into a tests-accessible Runnable would mostly just be duplicating the standalone parser tests, whereas the tests affected here are meant to test that the editor opens with a valid state and handles exposing information about its internal model in a reasonable way. Thanks, -- Andrew A From omajid at redhat.com Tue Jun 3 21:45:52 2014 From: omajid at redhat.com (Omair Majid) Date: Tue, 3 Jun 2014 17:45:52 -0400 Subject: [rfc][icedtea-web][policyeditor] Unit tests fix after last PolicyEditor async IO patch In-Reply-To: <538E3EEC.8000905@redhat.com> References: <538CE7A5.4040306@redhat.com> <20140603212344.GF2405@redhat.com> <538E3EEC.8000905@redhat.com> Message-ID: <20140603214552.GG2405@redhat.com> * Andrew Azores [2014-06-03 17:32]: > The test itself isn't doing anything async, it's PolicyEditor doing it after > the SwingWorker patch. Yup. Due to the aysnc nature, however, the test has no idea that something is happening. If that thing goes wrong, the test has no way of finding out. > The tests used to expect that after instantiating a > PolicyEditor, once the constructor returned, the editor's model of the > policy file would already be ready. Now that the file loading is done async > that assumption doesn't hold, and it's possible for the editor to not have > parsed the policy file by the time the tests run. Right, except it there are two things that happening when this test is run that are a bad idea for a unit test: - Something is happening async, that the test can not see. Can you allow the test to inject some sort of a runner, for example? The test could pass a fake thing that causes it to run-in-current-thread, while outside the test, it would run in a different thread. - GUI is being invoked. This may interrupt the user and otherwise make things less synchronous (which makes them less reproducible). > There are already tests for the parsing stage on its own, so > extracting out the logic into a tests-accessible Runnable would mostly > just be duplicating the standalone parser tests You don't have to test the parsing is correct, but it's important to verify that it happened and that no errors were thrown (for example). Thanks, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From aazores at redhat.com Tue Jun 3 21:59:37 2014 From: aazores at redhat.com (Andrew Azores) Date: Tue, 03 Jun 2014 17:59:37 -0400 Subject: [rfc][icedtea-web][policyeditor] Unit tests fix after last PolicyEditor async IO patch In-Reply-To: <20140603214552.GG2405@redhat.com> References: <538CE7A5.4040306@redhat.com> <20140603212344.GF2405@redhat.com> <538E3EEC.8000905@redhat.com> <20140603214552.GG2405@redhat.com> Message-ID: <538E4549.8020908@redhat.com> On 06/03/2014 05:45 PM, Omair Majid wrote: > * Andrew Azores [2014-06-03 17:32]: >> The test itself isn't doing anything async, it's PolicyEditor doing it after >> the SwingWorker patch. > Yup. Due to the aysnc nature, however, the test has no idea that > something is happening. If that thing goes wrong, the test has no way of > finding out. Well, it sort of does. It finds out by the editor not containing the information that it was supposed to have found in the policy file. > >> The tests used to expect that after instantiating a >> PolicyEditor, once the constructor returned, the editor's model of the >> policy file would already be ready. Now that the file loading is done async >> that assumption doesn't hold, and it's possible for the editor to not have >> parsed the policy file by the time the tests run. > Right, except it there are two things that happening when this test is > run that are a bad idea for a unit test: > > - Something is happening async, that the test can not see. Can you allow > the test to inject some sort of a runner, for example? The test could > pass a fake thing that causes it to run-in-current-thread, while > outside the test, it would run in a different thread. I don't think I'm really on board with adding that kind of additional complexity to it just so that this one method can be tested "better". If something goes wrong with the async file IO then the tests already fail. If something goes wrong with the actual parsing there are other tests to catch it. I don't really see what adding this functionality gives us, other than maybe a *very* slightly more specific detail on the failure (eg "failed due to this particular IOException while reading from the file" rather than "the test that ensures that opening a file with known contents results in not having the correct contents in the model, so it must not have been read correctly"). > > - GUI is being invoked. This may interrupt the user and otherwise make > things less synchronous (which makes them less reproducible). GUI actually isn't being invoked, really. Nothing is ever set visible, at least, and the editor panel is never even placed into a Window. > >> There are already tests for the parsing stage on its own, so >> extracting out the logic into a tests-accessible Runnable would mostly >> just be duplicating the standalone parser tests > You don't have to test the parsing is correct, but it's important to > verify that it happened and that no errors were thrown (for example). > > Thanks, > Omair > As above, it already does this. The reason the tests sporadically fail without this patch is because the parsing didn't happen (on time). Thanks, -- Andrew A From aazores at redhat.com Tue Jun 3 22:24:33 2014 From: aazores at redhat.com (Andrew Azores) Date: Tue, 03 Jun 2014 18:24:33 -0400 Subject: [rfc][icedtea-web][policyeditor] Enhancement: added Rename, Copy, and Paste actions In-Reply-To: <5388D9C7.3090006@redhat.com> References: <5388D9C7.3090006@redhat.com> Message-ID: <538E4B21.8020403@redhat.com> On 05/30/2014 03:19 PM, Andrew Azores wrote: > Hi, > > As alluded to in the subject, this patch adds three new actions to > PolicyEditor. They are all available through the new Edit menu. The > Rename action allows a codebase entry to be renamed, keeping all of > the same permissions. The Copy and Paste actions can be used to > duplicate the permissions of one codebase and grant them to a new > codebase, which makes it easier to produce two codebase entries with > very similar permissions granted. > > This patch also fixes a bug where removing a codebase only did so for > the standard permissions map which models the checkboxes in the main > PolicyEditor UI, but did not remove custom permissions granted to the > codebase through CustomPolicyViewer. There are also some very minor > refactors included, noted in the in-patch ChangeLog. > > Thanks, > Attached is an updated version that applies cleanly to HEAD. Still not included are key accelerators or mnemonics for the new menu items. I'm going to go through and redo all of them in a later patch. Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: policyeditor-rename-copy-paste-2.patch Type: text/x-patch Size: 10041 bytes Desc: not available URL: From ptisnovs at icedtea.classpath.org Wed Jun 4 09:30:13 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Wed, 04 Jun 2014 09:30:13 +0000 Subject: /hg/gfx-test: Ten new tests added into CAGOperationsOnTwoConcent... Message-ID: changeset 538a053adff8 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=538a053adff8 author: Pavel Tisnovsky date: Wed Jun 04 11:30:59 2014 +0200 Ten new tests added into CAGOperationsOnTwoConcentricCircles. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/CAGOperationsOnTwoConcentricCircles.java | 250 ++++++++++ 2 files changed, 255 insertions(+), 0 deletions(-) diffs (272 lines): diff -r 71e36aecc981 -r 538a053adff8 ChangeLog --- a/ChangeLog Tue Jun 03 11:39:32 2014 +0200 +++ b/ChangeLog Wed Jun 04 11:30:59 2014 +0200 @@ -1,3 +1,8 @@ +2014-06-04 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/CAGOperationsOnTwoConcentricCircles.java: + Ten new tests added into CAGOperationsOnTwoConcentricCircles. + 2014-06-03 Pavel Tisnovsky * src/org/gfxtest/testsuites/CAGOperationsOnChordAndRectangle.java: diff -r 71e36aecc981 -r 538a053adff8 src/org/gfxtest/testsuites/CAGOperationsOnTwoConcentricCircles.java --- a/src/org/gfxtest/testsuites/CAGOperationsOnTwoConcentricCircles.java Tue Jun 03 11:39:32 2014 +0200 +++ b/src/org/gfxtest/testsuites/CAGOperationsOnTwoConcentricCircles.java Wed Jun 04 11:30:59 2014 +0200 @@ -2359,6 +2359,256 @@ } /** + * Checks the process of creating and rendering new geometric shape + * constructed from two concentric circles using inverse subtract operator. The shape is rendered + * using texture paint (fill). + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testInverseSubtractTextureFillUsingColorDotsTexture(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingColorDotsTexture(image, graphics2d); + // create area using inverse subtract operator + Area area = CommonCAGOperations.createAreaFromTwoConcentricCirclesUsingInverseSubtractOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two concentric circles using Intersect operator. The shape is rendered + * using texture paint (fill). + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testIntersectTextureFillUsingColorDotsTexture(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingColorDotsTexture(image, graphics2d); + // create area using Intersect operator + Area area = CommonCAGOperations.createAreaFromTwoConcentricCirclesUsingIntersectOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two concentric circles using Xor operator. The shape is rendered + * using texture paint (fill). + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testXorTextureFillUsingColorDotsTexture(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingColorDotsTexture(image, graphics2d); + // create area using Xor operator + Area area = CommonCAGOperations.createAreaFromTwoConcentricCirclesUsingXorOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two concentric circles using union operator. The shape is rendered + * using texture paint (fill). + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testUnionTextureFillUsingRGBTexture1(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingRGBTexture1(image, graphics2d); + // create area using union operator + Area area = CommonCAGOperations.createAreaFromTwoConcentricCirclesUsingUnionOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two concentric circles using subtract operator. The shape is rendered + * using texture paint (fill). + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testSubtractTextureFillUsingRGBTexture1(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingRGBTexture1(image, graphics2d); + // create area using subtract operator + Area area = CommonCAGOperations.createAreaFromTwoConcentricCirclesUsingSubtractOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two concentric circles using inverse subtract operator. The shape is rendered + * using texture paint (fill). + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testInverseSubtractTextureFillUsingRGBTexture1(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingRGBTexture1(image, graphics2d); + // create area using inverse subtract operator + Area area = CommonCAGOperations.createAreaFromTwoConcentricCirclesUsingInverseSubtractOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two concentric circles using Intersect operator. The shape is rendered + * using texture paint (fill). + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testIntersectTextureFillUsingRGBTexture1(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingRGBTexture1(image, graphics2d); + // create area using Intersect operator + Area area = CommonCAGOperations.createAreaFromTwoConcentricCirclesUsingIntersectOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two concentric circles using Xor operator. The shape is rendered + * using texture paint (fill). + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testXorTextureFillUsingRGBTexture1(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingRGBTexture1(image, graphics2d); + // create area using Xor operator + Area area = CommonCAGOperations.createAreaFromTwoConcentricCirclesUsingXorOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two concentric circles using union operator. The shape is rendered + * using texture paint (fill). + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testUnionTextureFillUsingRGBTexture2(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingRGBTexture2(image, graphics2d); + // create area using union operator + Area area = CommonCAGOperations.createAreaFromTwoConcentricCirclesUsingUnionOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two concentric circles using subtract operator. The shape is rendered + * using texture paint (fill). + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testSubtractTextureFillUsingRGBTexture2(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingRGBTexture2(image, graphics2d); + // create area using subtract operator + Area area = CommonCAGOperations.createAreaFromTwoConcentricCirclesUsingSubtractOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** * Entry point to the test suite. * * @param args not used in this case From andrew at icedtea.classpath.org Wed Jun 4 13:46:13 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 04 Jun 2014 13:46:13 +0000 Subject: /hg/release/icedtea7-forest-2.5: 2 new changesets Message-ID: changeset 67041516ba3d in /hg/release/icedtea7-forest-2.5 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5?cmd=changeset;node=67041516ba3d author: andrew date: Wed Jun 04 14:43:02 2014 +0100 Added tag icedtea-2.5pre06 for changeset 716796f6c6f0 changeset 258655afadc5 in /hg/release/icedtea7-forest-2.5 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5?cmd=changeset;node=258655afadc5 author: andrew date: Wed Jun 04 14:45:40 2014 +0100 Added tag icedtea-2.5pre05 for changeset 716796f6c6f0 diffstat: .hgtags | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diffs (9 lines): diff -r 716796f6c6f0 -r 258655afadc5 .hgtags --- a/.hgtags Fri Apr 18 06:41:01 2014 +0100 +++ b/.hgtags Wed Jun 04 14:45:40 2014 +0100 @@ -451,3 +451,5 @@ 1ca6a368aec38ee91a41dc03899d7dc1037de44d jdk7u60-b14 a95b821a2627295b90fb4ae8f3b8bc2ff9c64acc jdk7u60-b15 c6d37b19485e6a086b632d3ab4adef2588f079fb icedtea-2.5pre04 +716796f6c6f040dd53a75475e09bb19f6542146c icedtea-2.5pre06 +716796f6c6f040dd53a75475e09bb19f6542146c icedtea-2.5pre05 From andrew at icedtea.classpath.org Wed Jun 4 13:46:19 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 04 Jun 2014 13:46:19 +0000 Subject: /hg/release/icedtea7-forest-2.5/corba: 2 new changesets Message-ID: changeset f4b0bcc52007 in /hg/release/icedtea7-forest-2.5/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/corba?cmd=changeset;node=f4b0bcc52007 author: andrew date: Wed Jun 04 14:42:52 2014 +0100 Added tag icedtea-2.5pre06 for changeset 1650f85c0dee changeset 13c5358a1c37 in /hg/release/icedtea7-forest-2.5/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/corba?cmd=changeset;node=13c5358a1c37 author: andrew date: Wed Jun 04 14:43:40 2014 +0100 Added tag icedtea-2.5pre05 for changeset fc55c94710a4 diffstat: .hgtags | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diffs (9 lines): diff -r 1650f85c0dee -r 13c5358a1c37 .hgtags --- a/.hgtags Fri Apr 11 03:12:43 2014 +0000 +++ b/.hgtags Wed Jun 04 14:43:40 2014 +0100 @@ -453,3 +453,5 @@ 02bdeb33754315f589bd650dde656d2c9947976d jdk7u60-b14 e5946b2cf82bdea3a4b85917e903168e65a543a7 jdk7u60-b15 e120608ed3994b1597a6e2af96035518027d132b icedtea-2.5pre04 +1650f85c0dee5051cccb9d9db181a13fb4423dcb icedtea-2.5pre06 +fc55c94710a409afd5d89d90e958d3e37ccdc4f3 icedtea-2.5pre05 From andrew at icedtea.classpath.org Wed Jun 4 13:46:25 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 04 Jun 2014 13:46:25 +0000 Subject: /hg/release/icedtea7-forest-2.5/jaxp: 2 new changesets Message-ID: changeset ef4417f32cdf in /hg/release/icedtea7-forest-2.5/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/jaxp?cmd=changeset;node=ef4417f32cdf author: andrew date: Wed Jun 04 14:42:53 2014 +0100 Added tag icedtea-2.5pre06 for changeset 49ca8c230020 changeset ddb35782d6da in /hg/release/icedtea7-forest-2.5/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/jaxp?cmd=changeset;node=ddb35782d6da author: andrew date: Wed Jun 04 14:43:52 2014 +0100 Added tag icedtea-2.5pre05 for changeset 89656c61a515 diffstat: .hgtags | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diffs (9 lines): diff -r 49ca8c230020 -r ddb35782d6da .hgtags --- a/.hgtags Tue Apr 29 21:54:36 2014 +0100 +++ b/.hgtags Wed Jun 04 14:43:52 2014 +0100 @@ -454,3 +454,5 @@ 2814f43a6c73414dcb2b799e1a52d5b44688590d jdk7u60-b14 10eed57b66336660f71f7524f2283478bdf373dc jdk7u60-b15 611fdb7bcd4f575284d0a00716371f9784b62422 icedtea-2.5pre04 +49ca8c2300207f95ea7adbda540650185fd68057 icedtea-2.5pre06 +89656c61a515f63119e556eb8827d9fa9db40dcf icedtea-2.5pre05 From andrew at icedtea.classpath.org Wed Jun 4 13:46:30 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 04 Jun 2014 13:46:30 +0000 Subject: /hg/release/icedtea7-forest-2.5/jaxws: 2 new changesets Message-ID: changeset 411fea5c61c3 in /hg/release/icedtea7-forest-2.5/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/jaxws?cmd=changeset;node=411fea5c61c3 author: andrew date: Wed Jun 04 14:42:54 2014 +0100 Added tag icedtea-2.5pre06 for changeset 3a7c902a4390 changeset 218681c62b48 in /hg/release/icedtea7-forest-2.5/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/jaxws?cmd=changeset;node=218681c62b48 author: andrew date: Wed Jun 04 14:44:05 2014 +0100 Added tag icedtea-2.5pre05 for changeset 9639895f6950 diffstat: .hgtags | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diffs (9 lines): diff -r 3a7c902a4390 -r 218681c62b48 .hgtags --- a/.hgtags Tue Apr 29 21:54:42 2014 +0100 +++ b/.hgtags Wed Jun 04 14:44:05 2014 +0100 @@ -453,3 +453,5 @@ 43b5a7cf08e7ee018b1fa42a89510b4c381dc4c5 jdk7u60-b14 d00389bf5439e5c42599604d2ebc909d26df8dcf jdk7u60-b15 8c3ac91d06c0013bf4c4f4d986a5d9994bf3c049 icedtea-2.5pre04 +3a7c902a4390ed227747724f427a516e22a7d77a icedtea-2.5pre06 +9639895f69500ce364e4555a157c6875bb6e51dc icedtea-2.5pre05 From andrew at icedtea.classpath.org Wed Jun 4 13:46:36 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 04 Jun 2014 13:46:36 +0000 Subject: /hg/release/icedtea7-forest-2.5/langtools: 2 new changesets Message-ID: changeset 153b2c1682d5 in /hg/release/icedtea7-forest-2.5/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/langtools?cmd=changeset;node=153b2c1682d5 author: andrew date: Wed Jun 04 14:43:02 2014 +0100 Added tag icedtea-2.5pre06 for changeset 853f886673d8 changeset 7c33dd65fe40 in /hg/release/icedtea7-forest-2.5/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/langtools?cmd=changeset;node=7c33dd65fe40 author: andrew date: Wed Jun 04 14:44:30 2014 +0100 Added tag icedtea-2.5pre05 for changeset 1b5335c79bc1 diffstat: .hgtags | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diffs (9 lines): diff -r 853f886673d8 -r 7c33dd65fe40 .hgtags --- a/.hgtags Fri Apr 11 03:13:03 2014 +0000 +++ b/.hgtags Wed Jun 04 14:44:30 2014 +0100 @@ -453,3 +453,5 @@ a8b9c1929e50a9f3ae9ae1a23c06fa73a57afce3 jdk7u60-b14 7568ebdada118da1d1a6addcf6316ffda21801fd jdk7u60-b15 2f5810fa2937a0ea4aec2ef03b2b7ceacd122750 icedtea-2.5pre04 +853f886673d8eddc415e6b8e87b720c1b9244467 icedtea-2.5pre06 +1b5335c79bc18fe5aa613de3ca19fc364983c492 icedtea-2.5pre05 From andrew at icedtea.classpath.org Wed Jun 4 13:46:42 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 04 Jun 2014 13:46:42 +0000 Subject: /hg/release/icedtea7-forest-2.5/hotspot: 2 new changesets Message-ID: changeset e58fae78d26f in /hg/release/icedtea7-forest-2.5/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/hotspot?cmd=changeset;node=e58fae78d26f author: andrew date: Wed Jun 04 14:43:03 2014 +0100 Added tag icedtea-2.5pre06 for changeset 3017276776bf changeset 58f685f86fe5 in /hg/release/icedtea7-forest-2.5/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/hotspot?cmd=changeset;node=58f685f86fe5 author: andrew date: Wed Jun 04 14:44:45 2014 +0100 Added tag icedtea-2.5pre05 for changeset df3f0e040c01 diffstat: .hgtags | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diffs (9 lines): diff -r 3017276776bf -r 58f685f86fe5 .hgtags --- a/.hgtags Thu May 08 16:16:21 2014 +0200 +++ b/.hgtags Wed Jun 04 14:44:45 2014 +0100 @@ -673,3 +673,5 @@ b226be2040f971855626f5b88cb41a7d5299fea0 jdk7u60-b14 2871f345b7e5585e20dc7aa91035967fe774cfba jdk7u60-b15 6dfe2b3e243c2329d16af8c3c263961c547797df icedtea-2.5pre04 +3017276776bf322520e3d4007bc4761ebaeb4361 icedtea-2.5pre06 +df3f0e040c01e1b375c63f3cf32c1c088da20faa icedtea-2.5pre05 From andrew at icedtea.classpath.org Wed Jun 4 13:46:49 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 04 Jun 2014 13:46:49 +0000 Subject: /hg/release/icedtea7-forest-2.5/jdk: 2 new changesets Message-ID: changeset 5c6f796c97cf in /hg/release/icedtea7-forest-2.5/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/jdk?cmd=changeset;node=5c6f796c97cf author: andrew date: Wed Jun 04 14:42:59 2014 +0100 Added tag icedtea-2.5pre06 for changeset 575b3a2fa6c9 changeset 8f2c6f02f002 in /hg/release/icedtea7-forest-2.5/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/jdk?cmd=changeset;node=8f2c6f02f002 author: andrew date: Wed Jun 04 14:44:20 2014 +0100 Added tag icedtea-2.5pre05 for changeset 6cb22bfdd98b diffstat: .hgtags | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diffs (9 lines): diff -r 575b3a2fa6c9 -r 8f2c6f02f002 .hgtags --- a/.hgtags Tue Jun 03 18:52:56 2014 +0100 +++ b/.hgtags Wed Jun 04 14:44:20 2014 +0100 @@ -437,3 +437,5 @@ b7fbd9b4febf8961091fdf451d3da477602a8f1d jdk7u60-b14 04882f9a073e8de153ec7ad32486569fd9a087ec jdk7u60-b15 2cef4a93bcb881190a1d828dfae1574c535bb19a icedtea-2.5pre04 +575b3a2fa6c940036a9ab6b554bcfe76f5151add icedtea-2.5pre06 +6cb22bfdd98bd5b97eadaad926b52e8582f63077 icedtea-2.5pre05 From andrew at icedtea.classpath.org Wed Jun 4 13:49:35 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 04 Jun 2014 13:49:35 +0000 Subject: /hg/release/icedtea7-2.5: Bump to icedtea-2.5pre06. Message-ID: changeset 97f337a7c17f in /hg/release/icedtea7-2.5 details: http://icedtea.classpath.org/hg/release/icedtea7-2.5?cmd=changeset;node=97f337a7c17f author: Andrew John Hughes date: Wed Jun 04 14:49:24 2014 +0100 Bump to icedtea-2.5pre06. PR1753: Ant does not respect JAVA_HOME/jdk.home setting PR1757: register_method usage in sharkCompiler.cpp needs to be adjusted following S7196199 PR1781: NSS PKCS11 provider fails to handle multipart AES encryption S8038392, RH1064383: Generating prelink cache breaks JAVA 'jinfo' utility normal behavior RH1059925: RFE: Version Java libraries to allow using multiple Java versions with Linux capabilities enabled RH905128: [CRASH] OpenJDK-1.7.0 while using NSS security provider and kerberos S8016491: PPC64 (part 2): Clean up PPC defines. S8016586: PPC64 (part 3): basic changes for PPC64 S8016696: PPC64 (part 4): add relocation for trampoline stubs S8017313: PPC64 (part 6): stack handling improvements S8017317: PPC64 (part 7): cppInterpreter: implement support for biased locking S8019517: PPC64 (part 102): cppInterpreter: implement G1 support S8019973: PPC64 (part 11): Fix IA64 preprocessor conditionals on AIX. S8024344: PPC64 (part 112): C argument in register AND stack slot. S8024468: PPC64 (part 201): cppInterpreter: implement bytecode profiling S8033168: PPC64: gcc 4.8 warning in output_c.cpp S8035396: Introduce accessor for tmp_oop in frame. S8036767: PPC64: Support for little endian execution model S8036976: PPC64: implement the template interpreter S8037915: PPC64/AIX: Several smaller fixes S8042309: Some bugfixes for the ppc64 port 2014-06-04 Andrew John Hughes * INSTALL: Replace documentation of --with-abs-install-dir with --prefix. * Makefile.am: (CORBA_CHANGESET): Update to icedtea-2.5pre06 tag. (JAXP_CHANGESET): Likewise. (JAXWS_CHANGESET): Likewise. (JDK_CHANGESET): Likewise. (LANGTOOLS_CHANGESET): Likewise. (CORBA_SHA256SUM): Likewise. (JAXP_SHA256SUM): Likewise. (JAXWS_SHA256SUM): Likewise. (JDK_SHA256SUM): Likewise. (LANGTOOLS_SHA256SUM): Likewise. (ICEDTEA_ENV): Set INSTALL_LOCATION to prefix. * NEWS: Updated. * configure.ac: Bump to pre06. Drop abs-install-dir option and use prefix in ABS_CLIENT_LIBJVM_SO and ABS_SERVER_LIBJVM_SO instead. * hotspot.map: Update to icedtea-2.5pre06 tag. * patches/boot/jaxws-langtools-dependency.patch: Regenerated. * tapset/hotspot.stp.in, * tapset/hotspot_jni.stp.in, * tapset/jstack.stp.in: Replace ABS_JAVA_HOME_DIR with prefix. diffstat: ChangeLog | 28 +++++++++++++++++++++++++++ INSTALL | 4 +- Makefile.am | 23 +++++++++++---------- NEWS | 25 ++++++++++++++++++++++++ configure.ac | 17 ++------------- hotspot.map | 2 +- patches/boot/jaxws-langtools-dependency.patch | 14 ++++++------ tapset/hotspot.stp.in | 2 +- tapset/hotspot_jni.stp.in | 2 +- tapset/jstack.stp.in | 2 +- 10 files changed, 81 insertions(+), 38 deletions(-) diffs (289 lines): diff -r 72d6be4fa2c2 -r 97f337a7c17f ChangeLog --- a/ChangeLog Thu Apr 24 17:32:06 2014 +0100 +++ b/ChangeLog Wed Jun 04 14:49:24 2014 +0100 @@ -1,3 +1,31 @@ +2014-06-04 Andrew John Hughes + + * INSTALL: Replace documentation of + --with-abs-install-dir with --prefix. + * Makefile.am: + (CORBA_CHANGESET): Update to icedtea-2.5pre06 tag. + (JAXP_CHANGESET): Likewise. + (JAXWS_CHANGESET): Likewise. + (JDK_CHANGESET): Likewise. + (LANGTOOLS_CHANGESET): Likewise. + (CORBA_SHA256SUM): Likewise. + (JAXP_SHA256SUM): Likewise. + (JAXWS_SHA256SUM): Likewise. + (JDK_SHA256SUM): Likewise. + (LANGTOOLS_SHA256SUM): Likewise. + (ICEDTEA_ENV): Set INSTALL_LOCATION to prefix. + * NEWS: Updated. + * configure.ac: Bump to pre06. Drop abs-install-dir + option and use prefix in ABS_CLIENT_LIBJVM_SO and + ABS_SERVER_LIBJVM_SO instead. + * hotspot.map: Update to icedtea-2.5pre06 tag. + * patches/boot/jaxws-langtools-dependency.patch: + Regenerated. + * tapset/hotspot.stp.in, + * tapset/hotspot_jni.stp.in, + * tapset/jstack.stp.in: + Replace ABS_JAVA_HOME_DIR with prefix. + 2014-04-24 Andrew John Hughes Use of -fdevirtualize on macroAssembler_x86.o (via -O2) diff -r 72d6be4fa2c2 -r 97f337a7c17f INSTALL --- a/INSTALL Thu Apr 24 17:32:06 2014 +0100 +++ b/INSTALL Wed Jun 04 14:49:24 2014 +0100 @@ -69,7 +69,7 @@ There is currently no install target. IcedTea ends up in openjdk.build when the build completes. -Most targets in IcedTea creat stamp files in the stamps directory to +Most targets in IcedTea create stamp files in the stamps directory to determine what and when dependencies were compiled. Each target has a corresponding clean-x target which removes the output and the stamp file, allowing it to be rebuilt. For example, stamps/rt.stamp (alias @@ -82,6 +82,7 @@ The build process may be modified by passing the following options to configure: +* --prefix: The final install location of the j2sdk-image. * --disable-docs: Don't build the Javadoc documentation. * --disable-bootstrap: Perform a quick (no bootstrap) build using an installed copy of IcedTea6 or IcedTea7. If a directory is not specified, a check against @@ -172,7 +173,6 @@ * --with-jamvm-src-zip: Specify the location of a JamVM tarball to avoid downloading. * --with-hg-revision: Specify a hg revision to use (as opposed to tip) with the --enable-hg option. * --with-tzdata-dir: Specify the location of Java timezone data, defaulting to /usr/share/javazi. -* --with-abs-install-dir: The final install location of the j2sdk-image, for use in the SystemTap tapset. * --with-llvm-config: Specify the location of the llvm-config binary. * --with-version-suffix: Appends the given text to the JDK version output. * --with-project: Build an OpenJDK project from the following: icedtea, jdk7, closures, cvmi, cacaiocavallo, diff -r 72d6be4fa2c2 -r 97f337a7c17f Makefile.am --- a/Makefile.am Thu Apr 24 17:32:06 2014 +0100 +++ b/Makefile.am Wed Jun 04 14:49:24 2014 +0100 @@ -4,18 +4,18 @@ BUILD_VERSION = b15 COMBINED_VERSION = $(JDK_UPDATE_VERSION)-$(BUILD_VERSION) -CORBA_CHANGESET = fc55c94710a4 -JAXP_CHANGESET = 89656c61a515 -JAXWS_CHANGESET = 9639895f6950 -JDK_CHANGESET = 6cb22bfdd98b -LANGTOOLS_CHANGESET = 1b5335c79bc1 +CORBA_CHANGESET = 1650f85c0dee +JAXP_CHANGESET = 49ca8c230020 +JAXWS_CHANGESET = 3a7c902a4390 +JDK_CHANGESET = 575b3a2fa6c9 +LANGTOOLS_CHANGESET = 853f886673d8 OPENJDK_CHANGESET = 716796f6c6f0 -CORBA_SHA256SUM = aad1eca7c95e30d21f9831af74c4dc9695c40e93974f69bb9b66b7dcc44adffc -JAXP_SHA256SUM = 6f5fa329d5c0e00d567ac0b4e3c65bb2902f0d4c9a680deba1f13d8fa0678b59 -JAXWS_SHA256SUM = f88276b593562b2b2e6c45cc6d682617e765e13a6a817b25662e8a08e1b5c998 -JDK_SHA256SUM = 180ec5ef8e0df9459412cf42eeecaa7eeb53e792035ce6ad4ddaada1c9f3084f -LANGTOOLS_SHA256SUM = 7413148a6d6f77c1d6f99cee61240995035263f953ee1ce1aef4d3c461b83e4b +CORBA_SHA256SUM = 11503511cac59fa9d18d955b0db1de2217723be3e3b997a5485aa19ca0353c5a +JAXP_SHA256SUM = b65e71685224d288be7f9656372463944dcb56f1e0688d94b78f1b1616e34af8 +JAXWS_SHA256SUM = b879454336dba2a27bb61528e80ba242a5e2cda657fd5096f8242a8b9c8331ce +JDK_SHA256SUM = abe758688db8a41b338eb09ce2e3b84e205e271ae51f76de39528ed84a49a70a +LANGTOOLS_SHA256SUM = 2d6f659521792661cdc3156cfa6efaebc84a77548d613a66331805ff0fbe8115 OPENJDK_SHA256SUM = 7c8142b0981d4f47818754a1e1d15d9a99c351eadd173c8af7248f5163413dc7 CACAO_VERSION = e215e36be9fc @@ -518,7 +518,8 @@ PCSC_LIBS="${PCSC_LIBS}" \ PCSC_CFLAGS="${PCSC_CFLAGS}" \ COMPRESS_JARS="${ENABLE_JAR_COMPRESSION}" \ - ARM32JIT="${ARM32JIT_STATUS}" + ARM32JIT="${ARM32JIT_STATUS}" \ + INSTALL_LOCATION="${prefix}" if ENABLE_CACAO ICEDTEA_ENV += \ diff -r 72d6be4fa2c2 -r 97f337a7c17f NEWS --- a/NEWS Thu Apr 24 17:32:06 2014 +0100 +++ b/NEWS Wed Jun 04 14:49:24 2014 +0100 @@ -229,6 +229,7 @@ - S8007607: security native code doesn't always use malloc, realloc, and calloc correctly - S8008509: 6588413 changed JNIEXPORT visibility for GCC on HSX, jdk's jni_md.h needs similar change - S8014307: Memory leak ... security/jgss/wrapper/GSSLibStub.c + - S8038392, RH1064383: Generating prelink cache breaks JAVA 'jinfo' utility normal behavior * Bug fixes - Fix implicit function declarations in j2secmod_md.c introduced by 7103549. - PR1617: Include defs.make in vm.make so zeroshark.make is included @@ -259,6 +260,12 @@ - Fix merge duplication in com.sun.script.javascript.RhinoTopLevel - S8041658: Use of -fdevirtualize on macroAssembler_x86.o (via -O2) with gcc 4.9.0 creates broken VM - Extend 8041658 to all files in the HotSpot build. + - Correct placement of S8041658 fix + - PR1753: Ant does not respect JAVA_HOME/jdk.home setting + - PR1757: register_method usage in sharkCompiler.cpp needs to be adjusted following S7196199 + - PR1781: NSS PKCS11 provider fails to handle multipart AES encryption + - RH1059925: RFE: Version Java libraries to allow using multiple Java versions with Linux capabilities enabled + - RH905128: [CRASH] OpenJDK-1.7.0 while using NSS security provider and kerberos * PPC & AIX port - Add AIX-specific build instructions to README-ppc.html - Added AIX as testing platform for more jtreg tests written in shell-script @@ -335,6 +342,7 @@ - Fixed JTreg failure from java/util/ResourceBundle/Control/ExpirationTest.sh - Fixed memory handling/bookkeeping of mmaped memory on AIX - Fixed sun/nio/ch implementation on AIX + - Fix handling of scalar replaced objects. - Fix IA64 preprocessor conditionals on AIX!!! - Fix iconv encoding problem on AIX < 7.1 in SplashConvertStringAlloc - Fix JTreg failure from java/nio/charset/Charset/NIOCharsetAvailabilityTest.java @@ -375,6 +383,7 @@ - Memory ordering as required for platforms with weak memory ordering (PPC) - Memory ordering: introduce functions to specify platform properties. - method handles: some smaller fixes and extensions for ppc + - New files for template interpreter - New HS24 JSR292 implementation for PPC64 - opto: adapt assertion in postaloc.cpp for ppc. - opto: Basic fixes for the ppc C2 port @@ -425,6 +434,7 @@ - PPC specific C2 flags: add macro PD_C2_FLAGS to global flag definitions. - PPC specific flags: add macro PD_FLAGS to global flag definitions. - ppc: support for g1, cOops + - PPC64: Support for ABI_ELFv2. - Propagate HOTSPOT_BUILD_JOBS and PARALLEL_COMPILE_JOBS from the top-level make to the corresponding sub-makes. - Recent changes to ppc files, especially to ppc.ad file. - Recent improvements by SAP. @@ -441,7 +451,22 @@ - S8003853 opto: specify offset of IC load in java_to_interp stub. - S8005055: pass outputStream to more opto debug routines - S8006971 rt: Improve handling of memory ordering in taskqueue.hpp. + - S8016491: PPC64 (part 2): Clean up PPC defines. + - S8016586: PPC64 (part 3): basic changes for PPC64 + - S8016696: PPC64 (part 4): add relocation for trampoline stubs + - S8017313: PPC64 (part 6): stack handling improvements + - S8017317: PPC64 (part 7): cppInterpreter: implement support for biased locking + - S8019517: PPC64 (part 102): cppInterpreter: implement G1 support - S8019929: PPC64 (part 107): Extend ELF-decoder to support PPC64 function descriptor tables + - S8019973: PPC64 (part 11): Fix IA64 preprocessor conditionals on AIX. + - S8024344: PPC64 (part 112): C argument in register AND stack slot. + - S8024468: PPC64 (part 201): cppInterpreter: implement bytecode profiling + - S8033168: PPC64: gcc 4.8 warning in output_c.cpp + - S8035396: Introduce accessor for tmp_oop in frame. + - S8036767: PPC64: Support for little endian execution model + - S8036976: PPC64: implement the template interpreter + - S8037915: PPC64/AIX: Several smaller fixes + - S8042309: Some bugfixes for the ppc64 port - Several NIO fixes for AIX to pass JCK tests - shared assembler: fix DelayedConstant. - shared: Basic non-functional fixes needed for the ppc port. diff -r 72d6be4fa2c2 -r 97f337a7c17f configure.ac --- a/configure.ac Thu Apr 24 17:32:06 2014 +0100 +++ b/configure.ac Wed Jun 04 14:49:24 2014 +0100 @@ -1,4 +1,4 @@ -AC_INIT([icedtea], [2.5pre05], [distro-pkg-dev at openjdk.java.net]) +AC_INIT([icedtea], [2.5pre06], [distro-pkg-dev at openjdk.java.net]) AM_INIT_AUTOMAKE([1.9 tar-pax foreign]) AC_CONFIG_FILES([Makefile]) @@ -305,19 +305,8 @@ AC_LANG_POP([C++]) AM_CONDITIONAL([ENABLE_SYSTEMTAP], [test x$SDT_H_FOUND = xyes]) -AC_MSG_CHECKING([for absolute java home install dir]) -AC_ARG_WITH([abs-install-dir], - [AS_HELP_STRING([--with-abs-install-dir], - [The absolute path where the j2sdk-image dir will be installed])], - [if test "x${withval}" = x; then - ABS_JAVA_HOME_DIR="${abs_top_builddir}/${OPENJDK_BUILD_DIR}/j2sdk-image" - else - ABS_JAVA_HOME_DIR="${withval}" - fi], [ABS_JAVA_HOME_DIR="${abs_top_builddir}/${OPENJDK_BUILD_DIR}/j2sdk-image"]) -AC_MSG_RESULT([${ABS_JAVA_HOME_DIR}]) -ABS_CLIENT_LIBJVM_SO="${ABS_JAVA_HOME_DIR}/jre/lib/${INSTALL_ARCH_DIR}/client/libjvm.so" -ABS_SERVER_LIBJVM_SO="${ABS_JAVA_HOME_DIR}/jre/lib/${INSTALL_ARCH_DIR}/server/libjvm.so" -AC_SUBST(ABS_JAVA_HOME_DIR) +ABS_CLIENT_LIBJVM_SO="${prefix}/jre/lib/${INSTALL_ARCH_DIR}/client/libjvm.so" +ABS_SERVER_LIBJVM_SO="${prefix}/jre/lib/${INSTALL_ARCH_DIR}/server/libjvm.so" AC_SUBST(ABS_CLIENT_LIBJVM_SO) AC_SUBST(ABS_SERVER_LIBJVM_SO) AC_CONFIG_FILES([tapset/hotspot.stp]) diff -r 72d6be4fa2c2 -r 97f337a7c17f hotspot.map --- a/hotspot.map Thu Apr 24 17:32:06 2014 +0100 +++ b/hotspot.map Wed Jun 04 14:49:24 2014 +0100 @@ -1,3 +1,3 @@ # version url changeset sha256sum -default http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/hotspot df3f0e040c01 69aa69e5417933a62052389c2daf00a02224de719b2c69f0309cfcd4a8679797 +default http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/hotspot 3017276776bf 8e111a2364e5127c6ae2043a605a5ea8ec6220684a325fd3a69d1df4ae93868a aarch64 http://hg.openjdk.java.net/aarch64-port/jdk7u/hotspot f50993b6c38d 64c2d0bfa71d6eecf18ab28fd64d5bd79af096f77548d80de7953c306fd9c22c diff -r 72d6be4fa2c2 -r 97f337a7c17f patches/boot/jaxws-langtools-dependency.patch --- a/patches/boot/jaxws-langtools-dependency.patch Thu Apr 24 17:32:06 2014 +0100 +++ b/patches/boot/jaxws-langtools-dependency.patch Wed Jun 04 14:49:24 2014 +0100 @@ -1,6 +1,6 @@ diff -Nru openjdk-boot.orig/jaxws/build.properties openjdk-boot/jaxws/build.properties ---- openjdk-boot.orig/jaxws/build.properties 2014-01-30 19:01:55.000000000 +0000 -+++ openjdk-boot/jaxws/build.properties 2014-01-31 20:04:24.425553307 +0000 +--- openjdk-boot.orig/jaxws/build.properties 2014-04-29 21:54:42.000000000 +0100 ++++ openjdk-boot/jaxws/build.properties 2014-06-04 05:58:57.680029474 +0100 @@ -28,7 +28,8 @@ # other tools, and product versions of all the tools. # Override this path as needed, either on the command line or in @@ -23,8 +23,8 @@ javac.memoryMaximumSize=${javac.memoryMaximumSize}${line.separator}\ javac.source=${javac.source}${line.separator}\ diff -Nru openjdk-boot.orig/jaxws/build.xml openjdk-boot/jaxws/build.xml ---- openjdk-boot.orig/jaxws/build.xml 2014-01-31 20:03:12.768449571 +0000 -+++ openjdk-boot/jaxws/build.xml 2014-01-31 20:04:40.337798308 +0000 +--- openjdk-boot.orig/jaxws/build.xml 2014-06-04 05:57:06.998462083 +0100 ++++ openjdk-boot/jaxws/build.xml 2014-06-04 05:58:57.684029530 +0100 @@ -143,7 +143,7 @@ --> References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1753 --- Comment #5 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea7-2.5?cmd=changeset;node=97f337a7c17f author: Andrew John Hughes date: Wed Jun 04 14:49:24 2014 +0100 Bump to icedtea-2.5pre06. PR1753: Ant does not respect JAVA_HOME/jdk.home setting PR1757: register_method usage in sharkCompiler.cpp needs to be adjusted following S7196199 PR1781: NSS PKCS11 provider fails to handle multipart AES encryption S8038392, RH1064383: Generating prelink cache breaks JAVA 'jinfo' utility normal behavior RH1059925: RFE: Version Java libraries to allow using multiple Java versions with Linux capabilities enabled RH905128: [CRASH] OpenJDK-1.7.0 while using NSS security provider and kerberos S8016491: PPC64 (part 2): Clean up PPC defines. S8016586: PPC64 (part 3): basic changes for PPC64 S8016696: PPC64 (part 4): add relocation for trampoline stubs S8017313: PPC64 (part 6): stack handling improvements S8017317: PPC64 (part 7): cppInterpreter: implement support for biased locking S8019517: PPC64 (part 102): cppInterpreter: implement G1 support S8019973: PPC64 (part 11): Fix IA64 preprocessor conditionals on AIX. S8024344: PPC64 (part 112): C argument in register AND stack slot. S8024468: PPC64 (part 201): cppInterpreter: implement bytecode profiling S8033168: PPC64: gcc 4.8 warning in output_c.cpp S8035396: Introduce accessor for tmp_oop in frame. S8036767: PPC64: Support for little endian execution model S8036976: PPC64: implement the template interpreter S8037915: PPC64/AIX: Several smaller fixes S8042309: Some bugfixes for the ppc64 port 2014-06-04 Andrew John Hughes * INSTALL: Replace documentation of --with-abs-install-dir with --prefix. * Makefile.am: (CORBA_CHANGESET): Update to icedtea-2.5pre06 tag. (JAXP_CHANGESET): Likewise. (JAXWS_CHANGESET): Likewise. (JDK_CHANGESET): Likewise. (LANGTOOLS_CHANGESET): Likewise. (CORBA_SHA256SUM): Likewise. (JAXP_SHA256SUM): Likewise. (JAXWS_SHA256SUM): Likewise. (JDK_SHA256SUM): Likewise. (LANGTOOLS_SHA256SUM): Likewise. (ICEDTEA_ENV): Set INSTALL_LOCATION to prefix. * NEWS: Updated. * configure.ac: Bump to pre06. Drop abs-install-dir option and use prefix in ABS_CLIENT_LIBJVM_SO and ABS_SERVER_LIBJVM_SO instead. * hotspot.map: Update to icedtea-2.5pre06 tag. * patches/boot/jaxws-langtools-dependency.patch: Regenerated. * tapset/hotspot.stp.in, * tapset/hotspot_jni.stp.in, * tapset/jstack.stp.in: Replace ABS_JAVA_HOME_DIR with prefix. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Wed Jun 4 13:49:51 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Jun 2014 13:49:51 +0000 Subject: [Bug 1757] [IcedTea7] register_method usage in sharkCompiler.cpp needs to be adjusted following S7196199 In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1757 --- Comment #3 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea7-2.5?cmd=changeset;node=97f337a7c17f author: Andrew John Hughes date: Wed Jun 04 14:49:24 2014 +0100 Bump to icedtea-2.5pre06. PR1753: Ant does not respect JAVA_HOME/jdk.home setting PR1757: register_method usage in sharkCompiler.cpp needs to be adjusted following S7196199 PR1781: NSS PKCS11 provider fails to handle multipart AES encryption S8038392, RH1064383: Generating prelink cache breaks JAVA 'jinfo' utility normal behavior RH1059925: RFE: Version Java libraries to allow using multiple Java versions with Linux capabilities enabled RH905128: [CRASH] OpenJDK-1.7.0 while using NSS security provider and kerberos S8016491: PPC64 (part 2): Clean up PPC defines. S8016586: PPC64 (part 3): basic changes for PPC64 S8016696: PPC64 (part 4): add relocation for trampoline stubs S8017313: PPC64 (part 6): stack handling improvements S8017317: PPC64 (part 7): cppInterpreter: implement support for biased locking S8019517: PPC64 (part 102): cppInterpreter: implement G1 support S8019973: PPC64 (part 11): Fix IA64 preprocessor conditionals on AIX. S8024344: PPC64 (part 112): C argument in register AND stack slot. S8024468: PPC64 (part 201): cppInterpreter: implement bytecode profiling S8033168: PPC64: gcc 4.8 warning in output_c.cpp S8035396: Introduce accessor for tmp_oop in frame. S8036767: PPC64: Support for little endian execution model S8036976: PPC64: implement the template interpreter S8037915: PPC64/AIX: Several smaller fixes S8042309: Some bugfixes for the ppc64 port 2014-06-04 Andrew John Hughes * INSTALL: Replace documentation of --with-abs-install-dir with --prefix. * Makefile.am: (CORBA_CHANGESET): Update to icedtea-2.5pre06 tag. (JAXP_CHANGESET): Likewise. (JAXWS_CHANGESET): Likewise. (JDK_CHANGESET): Likewise. (LANGTOOLS_CHANGESET): Likewise. (CORBA_SHA256SUM): Likewise. (JAXP_SHA256SUM): Likewise. (JAXWS_SHA256SUM): Likewise. (JDK_SHA256SUM): Likewise. (LANGTOOLS_SHA256SUM): Likewise. (ICEDTEA_ENV): Set INSTALL_LOCATION to prefix. * NEWS: Updated. * configure.ac: Bump to pre06. Drop abs-install-dir option and use prefix in ABS_CLIENT_LIBJVM_SO and ABS_SERVER_LIBJVM_SO instead. * hotspot.map: Update to icedtea-2.5pre06 tag. * patches/boot/jaxws-langtools-dependency.patch: Regenerated. * tapset/hotspot.stp.in, * tapset/hotspot_jni.stp.in, * tapset/jstack.stp.in: Replace ABS_JAVA_HOME_DIR with prefix. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Wed Jun 4 13:49:55 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Jun 2014 13:49:55 +0000 Subject: [Bug 1781] [IcedTea7] NSS PKCS11 provider fails to handle multipart AES encryption In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1781 --- Comment #4 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea7-2.5?cmd=changeset;node=97f337a7c17f author: Andrew John Hughes date: Wed Jun 04 14:49:24 2014 +0100 Bump to icedtea-2.5pre06. PR1753: Ant does not respect JAVA_HOME/jdk.home setting PR1757: register_method usage in sharkCompiler.cpp needs to be adjusted following S7196199 PR1781: NSS PKCS11 provider fails to handle multipart AES encryption S8038392, RH1064383: Generating prelink cache breaks JAVA 'jinfo' utility normal behavior RH1059925: RFE: Version Java libraries to allow using multiple Java versions with Linux capabilities enabled RH905128: [CRASH] OpenJDK-1.7.0 while using NSS security provider and kerberos S8016491: PPC64 (part 2): Clean up PPC defines. S8016586: PPC64 (part 3): basic changes for PPC64 S8016696: PPC64 (part 4): add relocation for trampoline stubs S8017313: PPC64 (part 6): stack handling improvements S8017317: PPC64 (part 7): cppInterpreter: implement support for biased locking S8019517: PPC64 (part 102): cppInterpreter: implement G1 support S8019973: PPC64 (part 11): Fix IA64 preprocessor conditionals on AIX. S8024344: PPC64 (part 112): C argument in register AND stack slot. S8024468: PPC64 (part 201): cppInterpreter: implement bytecode profiling S8033168: PPC64: gcc 4.8 warning in output_c.cpp S8035396: Introduce accessor for tmp_oop in frame. S8036767: PPC64: Support for little endian execution model S8036976: PPC64: implement the template interpreter S8037915: PPC64/AIX: Several smaller fixes S8042309: Some bugfixes for the ppc64 port 2014-06-04 Andrew John Hughes * INSTALL: Replace documentation of --with-abs-install-dir with --prefix. * Makefile.am: (CORBA_CHANGESET): Update to icedtea-2.5pre06 tag. (JAXP_CHANGESET): Likewise. (JAXWS_CHANGESET): Likewise. (JDK_CHANGESET): Likewise. (LANGTOOLS_CHANGESET): Likewise. (CORBA_SHA256SUM): Likewise. (JAXP_SHA256SUM): Likewise. (JAXWS_SHA256SUM): Likewise. (JDK_SHA256SUM): Likewise. (LANGTOOLS_SHA256SUM): Likewise. (ICEDTEA_ENV): Set INSTALL_LOCATION to prefix. * NEWS: Updated. * configure.ac: Bump to pre06. Drop abs-install-dir option and use prefix in ABS_CLIENT_LIBJVM_SO and ABS_SERVER_LIBJVM_SO instead. * hotspot.map: Update to icedtea-2.5pre06 tag. * patches/boot/jaxws-langtools-dependency.patch: Regenerated. * tapset/hotspot.stp.in, * tapset/hotspot_jni.stp.in, * tapset/jstack.stp.in: Replace ABS_JAVA_HOME_DIR with prefix. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From aazores at redhat.com Wed Jun 4 14:48:24 2014 From: aazores at redhat.com (Andrew Azores) Date: Wed, 04 Jun 2014 10:48:24 -0400 Subject: [rfc][icedtea-web][policyeditor] Enhancement: added Rename, Copy, and Paste actions In-Reply-To: <538E4B21.8020403@redhat.com> References: <5388D9C7.3090006@redhat.com> <538E4B21.8020403@redhat.com> Message-ID: <538F31B8.9040103@redhat.com> On 06/03/2014 06:24 PM, Andrew Azores wrote: > On 05/30/2014 03:19 PM, Andrew Azores wrote: >> Hi, >> >> As alluded to in the subject, this patch adds three new actions to >> PolicyEditor. They are all available through the new Edit menu. The >> Rename action allows a codebase entry to be renamed, keeping all of >> the same permissions. The Copy and Paste actions can be used to >> duplicate the permissions of one codebase and grant them to a new >> codebase, which makes it easier to produce two codebase entries with >> very similar permissions granted. >> >> This patch also fixes a bug where removing a codebase only did so for >> the standard permissions map which models the checkboxes in the main >> PolicyEditor UI, but did not remove custom permissions granted to the >> codebase through CustomPolicyViewer. There are also some very minor >> refactors included, noted in the in-patch ChangeLog. >> >> Thanks, >> > > Attached is an updated version that applies cleanly to HEAD. > > Still not included are key accelerators or mnemonics for the new menu > items. I'm going to go through and redo all of them in a later patch. > > Thanks, > Very slight update. I noticed that the Rename action didn't ensure that a codebase wasn't renamed to an already existing other codebase, which would allow the already existing codebase to be deleted in favour of the newly renamed one. This is solved just by checking if the desired rename is already present in another codebase entry and, if so, re-prompting for a codebase name. Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: policyeditor-rename-copy-paste-3.patch Type: text/x-patch Size: 10103 bytes Desc: not available URL: From ldracz at redhat.com Wed Jun 4 15:56:52 2014 From: ldracz at redhat.com (Lukasz Dracz) Date: Wed, 4 Jun 2014 11:56:52 -0400 (EDT) Subject: [rfc][icedtea-web] PluginMessage test time zone In-Reply-To: <20140603144143.GC2405@redhat.com> References: <199700313.10013394.1401805318690.JavaMail.zimbra@redhat.com> <141484229.10013971.1401805395450.JavaMail.zimbra@redhat.com> <20140603144143.GC2405@redhat.com> Message-ID: <191556709.10594280.1401897412452.JavaMail.zimbra@redhat.com> ----- Original Message ----- > From: "Omair Majid" > To: "Lukasz Dracz" > Cc: distro-pkg-dev at openjdk.java.net > Sent: Tuesday, June 3, 2014 10:41:44 AM > Subject: Re: [rfc][icedtea-web] PluginMessage test time zone > > > An alternative is to explicitly set (and then restore) the locale using > Locale.setDefault() in a @Before (and restore in an @After) method. This > ensures the test always sees the same locale, irrespective of the system > locale. If you are dealing with timestamps, this is often an easier > approach to use. > Thank you for your suggestion, I have looked into this and implemented it in this way. > > +++ > > b/tests/netx/unit/net/sourceforge/jnlp/util/logging/JavaConsoleTest.java > > Tue Jun 03 10:18:24 2014 -0400 > > > + Date localized = new Date(); > > + localized.setTime(new SimpleDateFormat("EEE MMM dd HH:mm:ss ZZZ > > yyyy").parse(TEST_TIME).getTime()); > > Why not just: > > Date localized = new SimpleDateFormat(...).parse(...) > You're right that is better way. > Thanks, > Omair > > -- > PGP Key: 66484681 (http://pgp.mit.edu/) > Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 > I have attached the updated patch. Thank you, Lukasz Dracz -------------- next part -------------- A non-text attachment was scrubbed... Name: CreatePluginHeaderTestOkChanges-4.patch Type: text/x-patch Size: 4656 bytes Desc: not available URL: From andrew at icedtea.classpath.org Wed Jun 4 16:02:28 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 04 Jun 2014 16:02:28 +0000 Subject: /hg/release/icedtea7-forest-2.5: 7 new changesets Message-ID: changeset 472f5930e6cc in /hg/release/icedtea7-forest-2.5 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5?cmd=changeset;node=472f5930e6cc author: katleman date: Wed Apr 23 11:33:29 2014 -0700 Added tag jdk7u60-b16 for changeset 19a3f6f48c54 changeset 1d410e20c1bd in /hg/release/icedtea7-forest-2.5 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5?cmd=changeset;node=1d410e20c1bd author: katleman date: Tue Apr 29 12:11:40 2014 -0700 Added tag jdk7u60-b18 for changeset 472f5930e6cc changeset bdf5e6e2b7a1 in /hg/release/icedtea7-forest-2.5 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5?cmd=changeset;node=bdf5e6e2b7a1 author: katleman date: Wed Apr 30 13:48:27 2014 -0700 Added tag jdk7u60-b17 for changeset 472f5930e6cc changeset 2a7a5e774023 in /hg/release/icedtea7-forest-2.5 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5?cmd=changeset;node=2a7a5e774023 author: katleman date: Wed Apr 30 13:56:32 2014 -0700 Merge changeset ac5183999ba5 in /hg/release/icedtea7-forest-2.5 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5?cmd=changeset;node=ac5183999ba5 author: katleman date: Wed May 07 19:25:50 2014 -0700 Added tag jdk7u60-b19 for changeset 2a7a5e774023 changeset ece0e8cc8cfe in /hg/release/icedtea7-forest-2.5 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5?cmd=changeset;node=ece0e8cc8cfe author: katleman date: Tue May 20 12:11:27 2014 -0700 Added tag jdk7u60-b30 for changeset ac5183999ba5 changeset d42df0b6ea9d in /hg/release/icedtea7-forest-2.5 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5?cmd=changeset;node=d42df0b6ea9d author: andrew date: Wed Jun 04 15:54:22 2014 +0100 Merge jdk7u60-b30 diffstat: .hgtags | 24 + .jcheck/conf | 2 - README-ppc.html | 689 +++++++++++++++++++++++++++++++++++++++++++++++ common/bin/hgforest.sh | 190 ++++++++++++ get_source.sh | 4 +- make/Defs-internal.gmk | 15 +- make/hotspot-rules.gmk | 14 + make/jdk-rules.gmk | 4 + make/scripts/hgforest.sh | 144 --------- 9 files changed, 937 insertions(+), 149 deletions(-) diffs (truncated from 1246 to 500 lines): diff -r 19a3f6f48c54 -r d42df0b6ea9d .hgtags --- a/.hgtags Wed Apr 16 12:26:04 2014 -0700 +++ b/.hgtags Wed Jun 04 15:54:22 2014 +0100 @@ -50,6 +50,7 @@ 3ac6dcf7823205546fbbc3d4ea59f37358d0b0d4 jdk7-b73 2c88089b6e1c053597418099a14232182c387edc jdk7-b74 d1516b9f23954b29b8e76e6f4efc467c08c78133 jdk7-b75 +f0bfd9bd1a0e674288a8a4d17dcbb9e632b42e6d icedtea7-1.12 c8b63075403d53a208104a8a6ea5072c1cb66aab jdk7-b76 1f17ca8353babb13f4908c1f87d11508232518c8 jdk7-b77 ab4ae8f4514693a9fe17ca2fec0239d8f8450d2c jdk7-b78 @@ -63,6 +64,7 @@ 433a60a9c0bf1b26ee7e65cebaa89c541f497aed jdk7-b86 6b1069f53fbc30663ccef49d78c31bb7d6967bde jdk7-b87 82135c848d5fcddb065e98ae77b81077c858f593 jdk7-b88 +195fcceefddce1963bb26ba32920de67806ed2db icedtea7-1.13 7f1ba4459972bf84b8201dc1cc4f62b1fe1c74f4 jdk7-b89 425ba3efabbfe0b188105c10aaf7c3c8fa8d1a38 jdk7-b90 97d8b6c659c29c8493a8b2b72c2796a021a8cf79 jdk7-b91 @@ -111,6 +113,7 @@ ddc2fcb3682ffd27f44354db666128827be7e3c3 jdk7-b134 783bd02b4ab4596059c74b10a1793d7bd2f1c157 jdk7-b135 2fe76e73adaa5133ac559f0b3c2c0707eca04580 jdk7-b136 +d4aea1a51d625f5601c840714c7c94f1de5bc1af icedtea-1.14 7654afc6a29e43cb0a1343ce7f1287bf690d5e5f jdk7-b137 fc47c97bbbd91b1f774d855c48a7e285eb1a351a jdk7-b138 7ed6d0b9aaa12320832a7ddadb88d6d8d0dda4c1 jdk7-b139 @@ -123,6 +126,7 @@ 2d38c2a79c144c30cd04d143d83ee7ec6af40771 jdk7-b146 3ac30b3852876ccad6bd61697b5f9efa91ca7bc6 jdk7u1-b01 d91364304d7c4ecd34caffdba2b840aeb0d10b51 jdk7-b147 +3defd24c2671eb2e7796b5dc45b98954341d73a7 icedtea-2.0-branchpoint 34451dc0580d5c95d97b95a564e6198f36545d68 jdk7u1-b02 bf735d852f79bdbb3373c777eec3ff27e035e7ba jdk7u1-b03 f66a2bada589f4157789e6f66472954d2f1c114e jdk7u1-b04 @@ -141,6 +145,7 @@ b2deaf5bde5ec455a06786e8e2aea2e673be13aa jdk7u2-b12 c95558e566ac3605c480a3d070b1102088dab07f jdk7u2-b13 e30fd289f0019700575593ee4e1635fbc5c9a484 jdk7u2-b21 +a66b58021165f5a43e3974fe5fb9fead29824098 icedtea-2.1-branchpoint e30fd289f0019700575593ee4e1635fbc5c9a484 jdk7u3-b02 becd013ae6072a6633ba015fc4f5862fca589cee jdk7u3-b03 d64361a28584728aa25dca3781cffbaf4199e088 jdk7u3-b04 @@ -157,6 +162,7 @@ 2b07c262a8a9ff78dc908efb9d7b3bb099df9ac4 jdk7u4-b10 1abfee16e8cc7e3950052befa78dbf14a5ca9cfc jdk7u4-b11 e6f915094dccbba16df6ebeb002e6867392eda40 jdk7u4-b12 +e7886f5ad6cc837092386fa513e670d4a770456c icedtea-2.2-branchpoint 9108e3c2f07ffa218641d93893ac9928e95d213a jdk7u4-b13 d9580838fd08872fc0da648ecfc6782704b4aac1 jdk7u4-b14 008753000680a2008175d14b25373356f531aa07 jdk7u4-b15 @@ -186,11 +192,15 @@ 5f3645aa920d373b26d01b21f3b8b30fc4e10a0d jdk7u6-b10 cd64596c2dd7f195a6d38b6269bab23e7fad4361 jdk7u6-b11 61cfcee1d00cb4af288e640216af2bccbc3c9ef0 jdk7u6-b12 +cdab3bfb573b8832d539a8fa3e9c20f9f4965132 ppc-aix-port-b01 +06179726206f1411ed254f786be3477ca5763e37 ppc-aix-port-b02 +50f2b3cacf77467befb95b7d4fea15bbdb4d650a ppc-aix-port-b03 9b9a6d318e8aa5b8f0e42d2d3d2c0c34cb3f986d jdk7u6-b13 eff9ea1ca63df8656ebef9fedca0c647a210d807 jdk7u6-b14 528f1589f5f2adf18d5d21384ba668b9aa79841e jdk7u6-b15 7b77364eb09faac4c37ce9dd2c2308ca5525f18f jdk7u6-b16 b7c1b441d131c70278de299b5d1e59dce0755dc5 jdk7u6-b17 +0e7b94bd450d4270d4e9bd6c040c94fa4be714a6 icedtea-2.3-branchpoint 9c41f7b1460b106d18676899d24b6ea07de5a369 jdk7u6-b18 56291720b5e578046bc02761dcad2a575f99fd8e jdk7u6-b19 e79fa743fe5a801db4acc7a7daa68f581423e5d3 jdk7u6-b20 @@ -258,11 +268,13 @@ c3e42860af1cfd997fe1895594f652f0d1e9984e jdk7u12-b07 1a03ef4794dc8face4de605ae480d4c763e6b494 jdk7u12-b08 87cf81226f2012e5c21131adac7880f7e4da1133 jdk7u12-b09 +8a10a3c51f1cd88009008cf1b82071797b5f516d icedtea-2.4-branchpoint 745a15bb6d94765bb5c68048ff146590df9b8441 jdk7u14-b10 2d8fdaa5bb55b937028e385633ce58de4dcdb69c jdk7u14-b11 594dbbbb84add4aa310d51af7e298470d8cda458 jdk7u14-b12 ae5c1b29297dae0375277a0b6428c266d8d77c71 jdk7u14-b13 bb97ad0c9e5a0566e82b3b4bc43eabe680b89d97 jdk7u14-b14 +a20ac67cdbc245d1c14fec3061703232501f8334 ppc-aix-port-b04 b534282bd377e3886b9d0d4760f6fdaa1804bdd3 jdk7u14-b15 0e52db2d9bb8bc789f6c66f2cfb7cd2d3b0b16c6 jdk7u15-b01 0324fca94d073b3aad77658224f17679f25c18b1 jdk7u15-b02 @@ -379,6 +391,7 @@ f0cdb08a4624a623bdd178b04c4bf5a2fa4dc39a jdk7u45-b18 82f1f76c44124c31cb1151833fc15c13547ab280 jdk7u45-b30 f4373de4b75ba8d7f7a5d9c1f77e7884d9064b7e jdk7u45-b31 +11147a12bd8c6b02f98016a8d1151e56f42a43b6 jdk7u60-b00 b73c006b5d81528dfb4104a79b994b56675bf75d jdk7u45-b33 05742477836cb30235328181c8e6cae5d4bb06fd jdk7u45-b34 d0d5badd77abce0469830466ff7b910d3621d847 jdk7u45-b35 @@ -421,6 +434,8 @@ 11147a12bd8c6b02f98016a8d1151e56f42a43b6 jdk7u60-b00 88113cabda386320a087b288d43e792f523cc0ba jdk7u60-b01 6bdacebbc97f0a03be45be48a6d5b5cf2f7fe77d jdk7u60-b02 +ba9872fc05cc333e3960551ae9fa61d51b8d5e06 icedtea-2.5pre01 +fc5d15cc35b4b47fe403c57fe4bf224fcfe1426c icedtea-2.5pre02 87f2193da40d3a2eedca95108ae78403c7bdcd49 jdk7u60-b03 d4397128f8b65eb96287128575dd1a3da6a7825b jdk7u60-b04 ea798405286d97f643ef809abcb1e13024b4f951 jdk7u60-b05 @@ -431,6 +446,15 @@ 023f8eb40d371d5cb761f7e60ba7b396b3fdf886 jdk7u60-b10 798468b91bcbb81684aea8620dbb31eaceb24c6c jdk7u60-b11 e40360c10b2ce5b24b1eea63160b78e112aa5d3f jdk7u60-b12 +9e3f6f4585c5422e85c3348f585d2264272ab803 icedtea-2.5pre03 5e540a4d55916519f5604a422bfbb7a0967d0594 jdk7u60-b13 1ca6a368aec38ee91a41dc03899d7dc1037de44d jdk7u60-b14 a95b821a2627295b90fb4ae8f3b8bc2ff9c64acc jdk7u60-b15 +c6d37b19485e6a086b632d3ab4adef2588f079fb icedtea-2.5pre04 +716796f6c6f040dd53a75475e09bb19f6542146c icedtea-2.5pre06 +716796f6c6f040dd53a75475e09bb19f6542146c icedtea-2.5pre05 +19a3f6f48c541a8cf144eedffa0e52e108052e82 jdk7u60-b16 +472f5930e6cc8f307b5508995ee2edcf9913a852 jdk7u60-b18 +472f5930e6cc8f307b5508995ee2edcf9913a852 jdk7u60-b17 +2a7a5e774023944f291ee27ca5b3ad89e0e62aaf jdk7u60-b19 +ac5183999ba532c6b89f24fe01f6f0eb96799719 jdk7u60-b30 diff -r 19a3f6f48c54 -r d42df0b6ea9d .jcheck/conf --- a/.jcheck/conf Wed Apr 16 12:26:04 2014 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,2 +0,0 @@ -project=jdk7 -bugids=dup diff -r 19a3f6f48c54 -r d42df0b6ea9d README-ppc.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/README-ppc.html Wed Jun 04 15:54:22 2014 +0100 @@ -0,0 +1,689 @@ + + + + + + OpenJDK PowerPC/AIX Port + + + + + +

OpenJDK PowerPC Port

+ +

+This file contains some additional build instructions for +the OpenJDK PowerPC +Port for Linux and AIX. It complements the general +OpenJDK +README-builds.html file. +

+ +

Building on Linux/PPC64

+ +

+Currently, i.e. all versions after +revision ppc-aix-port-b01, +should successfully build and run on Linux/PPC64. Passing +CORE_BUILD=true on the build comamnd line will instruct the build +system to create an interpreter-only version of the VM which is in general about +an order of magnitude slower than a corresponding server VM with JIT +compiler. But it is still fully functional (e.g. it passes JVM98) and can even +be used to bootstrap itself. Starting with +revision ppc-aix-port-b03, +it is possible to build without CORE_BUILD=true and create a +JIT-enabled version of the VM (containing the C2 "Server" JIT +compiler). +

+ +

+Our current build system is a Power6 box running +SLES 10.3 with gcc version 4.1.2 (in general, more recent Linux distributions +should work as well). +

+ +

Building with the OpenJDK Linux/PPC64 port as bootstrap JDK

+ +

+A precompiled build of ppc-aix-port-b03 is available +for download. +With it and together with the other build dependencies fulfilled as described +in the +main +README-builds.html file you can build a debug version of the JDK from the +top-level source directory with the following command line (additionally +pass CORE_BUILD=true to build an interpreter-only version of the VM): +

+ +
+> make FT_CFLAGS=-m64 LANG=C \
+  ALT_BOOTDIR=<path_to>/jdk1.7.0-ppc-aix-port-b01 \
+  ARCH_DATA_MODEL=64 \
+  HOTSPOT_BUILD_JOBS=8 \
+  PARALLEL_COMPILE_JOBS=8 \
+  ALT_FREETYPE_LIB_PATH=/usr/local/lib \
+  ALT_FREETYPE_HEADERS_PATH=/usr/local/include \
+  ANT_HOME=/usr/local/apache-ant-1.8.4 \
+  VERBOSE=true \
+  CC_INTERP=true \
+  OPENJDK=true \
+  debug_build 2>&1 | tee build_ppc-aix-port_dbg.log
+
+ +

+After the build finished successfully the results can be found under +./build/linux-ppc64-debug/. Product and fastdebug versions can be +build with the make targets product_build and +fastdebug_build respectively (the build results will be located under +./build/linux-ppc64/ and ./build/linux-ppc64-fastdebug/). On +our transitional ppc-aix-port +project page you can find the build logs of our regular nightly makes. +

+ +

Problems with pre-installed ANT on newer Linux distros

+ +

+Notice that pre-installed ANT version (i.e. ANT versions installed with the +corresponding system package manager) may cause problems in conjunction with +our bootstrap JDK. This is because they use various scripts from the +jpackage project to locate specific Java +libraries and jar files. These scripts (in particular +set_jvm_dirs() +in /usr/share/java-utils/java-functions) expect that executing +"java -fullversion" will return a string starting with "java" but +our OpenJDK port returns a string starting with "openjdk" instead. +

+ +

+The problem can be easily solved by either editing the regular expressions +which parse the version string +in /usr/share/java-utils/java-functions (or the respective file of +your Linux distribution) or by installing a plain version of ANT +from http://ant.apache.org/bindownload.cgi +and passing its installation directory to the build via +the ANT_HOME environment variable. +

+ +

Building with the IBM JDK for Linux/PPC64 as bootstrap JDK

+ +

+It is also possible to build with an IBM +JDK 7 bootstrap JDK (after all this is how we initially bootstrapped the +port). But because the IBM JDK uses a different default implementation of the +idlj and rmic compilers you will have to add the following +two additional variables to the build command line to force the IBM JDK to +fall back to the default Sun/Oracle version of the mentioned compilers (notice +that the single quotes are crucial here to prevent the immediate expansion of +$(ALT_BOOTDIR)): +

+ +
+IDLJ='$(ALT_BOOTDIR)/bin/java -cp $(ALT_BOOTDIR)/lib/tools.jar com.sun.tools.corba.se.idl.toJavaPortable.Compile'
+RMIC='$(ALT_BOOTDIR)/bin/java -cp $(ALT_BOOTDIR)/lib/tools.jar sun.rmi.rmic.Main'
+
+ +

+We successfully used build pxp6470-20110827_01 of the IBM JDK but +there have been reports +on the ppc-aix-port-dev +mailing list that newer version of the IBM JDK (starting with build pxp6470sr1-20120330_01(SR1)) require some additional +tweaking. Neil Richards advised in that mail thread to "Just rename lib/ibmorbtools.jar to be something else. +As the tools.jar tries to chain onto a file of that name, and that file +contains the rmicext.properties files with the IBM-impl settings, moving +that file off to one side should consistently cause rmic invocations to +use the OpenJDK rmic IIOP generator. +Approaching things this way would also mean one would not need to use +the RMIC setting. +(NB: One still need to use the IDLJ setting to use the OpenJDK idlj +implementation, especially as moving the ibmorbtools.jar file aside also +eliminates the IBM idlj implementation from the classpath)." +

+ From andrew at icedtea.classpath.org Wed Jun 4 16:02:35 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 04 Jun 2014 16:02:35 +0000 Subject: /hg/release/icedtea7-forest-2.5/corba: 7 new changesets Message-ID: changeset b96d90694be8 in /hg/release/icedtea7-forest-2.5/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/corba?cmd=changeset;node=b96d90694be8 author: katleman date: Wed Apr 23 11:33:31 2014 -0700 Added tag jdk7u60-b16 for changeset e424fb845285 changeset fff8ad2e48e2 in /hg/release/icedtea7-forest-2.5/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/corba?cmd=changeset;node=fff8ad2e48e2 author: katleman date: Tue Apr 29 12:11:44 2014 -0700 Added tag jdk7u60-b18 for changeset b96d90694be8 changeset 576af541bb5f in /hg/release/icedtea7-forest-2.5/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/corba?cmd=changeset;node=576af541bb5f author: katleman date: Wed Apr 30 13:48:32 2014 -0700 Added tag jdk7u60-b17 for changeset b96d90694be8 changeset 5d1b39fe6894 in /hg/release/icedtea7-forest-2.5/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/corba?cmd=changeset;node=5d1b39fe6894 author: katleman date: Wed Apr 30 14:04:09 2014 -0700 Merge changeset 39734d26e279 in /hg/release/icedtea7-forest-2.5/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/corba?cmd=changeset;node=39734d26e279 author: katleman date: Wed May 07 19:25:52 2014 -0700 Added tag jdk7u60-b19 for changeset 5d1b39fe6894 changeset 549847eef0b4 in /hg/release/icedtea7-forest-2.5/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/corba?cmd=changeset;node=549847eef0b4 author: katleman date: Tue May 20 12:11:29 2014 -0700 Added tag jdk7u60-b30 for changeset 39734d26e279 changeset 03a1bf9a9e89 in /hg/release/icedtea7-forest-2.5/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/corba?cmd=changeset;node=03a1bf9a9e89 author: andrew date: Wed Jun 04 15:54:22 2014 +0100 Merge jdk7u60-b30 diffstat: .hgtags | 24 ++ .jcheck/conf | 2 - make/Makefile | 2 +- make/common/Defs-aix.gmk | 397 +++++++++++++++++++++++++++++++++++++++ make/common/shared/Defs-java.gmk | 8 +- make/common/shared/Platform.gmk | 12 + 6 files changed, 440 insertions(+), 5 deletions(-) diffs (truncated from 592 to 500 lines): diff -r e424fb845285 -r 03a1bf9a9e89 .hgtags --- a/.hgtags Wed Apr 16 12:26:06 2014 -0700 +++ b/.hgtags Wed Jun 04 15:54:22 2014 +0100 @@ -50,6 +50,7 @@ b751c528c55560cf2adeaeef24b39ca1f4d1cbf7 jdk7-b73 5d0cf59a3203b9f57aceebc33ae656b884987955 jdk7-b74 0fb137085952c8e47878e240d1cb40f14de463c4 jdk7-b75 +d728db3889da23d9f74e45154b9261a43b4acd8d icedtea7-1.12 937144222e2219939101b0129d26a872a7956b13 jdk7-b76 6881f0383f623394b5ec73f27a5f329ff55d0467 jdk7-b77 a7f7276b48cd74d8eb1baa83fbf3d1ef4a2603c8 jdk7-b78 @@ -63,6 +64,7 @@ 6253e28826d16cf1aecc39ce04c8de1f6bf2df5f jdk7-b86 09a41111a401d327f65e453384d976a10154d9ea jdk7-b87 39e14d2da687c7e592142137517aaf689544820f jdk7-b88 +e805b4155d76f76d40ffae36a74546f79218c539 icedtea7-1.13 bb4424c5e778b842c064a8b1aa902b35f4397654 jdk7-b89 56ce07b0eb47b93a98a72adef0f21e602c460623 jdk7-b90 bcd2fc089227559ac5be927923609fac29f067fa jdk7-b91 @@ -111,6 +113,7 @@ 918003855fa0dba5acf4bf1fe36526d2fc4c1ba8 jdk7-b134 e0b72ae5dc5e824b342801c8d1d336a55eb54e2c jdk7-b135 48ef0c712e7cbf272f47f9224db92a3c6a9e2612 jdk7-b136 +b62418551e20fa19fbf57c49d4378b7096809e60 icedtea-1.14 a66c01d8bf895261715955df0b95545c000ed6a8 jdk7-b137 78d8cf04697e9df54f7f11e195b7da29b8e345a2 jdk7-b138 60b074ec6fcf5cdf9efce22fdfb02326ed8fa2d3 jdk7-b139 @@ -123,6 +126,7 @@ 770227a4087e4e401fe87ccd19738440111c3948 jdk7-b146 36f0efbc66ef8ace3cca8aa8d0c88f3334080f8a jdk7u1-b01 73323cb3396260d93e0ab731fd2d431096ceed0f jdk7-b147 +d034cc90ecc266d78b87d1429c426669431fcc1f icedtea-2.0-branchpoint 9515a2d034b4727c11aeea36354a549fbc469c4f jdk7u1-b02 dd71cb354c573c1addcda269a7dd9144bfce9587 jdk7u1-b03 eaee830124aa453627591d8f9eccb39d7e040876 jdk7u1-b04 @@ -141,6 +145,7 @@ 56b02f8ef70391a67c9fa71157a8faafbdff4b74 jdk7u2-b12 456ff1f14b14ef8cfe47cef95c8094f8443fa092 jdk7u2-b13 62b846b0c3259cae732e75df50a1b180a2541178 jdk7u2-b21 +ecb9fc90dea4720f5c1ba1354364ed610f463e41 icedtea-2.1-branchpoint 1b648adeeefa9b1fb022459e8e4f590b736c0fdd jdk7u3-b02 730fa05af5a9d10a3a7a1626d248b96d09f8069f jdk7u3-b03 7f7a9b1addb4925f4f6e17f6eb5cce986c3b626d jdk7u3-b04 @@ -157,6 +162,7 @@ 23777178e7eb61859be3f7240561aa1034ff9221 jdk7u4-b10 bdc37f3c09b6008667aff77432bb6d31cbae945e jdk7u4-b11 fddc26b35a31884d64315cf7c296570245e9c481 jdk7u4-b12 +9ffa2340e018131c900e9cc12c9f3a10698aa191 icedtea-2.2-branchpoint f7119745898016a98cddab3e69efb41c5a5aaf78 jdk7u4-b13 6a262c36caebb43972cbae5032cff632ce31d2cc jdk7u4-b14 d9bf21b76f093abfe451880d5db29e4932b1e72e jdk7u4-b15 @@ -186,11 +192,15 @@ c9f6750370c9a99d149d73fd32c363d9959d19d1 jdk7u6-b10 a2089d3bf5a00be50764e1ced77e270ceddddb5d jdk7u6-b11 34354c623c450dc9f2f58981172fa3d66f51e89c jdk7u6-b12 +325250aef90af0f5cd04b141f83a81638ae1e478 ppc-aix-port-b01 +325250aef90af0f5cd04b141f83a81638ae1e478 ppc-aix-port-b02 +325250aef90af0f5cd04b141f83a81638ae1e478 ppc-aix-port-b03 76bee3576f61d4d96fef118902d5d237a4f3d219 jdk7u6-b13 731d5dbd7020dca232023f2e6c3e3e22caccccfb jdk7u6-b14 8da4015f405b0fa267cca4780d20cd012d0a9cb4 jdk7u6-b15 7674c7ed99a53a8dcf654ab8a6963199ef562a08 jdk7u6-b16 e4a676826cb3fe2f84e19105a027c15c097f98f1 jdk7u6-b17 +68c35d6e9548bc7be9c3ce73774c6d53b0d72d3b icedtea-2.3-branchpoint b3d767dbd67f518168c561e078be5e860bc60cfc jdk7u6-b18 5c046510b9308bf514f078d48fcf0112a376ad41 jdk7u6-b19 f0c51b691d34b4a06c1e22c7960be71e0d0ee84e jdk7u6-b20 @@ -258,11 +268,13 @@ 7969d5f219248de033c296ef75fff7aae7545bbd jdk7u12-b07 6f4d4c7a254d4aca3a7f2caabb75e6559a290393 jdk7u12-b08 c8c261b2220c5b966c07784682057a915defb0da jdk7u12-b09 +efbe4cef7fe2d46a197c39eb7a94e127e0bb4c5d icedtea-2.4-branchpoint 3877f9ae971eefbfbbcb16f2ff79c72ac10ac4bd jdk7u14-b10 3bd891cd98773cf841ad65f52f25e3e6fa185cef jdk7u14-b11 fbb83600db33de6211fc58ba2a2bbb6b356aa9c2 jdk7u14-b12 cd7aaec5accf3f8fbb693153f8d9be846e0f8a05 jdk7u14-b13 9e8bde2586a1a7fd95f654c7d0043d1eb18f0793 jdk7u14-b14 +70af8b7907a504f7b6e4be1882054ca9f3ad1875 ppc-aix-port-b04 2b1fcbe4e78557822b2269b43c8b589aa1f0b522 jdk7u14-b15 622e370c2d1e8c5f48d8f520f486dc6fcc1239c5 jdk7u15-b01 30188388048333e213a839363329ac2cb0cf0e0d jdk7u15-b02 @@ -381,6 +393,7 @@ 80f65a8f58500ef5d93ddf4426d9c1909b79fadf jdk7u45-b18 a15e4a54504471f1e34a494ed66235870722a0f5 jdk7u45-b30 b7fb35bbe70d88eced3725b6e9070ad0b5b621ad jdk7u45-b31 +c5b5886004e6446b8b27ccdc1fd073354c1dc614 jdk7u60-b00 d641ac83157ec86219519c0cbaf3122bdc997136 jdk7u45-b33 aa24e046a2da95637257c9effeaabe254db0aa0b jdk7u45-b34 fab1423e6ab8ecf36da8b6bf2e454156ec701e8a jdk7u45-b35 @@ -423,6 +436,8 @@ c5b5886004e6446b8b27ccdc1fd073354c1dc614 jdk7u60-b00 a531112cc6d0b0a1e7d4ffdaa3ba53addcd25cf4 jdk7u60-b01 d81370c5b863acc19e8fb07315b1ec687ac1136a jdk7u60-b02 +47343904e95d315b5d2828cb3d60716e508656a9 icedtea-2.5pre01 +16906c5a09dab5f0f081a218f20be4a89137c8b1 icedtea-2.5pre02 d7e98ed925a3885380226f8375fe109a9a25397f jdk7u60-b03 1a3aa4637b80fabbd069ae88c241efcb3520fc49 jdk7u60-b04 753698a910167cc29c01490648a2adbcea1314cc jdk7u60-b05 @@ -432,7 +447,16 @@ 7abca119f9543489280d560dc11256d439004f0f jdk7u60-b09 1861f1f599728c4f15a85a5980edef916552747b jdk7u60-b10 a429ff635395688ded6c52cd21c0b4ce75e62168 jdk7u60-b11 +3a7c12d7b1cfef7c1ad17159154c917095f68a4d icedtea-2.5pre03 d581875525aaf618afe901da31d679195ee35f4b jdk7u60-b12 2c8ba5f9487b0ac085874afd38f4c10a4127f62c jdk7u60-b13 02bdeb33754315f589bd650dde656d2c9947976d jdk7u60-b14 e5946b2cf82bdea3a4b85917e903168e65a543a7 jdk7u60-b15 +e120608ed3994b1597a6e2af96035518027d132b icedtea-2.5pre04 +1650f85c0dee5051cccb9d9db181a13fb4423dcb icedtea-2.5pre06 +fc55c94710a409afd5d89d90e958d3e37ccdc4f3 icedtea-2.5pre05 +e424fb8452851b56db202488a4e9a283934c4887 jdk7u60-b16 +b96d90694be873372cc417b38b01afed6ac1b239 jdk7u60-b18 +b96d90694be873372cc417b38b01afed6ac1b239 jdk7u60-b17 +5d1b39fe68944cff6380db56fbe2fbaa28091bf6 jdk7u60-b19 +39734d26e279098fae06cee5a127e126090ddec9 jdk7u60-b30 diff -r e424fb845285 -r 03a1bf9a9e89 .jcheck/conf --- a/.jcheck/conf Wed Apr 16 12:26:06 2014 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,2 +0,0 @@ -project=jdk7 -bugids=dup diff -r e424fb845285 -r 03a1bf9a9e89 make/Makefile --- a/make/Makefile Wed Apr 16 12:26:06 2014 -0700 +++ b/make/Makefile Wed Jun 04 15:54:22 2014 +0100 @@ -150,7 +150,7 @@ #----- bin.zip -BIN_ZIP_FILES = $(BUILD_DIR/lib/orb.idl $(BUILD_DIR)/lib/ir.idl +BIN_ZIP_FILES = $(BUILD_DIR)/lib/orb.idl $(BUILD_DIR)/lib/ir.idl BIN_ZIP = $(LIB_DIR)/bin.zip $(BIN_ZIP): $(BIN_ZIP_FILES) diff -r e424fb845285 -r 03a1bf9a9e89 make/common/Defs-aix.gmk --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/make/common/Defs-aix.gmk Wed Jun 04 15:54:22 2014 +0100 @@ -0,0 +1,397 @@ +# +# Copyright (c) 1995, 2012, Oracle and/or its affiliates. All rights reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. Oracle designates this +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code 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 +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# + +# +# Makefile to specify compiler flags for programs and libraries +# targeted to Solaris. Should not contain any rules. +# +# WARNING: This file is shared with other workspaces. +# So when it includes other files, it must use JDK_TOPDIR. +# + +# Warning: the following variables are overridden by Defs.gmk. Set +# values will be silently ignored: +# CFLAGS (set $(OTHER_CFLAGS) instead) +# CPPFLAGS (set $(OTHER_CPPFLAGS) instead) +# CXXFLAGS (set $(OTHER_CXXFLAGS) instead) +# LDFLAGS (set $(OTHER_LDFAGS) instead) +# LDLIBS (set $(EXTRA_LIBS) instead) +# LDLIBS_COMMON (set $(EXTRA_LIBS) instead) +# LINTFLAGS (set $(OTHER_LINTFLAGS) instead) +# +# Note: CPPFLAGS are used in C and C++ compiles. +# + +# Get shared JDK settings +include $(JDK_MAKE_SHARED_DIR)/Defs.gmk + +# define these to avoid picking up ones from aliases or from +# non-standard locations +# + +AR = $(USRBIN_PATH)ar +BASENAME = $(UNIXCOMMAND_PATH)basename +CAT = $(UNIXCOMMAND_PATH)cat +# SAPJVM: Moved to shared/Compiler-aix.gmk +#CC = $(COMPILER_PATH)xlc_r +#CPP = $(COMPILER_PATH)xlc_r -E +#CXX = $(COMPILER_PATH)xlC_r +CD = cd # intrinsic unix command +CHMOD = $(UNIXCOMMAND_PATH)chmod +CMP = $(USRBIN_PATH)cmp +COMPRESS = $(USRBIN_PATH)compress +CP = $(UNIXCOMMAND_PATH)cp +CPIO = $(UNIXCOMMAND_PATH)cpio +CUT = $(USRBIN_PATH)cut +DATE = $(UNIXCOMMAND_PATH)date +DF = $(UNIXCOMMAND_PATH)df +DIFF = $(USRBIN_PATH)diff +DIRNAME = $(USRBIN_PATH)dirname +ECHO = echo # intrinsic unix command, with backslash-escaped character interpretation +EGREP = $(UNIXCOMMAND_PATH)egrep +EXPR = $(USRBIN_PATH)expr + +FIND = $(UNIXCOMMAND_PATH)find + +HEAD = $(USRBIN_PATH)head +GREP = $(UNIXCOMMAND_PATH)grep +GUNZIP = $(UNIXCOMMAND_PATH)gunzip +LEX = $(USRBIN_PATH)lex +LN = $(UNIXCOMMAND_PATH)ln +LS = $(UNIXCOMMAND_PATH)ls +M4 = $(USRBIN_PATH)m4 +MKDIR = $(UNIXCOMMAND_PATH)mkdir +MV = $(UNIXCOMMAND_PATH)mv +NAWK = $(USRBIN_PATH)awk +PWD = $(UNIXCOMMAND_PATH)pwd +#RM is defined by GNU Make as 'rm -f' +RMDIR = $(UNIXCOMMAND_PATH)rmdir +RPM = $(UNIXCOMMAND_PATH)rpm +SED = $(UNIXCOMMAND_PATH)sed +SH = $(UNIXCOMMAND_PATH)sh +SORT = $(UNIXCOMMAND_PATH)sort +STRIP = $(USRBIN_PATH)strip +TAIL = $(USRBIN_PATH)tail + +# SAPJVM: catch (gnu) tool by PATH environment variable +TAR = /usr/local/bin/tar + +TEST = $(USRBIN_PATH)test +TOUCH = $(UNIXCOMMAND_PATH)touch +TR = $(USRBIN_PATH)tr +TRUE = $(UNIXCOMMAND_PATH)true +UNAME = $(UNIXCOMMAND_PATH)uname +UNIQ = $(USRBIN_PATH)uniq +UNZIPSFX = $(USRBIN_PATH)unzipsfx +YACC = $(USRBIN_PATH)yacc + +# SAPJVM: catch (gnu) tool by PATH environment variable +ZIPEXE = $(UNIXCOMMAND_PATH)zip + +OS_VERSION = $(shell $(UNAME) -v) +OS_NAME = aix + +ARCH_DATA_MODEL=64 + +LIBARCH = ppc64 + +# Value of Java os.arch property +ARCHPROP = $(LIBARCH) + +BINDIR = $(OUTPUTDIR)/bin + +# where is unwanted output to be delivered? +DEV_NULL = /dev/null +export DEV_NULL + +CLASSPATH_SEPARATOR = : + +ifndef PLATFORM_SRC + PLATFORM_SRC = $(BUILDDIR)/../src/solaris +endif # PLATFORM_SRC + +# Location of the various .properties files specific to Linux platform +ifndef PLATFORM_PROPERTIES + PLATFORM_PROPERTIES = $(BUILDDIR)/../src/solaris/lib +endif # PLATFORM_SRC + +# Platform specific closed sources +ifndef OPENJDK + ifndef CLOSED_PLATFORM_SRC + CLOSED_PLATFORM_SRC = $(BUILDDIR)/../src/closed/solaris + endif +endif + +# SAPJVM: Set the source for the platform dependent sources of express +SAPJVMEXPRESS_PLATFORM_SRC=$(JDK_TOPDIR)/../../common/j2se/src/solaris + +# platform specific include files +PLATFORM_INCLUDE_NAME = $(PLATFORM) +PLATFORM_INCLUDE = $(INCLUDEDIR)/$(PLATFORM_INCLUDE_NAME) + +# SAPJVM: OBJECT_SUFFIX, LIBRARY_SUFFIX, EXE_SUFFICS etc. are set in +# j2se/make/common/shared/Platform.gmk . Just override those which differ for AIX. +# suffix used for make dependencies files. +# SAPJVM AIX: -qmakedep outputs .u, not .d +override DEPEND_SUFFIX = u +# suffix used for lint files +LINT_SUFFIX = ln +# The suffix applied to the library name for FDLIBM +FDDLIBM_SUFFIX = a +# The suffix applied to scripts (.bat for windows, nothing for unix) +SCRIPT_SUFFIX = +# CC compiler object code output directive flag value +CC_OBJECT_OUTPUT_FLAG = -o #trailing blank required! +CC_PROGRAM_OUTPUT_FLAG = -o #trailing blank required! + +# On AIX we don't have any issues using javah and javah_g. +JAVAH_SUFFIX = $(SUFFIX) + +# +# Default optimization +# + +ifndef OPTIMIZATION_LEVEL + ifeq ($(PRODUCT), java) + OPTIMIZATION_LEVEL = HIGHER + else + OPTIMIZATION_LEVEL = LOWER + endif +endif +ifndef FASTDEBUG_OPTIMIZATION_LEVEL + FASTDEBUG_OPTIMIZATION_LEVEL = LOWER +endif + +CC_OPT/LOWER = -O2 +CC_OPT/HIGHER = -O3 + +CC_OPT = $(CC_OPT/$(OPTIMIZATION_LEVEL)) + +# +# Selection of warning messages +# +CFLAGS_SHARED_OPTION=-qmkshrobj +CXXFLAGS_SHARED_OPTION=-qmkshrobj + +# +# If -Xa is in CFLAGS_COMMON it will end up ahead of $(POPT) for the +# optimized build, and that ordering of the flags completely freaks +# out cc. Hence, -Xa is instead in each CFLAGS variant. +# The extra options to the C++ compiler prevent it from: +# - adding runpath (dump -Lv) to *your* C++ compile install dir +# - adding stubs to various things such as thr_getspecific (hence -nolib) +# - creating Templates.DB in current directory (arch specific) +CFLAGS_COMMON = -qchars=signed +PIC_CODE_LARGE = -qpic=large +PIC_CODE_SMALL = -qpic=small +GLOBAL_KPIC = $(PIC_CODE_LARGE) +CFLAGS_COMMON += $(GLOBAL_KPIC) $(GCC_WARNINGS) +# SAPJVM: +# save compiler options into object file +CFLAGS_COMMON += -qsaveopt + +# SAPJVM +# preserve absolute source file infos in debug infos +CFLAGS_COMMON += -qfullpath + +# SAPJVM +# We want to be able to debug an opt build as well. +CFLAGS_OPT = -g $(POPT) +CFLAGS_DBG = -g + +CXXFLAGS_COMMON = $(GLOBAL_KPIC) -DCC_NOEX $(GCC_WARNINGS) +# SAPJVM +# We want to be able to debug an opt build as well. +CXXFLAGS_OPT = -g $(POPT) +CXXFLAGS_DBG = -g + +# FASTDEBUG: Optimize the code in the -g versions, gives us a faster debug java +ifeq ($(FASTDEBUG), true) + CFLAGS_DBG += -O2 + CXXFLAGS_DBG += -O2 +endif + +CPP_ARCH_FLAGS = -DARCH='"$(ARCH)"' + +# Alpha arch does not like "alpha" defined (potential general arch cleanup issue here) +ifneq ($(ARCH),alpha) + CPP_ARCH_FLAGS += -D$(ARCH) +else + CPP_ARCH_FLAGS += -D_$(ARCH)_ +endif + +# SAPJVM. turn `=' into `+='. +CPPFLAGS_COMMON += -D$(ARCH) -DARCH='"$(ARCH)"' -DAIX $(VERSION_DEFINES) \ + -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -D_REENTRANT + +# SAPJVM: AIX port: zip lib +CPPFLAGS_COMMON += -DSTDC + +# turn on USE_PTHREADS +CPPFLAGS_COMMON += -DUSE_PTHREADS +CFLAGS_COMMON += -DUSE_PTHREADS + +CFLAGS_COMMON += -q64 +CPPFLAGS_COMMON += -q64 + +# SAPJVM. define PPC64 +CFLAGS_COMMON += -DPPC64 +CPPFLAGS_COMMON += -DPPC64 + +# SAPJVM +LDFLAGS_COMMON += -b64 + +# SAPJVM: enable dynamic runtime linking & strip the absolute paths from the coff section +LDFLAGS_COMMON += -brtl -bnolibpath + +# SAPJVM: Additional link parameters for AIX +LDFLAGS_COMMON += -liconv + +CPPFLAGS_OPT = +CPPFLAGS_DBG += -DDEBUG + +LDFLAGS_COMMON += -L$(LIBDIR)/$(LIBARCH) +LDFLAGS_OPT = +LDFLAGS_DBG = + +# SAPJVM +# Export symbols +OTHER_LDFLAGS += -bexpall + +# +# Post Processing of libraries/executables +# +ifeq ($(VARIANT), OPT) + ifneq ($(NO_STRIP), true) + ifneq ($(DEBUG_BINARIES), true) + # Debug 'strip -g' leaves local function Elf symbols (better stack + # traces) + # SAPJVM + # We want to be able to debug an opt build as well. + # POST_STRIP_PROCESS = $(STRIP) -g + endif + endif +endif + +# javac Boot Flags +JAVAC_BOOT_FLAGS = -J-Xmx128m + +# +# Use: ld $(LD_MAPFILE_FLAG) mapfile *.o +# +LD_MAPFILE_FLAG = -Xlinker --version-script -Xlinker + +# +# Support for Quantify. +# +ifdef QUANTIFY +QUANTIFY_CMD = quantify +QUANTIFY_OPTIONS = -cache-dir=/tmp/quantify -always-use-cache-dir=yes +LINK_PRE_CMD = $(QUANTIFY_CMD) $(QUANTIFY_OPTIONS) +endif + +# +# Path and option to link against the VM, if you have to. Note that +# there are libraries that link against only -ljava, but they do get +# -L to the -ljvm, this is because -ljava depends on -ljvm, whereas +# the library itself should not. +# +VM_NAME = server +JVMLIB = -L$(LIBDIR)/$(LIBARCH)/$(VM_NAME) -ljvm$(SUFFIX) +JAVALIB = -ljava$(SUFFIX) $(JVMLIB) + +# Part of INCREMENTAL_BUILD mechanism. +# Compiler emits things like: path/file.o: file.h +# We want something like: relative_path/file.o relative_path/file.d: file.h +CC_DEPEND = -qmakedep +#CC_DEPEND_FILTER = $(SED) -e 's!$*\.$(OBJECT_SUFFIX)!$(dir $@)& $(dir $@)$*.$(DEPEND_SUFFIX)!g' +CC_DEPEND_FILTER = $(SED) -e '/:[ ]*[/]/d' -e 's!$*\.$(OBJECT_SUFFIX)!$(dir $@)& $(dir $@)$*.$(DEPEND_SUFFIX)!g' | $(SORT) -u + +# Runtime graphics library search paths... +OPENWIN_RUNTIME_LIB = +AWT_RUNPATH = + +# +# We want to privatize JVM symbols on Solaris. This is so the user can +# write a function called FindClass and this should not override the +# FindClass that is inside the JVM. At this point in time we are not +# concerned with other JNI libraries because we hope that there will +# not be as many clashes there. +# +PRIVATIZE_JVM_SYMBOLS = false + +USE_PTHREADS = true +#override ALT_CODESET_KEY = _NL_CTYPE_CODESET_NAME +override AWT_RUNPATH = +override HAVE_ALTZONE = false +override HAVE_FILIOH = false +override HAVE_GETHRTIME = false +override HAVE_GETHRVTIME = false +override HAVE_SIGIGNORE = true +override LEX_LIBRARY = -lfl +ifeq ($(STATIC_CXX),true) +override LIBCXX = -Wl,-bstatic -lc_r -Wl,-bdynamic +else +override LIBCXX = +endif +override LIBPOSIX4 = +override LIBSOCKET = +override LIBNSL = +override LIBTHREAD = +override MOOT_PRIORITIES = true From andrew at icedtea.classpath.org Wed Jun 4 16:03:05 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 04 Jun 2014 16:03:05 +0000 Subject: /hg/release/icedtea7-forest-2.5/jaxp: 7 new changesets Message-ID: changeset ba6b0b5dfe5a in /hg/release/icedtea7-forest-2.5/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/jaxp?cmd=changeset;node=ba6b0b5dfe5a author: katleman date: Wed Apr 23 11:33:43 2014 -0700 Added tag jdk7u60-b16 for changeset fefd2d5c524b changeset 836af689a1e5 in /hg/release/icedtea7-forest-2.5/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/jaxp?cmd=changeset;node=836af689a1e5 author: katleman date: Tue Apr 29 12:12:51 2014 -0700 Added tag jdk7u60-b18 for changeset ba6b0b5dfe5a changeset 9678a1570726 in /hg/release/icedtea7-forest-2.5/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/jaxp?cmd=changeset;node=9678a1570726 author: katleman date: Wed Apr 30 13:48:54 2014 -0700 Added tag jdk7u60-b17 for changeset ba6b0b5dfe5a changeset 581752d32aeb in /hg/release/icedtea7-forest-2.5/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/jaxp?cmd=changeset;node=581752d32aeb author: katleman date: Wed Apr 30 14:06:00 2014 -0700 Merge changeset cef2dec8b5d7 in /hg/release/icedtea7-forest-2.5/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/jaxp?cmd=changeset;node=cef2dec8b5d7 author: katleman date: Wed May 07 19:26:26 2014 -0700 Added tag jdk7u60-b19 for changeset 581752d32aeb changeset a34a43efb862 in /hg/release/icedtea7-forest-2.5/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/jaxp?cmd=changeset;node=a34a43efb862 author: katleman date: Tue May 20 12:11:41 2014 -0700 Added tag jdk7u60-b30 for changeset cef2dec8b5d7 changeset f4ad8e860eaf in /hg/release/icedtea7-forest-2.5/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/jaxp?cmd=changeset;node=f4ad8e860eaf author: andrew date: Wed Jun 04 15:54:23 2014 +0100 Merge jdk7u60-b30 diffstat: .hgtags | 24 ++++++++++++++++++++++++ .jcheck/conf | 2 -- make/Makefile | 4 ++-- 3 files changed, 26 insertions(+), 4 deletions(-) diffs (141 lines): diff -r fefd2d5c524b -r f4ad8e860eaf .hgtags --- a/.hgtags Wed Apr 16 12:26:20 2014 -0700 +++ b/.hgtags Wed Jun 04 15:54:23 2014 +0100 @@ -50,6 +50,7 @@ feb05980f9f2964e6bc2b3a8532f9b3054c2289b jdk7-b73 ea7b88c676dd8b269bc858a4a17c14dc96c8aed1 jdk7-b74 555fb78ee4cebed082ca7ddabff46d2e5b4c9026 jdk7-b75 +fb68fd18eb9f9d94bd7f307097b98a5883018da8 icedtea7-1.12 233a4871d3364ec305efd4a58cfd676620a03a90 jdk7-b76 bfadab8c7b1bf806a49d3e1bc19ec919717f057a jdk7-b77 7a12d3789e1b07a560fc79568b991818d617ede2 jdk7-b78 @@ -63,6 +64,7 @@ 81c0f115bbe5d3bcf59864465b5eca5538567c79 jdk7-b86 8b493f1aa136d86de0885fcba15262c4fa2b1412 jdk7-b87 d8ebd15910034f2ba50b2f129f959f86cca01419 jdk7-b88 +826bafcb6c4abbf24887bfc5a78868e13cddd068 icedtea7-1.13 d2818fd2b036f3b3154a9a7de41afcf4ac679c1b jdk7-b89 c5d932ee326d6f7fd4634b11c7185ea82d184df2 jdk7-b90 b89b2c3044a298d542f84a2e9d957202b7d8cdb9 jdk7-b91 @@ -111,6 +113,7 @@ d56b326ae0544fc16c3e0d0285876f3c82054db2 jdk7-b134 4aa9916693dc1078580c1865e6f2584046851e5a jdk7-b135 1759daa85d33800bd578853f9531f9de73f70fc7 jdk7-b136 +1c2f25bf36b1d43920e94fb82a0afdafd29b1735 icedtea-1.14 1d87f7460cde7f8f30af668490f82b52b879bfd8 jdk7-b137 be3758943770a0a3dd4be6a1cb4063507c4d7062 jdk7-b138 28c7c0ed2444607829ba11ad827f8d52197a2830 jdk7-b139 @@ -123,6 +126,7 @@ bcd31fa1e3c6f51b4fdd427ef905188cdac57164 jdk7-b146 067fb18071e3872698f6218724958bd0cebf30a3 jdk7u1-b01 fc268cd1dd5d2e903ccd4b0275e1f9c2461ed30c jdk7-b147 +b8d01501956a0d41f5587ff1bebbfe5a9b8fea5a icedtea-2.0-branchpoint 104ca42e1e7ca66b074a4619ce6420f15d8f454d jdk7u1-b02 64e323faadf65018c1ffc8bb9c97f7b664e87347 jdk7u1-b03 2256c20e66857f80cacda14ffdbc0979c929d7f8 jdk7u1-b04 @@ -141,6 +145,7 @@ 0e61ef309edd2deb71f53f2bdaf6dcff1c80bfb8 jdk7u2-b12 d9ac427e5149d1db12c6f3e4aa4280587c06aed5 jdk7u2-b13 0efaf5c97fba2ee7864240efaa0df651a2635ae5 jdk7u2-b21 +7300d2ab9fb2068250a96ca4afc481c4beb6a42b icedtea-2.1-branchpoint 0efaf5c97fba2ee7864240efaa0df651a2635ae5 jdk7u3-b02 604dd391203960d0028fc95bc70b0ae161e09d99 jdk7u3-b03 551c076358f6691999f613db9b155c83ec9a648d jdk7u3-b04 @@ -157,6 +162,7 @@ 7a37651d304de62b18b343b3ae675ab1b08fc5fe jdk7u4-b10 3fbd87d50fbf4de3987e36ec5f3e8ce1c383ce3d jdk7u4-b11 b4e5df5b18bb75db15ed97da02e5df086d2c7930 jdk7u4-b12 +c51876b27811ba0f6ea3409ba19d357b7400908a icedtea-2.2-branchpoint 7d18bccaec3781f3d4f2d71879f91e257db2f0f7 jdk7u4-b13 82c5b3166b3194e7348b2a9d146b6760c9a77128 jdk7u4-b14 36490d49683f7be9d8fbbe1f8eefa1fe9fe550fa jdk7u5-b01 @@ -186,11 +192,15 @@ f4e80156296e43182a0fea5f54032d8c0fd0b41f jdk7u6-b10 5078a73b3448849f3328af5e0323b3e1b8d2d26c jdk7u6-b11 c378e596fb5b2ebeb60b89da7ad33f329d407e2d jdk7u6-b12 +15b71daf5e69c169fcbd383c0251cfc99e558d8a ppc-aix-port-b01 +15b71daf5e69c169fcbd383c0251cfc99e558d8a ppc-aix-port-b02 +15b71daf5e69c169fcbd383c0251cfc99e558d8a ppc-aix-port-b03 15b71daf5e69c169fcbd383c0251cfc99e558d8a jdk7u6-b13 da79c0fdf9a8b5403904e6ffdd8f5dc335d489d0 jdk7u6-b14 94474d6f28284a1ef492984dd6d6f66f8787de80 jdk7u6-b15 0b329a8d325b6a58d89c6042dac62ce5852380ab jdk7u6-b16 5eb867cdd08ca299fe03b31760acd57aac2b5673 jdk7u6-b17 +445dd0b578fc2ed12c539eb6f9a71cbd40bed4f6 icedtea-2.3-branchpoint 1c4b9671de5c7ed5713f55509cb2ada38b36dffe jdk7u6-b18 3ba4c395d2cf973c8c603b2aedc846bd4ae54656 jdk7u6-b19 4f7b77cc3b252098f52a8f30a74f603783a2e0f1 jdk7u6-b20 @@ -258,12 +268,14 @@ 1b914599a6d5560e743b9fecd390924ed0bf7d15 jdk7u12-b07 427a603569db59f61721e709fcb8a73390d468ae jdk7u12-b08 366ebbf581df0134d9039b649abc315e87f23772 jdk7u12-b09 +14adb683be4ebc49ee729f0253d012795a4a2ae4 icedtea-2.4-branchpoint 23191c790e12841f81ac1cf956e7dbc0b45914ee jdk7u14-b10 825eda7553590ce19eb4fa0686c4405d97daafdb jdk7u14-b11 560e5cf5b57fc91e2bc6dd1809badd58c6eb25bd jdk7u14-b12 937bae61a48febcc948b7e10ae781c9077360241 jdk7u14-b13 7038ca4959e50a02f797e639daffe6b2b4065f86 jdk7u14-b14 aa6fb94c5e7bc645f478b6f60c5e6e06bebcc2bf jdk7u14-b15 +1d1e1fc3b88d2fda0c7da55ee3abb2b455e0d317 ppc-aix-port-b04 99c114990b191f32e72c6158072033aec5816aaf jdk7u15-b01 edbaa584f09a78d0ad3c73389faf20409a552e46 jdk7u15-b02 14a9b60a2086f4e2f6ec43bee3375042946f6510 jdk7u15-b30 @@ -382,6 +394,7 @@ 4beb90ab48f7fd46c7a9afbe66f8cccb230699ba jdk7u45-b18 a456c78a50e201a65c9f63565c8291b84a4fbd32 jdk7u45-b30 3c34f244296e98d8ebb94973c752f3395612391a jdk7u45-b31 +d9b92749a0f4c8e6c6f4fe11210c2a02d70bae74 jdk7u60-b00 056494e83d15cd1c546d32a3b35bdb6f670b3876 jdk7u45-b33 b5a83862ed2ab9cc2de3719e38c72519481a4bbb jdk7u45-b34 7fda9b300e07738116b2b95b568229bdb4b31059 jdk7u45-b35 @@ -424,6 +437,8 @@ d9b92749a0f4c8e6c6f4fe11210c2a02d70bae74 jdk7u60-b00 ad39e88c503948fc4fc01e97c75b6e3c24599d23 jdk7u60-b01 050986fd54e3ec4515032ee938bc59e86772b6c0 jdk7u60-b02 +74093b75ddd4fc2e578a3469d32b8bb2de3692d5 icedtea-2.5pre01 +d7085aad637fa90d027840c7f7066dba82b21667 icedtea-2.5pre02 359b79d99538d17eeb90927a1e4883fcec31661f jdk7u60-b03 7215972c2c30d0fa469a459a3e4fcee6bc93991d jdk7u60-b04 673ea3822e59de18ae5771de7a280c6ae435ef86 jdk7u60-b05 @@ -433,7 +448,16 @@ 4bfece8a5148947d268611cc1b4485e92960064e jdk7u60-b09 28a6c0b3b22580101bf750383c2e48d34dea2124 jdk7u60-b10 e57490e0b99917ea8e1da1bb4d0c57fd5b7705f9 jdk7u60-b11 +1fef0a819b0acd01898f16d75fe924720412c9fd icedtea-2.5pre03 a9574b35f0af409fa1665aadd9b2997a0f9878dc jdk7u60-b12 92cf0b5c1c3e9b61d36671d8fb5070716e0f016b jdk7u60-b13 2814f43a6c73414dcb2b799e1a52d5b44688590d jdk7u60-b14 10eed57b66336660f71f7524f2283478bdf373dc jdk7u60-b15 +611fdb7bcd4f575284d0a00716371f9784b62422 icedtea-2.5pre04 +49ca8c2300207f95ea7adbda540650185fd68057 icedtea-2.5pre06 +89656c61a515f63119e556eb8827d9fa9db40dcf icedtea-2.5pre05 +fefd2d5c524b0be78876d9b98d926abda2828e79 jdk7u60-b16 +ba6b0b5dfe5a0f50fac95c488c8a5400ea07d4f8 jdk7u60-b18 +ba6b0b5dfe5a0f50fac95c488c8a5400ea07d4f8 jdk7u60-b17 +581752d32aebea959fec84e8ae692e1f63d2c4a8 jdk7u60-b19 +cef2dec8b5d76555c5b7b2e1a62275206f76a07a jdk7u60-b30 diff -r fefd2d5c524b -r f4ad8e860eaf .jcheck/conf --- a/.jcheck/conf Wed Apr 16 12:26:20 2014 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,2 +0,0 @@ -project=jdk7 -bugids=dup diff -r fefd2d5c524b -r f4ad8e860eaf make/Makefile --- a/make/Makefile Wed Apr 16 12:26:20 2014 -0700 +++ b/make/Makefile Wed Jun 04 15:54:23 2014 +0100 @@ -118,13 +118,13 @@ ifdef ALT_LANGTOOLS_DIST ifdef ALT_BOOTDIR ANT_JAVA_HOME = JAVA_HOME=$(ALT_BOOTDIR) - ANT_OPTIONS += -Djdk.home=$(ALT_BOOTDIR) + ANT_OPTIONS += -Djdk.home=$(ALT_BOOTDIR) -Djava.home=$(ALT_BOOTDIR) endif ANT_OPTIONS += -Dbootstrap.dir=$(ALT_LANGTOOLS_DIST)/bootstrap else ifdef ALT_JDK_IMPORT_PATH ANT_JAVA_HOME = JAVA_HOME=$(ALT_JDK_IMPORT_PATH) - ANT_OPTIONS += -Djdk.home=$(ALT_JDK_IMPORT_PATH) + ANT_OPTIONS += -Djdk.home=$(ALT_JDK_IMPORT_PATH) -Djava.home=$(ALT_JDK_IMPORT_PATH) endif endif From andrew at icedtea.classpath.org Wed Jun 4 16:03:29 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 04 Jun 2014 16:03:29 +0000 Subject: /hg/release/icedtea7-forest-2.5/jaxws: 7 new changesets Message-ID: changeset b312ec543dc0 in /hg/release/icedtea7-forest-2.5/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/jaxws?cmd=changeset;node=b312ec543dc0 author: katleman date: Wed Apr 23 11:33:44 2014 -0700 Added tag jdk7u60-b16 for changeset 2fc16d3a3212 changeset d8316f5e7787 in /hg/release/icedtea7-forest-2.5/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/jaxws?cmd=changeset;node=d8316f5e7787 author: katleman date: Tue Apr 29 12:13:02 2014 -0700 Added tag jdk7u60-b18 for changeset b312ec543dc0 changeset 258b31945abe in /hg/release/icedtea7-forest-2.5/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/jaxws?cmd=changeset;node=258b31945abe author: katleman date: Wed Apr 30 13:48:57 2014 -0700 Added tag jdk7u60-b17 for changeset b312ec543dc0 changeset 1d21eb9011a0 in /hg/release/icedtea7-forest-2.5/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/jaxws?cmd=changeset;node=1d21eb9011a0 author: katleman date: Wed Apr 30 14:06:11 2014 -0700 Merge changeset 39e67887a3b1 in /hg/release/icedtea7-forest-2.5/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/jaxws?cmd=changeset;node=39e67887a3b1 author: katleman date: Wed May 07 19:26:28 2014 -0700 Added tag jdk7u60-b19 for changeset 1d21eb9011a0 changeset d6af47fa0a8d in /hg/release/icedtea7-forest-2.5/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/jaxws?cmd=changeset;node=d6af47fa0a8d author: katleman date: Tue May 20 12:11:41 2014 -0700 Added tag jdk7u60-b30 for changeset 39e67887a3b1 changeset 9699fe5c5232 in /hg/release/icedtea7-forest-2.5/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/jaxws?cmd=changeset;node=9699fe5c5232 author: andrew date: Wed Jun 04 15:54:23 2014 +0100 Merge jdk7u60-b30 diffstat: .hgtags | 24 ++++++++++ .jcheck/conf | 2 - build.properties | 3 + build.xml | 14 ++++- make/Makefile | 4 +- src/share/jaxws_classes/com/sun/tools/internal/xjc/reader/xmlschema/parser/SchemaConstraintChecker.java | 8 +++ 6 files changed, 47 insertions(+), 8 deletions(-) diffs (202 lines): diff -r 2fc16d3a3212 -r 9699fe5c5232 .hgtags --- a/.hgtags Wed Apr 16 12:26:21 2014 -0700 +++ b/.hgtags Wed Jun 04 15:54:23 2014 +0100 @@ -50,6 +50,7 @@ 558985e26fe16f5a6ebb2edb9180a42e1c8e8202 jdk7-b73 f4466e1b608088c90e11beaa4b600f102608c6a1 jdk7-b74 fcf2b8b5d606641659419f247fcee4b284c45e6e jdk7-b75 +0dc08d528c998ca993e759b311e7b54c98e0ef28 icedtea7-1.12 765d2077d1e652e234d27fe85ba58a986b488503 jdk7-b76 5b4968c110476085225d3a71c4210fad2c1116c1 jdk7-b77 fc1c72d1dfbb17db7d46bba8db9afc39cbbb9299 jdk7-b78 @@ -63,6 +64,7 @@ 512b0e924a5ae0c0b7ad326182cae0dc0e4d1aa8 jdk7-b86 3febd6fab2ac8ffddbaf7bed00d11290262af153 jdk7-b87 8c666f8f3565974e301ccb58b7538912551a6e26 jdk7-b88 +1661166c82dc2102f3f0364e28d1e4211f25a4cf icedtea7-1.13 bf3675aa7f20fc6f241ce95760005aef2a30ff41 jdk7-b89 ead7c4566a0017bcb44b468b3ac03b60dc5333ce jdk7-b90 cf4686bf35abd1e573f09fa43cbec66403160ae9 jdk7-b91 @@ -111,6 +113,7 @@ 545de8303fec939db3892f7c324dd7df197e8f09 jdk7-b134 d5fc61f18043765705ef22b57a68c924ab2f1a5b jdk7-b135 c81d289c9a532d6e94af3c09d856a2a20529040f jdk7-b136 +339c2d381d80dbf9b74604e6ba43ead276b8024e icedtea-1.14 ccea3282991ce8b678e188cf32a8239f76ff3bfa jdk7-b137 cc956c8a8255583535597e9a63db23c510e9a063 jdk7-b138 c025078c8362076503bb83b8e4da14ba7b347940 jdk7-b139 @@ -123,6 +126,7 @@ 05469dd4c3662c454f8a019e492543add60795cc jdk7-b146 c01bfd68d0528bc88348813c4d75d7f5c62bc4e2 jdk7u1-b01 d13b1f877bb5ed8dceb2f7ec10365d1db5f70b2d jdk7-b147 +e6cd09c7ef22bbabe31c9f2a32c7e13cfa713fd3 icedtea-2.0-branchpoint 4c24f7019ce939a452154a83151294ad7da66a9d jdk7u1-b02 272778f529d11081f548f37fcd6a7aec0b11a8dd jdk7u1-b03 48b06a6e6f46e5bcd610f4bed57cd5067cf31f8c jdk7u1-b04 @@ -141,6 +145,7 @@ 21131044a61353ac20e360bce52d8f480e08d7a2 jdk7u2-b12 9728fd833e01faa5e51484aeaf3c51d32d1175fb jdk7u2-b13 d6db86a7ca32e6d97844f633badc0d516e55694f jdk7u2-b21 +d26ff33070cb75a0a7349d965ec4f0930ded418d icedtea-2.1-branchpoint d6db86a7ca32e6d97844f633badc0d516e55694f jdk7u3-b02 44e824502fa24440f907205ccdc3959d01bd8109 jdk7u3-b03 6e1cc321aacea944691aa06558f2bbad89baf5b3 jdk7u3-b04 @@ -157,6 +162,7 @@ 3891fe529057431278394c6341cfabaacd5061f5 jdk7u4-b10 2df5cd83fab91f050c4bac54aa06e174ecee38f4 jdk7u4-b11 4d3a9fe44f7531642bc739ec3c8efb2e6d9e08c7 jdk7u4-b12 +1854d8e2547cb18ebcf84db13c22d0987c49c274 icedtea-2.2-branchpoint c3b6659aa169b3f249246497a8d5a87baa1e798a jdk7u4-b13 0f8963feaefda21e72f84b8ea49834a289d537f3 jdk7u4-b14 61516652b59ec411678b38a232a84413652a4172 jdk7u5-b01 @@ -186,11 +192,15 @@ c08f88f5ae98917254cd38e204393adac22823a6 jdk7u6-b10 a37ad8f90c7bd215d11996480e37f03eb2776ce2 jdk7u6-b11 95a96a879b8c974707a7ddb94e4fcd00e93d469c jdk7u6-b12 +4325d1311d5511da36cae81332af6840af1c0fed ppc-aix-port-b01 +4325d1311d5511da36cae81332af6840af1c0fed ppc-aix-port-b02 +4325d1311d5511da36cae81332af6840af1c0fed ppc-aix-port-b03 e0a71584b8d84d28feac9594d7bb1a981d862d7c jdk7u6-b13 9ae31559fcce636b8c219180e5db1d54556db5d9 jdk7u6-b14 f1dba7ebe6a50c22ffcaf85b14b31462ce008556 jdk7u6-b15 e1d2afbb63d27600dd8c8a021eadff84a901a73c jdk7u6-b16 401bdbbf89c9187b51dc8906c0e2700ef0ffc8a3 jdk7u6-b17 +8888d2790217c31edbf13ea81d9ac06210092ad2 icedtea-2.3-branchpoint a1daf7097c61181216233e4850ef6ec56b0fe6b6 jdk7u6-b18 58c1c6ecf8f1e59db9b575ae57b2894d0152d319 jdk7u6-b19 6d17242f12edc643ecab4263e656003a1ca44c03 jdk7u6-b20 @@ -258,11 +268,13 @@ 42ba62cdc1f3c357b6d192612dd1c4b209df2662 jdk7u12-b07 66f36438f54812e44327d38129d9488e5ea59e73 jdk7u12-b08 c130f21b16a2b2e2b961362bc4baf40fde2be458 jdk7u12-b09 +a653d06d5b50cacf58aebbab8b55e7e00587cd4c icedtea-2.4-branchpoint 9207c72345c9e82d4445764df57706f7b33a7981 jdk7u14-b10 444aa84f38df2607140e9ce35a21fef0965d27a6 jdk7u14-b11 40afea757379cfaaadca13eeb7dcbc0fe195f73d jdk7u14-b12 4fe9a362c3277cd4c7a5149853e5cf59dbba7cb7 jdk7u14-b13 a2b2e716637acdb9884d21fc4b9aef3c8b59e702 jdk7u14-b14 +53bd8e6a5ffabdc878a312509cf84a72020ddf9a ppc-aix-port-b04 b5c8ac5253ef735e5aa770b7325843ec89b56633 jdk7u14-b15 abcaebcead605f89cd0919add20d8ac16637ddc2 jdk7u15-b01 62f9e7f5eb644fedd93dd93bd36bcf817a8d9c8a jdk7u15-b02 @@ -381,6 +393,7 @@ 65b0f3ccdc8bcff0d79e1b543a8cefb817529b3f jdk7u45-b18 c32c6a662d18d7195fc02125178c7543ce09bb00 jdk7u45-b30 6802a1c098c48b2c8336e06f1565254759025bab jdk7u45-b31 +cb5f95263f620967f5097c5ff8e0b27cfb9e8c44 jdk7u60-b00 e040abab3625fbced33b30cba7c0307236268211 jdk7u45-b33 e7df5d6b23c64509672d262187f51cde14db4e66 jdk7u45-b34 c654ba4b2392c2913f45b495a2ea0c53cc348d98 jdk7u45-b35 @@ -423,6 +436,8 @@ cb5f95263f620967f5097c5ff8e0b27cfb9e8c44 jdk7u60-b00 f675dfce1e61a6ed01732ae7cfbae941791cba74 jdk7u60-b01 8a3b9e8492a5ac4e2e0c166dbfc5d058be244377 jdk7u60-b02 +3f7212cae6eb1fe4b257adfbd05a7fce47c84bf0 icedtea-2.5pre01 +4aeccc3040fa45d7156dccb03984320cb75a0d73 icedtea-2.5pre02 d4ba4e1ed3ecdef1ef7c3b7aaf62ff69fc105cb2 jdk7u60-b03 bef313c7ff7a7a829f8f6a305bf0c3738ad99795 jdk7u60-b04 30afd3e2e7044b2aa87ce00ab4301990e6d94d27 jdk7u60-b05 @@ -432,7 +447,16 @@ c85645aa77cedabeeb6e01373cdd81afd56c602e jdk7u60-b09 79501d4561e4cfa96fd77e2e92eb6a1b6ad61005 jdk7u60-b10 5d848774565b5e188d7ba915ce1cb09d8f3fdb87 jdk7u60-b11 +c3f7dc317cdbe308045d12deeb298c8be800d495 icedtea-2.5pre03 9d34f726e35b321072ce5bd0aad2e513b9fc972f jdk7u60-b12 d941a701cf5ca11b2777fd1d0238e05e3c963e89 jdk7u60-b13 43b5a7cf08e7ee018b1fa42a89510b4c381dc4c5 jdk7u60-b14 d00389bf5439e5c42599604d2ebc909d26df8dcf jdk7u60-b15 +8c3ac91d06c0013bf4c4f4d986a5d9994bf3c049 icedtea-2.5pre04 +3a7c902a4390ed227747724f427a516e22a7d77a icedtea-2.5pre06 +9639895f69500ce364e4555a157c6875bb6e51dc icedtea-2.5pre05 +2fc16d3a321212abc0cc93462b22c4be7f693ab9 jdk7u60-b16 +b312ec543dc09db784e161eb89607d4afd4cab1e jdk7u60-b18 +b312ec543dc09db784e161eb89607d4afd4cab1e jdk7u60-b17 +1d21eb9011a060c7761c9a8a53e69d58bbea4893 jdk7u60-b19 +39e67887a3b112bf74f84df2aac0f46c65bfb005 jdk7u60-b30 diff -r 2fc16d3a3212 -r 9699fe5c5232 .jcheck/conf --- a/.jcheck/conf Wed Apr 16 12:26:21 2014 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,2 +0,0 @@ -project=jdk7 -bugids=dup diff -r 2fc16d3a3212 -r 9699fe5c5232 build.properties --- a/build.properties Wed Apr 16 12:26:21 2014 -0700 +++ b/build.properties Wed Jun 04 15:54:23 2014 +0100 @@ -58,6 +58,9 @@ build.dir=${output.dir}/build build.classes.dir=${build.dir}/classes +# JAXP built files +jaxp.classes.dir=${output.dir}/../jaxp/build/classes + # Distributed results dist.dir=${output.dir}/dist dist.lib.dir=${dist.dir}/lib diff -r 2fc16d3a3212 -r 9699fe5c5232 build.xml --- a/build.xml Wed Apr 16 12:26:21 2014 -0700 +++ b/build.xml Wed Jun 04 15:54:23 2014 +0100 @@ -135,9 +135,15 @@ - + - + diff -r 2fc16d3a3212 -r 9699fe5c5232 make/Makefile --- a/make/Makefile Wed Apr 16 12:26:21 2014 -0700 +++ b/make/Makefile Wed Jun 04 15:54:23 2014 +0100 @@ -101,13 +101,13 @@ ifdef ALT_LANGTOOLS_DIST ifdef ALT_BOOTDIR ANT_JAVA_HOME = JAVA_HOME=$(ALT_BOOTDIR) - ANT_OPTIONS += -Djdk.home=$(ALT_BOOTDIR) + ANT_OPTIONS += -Djdk.home=$(ALT_BOOTDIR) -Djava.home=$(ALT_BOOTDIR) endif ANT_OPTIONS += -Dbootstrap.dir=$(ALT_LANGTOOLS_DIST)/bootstrap else ifdef ALT_JDK_IMPORT_PATH ANT_JAVA_HOME = JAVA_HOME=$(ALT_JDK_IMPORT_PATH) - ANT_OPTIONS += -Djdk.home=$(ALT_JDK_IMPORT_PATH) + ANT_OPTIONS += -Djdk.home=$(ALT_JDK_IMPORT_PATH) -Djava.home=$(ALT_JDK_IMPORT_PATH) endif endif diff -r 2fc16d3a3212 -r 9699fe5c5232 src/share/jaxws_classes/com/sun/tools/internal/xjc/reader/xmlschema/parser/SchemaConstraintChecker.java --- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/reader/xmlschema/parser/SchemaConstraintChecker.java Wed Apr 16 12:26:21 2014 -0700 +++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/reader/xmlschema/parser/SchemaConstraintChecker.java Wed Jun 04 15:54:23 2014 +0100 @@ -67,6 +67,14 @@ SchemaFactory sf = SchemaFactory.newInstance(W3C_XML_SCHEMA_NS_URI); sf.setErrorHandler(errorFilter); + try { + // By default the SchemaFactory imposes a limit of 5000 on + // xsd:sequence maxOccurs if a SecurityManager is + // installed. This breaks the specification of xjc, + // causing TCK failures. + sf.setProperty("http://apache.org/xml/properties/security-manager", null); + } catch (SAXException e) { + } if( entityResolver != null ) { sf.setResourceResolver(new LSResourceResolver() { public LSInput resolveResource(String type, String namespaceURI, String publicId, String systemId, String baseURI) { From andrew at icedtea.classpath.org Wed Jun 4 16:03:35 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 04 Jun 2014 16:03:35 +0000 Subject: /hg/release/icedtea7-forest-2.5/langtools: 7 new changesets Message-ID: changeset b7cc00c573c2 in /hg/release/icedtea7-forest-2.5/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/langtools?cmd=changeset;node=b7cc00c573c2 author: katleman date: Wed Apr 23 11:34:02 2014 -0700 Added tag jdk7u60-b16 for changeset 057caf9e0774 changeset 725aa03be762 in /hg/release/icedtea7-forest-2.5/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/langtools?cmd=changeset;node=725aa03be762 author: katleman date: Tue Apr 29 12:15:24 2014 -0700 Added tag jdk7u60-b18 for changeset b7cc00c573c2 changeset d0595cc4a49a in /hg/release/icedtea7-forest-2.5/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/langtools?cmd=changeset;node=d0595cc4a49a author: katleman date: Wed Apr 30 13:49:11 2014 -0700 Added tag jdk7u60-b17 for changeset b7cc00c573c2 changeset 40aa95c8477a in /hg/release/icedtea7-forest-2.5/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/langtools?cmd=changeset;node=40aa95c8477a author: katleman date: Wed Apr 30 14:07:16 2014 -0700 Merge changeset b578e801c5f0 in /hg/release/icedtea7-forest-2.5/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/langtools?cmd=changeset;node=b578e801c5f0 author: katleman date: Wed May 07 19:27:09 2014 -0700 Added tag jdk7u60-b19 for changeset 40aa95c8477a changeset 968984941a94 in /hg/release/icedtea7-forest-2.5/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/langtools?cmd=changeset;node=968984941a94 author: katleman date: Tue May 20 12:11:51 2014 -0700 Added tag jdk7u60-b30 for changeset b578e801c5f0 changeset 454870780579 in /hg/release/icedtea7-forest-2.5/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/langtools?cmd=changeset;node=454870780579 author: andrew date: Wed Jun 04 15:54:23 2014 +0100 Merge jdk7u60-b30 diffstat: .hgtags | 24 ++++++++++++++++++++++++ .jcheck/conf | 2 -- make/Makefile | 4 ++++ make/build.properties | 3 ++- make/build.xml | 2 +- test/Makefile | 3 +++ test/tools/javac/T5090006/broken.jar | Bin 7 files changed, 34 insertions(+), 4 deletions(-) diffs (175 lines): diff -r 057caf9e0774 -r 454870780579 .hgtags --- a/.hgtags Wed Apr 16 12:26:32 2014 -0700 +++ b/.hgtags Wed Jun 04 15:54:23 2014 +0100 @@ -50,6 +50,7 @@ 9596dff460935f09684c11d156ce591f92584f0d jdk7-b73 1a66b08deed0459054b5b1bea3dfbead30d258fa jdk7-b74 2485f5641ed0829205aaaeb31ad711c2c2ef0de3 jdk7-b75 +83367f01297bf255f511f5291bbbbaa24a9c8459 icedtea7-1.12 8fb9b4be3cb1574302acde90549a4d333ef51e93 jdk7-b76 0398ae15b90ac76d87ee21844453e95ff8613e43 jdk7-b77 acc1e40a5874ebf32bebcb6ada565b3b40b7461c jdk7-b78 @@ -63,6 +64,7 @@ ef07347428f2198ae6b8144ac0b9086bbe39fd16 jdk7-b86 409db93d19c002333980df5b797c6b965150c7a0 jdk7-b87 f9b5d4867a26f8c4b90ad37fe2c345b721e93d6b jdk7-b88 +681f1f51926faf4c73d8905a429ff4ead6e9d622 icedtea7-1.13 6cea9a143208bc1185ced046942c0f4e45dbeba5 jdk7-b89 71c2c23a7c35b2896c87004023b9743b6d1b7758 jdk7-b90 97b6fa97b8ddb3a49394011c2a0ec5d6535e594c jdk7-b91 @@ -111,6 +113,7 @@ 3d7acdbb72cab55deedfd35f60d4732abc9d6ac4 jdk7-b134 9d0a61ac567b983da7cc8f4a7030f2245bb6dbab jdk7-b135 ed0f7f1f9511db4f9615b1426d22f8b961629275 jdk7-b136 +8e26c4aee63c04ee129bf9068f5eea47cc385177 icedtea-1.14 a15c9b058ae007d4ccb7e35ce44e4dfa977f090b jdk7-b137 53f212bed4f4304dce7f0bf0fa01c998c65bacd6 jdk7-b138 853b6bb99f9b58eb7cf8211c67d3b6e4f1228a3e jdk7-b139 @@ -123,6 +126,7 @@ 9425dd4f53d5bfcd992d9aecea0eb7d8b2d4f62b jdk7-b146 d34578643d1c6c752d4a6b5e79c6ab1b60850b4a jdk7u1-b01 58bc532d63418ac3c9b42460d89cdaf595c6f3e1 jdk7-b147 +fb7fb3071b642334520e5b9f4a87ce28717af61c icedtea-2.0-branchpoint cd2cc8b5edb045b950aed46d159b4fb8fc2fd1df jdk7u1-b02 82820a30201dbf4b80f1916f3d0f4a92ad21b61a jdk7u1-b03 baa2c13c70fea3d6e259a34f0903197fdceb64b5 jdk7u1-b04 @@ -141,6 +145,7 @@ f0802d8a0909f66ce19d3d44b33ddf4943aee076 jdk7u2-b12 f474527e77e4797d78bd6c3b31923fddcfd9d5c6 jdk7u2-b13 fc0769df8cd03fffc38c7a1ab6b2e2e7cc2506a8 jdk7u2-b21 +58f6a950cd726220e81eddb126ca5c57e3b368f2 icedtea-2.1-branchpoint fc0769df8cd03fffc38c7a1ab6b2e2e7cc2506a8 jdk7u3-b02 0ffc4995457773085f61c39f6d33edc242b41bcf jdk7u3-b03 f6de36b195cd315646213c7affd2cc15702edbfb jdk7u3-b04 @@ -157,6 +162,7 @@ 8919b2b02fcba65f833c68374f3bfdd9bc3ba814 jdk7u4-b10 4672e092f0968d503dc37f860b15ae7e2653f8d7 jdk7u4-b11 a4bf6a1aff54a98e9ff2b3fb53c719f658bec677 jdk7u4-b12 +e3537a4f75c7fcca16c349c3175bb0cdc2fbc29c icedtea-2.2-branchpoint 56eb9150d9ffdb71c47d72871e8ecc98b5f402de jdk7u4-b13 0e55881c2ee2984048c179d1e031cefb56a36bec jdk7u4-b14 0bea057f7ce1577e1b0306f2027c057e35394398 jdk7u5-b01 @@ -186,11 +192,15 @@ 21d2313dfeac8c52a04b837d13958c86346a4b12 jdk7u6-b10 13d3c624291615593b4299a273085441b1dd2f03 jdk7u6-b11 f0be10a26af08c33d9afe8fe51df29572d431bac jdk7u6-b12 +e3eeee75b861baf378d41adcd29ae70ed047eae7 ppc-aix-port-b01 +e3eeee75b861baf378d41adcd29ae70ed047eae7 ppc-aix-port-b02 +e3eeee75b861baf378d41adcd29ae70ed047eae7 ppc-aix-port-b03 fcebf337f5c1d342973573d9c6f758443c8aefcf jdk7u6-b13 35b2699c6243e9fb33648c2c25e97ec91d0e3553 jdk7u6-b14 47ae28da508861d77ee6dd408d822acf507b28ec jdk7u6-b15 5c7763489f4d2727c6d9de11f4114fb8ed839042 jdk7u6-b16 66c671f28cb2840ceec5b44c44bac073fc0b4256 jdk7u6-b17 +cee31ee38a190f77b1e21c0515bb28802dcd9678 icedtea-2.3-branchpoint 6aa859ef42876c51bb1b1d7fb4db32a916a7dcaa jdk7u6-b18 474a52eeeafb1feccffda68b96f651e65415c01d jdk7u6-b19 32acb67a79531daf678577c7ef1bde1867da807d jdk7u6-b20 @@ -258,11 +268,13 @@ 382bab6d9682eefa2185a1643dfa32d65b6c20e5 jdk7u12-b07 7c0c3aeb2c603baba2cabba9adc5a0a49afb4f47 jdk7u12-b08 96c4f3ec63552a87a825baabd7f0dfafec299483 jdk7u12-b09 +85fb9d7ce4af53f0a47d2b73d983c96239f9ff33 icedtea-2.4-branchpoint e5b1403fa68abe3ac7174c031f19e6ecf77624a0 jdk7u14-b10 db94066df63468172e074d59e71d82dc874ed7cb jdk7u14-b11 f9a326e92fafc4724f0af550c2cba82fea202a31 jdk7u14-b12 5a52c6cc8db94b68eaacb42a9b4df30a40b09d82 jdk7u14-b13 5febc4e479fad801424cdcce90a0d463a2ef9223 jdk7u14-b14 +d52538e72925a1da7b1fcff051b591beeb2452b4 ppc-aix-port-b04 5fdb509d1f1a0533b14c61c92d77ff21e0ce2488 jdk7u14-b15 1298307076c2f0c2a4acd3a2a132cbe98d399009 jdk7u15-b01 8db0105f00ce9fe6899ece52d46d78995111c456 jdk7u15-b02 @@ -382,6 +394,7 @@ ba3ff27d4082f2cf0d06e635b2b6e01f80e78589 jdk7u45-b18 164cf7491ba2f371354ba343a604eee4c61c529d jdk7u45-b30 7f5cfaedb25c2c2774d6839810d6ae543557ca01 jdk7u45-b31 +849b17bc6e9a08fa41e0ef631e51366a09842e64 jdk7u60-b00 ef7bdbe7f1fa42fd58723e541d9cdedcacb2649a jdk7u45-b33 bcb3e939d046d75436c7c8511600b6edce42e6da jdk7u45-b34 efbda7abd821f280ec3a3aa6819ad62d45595e55 jdk7u45-b35 @@ -423,6 +436,8 @@ 849b17bc6e9a08fa41e0ef631e51366a09842e64 jdk7u60-b00 b19e375d9829daf207b1bdc7f908a3e1d548462c jdk7u60-b01 954e1616449af74f68aed57261cbeb62403377f1 jdk7u60-b02 +0d89cc5766d72e870eaf16696ec9b7b1ca4901fd icedtea-2.5pre01 +f75a642c2913e1ecbd22fc46812cffa2e7739169 icedtea-2.5pre02 4170784840d510b4e8ae7ae250b92279aaf5eb25 jdk7u60-b03 772aad4e9681828b8ee193b9ed971cbfe6c7f347 jdk7u60-b04 744287fccf3b2c4fba2abf105863f0a44c3bd4da jdk7u60-b05 @@ -432,7 +447,16 @@ 3f8b585403e596b7eadc231484f5480361c52c4b jdk7u60-b09 3ee98cd07065dfa9a982e6692a3e875684a7e820 jdk7u60-b10 3cc64ba8cf85942929b15c5ef21360f96db3b99c jdk7u60-b11 +f38810d86876a74b6267c207f47840c895e4f393 icedtea-2.5pre03 b79b8b1dc88faa73229b2bce04e979ff5ec854f5 jdk7u60-b12 3dc3e59e9580dfdf95dac57c54fe1a4209401125 jdk7u60-b13 a8b9c1929e50a9f3ae9ae1a23c06fa73a57afce3 jdk7u60-b14 7568ebdada118da1d1a6addcf6316ffda21801fd jdk7u60-b15 +2f5810fa2937a0ea4aec2ef03b2b7ceacd122750 icedtea-2.5pre04 +853f886673d8eddc415e6b8e87b720c1b9244467 icedtea-2.5pre06 +1b5335c79bc18fe5aa613de3ca19fc364983c492 icedtea-2.5pre05 +057caf9e0774e7c530c5710127f70c8d5f46deab jdk7u60-b16 +b7cc00c573c294b144317d44803758a291b3deda jdk7u60-b18 +b7cc00c573c294b144317d44803758a291b3deda jdk7u60-b17 +40aa95c8477aa0a3f090859570f5536afc9026b7 jdk7u60-b19 +b578e801c5f0e41be96d58e213b32f5c0c9278e8 jdk7u60-b30 diff -r 057caf9e0774 -r 454870780579 .jcheck/conf --- a/.jcheck/conf Wed Apr 16 12:26:32 2014 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,2 +0,0 @@ -project=jdk7 -bugids=dup diff -r 057caf9e0774 -r 454870780579 make/Makefile --- a/make/Makefile Wed Apr 16 12:26:32 2014 -0700 +++ b/make/Makefile Wed Jun 04 15:54:23 2014 +0100 @@ -111,6 +111,10 @@ ANT_OPTIONS += -Ddebug.classfiles=true endif +ifeq ($(JAVAC_WARNINGS_FATAL), false) + ANT_OPTIONS += -Djavac.warnings.fatal= +endif + # Note: jdk/make/common/Defs.gmk uses LANGUAGE_VERSION (-source NN) # and the somewhat misnamed CLASS_VERSION (-target NN) ifdef TARGET_CLASS_VERSION diff -r 057caf9e0774 -r 454870780579 make/build.properties --- a/make/build.properties Wed Apr 16 12:26:32 2014 -0700 +++ b/make/build.properties Wed Jun 04 15:54:23 2014 +0100 @@ -68,7 +68,8 @@ # set the following to -version to verify the versions of javac being used javac.version.opt = # in time, there should be no exceptions to -Xlint:all -javac.lint.opts = -Xlint:all,-deprecation -Werror +javac.warnings.fatal = -Werror +javac.lint.opts = -Xlint:all,-deprecation ${javac.warnings.fatal} # options for the task for javac #javadoc.jls3.url=http://java.sun.com/docs/books/jls/ diff -r 057caf9e0774 -r 454870780579 make/build.xml --- a/make/build.xml Wed Apr 16 12:26:32 2014 -0700 +++ b/make/build.xml Wed Jun 04 15:54:23 2014 +0100 @@ -877,7 +877,7 @@ + classpath="${build.toolclasses.dir}:${build.bootstrap.dir}/classes:${ant.home}/lib/ant.jar"/> diff -r 057caf9e0774 -r 454870780579 test/Makefile --- a/test/Makefile Wed Apr 16 12:26:32 2014 -0700 +++ b/test/Makefile Wed Jun 04 15:54:23 2014 +0100 @@ -33,6 +33,9 @@ ifeq ($(ARCH), i386) ARCH=i586 endif + ifeq ($(ARCH), ppc64le) + ARCH=ppc64 + endif endif ifeq ($(OSNAME), Darwin) PLATFORM = bsd diff -r 057caf9e0774 -r 454870780579 test/tools/javac/T5090006/broken.jar Binary file test/tools/javac/T5090006/broken.jar has changed From andrew at icedtea.classpath.org Wed Jun 4 16:03:43 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 04 Jun 2014 16:03:43 +0000 Subject: /hg/release/icedtea7-forest-2.5/hotspot: 8 new changesets Message-ID: changeset 93963dce9041 in /hg/release/icedtea7-forest-2.5/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/hotspot?cmd=changeset;node=93963dce9041 author: andrew date: Wed Jun 04 15:49:42 2014 +0100 SystemTap probes for the garbage collector. Contributed-by: Lukas Berk changeset 617a6338e0c4 in /hg/release/icedtea7-forest-2.5/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/hotspot?cmd=changeset;node=617a6338e0c4 author: katleman date: Wed Apr 23 11:33:38 2014 -0700 Added tag jdk7u60-b16 for changeset ec76bacbb5b9 changeset 88de6e942079 in /hg/release/icedtea7-forest-2.5/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/hotspot?cmd=changeset;node=88de6e942079 author: katleman date: Tue Apr 29 12:12:34 2014 -0700 Added tag jdk7u60-b18 for changeset 617a6338e0c4 changeset ec1a6bc3456c in /hg/release/icedtea7-forest-2.5/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/hotspot?cmd=changeset;node=ec1a6bc3456c author: katleman date: Wed Apr 30 13:48:40 2014 -0700 Added tag jdk7u60-b17 for changeset 617a6338e0c4 changeset 361493c7cdb5 in /hg/release/icedtea7-forest-2.5/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/hotspot?cmd=changeset;node=361493c7cdb5 author: katleman date: Wed Apr 30 14:04:42 2014 -0700 Merge changeset 13f561930b3e in /hg/release/icedtea7-forest-2.5/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/hotspot?cmd=changeset;node=13f561930b3e author: katleman date: Wed May 07 19:26:16 2014 -0700 Added tag jdk7u60-b19 for changeset 361493c7cdb5 changeset ba66650acf63 in /hg/release/icedtea7-forest-2.5/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/hotspot?cmd=changeset;node=ba66650acf63 author: katleman date: Tue May 20 12:11:34 2014 -0700 Added tag jdk7u60-b30 for changeset 13f561930b3e changeset f106b1f551d7 in /hg/release/icedtea7-forest-2.5/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/hotspot?cmd=changeset;node=f106b1f551d7 author: andrew date: Wed Jun 04 15:54:23 2014 +0100 Merge jdk7u60-b30 diffstat: .hgtags | 5 + src/share/vm/compiler/oopMap.cpp | 7 ++ src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp | 12 ++++ src/share/vm/gc_implementation/g1/g1MarkSweep.cpp | 11 ++++ src/share/vm/gc_implementation/parNew/parNewGeneration.cpp | 13 ++++ src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp | 12 ++++ src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp | 16 +++++ src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp | 27 ++++++++++ src/share/vm/memory/defNewGeneration.cpp | 13 ++++- src/share/vm/memory/generation.cpp | 12 ++++ src/share/vm/memory/tenuredGeneration.cpp | 12 ++++ 11 files changed, 139 insertions(+), 1 deletions(-) diffs (391 lines): diff -r 58f685f86fe5 -r f106b1f551d7 .hgtags --- a/.hgtags Wed Jun 04 14:44:45 2014 +0100 +++ b/.hgtags Wed Jun 04 15:54:23 2014 +0100 @@ -675,3 +675,8 @@ 6dfe2b3e243c2329d16af8c3c263961c547797df icedtea-2.5pre04 3017276776bf322520e3d4007bc4761ebaeb4361 icedtea-2.5pre06 df3f0e040c01e1b375c63f3cf32c1c088da20faa icedtea-2.5pre05 +ec76bacbb5b90efc7988dee5345c656126b97561 jdk7u60-b16 +617a6338e0c4f7699eed5061d7e8f576c3ace029 jdk7u60-b18 +617a6338e0c4f7699eed5061d7e8f576c3ace029 jdk7u60-b17 +361493c7cdb5f75b28efc63389d6cebaaaa43a2c jdk7u60-b19 +13f561930b3e80a94e2baddc51dfc6c43c5ca601 jdk7u60-b30 diff -r 58f685f86fe5 -r f106b1f551d7 src/share/vm/compiler/oopMap.cpp --- a/src/share/vm/compiler/oopMap.cpp Wed Jun 04 14:44:45 2014 +0100 +++ b/src/share/vm/compiler/oopMap.cpp Wed Jun 04 15:54:23 2014 +0100 @@ -33,9 +33,13 @@ #include "memory/resourceArea.hpp" #include "runtime/frame.inline.hpp" #include "runtime/signature.hpp" +#include "utilities/dtrace.hpp" #ifdef COMPILER1 #include "c1/c1_Defs.hpp" #endif +#ifndef USDT2 + HS_DTRACE_PROBE_DECL1(provider, gc__collection__delete, *uintptr_t); +#endif /* !USDT2 */ // OopMapStream @@ -677,6 +681,9 @@ " - Derived: " INTPTR_FORMAT " Base: " INTPTR_FORMAT " (Offset: %d)", derived_loc, (address)*derived_loc, (address)base, offset); } +#ifndef USDT2 + HS_DTRACE_PROBE1(hotspot, gc__collection__delete, entry); +#endif /* !USDT2 */ // Delete entry delete entry; diff -r 58f685f86fe5 -r f106b1f551d7 src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp --- a/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp Wed Jun 04 14:44:45 2014 +0100 +++ b/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp Wed Jun 04 15:54:23 2014 +0100 @@ -59,6 +59,12 @@ #include "runtime/vmThread.hpp" #include "services/memoryService.hpp" #include "services/runtimeService.hpp" +#include "utilities/dtrace.hpp" + +#ifndef USDT2 + HS_DTRACE_PROBE_DECL4(provider, gc__collection__contig__begin, bool, bool, size_t, bool); + HS_DTRACE_PROBE_DECL4(provider, gc__collection__contig__end, bool, bool, size_t, bool); +#endif /* !USDT2 */ // statics CMSCollector* ConcurrentMarkSweepGeneration::_collector = NULL; @@ -1648,7 +1654,13 @@ size_t size, bool tlab) { +#ifndef USDT2 + HS_DTRACE_PROBE4(hotspot, gc__collection__contig__begin, full, clear_all_soft_refs, size, tlab); +#endif /* !USDT2 */ collector()->collect(full, clear_all_soft_refs, size, tlab); +#ifndef USDT2 + HS_DTRACE_PROBE4(hotspot, gc__collection__contig__end, full, clear_all_soft_refs, size, tlab); +#endif /* !USDT2 */ } void CMSCollector::collect(bool full, diff -r 58f685f86fe5 -r f106b1f551d7 src/share/vm/gc_implementation/g1/g1MarkSweep.cpp --- a/src/share/vm/gc_implementation/g1/g1MarkSweep.cpp Wed Jun 04 14:44:45 2014 +0100 +++ b/src/share/vm/gc_implementation/g1/g1MarkSweep.cpp Wed Jun 04 15:54:23 2014 +0100 @@ -50,8 +50,13 @@ #include "runtime/thread.hpp" #include "runtime/vmThread.hpp" #include "utilities/copy.hpp" +#include "utilities/dtrace.hpp" #include "utilities/events.hpp" +#ifndef USDT2 + HS_DTRACE_PROBE_DECL2(provider, gc__collection__G1__begin, *uintptr_t, *uintptr_t); + HS_DTRACE_PROBE_DECL2(provider, gc__collection__G1__end, *uintptr_t, *uintptr_t); + #endif /* !USDT2 */ class HeapRegion; void G1MarkSweep::invoke_at_safepoint(ReferenceProcessor* rp, @@ -89,6 +94,9 @@ // The marking doesn't preserve the marks of biased objects. BiasedLocking::preserve_marks(); +#ifndef USDT2 + HS_DTRACE_PROBE2(hotspot, gc__collection__G1__begin, &sh, sh->gc_cause()); +#endif /* !USDT2 */ mark_sweep_phase1(marked_for_unloading, clear_all_softrefs); mark_sweep_phase2(); @@ -108,6 +116,9 @@ GenRemSet* rs = sh->rem_set(); rs->invalidate(sh->perm_gen()->used_region(), true /*whole_heap*/); +#ifndef USDT2 + HS_DTRACE_PROBE2(hotspot, gc__collection__G1__end, &sh, sh->gc_cause()); +#endif /* !USDT2 */ // "free at last gc" is calculated from these. // CHF: cheating for now!!! // Universe::set_heap_capacity_at_last_gc(Universe::heap()->capacity()); diff -r 58f685f86fe5 -r f106b1f551d7 src/share/vm/gc_implementation/parNew/parNewGeneration.cpp --- a/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp Wed Jun 04 14:44:45 2014 +0100 +++ b/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp Wed Jun 04 15:54:23 2014 +0100 @@ -54,6 +54,12 @@ #include "utilities/copy.hpp" #include "utilities/globalDefinitions.hpp" #include "utilities/workgroup.hpp" +#include "utilities/dtrace.hpp" + +#ifndef USDT2 + HS_DTRACE_PROBE_DECL4(provider, gc__collection__parnew__begin, bool, bool, size_t, bool); + HS_DTRACE_PROBE_DECL4(provider, gc__collection__parnew__end, bool, bool, size_t, bool); +#endif /* !USDT2 */ #ifdef _MSC_VER #pragma warning( push ) @@ -919,6 +925,9 @@ bool clear_all_soft_refs, size_t size, bool is_tlab) { +#ifndef USDT2 + HS_DTRACE_PROBE4(hotspot, gc__collection__parnew__begin, full, clear_all_soft_refs, size, is_tlab); +#endif /* !USDT2 */ assert(full || size > 0, "otherwise we don't want to collect"); GenCollectedHeap* gch = GenCollectedHeap::heap(); @@ -1070,6 +1079,10 @@ gch->print_heap_change(gch_prev_used); } +#ifndef USDT2 + HS_DTRACE_PROBE4(hotspot, gc__collection__parnew__end, full, clear_all_soft_refs, size, is_tlab); +#endif /* !USDT2 */ + if (PrintGCDetails && ParallelGCVerbose) { TASKQUEUE_STATS_ONLY(thread_state_set.print_termination_stats()); TASKQUEUE_STATS_ONLY(thread_state_set.print_taskqueue_stats()); diff -r 58f685f86fe5 -r f106b1f551d7 src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp --- a/src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp Wed Jun 04 14:44:45 2014 +0100 +++ b/src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp Wed Jun 04 15:54:23 2014 +0100 @@ -43,8 +43,14 @@ #include "runtime/java.hpp" #include "runtime/vmThread.hpp" #include "services/memTracker.hpp" +#include "utilities/dtrace.hpp" #include "utilities/vmError.hpp" +#ifndef USDT2 + HS_DTRACE_PROBE_DECL2(provider, gc__collection__parscavenge__heap__begin, *uintptr_t, *uintptr_t); + HS_DTRACE_PROBE_DECL2(provider, gc__collection__parscavenge__heap__end, *uintptr_t, *uintptr_t); +#endif /* !USDT2 */ + PSYoungGen* ParallelScavengeHeap::_young_gen = NULL; PSOldGen* ParallelScavengeHeap::_old_gen = NULL; PSPermGen* ParallelScavengeHeap::_perm_gen = NULL; @@ -815,7 +821,13 @@ } VM_ParallelGCSystemGC op(gc_count, full_gc_count, cause); +#ifndef USDT2 + HS_DTRACE_PROBE2(hotspot, gc__collection__parscavenge__heap__begin, &op, cause); +#endif /* !USDT2 */ VMThread::execute(&op); +#ifndef USDT2 + HS_DTRACE_PROBE2(hotspot, gc__collection__parscavenge__heap__end, &op, cause); +#endif /* !USDT2 */ } // This interface assumes that it's being called by the diff -r 58f685f86fe5 -r f106b1f551d7 src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp --- a/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp Wed Jun 04 14:44:45 2014 +0100 +++ b/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp Wed Jun 04 15:54:23 2014 +0100 @@ -58,11 +58,18 @@ #include "services/management.hpp" #include "services/memoryService.hpp" #include "services/memTracker.hpp" +#include "utilities/dtrace.hpp" #include "utilities/events.hpp" #include "utilities/stack.inline.hpp" #include +#ifndef USDT2 + HS_DTRACE_PROBE_DECL2(provider, gc__collection__ParallelCompact__clear, *uintptr_t, *uintptr_t); + HS_DTRACE_PROBE_DECL2(provider, gc__collection__parallel__collect, *uintptr_t, *uintptr_t); + HS_DTRACE_PROBE_DECL4(provider, gc__collection__move, *uintptr_t, *uintptr_t, *uintptr_t, *uintptr_t); +#endif /* !USDT2 */ + // All sizes are in HeapWords. const size_t ParallelCompactData::Log2RegionSize = 16; // 64K words const size_t ParallelCompactData::RegionSize = (size_t)1 << Log2RegionSize; @@ -469,6 +476,9 @@ void ParallelCompactData::clear() { +#ifndef USDT2 + HS_DTRACE_PROBE2(hotspot, gc__collection__ParallelCompact__clear, &_region_data, _region_data->data_location()); +#endif /* !USDT2 */ memset(_region_data, 0, _region_vspace->committed_size()); memset(_block_data, 0, _block_vspace->committed_size()); } @@ -2011,6 +2021,9 @@ "should be in vm thread"); ParallelScavengeHeap* heap = gc_heap(); +#ifndef USDT2 + HS_DTRACE_PROBE2(hotspot, gc__collection__parallel__collect, heap, heap->gc_cause()); +#endif /* !USDT2 */ GCCause::Cause gc_cause = heap->gc_cause(); assert(!heap->is_gc_active(), "not reentrant"); @@ -3509,6 +3522,9 @@ // past the end of the partial object entering the region (if any). HeapWord* const dest_addr = sd.partial_obj_end(dp_region); HeapWord* const new_top = _space_info[space_id].new_top(); +#ifndef USDT2 + HS_DTRACE_PROBE4(hotspot, gc__collection__move, &beg_addr, &end_addr, &dest_addr, &new_top); +#endif /* !USDT2 */ assert(new_top >= dest_addr, "bad new_top value"); const size_t words = pointer_delta(new_top, dest_addr); diff -r 58f685f86fe5 -r f106b1f551d7 src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp --- a/src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp Wed Jun 04 14:44:45 2014 +0100 +++ b/src/share/vm/gc_implementation/parallelScavenge/psScavenge.cpp Wed Jun 04 15:54:23 2014 +0100 @@ -55,8 +55,17 @@ #include "runtime/vmThread.hpp" #include "runtime/vm_operations.hpp" #include "services/memoryService.hpp" +#include "utilities/dtrace.hpp" #include "utilities/stack.inline.hpp" +#ifndef USDT2 + HS_DTRACE_PROBE_DECL2(provider, gc__collection__PSScavenge__begin, *uintptr_t, *uintptr_t); + HS_DTRACE_PROBE_DECL2(provider, gc__collection__PSScavenge__end, *uintptr_t, *uintptr_t); + HS_DTRACE_PROBE_DECL2(provider, gc__collection__PSParallelCompact__begin, *uintptr_t, *uintptr_t); + HS_DTRACE_PROBE_DECL2(provider, gc__collection__PSParallelCompact__end, *uintptr_t, *uintptr_t); + HS_DTRACE_PROBE_DECL2(provider, gc__collection__PSMarkSweep__begin, *uintptr_t, *uintptr_t); + HS_DTRACE_PROBE_DECL2(provider, gc__collection__PSMarkSweep__end, *uintptr_t, *uintptr_t); +#endif /* !USDT2 */ HeapWord* PSScavenge::_to_space_top_before_gc = NULL; int PSScavenge::_consecutive_skipped_scavenges = 0; @@ -231,7 +240,13 @@ PSAdaptiveSizePolicy* policy = heap->size_policy(); IsGCActiveMark mark; +#ifndef USDT2 + HS_DTRACE_PROBE2(hotspot, gc__collection__PSScavenge__begin, &heap, heap->gc_cause()); +#endif /* !USDT2 */ const bool scavenge_done = PSScavenge::invoke_no_policy(); +#ifndef USDT2 + HS_DTRACE_PROBE2(hotspot, gc__collection__PSScavenge__end, &heap, heap->gc_cause()); +#endif /* !USDT2 */ const bool need_full_gc = !scavenge_done || policy->should_full_GC(heap->old_gen()->free_in_bytes()); bool full_gc_done = false; @@ -248,9 +263,21 @@ const bool clear_all_softrefs = cp->should_clear_all_soft_refs(); if (UseParallelOldGC) { +#ifndef USDT2 + HS_DTRACE_PROBE2(hotspot, gc__collection__PSParallelCompact__begin, &heap, heap->gc_cause()); +#endif /* !USDT2 */ full_gc_done = PSParallelCompact::invoke_no_policy(clear_all_softrefs); +#ifndef USDT2 + HS_DTRACE_PROBE2(hotspot, gc__collection__PSParallelCompact__end, &heap, heap->gc_cause()); +#endif /* !USDT2 */ } else { +#ifndef USDT2 + HS_DTRACE_PROBE2(hotspot, gc__collection__PSMarkSweep__begin, &heap, heap->gc_cause()); +#endif /* !USDT2 */ full_gc_done = PSMarkSweep::invoke_no_policy(clear_all_softrefs); +#ifndef USDT2 + HS_DTRACE_PROBE2(hotspot, gc__collection__PSMarkSweep__end, &heap, heap->gc_cause()); +#endif /* !USDT2 */ } } diff -r 58f685f86fe5 -r f106b1f551d7 src/share/vm/memory/defNewGeneration.cpp --- a/src/share/vm/memory/defNewGeneration.cpp Wed Jun 04 14:44:45 2014 +0100 +++ b/src/share/vm/memory/defNewGeneration.cpp Wed Jun 04 15:54:23 2014 +0100 @@ -42,6 +42,7 @@ #include "oops/oop.inline.hpp" #include "runtime/java.hpp" #include "utilities/copy.hpp" +#include "utilities/dtrace.hpp" #include "utilities/stack.inline.hpp" #ifdef TARGET_OS_FAMILY_linux # include "thread_linux.inline.hpp" @@ -58,7 +59,10 @@ #ifdef TARGET_OS_FAMILY_bsd # include "thread_bsd.inline.hpp" #endif - +#ifndef USDT2 + HS_DTRACE_PROBE_DECL4(provider, gc__collection__defnew__begin, bool, bool, size_t, bool); + HS_DTRACE_PROBE_DECL4(provider, gc__collection__defnew__end, bool, bool, size_t, bool); +#endif /* !USDT2 */ // // DefNewGeneration functions. @@ -537,6 +541,9 @@ bool clear_all_soft_refs, size_t size, bool is_tlab) { +#ifndef USDT2 + HS_DTRACE_PROBE4(hotspot, gc__collection__defnew__begin, full, clear_all_soft_refs, size, is_tlab); +#endif /* !USDT2 */ assert(full || size > 0, "otherwise we don't want to collect"); GenCollectedHeap* gch = GenCollectedHeap::heap(); @@ -682,6 +689,10 @@ jlong now = os::javaTimeNanos() / NANOSECS_PER_MILLISEC; update_time_of_last_gc(now); +#ifndef USDT2 + HS_DTRACE_PROBE4(hotspot, gc__collection__defnew__end, full, clear_all_soft_refs, size, is_tlab); +#endif /* !USDT2 */ + gch->trace_heap_after_gc(&gc_tracer); gc_tracer.report_tenuring_threshold(tenuring_threshold()); diff -r 58f685f86fe5 -r f106b1f551d7 src/share/vm/memory/generation.cpp --- a/src/share/vm/memory/generation.cpp Wed Jun 04 14:44:45 2014 +0100 +++ b/src/share/vm/memory/generation.cpp Wed Jun 04 15:54:23 2014 +0100 @@ -41,8 +41,14 @@ #include "oops/oop.inline.hpp" #include "runtime/java.hpp" #include "utilities/copy.hpp" +#include "utilities/dtrace.hpp" #include "utilities/events.hpp" +#ifndef USDT2 + HS_DTRACE_PROBE_DECL4(provider, gc__collection__contig__begin, bool, bool, size_t, bool); + HS_DTRACE_PROBE_DECL4(provider, gc__collection__contig__end, bool, bool, size_t, bool); +#endif /* !USDT2 */ + Generation::Generation(ReservedSpace rs, size_t initial_size, int level) : _level(level), _ref_processor(NULL) { @@ -481,7 +487,13 @@ SerialOldTracer* gc_tracer = GenMarkSweep::gc_tracer(); gc_tracer->report_gc_start(gch->gc_cause(), gc_timer->gc_start()); +#ifndef USDT2 + HS_DTRACE_PROBE4(hotspot, gc__collection__contig__begin, full, clear_all_soft_refs, size, is_tlab); +#endif /* !USDT2 */ GenMarkSweep::invoke_at_safepoint(_level, ref_processor(), clear_all_soft_refs); +#ifndef USDT2 + HS_DTRACE_PROBE4(hotspot, gc__collection__contig__end, full, clear_all_soft_refs, size, is_tlab); +#endif /* !USDT2 */ gc_timer->register_gc_end(); diff -r 58f685f86fe5 -r f106b1f551d7 src/share/vm/memory/tenuredGeneration.cpp --- a/src/share/vm/memory/tenuredGeneration.cpp Wed Jun 04 14:44:45 2014 +0100 +++ b/src/share/vm/memory/tenuredGeneration.cpp Wed Jun 04 15:54:23 2014 +0100 @@ -33,6 +33,12 @@ #include "memory/tenuredGeneration.hpp" #include "oops/oop.inline.hpp" #include "runtime/java.hpp" +#include "utilities/dtrace.hpp" + +#ifndef USDT2 + HS_DTRACE_PROBE_DECL4(provider, gc__collection__tenured__begin, bool, bool, size_t, bool); + HS_DTRACE_PROBE_DECL4(provider, gc__collection__tenured__end, bool, bool, size_t, bool); +#endif /* !USDT2 */ TenuredGeneration::TenuredGeneration(ReservedSpace rs, size_t initial_byte_size, int level, @@ -307,8 +313,14 @@ size_t size, bool is_tlab) { retire_alloc_buffers_before_full_gc(); +#ifndef USDT2 + HS_DTRACE_PROBE4(hotspot, gc__collection__tenured__begin, full, clear_all_soft_refs, size, is_tlab); +#endif /* !USDT2 */ OneContigSpaceCardGeneration::collect(full, clear_all_soft_refs, size, is_tlab); +#ifndef USDT2 + HS_DTRACE_PROBE4(hotspot, gc__collection__tenured__end, full, clear_all_soft_refs, size, is_tlab); +#endif /* !USDT2 */ } void TenuredGeneration::update_gc_stats(int current_level, From andrew at icedtea.classpath.org Wed Jun 4 16:03:55 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 04 Jun 2014 16:03:55 +0000 Subject: /hg/release/icedtea7-forest-2.5/jdk: 12 new changesets Message-ID: changeset 9a6d705b6d65 in /hg/release/icedtea7-forest-2.5/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/jdk?cmd=changeset;node=9a6d705b6d65 author: andrew date: Fri Apr 18 23:39:11 2014 +0100 PR1742: Allow SunEC provider to be built with changes in NSS >= 3.16.1 changeset 04a7187ef4b6 in /hg/release/icedtea7-forest-2.5/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/jdk?cmd=changeset;node=04a7187ef4b6 author: simonis date: Wed Jun 04 15:10:32 2014 +0100 8036767: PPC64: Support for little endian execution model Reviewed-by: simonis changeset 15e860e2ce20 in /hg/release/icedtea7-forest-2.5/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/jdk?cmd=changeset;node=15e860e2ce20 author: azvegint date: Wed Jun 04 15:41:31 2014 +0100 8012224: AWT_TopLevels/TopLevelEvents/Automated/WindowIconifyDeiconifyEventsTest02 fails on Ubuntu 12.04 Unity shell Reviewed-by: anthony, serb changeset 41547583c3a0 in /hg/release/icedtea7-forest-2.5/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/jdk?cmd=changeset;node=41547583c3a0 author: aefimov date: Mon Apr 07 16:59:47 2014 +0400 8038306: (tz) Support tzdata2014b Reviewed-by: coffeys, sherman, okutsu changeset e484202d9a41 in /hg/release/icedtea7-forest-2.5/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/jdk?cmd=changeset;node=e484202d9a41 author: katleman date: Wed Apr 23 11:33:46 2014 -0700 Added tag jdk7u60-b16 for changeset 41547583c3a0 changeset 61e899f2854b in /hg/release/icedtea7-forest-2.5/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/jdk?cmd=changeset;node=61e899f2854b author: katleman date: Tue Apr 29 12:13:33 2014 -0700 Added tag jdk7u60-b18 for changeset e484202d9a41 changeset d05e385ffadd in /hg/release/icedtea7-forest-2.5/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/jdk?cmd=changeset;node=d05e385ffadd author: katleman date: Wed Apr 30 13:49:01 2014 -0700 Added tag jdk7u60-b17 for changeset e484202d9a41 changeset b622f43c4962 in /hg/release/icedtea7-forest-2.5/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/jdk?cmd=changeset;node=b622f43c4962 author: katleman date: Wed Apr 30 14:06:24 2014 -0700 Merge changeset 7190843ddaf4 in /hg/release/icedtea7-forest-2.5/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/jdk?cmd=changeset;node=7190843ddaf4 author: pchelko date: Wed May 07 16:23:04 2014 +0100 8036861: Application can't be loaded fine,the save dialog can't show up. Reviewed-by: serb, azvegint changeset 8dc56d0f3e86 in /hg/release/icedtea7-forest-2.5/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/jdk?cmd=changeset;node=8dc56d0f3e86 author: katleman date: Wed May 07 19:26:47 2014 -0700 Added tag jdk7u60-b19 for changeset 7190843ddaf4 changeset 33c1eee28403 in /hg/release/icedtea7-forest-2.5/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/jdk?cmd=changeset;node=33c1eee28403 author: katleman date: Tue May 20 12:11:43 2014 -0700 Added tag jdk7u60-b30 for changeset 8dc56d0f3e86 changeset 5607f5a99784 in /hg/release/icedtea7-forest-2.5/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/jdk?cmd=changeset;node=5607f5a99784 author: andrew date: Wed Jun 04 15:54:23 2014 +0100 Merge jdk7u60-b30 diffstat: .hgtags | 5 + make/common/Defs-linux.gmk | 12 +- make/common/shared/Platform.gmk | 11 +- make/jdk_generic_profile.sh | 2 +- make/sun/javazic/tzdata/VERSION | 2 +- make/sun/javazic/tzdata/africa | 5 +- make/sun/javazic/tzdata/antarctica | 41 +- make/sun/javazic/tzdata/australasia | 21 +- make/sun/javazic/tzdata/europe | 6 +- make/sun/javazic/tzdata/leapseconds | 2 +- make/sun/javazic/tzdata/zone.tab | 3 +- src/share/classes/sun/util/resources/TimeZoneNames.java | 4 +- src/share/classes/sun/util/resources/TimeZoneNames_de.java | 4 +- src/share/classes/sun/util/resources/TimeZoneNames_es.java | 4 +- src/share/classes/sun/util/resources/TimeZoneNames_fr.java | 4 +- src/share/classes/sun/util/resources/TimeZoneNames_it.java | 4 +- src/share/classes/sun/util/resources/TimeZoneNames_ja.java | 4 +- src/share/classes/sun/util/resources/TimeZoneNames_ko.java | 4 +- src/share/classes/sun/util/resources/TimeZoneNames_pt_BR.java | 4 +- src/share/classes/sun/util/resources/TimeZoneNames_sv.java | 4 +- src/share/classes/sun/util/resources/TimeZoneNames_zh_CN.java | 4 +- src/share/classes/sun/util/resources/TimeZoneNames_zh_TW.java | 4 +- src/share/native/sun/security/ec/ecc_impl.h | 4 + src/solaris/classes/sun/awt/X11/XFramePeer.java | 5 + src/solaris/classes/sun/awt/X11/XNETProtocol.java | 29 +- src/windows/classes/sun/awt/windows/WToolkit.java | 18 +- test/java/awt/Toolkit/ToolkitPropertyTest/NoAppContextTest.java | 198 ---------- 27 files changed, 161 insertions(+), 247 deletions(-) diffs (truncated from 798 to 500 lines): diff -r 8f2c6f02f002 -r 5607f5a99784 .hgtags --- a/.hgtags Wed Jun 04 14:44:20 2014 +0100 +++ b/.hgtags Wed Jun 04 15:54:23 2014 +0100 @@ -439,3 +439,8 @@ 2cef4a93bcb881190a1d828dfae1574c535bb19a icedtea-2.5pre04 575b3a2fa6c940036a9ab6b554bcfe76f5151add icedtea-2.5pre06 6cb22bfdd98bd5b97eadaad926b52e8582f63077 icedtea-2.5pre05 +41547583c3a035c3924ffedfa8704e58d69e5c50 jdk7u60-b16 +e484202d9a4104840d758a21b2bba1250e766343 jdk7u60-b18 +e484202d9a4104840d758a21b2bba1250e766343 jdk7u60-b17 +7190843ddaf4f3ad158c3071be0f4ca42a5802dc jdk7u60-b19 +8dc56d0f3e860658619eaa57d10fb1a4182d71cd jdk7u60-b30 diff -r 8f2c6f02f002 -r 5607f5a99784 make/common/Defs-linux.gmk --- a/make/common/Defs-linux.gmk Wed Jun 04 14:44:20 2014 +0100 +++ b/make/common/Defs-linux.gmk Wed Jun 04 15:54:23 2014 +0100 @@ -199,8 +199,16 @@ CFLAGS_REQUIRED_mips += CFLAGS_REQUIRED_mipsel += -D_LITTLE_ENDIAN CFLAGS_REQUIRED_ppc += -m32 -fsigned-char -D_BIG_ENDIAN -CFLAGS_REQUIRED_ppc64 += -m64 -LDFLAGS_COMMON_ppc64 += -m64 -L/lib64 -Wl,-melf64ppc +ifeq ($(ARCH),ppc64) + ifeq ($(OPENJDK_TARGET_CPU_ENDIAN),big) + CFLAGS_REQUIRED_ppc64 += -m64 -D_BIG_ENDIAN + LDFLAGS_COMMON_ppc64 += -m64 -L/lib64 -Wl,-melf64ppc + else ifeq ($(OPENJDK_TARGET_CPU_ENDIAN),little) + CFLAGS_REQUIRED_ppc64 += -D_LITTLE_ENDIAN -DABI_ELFv2 + else + $(error Expected big/little for ARCH=ppc64, got OPENJDK_TARGET_CPU_ENDIAN=$(OPENJDK_TARGET_CPU_ENDIAN)) + endif +endif CFLAGS_REQUIRED_s390 += CFLAGS_REQUIRED_s390x += -m64 CFLAGS_REQUIRED_sh += -mieee diff -r 8f2c6f02f002 -r 5607f5a99784 make/common/shared/Platform.gmk --- a/make/common/shared/Platform.gmk Wed Jun 04 14:44:20 2014 +0100 +++ b/make/common/shared/Platform.gmk Wed Jun 04 15:54:23 2014 +0100 @@ -197,7 +197,7 @@ ;; \ esac ARCH := $(shell $(archExpr) ) - ARCH_FAMILY := $(ARCH) + ARCH_FAMILY := $(ARCH:ppc64le=ppc64) # Linux builds may be 32-bit or 64-bit data model. ifeq ($(ARCH), sparc) @@ -211,6 +211,13 @@ else ARCH=sparcv9 endif + else ifeq ($(ARCH), ppc64) + ARCH_DATA_MODEL=64 + OPENJDK_TARGET_CPU_ENDIAN=big + else ifeq ($(ARCH), ppc64le) + ARCH_DATA_MODEL=64 + OPENJDK_TARGET_CPU_ENDIAN=little + ARCH := ppc64 else # Most archs are 32-bit ifndef ARCH_DATA_MODEL @@ -530,7 +537,7 @@ endif ifeq ($(PLATFORM), macosx) - ARCH_VM_SUBDIR=jre/lib + ARCH_VM_SUBDIR=jre/lib endif endif diff -r 8f2c6f02f002 -r 5607f5a99784 make/jdk_generic_profile.sh --- a/make/jdk_generic_profile.sh Wed Jun 04 14:44:20 2014 +0100 +++ b/make/jdk_generic_profile.sh Wed Jun 04 15:54:23 2014 +0100 @@ -284,7 +284,7 @@ arm|aarch64|amd64|i386|ia64|mipsel|ppc64le) ZERO_ENDIANNESS=little ;; - ppc*|s390*|sparc*|alpha) + ppc|ppc64|s390*|sparc*|alpha) ZERO_ENDIANNESS=big ;; *) diff -r 8f2c6f02f002 -r 5607f5a99784 make/sun/javazic/tzdata/VERSION --- a/make/sun/javazic/tzdata/VERSION Wed Jun 04 14:44:20 2014 +0100 +++ b/make/sun/javazic/tzdata/VERSION Wed Jun 04 15:54:23 2014 +0100 @@ -21,4 +21,4 @@ # or visit www.oracle.com if you need additional information or have any # questions. # -tzdata2014a +tzdata2014b diff -r 8f2c6f02f002 -r 5607f5a99784 make/sun/javazic/tzdata/africa --- a/make/sun/javazic/tzdata/africa Wed Jun 04 14:44:20 2014 +0100 +++ b/make/sun/javazic/tzdata/africa Wed Jun 04 15:54:23 2014 +0100 @@ -891,7 +891,10 @@ # Another source (specifying the time for start and end in the decree): # http://www.lemag.ma/Heure-d-ete-au-Maroc-jusqu-au-27-octobre_a75620.html -# From Paul Eggert (2013-10-03): +# From Sebastien Willemijns (2014-03-18): +# http://www.afriquinfos.com/articles/2014/3/18/maroc-heure-dete-avancez-tous-horloges-247891.asp + +# From Paul Eggert (2014-03-19): # To estimate what the Moroccan government will do in future years, # transition dates for 2014 through 2038 were determined by running # the following program under GNU Emacs 24.3: diff -r 8f2c6f02f002 -r 5607f5a99784 make/sun/javazic/tzdata/antarctica --- a/make/sun/javazic/tzdata/antarctica Wed Jun 04 14:44:20 2014 +0100 +++ b/make/sun/javazic/tzdata/antarctica Wed Jun 04 15:54:23 2014 +0100 @@ -253,24 +253,41 @@ # year-round base # Scott Base, Ross Island, since 1957-01. # See Pacific/Auckland. -# -# These rules for New Zealand are stolen from the 'australasia' file. -# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S -Rule NZAQ 1974 only - Nov 3 2:00s 1:00 D -Rule NZAQ 1975 1988 - Oct lastSun 2:00s 1:00 D -Rule NZAQ 1989 only - Oct 8 2:00s 1:00 D -Rule NZAQ 1990 2006 - Oct Sun>=1 2:00s 1:00 D -Rule NZAQ 1975 only - Feb 23 2:00s 0 S -Rule NZAQ 1976 1989 - Mar Sun>=1 2:00s 0 S -Rule NZAQ 1990 2007 - Mar Sun>=15 2:00s 0 S -Rule NZAQ 2007 max - Sep lastSun 2:00s 1:00 D -Rule NZAQ 2008 max - Apr Sun>=1 2:00s 0 S # Norway - territories # Bouvet (never inhabited) # # claims # Peter I Island (never inhabited) +# +# year-round base +# Troll, Queen Maud Land, -720041+0023206, since 2005-02-12 +# +# From Paul-Inge Flakstad (2014-03-10): +# I recently had a long dialog about this with the developer of timegenie.com. +# In the absence of specific dates, he decided to choose some likely ones: +# GMT +1 - From March 1 to the last Sunday in March +# GMT +2 - From the last Sunday in March until the last Sunday in October +# GMT +1 - From the last Sunday in October until November 7 +# GMT +0 - From November 7 until March 1 +# The dates for switching to and from UTC+0 will probably not be absolutely +# correct, but they should be quite close to the actual dates. +# +# From Paul Eggert (2014-03-21): +# The CET-switching Troll rules require zic from tzcode 2014b or later, so as +# suggested by Bengt-Inge Larsson comment them out for now, and approximate +# with only UTC and CEST. Uncomment them when 2014b is more prevalent. +# +# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S +#Rule Troll 2005 max - Mar 1 1:00u 1:00 CET +Rule Troll 2005 max - Mar lastSun 1:00u 2:00 CEST +#Rule Troll 2005 max - Oct lastSun 1:00u 1:00 CET +#Rule Troll 2004 max - Nov 7 1:00u 0:00 UTC +# Remove the following line when uncommenting the above '#Rule' lines. +Rule Troll 2004 max - Oct lastSun 1:00u 0:00 UTC +# Zone NAME GMTOFF RULES FORMAT [UNTIL] +Zone Antarctica/Troll 0 - zzz 2005 Feb 12 + 0:00 Troll %s # Poland - year-round base # Arctowski, King George Island, -620945-0582745, since 1977 diff -r 8f2c6f02f002 -r 5607f5a99784 make/sun/javazic/tzdata/australasia --- a/make/sun/javazic/tzdata/australasia Wed Jun 04 14:44:20 2014 +0100 +++ b/make/sun/javazic/tzdata/australasia Wed Jun 04 15:54:23 2014 +0100 @@ -786,14 +786,29 @@ # Johnston # -# From Paul Eggert (2013-09-03): +# From Paul Eggert (2014-03-11): +# Sometimes Johnston kept Hawaii time, and sometimes it was an hour behind. +# Details are uncertain. We have no data for Johnston after 1970, so +# treat it like Hawaii for now. +# # In his memoirs of June 6th to October 4, 1945 # (2005), Herbert C. Bach writes, # "We started our letdown to Kwajalein Atoll and landed there at 5:00 AM # Johnston time, 1:30 AM Kwajalein time." This was in June 1945, and # confirms that Johnston kept the same time as Honolulu in summer 1945. -# We have no better information, so for now, assume this has been true -# indefinitely into the past. +# +# From Lyle McElhaney (2014-03-11): +# [W]hen JI was being used for that [atomic bomb] testing, the time being used +# was not Hawaiian time but rather the same time being used on the ships, +# which had a GMT offset of -11 hours. This apparently applied to at least the +# time from Operation Newsreel (Hardtack I/Teak shot, 1958-08-01) to the last +# Operation Fishbowl shot (Tightrope, 1962-11-04).... [See] Herman Hoerlin, +# "The United States High-Altitude Test Experience: A Review Emphasizing the +# Impact on the Environment", Los Alamos LA-6405, Oct 1976 +# . +# See the table on page 4 where he lists GMT and local times for the tests; a +# footnote for the JI tests reads that local time is "JI time = Hawaii Time +# Minus One Hour". # # See 'northamerica' for Pacific/Johnston. diff -r 8f2c6f02f002 -r 5607f5a99784 make/sun/javazic/tzdata/europe --- a/make/sun/javazic/tzdata/europe Wed Jun 04 14:44:20 2014 +0100 +++ b/make/sun/javazic/tzdata/europe Wed Jun 04 15:54:23 2014 +0100 @@ -2986,7 +2986,11 @@ # Assume it happened in March by not changing the clocks. 3:00 Russia MSK/MSD 1997 3:00 - MSK 1997 Mar lastSun 1:00u - 2:00 EU EE%sT +# From Alexander Krivenyshev (2014-03-17): +# time change at 2:00 (2am) on March 30, 2014 +# http://vz.ru/news/2014/3/17/677464.html + 2:00 EU EE%sT 2014 Mar 30 2:00 + 4:00 - MSK # Vatican City # See Europe/Rome. diff -r 8f2c6f02f002 -r 5607f5a99784 make/sun/javazic/tzdata/leapseconds --- a/make/sun/javazic/tzdata/leapseconds Wed Jun 04 14:44:20 2014 +0100 +++ b/make/sun/javazic/tzdata/leapseconds Wed Jun 04 15:54:23 2014 +0100 @@ -20,7 +20,7 @@ # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA # or visit www.oracle.com if you need additional information or have any # questions. - +# # Allowance for leapseconds added to each timezone file. # This file is in the public domain. diff -r 8f2c6f02f002 -r 5607f5a99784 make/sun/javazic/tzdata/zone.tab --- a/make/sun/javazic/tzdata/zone.tab Wed Jun 04 14:44:20 2014 +0100 +++ b/make/sun/javazic/tzdata/zone.tab Wed Jun 04 15:54:23 2014 +0100 @@ -74,6 +74,7 @@ AQ -7824+10654 Antarctica/Vostok Vostok Station, Lake Vostok AQ -6640+14001 Antarctica/DumontDUrville Dumont-d'Urville Station, Terre Adelie AQ -690022+0393524 Antarctica/Syowa Syowa Station, E Ongul I +AQ -720041+0023206 Antarctica/Troll Troll Station, Queen Maud Land AR -3436-05827 America/Argentina/Buenos_Aires Buenos Aires (BA, CF) AR -3124-06411 America/Argentina/Cordoba most locations (CB, CC, CN, ER, FM, MN, SE, SF) AR -2447-06525 America/Argentina/Salta (SA, LP, NQ, RN) @@ -366,6 +367,7 @@ RU +5545+03735 Europe/Moscow Moscow+00 - west Russia RU +4844+04425 Europe/Volgograd Moscow+00 - Caspian Sea RU +5312+05009 Europe/Samara Moscow+00 - Samara, Udmurtia +RU +4457+03406 Europe/Simferopol Moscow+00 - Crimea RU +5651+06036 Asia/Yekaterinburg Moscow+02 - Urals RU +5500+07324 Asia/Omsk Moscow+03 - west Siberia RU +5502+08255 Asia/Novosibirsk Moscow+03 - Novosibirsk @@ -421,7 +423,6 @@ UA +5026+03031 Europe/Kiev most locations UA +4837+02218 Europe/Uzhgorod Ruthenia UA +4750+03510 Europe/Zaporozhye Zaporozh'ye, E Lugansk / Zaporizhia, E Luhansk -UA +4457+03406 Europe/Simferopol central Crimea UG +0019+03225 Africa/Kampala UM +1645-16931 Pacific/Johnston Johnston Atoll UM +2813-17722 Pacific/Midway Midway Islands diff -r 8f2c6f02f002 -r 5607f5a99784 src/share/classes/sun/util/resources/TimeZoneNames.java --- a/src/share/classes/sun/util/resources/TimeZoneNames.java Wed Jun 04 14:44:20 2014 +0100 +++ b/src/share/classes/sun/util/resources/TimeZoneNames.java Wed Jun 04 15:54:23 2014 +0100 @@ -477,6 +477,8 @@ {"Antarctica/South_Pole", NZST}, {"Antarctica/Syowa", new String[] {"Syowa Time", "SYOT", "Syowa Summer Time", "SYOST"}}, + {"Antarctica/Troll", new String[] {"Coordinated Universal Time", "UTC", + "Central European Summer Time", "CEST"}}, {"Antarctica/Vostok", new String[] {"Vostok Time", "VOST", "Vostok Summer Time", "VOSST"}}, {"Arctic/Longyearbyen", CET}, @@ -707,7 +709,7 @@ "Samara Summer Time", "SAMST"}}, {"Europe/San_Marino", CET}, {"Europe/Sarajevo", CET}, - {"Europe/Simferopol", EET}, + {"Europe/Simferopol", MSK}, {"Europe/Skopje", CET}, {"Europe/Sofia", EET}, {"Europe/Stockholm", CET}, diff -r 8f2c6f02f002 -r 5607f5a99784 src/share/classes/sun/util/resources/TimeZoneNames_de.java --- a/src/share/classes/sun/util/resources/TimeZoneNames_de.java Wed Jun 04 14:44:20 2014 +0100 +++ b/src/share/classes/sun/util/resources/TimeZoneNames_de.java Wed Jun 04 15:54:23 2014 +0100 @@ -477,6 +477,8 @@ {"Antarctica/South_Pole", NZST}, {"Antarctica/Syowa", new String[] {"Syowa Zeit", "SYOT", "Syowa Sommerzeit", "SYOST"}}, + {"Antarctica/Troll", new String[] {"Koordinierte Universalzeit", "UTC", + "Mitteleurop\u00e4ische Sommerzeit", "MESZ"}}, {"Antarctica/Vostok", new String[] {"Vostok Zeit", "VOST", "Vostok Sommerzeit", "VOSST"}}, {"Arctic/Longyearbyen", CET}, @@ -707,7 +709,7 @@ "Samarische Sommerzeit", "SAMST"}}, {"Europe/San_Marino", CET}, {"Europe/Sarajevo", CET}, - {"Europe/Simferopol", EET}, + {"Europe/Simferopol", MSK}, {"Europe/Skopje", CET}, {"Europe/Sofia", EET}, {"Europe/Stockholm", CET}, diff -r 8f2c6f02f002 -r 5607f5a99784 src/share/classes/sun/util/resources/TimeZoneNames_es.java --- a/src/share/classes/sun/util/resources/TimeZoneNames_es.java Wed Jun 04 14:44:20 2014 +0100 +++ b/src/share/classes/sun/util/resources/TimeZoneNames_es.java Wed Jun 04 15:54:23 2014 +0100 @@ -477,6 +477,8 @@ {"Antarctica/South_Pole", NZST}, {"Antarctica/Syowa", new String[] {"Hora de Syowa", "SYOT", "Hora de verano de Syowa", "SYOST"}}, + {"Antarctica/Troll", new String[] {"Hora Universal Coordinada", "UTC", + "Hora de verano de Europa Central", "CEST"}}, {"Antarctica/Vostok", new String[] {"Hora de Vostok", "VOST", "Hora de verano de Vostok", "VOSST"}}, {"Arctic/Longyearbyen", CET}, @@ -707,7 +709,7 @@ "Hora de verano de Samara", "SAMST"}}, {"Europe/San_Marino", CET}, {"Europe/Sarajevo", CET}, - {"Europe/Simferopol", EET}, + {"Europe/Simferopol", MSK}, {"Europe/Skopje", CET}, {"Europe/Sofia", EET}, {"Europe/Stockholm", CET}, diff -r 8f2c6f02f002 -r 5607f5a99784 src/share/classes/sun/util/resources/TimeZoneNames_fr.java --- a/src/share/classes/sun/util/resources/TimeZoneNames_fr.java Wed Jun 04 14:44:20 2014 +0100 +++ b/src/share/classes/sun/util/resources/TimeZoneNames_fr.java Wed Jun 04 15:54:23 2014 +0100 @@ -477,6 +477,8 @@ {"Antarctica/South_Pole", NZST}, {"Antarctica/Syowa", new String[] {"Heure de Syowa", "SYOT", "Heure d'\u00e9t\u00e9 de Syowa", "SYOST"}}, + {"Antarctica/Troll", new String[] {"Temps universel coordonn\u00e9", "UTC", + "Heure d'\u00e9t\u00e9 d'Europe centrale", "CEST"}}, {"Antarctica/Vostok", new String[] {"Heure de Vostok", "VOST", "Heure d'\u00e9t\u00e9 de Vostok", "VOSST"}}, {"Arctic/Longyearbyen", CET}, @@ -707,7 +709,7 @@ "Heure d'\u00e9t\u00e9 de Samara", "SAMST"}}, {"Europe/San_Marino", CET}, {"Europe/Sarajevo", CET}, - {"Europe/Simferopol", EET}, + {"Europe/Simferopol", MSK}, {"Europe/Skopje", CET}, {"Europe/Sofia", EET}, {"Europe/Stockholm", CET}, diff -r 8f2c6f02f002 -r 5607f5a99784 src/share/classes/sun/util/resources/TimeZoneNames_it.java --- a/src/share/classes/sun/util/resources/TimeZoneNames_it.java Wed Jun 04 14:44:20 2014 +0100 +++ b/src/share/classes/sun/util/resources/TimeZoneNames_it.java Wed Jun 04 15:54:23 2014 +0100 @@ -477,6 +477,8 @@ {"Antarctica/South_Pole", NZST}, {"Antarctica/Syowa", new String[] {"Ora di Syowa", "SYOT", "Ora estiva di Syowa", "SYOST"}}, + {"Antarctica/Troll", new String[] {"Tempo universale coordinato", "UTC", + "Ora estiva dell'Europa centrale", "CEST"}}, {"Antarctica/Vostok", new String[] {"Ora di Vostok", "VOST", "Ora estiva di Vostok", "VOSST"}}, {"Arctic/Longyearbyen", CET}, @@ -707,7 +709,7 @@ "Ora estiva di Samara", "SAMST"}}, {"Europe/San_Marino", CET}, {"Europe/Sarajevo", CET}, - {"Europe/Simferopol", EET}, + {"Europe/Simferopol", MSK}, {"Europe/Skopje", CET}, {"Europe/Sofia", EET}, {"Europe/Stockholm", CET}, diff -r 8f2c6f02f002 -r 5607f5a99784 src/share/classes/sun/util/resources/TimeZoneNames_ja.java --- a/src/share/classes/sun/util/resources/TimeZoneNames_ja.java Wed Jun 04 14:44:20 2014 +0100 +++ b/src/share/classes/sun/util/resources/TimeZoneNames_ja.java Wed Jun 04 15:54:23 2014 +0100 @@ -477,6 +477,8 @@ {"Antarctica/South_Pole", NZST}, {"Antarctica/Syowa", new String[] {"\u662d\u548c\u57fa\u5730\u6642\u9593", "SYOT", "\u662d\u548c\u57fa\u5730\u590f\u6642\u9593", "SYOST"}}, + {"Antarctica/Troll", new String[] {"\u5354\u5b9a\u4e16\u754c\u6642", "UTC", + "\u4e2d\u90e8\u30e8\u30fc\u30ed\u30c3\u30d1\u590f\u6642\u9593", "CEST"}}, {"Antarctica/Vostok", new String[] {"\u30dc\u30b9\u30c8\u30fc\u30af\u57fa\u5730\u6642\u9593", "VOST", "\u30dc\u30b9\u30c8\u30fc\u30af\u57fa\u5730\u590f\u6642\u9593", "VOSST"}}, {"Arctic/Longyearbyen", CET}, @@ -707,7 +709,7 @@ "\u30b5\u30de\u30e9\u590f\u6642\u9593", "SAMST"}}, {"Europe/San_Marino", CET}, {"Europe/Sarajevo", CET}, - {"Europe/Simferopol", EET}, + {"Europe/Simferopol", MSK}, {"Europe/Skopje", CET}, {"Europe/Sofia", EET}, {"Europe/Stockholm", CET}, diff -r 8f2c6f02f002 -r 5607f5a99784 src/share/classes/sun/util/resources/TimeZoneNames_ko.java --- a/src/share/classes/sun/util/resources/TimeZoneNames_ko.java Wed Jun 04 14:44:20 2014 +0100 +++ b/src/share/classes/sun/util/resources/TimeZoneNames_ko.java Wed Jun 04 15:54:23 2014 +0100 @@ -477,6 +477,8 @@ {"Antarctica/South_Pole", NZST}, {"Antarctica/Syowa", new String[] {"Syowa \uc2dc\uac04", "SYOT", "Syowa \uc77c\uad11\uc808\uc57d\uc2dc\uac04", "SYOST"}}, + {"Antarctica/Troll", new String[] {"\uc138\uacc4 \ud45c\uc900\uc2dc", "UTC", + "\uc911\uc559 \uc720\ub7fd \uc77c\uad11\uc808\uc57d\uc2dc\uac04", "CEST"}}, {"Antarctica/Vostok", new String[] {"Vostok \uc2dc\uac04", "VOST", "Vostok \uc77c\uad11\uc808\uc57d\uc2dc\uac04", "VOSST"}}, {"Arctic/Longyearbyen", CET}, @@ -707,7 +709,7 @@ "\uc0ac\ub9c8\ub77c \uc77c\uad11\uc808\uc57d\uc2dc\uac04", "SAMST"}}, {"Europe/San_Marino", CET}, {"Europe/Sarajevo", CET}, - {"Europe/Simferopol", EET}, + {"Europe/Simferopol", MSK}, {"Europe/Skopje", CET}, {"Europe/Sofia", EET}, {"Europe/Stockholm", CET}, diff -r 8f2c6f02f002 -r 5607f5a99784 src/share/classes/sun/util/resources/TimeZoneNames_pt_BR.java --- a/src/share/classes/sun/util/resources/TimeZoneNames_pt_BR.java Wed Jun 04 14:44:20 2014 +0100 +++ b/src/share/classes/sun/util/resources/TimeZoneNames_pt_BR.java Wed Jun 04 15:54:23 2014 +0100 @@ -477,6 +477,8 @@ {"Antarctica/South_Pole", NZST}, {"Antarctica/Syowa", new String[] {"Fuso hor\u00e1rio de Syowa", "SYOT", "Fuso hor\u00e1rio de ver\u00e3o de Syowa", "SYOST"}}, + {"Antarctica/Troll", new String[] {"Tempo universal coordenado", "UTC", + "Fuso hor\u00e1rio de ver\u00e3o da Europa Central", "CEST"}}, {"Antarctica/Vostok", new String[] {"Fuso hor\u00e1rio de Vostok", "VOST", "Fuso hor\u00e1rio de ver\u00e3o de Vostok", "VOSST"}}, {"Arctic/Longyearbyen", CET}, @@ -707,7 +709,7 @@ "Fuso hor\u00e1rio de ver\u00e3o de Samara", "SAMST"}}, {"Europe/San_Marino", CET}, {"Europe/Sarajevo", CET}, - {"Europe/Simferopol", EET}, + {"Europe/Simferopol", MSK}, {"Europe/Skopje", CET}, {"Europe/Sofia", EET}, {"Europe/Stockholm", CET}, diff -r 8f2c6f02f002 -r 5607f5a99784 src/share/classes/sun/util/resources/TimeZoneNames_sv.java --- a/src/share/classes/sun/util/resources/TimeZoneNames_sv.java Wed Jun 04 14:44:20 2014 +0100 +++ b/src/share/classes/sun/util/resources/TimeZoneNames_sv.java Wed Jun 04 15:54:23 2014 +0100 @@ -477,6 +477,8 @@ {"Antarctica/South_Pole", NZST}, {"Antarctica/Syowa", new String[] {"Syowa, normaltid", "SYOT", "Syowa, sommartid", "SYOST"}}, + {"Antarctica/Troll", new String[] {"Koordinerad universell tid", "UTC", + "Centraleuropeisk sommartid", "CEST"}}, {"Antarctica/Vostok", new String[] {"Vostok, normaltid", "VOST", "Vostok, sommartid", "VOSST"}}, {"Arctic/Longyearbyen", CET}, @@ -707,7 +709,7 @@ "Samara, sommartid", "SAMST"}}, {"Europe/San_Marino", CET}, {"Europe/Sarajevo", CET}, - {"Europe/Simferopol", EET}, + {"Europe/Simferopol", MSK}, {"Europe/Skopje", CET}, {"Europe/Sofia", EET}, {"Europe/Stockholm", CET}, diff -r 8f2c6f02f002 -r 5607f5a99784 src/share/classes/sun/util/resources/TimeZoneNames_zh_CN.java --- a/src/share/classes/sun/util/resources/TimeZoneNames_zh_CN.java Wed Jun 04 14:44:20 2014 +0100 +++ b/src/share/classes/sun/util/resources/TimeZoneNames_zh_CN.java Wed Jun 04 15:54:23 2014 +0100 @@ -477,6 +477,8 @@ {"Antarctica/South_Pole", NZST}, {"Antarctica/Syowa", new String[] {"Syowa \u65f6\u95f4", "SYOT", "Syowa \u590f\u4ee4\u65f6", "SYOST"}}, + {"Antarctica/Troll", new String[] {"\u534f\u8c03\u4e16\u754c\u65f6\u95f4", "UTC", + "\u4e2d\u6b27\u590f\u4ee4\u65f6", "CEST"}}, {"Antarctica/Vostok", new String[] {"\u83ab\u65af\u6258\u514b\u65f6\u95f4", "VOST", "\u83ab\u65af\u6258\u514b\u590f\u4ee4\u65f6", "VOSST"}}, {"Arctic/Longyearbyen", CET}, @@ -707,7 +709,7 @@ "\u6c99\u9a6c\u62c9\u590f\u4ee4\u65f6", "SAMST"}}, {"Europe/San_Marino", CET}, {"Europe/Sarajevo", CET}, - {"Europe/Simferopol", EET}, + {"Europe/Simferopol", MSK}, {"Europe/Skopje", CET}, {"Europe/Sofia", EET}, {"Europe/Stockholm", CET}, diff -r 8f2c6f02f002 -r 5607f5a99784 src/share/classes/sun/util/resources/TimeZoneNames_zh_TW.java --- a/src/share/classes/sun/util/resources/TimeZoneNames_zh_TW.java Wed Jun 04 14:44:20 2014 +0100 +++ b/src/share/classes/sun/util/resources/TimeZoneNames_zh_TW.java Wed Jun 04 15:54:23 2014 +0100 @@ -477,6 +477,8 @@ {"Antarctica/South_Pole", NZST}, {"Antarctica/Syowa", new String[] {"\u5915\u6b50\u74e6 (Syowa) \u6642\u9593", "SYOT", "\u5915\u6b50\u74e6 (Syowa) \u590f\u4ee4\u6642\u9593", "SYOST"}}, + {"Antarctica/Troll", new String[] {"\u5354\u8abf\u4e16\u754c\u6642\u9593", "UTC", + "\u4e2d\u6b50\u590f\u4ee4\u6642\u9593", "CEST"}}, {"Antarctica/Vostok", new String[] {"\u4f5b\u65af\u6258 (Vostok) \u6642\u9593", "VOST", "\u4f5b\u65af\u6258 (Vostok) \u590f\u4ee4\u6642\u9593", "VOSST"}}, {"Arctic/Longyearbyen", CET}, @@ -708,7 +710,7 @@ "\u6c99\u99ac\u62c9\u590f\u4ee4\u6642\u9593", "SAMST"}}, {"Europe/San_Marino", CET}, {"Europe/Sarajevo", CET}, - {"Europe/Simferopol", EET}, + {"Europe/Simferopol", MSK}, {"Europe/Skopje", CET}, {"Europe/Sofia", EET}, {"Europe/Stockholm", CET}, diff -r 8f2c6f02f002 -r 5607f5a99784 src/share/native/sun/security/ec/ecc_impl.h --- a/src/share/native/sun/security/ec/ecc_impl.h Wed Jun 04 14:44:20 2014 +0100 +++ b/src/share/native/sun/security/ec/ecc_impl.h Wed Jun 04 15:54:23 2014 +0100 @@ -49,8 +49,12 @@ #include #include #include +#ifdef LEGACY_NSS #include #else +#include +#endif +#else #include "ecl-exp.h" #endif From bugzilla-daemon at icedtea.classpath.org Wed Jun 4 16:04:05 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Jun 2014 16:04:05 +0000 Subject: [Bug 1742] [IcedTea7] Allow SunEC provider to be built with changes in NSS >= 3.16.1 In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1742 --- Comment #3 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea7-forest-2.5/jdk?cmd=changeset;node=9a6d705b6d65 author: andrew date: Fri Apr 18 23:39:11 2014 +0100 PR1742: Allow SunEC provider to be built with changes in NSS >= 3.16.1 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Wed Jun 4 16:38:16 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Jun 2014 16:38:16 +0000 Subject: [Bug 1753] [IcedTea7] Ant does not respect JAVA_HOME/jdk.home setting In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1753 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: From bugzilla-daemon at icedtea.classpath.org Wed Jun 4 16:38:16 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Jun 2014 16:38:16 +0000 Subject: [Bug 1284] [TRACKER] IcedTea 2.5.0 Release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1284 Bug 1284 depends on bug 1753, which changed state. Bug 1753 Summary: [IcedTea7] Ant does not respect JAVA_HOME/jdk.home setting http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1753 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: From bugzilla-daemon at icedtea.classpath.org Wed Jun 4 16:38:35 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Jun 2014 16:38:35 +0000 Subject: [Bug 1757] [IcedTea7] register_method usage in sharkCompiler.cpp needs to be adjusted following S7196199 In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1757 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: From bugzilla-daemon at icedtea.classpath.org Wed Jun 4 16:38:37 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Jun 2014 16:38:37 +0000 Subject: [Bug 1284] [TRACKER] IcedTea 2.5.0 Release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1284 Bug 1284 depends on bug 1757, which changed state. Bug 1757 Summary: [IcedTea7] register_method usage in sharkCompiler.cpp needs to be adjusted following S7196199 http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1757 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: From aazores at redhat.com Wed Jun 4 18:43:01 2014 From: aazores at redhat.com (Andrew Azores) Date: Wed, 4 Jun 2014 14:43:01 -0400 (EDT) Subject: [rfc][icedtea-web] PluginMessage test time zone In-Reply-To: <191556709.10594280.1401897412452.JavaMail.zimbra@redhat.com> References: <199700313.10013394.1401805318690.JavaMail.zimbra@redhat.com> <141484229.10013971.1401805395450.JavaMail.zimbra@redhat.com> <20140603144143.GC2405@redhat.com> <191556709.10594280.1401897412452.JavaMail.zimbra@redhat.com> Message-ID: <504413848.17946062.1401907381342.JavaMail.zimbra@redhat.com> It's surprising to me that this works with TEST_TIME being only given a value in the @BeforeClass, but used already to define the s1/s2/s3 fields as well. It does appear to work fine but at first glance this to me is not obvious at all that it is correct. I would be more comfortable with it if the fields s1/s2/s3 were defined as fields but not given their values in the @BeforeClass as well, after TEST_TIME has already been set. Then it is much more obvious IMO that the fields have the correct values that they should. Otherwise, looks good. One other thing would be to make s1/s2/s3 private. Alternatively, instead of @BeforeClass, you can probably use a static initializer instead. This would also allow s1/s2/s3 to be made static final, aka actual constants. Thanks, Andrew A ----- Original Message ----- > > > ----- Original Message ----- > > From: "Omair Majid" > > To: "Lukasz Dracz" > > Cc: distro-pkg-dev at openjdk.java.net > > Sent: Tuesday, June 3, 2014 10:41:44 AM > > Subject: Re: [rfc][icedtea-web] PluginMessage test time zone > > > > > > An alternative is to explicitly set (and then restore) the locale using > > Locale.setDefault() in a @Before (and restore in an @After) method. This > > ensures the test always sees the same locale, irrespective of the system > > locale. If you are dealing with timestamps, this is often an easier > > approach to use. > > > > Thank you for your suggestion, I have looked into this and implemented it in > this way. > > > > +++ > > > b/tests/netx/unit/net/sourceforge/jnlp/util/logging/JavaConsoleTest.java > > > Tue Jun 03 10:18:24 2014 -0400 > > > > > + Date localized = new Date(); > > > + localized.setTime(new SimpleDateFormat("EEE MMM dd HH:mm:ss ZZZ > > > yyyy").parse(TEST_TIME).getTime()); > > > > Why not just: > > > > Date localized = new SimpleDateFormat(...).parse(...) > > > > You're right that is better way. > > > Thanks, > > Omair > > > > -- > > PGP Key: 66484681 (http://pgp.mit.edu/) > > Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 > > > > I have attached the updated patch. > > Thank you, > Lukasz Dracz From ldracz at redhat.com Wed Jun 4 18:55:44 2014 From: ldracz at redhat.com (Lukasz Dracz) Date: Wed, 4 Jun 2014 14:55:44 -0400 (EDT) Subject: [rfc][icedtea-web] PluginMessage test time zone In-Reply-To: <504413848.17946062.1401907381342.JavaMail.zimbra@redhat.com> References: <199700313.10013394.1401805318690.JavaMail.zimbra@redhat.com> <141484229.10013971.1401805395450.JavaMail.zimbra@redhat.com> <20140603144143.GC2405@redhat.com> <191556709.10594280.1401897412452.JavaMail.zimbra@redhat.com> <504413848.17946062.1401907381342.JavaMail.zimbra@redhat.com> Message-ID: <1158552935.10671051.1401908144186.JavaMail.zimbra@redhat.com> ----- Original Message ----- > From: "Andrew Azores" > To: "Lukasz Dracz" > Cc: "Omair Majid" , distro-pkg-dev at openjdk.java.net > Sent: Wednesday, June 4, 2014 2:43:01 PM > Subject: Re: [rfc][icedtea-web] PluginMessage test time zone > > It's surprising to me that this works with TEST_TIME being only given a value > in the @BeforeClass, but used already to define the s1/s2/s3 fields as well. > It does appear to work fine but at first glance this to me is not obvious at > all that it is correct. I would be more comfortable with it if the fields > s1/s2/s3 were defined as fields but not given their values in the > @BeforeClass as well, after TEST_TIME has already been set. Then it is much > more obvious IMO that the fields have the correct values that they should. > Otherwise, looks good. One other thing would be to make s1/s2/s3 private. > > Alternatively, instead of @BeforeClass, you can probably use a static > initializer instead. This would also allow s1/s2/s3 to be made static final, > aka actual constants. > > Thanks, > > Andrew A Hello, I have taken your suggestion and applied it. The patch is attached. Thanks, Lukasz Dracz -------------- next part -------------- A non-text attachment was scrubbed... Name: CreatePluginHeaderTestOkChanges-5.patch Type: text/x-patch Size: 5296 bytes Desc: not available URL: From jkang at redhat.com Wed Jun 4 18:59:06 2014 From: jkang at redhat.com (Jie Kang) Date: Wed, 4 Jun 2014 14:59:06 -0400 (EDT) Subject: [rfc][icedtea-web] Refactor of LiveConnect Tests Version 2 In-Reply-To: <1529622958.9604504.1401722424370.JavaMail.zimbra@redhat.com> References: <1529622958.9604504.1401722424370.JavaMail.zimbra@redhat.com> Message-ID: <2063359446.10672487.1401908346701.JavaMail.zimbra@redhat.com> Hello, This patch refactors the LiveConnect Tests and also modifies the Makefile.am in order to allow for shared resources to be used during test runs. E.g. the refactored tests all use the same function located in file JSTest.js. This is located in tests/shared/resources and when dist-tests are run, there is a new stamp compile-copy-shared-resources.stamp that is created that also moves the files in the shared folder into the appropriate folder for test runs. This currently works for reproducer tests and may be expanded on in the future. Regards, Jie Kang ----- Original Message ----- > Hello, > > This patch refactors the majority of LiveConnect Tests (JS to Java and > vice-versa) fixing the race condition between asynchronous JS and the > J-applet. Code format is standardized and deprecated code usage is > removed/replaced. Note that the file JSTest.js is duplicated for all > LiveConnect Tests. This is because every single test requires the same > function in JSTest.js to prevent the race condition from occurring. However, > the test suite is not designed to easily have this code appear only once > while also having tests be properly separate (ie. every single test-case > should be able to run by itself without relying on another test case). If > anyone has any suggestions on how to better implement this please say. > > > Thanks, > > Jie Kang -------------- next part -------------- A non-text attachment was scrubbed... Name: liveconnect-testrefactor-2.patch Type: text/x-patch Size: 128587 bytes Desc: not available URL: From aazores at redhat.com Wed Jun 4 19:00:40 2014 From: aazores at redhat.com (Andrew Azores) Date: Wed, 4 Jun 2014 15:00:40 -0400 (EDT) Subject: [rfc][icedtea-web] PluginMessage test time zone In-Reply-To: <1158552935.10671051.1401908144186.JavaMail.zimbra@redhat.com> References: <199700313.10013394.1401805318690.JavaMail.zimbra@redhat.com> <141484229.10013971.1401805395450.JavaMail.zimbra@redhat.com> <20140603144143.GC2405@redhat.com> <191556709.10594280.1401897412452.JavaMail.zimbra@redhat.com> <504413848.17946062.1401907381342.JavaMail.zimbra@redhat.com> <1158552935.10671051.1401908144186.JavaMail.zimbra@redhat.com> Message-ID: <1756197587.17957630.1401908440937.JavaMail.zimbra@redhat.com> Looks good, I'll push this for you. Thanks, Andrew A ----- Original Message ----- > > > ----- Original Message ----- > > From: "Andrew Azores" > > To: "Lukasz Dracz" > > Cc: "Omair Majid" , distro-pkg-dev at openjdk.java.net > > Sent: Wednesday, June 4, 2014 2:43:01 PM > > Subject: Re: [rfc][icedtea-web] PluginMessage test time zone > > > > It's surprising to me that this works with TEST_TIME being only given a > > value > > in the @BeforeClass, but used already to define the s1/s2/s3 fields as > > well. > > It does appear to work fine but at first glance this to me is not obvious > > at > > all that it is correct. I would be more comfortable with it if the fields > > s1/s2/s3 were defined as fields but not given their values in the > > @BeforeClass as well, after TEST_TIME has already been set. Then it is much > > more obvious IMO that the fields have the correct values that they should. > > Otherwise, looks good. One other thing would be to make s1/s2/s3 private. > > > > Alternatively, instead of @BeforeClass, you can probably use a static > > initializer instead. This would also allow s1/s2/s3 to be made static > > final, > > aka actual constants. > > > > Thanks, > > > > Andrew A > > Hello, > > I have taken your suggestion and applied it. > The patch is attached. > > Thanks, > Lukasz Dracz > > From bugzilla-daemon at icedtea.classpath.org Wed Jun 4 19:14:52 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Jun 2014 19:14:52 +0000 Subject: [Bug 1827] New: [IcedTea7] Support AM_MAINTAINER mode Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1827 Bug ID: 1827 Summary: [IcedTea7] Support AM_MAINTAINER mode Product: IcedTea Version: 7-hg Hardware: all OS: All Status: NEW Severity: enhancement Priority: P5 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: gnu.andrew at redhat.com CC: unassigned at icedtea.classpath.org https://www.gnu.org/software/automake/manual/html_node/maintainer_002dmode.html -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Wed Jun 4 19:15:13 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Jun 2014 19:15:13 +0000 Subject: [Bug 1284] [TRACKER] IcedTea 2.5.0 Release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1284 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on| |1827 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Wed Jun 4 19:15:13 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Jun 2014 19:15:13 +0000 Subject: [Bug 1827] [IcedTea7] Support AM_MAINTAINER mode In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1827 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Blocks| |1284 Target Milestone|--- |2.5.0 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Wed Jun 4 19:15:42 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Jun 2014 19:15:42 +0000 Subject: [Bug 1828] New: [IcedTea6] Support AM_MAINTAINER mode Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1828 Bug ID: 1828 Summary: [IcedTea6] Support AM_MAINTAINER mode Product: IcedTea Version: 6-hg Hardware: all OS: All Status: NEW Severity: enhancement Priority: P5 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: gnu.andrew at redhat.com CC: unassigned at icedtea.classpath.org https://www.gnu.org/software/automake/manual/html_node/maintainer_002dmode.html -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Wed Jun 4 19:16:05 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Jun 2014 19:16:05 +0000 Subject: [Bug 1828] [IcedTea6] Support AM_MAINTAINER mode In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1828 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Blocks| |1503 Target Milestone|--- |6-1.14.0 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Wed Jun 4 19:16:05 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Jun 2014 19:16:05 +0000 Subject: [Bug 1503] [TRACKER] IcedTea6 1.14 Release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1503 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on| |1828 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Wed Jun 4 19:16:40 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Jun 2014 19:16:40 +0000 Subject: [Bug 1829] New: [IcedTea8] Support AM_MAINTAINER mode Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1829 Bug ID: 1829 Summary: [IcedTea8] Support AM_MAINTAINER mode Product: IcedTea Version: 8-hg Hardware: all OS: All Status: NEW Severity: enhancement Priority: P5 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: gnu.andrew at redhat.com CC: unassigned at icedtea.classpath.org https://www.gnu.org/software/automake/manual/html_node/maintainer_002dmode.html -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Wed Jun 4 19:17:00 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Jun 2014 19:17:00 +0000 Subject: [Bug 1829] [IcedTea8] Support AM_MAINTAINER mode In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1829 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Blocks| |1282 Target Milestone|--- |3.0.0 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Wed Jun 4 19:17:00 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Jun 2014 19:17:00 +0000 Subject: [Bug 1282] [TRACKER] IcedTea 3.0.0 Release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1282 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on| |1829 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From aazores at icedtea.classpath.org Wed Jun 4 19:19:11 2014 From: aazores at icedtea.classpath.org (aazores at icedtea.classpath.org) Date: Wed, 04 Jun 2014 19:19:11 +0000 Subject: /hg/icedtea-web: Fixed CreatePluginHeaderTestOk to use default T... Message-ID: changeset 5216f615240c in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=5216f615240c author: Lukasz Dracz date: Wed Jun 04 15:18:50 2014 -0400 Fixed CreatePluginHeaderTestOk to use default TimeZone, not hardcoded CET 2014-06-04 Lukasz Dracz Fixed Time Zone difference failure in unit test CreatePluginHeaderTestOk * unit/net/sourceforge/jnlp/util/logging/JavaConsoleTest.java: Test suite would check for the time in CET against the user's time value converted into their local timezone. Created a Date variable that ensures time passed into PluginMessage and the one being checked are of the same time zone. diffstat: ChangeLog | 9 ++++ tests/netx/unit/net/sourceforge/jnlp/util/logging/JavaConsoleTest.java | 21 +++++---- 2 files changed, 21 insertions(+), 9 deletions(-) diffs (70 lines): diff -r d9ff050f08bb -r 5216f615240c ChangeLog --- a/ChangeLog Tue Jun 03 17:21:11 2014 -0400 +++ b/ChangeLog Wed Jun 04 15:18:50 2014 -0400 @@ -1,3 +1,12 @@ +2014-06-04 Lukasz Dracz + + Fixed Time Zone difference failure in unit test CreatePluginHeaderTestOk + * unit/net/sourceforge/jnlp/util/logging/JavaConsoleTest.java: + Test suite would check for the time in CET against the user's time value + converted into their local timezone. Created a Date variable that + ensures time passed into PluginMessage and the one being checked are + of the same time zone. + 2014-06-03 Andrew Azores Added indicator method for if PolicyEditor is currently performing file diff -r d9ff050f08bb -r 5216f615240c tests/netx/unit/net/sourceforge/jnlp/util/logging/JavaConsoleTest.java --- a/tests/netx/unit/net/sourceforge/jnlp/util/logging/JavaConsoleTest.java Tue Jun 03 17:21:11 2014 -0400 +++ b/tests/netx/unit/net/sourceforge/jnlp/util/logging/JavaConsoleTest.java Wed Jun 04 15:18:50 2014 -0400 @@ -6,30 +6,33 @@ package net.sourceforge.jnlp.util.logging; import java.util.Date; +import java.util.TimeZone; + import net.sourceforge.jnlp.util.logging.headers.PluginMessage; + import org.junit.Assert; import org.junit.Test; public class JavaConsoleTest { - - String s1 = "plugindebug 1384850630162925 [jvanek][ITW-C-PLUGIN][MESSAGE_DEBUG][Tue Nov 19 09:43:50 CET 2013][/home/jvanek/Desktop/icedtea-web/plugin/icedteanp/IcedTeaNPPlugin.cc:1204] ITNPP Thread# 140513434003264, gthread 0x7fcbd531f8c0: PIPE: plugin read: plugin PluginProxyInfo reference 1 http://www.walter-fendt.de:80"; - String s2 = "plugindebugX 1384850630162954 [jvanek][ITW-Cplugindebug 1384850630163008 [jvanek][ITW-C-PLUGIN][MESSAGE_DEBUG][Tue Nov 19 09:43:50 CET 2013][/home/jvanek/Desktop/icedtea-web/plugin/icedteanp/IcedTeaNPPlugin.cc:1124] ITNPP Thread# 140513434003264, gthread 0x7fcbd531f8c0: parts[0]=plugin, parts[1]=PluginProxyInfo, reference, parts[3]=1, parts[4]=http://www.walter-fendt.de:80 -- decoded_url=http://www.walter-fendt.de:80"; - String s3 = "preinit_pluginerror 1384850630163298 [jvanek][ITW-C-PLUGIN][MESSAGE_DEBUG][Tue Nov 19 09:43:50 CET 2013][/home/jvanek/Desktop/icedtea-web/plugin/icedteanp/IcedTeaNPPlugin.cc:1134] ITNPP Thread# 140513434003264, gthread 0x7fcbd531f8c0: Proxy info: plugin PluginProxyInfo reference 1 DIRECT"; + private static final String TEST_TIME = "Tue Nov 19 09:43:50 "+TimeZone.getDefault().getDisplayName(false, TimeZone.SHORT)+" 2013"; + private static final String S1 = "plugindebug 1384850630162925 [jvanek][ITW-C-PLUGIN][MESSAGE_DEBUG]["+TEST_TIME+"][/home/jvanek/Desktop/icedtea-web/plugin/icedteanp/IcedTeaNPPlugin.cc:1204] ITNPP Thread# 140513434003264, gthread 0x7fcbd531f8c0: PIPE: plugin read: plugin PluginProxyInfo reference 1 http://www.walter-fendt.de:80"; + private static final String S2 = "plugindebugX 1384850630162954 [jvanek][ITW-Cplugindebug 1384850630163008 [jvanek][ITW-C-PLUGIN][MESSAGE_DEBUG]["+TEST_TIME+"][/home/jvanek/Desktop/icedtea-web/plugin/icedteanp/IcedTeaNPPlugin.cc:1124] ITNPP Thread# 140513434003264, gthread 0x7fcbd531f8c0: parts[0]=plugin, parts[1]=PluginProxyInfo, reference, parts[3]=1, parts[4]=http://www.walter-fendt.de:80 -- decoded_url=http://www.walter-fendt.de:80"; + private static final String S3 = "preinit_pluginerror 1384850630163298 [jvanek][ITW-C-PLUGIN][MESSAGE_DEBUG]["+TEST_TIME+"][/home/jvanek/Desktop/icedtea-web/plugin/icedteanp/IcedTeaNPPlugin.cc:1134] ITNPP Thread# 140513434003264, gthread 0x7fcbd531f8c0: Proxy info: plugin PluginProxyInfo reference 1 DIRECT"; @Test public void CreatePluginHeaderTestOK() throws Exception{ - PluginMessage p1 = new PluginMessage(s1); - PluginMessage p3 = new PluginMessage(s3); + PluginMessage p1 = new PluginMessage(S1); + PluginMessage p3 = new PluginMessage(S3); Assert.assertFalse(p1.wasError); Assert.assertFalse(p3.wasError); Assert.assertTrue(p1.header.isC); Assert.assertTrue(p3.header.isC); Assert.assertEquals(OutputController.Level.MESSAGE_DEBUG,p1.header.level); Assert.assertEquals(OutputController.Level.ERROR_ALL,p3.header.level); - Assert.assertTrue(p1.header.date.toString().contains("Tue Nov 19 09:43:50") && p1.header.date.toString().contains("2013")); - Assert.assertTrue(p3.header.date.toString().contains("Tue Nov 19 09:43:50") && p3.header.date.toString().contains("2013")); + Assert.assertTrue(p1.header.date.toString().contains(TEST_TIME) && p1.header.date.toString().contains("2013")); + Assert.assertTrue(p3.header.date.toString().contains(TEST_TIME) && p3.header.date.toString().contains("2013")); Assert.assertTrue(p1.header.caller.contains("/home/jvanek")); Assert.assertTrue(p3.header.caller.contains("/home/jvanek")); Assert.assertTrue(p1.header.user.equals("jvanek")); @@ -44,7 +47,7 @@ } @Test public void CreatePluginHeaderTestNotOK()throws Exception{ - PluginMessage p2 = new PluginMessage(s2); + PluginMessage p2 = new PluginMessage(S2); Assert.assertTrue(p2.wasError); Assert.assertTrue(p2.header.isC); Assert.assertEquals(OutputController.Level.WARNING_ALL,p2.header.level); From bugzilla-daemon at icedtea.classpath.org Wed Jun 4 19:25:38 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Jun 2014 19:25:38 +0000 Subject: [Bug 1830] New: [IcedTea7] Drop version requirement for LCMS 2 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1830 Bug ID: 1830 Summary: [IcedTea7] Drop version requirement for LCMS 2 Product: IcedTea Version: 7-hg Hardware: all OS: All Status: NEW Severity: normal Priority: P5 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: gnu.andrew at redhat.com CC: unassigned at icedtea.classpath.org The requirement for version 2.5 of LCMS was introduced before 2.5 was released to ensure that the updated in-tree version with security fixes was used in preference to the system version while the security fixes rolled out to the system version. However, since that time, some distributions have backported the security fixes to older releases which now fail this test, despite being secure. Also, with more recent security updates, we've adopted a policy of leaving security updates to system libraries down to the distribution to fix. With 2.4.7 [0], there were further updates to LCMS and also libjpeg & libpng that were either already present in distros or left to them to handle. [0] http://blog.fuseyism.com/index.php/2014/04/16/security-icedtea-2-4-7-for-openjdk-7-released/ -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Wed Jun 4 19:25:56 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Jun 2014 19:25:56 +0000 Subject: [Bug 1830] [IcedTea7] Drop version requirement for LCMS 2 In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1830 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Blocks| |1284 Target Milestone|--- |2.5.0 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Wed Jun 4 19:25:56 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Jun 2014 19:25:56 +0000 Subject: [Bug 1284] [TRACKER] IcedTea 2.5.0 Release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1284 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on| |1830 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Wed Jun 4 19:26:45 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Jun 2014 19:26:45 +0000 Subject: [Bug 1831] New: [IcedTea6] Drop version requirement for LCMS 2 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1831 Bug ID: 1831 Summary: [IcedTea6] Drop version requirement for LCMS 2 Product: IcedTea Version: 6-hg Hardware: all OS: All Status: NEW Severity: normal Priority: P5 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: gnu.andrew at redhat.com CC: unassigned at icedtea.classpath.org The requirement for version 2.5 of LCMS was introduced before 2.5 was released to ensure that the updated in-tree version with security fixes was used in preference to the system version while the security fixes rolled out to the system version. However, since that time, some distributions have backported the security fixes to older releases which now fail this test, despite being secure. Also, with more recent security updates, we've adopted a policy of leaving security updates to system libraries down to the distribution to fix. With 2.4.7 [0], there were further updates to LCMS and also libjpeg & libpng that were either already present in distros or left to them to handle. [0] http://blog.fuseyism.com/index.php/2014/04/16/security-icedtea-2-4-7-for-openjdk-7-released/ -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Wed Jun 4 19:27:24 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Jun 2014 19:27:24 +0000 Subject: [Bug 1831] [IcedTea6] Drop version requirement for LCMS 2 In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1831 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Target Milestone|--- |6-1.13.4 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Wed Jun 4 19:31:30 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Jun 2014 19:31:30 +0000 Subject: [Bug 1832] New: [IcedTea6] Report elliptic curves supported by NSS, not the SunEC library Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1832 Bug ID: 1832 Summary: [IcedTea6] Report elliptic curves supported by NSS, not the SunEC library Product: IcedTea Version: 6-hg Hardware: all OS: All Status: NEW Severity: normal Priority: P5 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: gnu.andrew at redhat.com CC: unassigned at icedtea.classpath.org The in-tree SunEC library's native ECC code supports a lot more curves than NSS and it is this list which is reported to clients by the Java code. If using NSS, the Java code should be patched to only reported the supported curves. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Wed Jun 4 19:31:53 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Jun 2014 19:31:53 +0000 Subject: [Bug 1832] [IcedTea6] Report elliptic curves supported by NSS, not the SunEC library In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1832 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED URL| |https://bugs.launchpad.net/ | |centos/+bug/1006776 Target Milestone|--- |6-1.13.4 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Wed Jun 4 19:33:25 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Jun 2014 19:33:25 +0000 Subject: [Bug 1833] New: [IcedTea7] Report elliptic curves supported by NSS, not the SunEC library Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1833 Bug ID: 1833 Summary: [IcedTea7] Report elliptic curves supported by NSS, not the SunEC library Product: IcedTea Version: 7-hg Hardware: all OS: All Status: NEW Severity: normal Priority: P5 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: gnu.andrew at redhat.com CC: unassigned at icedtea.classpath.org The in-tree SunEC library's native ECC code supports a lot more curves than NSS (either via PKCS11 or when linked against the SunEC provider) and it is this list which is reported to clients by the Java code. If using NSS or the system-linked version of the SunEC provider, the Java code should be patched to only reported the supported curves. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Wed Jun 4 19:34:03 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Jun 2014 19:34:03 +0000 Subject: [Bug 1284] [TRACKER] IcedTea 2.5.0 Release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1284 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on| |1833 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Wed Jun 4 19:34:03 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Jun 2014 19:34:03 +0000 Subject: [Bug 1833] [IcedTea7] Report elliptic curves supported by NSS, not the SunEC library In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1833 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Blocks| |1284 Target Milestone|--- |2.5.0 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Wed Jun 4 19:35:13 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Jun 2014 19:35:13 +0000 Subject: [Bug 1834] New: [IcedTea8] Report elliptic curves supported by NSS, not the SunEC library Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1834 Bug ID: 1834 Summary: [IcedTea8] Report elliptic curves supported by NSS, not the SunEC library Product: IcedTea Version: 8-hg Hardware: all OS: All Status: NEW Severity: normal Priority: P5 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: gnu.andrew at redhat.com CC: unassigned at icedtea.classpath.org Clone of PR1833. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Wed Jun 4 19:35:26 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Jun 2014 19:35:26 +0000 Subject: [Bug 1834] [IcedTea8] Report elliptic curves supported by NSS, not the SunEC library In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1834 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Blocks| |1282 Target Milestone|--- |3.0.0 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Wed Jun 4 19:35:26 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 04 Jun 2014 19:35:26 +0000 Subject: [Bug 1282] [TRACKER] IcedTea 3.0.0 Release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1282 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on| |1834 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From ldracz at redhat.com Wed Jun 4 20:51:58 2014 From: ldracz at redhat.com (Lukasz Dracz) Date: Wed, 4 Jun 2014 16:51:58 -0400 (EDT) Subject: [rfc][icedtea-web][policyeditor] Enhancement: added Rename, Copy, and Paste actions In-Reply-To: <538F31B8.9040103@redhat.com> References: <5388D9C7.3090006@redhat.com> <538E4B21.8020403@redhat.com> <538F31B8.9040103@redhat.com> Message-ID: <1209980329.10740041.1401915118279.JavaMail.zimbra@redhat.com> > > Attached is an updated version that applies cleanly to HEAD. > > > > Still not included are key accelerators or mnemonics for the new menu > > items. I'm going to go through and redo all of them in a later patch. > > > > Thanks, > > > > Very slight update. I noticed that the Rename action didn't ensure that > a codebase wasn't renamed to an already existing other codebase, which > would allow the already existing codebase to be deleted in favour of the > newly renamed one. This is solved just by checking if the desired rename > is already present in another codebase entry and, if so, re-prompting > for a codebase name. > > Thanks, > > -- > Andrew A > > Hello, Great update ! Looks good to me, +0.5. Thank you, Lukasz Dracz From jkang at redhat.com Wed Jun 4 20:53:35 2014 From: jkang at redhat.com (Jie Kang) Date: Wed, 4 Jun 2014 16:53:35 -0400 (EDT) Subject: [rfc][icedtea-web][policyeditor] Enhancement: added Rename, Copy, and Paste actions In-Reply-To: <538F31B8.9040103@redhat.com> References: <5388D9C7.3090006@redhat.com> <538E4B21.8020403@redhat.com> <538F31B8.9040103@redhat.com> Message-ID: <1069787673.10740900.1401915215636.JavaMail.zimbra@redhat.com> Hello, ----- Original Message ----- > On 06/03/2014 06:24 PM, Andrew Azores wrote: > > On 05/30/2014 03:19 PM, Andrew Azores wrote: > >> Hi, > >> > >> As alluded to in the subject, this patch adds three new actions to > >> PolicyEditor. They are all available through the new Edit menu. The > >> Rename action allows a codebase entry to be renamed, keeping all of > >> the same permissions. The Copy and Paste actions can be used to > >> duplicate the permissions of one codebase and grant them to a new > >> codebase, which makes it easier to produce two codebase entries with > >> very similar permissions granted. > >> > >> This patch also fixes a bug where removing a codebase only did so for > >> the standard permissions map which models the checkboxes in the main > >> PolicyEditor UI, but did not remove custom permissions granted to the > >> codebase through CustomPolicyViewer. There are also some very minor > >> refactors included, noted in the in-patch ChangeLog. > >> > >> Thanks, > >> Code analysis: it looks okay When running manual tests everything works as expected. Unit tests on my machine also have no new failures. I will run integration tests as well later on. My one recommendation would be to separate Data and View a little more (e.g. atm copy/paste/rename are only exposed through GUI but should probably be standalone that GUI 'connects' to). Maybe also consider making Codebases their own class/object. Otherwise looks good. > > > > Attached is an updated version that applies cleanly to HEAD. > > > > Still not included are key accelerators or mnemonics for the new menu > > items. I'm going to go through and redo all of them in a later patch. > > > > Thanks, > > > > Very slight update. I noticed that the Rename action didn't ensure that > a codebase wasn't renamed to an already existing other codebase, which > would allow the already existing codebase to be deleted in favour of the > newly renamed one. This is solved just by checking if the desired rename > is already present in another codebase entry and, if so, re-prompting > for a codebase name. > > Thanks, > > -- > Andrew A > > Regards, Jie From ptisnovs at icedtea.classpath.org Thu Jun 5 08:42:57 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Thu, 05 Jun 2014 08:42:57 +0000 Subject: /hg/gfx-test: Eight tests added into CAGOperationsOnTwoOverlappi... Message-ID: changeset fa7132117625 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=fa7132117625 author: Pavel Tisnovsky date: Thu Jun 05 10:43:44 2014 +0200 Eight tests added into CAGOperationsOnTwoOverlappingCircles. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/CAGOperationsOnTwoOverlappingCircles.java | 2776 +++++---- 2 files changed, 1493 insertions(+), 1288 deletions(-) diffs (truncated from 2862 to 500 lines): diff -r 538a053adff8 -r fa7132117625 ChangeLog --- a/ChangeLog Wed Jun 04 11:30:59 2014 +0200 +++ b/ChangeLog Thu Jun 05 10:43:44 2014 +0200 @@ -1,3 +1,8 @@ +2014-06-05 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/CAGOperationsOnTwoOverlappingCircles.java: + Eight tests added into CAGOperationsOnTwoOverlappingCircles. + 2014-06-04 Pavel Tisnovsky * src/org/gfxtest/testsuites/CAGOperationsOnTwoConcentricCircles.java: diff -r 538a053adff8 -r fa7132117625 src/org/gfxtest/testsuites/CAGOperationsOnTwoOverlappingCircles.java --- a/src/org/gfxtest/testsuites/CAGOperationsOnTwoOverlappingCircles.java Wed Jun 04 11:30:59 2014 +0200 +++ b/src/org/gfxtest/testsuites/CAGOperationsOnTwoOverlappingCircles.java Thu Jun 05 10:43:44 2014 +0200 @@ -1,1358 +1,1558 @@ - /* - Java gfx-test framework +/* + Java gfx-test framework - Copyright (C) 2010, 2011, 2012, 2013, 2014 Red Hat + Copyright (C) 2010, 2011, 2012, 2013, 2014 Red Hat - This file is part of IcedTea. +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 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. +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. +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. +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. - */ +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 org.gfxtest.testsuites; +package org.gfxtest.testsuites; - import java.awt.Graphics2D; - import java.awt.geom.Area; +import java.awt.Graphics2D; +import java.awt.geom.Area; - import org.gfxtest.framework.*; - import org.gfxtest.framework.annotations.*; +import org.gfxtest.framework.*; +import org.gfxtest.framework.annotations.*; - /** - * This test checks the process of creating and rendering new geometric shapes - * by performing boolean operations on existing ones. This process is often - * called Constructive area geometry (CAG). All CAG operations - union, - * intersection, subtraction and XOR - is processed on two circular Areas. - * Circles which are the basis of the areas are overlapping. - * - * @author Pavel Tisnovsky - */ - @TestType(TestTypes.RENDER_TEST) - @GraphicsPrimitive(GraphicsPrimitives.AREA) - @RenderStyle(RenderStyles.FILL) - @Transformation(Transformations.NONE) - @Zoom(1) - public class CAGOperationsOnTwoOverlappingCircles extends GfxTest - { +/** + * This test checks the process of creating and rendering new geometric shapes + * by performing boolean operations on existing ones. This process is often + * called Constructive area geometry (CAG). All CAG operations - union, + * intersection, subtraction and XOR - is processed on two circular Areas. + * Circles which are the basis of the areas are overlapping. + * + * @author Pavel Tisnovsky + */ + at TestType(TestTypes.RENDER_TEST) + at GraphicsPrimitive(GraphicsPrimitives.AREA) + at RenderStyle(RenderStyles.FILL) + at Transformation(Transformations.NONE) + at Zoom(1) +public class CAGOperationsOnTwoOverlappingCircles extends GfxTest +{ - /** - * Checks the process of creating and rendering new geometric shape - * constructed from two overlapping circles using union operator. The shape is rendered - * using stroke. - * - * @param image - * image to which area is to be drawn - * @param graphics2d - * graphics canvas - * @return test result status - PASSED, FAILED or ERROR - */ - public TestResult testUnionStrokePaint(TestImage image, Graphics2D graphics2d) - { - // set stroke color - CommonRenderingStyles.setStrokeColor(graphics2d); - // create area using union operator - Area area = CommonCAGOperations.createAreaFromTwoOverlappingCirclesUsingUnionOperator(image); - // draw the area - graphics2d.draw(area); - // test result - return TestResult.PASSED; - } + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two overlapping circles using union operator. The shape is rendered + * using stroke. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testUnionStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // create area using union operator + Area area = CommonCAGOperations.createAreaFromTwoOverlappingCirclesUsingUnionOperator(image); + // draw the area + graphics2d.draw(area); + // test result + return TestResult.PASSED; + } - /** - * Checks the process of creating and rendering new geometric shape - * constructed from two overlapping circles using subtract operator. The shape is - * rendered using stroke. - * - * @param image - * image to which area is to be drawn - * @param graphics2d - * graphics canvas - * @return test result status - PASSED, FAILED or ERROR - */ - public TestResult testSubtractStrokePaint(TestImage image, Graphics2D graphics2d) - { - // set stroke color - CommonRenderingStyles.setStrokeColor(graphics2d); - // create area using subtract operator - Area area = CommonCAGOperations.createAreaFromTwoOverlappingCirclesUsingSubtractOperator(image); - // draw the area - graphics2d.draw(area); - // test result - return TestResult.PASSED; - } + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two overlapping circles using subtract operator. The shape is + * rendered using stroke. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testSubtractStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // create area using subtract operator + Area area = CommonCAGOperations.createAreaFromTwoOverlappingCirclesUsingSubtractOperator(image); + // draw the area + graphics2d.draw(area); + // test result + return TestResult.PASSED; + } - /** - * Checks the process of creating and rendering new geometric shape - * constructed from two overlapping circles using inverse subtract operator. The shape - * is rendered using stroke. - * - * @param image - * image to which area is to be drawn - * @param graphics2d - * graphics canvas - * @return test result status - PASSED, FAILED or ERROR - */ - public TestResult testInverseSubtractStrokePaint(TestImage image, Graphics2D graphics2d) - { - // set stroke color - CommonRenderingStyles.setStrokeColor(graphics2d); - // create area using subtract operator - Area area = CommonCAGOperations.createAreaFromTwoOverlappingCirclesUsingInverseSubtractOperator(image); - // draw the area - graphics2d.draw(area); - // test result - return TestResult.PASSED; - } + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two overlapping circles using inverse subtract operator. The shape + * is rendered using stroke. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testInverseSubtractStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // create area using subtract operator + Area area = CommonCAGOperations.createAreaFromTwoOverlappingCirclesUsingInverseSubtractOperator(image); + // draw the area + graphics2d.draw(area); + // test result + return TestResult.PASSED; + } - /** - * Checks the process of creating and rendering new geometric shape - * constructed from two overlapping circles using intersect operator. The shape is - * rendered using stroke. - * - * @param image - * image to which area is to be drawn - * @param graphics2d - * graphics canvas - * @return test result status - PASSED, FAILED or ERROR - */ - public TestResult testIntersectStrokePaint(TestImage image, Graphics2D graphics2d) - { - // set stroke color - CommonRenderingStyles.setStrokeColor(graphics2d); - // create area using intersect operator - Area area = CommonCAGOperations.createAreaFromTwoOverlappingCirclesUsingIntersectOperator(image); - // draw the area - graphics2d.draw(area); - // test result - return TestResult.PASSED; - } + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two overlapping circles using intersect operator. The shape is + * rendered using stroke. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testIntersectStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // create area using intersect operator + Area area = CommonCAGOperations.createAreaFromTwoOverlappingCirclesUsingIntersectOperator(image); + // draw the area + graphics2d.draw(area); + // test result + return TestResult.PASSED; + } - /** - * Checks the process of creating and rendering new geometric shape - * constructed from two overlapping circles using XOR operator. The shape is rendered - * using stroke. - * - * @param image - * image to which area is to be drawn - * @param graphics2d - * graphics canvas - * @return test result status - PASSED, FAILED or ERROR - */ - public TestResult testXorStrokePaint(TestImage image, Graphics2D graphics2d) - { - // set stroke color - CommonRenderingStyles.setStrokeColor(graphics2d); - // create area using XOR operator - Area area = CommonCAGOperations.createAreaFromTwoOverlappingCirclesUsingXorOperator(image); - // draw the area - graphics2d.draw(area); - // test result - return TestResult.PASSED; - } + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two overlapping circles using XOR operator. The shape is rendered + * using stroke. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testXorStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // create area using XOR operator + Area area = CommonCAGOperations.createAreaFromTwoOverlappingCirclesUsingXorOperator(image); + // draw the area + graphics2d.draw(area); + // test result + return TestResult.PASSED; + } - /** - * Checks the process of creating and rendering new geometric shape - * constructed from two overlapping circles using union operator. The shape is rendered - * using wide stroke. - * - * @param image - * image to which area is to be drawn - * @param graphics2d - * graphics canvas - * @return test result status - PASSED, FAILED or ERROR - */ - public TestResult testUnionWideStrokePaint(TestImage image, Graphics2D graphics2d) - { - // set stroke color - CommonRenderingStyles.setStrokeColor(graphics2d); - // set stroke width - CommonRenderingStyles.setStrokeThickWidth(graphics2d); - // create area using union operator - Area area = CommonCAGOperations.createAreaFromTwoOverlappingCirclesUsingUnionOperator(image); - // draw the area - graphics2d.draw(area); - // test result - return TestResult.PASSED; - } + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two overlapping circles using union operator. The shape is rendered + * using wide stroke. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testUnionWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeThickWidth(graphics2d); + // create area using union operator + Area area = CommonCAGOperations.createAreaFromTwoOverlappingCirclesUsingUnionOperator(image); + // draw the area + graphics2d.draw(area); + // test result + return TestResult.PASSED; + } - /** - * Checks the process of creating and rendering new geometric shape - * constructed from two overlapping circles using subtract operator. The shape is - * rendered using wide stroke. - * - * @param image - * image to which area is to be drawn - * @param graphics2d - * graphics canvas - * @return test result status - PASSED, FAILED or ERROR - */ - public TestResult testSubtractWideStrokePaint(TestImage image, Graphics2D graphics2d) - { - // set stroke color - CommonRenderingStyles.setStrokeColor(graphics2d); - // set stroke width - CommonRenderingStyles.setStrokeThickWidth(graphics2d); - // create area using subtract operator - Area area = CommonCAGOperations.createAreaFromTwoOverlappingCirclesUsingSubtractOperator(image); - // draw the area - graphics2d.draw(area); - // test result - return TestResult.PASSED; - } + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two overlapping circles using subtract operator. The shape is + * rendered using wide stroke. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testSubtractWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeThickWidth(graphics2d); + // create area using subtract operator + Area area = CommonCAGOperations.createAreaFromTwoOverlappingCirclesUsingSubtractOperator(image); + // draw the area + graphics2d.draw(area); + // test result + return TestResult.PASSED; + } - /** - * Checks the process of creating and rendering new geometric shape - * constructed from two overlapping circles using inverse subtract operator. The shape - * is rendered using wide stroke. - * - * @param image - * image to which area is to be drawn - * @param graphics2d - * graphics canvas - * @return test result status - PASSED, FAILED or ERROR - */ - public TestResult testInverseSubtractWideStrokePaint(TestImage image, Graphics2D graphics2d) - { - // set stroke color - CommonRenderingStyles.setStrokeColor(graphics2d); - // set stroke width - CommonRenderingStyles.setStrokeThickWidth(graphics2d); - // create area using subtract operator - Area area = CommonCAGOperations.createAreaFromTwoOverlappingCirclesUsingInverseSubtractOperator(image); - // draw the area - graphics2d.draw(area); - // test result - return TestResult.PASSED; - } + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two overlapping circles using inverse subtract operator. The shape + * is rendered using wide stroke. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testInverseSubtractWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); From aazores at redhat.com Thu Jun 5 13:23:21 2014 From: aazores at redhat.com (Andrew Azores) Date: Thu, 05 Jun 2014 09:23:21 -0400 Subject: [rfc][icedtea-web] Refactor of LiveConnect Tests Version 2 In-Reply-To: <2063359446.10672487.1401908346701.JavaMail.zimbra@redhat.com> References: <1529622958.9604504.1401722424370.JavaMail.zimbra@redhat.com> <2063359446.10672487.1401908346701.JavaMail.zimbra@redhat.com> Message-ID: <53906F49.7090207@redhat.com> On 06/04/2014 02:59 PM, Jie Kang wrote: > Hello, > > This patch refactors the LiveConnect Tests and also modifies the Makefile.am in order to allow for shared resources to be used during test runs. E.g. the refactored tests all use the same function located in file JSTest.js. This is located in tests/shared/resources and when dist-tests are run, there is a new stamp compile-copy-shared-resources.stamp that is created that also moves the files in the shared folder into the appropriate folder for test runs. This currently works for reproducer tests and may be expanded on in the future. > > > Regards, > > Jie Kang > > ----- Original Message ----- >> Hello, >> >> This patch refactors the majority of LiveConnect Tests (JS to Java and >> vice-versa) fixing the race condition between asynchronous JS and the >> J-applet. Code format is standardized and deprecated code usage is >> removed/replaced. Note that the file JSTest.js is duplicated for all >> LiveConnect Tests. This is because every single test requires the same >> function in JSTest.js to prevent the race condition from occurring. However, >> the test suite is not designed to easily have this code appear only once >> while also having tests be properly separate (ie. every single test-case >> should be able to run by itself without relying on another test case). If >> anyone has any suggestions on how to better implement this please say. >> >> >> Thanks, >> >> Jie Kang I haven't looked over the whole patch yet, but as far as the Makefile changes go the first thing I notice is that your new stamp's name is a bit confusing. Why does it contain the word 'compile'? For example, look at the stamp name 'copy-reproducers-resources'. Perhaps this new stamp can be called just 'copy-shared-reproducers-resources' instead? + cp -r "$(REPRODUCERS_SHAREDSRCDIR)/resources/"* $(REPRODUCERS_TESTS_SERVER_DEPLOYDIR)/shared/ ; \ Is there a particular reason that you have the asterisk outside of the quotes in that first argument? Not wrong, just a little strange. Secondly, you should probably quote the entire second argument. What happens to your stamp right now if REPRODUCERS_TESTS_SERVER_DEPLOYDIR gets redefined such that its name contains a space? I don't know if Omair had anything in particular in mind for this "shared resources" directory but this looks like it's on the right track to me. Thanks, -- Andrew A -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkang at redhat.com Thu Jun 5 14:32:06 2014 From: jkang at redhat.com (Jie Kang) Date: Thu, 5 Jun 2014 10:32:06 -0400 (EDT) Subject: [rfc][icedtea-web] Refactor of LiveConnect Tests Version 2 In-Reply-To: <53906F49.7090207@redhat.com> References: <1529622958.9604504.1401722424370.JavaMail.zimbra@redhat.com> <2063359446.10672487.1401908346701.JavaMail.zimbra@redhat.com> <53906F49.7090207@redhat.com> Message-ID: <2146209415.11046744.1401978726200.JavaMail.zimbra@redhat.com> Hello, > > ----- Original Message ----- > >> Hello, > >> > >> This patch refactors the majority of LiveConnect Tests (JS to Java and > >> vice-versa) fixing the race condition between asynchronous JS and the > >> J-applet. Code format is standardized and deprecated code usage is > >> removed/replaced. Note that the file JSTest.js is duplicated for all > >> LiveConnect Tests. This is because every single test requires the same > >> function in JSTest.js to prevent the race condition from occurring. > >> However, > >> the test suite is not designed to easily have this code appear only once > >> while also having tests be properly separate (ie. every single test-case > >> should be able to run by itself without relying on another test case). If > >> anyone has any suggestions on how to better implement this please say. > >> > >> > >> Thanks, > >> > >> Jie Kang > > I haven't looked over the whole patch yet, but as far as the Makefile > changes go the first thing I notice is that your new stamp's name is a > bit confusing. Why does it contain the word 'compile'? For example, look > at the stamp name 'copy-reproducers-resources'. Perhaps this new stamp > can be called just 'copy-shared-reproducers-resources' instead? > The naming was a mistake on my part. I originally intended to have shared resources include Java files as well hence the need for compilation but later on decided this wasn't feasible. I have renamed it to copy-shared-resources. > + cp -r "$(REPRODUCERS_SHAREDSRCDIR)/resources/"* > $(REPRODUCERS_TESTS_SERVER_DEPLOYDIR)/shared/ ; \ > > > Is there a particular reason that you have the asterisk outside of the > quotes in that first argument? Not wrong, just a little strange. > Secondly, you should probably quote the entire second argument. What > happens to your stamp right now if REPRODUCERS_TESTS_SERVER_DEPLOYDIR > gets redefined such that its name contains a space? Using cp "*" versus cp * has different end-result so putting * in the "" ends up not working. See: cp -R "$(REPRODUCERS_TESTS_SRCDIR)/$$which/$$dir/resources/"* $(REPRODUCERS_TESTS_SERVER_DEPLOYDIR)/ ; \ from 'stamps/copy-reproducers-resources.stamp'. I added the quotes to the last argument as suggested. > > I don't know if Omair had anything in particular in mind for this > "shared resources" directory but this looks like it's on the right track > to me. > > Thanks, > > -- > Andrew A > > Thanks Jie -------------- next part -------------- A non-text attachment was scrubbed... Name: liveconnect-testrefactor-3.patch Type: text/x-patch Size: 128605 bytes Desc: not available URL: From aazores at redhat.com Thu Jun 5 14:41:25 2014 From: aazores at redhat.com (Andrew Azores) Date: Thu, 05 Jun 2014 10:41:25 -0400 Subject: [rfc][icedtea-web] Refactor of LiveConnect Tests Version 2 In-Reply-To: <2146209415.11046744.1401978726200.JavaMail.zimbra@redhat.com> References: <1529622958.9604504.1401722424370.JavaMail.zimbra@redhat.com> <2063359446.10672487.1401908346701.JavaMail.zimbra@redhat.com> <53906F49.7090207@redhat.com> <2146209415.11046744.1401978726200.JavaMail.zimbra@redhat.com> Message-ID: <53908195.2030206@redhat.com> On 06/05/2014 10:32 AM, Jie Kang wrote: > Hello, > >>> ----- Original Message ----- >>>> Hello, >>>> >>>> This patch refactors the majority of LiveConnect Tests (JS to Java and >>>> vice-versa) fixing the race condition between asynchronous JS and the >>>> J-applet. Code format is standardized and deprecated code usage is >>>> removed/replaced. Note that the file JSTest.js is duplicated for all >>>> LiveConnect Tests. This is because every single test requires the same >>>> function in JSTest.js to prevent the race condition from occurring. >>>> However, >>>> the test suite is not designed to easily have this code appear only once >>>> while also having tests be properly separate (ie. every single test-case >>>> should be able to run by itself without relying on another test case). If >>>> anyone has any suggestions on how to better implement this please say. >>>> >>>> >>>> Thanks, >>>> >>>> Jie Kang >> I haven't looked over the whole patch yet, but as far as the Makefile >> changes go the first thing I notice is that your new stamp's name is a >> bit confusing. Why does it contain the word 'compile'? For example, look >> at the stamp name 'copy-reproducers-resources'. Perhaps this new stamp >> can be called just 'copy-shared-reproducers-resources' instead? >> > The naming was a mistake on my part. I originally intended to have shared resources include Java files as well hence the need for compilation but later on decided this wasn't feasible. I have renamed it to copy-shared-resources. > >> + cp -r "$(REPRODUCERS_SHAREDSRCDIR)/resources/"* >> $(REPRODUCERS_TESTS_SERVER_DEPLOYDIR)/shared/ ; \ >> >> >> Is there a particular reason that you have the asterisk outside of the >> quotes in that first argument? Not wrong, just a little strange. >> Secondly, you should probably quote the entire second argument. What >> happens to your stamp right now if REPRODUCERS_TESTS_SERVER_DEPLOYDIR >> gets redefined such that its name contains a space? > Using cp "*" versus cp * has different end-result so putting * in the "" ends up not working. See: > cp -R "$(REPRODUCERS_TESTS_SRCDIR)/$$which/$$dir/resources/"* $(REPRODUCERS_TESTS_SERVER_DEPLOYDIR)/ ; \ > from 'stamps/copy-reproducers-resources.stamp'. D'oh, of course. My mistake, sorry. > > I added the quotes to the last argument as suggested. > >> I don't know if Omair had anything in particular in mind for this >> "shared resources" directory but this looks like it's on the right track >> to me. >> >> Thanks, >> >> -- >> Andrew A >> >> > > Thanks > > Jie This looks better, but it'll take some time for me to look through it all thoroughly. Also, I should've caught this in the last mail I sent, but please be sure your ChangeLog entries adhere to the format. There should be a space between each * and the file names following it. Thanks, -- Andrew A From aazores at icedtea.classpath.org Thu Jun 5 14:49:47 2014 From: aazores at icedtea.classpath.org (aazores at icedtea.classpath.org) Date: Thu, 05 Jun 2014 14:49:47 +0000 Subject: /hg/icedtea-web: Added Rename, Copy, and Paste actions to Policy... Message-ID: changeset 098125135681 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=098125135681 author: Andrew Azores date: Thu Jun 05 10:49:33 2014 -0400 Added Rename, Copy, and Paste actions to PolicyEditor 2014-06-05 Andrew Azores Added Rename, Copy, and Paste actions for codebases in PolicyEditor * netx/net/sourceforge/jnlp/resources/Messages.properties (PEEditMenu, PERenameCodebaseItem, PECopyCodebaseItem, PEPasteCodebaseItem, PERenameCodebase, PEPasteCodebase, PEEditMenuMnemonic): new messages * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java (codebaseClipboard): new field to facilitate copy/pasting codebases. (renameCodebaseButtonAction, copyCodebaseButtonAction, pasteCodebaseButtonAction): new ActionListener fields for new actions. (interactivelyAddCodebase): renamed to addNewCodebaseInteractive. (validateCodebase): new utility method for validating codebases. (addNewCodebase, addNewCodebaseInteractive): use validateCodebase. (createMenuBar): add Edit menu and items. diffstat: ChangeLog | 15 + netx/net/sourceforge/jnlp/resources/Messages.properties | 8 + netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java | 106 ++++++++- 3 files changed, 109 insertions(+), 20 deletions(-) diffs (222 lines): diff -r 5216f615240c -r 098125135681 ChangeLog --- a/ChangeLog Wed Jun 04 15:18:50 2014 -0400 +++ b/ChangeLog Thu Jun 05 10:49:33 2014 -0400 @@ -1,3 +1,18 @@ +2014-06-05 Andrew Azores + + Added Rename, Copy, and Paste actions for codebases in PolicyEditor + * netx/net/sourceforge/jnlp/resources/Messages.properties (PEEditMenu, + PERenameCodebaseItem, PECopyCodebaseItem, PEPasteCodebaseItem, + PERenameCodebase, PEPasteCodebase, PEEditMenuMnemonic): new messages + * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java + (codebaseClipboard): new field to facilitate copy/pasting codebases. + (renameCodebaseButtonAction, copyCodebaseButtonAction, + pasteCodebaseButtonAction): new ActionListener fields for new actions. + (interactivelyAddCodebase): renamed to addNewCodebaseInteractive. + (validateCodebase): new utility method for validating codebases. + (addNewCodebase, addNewCodebaseInteractive): use validateCodebase. + (createMenuBar): add Edit menu and items. + 2014-06-04 Lukasz Dracz Fixed Time Zone difference failure in unit test CreatePluginHeaderTestOk diff -r 5216f615240c -r 098125135681 netx/net/sourceforge/jnlp/resources/Messages.properties --- a/netx/net/sourceforge/jnlp/resources/Messages.properties Wed Jun 04 15:18:50 2014 -0400 +++ b/netx/net/sourceforge/jnlp/resources/Messages.properties Thu Jun 05 10:49:33 2014 -0400 @@ -570,6 +570,12 @@ PESaveMenuItem=Save PESaveAsMenuItem=Save As... PEExitMenuItem=Exit +PEEditMenu=Edit +PERenameCodebaseItem=Rename codebase +PECopyCodebaseItem=Copy codebase +PEPasteCodebaseItem=Paste codebase +PERenameCodebase=Rename codebase to: +PEPasteCodebase=Paste copied codebase as: PEViewMenu=View PECustomPermissionsItem=Custom Permissions... PEFileModified=File Modification Warning @@ -604,6 +610,8 @@ PECancelButtonMnemonic=67 # F PEFileMenuMnemonic=70 +# E +PEEditMenuMnemonic=69 # I PEViewMenuMnemonic=73 # O diff -r 5216f615240c -r 098125135681 netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java --- a/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java Wed Jun 04 15:18:50 2014 -0400 +++ b/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java Thu Jun 05 10:49:33 2014 -0400 @@ -170,9 +170,11 @@ private final JFileChooser fileChooser; private CustomPolicyViewer cpViewer = null; private final WeakReference weakThis = new WeakReference<>(this); + private Map codebaseClipboard = null; private final ActionListener okButtonAction, addCodebaseButtonAction, - removeCodebaseButtonAction, openButtonAction, saveAsButtonAction, viewCustomButtonAction; + removeCodebaseButtonAction, openButtonAction, saveAsButtonAction, viewCustomButtonAction, + renameCodebaseButtonAction, copyCodebaseButtonAction, pasteCodebaseButtonAction; private ActionListener closeButtonAction; private static class JCheckBoxWithGroup extends JCheckBox { @@ -258,7 +260,7 @@ addCodebaseButtonAction = new ActionListener() { @Override public void actionPerformed(final ActionEvent e) { - interactivelyAddCodebase(); + addNewCodebaseInteractive(); } }; addCodebaseButton.setText(R("PEAddCodebase")); @@ -312,6 +314,59 @@ } }; + renameCodebaseButtonAction = new ActionListener() { + @Override + public void actionPerformed(final ActionEvent e) { + final String oldCodebase = getSelectedCodebase(); + if (oldCodebase.isEmpty()) { + return; + } + String newCodebase = ""; + while (!validateCodebase(newCodebase) || policyFile.getCopyOfPermissions().containsKey(newCodebase)) { + newCodebase = JOptionPane.showInputDialog(weakThis.get(), R("PERenameCodebase"), "http://"); + if (newCodebase == null) { + return; + } + } + final Map standardPermissions = policyFile.getCopyOfPermissions().get(oldCodebase); + final Set customPermissions = policyFile.getCopyOfCustomPermissions().get(oldCodebase); + removeCodebase(oldCodebase); + addNewCodebase(newCodebase); + for (final Map.Entry entry : standardPermissions.entrySet()) { + policyFile.setPermission(newCodebase, entry.getKey(), entry.getValue()); + } + policyFile.addCustomPermissions(newCodebase, customPermissions); + updateCheckboxes(newCodebase); + changesMade = true; + } + }; + + copyCodebaseButtonAction = new ActionListener() { + @Override + public void actionPerformed(final ActionEvent e) { + codebaseClipboard = new HashMap<>(policyFile.getCopyOfPermissions().get(getSelectedCodebase())); + } + }; + + pasteCodebaseButtonAction = new ActionListener() { + @Override + public void actionPerformed(final ActionEvent e) { + String newCodebase = ""; + while (!validateCodebase(newCodebase) || policyFile.getCopyOfPermissions().containsKey(newCodebase)) { + newCodebase = JOptionPane.showInputDialog(weakThis.get(), R("PEPasteCodebase"), "http://"); + if (newCodebase == null) { + return; + } + } + addNewCodebase(newCodebase); + for (final Map.Entry entry : codebaseClipboard.entrySet()) { + policyFile.setPermission(newCodebase, entry.getKey(), entry.getValue()); + } + updateCheckboxes(newCodebase); + changesMade = true; + } + }; + viewCustomButtonAction = new ActionListener() { @Override public void actionPerformed(final ActionEvent e) { @@ -628,7 +683,7 @@ final Action act = new AbstractAction() { @Override public void actionPerformed(final ActionEvent e) { - interactivelyAddCodebase(); + addNewCodebaseInteractive(); } }; setAccelerator(R("PEAddCodebaseMnemonic"), ActionEvent.ALT_MASK, act, "AddCodebaseAccelerator"); @@ -653,13 +708,8 @@ * @param codebase to be added */ public void addNewCodebase(final String codebase) { - try { - if (!codebase.isEmpty()) { - new URL(codebase); - } - } catch (final MalformedURLException mfue) { + if (!codebase.isEmpty() && !validateCodebase(codebase)) { OutputController.getLogger().log("Could not add codebase " + codebase); - OutputController.getLogger().log(mfue); return; } final String model; @@ -705,31 +755,31 @@ addNewCodebases(Arrays.asList(codebases)); } + private static boolean validateCodebase(final String codebase) { + try { + new URL(codebase); + } catch (final MalformedURLException mue) { + return false; + } + return true; + } + /** * Display an input dialog, which will disappear when the user enters a valid URL * or when the user presses cancel. If an invalid URL is entered, the dialog reappears. * When a valid URL is entered, it is used to create a new codebase entry in the editor's * policy file model. */ - public void interactivelyAddCodebase() { + public void addNewCodebaseInteractive() { SwingUtilities.invokeLater(new Runnable() { @Override public void run() { String codebase = ""; - boolean stopAsking = false; - while (!stopAsking) { + while (!validateCodebase(codebase)) { codebase = JOptionPane.showInputDialog(weakThis.get(), R("PECodebasePrompt"), "http://"); if (codebase == null) { return; } - try { - final URL u = new URL(codebase); - if (u.getProtocol() != null && u.getHost() != null) { - stopAsking = true; - } - } catch (final MalformedURLException mfue) { - // ignore - loop/ask again - } } addNewCodebase(codebase); } @@ -886,6 +936,22 @@ fileMenu.add(exitItem); menuBar.add(fileMenu); + final JMenu editMenu = new JMenu(R("PEEditMenu")); + setComponentMnemonic(editMenu, R("PEEditMenuMnemonic")); + + final JMenuItem renameCodebaseItem = new JMenuItem(R("PERenameCodebaseItem")); + renameCodebaseItem.addActionListener(editor.renameCodebaseButtonAction); + editMenu.add(renameCodebaseItem); + + final JMenuItem copyCodebaseItem = new JMenuItem(R("PECopyCodebaseItem")); + copyCodebaseItem.addActionListener(editor.copyCodebaseButtonAction); + editMenu.add(copyCodebaseItem); + + final JMenuItem pasteCodebaseItem = new JMenuItem(R("PEPasteCodebaseItem")); + pasteCodebaseItem.addActionListener(editor.pasteCodebaseButtonAction); + editMenu.add(pasteCodebaseItem); + menuBar.add(editMenu); + final JMenu viewMenu = new JMenu(R("PEViewMenu")); setComponentMnemonic(viewMenu, R("PEViewMenuMnemonic")); From aazores at redhat.com Thu Jun 5 15:03:54 2014 From: aazores at redhat.com (Andrew Azores) Date: Thu, 05 Jun 2014 11:03:54 -0400 Subject: [rfc][icedtea-web][policyeditor] Added "Copy codebase to clipboard" action Message-ID: <539086DA.8060304@redhat.com> Hi, This patch adds another entry under the Edit menu, this one allowing the user to copy the currently selected codebase's URL into their system clipboard. Additionally, when renaming a codebase, the dialog that appears is pre-filled with the existing codebase URL, rather than the "http://" placeholder. Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: policyeditor-copy-to-clipboard.patch Type: text/x-patch Size: 5498 bytes Desc: not available URL: From ldracz at redhat.com Thu Jun 5 15:18:37 2014 From: ldracz at redhat.com (Lukasz Dracz) Date: Thu, 5 Jun 2014 11:18:37 -0400 (EDT) Subject: [rfc][icedtea-web][policyeditor] Added "Copy codebase to clipboard" action In-Reply-To: <539086DA.8060304@redhat.com> References: <539086DA.8060304@redhat.com> Message-ID: <1863046336.11078080.1401981517056.JavaMail.zimbra@redhat.com> ----- Original Message ----- > From: "Andrew Azores" > To: "IcedTea" > Sent: Thursday, June 5, 2014 11:03:54 AM > Subject: [rfc][icedtea-web][policyeditor] Added "Copy codebase to clipboard" action > > Hi, > > This patch adds another entry under the Edit menu, this one allowing the > user to copy the currently selected codebase's URL into their system > clipboard. Additionally, when renaming a codebase, the dialog that > appears is pre-filled with the existing codebase URL, rather than the > "http://" placeholder. > > Thanks, > > -- > Andrew A > > Hey, Looks good, just maybe instead of "Copy codebase to clipboard", "Copy codebase Url" would be more descriptive. +0.5 from me ! Thanks, Lukasz Dracz From jkang at redhat.com Thu Jun 5 15:21:07 2014 From: jkang at redhat.com (Jie Kang) Date: Thu, 5 Jun 2014 11:21:07 -0400 (EDT) Subject: [rfc][icedtea-web][policyeditor] Added "Copy codebase to clipboard" action In-Reply-To: <539086DA.8060304@redhat.com> References: <539086DA.8060304@redhat.com> Message-ID: <942024379.11079750.1401981667921.JavaMail.zimbra@redhat.com> ----- Original Message ----- > Hi, > > This patch adds another entry under the Edit menu, this one allowing the > user to copy the currently selected codebase's URL into their system > clipboard. Additionally, when renaming a codebase, the dialog that > appears is pre-filled with the existing codebase URL, rather than the > "http://" placeholder. Hello, The patch is fine. Message.properties needs an edit though for the copy clipboard message. Regards, Jie > > Thanks, > > -- > Andrew A > > From aazores at icedtea.classpath.org Thu Jun 5 15:22:49 2014 From: aazores at icedtea.classpath.org (aazores at icedtea.classpath.org) Date: Thu, 05 Jun 2014 15:22:49 +0000 Subject: /hg/icedtea-web: Added "Copy codebase to clipboard" action to Po... Message-ID: changeset a4e068fd5b89 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=a4e068fd5b89 author: Andrew Azores date: Thu Jun 05 11:22:31 2014 -0400 Added "Copy codebase to clipboard" action to PolicyEditor 2014-06-05 Andrew Azores Added "Copy codebase to clipboard" action to PolicyEditor * netx/net/sourceforge/jnlp/resources/Messages.properties (PECopyCodebaseToClipboardItem): new message * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java (copyCodebaseToClipboardButtonAction): new action for "Copy codebase to clipboard" button (createMenuBar): added "Copy codebase to clipboard" button to Edit menu (renameCodebaseButtionAction): prefill dialog with old codebase diffstat: ChangeLog | 13 ++++- netx/net/sourceforge/jnlp/resources/Messages.properties | 1 + netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java | 26 ++++++++- 3 files changed, 36 insertions(+), 4 deletions(-) diffs (110 lines): diff -r 098125135681 -r a4e068fd5b89 ChangeLog --- a/ChangeLog Thu Jun 05 10:49:33 2014 -0400 +++ b/ChangeLog Thu Jun 05 11:22:31 2014 -0400 @@ -1,3 +1,14 @@ +2014-06-05 Andrew Azores + + Added "Copy codebase to clipboard" action to PolicyEditor + * netx/net/sourceforge/jnlp/resources/Messages.properties + (PECopyCodebaseToClipboardItem): new message + * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java + (copyCodebaseToClipboardButtonAction): new action for "Copy codebase to + clipboard" button + (createMenuBar): added "Copy codebase to clipboard" button to Edit menu + (renameCodebaseButtionAction): prefill dialog with old codebase + 2014-06-05 Andrew Azores Added Rename, Copy, and Paste actions for codebases in PolicyEditor @@ -18,7 +29,7 @@ Fixed Time Zone difference failure in unit test CreatePluginHeaderTestOk * unit/net/sourceforge/jnlp/util/logging/JavaConsoleTest.java: Test suite would check for the time in CET against the user's time value - converted into their local timezone. Created a Date variable that + converted into their local timezone. Created a Date variable that ensures time passed into PluginMessage and the one being checked are of the same time zone. diff -r 098125135681 -r a4e068fd5b89 netx/net/sourceforge/jnlp/resources/Messages.properties --- a/netx/net/sourceforge/jnlp/resources/Messages.properties Thu Jun 05 10:49:33 2014 -0400 +++ b/netx/net/sourceforge/jnlp/resources/Messages.properties Thu Jun 05 11:22:31 2014 -0400 @@ -574,6 +574,7 @@ PERenameCodebaseItem=Rename codebase PECopyCodebaseItem=Copy codebase PEPasteCodebaseItem=Paste codebase +PECopyCodebaseToClipboardItem=Copy codebase URL to clipboard PERenameCodebase=Rename codebase to: PEPasteCodebase=Paste copied codebase as: PEViewMenu=View diff -r 098125135681 -r a4e068fd5b89 netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java --- a/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java Thu Jun 05 10:49:33 2014 -0400 +++ b/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java Thu Jun 05 11:22:31 2014 -0400 @@ -43,7 +43,11 @@ import java.awt.Dialog.ModalityType; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; +import java.awt.Toolkit; import java.awt.Window; +import java.awt.datatransfer.Clipboard; +import java.awt.datatransfer.StringSelection; +import java.awt.datatransfer.Transferable; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; @@ -102,7 +106,6 @@ import net.sourceforge.jnlp.security.policyeditor.PolicyEditorPermissions.Group; import net.sourceforge.jnlp.util.FileUtils; import net.sourceforge.jnlp.util.FileUtils.OpenFileResult; -import net.sourceforge.jnlp.util.ScreenFinder; import net.sourceforge.jnlp.util.logging.OutputController; /** @@ -174,7 +177,7 @@ private final ActionListener okButtonAction, addCodebaseButtonAction, removeCodebaseButtonAction, openButtonAction, saveAsButtonAction, viewCustomButtonAction, - renameCodebaseButtonAction, copyCodebaseButtonAction, pasteCodebaseButtonAction; + renameCodebaseButtonAction, copyCodebaseButtonAction, pasteCodebaseButtonAction, copyCodebaseToClipboardButtonAction; private ActionListener closeButtonAction; private static class JCheckBoxWithGroup extends JCheckBox { @@ -323,7 +326,7 @@ } String newCodebase = ""; while (!validateCodebase(newCodebase) || policyFile.getCopyOfPermissions().containsKey(newCodebase)) { - newCodebase = JOptionPane.showInputDialog(weakThis.get(), R("PERenameCodebase"), "http://"); + newCodebase = JOptionPane.showInputDialog(weakThis.get(), R("PERenameCodebase"), oldCodebase); if (newCodebase == null) { return; } @@ -367,6 +370,19 @@ } }; + copyCodebaseToClipboardButtonAction = new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + final String selectedCodebase = getSelectedCodebase(); + if (selectedCodebase.isEmpty()) { + return; + } + final Transferable clipboardContents = new StringSelection(selectedCodebase); + final Clipboard clip = Toolkit.getDefaultToolkit().getSystemClipboard(); + clip.setContents(clipboardContents, null); + } + }; + viewCustomButtonAction = new ActionListener() { @Override public void actionPerformed(final ActionEvent e) { @@ -950,6 +966,10 @@ final JMenuItem pasteCodebaseItem = new JMenuItem(R("PEPasteCodebaseItem")); pasteCodebaseItem.addActionListener(editor.pasteCodebaseButtonAction); editMenu.add(pasteCodebaseItem); + + final JMenuItem copyCodebaseToClipboardItem = new JMenuItem(R("PECopyCodebaseToClipboardItem")); + copyCodebaseToClipboardItem.addActionListener(editor.copyCodebaseToClipboardButtonAction); + editMenu.add(copyCodebaseToClipboardItem); menuBar.add(editMenu); final JMenu viewMenu = new JMenu(R("PEViewMenu")); From omajid at redhat.com Thu Jun 5 17:11:43 2014 From: omajid at redhat.com (Omair Majid) Date: Thu, 5 Jun 2014 13:11:43 -0400 Subject: [rfc][icedtea-web] PluginMessage test time zone In-Reply-To: <191556709.10594280.1401897412452.JavaMail.zimbra@redhat.com> References: <199700313.10013394.1401805318690.JavaMail.zimbra@redhat.com> <141484229.10013971.1401805395450.JavaMail.zimbra@redhat.com> <20140603144143.GC2405@redhat.com> <191556709.10594280.1401897412452.JavaMail.zimbra@redhat.com> Message-ID: <20140605171142.GA31309@redhat.com> * Lukasz Dracz [2014-06-04 11:56]: > From: "Omair Majid" > > An alternative is to explicitly set (and then restore) the locale using > > Locale.setDefault() in a @Before (and restore in an @After) method. This > > ensures the test always sees the same locale, irrespective of the system > > locale. If you are dealing with timestamps, this is often an easier > > approach to use. > > Thank you for your suggestion, I have looked into this and implemented it in this way. That's not quite what I meant, but in this case, this works perfectly fine too. > + private static String TEST_TIME; > + String s1 = "plugindebug 1384850630162925 [jvanek][ITW-C-PLUGIN][MESSAGE_DEBUG]["+TEST_TIME+"][/home/jvanek/Desktop/icedtea-web/plugin/icedteanp/IcedTeaNPPlugin.cc:1204] ITNPP Thread# 140513434003264, gthread 0x7fcbd531f8c0: PIPE: plugin read: plugin PluginProxyInfo reference 1 http://www.walter-fendt.de:80"; I see that Andrew already pointed out the issue with mixing static and non-static variables and how the result of this String expansion is not obvious. For a future enhancement, please look at splitting this string into multiple lines to make it easier to read. > + Assert.assertTrue(p1.header.date.toString().contains(TEST_TIME) && p1.header.date.toString().contains("2013")); > + Assert.assertTrue(p3.header.date.toString().contains(TEST_TIME) && p3.header.date.toString().contains("2013")); TEST_TIME already contains 2013, so maybe the second expression is redundant? Thanks, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From andrew at icedtea.classpath.org Thu Jun 5 17:54:16 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Thu, 05 Jun 2014 17:54:16 +0000 Subject: /hg/release/icedtea7-2.5: 11 new changesets Message-ID: changeset 8ff290dd997a in /hg/release/icedtea7-2.5 details: http://icedtea.classpath.org/hg/release/icedtea7-2.5?cmd=changeset;node=8ff290dd997a author: Andrew John Hughes date: Thu Jun 05 02:53:33 2014 +0100 Update to icedtea-2.5pre07. PR1742: Allow SunEC provider to be built with changes in NSS >= 3.16.1 S8036861: Application can't be loaded fine,the save dialog can't show up. S8038306: (tz) Support tzdata2014b S8012224: AWT_TopLevels/TopLevelEvents/Automated/WindowIconifyDeiconifyEventsTest02 fails on Ubuntu 12.04 Unity shell 2014-06-04 Andrew John Hughes * Makefile.am: (BUILD_VERSION): Bump to b30. (CORBA_CHANGESET): Update to icedtea-2.5pre07 tag. (JAXP_CHANGESET): Likewise. (JAXWS_CHANGESET): Likewise. (JDK_CHANGESET): Likewise. (LANGTOOLS_CHANGESET): Likewise. (OPENJDK_CHANGESET): Likewise. (CORBA_SHA256SUM): Likewise. (JAXP_SHA256SUM): Likewise. (JAXWS_SHA256SUM): Likewise. (JDK_SHA256SUM): Likewise. (LANGTOOLS_SHA256SUM): Likewise. (OPENJDK_SHA256SUM): Likewise. * NEWS: Updated. * configure.ac: Bump to pre07. * hotspot.map: Update to icedtea-2.5pre07tag. 2014-04-23 Andrew John Hughes PR1742: Allow SunEC provider to be built with changes in NSS >= 3.16.1 * Makefile.am: (ICEDTEA_ENV): Use SUNEC_LIBS and SUNEC_CFLAGS instead of NSS_LIBS and NSS_CFLAGS respectively. * acinclude.m4: (IT_ENABLE_SUNEC): Use SUNEC_CFLAGS and SUNEC_LIBS for clarity as NSS_CFLAGS and NSS_LIBS are also set by the NSS detection. 2014-04-18 Andrew John Hughes PR1699: Support building the SunEC provider with system NSS * Makefile.am: (ICEDTEA_ENV): Only add DISABLE_INTREE_EC if ENABLE_SUNEC is not set. Set SYSTEM_NSS in both cases and NSS_LIBS, NSS_CFLAGS and ECC_JUST_SUITE_B when ENABLE_SUNEC is set. * acinclude.m4: (IT_LOCATE_NSS): Fix wording to make it clear that this is the PKCS11 provider, using NSS as the implementation. (IT_ENABLE_SUNEC): Allow the Sun elliptic curve crypto provider to be enabled. * configure.ac: Replace IT_LOCATE_NSS with IT_ENABLE_SUNEC (which depends on the former). * fsg.sh: Only delete the SunEC implementation code at this level. This is the part that is legally dubious, due to the use of many more elliptic curves than those provided by the NSS version. * remove-intree-libraries.sh.in: Include the remaining SunEC deletion from fsg.sh here and make it optional. changeset f29672153a63 in /hg/release/icedtea7-2.5 details: http://icedtea.classpath.org/hg/release/icedtea7-2.5?cmd=changeset;node=f29672153a63 author: Andrew John Hughes date: Thu Jun 05 03:07:35 2014 +0100 PR1762: Undefined references when building with NSS 3.16.1 2014-05-09 Andrew John Hughes PR1762: Undefined references when building with NSS 3.16.1 * NEWS: Updated. * acinclude.m4: (IT_ENABLE_SUNEC): For NSS >= 3.16.1, add -lfreebl to SUNEC_LIBS, not SUNEC_CFLAGS, and use NSS_LIBS as the base, not NSS_SOFTOKN_LIBS. changeset efab00a8197a in /hg/release/icedtea7-2.5 details: http://icedtea.classpath.org/hg/release/icedtea7-2.5?cmd=changeset;node=efab00a8197a author: Andrew John Hughes date: Thu Apr 17 02:53:39 2014 +0100 PR1737: Support prefixed variants of GNU tools used on *BSD systems 2014-04-14 Andrew John Hughes * AUTHORS: Add Radim Kolar. * acinclude.m4: (IT_FIND_TOOL): Cleanup error message. (IT_FIND_TOOLS): Likewise. 2014-03-20 Radim Kolar * Makefile.am: (extract-openjdk): Use $(SED) instead of 'sed'. (versioning): Likewise. (add-systemtap): Likewise. (add-systemtap-debug): Likewise. (add-systemtap-boot): Likewise. (rewrite-rhino): Likewise. (clean-add-jamvm): Likewise. (clean-add-jamvm-debug): Likewise. (clean-add-cacao): Likewise. (clean-add-cacao-debug): Likewise. (clean-add-zero): Likewise. (clean-add-zero-debug): Likewise. (jtreg_processes): Likewise. (rt): Likewise. * acinclude.m4: (IT_FIND_TOOLS): New macro to check for multiple tools. * configure.ac: Check for gmake, gfind, gpatch, gsha256sum and gsed (GNU tools on *BSD). changeset f164e91b0ca7 in /hg/release/icedtea7-2.5 details: http://icedtea.classpath.org/hg/release/icedtea7-2.5?cmd=changeset;node=f164e91b0ca7 author: Andrew John Hughes date: Thu Jun 05 03:11:26 2014 +0100 Mention PR1737 in NEWS. 2014-04-16 Andrew John Hughes * NEWS: Mention PR1737. changeset b9b6ccc93bdc in /hg/release/icedtea7-2.5 details: http://icedtea.classpath.org/hg/release/icedtea7-2.5?cmd=changeset;node=b9b6ccc93bdc author: Andrew John Hughes date: Thu Jun 05 16:40:42 2014 +0100 PR1756: Bootstrap with IcedTea broken 2014-05-01 Andrew John Hughes PR1756: Bootstrap with IcedTea broken * Makefile.am: (ICEDTEA_BOOT_PATCHES): Only apply ant-javac.patch when using bootstrap tools. Only patch JAXWS build when the bootstrap JDK doesn't have the com.sun.* classes it requires. Split the root patch in corba-dependencies.patch into its own file. * NEWS: Updated. * acinclude.m4: (IT_CHECK_FOR_JDK): Make DEFUN_ONCE and fix typo. (IT_CHECK_FOR_CLASS): Depend on IT_CHECK_TOOLS_JAR_EXISTS and adds TOOLS_JAR to classpath. (IT_CHECK_TOOLS_JAR_EXISTS): Find a tools.jar so we can check for classes it contains. * configure.ac: Check for com.sun.mirror.type.TypeMirror and com.sun.net.httpserver.Headers, required by JAXWS. * patches/boot/corba-dependencies.patch: Remove root part of patch. * patches/boot/dependencies.patch: Root part of patch from corba-dependencies. * patches/boot/jaxws-jdk-dependency.patch: Regenerated. * patches/boot/jaxws-langtools-dependency.patch: Rewrite to use sources, not classes. changeset 12240198c6be in /hg/release/icedtea7-2.5 details: http://icedtea.classpath.org/hg/release/icedtea7-2.5?cmd=changeset;node=12240198c6be author: Andrew John Hughes date: Thu Jun 05 16:42:26 2014 +0100 PR1758: Support PPC64 JIT on ppc64le 2014-05-01 Andrew John Hughes * AUTHORS: Add Tiago. * NEWS: Updated. * acinclude.m4: (IT_SET_ARCH_SETTINGS): Expand ppc64le to its own block to avoid potential future collisions. (IT_ENABLE_ZERO_BUILD): Likewise. 2014-05-01 Tiago Sturmer Daitx * acinclude.m4: (IT_SET_ARCH_SETTINGS): Support ppc64le. (IT_ENABLE_ZERO_BUILD): Likewise and use correct host_cpu value for ppc64. changeset 3c98e219395e in /hg/release/icedtea7-2.5 details: http://icedtea.classpath.org/hg/release/icedtea7-2.5?cmd=changeset;node=3c98e219395e author: Andrew John Hughes date: Thu Jun 05 16:44:44 2014 +0100 PR1763: ppc64 JIT doesn't support class data sharing 2014-05-13 Andrew John Hughes * Makefile.am: (add-archive): Skip on ppc64. (add-archive-debug): Likewise. (add-archive-boot): Likewise. * NEWS: Updated. changeset b68a0fe00baa in /hg/release/icedtea7-2.5 details: http://icedtea.classpath.org/hg/release/icedtea7-2.5?cmd=changeset;node=b68a0fe00baa author: Andrew John Hughes date: Thu Jun 05 16:45:51 2014 +0100 PR1765: Boot JDK on ppc64le uses differently named arch directory to final build 2014-05-14 Andrew John Hughes PR1765: Boot JDK on ppc64le uses differently named arch directory to final build * Makefile.am: (bootstrap-directory-stage1): Handle ppc64le boot JDK using a different arch directory to the final build. Make output more verbose. * NEWS: Updated. changeset 68fba62e38ab in /hg/release/icedtea7-2.5 details: http://icedtea.classpath.org/hg/release/icedtea7-2.5?cmd=changeset;node=68fba62e38ab author: Andrew John Hughes date: Thu Jun 05 16:49:22 2014 +0100 PR1807: Support Debian/Ubuntu 7 OpenJDK Install as Boot JDK 2014-06-02 Andrew John Hughes PR1807: Support Debian/Ubuntu 7 OpenJDK Install as Boot JDK * NEWS: Updated. * acinclude.m4: (IT_CHECK_FOR_JDK): Add java-7-openjdk to ICEDTEA7_VMS. changeset 655014a92f22 in /hg/release/icedtea7-2.5 details: http://icedtea.classpath.org/hg/release/icedtea7-2.5?cmd=changeset;node=655014a92f22 author: Andrew John Hughes date: Thu Jun 05 16:50:10 2014 +0100 PR1365: Replace hgforest support 2014-06-02 Andrew John Hughes * INSTALL: Remove documentation of --with-project as option is being removed. * Makefile.am: (OPENJDK_HG_URL): Removed. (CVMI_HG_URL): Likewise. (CLOSURES_HG_URL): Likewise. (CACIOCAVALLO_HG_URL): Likewise. (BSD_HG_URL): Likewise. (NIO2_HG_URL): Likewise. (REV_ARG): Added and set conditionally if $(HGREV) is set. (clean-local): Drop clean-hgforest. (hgforest): Removed. (clean-hgforest): Likewise. (download-openjdk): Remove project conditionals. Replace fclone usage with multiple clone calls. * NEWS: Updated. * acinclude.m4: (IT_ENABLE_HG): Drop IT_WITH_PROJECT dependency and simply to yes/no. (IT_WITH_PROJECT): Removed. * configure.ac: Drop IT_WITH_PROJECT. changeset f990f8b724ad in /hg/release/icedtea7-2.5 details: http://icedtea.classpath.org/hg/release/icedtea7-2.5?cmd=changeset;node=f990f8b724ad author: Andrew John Hughes date: Thu Jun 05 16:50:44 2014 +0100 PR1814: HotSpot URL should be used with --enable-hg 2014-06-02 Andrew John Hughes PR1814: HotSpot URL should be used with --enable-hg * Makefile.am: (.PHONY): Add clean-download-hotspot. (download); Depend on download-hotspot. (clean-download): Move clean-download-nashorn to clean-download-openjdk to retain ordering. (download-openjdk): Remove hotspot from for loop and HotSpot zip download rules. (clean-download-openjdk): Depend on clean-download-hotspot. (download-hotspot): New target. Cloning now uses HS_URL as with zip downloading. (clean-download-hotspot): Separated from clean-download-openjdk. (extract-hotspot): Depend on download-hotspot. * NEWS: Updated. diffstat: AUTHORS | 2 + ChangeLog | 218 +++++++++++++++++++ INSTALL | 3 - Makefile.am | 290 +++++++++++++------------- NEWS | 13 + acinclude.m4 | 152 +++++++++---- configure.ac | 28 +- fsg.sh | 8 +- hotspot.map | 2 +- patches/boot/corba-dependencies.patch | 11 - patches/boot/dependencies.patch | 11 + patches/boot/jaxws-jdk-dependency.patch | 46 ++-- patches/boot/jaxws-langtools-dependency.patch | 80 +++--- remove-intree-libraries.sh.in | 10 + 14 files changed, 580 insertions(+), 294 deletions(-) diffs (truncated from 1451 to 500 lines): diff -r 97f337a7c17f -r f990f8b724ad AUTHORS --- a/AUTHORS Wed Jun 04 14:49:24 2014 +0100 +++ b/AUTHORS Thu Jun 05 16:50:44 2014 +0100 @@ -8,6 +8,7 @@ Deepak Bhole Tom Callaway Pablo del Campo +Tiago Sturmer Daitx Thomas Fitzsimmons Matthew Flaschen Michael Franz @@ -18,6 +19,7 @@ Andrew John Hughes Tomas Hurka Ioana Ivan +Radim Kolar Matthias Klose Francis Kung DJ Lucas diff -r 97f337a7c17f -r f990f8b724ad ChangeLog --- a/ChangeLog Wed Jun 04 14:49:24 2014 +0100 +++ b/ChangeLog Thu Jun 05 16:50:44 2014 +0100 @@ -1,3 +1,221 @@ +2014-06-02 Andrew John Hughes + + PR1814: HotSpot URL should be used with --enable-hg + * Makefile.am: + (.PHONY): Add clean-download-hotspot. + (download); Depend on download-hotspot. + (clean-download): Move clean-download-nashorn + to clean-download-openjdk to retain ordering. + (download-openjdk): Remove hotspot from for loop + and HotSpot zip download rules. + (clean-download-openjdk): Depend on clean-download-hotspot. + (download-hotspot): New target. Cloning now uses HS_URL + as with zip downloading. + (clean-download-hotspot): Separated from clean-download-openjdk. + (extract-hotspot): Depend on download-hotspot. + * NEWS: Updated. + +2014-06-02 Andrew John Hughes + + PR1365: Replace hgforest support + * INSTALL: + Remove documentation of --with-project as + option is being removed. + * Makefile.am: + (OPENJDK_HG_URL): Removed. + (CVMI_HG_URL): Likewise. + (CLOSURES_HG_URL): Likewise. + (CACIOCAVALLO_HG_URL): Likewise. + (BSD_HG_URL): Likewise. + (NIO2_HG_URL): Likewise. + (REV_ARG): Added and set conditionally if + $(HGREV) is set. + (clean-local): Drop clean-hgforest. + (hgforest): Removed. + (clean-hgforest): Likewise. + (download-openjdk): Remove project conditionals. + Replace fclone usage with multiple clone calls. + * NEWS: Updated. + * acinclude.m4: + (IT_ENABLE_HG): Drop IT_WITH_PROJECT dependency + and simply to yes/no. + (IT_WITH_PROJECT): Removed. + * configure.ac: Drop IT_WITH_PROJECT. + +2014-06-02 Andrew John Hughes + + PR1807: Support Debian/Ubuntu 7 OpenJDK + Install as Boot JDK + * NEWS: Updated. + * acinclude.m4: + (IT_CHECK_FOR_JDK): Add java-7-openjdk + to ICEDTEA7_VMS. + +2014-05-14 Andrew John Hughes + + PR1765: Boot JDK on ppc64le uses differently named + arch directory to final build + * Makefile.am: + (bootstrap-directory-stage1): Handle ppc64le boot + JDK using a different arch directory to the final + build. Make output more verbose. + * NEWS: Updated. + +2014-05-13 Andrew John Hughes + + PR1763: ppc64 JIT doesn't support class data sharing + * Makefile.am: + (add-archive): Skip on ppc64. + (add-archive-debug): Likewise. + (add-archive-boot): Likewise. + * NEWS: Updated. + +2014-05-01 Andrew John Hughes + + * AUTHORS: Add Tiago. + * NEWS: Updated. + * acinclude.m4: + (IT_SET_ARCH_SETTINGS): Expand ppc64le to its + own block to avoid potential future collisions. + (IT_ENABLE_ZERO_BUILD): Likewise. + +2014-05-01 Tiago Sturmer Daitx + + * acinclude.m4: + (IT_SET_ARCH_SETTINGS): Support ppc64le. + (IT_ENABLE_ZERO_BUILD): Likewise and use correct + host_cpu value for ppc64. + +2014-05-01 Andrew John Hughes + + PR1756: Bootstrap with IcedTea broken + * Makefile.am: + (ICEDTEA_BOOT_PATCHES): Only apply ant-javac.patch + when using bootstrap tools. Only patch JAXWS build + when the bootstrap JDK doesn't have the com.sun.* + classes it requires. Split the root patch in + corba-dependencies.patch into its own file. + * NEWS: Updated. + * acinclude.m4: + (IT_CHECK_FOR_JDK): Make DEFUN_ONCE and fix typo. + (IT_CHECK_FOR_CLASS): Depend on IT_CHECK_TOOLS_JAR_EXISTS + and adds TOOLS_JAR to classpath. + (IT_CHECK_TOOLS_JAR_EXISTS): Find a tools.jar so + we can check for classes it contains. + * configure.ac: + Check for com.sun.mirror.type.TypeMirror and + com.sun.net.httpserver.Headers, required by JAXWS. + * patches/boot/corba-dependencies.patch: + Remove root part of patch. + * patches/boot/dependencies.patch: + Root part of patch from corba-dependencies. + * patches/boot/jaxws-jdk-dependency.patch: + Regenerated. + * patches/boot/jaxws-langtools-dependency.patch: + Rewrite to use sources, not classes. + +2014-04-16 Andrew John Hughes + + * NEWS: + Mention PR1737. + +2014-04-14 Andrew John Hughes + + * AUTHORS: Add Radim Kolar. + * acinclude.m4: + (IT_FIND_TOOL): Cleanup error message. + (IT_FIND_TOOLS): Likewise. + +2014-03-20 Radim Kolar + + * Makefile.am: + (extract-openjdk): Use $(SED) instead of 'sed'. + (versioning): Likewise. + (add-systemtap): Likewise. + (add-systemtap-debug): Likewise. + (add-systemtap-boot): Likewise. + (rewrite-rhino): Likewise. + (clean-add-jamvm): Likewise. + (clean-add-jamvm-debug): Likewise. + (clean-add-cacao): Likewise. + (clean-add-cacao-debug): Likewise. + (clean-add-zero): Likewise. + (clean-add-zero-debug): Likewise. + (jtreg_processes): Likewise. + (rt): Likewise. + * acinclude.m4: + (IT_FIND_TOOLS): New macro to check for + multiple tools. + * configure.ac: Check for gmake, gfind, gpatch, + gsha256sum and gsed (GNU tools on *BSD). + +2014-05-09 Andrew John Hughes + + PR1762: Undefined references when building with NSS 3.16.1 + * NEWS: Updated. + * acinclude.m4: + (IT_ENABLE_SUNEC): For NSS >= 3.16.1, add -lfreebl + to SUNEC_LIBS, not SUNEC_CFLAGS, and use NSS_LIBS as + the base, not NSS_SOFTOKN_LIBS. + +2014-06-04 Andrew John Hughes + + * Makefile.am: + (BUILD_VERSION): Bump to b30. + (CORBA_CHANGESET): Update to icedtea-2.5pre07 tag. + (JAXP_CHANGESET): Likewise. + (JAXWS_CHANGESET): Likewise. + (JDK_CHANGESET): Likewise. + (LANGTOOLS_CHANGESET): Likewise. + (OPENJDK_CHANGESET): Likewise. + (CORBA_SHA256SUM): Likewise. + (JAXP_SHA256SUM): Likewise. + (JAXWS_SHA256SUM): Likewise. + (JDK_SHA256SUM): Likewise. + (LANGTOOLS_SHA256SUM): Likewise. + (OPENJDK_SHA256SUM): Likewise. + * NEWS: Updated. + * configure.ac: Bump to pre07. + * hotspot.map: Update to icedtea-2.5pre07tag. + +2014-04-23 Andrew John Hughes + + PR1742: Allow SunEC provider to be built with changes + in NSS >= 3.16.1 + * Makefile.am: + (ICEDTEA_ENV): Use SUNEC_LIBS and SUNEC_CFLAGS + instead of NSS_LIBS and NSS_CFLAGS respectively. + * acinclude.m4: + (IT_ENABLE_SUNEC): Use SUNEC_CFLAGS and SUNEC_LIBS + for clarity as NSS_CFLAGS and NSS_LIBS are also set + by the NSS detection. + +2014-04-18 Andrew John Hughes + + PR1699: Support building the SunEC provider with system NSS + * Makefile.am: + (ICEDTEA_ENV): Only add DISABLE_INTREE_EC if + ENABLE_SUNEC is not set. Set SYSTEM_NSS in both + cases and NSS_LIBS, NSS_CFLAGS and ECC_JUST_SUITE_B + when ENABLE_SUNEC is set. + * acinclude.m4: + (IT_LOCATE_NSS): Fix wording to make it clear that + this is the PKCS11 provider, using NSS as the + implementation. + (IT_ENABLE_SUNEC): Allow the Sun elliptic curve + crypto provider to be enabled. + * configure.ac: + Replace IT_LOCATE_NSS with IT_ENABLE_SUNEC (which + depends on the former). + * fsg.sh: + Only delete the SunEC implementation code at this + level. This is the part that is legally dubious, + due to the use of many more elliptic curves than + those provided by the NSS version. + * remove-intree-libraries.sh.in: + Include the remaining SunEC deletion from fsg.sh + here and make it optional. + 2014-06-04 Andrew John Hughes * INSTALL: Replace documentation of diff -r 97f337a7c17f -r f990f8b724ad INSTALL --- a/INSTALL Wed Jun 04 14:49:24 2014 +0100 +++ b/INSTALL Thu Jun 05 16:50:44 2014 +0100 @@ -175,9 +175,6 @@ * --with-tzdata-dir: Specify the location of Java timezone data, defaulting to /usr/share/javazi. * --with-llvm-config: Specify the location of the llvm-config binary. * --with-version-suffix: Appends the given text to the JDK version output. -* --with-project: Build an OpenJDK project from the following: icedtea, jdk7, closures, cvmi, cacaiocavallo, - bsd, nio2. The default is icedtea. Use of others is at the user's risk and builds may fail. This setting - affects which forest is checked out when --enable-hg is used and the set of patches applied. * --with-hotspot-build: The HotSpot to use, defaulting to 'original' i.e. hs14 as bundled with OpenJDK. * --with-pax: The command used to PaX-mark built binaries. * --enable-Werror: Turn gcc & javac warnings into errors. diff -r 97f337a7c17f -r f990f8b724ad Makefile.am --- a/Makefile.am Wed Jun 04 14:49:24 2014 +0100 +++ b/Makefile.am Thu Jun 05 16:50:44 2014 +0100 @@ -1,22 +1,22 @@ # Dependencies JDK_UPDATE_VERSION = 60 -BUILD_VERSION = b15 +BUILD_VERSION = b30 COMBINED_VERSION = $(JDK_UPDATE_VERSION)-$(BUILD_VERSION) -CORBA_CHANGESET = 1650f85c0dee -JAXP_CHANGESET = 49ca8c230020 -JAXWS_CHANGESET = 3a7c902a4390 -JDK_CHANGESET = 575b3a2fa6c9 -LANGTOOLS_CHANGESET = 853f886673d8 -OPENJDK_CHANGESET = 716796f6c6f0 +CORBA_CHANGESET = 03a1bf9a9e89 +JAXP_CHANGESET = f4ad8e860eaf +JAXWS_CHANGESET = 9699fe5c5232 +JDK_CHANGESET = 5607f5a99784 +LANGTOOLS_CHANGESET = 454870780579 +OPENJDK_CHANGESET = d42df0b6ea9d -CORBA_SHA256SUM = 11503511cac59fa9d18d955b0db1de2217723be3e3b997a5485aa19ca0353c5a -JAXP_SHA256SUM = b65e71685224d288be7f9656372463944dcb56f1e0688d94b78f1b1616e34af8 -JAXWS_SHA256SUM = b879454336dba2a27bb61528e80ba242a5e2cda657fd5096f8242a8b9c8331ce -JDK_SHA256SUM = abe758688db8a41b338eb09ce2e3b84e205e271ae51f76de39528ed84a49a70a -LANGTOOLS_SHA256SUM = 2d6f659521792661cdc3156cfa6efaebc84a77548d613a66331805ff0fbe8115 -OPENJDK_SHA256SUM = 7c8142b0981d4f47818754a1e1d15d9a99c351eadd173c8af7248f5163413dc7 +CORBA_SHA256SUM = 5f7f0c37aa0b370947bda59c6799db94e8da6aba1a82750b29907109e0326069 +JAXP_SHA256SUM = 9fe737e113ecc1424c6036fefaee4f34cd6df657a4a2ecc7b61bbab1b61e8d25 +JAXWS_SHA256SUM = cc2fc8f11e30b51cde58af756814ffa395d9b8119f9849c2681c3453f0e60d83 +JDK_SHA256SUM = 6e3070303649fe2dc98a8407f8ad9fad33208302e504dd623695e8ad0b12fae8 +LANGTOOLS_SHA256SUM = e5f761b19b250d71449cf247b265ba3cb6a0b1963621133a5712dbe30643f5d0 +OPENJDK_SHA256SUM = 9ffde89bb02d1da7ef5ca77ac100d4eefd4767cb93a87cda1deaefb6a5e1a750 CACAO_VERSION = e215e36be9fc CACAO_SHA256SUM = 4966514c72ee7ed108b882d9b6e65c3adf8a8f9c2dccb029f971b3c8cb4870ab @@ -32,12 +32,6 @@ ICEDTEA_PREFIX = icedtea7-forest-2.5 ICEDTEA_HG_URL = http://icedtea.classpath.org/hg/release/$(ICEDTEA_PREFIX) -OPENJDK_HG_URL = http://hg.openjdk.java.net/jdk7/jdk7 -CVMI_HG_URL = http://hg.openjdk.java.net/cvmi/cvmi/ -CLOSURES_HG_URL = http://hg.openjdk.java.net/closures/closures/ -CACIOCAVALLO_HG_URL = http://hg.openjdk.java.net/caciocavallo/jdk7/ -BSD_HG_URL = http://hg.openjdk.java.net/bsd-port/bsd-port -NIO2_HG_URL = http://hg.openjdk.java.net/nio/nio/ OPENJDK_URL = $(ICEDTEA_HG_URL) CORBA_URL = $(ICEDTEA_HG_URL)/corba @@ -172,6 +166,10 @@ HOTSPOT_SRC_ZIP = hotspot.tar.gz endif +if WITH_HGREV +REV_ARG = -r $(HGREV) +endif + if ENABLE_PULSE_JAVA PULSE_JAVA_TARGET = stamps/pulse-java.stamp endif @@ -307,7 +305,6 @@ ICEDTEA_BOOT_PATCHES = \ patches/boot/javafiles.patch \ - patches/boot/ant-javac.patch \ patches/boot/corba-idlj.patch \ patches/boot/corba-no-gen.patch \ patches/boot/corba-orb.patch \ @@ -328,9 +325,8 @@ patches/boot/revert-6941137.patch \ patches/boot/ecj-stringswitch.patch \ patches/boot/langtools-force-old-jdk.patch \ + patches/boot/dependencies.patch \ patches/boot/corba-dependencies.patch \ - patches/boot/jaxws-langtools-dependency.patch \ - patches/boot/jaxws-jdk-dependency.patch \ patches/boot/hotspot-jdk-dependency.patch \ patches/boot/ecj-multicatch.patch \ patches/boot/ecj-trywithresources.patch \ @@ -340,7 +336,18 @@ if !DISABLE_BOOTSTRAP_TOOLS ICEDTEA_BOOT_PATCHES += \ - patches/boot/bootstrap-tools.patch + patches/boot/bootstrap-tools.patch \ + patches/boot/ant-javac.patch +endif + +if LACKS_COM_SUN_MIRROR_TYPE_TYPEMIRROR +ICEDTEA_BOOT_PATCHES += \ + patches/boot/jaxws-langtools-dependency.patch +endif + +if LACKS_COM_SUN_NET_HTTPSERVER_HEADERS +ICEDTEA_BOOT_PATCHES += \ + patches/boot/jaxws-jdk-dependency.patch endif if !VM_SUPPORTS_XBOOTCLASSPATH @@ -473,7 +480,6 @@ ALT_JIBX_LIBS_PATH="$(JIBX_DEPS_DIR)" \ DEBUG_CLASSFILES="true" \ DEBUG_BINARIES="true" \ - DISABLE_INTREE_EC="true" \ ALT_OUTPUTDIR="$(BUILD_OUTPUT_DIR)" \ VERBOSE="$(VERBOSE)" \ STATIC_CXX="false" \ @@ -562,6 +568,18 @@ PAX_COMMAND="${PAX_COMMAND}" endif +if ENABLE_SUNEC +ICEDTEA_ENV += \ + SYSTEM_NSS="true" \ + NSS_LIBS="${SUNEC_LIBS}" \ + NSS_CFLAGS="${SUNEC_CFLAGS}" \ + ECC_JUST_SUITE_B="true" +else +ICEDTEA_ENV += \ + SYSTEM_NSS="false" \ + DISABLE_INTREE_EC="true" +endif + # OpenJDK boot build environment. ICEDTEA_ENV_BOOT = $(ICEDTEA_ENV) \ BOOTCLASSPATH_CLS_RT="-bootclasspath $(CLS_DIR_BOOT):$(RUNTIME)" \ @@ -771,7 +789,7 @@ clean-icedtea clean-icedtea-boot clean-clone clean-clone-boot \ clean-bootstrap-directory-stage1 clean-bootstrap-directory-stage2 \ clean-bootstrap-directory-symlink-stage1 clean-bootstrap-directory-symlink-stage2 \ - clean-extract clean-generated clean-native-ecj clean-hgforest clean-icedtea-stage2 \ + clean-extract clean-generated clean-native-ecj clean-icedtea-stage2 \ clean-icedtea-debug-stage2 clean-icedtea-stage1 clean-add-zero clean-add-zero-debug \ clean-add-cacao clean-add-cacao-debug clean-rt clean-rewrite-rhino clean-rewriter \ clean-add-systemtap clean-add-systemtap-debug clean-add-pulseaudio clean-add-pulseaudio-debug \ @@ -810,7 +828,8 @@ 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-add-archive clean-add-archive-debug clean-add-archive-boot clean-cryptocheck + clean-add-archive clean-add-archive-debug clean-add-archive-boot clean-cryptocheck \ + clean-download-hotspot env: @echo 'unset JAVA_HOME' @@ -840,59 +859,24 @@ # OpenJDK Source Preparation Targets # ================================== -# Check for forest support - -stamps/hgforest.stamp: -if USE_HG - if ! $(HG) fclone -h; \ - then \ - echo "No forest extension found. Please refer to" \ - "http://selenic.com/mercurial/wiki/index.cgi/ForestExtension"; \ - exit 1; \ - fi; -endif - mkdir -p stamps - touch $@ - -clean-hgforest: - rm -f stamps/hgforest.stamp - # Download OpenJDK sources. stamps/download.stamp: stamps/download-openjdk.stamp \ - stamps/download-cacao.stamp stamps/download-jamvm.stamp + stamps/download-cacao.stamp stamps/download-jamvm.stamp stamps/download-hotspot.stamp mkdir -p stamps touch $@ clean-download: clean-download-openjdk clean-download-cacao clean-download-jamvm rm -f stamps/download.stamp -stamps/download-openjdk.stamp: stamps/hgforest.stamp -if !OPENJDK_SRC_DIR_FOUND -if USE_CLOSURES - $(HG) fclone $(CLOSURES_HG_URL) openjdk; -else -if USE_CVMI - $(HG) fclone $(CVMI_HG_URL) openjdk; -else -if USE_CACIOCAVALLO - $(HG) fclone $(CACIOCAVALLO_HG_URL) openjdk; -else -if USE_BSD - $(HG) fclone $(BSD_HG_URL) openjdk; -else -if USE_NIO2 - hg fclone $(NIO2_HG_URL) openjdk; -else -if USE_JDK7 - hg fclone $(OPENJDK_HG_URL) openjdk; +stamps/download-openjdk.stamp: +if OPENJDK_SRC_DIR_FOUND else if USE_HG -if WITH_HGREV - $(HG) fclone -r $(HGREV) $(ICEDTEA_HG_URL) openjdk; -else - $(HG) fclone $(ICEDTEA_HG_URL) openjdk; -endif + $(HG) clone $(REV_ARG) $(ICEDTEA_HG_URL) openjdk; + for repos in corba jaxp jaxws langtools jdk ; do \ + $(HG) clone $(REV_ARG) $(ICEDTEA_HG_URL)/$${repos} openjdk/$${repos}; \ + done else if USE_ALT_OPENJDK_SRC_ZIP ln -sf $(ALT_OPENJDK_SRC_ZIP) $(OPENJDK_SRC_ZIP) @@ -1008,38 +992,12 @@ echo "ERROR: No up-to-date OpenJDK langtools zip available"; exit -1; \ fi ; \ fi ; -if USE_ALT_HOTSPOT_SRC_ZIP - ln -sf $(ALT_HOTSPOT_SRC_ZIP) $(HOTSPOT_SRC_ZIP) -endif - echo "Using HotSpot build: ${HSBUILD}" - if ! echo "$(HS_SHA256SUM) $(HOTSPOT_SRC_ZIP)" \ - | $(SHA256SUM) --check ; \ - then \ - if test "x$(enable_downloading)" = "xyes"; then \ - if [ -e $(HOTSPOT_SRC_ZIP) ] ; then \ - mv $(HOTSPOT_SRC_ZIP) $(HOTSPOT_SRC_ZIP).old ; \ - fi ; \ - $(WGET) $(HS_URL)/archive/$(HS_CHANGESET).tar.gz -O $(HOTSPOT_SRC_ZIP) ; \ - if ! echo "$(HS_SHA256SUM) $(HOTSPOT_SRC_ZIP)" \ - | $(SHA256SUM) --check ; then \ - echo "ERROR: Bad download of HotSpot zip"; false; \ - fi; \ - else \ - echo "ERROR: No up-to-date OpenJDK HotSpot zip available"; exit -1; \ - fi ; \ - fi -endif -endif -endif -endif From bugzilla-daemon at icedtea.classpath.org Thu Jun 5 17:54:24 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 05 Jun 2014 17:54:24 +0000 Subject: [Bug 1699] [IcedTea7] Support building the SunEC provider with system NSS In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1699 --- Comment #3 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea7-2.5?cmd=changeset;node=8ff290dd997a author: Andrew John Hughes date: Thu Jun 05 02:53:33 2014 +0100 Update to icedtea-2.5pre07. PR1742: Allow SunEC provider to be built with changes in NSS >= 3.16.1 S8036861: Application can't be loaded fine,the save dialog can't show up. S8038306: (tz) Support tzdata2014b S8012224: AWT_TopLevels/TopLevelEvents/Automated/WindowIconifyDeiconifyEventsTest02 fails on Ubuntu 12.04 Unity shell 2014-06-04 Andrew John Hughes * Makefile.am: (BUILD_VERSION): Bump to b30. (CORBA_CHANGESET): Update to icedtea-2.5pre07 tag. (JAXP_CHANGESET): Likewise. (JAXWS_CHANGESET): Likewise. (JDK_CHANGESET): Likewise. (LANGTOOLS_CHANGESET): Likewise. (OPENJDK_CHANGESET): Likewise. (CORBA_SHA256SUM): Likewise. (JAXP_SHA256SUM): Likewise. (JAXWS_SHA256SUM): Likewise. (JDK_SHA256SUM): Likewise. (LANGTOOLS_SHA256SUM): Likewise. (OPENJDK_SHA256SUM): Likewise. * NEWS: Updated. * configure.ac: Bump to pre07. * hotspot.map: Update to icedtea-2.5pre07tag. 2014-04-23 Andrew John Hughes PR1742: Allow SunEC provider to be built with changes in NSS >= 3.16.1 * Makefile.am: (ICEDTEA_ENV): Use SUNEC_LIBS and SUNEC_CFLAGS instead of NSS_LIBS and NSS_CFLAGS respectively. * acinclude.m4: (IT_ENABLE_SUNEC): Use SUNEC_CFLAGS and SUNEC_LIBS for clarity as NSS_CFLAGS and NSS_LIBS are also set by the NSS detection. 2014-04-18 Andrew John Hughes PR1699: Support building the SunEC provider with system NSS * Makefile.am: (ICEDTEA_ENV): Only add DISABLE_INTREE_EC if ENABLE_SUNEC is not set. Set SYSTEM_NSS in both cases and NSS_LIBS, NSS_CFLAGS and ECC_JUST_SUITE_B when ENABLE_SUNEC is set. * acinclude.m4: (IT_LOCATE_NSS): Fix wording to make it clear that this is the PKCS11 provider, using NSS as the implementation. (IT_ENABLE_SUNEC): Allow the Sun elliptic curve crypto provider to be enabled. * configure.ac: Replace IT_LOCATE_NSS with IT_ENABLE_SUNEC (which depends on the former). * fsg.sh: Only delete the SunEC implementation code at this level. This is the part that is legally dubious, due to the use of many more elliptic curves than those provided by the NSS version. * remove-intree-libraries.sh.in: Include the remaining SunEC deletion from fsg.sh here and make it optional. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Thu Jun 5 17:54:31 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 05 Jun 2014 17:54:31 +0000 Subject: [Bug 1742] [IcedTea7] Allow SunEC provider to be built with changes in NSS >= 3.16.1 In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1742 --- Comment #4 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea7-2.5?cmd=changeset;node=8ff290dd997a author: Andrew John Hughes date: Thu Jun 05 02:53:33 2014 +0100 Update to icedtea-2.5pre07. PR1742: Allow SunEC provider to be built with changes in NSS >= 3.16.1 S8036861: Application can't be loaded fine,the save dialog can't show up. S8038306: (tz) Support tzdata2014b S8012224: AWT_TopLevels/TopLevelEvents/Automated/WindowIconifyDeiconifyEventsTest02 fails on Ubuntu 12.04 Unity shell 2014-06-04 Andrew John Hughes * Makefile.am: (BUILD_VERSION): Bump to b30. (CORBA_CHANGESET): Update to icedtea-2.5pre07 tag. (JAXP_CHANGESET): Likewise. (JAXWS_CHANGESET): Likewise. (JDK_CHANGESET): Likewise. (LANGTOOLS_CHANGESET): Likewise. (OPENJDK_CHANGESET): Likewise. (CORBA_SHA256SUM): Likewise. (JAXP_SHA256SUM): Likewise. (JAXWS_SHA256SUM): Likewise. (JDK_SHA256SUM): Likewise. (LANGTOOLS_SHA256SUM): Likewise. (OPENJDK_SHA256SUM): Likewise. * NEWS: Updated. * configure.ac: Bump to pre07. * hotspot.map: Update to icedtea-2.5pre07tag. 2014-04-23 Andrew John Hughes PR1742: Allow SunEC provider to be built with changes in NSS >= 3.16.1 * Makefile.am: (ICEDTEA_ENV): Use SUNEC_LIBS and SUNEC_CFLAGS instead of NSS_LIBS and NSS_CFLAGS respectively. * acinclude.m4: (IT_ENABLE_SUNEC): Use SUNEC_CFLAGS and SUNEC_LIBS for clarity as NSS_CFLAGS and NSS_LIBS are also set by the NSS detection. 2014-04-18 Andrew John Hughes PR1699: Support building the SunEC provider with system NSS * Makefile.am: (ICEDTEA_ENV): Only add DISABLE_INTREE_EC if ENABLE_SUNEC is not set. Set SYSTEM_NSS in both cases and NSS_LIBS, NSS_CFLAGS and ECC_JUST_SUITE_B when ENABLE_SUNEC is set. * acinclude.m4: (IT_LOCATE_NSS): Fix wording to make it clear that this is the PKCS11 provider, using NSS as the implementation. (IT_ENABLE_SUNEC): Allow the Sun elliptic curve crypto provider to be enabled. * configure.ac: Replace IT_LOCATE_NSS with IT_ENABLE_SUNEC (which depends on the former). * fsg.sh: Only delete the SunEC implementation code at this level. This is the part that is legally dubious, due to the use of many more elliptic curves than those provided by the NSS version. * remove-intree-libraries.sh.in: Include the remaining SunEC deletion from fsg.sh here and make it optional. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Thu Jun 5 17:54:38 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 05 Jun 2014 17:54:38 +0000 Subject: [Bug 1762] [IcedTea7] Undefined references when building with NSS 3.16.1 In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1762 --- Comment #2 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea7-2.5?cmd=changeset;node=f29672153a63 author: Andrew John Hughes date: Thu Jun 05 03:07:35 2014 +0100 PR1762: Undefined references when building with NSS 3.16.1 2014-05-09 Andrew John Hughes PR1762: Undefined references when building with NSS 3.16.1 * NEWS: Updated. * acinclude.m4: (IT_ENABLE_SUNEC): For NSS >= 3.16.1, add -lfreebl to SUNEC_LIBS, not SUNEC_CFLAGS, and use NSS_LIBS as the base, not NSS_SOFTOKN_LIBS. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Thu Jun 5 17:54:44 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 05 Jun 2014 17:54:44 +0000 Subject: [Bug 1737] [IcedTea7] Support prefixed variants of GNU tools used on *BSD systems In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1737 --- Comment #3 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea7-2.5?cmd=changeset;node=efab00a8197a author: Andrew John Hughes date: Thu Apr 17 02:53:39 2014 +0100 PR1737: Support prefixed variants of GNU tools used on *BSD systems 2014-04-14 Andrew John Hughes * AUTHORS: Add Radim Kolar. * acinclude.m4: (IT_FIND_TOOL): Cleanup error message. (IT_FIND_TOOLS): Likewise. 2014-03-20 Radim Kolar * Makefile.am: (extract-openjdk): Use $(SED) instead of 'sed'. (versioning): Likewise. (add-systemtap): Likewise. (add-systemtap-debug): Likewise. (add-systemtap-boot): Likewise. (rewrite-rhino): Likewise. (clean-add-jamvm): Likewise. (clean-add-jamvm-debug): Likewise. (clean-add-cacao): Likewise. (clean-add-cacao-debug): Likewise. (clean-add-zero): Likewise. (clean-add-zero-debug): Likewise. (jtreg_processes): Likewise. (rt): Likewise. * acinclude.m4: (IT_FIND_TOOLS): New macro to check for multiple tools. * configure.ac: Check for gmake, gfind, gpatch, gsha256sum and gsed (GNU tools on *BSD). -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Thu Jun 5 17:54:49 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 05 Jun 2014 17:54:49 +0000 Subject: [Bug 1737] [IcedTea7] Support prefixed variants of GNU tools used on *BSD systems In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1737 --- Comment #4 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea7-2.5?cmd=changeset;node=f164e91b0ca7 author: Andrew John Hughes date: Thu Jun 05 03:11:26 2014 +0100 Mention PR1737 in NEWS. 2014-04-16 Andrew John Hughes * NEWS: Mention PR1737. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Thu Jun 5 17:54:54 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 05 Jun 2014 17:54:54 +0000 Subject: [Bug 1756] [IcedTea7] Bootstrap with IcedTea broken In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1756 --- Comment #2 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea7-2.5?cmd=changeset;node=b9b6ccc93bdc author: Andrew John Hughes date: Thu Jun 05 16:40:42 2014 +0100 PR1756: Bootstrap with IcedTea broken 2014-05-01 Andrew John Hughes PR1756: Bootstrap with IcedTea broken * Makefile.am: (ICEDTEA_BOOT_PATCHES): Only apply ant-javac.patch when using bootstrap tools. Only patch JAXWS build when the bootstrap JDK doesn't have the com.sun.* classes it requires. Split the root patch in corba-dependencies.patch into its own file. * NEWS: Updated. * acinclude.m4: (IT_CHECK_FOR_JDK): Make DEFUN_ONCE and fix typo. (IT_CHECK_FOR_CLASS): Depend on IT_CHECK_TOOLS_JAR_EXISTS and adds TOOLS_JAR to classpath. (IT_CHECK_TOOLS_JAR_EXISTS): Find a tools.jar so we can check for classes it contains. * configure.ac: Check for com.sun.mirror.type.TypeMirror and com.sun.net.httpserver.Headers, required by JAXWS. * patches/boot/corba-dependencies.patch: Remove root part of patch. * patches/boot/dependencies.patch: Root part of patch from corba-dependencies. * patches/boot/jaxws-jdk-dependency.patch: Regenerated. * patches/boot/jaxws-langtools-dependency.patch: Rewrite to use sources, not classes. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Thu Jun 5 17:55:00 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 05 Jun 2014 17:55:00 +0000 Subject: [Bug 1758] [IcedTea7] Support PPC64 JIT on ppc64le In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1758 --- Comment #2 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea7-2.5?cmd=changeset;node=12240198c6be author: Andrew John Hughes date: Thu Jun 05 16:42:26 2014 +0100 PR1758: Support PPC64 JIT on ppc64le 2014-05-01 Andrew John Hughes * AUTHORS: Add Tiago. * NEWS: Updated. * acinclude.m4: (IT_SET_ARCH_SETTINGS): Expand ppc64le to its own block to avoid potential future collisions. (IT_ENABLE_ZERO_BUILD): Likewise. 2014-05-01 Tiago Sturmer Daitx * acinclude.m4: (IT_SET_ARCH_SETTINGS): Support ppc64le. (IT_ENABLE_ZERO_BUILD): Likewise and use correct host_cpu value for ppc64. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Thu Jun 5 17:55:09 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 05 Jun 2014 17:55:09 +0000 Subject: [Bug 1763] [IcedTea7] ppc64 JIT doesn't support class data sharing In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1763 --- Comment #2 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea7-2.5?cmd=changeset;node=3c98e219395e author: Andrew John Hughes date: Thu Jun 05 16:44:44 2014 +0100 PR1763: ppc64 JIT doesn't support class data sharing 2014-05-13 Andrew John Hughes * Makefile.am: (add-archive): Skip on ppc64. (add-archive-debug): Likewise. (add-archive-boot): Likewise. * NEWS: Updated. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Thu Jun 5 17:55:15 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 05 Jun 2014 17:55:15 +0000 Subject: [Bug 1765] [IcedTea7] Boot JDK on ppc64le uses differently named arch directory to final build In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1765 --- Comment #2 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea7-2.5?cmd=changeset;node=b68a0fe00baa author: Andrew John Hughes date: Thu Jun 05 16:45:51 2014 +0100 PR1765: Boot JDK on ppc64le uses differently named arch directory to final build 2014-05-14 Andrew John Hughes PR1765: Boot JDK on ppc64le uses differently named arch directory to final build * Makefile.am: (bootstrap-directory-stage1): Handle ppc64le boot JDK using a different arch directory to the final build. Make output more verbose. * NEWS: Updated. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Thu Jun 5 17:55:20 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 05 Jun 2014 17:55:20 +0000 Subject: [Bug 1807] [IcedTea7] Support Debian/Ubuntu 7 OpenJDK Install as Boot JDK In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1807 --- Comment #2 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea7-2.5?cmd=changeset;node=68fba62e38ab author: Andrew John Hughes date: Thu Jun 05 16:49:22 2014 +0100 PR1807: Support Debian/Ubuntu 7 OpenJDK Install as Boot JDK 2014-06-02 Andrew John Hughes PR1807: Support Debian/Ubuntu 7 OpenJDK Install as Boot JDK * NEWS: Updated. * acinclude.m4: (IT_CHECK_FOR_JDK): Add java-7-openjdk to ICEDTEA7_VMS. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Thu Jun 5 17:55:25 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 05 Jun 2014 17:55:25 +0000 Subject: [Bug 1365] [IcedTea7] Replace hgforest support In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1365 --- Comment #3 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea7-2.5?cmd=changeset;node=655014a92f22 author: Andrew John Hughes date: Thu Jun 05 16:50:10 2014 +0100 PR1365: Replace hgforest support 2014-06-02 Andrew John Hughes * INSTALL: Remove documentation of --with-project as option is being removed. * Makefile.am: (OPENJDK_HG_URL): Removed. (CVMI_HG_URL): Likewise. (CLOSURES_HG_URL): Likewise. (CACIOCAVALLO_HG_URL): Likewise. (BSD_HG_URL): Likewise. (NIO2_HG_URL): Likewise. (REV_ARG): Added and set conditionally if $(HGREV) is set. (clean-local): Drop clean-hgforest. (hgforest): Removed. (clean-hgforest): Likewise. (download-openjdk): Remove project conditionals. Replace fclone usage with multiple clone calls. * NEWS: Updated. * acinclude.m4: (IT_ENABLE_HG): Drop IT_WITH_PROJECT dependency and simply to yes/no. (IT_WITH_PROJECT): Removed. * configure.ac: Drop IT_WITH_PROJECT. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Thu Jun 5 17:55:31 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 05 Jun 2014 17:55:31 +0000 Subject: [Bug 1814] [IcedTea7] HotSpot URL should be used with --enable-hg In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1814 --- Comment #2 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea7-2.5?cmd=changeset;node=f990f8b724ad author: Andrew John Hughes date: Thu Jun 05 16:50:44 2014 +0100 PR1814: HotSpot URL should be used with --enable-hg 2014-06-02 Andrew John Hughes PR1814: HotSpot URL should be used with --enable-hg * Makefile.am: (.PHONY): Add clean-download-hotspot. (download); Depend on download-hotspot. (clean-download): Move clean-download-nashorn to clean-download-openjdk to retain ordering. (download-openjdk): Remove hotspot from for loop and HotSpot zip download rules. (clean-download-openjdk): Depend on clean-download-hotspot. (download-hotspot): New target. Cloning now uses HS_URL as with zip downloading. (clean-download-hotspot): Separated from clean-download-openjdk. (extract-hotspot): Depend on download-hotspot. * NEWS: Updated. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Thu Jun 5 17:59:57 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 05 Jun 2014 17:59:57 +0000 Subject: [Bug 1284] [TRACKER] IcedTea 2.5.0 Release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1284 Bug 1284 depends on bug 1765, which changed state. Bug 1765 Summary: [IcedTea7] Boot JDK on ppc64le uses differently named arch directory to final build http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1765 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: From bugzilla-daemon at icedtea.classpath.org Thu Jun 5 17:59:55 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 05 Jun 2014 17:59:55 +0000 Subject: [Bug 1765] [IcedTea7] Boot JDK on ppc64le uses differently named arch directory to final build In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1765 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: From bugzilla-daemon at icedtea.classpath.org Thu Jun 5 18:05:10 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 05 Jun 2014 18:05:10 +0000 Subject: [Bug 1756] [IcedTea7] Bootstrap with IcedTea broken In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1756 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: From bugzilla-daemon at icedtea.classpath.org Thu Jun 5 18:05:10 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 05 Jun 2014 18:05:10 +0000 Subject: [Bug 1284] [TRACKER] IcedTea 2.5.0 Release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1284 Bug 1284 depends on bug 1756, which changed state. Bug 1756 Summary: [IcedTea7] Bootstrap with IcedTea broken http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1756 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: From bugzilla-daemon at icedtea.classpath.org Thu Jun 5 18:05:45 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 05 Jun 2014 18:05:45 +0000 Subject: [Bug 1814] [IcedTea7] HotSpot URL should be used with --enable-hg In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1814 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: From bugzilla-daemon at icedtea.classpath.org Thu Jun 5 18:05:46 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 05 Jun 2014 18:05:46 +0000 Subject: [Bug 1284] [TRACKER] IcedTea 2.5.0 Release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1284 Bug 1284 depends on bug 1814, which changed state. Bug 1814 Summary: [IcedTea7] HotSpot URL should be used with --enable-hg http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1814 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: From bugzilla-daemon at icedtea.classpath.org Thu Jun 5 18:08:06 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 05 Jun 2014 18:08:06 +0000 Subject: [Bug 1699] [IcedTea7] Support building the SunEC provider with system NSS In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1699 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: From bugzilla-daemon at icedtea.classpath.org Thu Jun 5 18:08:07 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 05 Jun 2014 18:08:07 +0000 Subject: [Bug 1284] [TRACKER] IcedTea 2.5.0 Release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1284 Bug 1284 depends on bug 1699, which changed state. Bug 1699 Summary: [IcedTea7] Support building the SunEC provider with system NSS http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1699 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: From bugzilla-daemon at icedtea.classpath.org Thu Jun 5 18:08:43 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 05 Jun 2014 18:08:43 +0000 Subject: [Bug 1762] [IcedTea7] Undefined references when building with NSS 3.16.1 In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1762 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: From bugzilla-daemon at icedtea.classpath.org Thu Jun 5 18:08:44 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 05 Jun 2014 18:08:44 +0000 Subject: [Bug 1284] [TRACKER] IcedTea 2.5.0 Release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1284 Bug 1284 depends on bug 1762, which changed state. Bug 1762 Summary: [IcedTea7] Undefined references when building with NSS 3.16.1 http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1762 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: From bugzilla-daemon at icedtea.classpath.org Thu Jun 5 18:09:12 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 05 Jun 2014 18:09:12 +0000 Subject: [Bug 1763] [IcedTea7] ppc64 JIT doesn't support class data sharing In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1763 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: From bugzilla-daemon at icedtea.classpath.org Thu Jun 5 18:09:13 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 05 Jun 2014 18:09:13 +0000 Subject: [Bug 1284] [TRACKER] IcedTea 2.5.0 Release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1284 Bug 1284 depends on bug 1763, which changed state. Bug 1763 Summary: [IcedTea7] ppc64 JIT doesn't support class data sharing http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1763 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: From bugzilla-daemon at icedtea.classpath.org Thu Jun 5 18:09:27 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 05 Jun 2014 18:09:27 +0000 Subject: [Bug 1284] [TRACKER] IcedTea 2.5.0 Release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1284 Bug 1284 depends on bug 1742, which changed state. Bug 1742 Summary: [IcedTea7] Allow SunEC provider to be built with changes in NSS >= 3.16.1 http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1742 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: From bugzilla-daemon at icedtea.classpath.org Thu Jun 5 18:09:27 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 05 Jun 2014 18:09:27 +0000 Subject: [Bug 1742] [IcedTea7] Allow SunEC provider to be built with changes in NSS >= 3.16.1 In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1742 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: From bugzilla-daemon at icedtea.classpath.org Thu Jun 5 18:10:03 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 05 Jun 2014 18:10:03 +0000 Subject: [Bug 1284] [TRACKER] IcedTea 2.5.0 Release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1284 Bug 1284 depends on bug 1737, which changed state. Bug 1737 Summary: [IcedTea7] Support prefixed variants of GNU tools used on *BSD systems http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1737 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: From bugzilla-daemon at icedtea.classpath.org Thu Jun 5 18:10:03 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 05 Jun 2014 18:10:03 +0000 Subject: [Bug 1737] [IcedTea7] Support prefixed variants of GNU tools used on *BSD systems In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1737 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: From bugzilla-daemon at icedtea.classpath.org Thu Jun 5 18:10:29 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 05 Jun 2014 18:10:29 +0000 Subject: [Bug 1758] [IcedTea7] Support PPC64 JIT on ppc64le In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1758 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: From bugzilla-daemon at icedtea.classpath.org Thu Jun 5 18:10:30 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 05 Jun 2014 18:10:30 +0000 Subject: [Bug 1284] [TRACKER] IcedTea 2.5.0 Release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1284 Bug 1284 depends on bug 1758, which changed state. Bug 1758 Summary: [IcedTea7] Support PPC64 JIT on ppc64le http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1758 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: From bugzilla-daemon at icedtea.classpath.org Thu Jun 5 18:11:05 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 05 Jun 2014 18:11:05 +0000 Subject: [Bug 1759] Bonita Software crashes on Ubuntu 14.04 In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1759 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Hardware|64-bit |x86_64 Severity|blocker |normal -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Thu Jun 5 18:12:42 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 05 Jun 2014 18:12:42 +0000 Subject: [Bug 1760] a fatal error SIGSEGV (0xb) at pc=0x6a492bec, pid=17406, tid=3059387200 In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1760 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Hardware|unspecified |x86 Resolution|--- |INVALID --- Comment #1 from Andrew John Hughes --- This crash is in native code, not the JDK: # Problematic frame: # C [libgobject-2.0.so.0+0x31bec] g_type_check_instance_cast+0x2c Please report to OpenCV. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Thu Jun 5 18:13:38 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 05 Jun 2014 18:13:38 +0000 Subject: [Bug 1807] [IcedTea7] Support Debian/Ubuntu 7 OpenJDK Install as Boot JDK In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1807 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: From bugzilla-daemon at icedtea.classpath.org Thu Jun 5 18:13:39 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 05 Jun 2014 18:13:39 +0000 Subject: [Bug 1284] [TRACKER] IcedTea 2.5.0 Release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1284 Bug 1284 depends on bug 1807, which changed state. Bug 1807 Summary: [IcedTea7] Support Debian/Ubuntu 7 OpenJDK Install as Boot JDK http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1807 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: From bugzilla-daemon at icedtea.classpath.org Thu Jun 5 18:13:46 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 05 Jun 2014 18:13:46 +0000 Subject: [Bug 1365] [IcedTea7] Replace hgforest support In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1365 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: From bugzilla-daemon at icedtea.classpath.org Thu Jun 5 18:13:47 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 05 Jun 2014 18:13:47 +0000 Subject: [Bug 1284] [TRACKER] IcedTea 2.5.0 Release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1284 Bug 1284 depends on bug 1365, which changed state. Bug 1365 Summary: [IcedTea7] Replace hgforest support http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1365 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: From bugzilla-daemon at icedtea.classpath.org Thu Jun 5 18:13:47 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 05 Jun 2014 18:13:47 +0000 Subject: [Bug 1814] [IcedTea7] HotSpot URL should be used with --enable-hg In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1814 Bug 1814 depends on bug 1365, which changed state. Bug 1365 Summary: [IcedTea7] Replace hgforest support http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1365 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: From omajid at redhat.com Thu Jun 5 19:54:38 2014 From: omajid at redhat.com (Omair Majid) Date: Thu, 5 Jun 2014 15:54:38 -0400 Subject: [rfc][icedtea-web][policyeditor] Unit tests fix after last PolicyEditor async IO patch In-Reply-To: <538E4549.8020908@redhat.com> References: <538CE7A5.4040306@redhat.com> <20140603212344.GF2405@redhat.com> <538E3EEC.8000905@redhat.com> <20140603214552.GG2405@redhat.com> <538E4549.8020908@redhat.com> Message-ID: <20140605195438.GA28419@redhat.com> * Andrew Azores [2014-06-03 17:59]: > I don't think I'm really on board with adding that kind of additional > complexity to it just so that this one method can be tested "better". Fair enough. > As above, it already does this. The reason the tests sporadically fail > without this patch is because the parsing didn't happen (on time). But that's my exact concern. The more asynchronous the system under test, the less guarantee you have about what it's doing. You *know*, that the code under test is not doing some things, but the tests can not prove that, because it's happening in a way the test can not look into. Thanks, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From aazores at redhat.com Thu Jun 5 20:09:21 2014 From: aazores at redhat.com (Andrew Azores) Date: Thu, 05 Jun 2014 16:09:21 -0400 Subject: [rfc][icedtea-web][policyeditor] Copy/Paste/Rename extracted and unit tests added Message-ID: <5390CE71.4020102@redhat.com> Hi, This patch extracts the Copy/Paste/Rename codebase actions into their own methods, which the button ActionListeners now call. This allows for better code reusability (including Rename now being implemented as a copy/paste and remove), and also means tests can be easily added, which they have been. Also, this patch makes it so that copy/paste includes custom permissions, not only "editor permissions" (the ones with checkboxes). Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: policyeditor-copy-paste-rename-refactor.patch Type: text/x-patch Size: 10566 bytes Desc: not available URL: From jkang at redhat.com Thu Jun 5 20:43:46 2014 From: jkang at redhat.com (Jie Kang) Date: Thu, 5 Jun 2014 16:43:46 -0400 (EDT) Subject: [rfc][icedtea-web][policyeditor] Copy/Paste/Rename extracted and unit tests added In-Reply-To: <5390CE71.4020102@redhat.com> References: <5390CE71.4020102@redhat.com> Message-ID: <52322675.11335326.1402001026955.JavaMail.zimbra@redhat.com> Hello ----- Original Message ----- > Hi, > > This patch extracts the Copy/Paste/Rename codebase actions into their > own methods, which the button ActionListeners now call. This allows for > better code reusability (including Rename now being implemented as a > copy/paste and remove), and also means tests can be easily added, which > they have been. > Everything still works. I suggest changing rename a little to make it select the newly renamed codebase. Looks fine. > Also, this patch makes it so that copy/paste includes custom > permissions, not only "editor permissions" (the ones with checkboxes). > > Thanks, > > -- > Andrew A > > Regards Jie Kang From ldracz at redhat.com Thu Jun 5 21:02:41 2014 From: ldracz at redhat.com (Lukasz Dracz) Date: Thu, 5 Jun 2014 17:02:41 -0400 (EDT) Subject: [rfc][icedtea-web][policyeditor] Copy/Paste/Rename extracted and unit tests added In-Reply-To: <5390CE71.4020102@redhat.com> References: <5390CE71.4020102@redhat.com> Message-ID: <1171084196.11346394.1402002161504.JavaMail.zimbra@redhat.com> ----- Original Message ----- > From: "Andrew Azores" > To: "IcedTea" > Sent: Thursday, June 5, 2014 4:09:21 PM > Subject: [rfc][icedtea-web][policyeditor] Copy/Paste/Rename extracted and unit tests added > > Hi, > > This patch extracts the Copy/Paste/Rename codebase actions into their > own methods, which the button ActionListeners now call. This allows for > better code reusability (including Rename now being implemented as a > copy/paste and remove), and also means tests can be easily added, which > they have been. > > Also, this patch makes it so that copy/paste includes custom > permissions, not only "editor permissions" (the ones with checkboxes). > > Thanks, > > -- > Andrew A > > Hello, Looks good to me , +0.5 ! Thank you, Lukasz Dracz From bugzilla-daemon at icedtea.classpath.org Thu Jun 5 21:18:27 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 05 Jun 2014 21:18:27 +0000 Subject: [Bug 1835] New: [IcedTea7] Missing file in backport of ppc64le JIT support Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1835 Bug ID: 1835 Summary: [IcedTea7] Missing file in backport of ppc64le JIT support Product: IcedTea Version: 7-hg Hardware: ppc64 OS: Linux Status: NEW Severity: normal Priority: P5 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: gnu.andrew at redhat.com CC: unassigned at icedtea.classpath.org In file included from /builddir/build/BUILD/icedtea-2.5pre07/openjdk-boot/hotspot/src/share/vm/classfile/classFileStream.hpp:42:0, from /builddir/build/BUILD/icedtea-2.5pre07/openjdk-boot/hotspot/src/share/vm/classfile/systemDictionary.hpp:28, from /builddir/build/BUILD/icedtea-2.5pre07/openjdk-boot/hotspot/src/share/vm/ci/ciEnv.hpp:30, from /builddir/build/BUILD/icedtea-2.5pre07/openjdk-boot/hotspot/src/share/vm/ci/ciUtilities.hpp:28, from /builddir/build/BUILD/icedtea-2.5pre07/openjdk-boot/hotspot/src/share/vm/ci/ciNullObject.hpp:30, from /builddir/build/BUILD/icedtea-2.5pre07/openjdk-boot/hotspot/src/share/vm/ci/ciConstant.hpp:29, from /builddir/build/BUILD/icedtea-2.5pre07/openjdk-boot/hotspot/src/share/vm/precompiled/precompiled.hpp:36: /builddir/build/BUILD/icedtea-2.5pre07/openjdk-boot/hotspot/src/cpu/ppc/vm/bytes_ppc.hpp:278:38: fatal error: bytes_linux_ppc.inline.hpp: No such file or directory #include "bytes_linux_ppc.inline.hpp" ^ compilation terminated. New file in 8036767: PPC64: Support for little endian execution model not added. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Thu Jun 5 21:18:47 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 05 Jun 2014 21:18:47 +0000 Subject: [Bug 1835] [IcedTea7] Missing file in backport of ppc64le JIT support In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1835 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Target Milestone|--- |2.5.0 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From andrew at icedtea.classpath.org Thu Jun 5 21:20:39 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Thu, 05 Jun 2014 21:20:39 +0000 Subject: /hg/release/icedtea7-forest-2.5: Added tag icedtea-2.5pre07 for ... Message-ID: changeset 6a4e58702235 in /hg/release/icedtea7-forest-2.5 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5?cmd=changeset;node=6a4e58702235 author: andrew date: Thu Jun 05 16:52:32 2014 +0100 Added tag icedtea-2.5pre07 for changeset d42df0b6ea9d diffstat: .hgtags | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diffs (8 lines): diff -r d42df0b6ea9d -r 6a4e58702235 .hgtags --- a/.hgtags Wed Jun 04 15:54:22 2014 +0100 +++ b/.hgtags Thu Jun 05 16:52:32 2014 +0100 @@ -458,3 +458,4 @@ 472f5930e6cc8f307b5508995ee2edcf9913a852 jdk7u60-b17 2a7a5e774023944f291ee27ca5b3ad89e0e62aaf jdk7u60-b19 ac5183999ba532c6b89f24fe01f6f0eb96799719 jdk7u60-b30 +d42df0b6ea9d7c736e0dcc0cb2562c0ee18928f2 icedtea-2.5pre07 From andrew at icedtea.classpath.org Thu Jun 5 21:20:46 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Thu, 05 Jun 2014 21:20:46 +0000 Subject: /hg/release/icedtea7-forest-2.5/corba: Added tag icedtea-2.5pre0... Message-ID: changeset 32c25f3ecdf6 in /hg/release/icedtea7-forest-2.5/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/corba?cmd=changeset;node=32c25f3ecdf6 author: andrew date: Thu Jun 05 16:52:20 2014 +0100 Added tag icedtea-2.5pre07 for changeset 03a1bf9a9e89 diffstat: .hgtags | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diffs (8 lines): diff -r 03a1bf9a9e89 -r 32c25f3ecdf6 .hgtags --- a/.hgtags Wed Jun 04 15:54:22 2014 +0100 +++ b/.hgtags Thu Jun 05 16:52:20 2014 +0100 @@ -460,3 +460,4 @@ b96d90694be873372cc417b38b01afed6ac1b239 jdk7u60-b17 5d1b39fe68944cff6380db56fbe2fbaa28091bf6 jdk7u60-b19 39734d26e279098fae06cee5a127e126090ddec9 jdk7u60-b30 +03a1bf9a9e898228db9660cc5821a561bbd4108e icedtea-2.5pre07 From andrew at icedtea.classpath.org Thu Jun 5 21:20:51 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Thu, 05 Jun 2014 21:20:51 +0000 Subject: /hg/release/icedtea7-forest-2.5/jaxp: Added tag icedtea-2.5pre07... Message-ID: changeset 6b28d9218dac in /hg/release/icedtea7-forest-2.5/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/jaxp?cmd=changeset;node=6b28d9218dac author: andrew date: Thu Jun 05 16:52:21 2014 +0100 Added tag icedtea-2.5pre07 for changeset f4ad8e860eaf diffstat: .hgtags | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diffs (8 lines): diff -r f4ad8e860eaf -r 6b28d9218dac .hgtags --- a/.hgtags Wed Jun 04 15:54:23 2014 +0100 +++ b/.hgtags Thu Jun 05 16:52:21 2014 +0100 @@ -461,3 +461,4 @@ ba6b0b5dfe5a0f50fac95c488c8a5400ea07d4f8 jdk7u60-b17 581752d32aebea959fec84e8ae692e1f63d2c4a8 jdk7u60-b19 cef2dec8b5d76555c5b7b2e1a62275206f76a07a jdk7u60-b30 +f4ad8e860eaf9cb6352e08ea88922d8c41fce766 icedtea-2.5pre07 From andrew at icedtea.classpath.org Thu Jun 5 21:20:57 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Thu, 05 Jun 2014 21:20:57 +0000 Subject: /hg/release/icedtea7-forest-2.5/jaxws: Added tag icedtea-2.5pre0... Message-ID: changeset f1f1ade53c01 in /hg/release/icedtea7-forest-2.5/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/jaxws?cmd=changeset;node=f1f1ade53c01 author: andrew date: Thu Jun 05 16:52:22 2014 +0100 Added tag icedtea-2.5pre07 for changeset 9699fe5c5232 diffstat: .hgtags | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diffs (8 lines): diff -r 9699fe5c5232 -r f1f1ade53c01 .hgtags --- a/.hgtags Wed Jun 04 15:54:23 2014 +0100 +++ b/.hgtags Thu Jun 05 16:52:22 2014 +0100 @@ -460,3 +460,4 @@ b312ec543dc09db784e161eb89607d4afd4cab1e jdk7u60-b17 1d21eb9011a060c7761c9a8a53e69d58bbea4893 jdk7u60-b19 39e67887a3b112bf74f84df2aac0f46c65bfb005 jdk7u60-b30 +9699fe5c5232952a0c75e4a5562d86b33ebe6bf5 icedtea-2.5pre07 From andrew at icedtea.classpath.org Thu Jun 5 21:21:03 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Thu, 05 Jun 2014 21:21:03 +0000 Subject: /hg/release/icedtea7-forest-2.5/langtools: Added tag icedtea-2.5... Message-ID: changeset f70c7b796422 in /hg/release/icedtea7-forest-2.5/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/langtools?cmd=changeset;node=f70c7b796422 author: andrew date: Thu Jun 05 16:52:31 2014 +0100 Added tag icedtea-2.5pre07 for changeset 454870780579 diffstat: .hgtags | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diffs (8 lines): diff -r 454870780579 -r f70c7b796422 .hgtags --- a/.hgtags Wed Jun 04 15:54:23 2014 +0100 +++ b/.hgtags Thu Jun 05 16:52:31 2014 +0100 @@ -460,3 +460,4 @@ b7cc00c573c294b144317d44803758a291b3deda jdk7u60-b17 40aa95c8477aa0a3f090859570f5536afc9026b7 jdk7u60-b19 b578e801c5f0e41be96d58e213b32f5c0c9278e8 jdk7u60-b30 +4548707805795436195ddb2f1dd2061dd474bed7 icedtea-2.5pre07 From andrew at icedtea.classpath.org Thu Jun 5 21:21:10 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Thu, 05 Jun 2014 21:21:10 +0000 Subject: /hg/release/icedtea7-forest-2.5/hotspot: 2 new changesets Message-ID: changeset d2b1b4cda049 in /hg/release/icedtea7-forest-2.5/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/hotspot?cmd=changeset;node=d2b1b4cda049 author: andrew date: Thu Jun 05 16:52:33 2014 +0100 Added tag icedtea-2.5pre07 for changeset f106b1f551d7 changeset 5dc3dd2819c8 in /hg/release/icedtea7-forest-2.5/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/hotspot?cmd=changeset;node=5dc3dd2819c8 author: andrew date: Thu Jun 05 22:19:11 2014 +0100 PR1835: Missing file in backport of ppc64le JIT support diffstat: .hgtags | 1 + src/os_cpu/linux_ppc/vm/bytes_linux_ppc.inline.hpp | 39 ++++++++++++++++++++++ 2 files changed, 40 insertions(+), 0 deletions(-) diffs (51 lines): diff -r f106b1f551d7 -r 5dc3dd2819c8 .hgtags --- a/.hgtags Wed Jun 04 15:54:23 2014 +0100 +++ b/.hgtags Thu Jun 05 22:19:11 2014 +0100 @@ -680,3 +680,4 @@ 617a6338e0c4f7699eed5061d7e8f576c3ace029 jdk7u60-b17 361493c7cdb5f75b28efc63389d6cebaaaa43a2c jdk7u60-b19 13f561930b3e80a94e2baddc51dfc6c43c5ca601 jdk7u60-b30 +f106b1f551d7ae8ef8d493b87818ada0f0bcdd8f icedtea-2.5pre07 diff -r f106b1f551d7 -r 5dc3dd2819c8 src/os_cpu/linux_ppc/vm/bytes_linux_ppc.inline.hpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/os_cpu/linux_ppc/vm/bytes_linux_ppc.inline.hpp Thu Jun 05 22:19:11 2014 +0100 @@ -0,0 +1,39 @@ +/* + * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright 2014 Google Inc. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code 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 + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + * + */ + +#ifndef OS_CPU_LINUX_PPC_VM_BYTES_LINUX_PPC_INLINE_HPP +#define OS_CPU_LINUX_PPC_VM_BYTES_LINUX_PPC_INLINE_HPP + +#if defined(VM_LITTLE_ENDIAN) +#include + +// Efficient swapping of data bytes from Java byte +// ordering to native byte ordering and vice versa. +inline u2 Bytes::swap_u2(u2 x) { return bswap_16(x); } +inline u4 Bytes::swap_u4(u4 x) { return bswap_32(x); } +inline u8 Bytes::swap_u8(u8 x) { return bswap_64(x); } +#endif // VM_LITTLE_ENDIAN + +#endif // OS_CPU_LINUX_PPC_VM_BYTES_LINUX_PPC_INLINE_HPP From bugzilla-daemon at icedtea.classpath.org Thu Jun 5 21:21:17 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 05 Jun 2014 21:21:17 +0000 Subject: [Bug 1835] [IcedTea7] Missing file in backport of ppc64le JIT support In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1835 --- Comment #1 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea7-forest-2.5/hotspot?cmd=changeset;node=5dc3dd2819c8 author: andrew date: Thu Jun 05 22:19:11 2014 +0100 PR1835: Missing file in backport of ppc64le JIT support -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From andrew at icedtea.classpath.org Thu Jun 5 21:21:28 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Thu, 05 Jun 2014 21:21:28 +0000 Subject: /hg/release/icedtea7-forest-2.5/jdk: Added tag icedtea-2.5pre07 ... Message-ID: changeset 9fa3542b3afb in /hg/release/icedtea7-forest-2.5/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/jdk?cmd=changeset;node=9fa3542b3afb author: andrew date: Thu Jun 05 16:52:29 2014 +0100 Added tag icedtea-2.5pre07 for changeset 5607f5a99784 diffstat: .hgtags | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diffs (8 lines): diff -r 5607f5a99784 -r 9fa3542b3afb .hgtags --- a/.hgtags Wed Jun 04 15:54:23 2014 +0100 +++ b/.hgtags Thu Jun 05 16:52:29 2014 +0100 @@ -444,3 +444,4 @@ e484202d9a4104840d758a21b2bba1250e766343 jdk7u60-b17 7190843ddaf4f3ad158c3071be0f4ca42a5802dc jdk7u60-b19 8dc56d0f3e860658619eaa57d10fb1a4182d71cd jdk7u60-b30 +5607f5a99784da3d78d2062f6b0bb99da864ca65 icedtea-2.5pre07 From bugzilla-daemon at icedtea.classpath.org Thu Jun 5 21:22:23 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 05 Jun 2014 21:22:23 +0000 Subject: [Bug 1284] [TRACKER] IcedTea 2.5.0 Release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1284 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on| |1835 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Thu Jun 5 21:22:23 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 05 Jun 2014 21:22:23 +0000 Subject: [Bug 1835] [IcedTea7] Missing file in backport of ppc64le JIT support In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1835 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Blocks| |1284 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From ptisnovs at icedtea.classpath.org Fri Jun 6 10:05:34 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Fri, 06 Jun 2014 10:05:34 +0000 Subject: /hg/gfx-test: Ten new tests added into CAGOperationsOnTwoOverlap... Message-ID: changeset c085da818b20 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=c085da818b20 author: Pavel Tisnovsky date: Fri Jun 06 12:06:24 2014 +0200 Ten new tests added into CAGOperationsOnTwoOverlappingRectangles. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/CAGOperationsOnTwoOverlappingRectangles.java | 250 ++++++++++ 2 files changed, 255 insertions(+), 0 deletions(-) diffs (272 lines): diff -r fa7132117625 -r c085da818b20 ChangeLog --- a/ChangeLog Thu Jun 05 10:43:44 2014 +0200 +++ b/ChangeLog Fri Jun 06 12:06:24 2014 +0200 @@ -1,3 +1,8 @@ +2014-06-06 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/CAGOperationsOnTwoOverlappingRectangles.java: + Ten new tests added into CAGOperationsOnTwoOverlappingRectangles. + 2014-06-05 Pavel Tisnovsky * src/org/gfxtest/testsuites/CAGOperationsOnTwoOverlappingCircles.java: diff -r fa7132117625 -r c085da818b20 src/org/gfxtest/testsuites/CAGOperationsOnTwoOverlappingRectangles.java --- a/src/org/gfxtest/testsuites/CAGOperationsOnTwoOverlappingRectangles.java Thu Jun 05 10:43:44 2014 +0200 +++ b/src/org/gfxtest/testsuites/CAGOperationsOnTwoOverlappingRectangles.java Fri Jun 06 12:06:24 2014 +0200 @@ -1682,6 +1682,256 @@ } /** + * Checks the process of creating and rendering new geometric shape + * constructed from two overlapping rectangles using union operator. The shape is rendered + * using texture paint (fill). + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testUnionTextureFillUsingHorizontalStripesTexture(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingHorizontalStripesTexture(image, graphics2d); + // create area using union operator + Area area = CommonCAGOperations.createAreaFromTwoOverlappingRectanglesUsingUnionOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two overlapping rectangles using subtract operator. The shape is rendered + * using texture paint (fill). + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testSubtractTextureFillUsingHorizontalStripesTexture(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingHorizontalStripesTexture(image, graphics2d); + // create area using subtract operator + Area area = CommonCAGOperations.createAreaFromTwoOverlappingRectanglesUsingSubtractOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two overlapping rectangles using inverse subtract operator. The shape is rendered + * using texture paint (fill). + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testInverseSubtractTextureFillUsingHorizontalStripesTexture(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingHorizontalStripesTexture(image, graphics2d); + // create area using inverse subtract operator + Area area = CommonCAGOperations.createAreaFromTwoOverlappingRectanglesUsingInverseSubtractOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two overlapping rectangles using Intersect operator. The shape is rendered + * using texture paint (fill). + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testIntersectTextureFillUsingHorizontalStripesTexture(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingHorizontalStripesTexture(image, graphics2d); + // create area using Intersect operator + Area area = CommonCAGOperations.createAreaFromTwoOverlappingRectanglesUsingIntersectOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two overlapping rectangles using Xor operator. The shape is rendered + * using texture paint (fill). + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testXorTextureFillUsingHorizontalStripesTexture(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingHorizontalStripesTexture(image, graphics2d); + // create area using Xor operator + Area area = CommonCAGOperations.createAreaFromTwoOverlappingRectanglesUsingXorOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two overlapping rectangles using union operator. The shape is rendered + * using texture paint (fill). + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testUnionTextureFillUsingVerticalStripesTexture(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingVerticalStripesTexture(image, graphics2d); + // create area using union operator + Area area = CommonCAGOperations.createAreaFromTwoOverlappingRectanglesUsingUnionOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two overlapping rectangles using subtract operator. The shape is rendered + * using texture paint (fill). + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testSubtractTextureFillUsingVerticalStripesTexture(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingVerticalStripesTexture(image, graphics2d); + // create area using subtract operator + Area area = CommonCAGOperations.createAreaFromTwoOverlappingRectanglesUsingSubtractOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two overlapping rectangles using inverse subtract operator. The shape is rendered + * using texture paint (fill). + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testInverseSubtractTextureFillUsingVerticalStripesTexture(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingVerticalStripesTexture(image, graphics2d); + // create area using inverse subtract operator + Area area = CommonCAGOperations.createAreaFromTwoOverlappingRectanglesUsingInverseSubtractOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two overlapping rectangles using Intersect operator. The shape is rendered + * using texture paint (fill). + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testIntersectTextureFillUsingVerticalStripesTexture(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingVerticalStripesTexture(image, graphics2d); + // create area using Intersect operator + Area area = CommonCAGOperations.createAreaFromTwoOverlappingRectanglesUsingIntersectOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two overlapping rectangles using Xor operator. The shape is rendered + * using texture paint (fill). + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testXorTextureFillUsingVerticalStripesTexture(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingVerticalStripesTexture(image, graphics2d); + // create area using Xor operator + Area area = CommonCAGOperations.createAreaFromTwoOverlappingRectanglesUsingXorOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** * Entry point to the test suite. * * @param args From aazores at icedtea.classpath.org Fri Jun 6 13:22:03 2014 From: aazores at icedtea.classpath.org (aazores at icedtea.classpath.org) Date: Fri, 06 Jun 2014 13:22:03 +0000 Subject: /hg/icedtea-web: PolicyEditor copy/paste/rename methods extracte... Message-ID: changeset 7f4465671398 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=7f4465671398 author: Andrew Azores date: Fri Jun 06 09:21:53 2014 -0400 PolicyEditor copy/paste/rename methods extracted and unit tests added 2014-06-06 Andrew Azores PolicyEditor copy/paste/rename methods extracted and unit tests added * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java (codebaseClipboard): renamed to editorPermissionsClipboard (customPermissionsClipboard): new field for copy/pasting custom permissions (copyCodebaseButtonAction, pasteCodebaseButtonAction, renameCodebaseButtonAction): refactor to use newly extracted methods (copyCodebase, pasteCodebase, renameCodebase): methods extracted from corresponding button action ActionListeners (setPermission, addCustomPermission): new methods * tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorTest.java (testRenameCodebase): new test for renaming codebase action (testCopyPasteCodebase): new test for copying and pasting codebases diffstat: ChangeLog | 15 + netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java | 85 +++++++-- tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorTest.java | 36 ++++ 3 files changed, 118 insertions(+), 18 deletions(-) diffs (206 lines): diff -r a4e068fd5b89 -r 7f4465671398 ChangeLog --- a/ChangeLog Thu Jun 05 11:22:31 2014 -0400 +++ b/ChangeLog Fri Jun 06 09:21:53 2014 -0400 @@ -1,3 +1,18 @@ +2014-06-06 Andrew Azores + + PolicyEditor copy/paste/rename methods extracted and unit tests added + * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java + (codebaseClipboard): renamed to editorPermissionsClipboard + (customPermissionsClipboard): new field for copy/pasting custom permissions + (copyCodebaseButtonAction, pasteCodebaseButtonAction, + renameCodebaseButtonAction): refactor to use newly extracted methods + (copyCodebase, pasteCodebase, renameCodebase): methods extracted from + corresponding button action ActionListeners + (setPermission, addCustomPermission): new methods + * tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorTest.java + (testRenameCodebase): new test for renaming codebase action + (testCopyPasteCodebase): new test for copying and pasting codebases + 2014-06-05 Andrew Azores Added "Copy codebase to clipboard" action to PolicyEditor diff -r a4e068fd5b89 -r 7f4465671398 netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java --- a/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java Thu Jun 05 11:22:31 2014 -0400 +++ b/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java Fri Jun 06 09:21:53 2014 -0400 @@ -65,6 +65,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; +import java.util.Collections; import java.util.HashMap; import java.util.HashSet; import java.util.LinkedList; @@ -173,7 +174,8 @@ private final JFileChooser fileChooser; private CustomPolicyViewer cpViewer = null; private final WeakReference weakThis = new WeakReference<>(this); - private Map codebaseClipboard = null; + private Map editorPermissionsClipboard = null; + private Set customPermissionsClipboard = null; private final ActionListener okButtonAction, addCodebaseButtonAction, removeCodebaseButtonAction, openButtonAction, saveAsButtonAction, viewCustomButtonAction, @@ -331,23 +333,14 @@ return; } } - final Map standardPermissions = policyFile.getCopyOfPermissions().get(oldCodebase); - final Set customPermissions = policyFile.getCopyOfCustomPermissions().get(oldCodebase); - removeCodebase(oldCodebase); - addNewCodebase(newCodebase); - for (final Map.Entry entry : standardPermissions.entrySet()) { - policyFile.setPermission(newCodebase, entry.getKey(), entry.getValue()); - } - policyFile.addCustomPermissions(newCodebase, customPermissions); - updateCheckboxes(newCodebase); - changesMade = true; + renameCodebase(oldCodebase, newCodebase); } }; copyCodebaseButtonAction = new ActionListener() { @Override public void actionPerformed(final ActionEvent e) { - codebaseClipboard = new HashMap<>(policyFile.getCopyOfPermissions().get(getSelectedCodebase())); + copyCodebase(getSelectedCodebase()); } }; @@ -361,12 +354,7 @@ return; } } - addNewCodebase(newCodebase); - for (final Map.Entry entry : codebaseClipboard.entrySet()) { - policyFile.setPermission(newCodebase, entry.getKey(), entry.getValue()); - } - updateCheckboxes(newCodebase); - changesMade = true; + pasteCodebase(newCodebase); } }; @@ -826,15 +814,76 @@ changesMade = true; } + /** + * Rename a codebase, preserving its permissions + * @param oldCodebase the codebase to rename + * @param newCodebase the new name for the codebase + */ + public void renameCodebase(final String oldCodebase, final String newCodebase) { + // Renaming a codebase shouldn't overwrite a previously copied clipboard + final Map editorPermissionsClipboardBackup = editorPermissionsClipboard; + final Set customPermissionsClipboardBackup = customPermissionsClipboard; + + copyCodebase(oldCodebase); + pasteCodebase(newCodebase); + removeCodebase(oldCodebase); + + editorPermissionsClipboard = editorPermissionsClipboardBackup; + customPermissionsClipboard = customPermissionsClipboardBackup; + } + + /** + * Copy a codebase to the editor's "clipboard" (not the system clipboard), preserving its permissions + * @param codebase the codebase to copy + */ + public void copyCodebase(final String codebase) { + if (!getCodebases().contains(codebase)) { + return; + } + editorPermissionsClipboard = new HashMap<>(policyFile.getCopyOfPermissions().get(codebase)); + + final Set customPermissions = policyFile.getCopyOfCustomPermissions().get(codebase); + if (customPermissions == null) { + customPermissionsClipboard = Collections.emptySet(); + } else { + customPermissionsClipboard = new HashSet<>(policyFile.getCopyOfCustomPermissions().get(codebase)); + } + } + + /** + * Paste a codebase from the editor's "clipboard" (not the system clipboard) + * @param newCodebase the name to paste the codebase with + */ + public void pasteCodebase(final String newCodebase) { + if (editorPermissionsClipboard == null || customPermissionsClipboard == null) { + return; + } + addNewCodebase(newCodebase); + for (final Map.Entry entry : editorPermissionsClipboard.entrySet()) { + policyFile.setPermission(newCodebase, entry.getKey(), entry.getValue()); + } + policyFile.addCustomPermissions(newCodebase, customPermissionsClipboard); + updateCheckboxes(newCodebase); + changesMade = true; + } + public Set getCodebases() { return new HashSet<>(policyFile.getCopyOfPermissions().keySet()); } + public void setPermission(final String codebase, final PolicyEditorPermissions permission, final boolean state) { + policyFile.setPermission(codebase, permission, state); + } + public Map getPermissions(final String codebase) { policyFile.addCodebase(codebase); return new HashMap<>(policyFile.getCopyOfPermissions().get(codebase)); } + public void addCustomPermission(final String codebase, final CustomPermission permission) { + policyFile.addCustomPermissions(codebase, Arrays.asList(permission)); + } + public Collection getCustomPermissions(final String codebase) { policyFile.addCodebase(codebase); return new HashSet<>(policyFile.getCopyOfCustomPermissions().get(codebase)); diff -r a4e068fd5b89 -r 7f4465671398 tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorTest.java --- a/tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorTest.java Thu Jun 05 11:22:31 2014 -0400 +++ b/tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorTest.java Fri Jun 06 09:21:53 2014 -0400 @@ -106,6 +106,42 @@ } @Test + public void testRenameCodebase() throws Exception { + final String originalUrl = "http://example.com"; + final String renamedUrl = "http://example.com/example"; + final PolicyEditorPermissions clipBoard = PolicyEditorPermissions.CLIPBOARD; + editor.addNewCodebase(originalUrl); + editor.setPermission(originalUrl, clipBoard, Boolean.TRUE); + final Collection beforeRenameCodebases = editor.getCodebases(); + assertTrue("Editor should contain " + originalUrl, beforeRenameCodebases.contains(originalUrl)); + assertTrue(originalUrl + " should have " + clipBoard, editor.getPermissions(originalUrl).get(clipBoard)); + editor.renameCodebase(originalUrl, renamedUrl); + final Collection afterRenamedCodebases = editor.getCodebases(); + assertFalse("Editor should not contain old codebase: " + originalUrl, afterRenamedCodebases.contains(originalUrl)); + assertTrue("Editor should contain new codebase name: " + renamedUrl, afterRenamedCodebases.contains(renamedUrl)); + assertTrue("Renamed " + renamedUrl + " should have " + clipBoard, editor.getPermissions(renamedUrl).get(clipBoard)); + } + + @Test + public void testCopyPasteCodebase() throws Exception { + final String copyUrl = "http://example.com"; + final String pasteUrl = "http://example.com/example"; + final PolicyEditorPermissions clipBoard = PolicyEditorPermissions.CLIPBOARD; + editor.addNewCodebase(copyUrl); + editor.setPermission(copyUrl, clipBoard, Boolean.TRUE); + final Collection beforePasteCodebases = editor.getCodebases(); + assertTrue("Editor should contain original codebase: " + copyUrl, beforePasteCodebases.contains(copyUrl)); + assertTrue(copyUrl + " should have " + clipBoard, editor.getPermissions(copyUrl).get(clipBoard)); + editor.copyCodebase(copyUrl); + editor.pasteCodebase(pasteUrl); + final Collection afterPasteCodebases = editor.getCodebases(); + assertTrue("Editor should still contain original codebase: " + copyUrl, afterPasteCodebases.contains(copyUrl)); + assertTrue("Editor should also contain pasted codebase:" + pasteUrl, afterPasteCodebases.contains(pasteUrl)); + assertTrue(copyUrl + " should have " + clipBoard, editor.getPermissions(copyUrl).get(clipBoard)); + assertTrue(pasteUrl + " should have " + clipBoard, editor.getPermissions(pasteUrl).get(clipBoard)); + } + + @Test public void testReturnedCodebasesIsCopy() throws Exception { final Collection original = editor.getCodebases(); original.add("some invalid value"); From aazores at icedtea.classpath.org Fri Jun 6 13:35:40 2014 From: aazores at icedtea.classpath.org (aazores at icedtea.classpath.org) Date: Fri, 06 Jun 2014 13:35:40 +0000 Subject: /hg/release/icedtea-web-1.5: Fixed PolicyEditor NullPointer on e... Message-ID: changeset 476ce40cafc7 in /hg/release/icedtea-web-1.5 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.5?cmd=changeset;node=476ce40cafc7 author: Andrew Azores date: Fri Jun 06 09:35:30 2014 -0400 Fixed PolicyEditor NullPointer on exit-and-save 2014-06-06 Andrew Azores Fixed NullPointerException when closing PolicyEditor with changes made and no file yet set (editor opened without arguments), and selecting yes to save changes before exit. * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java (quit): if file is null, display file chooser prompt before attempting to save diffstat: ChangeLog | 8 +++++ netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java | 16 ++++++++++ 2 files changed, 24 insertions(+), 0 deletions(-) diffs (48 lines): diff -r 216fe105f338 -r 476ce40cafc7 ChangeLog --- a/ChangeLog Tue Apr 15 11:32:04 2014 +0200 +++ b/ChangeLog Fri Jun 06 09:35:30 2014 -0400 @@ -1,3 +1,11 @@ +2014-06-06 Andrew Azores + + Fixed NullPointerException when closing PolicyEditor with changes made and + no file yet set (editor opened without arguments), and selecting yes to + save changes before exit. + * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java + (quit): if file is null, display file chooser prompt before attempting to save + 2014-04-15 Jiri Vanek Reflect possibility of disabled manifest check to unit-test diff -r 216fe105f338 -r 476ce40cafc7 netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java --- a/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java Tue Apr 15 11:32:04 2014 +0200 +++ b/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java Fri Jun 06 09:35:30 2014 -0400 @@ -480,6 +480,14 @@ if (editor.changesMade) { final int save = JOptionPane.showConfirmDialog(this, R("PESaveChanges")); if (save == JOptionPane.YES_OPTION) { + if (editor.file == null) { + final int choice = editor.fileChooser.showSaveDialog(this); + if (choice == JFileChooser.APPROVE_OPTION) { + editor.file = editor.fileChooser.getSelectedFile(); + } else if (choice == JFileChooser.CANCEL_OPTION) { + return; + } + } editor.savePolicyFile(); } else if (save == JOptionPane.CANCEL_OPTION) { return; @@ -545,6 +553,14 @@ if (editor.changesMade) { final int save = JOptionPane.showConfirmDialog(this, R("PESaveChanges")); if (save == JOptionPane.YES_OPTION) { + if (editor.file == null) { + final int choice = editor.fileChooser.showSaveDialog(this); + if (choice == JFileChooser.APPROVE_OPTION) { + editor.file = editor.fileChooser.getSelectedFile(); + } else if (choice == JFileChooser.CANCEL_OPTION) { + return; + } + } editor.savePolicyFile(); } else if (save == JOptionPane.CANCEL_OPTION) { return; From aazores at redhat.com Fri Jun 6 14:47:43 2014 From: aazores at redhat.com (Andrew Azores) Date: Fri, 06 Jun 2014 10:47:43 -0400 Subject: [rfc][icedtea-web][policyeditor] CustomPolicyEditor method extractions and tests added Message-ID: <5391D48F.5040809@redhat.com> Hi, In the same vein as the previous patch to PolicyEditor which extracted some methods to allow unit testing, this attached patch does the same for CustomPolicyViewer. Additionally, CustomPolicyViewer no longer holds a reference of its own to the PolicyFileModel, instead using appropriate methods exposed through its parent PolicyEditor. CustomPolicyViewer now also uses CustomPolicy.fromString() rather than its own "parsing" solution, and also no longer allows duplicate permissions to be added to the user interface (which was a bug since the actual collection modelling this is a Set anyway, so the JList and Set could become out of sync). Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: custompolicyviewer-refactor-tests.patch Type: text/x-patch Size: 15892 bytes Desc: not available URL: From aazores at redhat.com Fri Jun 6 14:49:38 2014 From: aazores at redhat.com (Andrew Azores) Date: Fri, 06 Jun 2014 10:49:38 -0400 Subject: [rfc][icedtea-web][policyeditor] CustomPolicyEditor method extractions and tests added In-Reply-To: <5391D48F.5040809@redhat.com> References: <5391D48F.5040809@redhat.com> Message-ID: <5391D502.2080504@redhat.com> On 06/06/2014 10:47 AM, Andrew Azores wrote: > Hi, > > In the same vein as the previous patch to PolicyEditor which extracted > some methods to allow unit testing, this attached patch does the same > for CustomPolicyViewer. Additionally, CustomPolicyViewer no longer > holds a reference of its own to the PolicyFileModel, instead using > appropriate methods exposed through its parent PolicyEditor. > CustomPolicyViewer now also uses CustomPolicy.fromString() rather than > its own "parsing" solution, and also no longer allows duplicate > permissions to be added to the user interface (which was a bug since > the actual collection modelling this is a Set anyway, so the JList and > Set could become out of sync). > > Thanks, > Sorry, in the subject line that should be CustomPolicy*Viewer*, not CustomPolicyEditor. Thanks, -- Andrew A From ldracz at redhat.com Fri Jun 6 15:22:09 2014 From: ldracz at redhat.com (Lukasz Dracz) Date: Fri, 6 Jun 2014 11:22:09 -0400 (EDT) Subject: [rfc][icedtea-web][policyeditor] CustomPolicyEditor method extractions and tests added In-Reply-To: <5391D502.2080504@redhat.com> References: <5391D48F.5040809@redhat.com> <5391D502.2080504@redhat.com> Message-ID: <2023840321.11643453.1402068129797.JavaMail.zimbra@redhat.com> ----- Original Message ----- > From: "Andrew Azores" > To: "IcedTea" > Sent: Friday, June 6, 2014 10:49:38 AM > Subject: Re: [rfc][icedtea-web][policyeditor] CustomPolicyEditor method extractions and tests added > > On 06/06/2014 10:47 AM, Andrew Azores wrote: > > Hi, > > > > In the same vein as the previous patch to PolicyEditor which extracted > > some methods to allow unit testing, this attached patch does the same > > for CustomPolicyViewer. Additionally, CustomPolicyViewer no longer > > holds a reference of its own to the PolicyFileModel, instead using > > appropriate methods exposed through its parent PolicyEditor. > > CustomPolicyViewer now also uses CustomPolicy.fromString() rather than > > its own "parsing" solution, and also no longer allows duplicate > > permissions to be added to the user interface (which was a bug since > > the actual collection modelling this is a Set anyway, so the JList and > > Set could become out of sync). > > > > Thanks, > > > > Sorry, in the subject line that should be CustomPolicy*Viewer*, not > CustomPolicyEditor. > > Thanks, > > -- > Andrew A > > Hello, The functionality works on stopping repeats but adding Custom Permissions now require a more strict format, i.e. the tool-tip mentions not to include the word permission when setting a permission but I found it necessary to do so to be able to add a custom permission. Perhaps changing the tool tip or if it is possible making the user not need to enter the word permission, or have a semi-colon at the end. Other than that it looks good. Thank you, Lukasz Dracz From aazores at redhat.com Fri Jun 6 15:28:59 2014 From: aazores at redhat.com (Andrew Azores) Date: Fri, 06 Jun 2014 11:28:59 -0400 Subject: [rfc][icedtea-web][policyeditor] CustomPolicyEditor method extractions and tests added In-Reply-To: <2023840321.11643453.1402068129797.JavaMail.zimbra@redhat.com> References: <5391D48F.5040809@redhat.com> <5391D502.2080504@redhat.com> <2023840321.11643453.1402068129797.JavaMail.zimbra@redhat.com> Message-ID: <5391DE3B.9050408@redhat.com> On 06/06/2014 11:22 AM, Lukasz Dracz wrote: > > ----- Original Message ----- >> From: "Andrew Azores" >> To: "IcedTea" >> Sent: Friday, June 6, 2014 10:49:38 AM >> Subject: Re: [rfc][icedtea-web][policyeditor] CustomPolicyEditor method extractions and tests added >> >> On 06/06/2014 10:47 AM, Andrew Azores wrote: >>> Hi, >>> >>> In the same vein as the previous patch to PolicyEditor which extracted >>> some methods to allow unit testing, this attached patch does the same >>> for CustomPolicyViewer. Additionally, CustomPolicyViewer no longer >>> holds a reference of its own to the PolicyFileModel, instead using >>> appropriate methods exposed through its parent PolicyEditor. >>> CustomPolicyViewer now also uses CustomPolicy.fromString() rather than >>> its own "parsing" solution, and also no longer allows duplicate >>> permissions to be added to the user interface (which was a bug since >>> the actual collection modelling this is a Set anyway, so the JList and >>> Set could become out of sync). >>> >>> Thanks, >>> >> Sorry, in the subject line that should be CustomPolicy*Viewer*, not >> CustomPolicyEditor. >> >> Thanks, >> >> -- >> Andrew A >> >> > Hello, > > The functionality works on stopping repeats but adding Custom Permissions now require a more strict format, i.e. the tool-tip mentions not to include the word permission when setting a permission but I found it necessary to do so to be able to add a custom permission. Perhaps changing the tool tip or if it is possible making the user not need to enter the word permission, or have a semi-colon at the end. Other than that it looks good. > > Thank you, > Lukasz Dracz Thanks for the quick review! Yea, I think I actually liked it better before when it didn't require the user to entire the whole permission string as it would be written in an actual policy file. I've put it back to how it was before (so no longer using CustomPermission.fromString here) but enhanced it a little so that it handles excessive whitespace characters better. Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: custompolicyviewer-refactor-tests-2.patch Type: text/x-patch Size: 16219 bytes Desc: not available URL: From aazores at redhat.com Fri Jun 6 15:39:10 2014 From: aazores at redhat.com (Andrew Azores) Date: Fri, 06 Jun 2014 11:39:10 -0400 Subject: [rfc][icedtea-web][policyeditor] CustomPermissions toString correction for basic permissions Message-ID: <5391E09E.2080800@redhat.com> Hi, There are two major types of permissions that go into policy files - standard permissions, and basic permissions. Standard permissions have the following format: permission $permission_type "$permission_target", "$permission_action1,$permission_action2"; Basic permissions have the following format: permission $permission_type "$permission_target"; Without this patch, the CustomPermission class erroneously formats its basic permissions to include an empty actions string. So, in the case of: permission java.lang.RuntimePermission "createClassLoader"; Instead, it would be presented as: permission java.lang.RuntimePermission "createClassLoader", ""; This patch very simply fixes this bug (which was due to comparing a string to an enum member containing a string field, rather than comparing a string to the string field *contained* by the enum member) and adds a unit test for this case. Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: custompermission-tostring-actions.patch Type: text/x-patch Size: 2544 bytes Desc: not available URL: From aazores at redhat.com Fri Jun 6 15:40:50 2014 From: aazores at redhat.com (Andrew Azores) Date: Fri, 06 Jun 2014 11:40:50 -0400 Subject: [rfc][icedtea-web][policyeditor] CustomPermissions toString correction for basic permissions In-Reply-To: <5391E09E.2080800@redhat.com> References: <5391E09E.2080800@redhat.com> Message-ID: <5391E102.5030200@redhat.com> On 06/06/2014 11:39 AM, Andrew Azores wrote: > Hi, > > There are two major types of permissions that go into policy files - > standard permissions, and basic permissions. Standard permissions have > the following format: > > permission $permission_type "$permission_target", > "$permission_action1,$permission_action2"; > > Basic permissions have the following format: > > permission $permission_type "$permission_target"; > > Without this patch, the CustomPermission class erroneously formats its > basic permissions to include an empty actions string. So, in the case of: > > permission java.lang.RuntimePermission "createClassLoader"; > > Instead, it would be presented as: > > permission java.lang.RuntimePermission "createClassLoader", ""; > > This patch very simply fixes this bug (which was due to comparing a > string to an enum member containing a string field, rather than > comparing a string to the string field *contained* by the enum member) > and adds a unit test for this case. > > Thanks, > (I also propose to backport this fix to 1.5) Thanks, -- Andrew A From ldracz at redhat.com Fri Jun 6 16:05:19 2014 From: ldracz at redhat.com (Lukasz Dracz) Date: Fri, 6 Jun 2014 12:05:19 -0400 (EDT) Subject: [rfc][icedtea-web][policyeditor] CustomPermissions toString correction for basic permissions In-Reply-To: <5391E09E.2080800@redhat.com> References: <5391E09E.2080800@redhat.com> Message-ID: <1039827252.11660483.1402070719569.JavaMail.zimbra@redhat.com> ----- Original Message ----- > From: "Andrew Azores" > To: "IcedTea" > Sent: Friday, June 6, 2014 11:39:10 AM > Subject: [rfc][icedtea-web][policyeditor] CustomPermissions toString correction for basic permissions > > Hi, > > There are two major types of permissions that go into policy files - > standard permissions, and basic permissions. Standard permissions have > the following format: > > permission $permission_type "$permission_target", > "$permission_action1,$permission_action2"; > > Basic permissions have the following format: > > permission $permission_type "$permission_target"; > > Without this patch, the CustomPermission class erroneously formats its > basic permissions to include an empty actions string. So, in the case of: > > permission java.lang.RuntimePermission "createClassLoader"; > > Instead, it would be presented as: > > permission java.lang.RuntimePermission "createClassLoader", ""; > > This patch very simply fixes this bug (which was due to comparing a > string to an enum member containing a string field, rather than > comparing a string to the string field *contained* by the enum member) > and adds a unit test for this case. > > Thanks, > > -- > Andrew A > > Hello, Looks good, as to the 1.5 backport, I don't know if I can approve backports but if I can then I agree this would be worthwhile to backport to 1.5. Thank you, Lukasz Dracz From jkang at redhat.com Fri Jun 6 17:42:19 2014 From: jkang at redhat.com (Jie Kang) Date: Fri, 6 Jun 2014 13:42:19 -0400 (EDT) Subject: [rfc][icedtea-web][policyeditor] CustomPermissions toString correction for basic permissions In-Reply-To: <5391E102.5030200@redhat.com> References: <5391E09E.2080800@redhat.com> <5391E102.5030200@redhat.com> Message-ID: <864269590.11697813.1402076539361.JavaMail.zimbra@redhat.com> ----- Original Message ----- > On 06/06/2014 11:39 AM, Andrew Azores wrote: > > Hi, > > > > There are two major types of permissions that go into policy files - > > standard permissions, and basic permissions. Standard permissions have > > the following format: > > > > permission $permission_type "$permission_target", > > "$permission_action1,$permission_action2"; > > > > Basic permissions have the following format: > > > > permission $permission_type "$permission_target"; > > > > Without this patch, the CustomPermission class erroneously formats its > > basic permissions to include an empty actions string. So, in the case of: > > > > permission java.lang.RuntimePermission "createClassLoader"; > > > > Instead, it would be presented as: > > > > permission java.lang.RuntimePermission "createClassLoader", ""; > > > > This patch very simply fixes this bug (which was due to comparing a > > string to an enum member containing a string field, rather than > > comparing a string to the string field *contained* by the enum member) > > and adds a unit test for this case. > > > > Thanks, > > Patch looks fine. 0.5 > > (I also propose to backport this fix to 1.5) I agree that this can be backported to 1.5. > > Thanks, > > -- > Andrew A > > Regards, Jie From aazores at icedtea.classpath.org Fri Jun 6 18:35:55 2014 From: aazores at icedtea.classpath.org (aazores at icedtea.classpath.org) Date: Fri, 06 Jun 2014 18:35:55 +0000 Subject: /hg/icedtea-web: CustomPermission properly formats basic permiss... Message-ID: changeset 0e97a940f5c4 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=0e97a940f5c4 author: Andrew Azores date: Fri Jun 06 14:35:41 2014 -0400 CustomPermission properly formats basic permissions 2014-06-06 Andrew Azores * netx/net/sourceforge/jnlp/security/policyeditor/CustomPermission.java (toString): fixed empty actions string appearing on basic permissions, which do not have actions * tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/CustomPermissionTest.java: (testToStringWithoutActions): new test diffstat: ChangeLog | 8 ++++++++ netx/net/sourceforge/jnlp/security/policyeditor/CustomPermission.java | 2 +- tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/CustomPermissionTest.java | 9 +++++++++ 3 files changed, 18 insertions(+), 1 deletions(-) diffs (54 lines): diff -r 7f4465671398 -r 0e97a940f5c4 ChangeLog --- a/ChangeLog Fri Jun 06 09:21:53 2014 -0400 +++ b/ChangeLog Fri Jun 06 14:35:41 2014 -0400 @@ -1,3 +1,11 @@ +2014-06-06 Andrew Azores + + * netx/net/sourceforge/jnlp/security/policyeditor/CustomPermission.java + (toString): fixed empty actions string appearing on basic permissions, which + do not have actions + * tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/CustomPermissionTest.java: + (testToStringWithoutActions): new test + 2014-06-06 Andrew Azores PolicyEditor copy/paste/rename methods extracted and unit tests added diff -r 7f4465671398 -r 0e97a940f5c4 netx/net/sourceforge/jnlp/security/policyeditor/CustomPermission.java --- a/netx/net/sourceforge/jnlp/security/policyeditor/CustomPermission.java Fri Jun 06 09:21:53 2014 -0400 +++ b/netx/net/sourceforge/jnlp/security/policyeditor/CustomPermission.java Fri Jun 06 14:35:41 2014 -0400 @@ -107,7 +107,7 @@ sb.append(target); sb.append("\""); - if (!this.actions.equals(PermissionActions.NONE)) { + if (!this.actions.equals(PermissionActions.NONE.rawString())) { sb.append(", \""); sb.append(actions); sb.append("\""); diff -r 7f4465671398 -r 0e97a940f5c4 tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/CustomPermissionTest.java --- a/tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/CustomPermissionTest.java Fri Jun 06 09:21:53 2014 -0400 +++ b/tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/CustomPermissionTest.java Fri Jun 06 14:35:41 2014 -0400 @@ -36,7 +36,9 @@ package net.sourceforge.jnlp.security.policyeditor; +import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; + import org.junit.Test; public class CustomPermissionTest { @@ -114,6 +116,13 @@ } @Test + public void testToStringWithoutActions() throws Exception { + final CustomPermission cp = new CustomPermission("java.lang.RuntimePermission", "createClassLoader", ""); + final String expected = "permission java.lang.RuntimePermission \"createClassLoader\";"; + assertEquals(expected, cp.toString()); + } + + @Test public void testCompareTo() throws Exception { final CustomPermission cp1 = new CustomPermission("java.io.FilePermission", "*", "read"); final CustomPermission cp2 = new CustomPermission("java.io.FilePermission", "${user.home}${/}*", "read"); From aazores at icedtea.classpath.org Fri Jun 6 18:42:14 2014 From: aazores at icedtea.classpath.org (aazores at icedtea.classpath.org) Date: Fri, 06 Jun 2014 18:42:14 +0000 Subject: /hg/release/icedtea-web-1.5: CustomPermission properly formats b... Message-ID: changeset 7a6519fee342 in /hg/release/icedtea-web-1.5 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.5?cmd=changeset;node=7a6519fee342 author: Andrew Azores date: Fri Jun 06 14:42:02 2014 -0400 CustomPermission properly formats basic permissions 2014-06-06 Andrew Azores * netx/net/sourceforge/jnlp/security/policyeditor/CustomPermission.java (toString): fixed empty actions string appearing on basic permissions, which do not have actions * tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/CustomPermissionTest.java: (testToStringWithoutActions): new test diffstat: ChangeLog | 8 ++++++++ netx/net/sourceforge/jnlp/security/policyeditor/CustomPermission.java | 2 +- tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/CustomPermissionTest.java | 9 +++++++++ 3 files changed, 18 insertions(+), 1 deletions(-) diffs (54 lines): diff -r 476ce40cafc7 -r 7a6519fee342 ChangeLog --- a/ChangeLog Fri Jun 06 09:35:30 2014 -0400 +++ b/ChangeLog Fri Jun 06 14:42:02 2014 -0400 @@ -1,3 +1,11 @@ +2014-06-06 Andrew Azores + + * netx/net/sourceforge/jnlp/security/policyeditor/CustomPermission.java + (toString): fixed empty actions string appearing on basic permissions, which + do not have actions + * tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/CustomPermissionTest.java: + (testToStringWithoutActions): new test + 2014-06-06 Andrew Azores Fixed NullPointerException when closing PolicyEditor with changes made and diff -r 476ce40cafc7 -r 7a6519fee342 netx/net/sourceforge/jnlp/security/policyeditor/CustomPermission.java --- a/netx/net/sourceforge/jnlp/security/policyeditor/CustomPermission.java Fri Jun 06 09:35:30 2014 -0400 +++ b/netx/net/sourceforge/jnlp/security/policyeditor/CustomPermission.java Fri Jun 06 14:42:02 2014 -0400 @@ -107,7 +107,7 @@ sb.append(target); sb.append("\""); - if (!this.actions.equals(PermissionActions.NONE)) { + if (!this.actions.equals(PermissionActions.NONE.rawString())) { sb.append(", \""); sb.append(actions); sb.append("\""); diff -r 476ce40cafc7 -r 7a6519fee342 tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/CustomPermissionTest.java --- a/tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/CustomPermissionTest.java Fri Jun 06 09:35:30 2014 -0400 +++ b/tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/CustomPermissionTest.java Fri Jun 06 14:42:02 2014 -0400 @@ -36,7 +36,9 @@ package net.sourceforge.jnlp.security.policyeditor; +import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; + import org.junit.Test; public class CustomPermissionTest { @@ -114,6 +116,13 @@ } @Test + public void testToStringWithoutActions() throws Exception { + final CustomPermission cp = new CustomPermission("java.lang.RuntimePermission", "createClassLoader", ""); + final String expected = "permission java.lang.RuntimePermission \"createClassLoader\";"; + assertEquals(expected, cp.toString()); + } + + @Test public void testCompareTo() throws Exception { final CustomPermission cp1 = new CustomPermission("java.io.FilePermission", "*", "read"); final CustomPermission cp2 = new CustomPermission("java.io.FilePermission", "${user.home}${/}*", "read"); From jkang at redhat.com Fri Jun 6 18:51:54 2014 From: jkang at redhat.com (Jie Kang) Date: Fri, 6 Jun 2014 14:51:54 -0400 (EDT) Subject: [rfc][icedtea-web][policyeditor] CustomPolicyEditor method extractions and tests added In-Reply-To: <5391DE3B.9050408@redhat.com> References: <5391D48F.5040809@redhat.com> <5391D502.2080504@redhat.com> <2023840321.11643453.1402068129797.JavaMail.zimbra@redhat.com> <5391DE3B.9050408@redhat.com> Message-ID: <136674046.11724984.1402080714224.JavaMail.zimbra@redhat.com> ----- Original Message ----- > On 06/06/2014 11:22 AM, Lukasz Dracz wrote: > > > > ----- Original Message ----- > >> From: "Andrew Azores" > >> To: "IcedTea" > >> Sent: Friday, June 6, 2014 10:49:38 AM > >> Subject: Re: [rfc][icedtea-web][policyeditor] CustomPolicyEditor method > >> extractions and tests added > >> > >> On 06/06/2014 10:47 AM, Andrew Azores wrote: > >>> Hi, > >>> > >>> In the same vein as the previous patch to PolicyEditor which extracted > >>> some methods to allow unit testing, this attached patch does the same > >>> for CustomPolicyViewer. Additionally, CustomPolicyViewer no longer > >>> holds a reference of its own to the PolicyFileModel, instead using > >>> appropriate methods exposed through its parent PolicyEditor. > >>> CustomPolicyViewer now also uses CustomPolicy.fromString() rather than > >>> its own "parsing" solution, and also no longer allows duplicate > >>> permissions to be added to the user interface (which was a bug since > >>> the actual collection modelling this is a Set anyway, so the JList and > >>> Set could become out of sync). > >>> Hello, Currently testAddCustomPermissionDuplicates calls testAddCustomPermission in order to add a base permission. Though it is convenient I don't think this is good practice. Everything else looks fine. > >>> Thanks, > >>> > >> Sorry, in the subject line that should be CustomPolicy*Viewer*, not > >> CustomPolicyEditor. > >> > >> Thanks, > >> > >> -- > >> Andrew A From aazores at redhat.com Fri Jun 6 19:11:59 2014 From: aazores at redhat.com (Andrew Azores) Date: Fri, 06 Jun 2014 15:11:59 -0400 Subject: [rfc][icedtea-web][policyeditor] CustomPolicyEditor method extractions and tests added In-Reply-To: <136674046.11724984.1402080714224.JavaMail.zimbra@redhat.com> References: <5391D48F.5040809@redhat.com> <5391D502.2080504@redhat.com> <2023840321.11643453.1402068129797.JavaMail.zimbra@redhat.com> <5391DE3B.9050408@redhat.com> <136674046.11724984.1402080714224.JavaMail.zimbra@redhat.com> Message-ID: <5392127F.10006@redhat.com> On 06/06/2014 02:51 PM, Jie Kang wrote: > > ----- Original Message ----- >> On 06/06/2014 11:22 AM, Lukasz Dracz wrote: >>> ----- Original Message ----- >>>> From: "Andrew Azores" >>>> To: "IcedTea" >>>> Sent: Friday, June 6, 2014 10:49:38 AM >>>> Subject: Re: [rfc][icedtea-web][policyeditor] CustomPolicyEditor method >>>> extractions and tests added >>>> >>>> On 06/06/2014 10:47 AM, Andrew Azores wrote: >>>>> Hi, >>>>> >>>>> In the same vein as the previous patch to PolicyEditor which extracted >>>>> some methods to allow unit testing, this attached patch does the same >>>>> for CustomPolicyViewer. Additionally, CustomPolicyViewer no longer >>>>> holds a reference of its own to the PolicyFileModel, instead using >>>>> appropriate methods exposed through its parent PolicyEditor. >>>>> CustomPolicyViewer now also uses CustomPolicy.fromString() rather than >>>>> its own "parsing" solution, and also no longer allows duplicate >>>>> permissions to be added to the user interface (which was a bug since >>>>> the actual collection modelling this is a Set anyway, so the JList and >>>>> Set could become out of sync). >>>>> > Hello, > > Currently testAddCustomPermissionDuplicates calls testAddCustomPermission in order to add a base permission. Though it is convenient I don't think this is good practice. Everything else looks fine. > > >>>>> Thanks, >>>>> >>>> Sorry, in the subject line that should be CustomPolicy*Viewer*, not >>>> CustomPolicyEditor. >>>> >>>> Thanks, >>>> >>>> -- >>>> Andrew A Yea, I wasn't too happy with it either. The adding of a permission on its own is not enough to extract into a method, it needs to be done along with the asserts to be anything useful. I don't want to have the asserts in a non- at Test method really, so what's left is either calling a test from within other tests, or just having duplicate code. The attached patch lets the duplicate code be rather than calling another @Test method from within tests. Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: custompolicyviewer-refactor-tests-3.patch Type: text/x-patch Size: 16484 bytes Desc: not available URL: From ptisnovs at icedtea.classpath.org Mon Jun 9 10:00:59 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Mon, 09 Jun 2014 10:00:59 +0000 Subject: /hg/gfx-test: Added new tests and new helper methods into BitBlt... Message-ID: changeset 9a62e5957854 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=9a62e5957854 author: Pavel Tisnovsky date: Mon Jun 09 12:01:49 2014 +0200 Added new tests and new helper methods into BitBltUsingBgColor. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/BitBltUsingBgColor.java | 133 ++++++++++++++------ 2 files changed, 97 insertions(+), 41 deletions(-) diffs (386 lines): diff -r c085da818b20 -r 9a62e5957854 ChangeLog --- a/ChangeLog Fri Jun 06 12:06:24 2014 +0200 +++ b/ChangeLog Mon Jun 09 12:01:49 2014 +0200 @@ -1,3 +1,8 @@ +2014-06-09 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/BitBltUsingBgColor.java: + Added new tests and new helper methods into BitBltUsingBgColor. + 2014-06-06 Pavel Tisnovsky * src/org/gfxtest/testsuites/CAGOperationsOnTwoOverlappingRectangles.java: diff -r c085da818b20 -r 9a62e5957854 src/org/gfxtest/testsuites/BitBltUsingBgColor.java --- a/src/org/gfxtest/testsuites/BitBltUsingBgColor.java Fri Jun 06 12:06:24 2014 +0200 +++ b/src/org/gfxtest/testsuites/BitBltUsingBgColor.java Mon Jun 09 12:01:49 2014 +0200 @@ -541,7 +541,7 @@ } /** - * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_3BYTE_BGR + * Test basic BitBlt operation for checker buffered image with type {@link BufferedImage#TYPE_CUSTOM}. * * @param image * image to be used as a destination for BitBlt-type operations @@ -551,14 +551,14 @@ * background color * @return test result status - PASSED, FAILED or ERROR */ - private TestResult doBitBltDiagonalCheckerBufferedImageType3ByteRGB(TestImage image, Graphics2D graphics2d, + private TestResult doBitBltCheckerBufferedImageTypeCustom(TestImage image, Graphics2D graphics2d, Color backgroundColor) { - return CommonBitmapOperations.doBitBltTestWithDiagonalCheckerImage(image, graphics2d, BufferedImage.TYPE_3BYTE_BGR, backgroundColor); - } - - /** - * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_4BYTE_ABGR + return CommonBitmapOperations.doBitBltTestWithCheckerImage(image, graphics2d, BufferedImage.TYPE_CUSTOM, backgroundColor); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type {@link BufferedImage#TYPE_3BYTE_BGR}. * * @param image * image to be used as a destination for BitBlt-type operations @@ -568,6 +568,23 @@ * background color * @return test result status - PASSED, FAILED or ERROR */ + private TestResult doBitBltDiagonalCheckerBufferedImageType3ByteBGR(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithDiagonalCheckerImage(image, graphics2d, BufferedImage.TYPE_3BYTE_BGR, backgroundColor); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type {@link BufferedImage#TYPE_4BYTE_ABGR}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ private TestResult doBitBltDiagonalCheckerBufferedImageType4ByteABGR(TestImage image, Graphics2D graphics2d, Color backgroundColor) { @@ -575,7 +592,7 @@ } /** - * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_4BYTE_ABGR + * Test basic BitBlt operation for diagonal checker buffered image with type {@link BufferedImage#TYPE_4BYTE_ABGR_PRE}. * * @param image * image to be used as a destination for BitBlt-type operations @@ -585,14 +602,14 @@ * background color * @return test result status - PASSED, FAILED or ERROR */ - private TestResult doBitBltDiagonalCheckerBufferedImageType4ByteABGRPre(TestImage image, Graphics2D graphics2d, + private TestResult doBitBltDiagonalCheckerBufferedImageType4ByteABGR_Pre(TestImage image, Graphics2D graphics2d, Color backgroundColor) { return CommonBitmapOperations.doBitBltTestWithDiagonalCheckerImage(image, graphics2d, BufferedImage.TYPE_4BYTE_ABGR_PRE, backgroundColor); } /** - * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_INT_ARGB + * Test basic BitBlt operation for diagonal checker buffered image with type {@link BufferedImage#TYPE_INT_ARGB}. * * @param image * image to be used as a destination for BitBlt-type operations @@ -609,7 +626,7 @@ } /** - * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_INT_ARGB_PRE + * Test basic BitBlt operation for diagonal checker buffered image with type {@link BufferedImage#TYPE_INT_ARGB_PRE}. * * @param image * image to be used as a destination for BitBlt-type operations @@ -619,14 +636,14 @@ * background color * @return test result status - PASSED, FAILED or ERROR */ - private TestResult doBitBltDiagonalCheckerBufferedImageTypeIntARGBPre(TestImage image, Graphics2D graphics2d, + private TestResult doBitBltDiagonalCheckerBufferedImageTypeIntARGB_Pre(TestImage image, Graphics2D graphics2d, Color backgroundColor) { return CommonBitmapOperations.doBitBltTestWithDiagonalCheckerImage(image, graphics2d, BufferedImage.TYPE_INT_ARGB_PRE, backgroundColor); } /** - * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_INT_BGR + * Test basic BitBlt operation for diagonal checker buffered image with type {@link BufferedImage#TYPE_INT_BGR}. * * @param image * image to be used as a destination for BitBlt-type operations @@ -643,7 +660,7 @@ } /** - * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_INT_RGB + * Test basic BitBlt operation for diagonal checker buffered image with type {@link BufferedImage#TYPE_INT_RGB}. * * @param image * image to be used as a destination for BitBlt-type operations @@ -660,7 +677,7 @@ } /** - * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_BYTE_BINARY + * Test basic BitBlt operation for diagonal checker buffered image with type {@link BufferedImage#TYPE_BYTE_BINARY}. * * @param image * image to be used as a destination for BitBlt-type operations @@ -677,7 +694,7 @@ } /** - * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_BYTE_GRAY + * Test basic BitBlt operation for diagonal checker buffered image with type {@link BufferedImage#TYPE_BYTE_GRAY}. * * @param image * image to be used as a destination for BitBlt-type operations @@ -694,7 +711,7 @@ } /** - * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_BYTE_INDEXED + * Test basic BitBlt operation for diagonal checker buffered image with type {@link BufferedImage#TYPE_BYTE_INDEXED}. * * @param image * image to be used as a destination for BitBlt-type operations @@ -711,7 +728,7 @@ } /** - * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_USHORT_555_RGB + * Test basic BitBlt operation for diagonal checker buffered image with type {@link BufferedImage#TYPE_USHORT_555_RGB}. * * @param image * image to be used as a destination for BitBlt-type operations @@ -728,7 +745,7 @@ } /** - * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_USHORT_565_RGB + * Test basic BitBlt operation for diagonal checker buffered image with type {@link BufferedImage#TYPE_USHORT_565_RGB}. * * @param image * image to be used as a destination for BitBlt-type operations @@ -745,7 +762,7 @@ } /** - * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_USHORT_GRAY + * Test basic BitBlt operation for diagonal checker buffered image with type {@link BufferedImage#TYPE_USHORT_GRAY}. * * @param image * image to be used as a destination for BitBlt-type operations @@ -762,7 +779,7 @@ } /** - * Test basic BitBlt operation for grid buffered image with type TYPE_3BYTE_BGR + * Test basic BitBlt operation for diagonal checker buffered image with type {@link BufferedImage#TYPE_CUSTOM}. * * @param image * image to be used as a destination for BitBlt-type operations @@ -772,14 +789,14 @@ * background color * @return test result status - PASSED, FAILED or ERROR */ - private TestResult doBitBltGridBufferedImageType3ByteRGB(TestImage image, Graphics2D graphics2d, + private TestResult doBitBltDiagonalCheckerBufferedImageTypeCustom(TestImage image, Graphics2D graphics2d, Color backgroundColor) { - return CommonBitmapOperations.doBitBltTestWithGridImage(image, graphics2d, BufferedImage.TYPE_3BYTE_BGR, backgroundColor); - } - - /** - * Test basic BitBlt operation for grid buffered image with type TYPE_4BYTE_ABGR + return CommonBitmapOperations.doBitBltTestWithDiagonalCheckerImage(image, graphics2d, BufferedImage.TYPE_CUSTOM, backgroundColor); + } + + /** + * Test basic BitBlt operation for grid buffered image with type {@link BufferedImage#TYPE_3BYTE_BGR}. * * @param image * image to be used as a destination for BitBlt-type operations @@ -789,6 +806,23 @@ * background color * @return test result status - PASSED, FAILED or ERROR */ + private TestResult doBitBltGridBufferedImageType3ByteBGR(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithGridImage(image, graphics2d, BufferedImage.TYPE_3BYTE_BGR, backgroundColor); + } + + /** + * Test basic BitBlt operation for grid buffered image with type {@link BufferedImage#TYPE_4BYTE_ABGR}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ private TestResult doBitBltGridBufferedImageType4ByteABGR(TestImage image, Graphics2D graphics2d, Color backgroundColor) { @@ -796,7 +830,7 @@ } /** - * Test basic BitBlt operation for grid buffered image with type TYPE_4BYTE_ABGR + * Test basic BitBlt operation for grid buffered image with type {@link BufferedImage#TYPE_4BYTE_ABGR_PRE}. * * @param image * image to be used as a destination for BitBlt-type operations @@ -806,14 +840,14 @@ * background color * @return test result status - PASSED, FAILED or ERROR */ - private TestResult doBitBltGridBufferedImageType4ByteABGRPre(TestImage image, Graphics2D graphics2d, + private TestResult doBitBltGridBufferedImageType4ByteABGR_Pre(TestImage image, Graphics2D graphics2d, Color backgroundColor) { return CommonBitmapOperations.doBitBltTestWithGridImage(image, graphics2d, BufferedImage.TYPE_4BYTE_ABGR_PRE, backgroundColor); } /** - * Test basic BitBlt operation for grid buffered image with type TYPE_INT_ARGB + * Test basic BitBlt operation for grid buffered image with type {@link BufferedImage#TYPE_INT_ARGB}. * * @param image * image to be used as a destination for BitBlt-type operations @@ -830,7 +864,7 @@ } /** - * Test basic BitBlt operation for grid buffered image with type TYPE_INT_ARGB_PRE + * Test basic BitBlt operation for grid buffered image with type {@link BufferedImage#TYPE_INT_ARGB_PRE}. * * @param image * image to be used as a destination for BitBlt-type operations @@ -840,14 +874,14 @@ * background color * @return test result status - PASSED, FAILED or ERROR */ - private TestResult doBitBltGridBufferedImageTypeIntARGBPre(TestImage image, Graphics2D graphics2d, + private TestResult doBitBltGridBufferedImageTypeIntARGB_Pre(TestImage image, Graphics2D graphics2d, Color backgroundColor) { return CommonBitmapOperations.doBitBltTestWithGridImage(image, graphics2d, BufferedImage.TYPE_INT_ARGB_PRE, backgroundColor); } /** - * Test basic BitBlt operation for grid buffered image with type TYPE_INT_BGR + * Test basic BitBlt operation for grid buffered image with type {@link BufferedImage#TYPE_INT_BGR}. * * @param image * image to be used as a destination for BitBlt-type operations @@ -864,7 +898,7 @@ } /** - * Test basic BitBlt operation for grid buffered image with type TYPE_INT_RGB + * Test basic BitBlt operation for grid buffered image with type {@link BufferedImage#TYPE_INT_RGB}. * * @param image * image to be used as a destination for BitBlt-type operations @@ -881,7 +915,7 @@ } /** - * Test basic BitBlt operation for grid buffered image with type TYPE_BYTE_BINARY + * Test basic BitBlt operation for grid buffered image with type {@link BufferedImage#TYPE_BYTE_BINARY}. * * @param image * image to be used as a destination for BitBlt-type operations @@ -898,7 +932,7 @@ } /** - * Test basic BitBlt operation for grid buffered image with type TYPE_BYTE_GRAY + * Test basic BitBlt operation for grid buffered image with type {@link BufferedImage#TYPE_BYTE_GRAY}. * * @param image * image to be used as a destination for BitBlt-type operations @@ -915,7 +949,7 @@ } /** - * Test basic BitBlt operation for grid buffered image with type TYPE_BYTE_INDEXED + * Test basic BitBlt operation for grid buffered image with type {@link BufferedImage#TYPE_BYTE_INDEXED}. * * @param image * image to be used as a destination for BitBlt-type operations @@ -932,7 +966,7 @@ } /** - * Test basic BitBlt operation for grid buffered image with type TYPE_USHORT_555_RGB + * Test basic BitBlt operation for grid buffered image with type {@link BufferedImage#TYPE_USHORT_555_RGB}. * * @param image * image to be used as a destination for BitBlt-type operations @@ -949,7 +983,7 @@ } /** - * Test basic BitBlt operation for grid buffered image with type TYPE_USHORT_565_RGB + * Test basic BitBlt operation for grid buffered image with type {@link BufferedImage#TYPE_USHORT_565_RGB}. * * @param image * image to be used as a destination for BitBlt-type operations @@ -966,7 +1000,7 @@ } /** - * Test basic BitBlt operation for grid buffered image with type TYPE_USHORT_GRAY + * Test basic BitBlt operation for grid buffered image with type {@link BufferedImage#TYPE_USHORT_GRAY}. * * @param image * image to be used as a destination for BitBlt-type operations @@ -983,7 +1017,7 @@ } /** - * Test basic BitBlt operation for diagonal grid buffered image with type TYPE_3BYTE_BGR + * Test basic BitBlt operation for grid buffered image with type {@link BufferedImage#TYPE_CUSTOM}. * * @param image * image to be used as a destination for BitBlt-type operations @@ -993,6 +1027,23 @@ * background color * @return test result status - PASSED, FAILED or ERROR */ + private TestResult doBitBltGridBufferedImageTypeCustom(TestImage image, Graphics2D graphics2d, + Color backgroundColor) + { + return CommonBitmapOperations.doBitBltTestWithGridImage(image, graphics2d, BufferedImage.TYPE_CUSTOM, backgroundColor); + } + + /** + * Test basic BitBlt operation for diagonal grid buffered image with type {@link BufferedImage#TYPE_3BYTE_BGR}. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @param backgroundColor + * background color + * @return test result status - PASSED, FAILED or ERROR + */ private TestResult doBitBltDiagonalGridBufferedImageType3ByteRGB(TestImage image, Graphics2D graphics2d, Color backgroundColor) { From domuradical at gmail.com Tue Jun 10 00:43:45 2014 From: domuradical at gmail.com (Adam Domurad) Date: Tue, 10 Jun 2014 00:43:45 +0000 (UTC) Subject: [icedtea-web-1.4] running sevrial plugins in parallel References: <8823656A11DC6F49A9AA74FC990659F519DECAB1@SKYMB1.trustwave.com> <53030D3C.9060201@redhat.com> <8823656A11DC6F49A9AA74FC990659F519DECC7E@SKYMB1.trustwave.com> <53031B72.3000704@redhat.com> <8823656A11DC6F49A9AA74FC990659F519DED856@SKYMB1.trustwave.com> <530AF3B3.4070105@redhat.com> <8823656A11DC6F49A9AA74FC990659F519DED9B4@SKYMB1.trustwave.com> Message-ID: Efrat Lefeber writes: > > How do I disable the extended applet security? You can do it through the itw-settings program. Although, this file locking should only occur briefly on applet loading. You can try profiling with visualvm or similar perhaps. Happy hacking, -Adam Domurad > > -----Original Message----- > From: Jiri Vanek [mailto:jvanek at ...] > Sent: Monday, February 24, 2014 9:25 AM > To: Efrat Lefeber; distro-pkg-dev at ... > Subject: Re: [icedtea-web-1.4] running sevrial plugins in parallel > > On 02/23/2014 01:56 PM, Efrat Lefeber wrote: > > I see there are all kind of FileLocks in the java side to synchronize between processes. For example in net/sourceforge/jnlp/util/lockingfile/LockedFile.java. > > Do you know why there is a need to synchronize between processes? > > Yes. Those file should be accessed only by one process/thread per time. > I it is used only for Extended Applets security. And there is important that only one process write to it in > time. And all others then pick up the fresh version. And act based on this action. > > If you suspect this, you may try to disable extended applets security in itw-settings or in code , but i doubt > a bit. > > Thank you for digging into it! > > J. > > > > -----Original Message----- > > From: Jiri Vanek [mailto:jvanek at ...] > > Sent: Tuesday, February 18, 2014 10:36 AM > > To: Efrat Lefeber; distro-pkg-dev at ... > > Subject: Re: [icedtea-web-1.4] running sevrial plugins in parallel > > > > On 02/18/2014 09:28 AM, Efrat Lefeber wrote: > >> If you have several browsers running, each browser loads a different plugin instance which loads a > different jvm instance. > > > > Ah, yes. Sorry I did not realize, but it is obvious. I would probably call it a bug:) > > > > TBH, this state was never examined nor profiled. Sorry:( but well it is not common :) ) > > > > I will look onto it, but it will take time. Just for curiosity - what is an usecase? > > > > the workaround like "run just single browser" is probably unsuitable :) > > > > Sorry, funny morning here:) > > As I told, I will try to look whats hidden in this usecase. > > J. > >> > >> -----Original Message----- > >> From: Jiri Vanek [mailto:jvanek at ...] > >> Sent: Tuesday, February 18, 2014 9:35 AM > >> To: Efrat Lefeber; distro-pkg-dev at ... > >> Subject: Re: [icedtea-web-1.4] running sevrial plugins in parallel > >> > >> On 02/17/2014 11:05 AM, Efrat Lefeber wrote: > >>> I am running several plugin processes in parallel (each runs its own jvm). No more than 5-6 in parallel. > >> > >> Hi! > >> > >> How have you manged it? All applets are supposed to run in single JVM. > >>> > >>> What I see a degradation in performance when there are more plugin processes running. > >>> > >>> Is there some kind of a lock between processes that could implement on the performance? > >>> > >>> Or any other idea why the performance gets worse when more plugin processes run in parallel? > >>> > >>> > >> > >> Regards, > >> J. > >> > >> > >> ________________________________ > >> > >> This transmission may contain information that is privileged, confidential, and/or exempt from > disclosure under applicable law. If you are not the intended recipient, you are hereby notified that any > disclosure, copying, distribution, or use of the information contained herein (including any reliance > thereon) is strictly prohibited. If you received this transmission in error, please immediately > contact the sender and destroy the material in its entirety, whether in electronic or hard copy format. > >> > > > > > > > > ________________________________ > > > > This transmission may contain information that is privileged, confidential, and/or exempt from > disclosure under applicable law. If you are not the intended recipient, you are hereby notified that any > disclosure, copying, distribution, or use of the information contained herein (including any reliance > thereon) is strictly prohibited. If you received this transmission in error, please immediately > contact the sender and destroy the material in its entirety, whether in electronic or hard copy format. > > > > ________________________________ > > This transmission may contain information that is privileged, confidential, and/or exempt from > disclosure under applicable law. If you are not the intended recipient, you are hereby notified that any > disclosure, copying, distribution, or use of the information contained herein (including any reliance > thereon) is strictly prohibited. If you received this transmission in error, please immediately > contact the sender and destroy the material in its entirety, whether in electronic or hard copy format. > > From bugzilla-daemon at icedtea.classpath.org Tue Jun 10 01:00:35 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 10 Jun 2014 01:00:35 +0000 Subject: [Bug 1836] New: icedtea-web fails to build because xulrunner 27 uses C++11 'nullptr' Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1836 Bug ID: 1836 Summary: icedtea-web fails to build because xulrunner 27 uses C++11 'nullptr' Product: IcedTea-Web Version: hg Hardware: x86_64 OS: Linux Status: NEW Severity: enhancement Priority: P5 Component: Plugin Assignee: dbhole at redhat.com Reporter: domuradical at gmail.com CC: unassigned at icedtea.classpath.org Created attachment 1092 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=1092&action=edit Stop-gap fix Provided is a patch that acts as a stop-gap for the use of nullptr and fixes the build failure. However, I believe the more sustainable thing will be to start building with C++11 support if the compiler supports it. Alternatively, it may be more prudent to check if xulrunner version is >= 27, and then add -std=c++11. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From domuradical at gmail.com Tue Jun 10 01:57:20 2014 From: domuradical at gmail.com (Adam Domurad) Date: Tue, 10 Jun 2014 01:57:20 +0000 (UTC) Subject: Icedtea supports something called "Pepper"? References: Message-ID: helpcrypto helpcrypto writes: > > > > > > Hi all. > Last days I have seen a couple of sources claiming (Google) Chrome and (Mozilla) Firefox are going to abandon NPAPI and start using Peeper plugins. No. Google Chrome is abandoning NPAPI in favour of Google Native Client -- something *very* different in philosophy. Flash is currently the sole *special exception* that is allowed to use PPAPI (Pepper)! I repeat: Supporting PPAPI will *not* help icedtea-web run on Chrome/Chromium unless icedtea-web also has this special exceptional treatment! This is possible by patching Chromium I presume -- but, unfortunately, not a trivial matter. > Is Icetea "ready" for that possible change? Since we're being clear -- icedtea is a polite way of saying 'Java'; there is nothing wrong with Icedtea. *icedtea-web* is not ready for this change -- but that is simply because no NPAPI plugin is. > Will all my applets fail to work next year? (as they are doing with latest Oracle releases) Sadly -- yes, they will fail. As far as I can see, Google Chrome simply does not want to plugins to interact with the operating system, even under the new 'Google Native Client' plugin architecture. Oracle may be more lucky (re: special treatment like Flash). Check out https://developer.chrome.com/native-client/faq -> "If I want direct access to the OS, should I use Native Client? No?Native Client does not provide direct access to the OS or devices, or otherwise bypass the JavaScript security model. For more information, see later sections of this FAQ. " I might have taken this up if it was a 'simple' matter of a NPAPI <-> PPAPI bridge (such things do exist, at least in part, from some google-work). But it's a bit hopeless with Google Native Client. At least -- it needs serious thought and work. > Thanks for the info! > Happy hacking, -Adam From ptisnovs at icedtea.classpath.org Tue Jun 10 10:50:46 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Tue, 10 Jun 2014 10:50:46 +0000 Subject: /hg/gfx-test: Ten new helper methods added into BitBltBufferedIm... Message-ID: changeset 263e258d06ee in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=263e258d06ee author: Pavel Tisnovsky date: Tue Jun 10 12:51:29 2014 +0200 Ten new helper methods added into BitBltBufferedImageOp. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/BitBltBufferedImageOp.java | 170 ++++++++++++++++++ 2 files changed, 175 insertions(+), 0 deletions(-) diffs (192 lines): diff -r 9a62e5957854 -r 263e258d06ee ChangeLog --- a/ChangeLog Mon Jun 09 12:01:49 2014 +0200 +++ b/ChangeLog Tue Jun 10 12:51:29 2014 +0200 @@ -1,3 +1,8 @@ +2014-06-10 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/BitBltBufferedImageOp.java: + Ten new helper methods added into BitBltBufferedImageOp. + 2014-06-09 Pavel Tisnovsky * src/org/gfxtest/testsuites/BitBltUsingBgColor.java: diff -r 9a62e5957854 -r 263e258d06ee src/org/gfxtest/testsuites/BitBltBufferedImageOp.java --- a/src/org/gfxtest/testsuites/BitBltBufferedImageOp.java Mon Jun 09 12:01:49 2014 +0200 +++ b/src/org/gfxtest/testsuites/BitBltBufferedImageOp.java Tue Jun 10 12:51:29 2014 +0200 @@ -2608,6 +2608,176 @@ } /** + * Test basic BitBlt operation for buffered image with type {@link BufferedImage#TYPE_4BYTE_ABGR_PRE}. + * + * @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 + */ + protected TestResult doBitBltBWDotsType4ByteABGR_Pre(TestImage image, Graphics2D graphics2d, + BufferedImageOp rasterOp) + { + return CommonBitmapOperations.doBitBltTestWithBWDotsImage(image, graphics2d, BufferedImage.TYPE_4BYTE_ABGR_PRE, rasterOp); + } + + /** + * Test basic BitBlt operation for buffered image with type {@link BufferedImage#TYPE_BYTE_BINARY}. + * + * @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 + */ + protected TestResult doBitBltBWDotsTypeByteBinary(TestImage image, Graphics2D graphics2d, + BufferedImageOp rasterOp) + { + return CommonBitmapOperations.doBitBltTestWithBWDotsImage(image, graphics2d, BufferedImage.TYPE_BYTE_BINARY, rasterOp); + } + + /** + * Test basic BitBlt operation for buffered image with type {@link BufferedImage#TYPE_BYTE_INDEXED}. + * + * @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 + */ + protected TestResult doBitBltBWDotsTypeByteIndexed(TestImage image, Graphics2D graphics2d, + BufferedImageOp rasterOp) + { + return CommonBitmapOperations.doBitBltTestWithBWDotsImage(image, graphics2d, BufferedImage.TYPE_BYTE_INDEXED, rasterOp); + } + + /** + * Test basic BitBlt operation for buffered image with type {@link BufferedImage#TYPE_BYTE_GRAY}. + * + * @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 + */ + protected TestResult doBitBltBWDotsTypeByteGray(TestImage image, Graphics2D graphics2d, + BufferedImageOp rasterOp) + { + return CommonBitmapOperations.doBitBltTestWithBWDotsImage(image, graphics2d, BufferedImage.TYPE_BYTE_GRAY, rasterOp); + } + + /** + * Test basic BitBlt operation for buffered image with type {@link BufferedImage#TYPE_INT_BGR}. + * + * @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 + */ + protected TestResult doBitBltBWDotsTypeIntBGR(TestImage image, Graphics2D graphics2d, + BufferedImageOp rasterOp) + { + return CommonBitmapOperations.doBitBltTestWithBWDotsImage(image, graphics2d, BufferedImage.TYPE_INT_BGR, rasterOp); + } + + /** + * Test basic BitBlt operation for buffered image with type {@link BufferedImage#TYPE_INT_RGB}. + * + * @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 + */ + protected TestResult doBitBltBWDotsTypeIntRGB(TestImage image, Graphics2D graphics2d, + BufferedImageOp rasterOp) + { + return CommonBitmapOperations.doBitBltTestWithBWDotsImage(image, graphics2d, BufferedImage.TYPE_INT_RGB, rasterOp); + } + + /** + * Test basic BitBlt operation for buffered image with type {@link BufferedImage#TYPE_INT_ARGB}. + * + * @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 + */ + protected TestResult doBitBltBWDotsTypeIntARGB(TestImage image, Graphics2D graphics2d, + BufferedImageOp rasterOp) + { + return CommonBitmapOperations.doBitBltTestWithBWDotsImage(image, graphics2d, BufferedImage.TYPE_INT_ARGB, rasterOp); + } + + /** + * Test basic BitBlt operation for buffered image with type {@link BufferedImage#TYPE_INT_ARGB_PRE}. + * + * @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 + */ + protected TestResult doBitBltBWDotsTypeIntARGB_Pre(TestImage image, Graphics2D graphics2d, + BufferedImageOp rasterOp) + { + return CommonBitmapOperations.doBitBltTestWithBWDotsImage(image, graphics2d, BufferedImage.TYPE_INT_ARGB_PRE, rasterOp); + } + + /** + * Test basic BitBlt operation for buffered image with type {@link BufferedImage#TYPE_USHORT_555_RGB}. + * + * @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 + */ + protected TestResult doBitBltBWDotsTypeUshort555RGB(TestImage image, Graphics2D graphics2d, + BufferedImageOp rasterOp) + { + return CommonBitmapOperations.doBitBltTestWithBWDotsImage(image, graphics2d, BufferedImage.TYPE_USHORT_555_RGB, rasterOp); + } + + /** + * Test basic BitBlt operation for buffered image with type {@link BufferedImage#TYPE_USHORT_565_RGB}. + * + * @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 + */ + protected TestResult doBitBltBWDotsTypeUshort565RGB(TestImage image, Graphics2D graphics2d, + BufferedImageOp rasterOp) + { + return CommonBitmapOperations.doBitBltTestWithBWDotsImage(image, graphics2d, BufferedImage.TYPE_USHORT_565_RGB, rasterOp); + } + + /** * Entry point to the test suite. * * @param args not used in this case From bugzilla-daemon at icedtea.classpath.org Tue Jun 10 11:05:27 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 10 Jun 2014 11:05:27 +0000 Subject: [Bug 1837] New: Internal Error: guarantee(PageArmed == 0) failed: invariant Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1837 Bug ID: 1837 Summary: Internal Error: guarantee(PageArmed == 0) failed: invariant Product: IcedTea Version: unspecified Hardware: x86_64 OS: Linux Status: NEW Severity: major Priority: P5 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: 1zeeky at gmail.com CC: unassigned at icedtea.classpath.org I run a Bukkit[1] server (a third party Minecraft[2] mod) and when some players are playing then after some time the server will freeze. This does not seem to be linked to any specific action in the virtual world - it's probably just about some load on the CPU and memory. The crash does not seem to be caused by a regular Java programming error, since the error generated looks very much like something OpenJRE internal. I have three coredumps ranging from ~700MB to ~850MB in size, corresponding to the error-reports generated by the VM (also on the FTP): ftp://minecraft.dizx.de/ I couldn't select the proper version in this bug report, I'm using 7.u55_2.4.7 on an up-to-date Arch Linux installation. [1]: http://bukkit.org [2]: http://minecraft.net -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Tue Jun 10 13:51:39 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 10 Jun 2014 13:51:39 +0000 Subject: [Bug 1836] icedtea-web fails to build because xulrunner 27 uses C++11 'nullptr' In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1836 Andrew Azores changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |aazores at redhat.com --- Comment #1 from Andrew Azores --- Hi Adam! What's your environment that ITW is failing like this? IIRC we added -std=c++11 quite a while back (looks like IT_CHECK_XULRUNNER_REQUIRES_C11 in acinclude.m4, although that isn't 'nullptr'-specific), so this should already work even with xulrunner 27+. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Tue Jun 10 14:16:13 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 10 Jun 2014 14:16:13 +0000 Subject: [Bug 1836] icedtea-web fails to build because xulrunner 27 uses C++11 'nullptr' In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1836 Adam Domurad changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |INVALID --- Comment #2 from Adam Domurad --- Sorry for the noise. It turned out I was accidentally building an older version of icedtea-web. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Tue Jun 10 19:06:02 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 10 Jun 2014 19:06:02 +0000 Subject: [Bug 1837] Internal Error: guarantee(PageArmed == 0) failed: invariant In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1837 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |2.4.7 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: From bugzilla-daemon at icedtea.classpath.org Tue Jun 10 19:06:50 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 10 Jun 2014 19:06:50 +0000 Subject: [Bug 1837] Internal Error: guarantee(PageArmed == 0) failed: invariant In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1837 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Version|unspecified |2.4.7 Target Milestone|2.4.7 |--- -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Tue Jun 10 21:42:51 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 10 Jun 2014 21:42:51 +0000 Subject: [Bug 1839] New: [IcedTea7] Provide Infinality Support via fontconfig Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1839 Bug ID: 1839 Summary: [IcedTea7] Provide Infinality Support via fontconfig Product: IcedTea Version: 7-hg Hardware: all OS: Linux Status: NEW Severity: enhancement Priority: P5 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: gnu.andrew at redhat.com CC: unassigned at icedtea.classpath.org See https://bugs.gentoo.org/show_bug.cgi?id=478960 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Tue Jun 10 21:43:19 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 10 Jun 2014 21:43:19 +0000 Subject: [Bug 1284] [TRACKER] IcedTea 2.5.0 Release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1284 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on| |1839 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Tue Jun 10 21:43:19 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 10 Jun 2014 21:43:19 +0000 Subject: [Bug 1839] [IcedTea7] Provide Infinality Support via fontconfig In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1839 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED URL| |https://bugs.gentoo.org/sho | |w_bug.cgi?id=478960 Blocks| |1284 Target Milestone|--- |2.5.0 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Tue Jun 10 22:07:35 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 10 Jun 2014 22:07:35 +0000 Subject: [Bug 1284] [TRACKER] IcedTea 2.5.0 Release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1284 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on| |729 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Tue Jun 10 22:07:35 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 10 Jun 2014 22:07:35 +0000 Subject: [Bug 729] GTKLookAndFeel should be the system look&feel on all GNU/Linux desktops In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=729 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Blocks| |1284 Target Milestone|--- |2.5.0 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Tue Jun 10 22:09:22 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 10 Jun 2014 22:09:22 +0000 Subject: [Bug 1808] [IcedTea7] type-punning warnings in demos on ppc In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1808 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Blocks| |1284 Target Milestone|--- |2.5.0 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Tue Jun 10 22:09:22 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 10 Jun 2014 22:09:22 +0000 Subject: [Bug 1284] [TRACKER] IcedTea 2.5.0 Release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1284 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on| |1808 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Tue Jun 10 22:10:20 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 10 Jun 2014 22:10:20 +0000 Subject: [Bug 1808] [IcedTea7] type-punning warnings in demos on ppc In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1808 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From ptisnovs at icedtea.classpath.org Wed Jun 11 10:03:02 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Wed, 11 Jun 2014 10:03:02 +0000 Subject: /hg/gfx-test: Ten new helper methods added into CAGOperationsOnC... Message-ID: changeset 40ea0d6086af in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=40ea0d6086af author: Pavel Tisnovsky date: Wed Jun 11 12:03:52 2014 +0200 Ten new helper methods added into CAGOperationsOnChordAndRectangle. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/CAGOperationsOnChordAndRectangle.java | 244 ++++++++++ 2 files changed, 249 insertions(+), 0 deletions(-) diffs (266 lines): diff -r 263e258d06ee -r 40ea0d6086af ChangeLog --- a/ChangeLog Tue Jun 10 12:51:29 2014 +0200 +++ b/ChangeLog Wed Jun 11 12:03:52 2014 +0200 @@ -1,3 +1,8 @@ +2014-06-11 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/CAGOperationsOnChordAndRectangle.java: + Ten new helper methods added into CAGOperationsOnChordAndRectangle. + 2014-06-10 Pavel Tisnovsky * src/org/gfxtest/testsuites/BitBltBufferedImageOp.java: diff -r 263e258d06ee -r 40ea0d6086af src/org/gfxtest/testsuites/CAGOperationsOnChordAndRectangle.java --- a/src/org/gfxtest/testsuites/CAGOperationsOnChordAndRectangle.java Tue Jun 10 12:51:29 2014 +0200 +++ b/src/org/gfxtest/testsuites/CAGOperationsOnChordAndRectangle.java Wed Jun 11 12:03:52 2014 +0200 @@ -2006,6 +2006,250 @@ } /** + * Checks the process of creating and rendering new geometric shape + * constructed from chord and rectangle using inverse subtract operator. The shape is + * rendered using stroke paint. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testOverlappingChordAndRectangleInverseSubtractStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // create area using union operator + Area area = CommonCAGOperations.createAreaFromOverlappingChordAndRectangleUsingInverseSubtractOperator(image); + // draw the area + graphics2d.draw(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from chord and rectangle using intersect operator. The shape is + * rendered using stroke paint. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testOverlappingChordAndRectangleIntersectStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // create area using union operator + Area area = CommonCAGOperations.createAreaFromOverlappingChordAndRectangleUsingIntersectOperator(image); + // draw the area + graphics2d.draw(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from chord and rectangle using XOR operator. The shape is + * rendered using stroke paint. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testOverlappingChordAndRectangleXorStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // create area using union operator + Area area = CommonCAGOperations.createAreaFromOverlappingChordAndRectangleUsingXorOperator(image); + // draw the area + graphics2d.draw(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from chord and rectangle using union operator. The shape is + * rendered using wide stroke. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testOverlappingChordAndRectangleUnionWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeThickWidth(graphics2d); + // create area using union operator + Area area = CommonCAGOperations.createAreaFromOverlappingChordAndRectangleUsingUnionOperator(image); + // draw the area + graphics2d.draw(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from chord and rectangle using subtract operator. The shape + * is rendered using wide stroke. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testOverlappingChordAndRectangleSubtractWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeThickWidth(graphics2d); + // create area using subtract operator + Area area = CommonCAGOperations.createAreaFromOverlappingChordAndRectangleUsingSubtractOperator(image); + // draw the area + graphics2d.draw(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from chord and rectangle using inverse subtract operator. + * The shape is rendered using wide stroke. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testOverlappingChordAndRectangleInverseSubtractWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeThickWidth(graphics2d); + // create area using inverse subtract operator + Area area = CommonCAGOperations.createAreaFromOverlappingChordAndRectangleUsingInverseSubtractOperator(image); + // draw the area + graphics2d.draw(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from chord and rectangle using intersect operator. The shape + * is rendered using wide stroke. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testOverlappingChordAndRectangleIntersectWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeThickWidth(graphics2d); + // create area using intersect operator + Area area = CommonCAGOperations.createAreaFromOverlappingChordAndRectangleUsingIntersectOperator(image); + // draw the area + graphics2d.draw(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from chord and rectangle using XOR operator. The shape is + * rendered using wide stroke. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testOverlappingChordAndRectangleXorWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeThickWidth(graphics2d); + // create area using XOR operator + Area area = CommonCAGOperations.createAreaFromOverlappingChordAndRectangleUsingXorOperator(image); + // draw the area + graphics2d.draw(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from chord and rectangle using union operator. The shape is + * rendered using wide stroke. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testOverlappingChordAndRectangleUnionExtraWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set extra wide stroke width + CommonRenderingStyles.setStrokeExtraThickWidth(graphics2d); + // create area using union operator + Area area = CommonCAGOperations.createAreaFromOverlappingChordAndRectangleUsingUnionOperator(image); + // draw the area + graphics2d.draw(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from chord and rectangle using subtract operator. The shape + * is rendered using wide stroke. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testOverlappingChordAndRectangleSubtractExtraWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set extra wide stroke width + CommonRenderingStyles.setStrokeExtraThickWidth(graphics2d); + // create area using subtract operator + Area area = CommonCAGOperations.createAreaFromOverlappingChordAndRectangleUsingSubtractOperator(image); + // draw the area + graphics2d.draw(area); + // test result + return TestResult.PASSED; + } + + /** * Entry point to the test suite. * * @param args not used in this case From aazores at redhat.com Wed Jun 11 13:44:01 2014 From: aazores at redhat.com (Andrew Azores) Date: Wed, 11 Jun 2014 09:44:01 -0400 Subject: [rfc][icedtea-web][policyeditor] CustomPolicyEditor method extractions and tests added In-Reply-To: <5392127F.10006@redhat.com> References: <5391D48F.5040809@redhat.com> <5391D502.2080504@redhat.com> <2023840321.11643453.1402068129797.JavaMail.zimbra@redhat.com> <5391DE3B.9050408@redhat.com> <136674046.11724984.1402080714224.JavaMail.zimbra@redhat.com> <5392127F.10006@redhat.com> Message-ID: <53985D21.2060600@redhat.com> On 06/06/2014 03:11 PM, Andrew Azores wrote: > On 06/06/2014 02:51 PM, Jie Kang wrote: >> >> ----- Original Message ----- >>> On 06/06/2014 11:22 AM, Lukasz Dracz wrote: >>>> ----- Original Message ----- >>>>> From: "Andrew Azores" >>>>> To: "IcedTea" >>>>> Sent: Friday, June 6, 2014 10:49:38 AM >>>>> Subject: Re: [rfc][icedtea-web][policyeditor] CustomPolicyEditor >>>>> method >>>>> extractions and tests added >>>>> >>>>> On 06/06/2014 10:47 AM, Andrew Azores wrote: >>>>>> Hi, >>>>>> >>>>>> In the same vein as the previous patch to PolicyEditor which >>>>>> extracted >>>>>> some methods to allow unit testing, this attached patch does the >>>>>> same >>>>>> for CustomPolicyViewer. Additionally, CustomPolicyViewer no longer >>>>>> holds a reference of its own to the PolicyFileModel, instead using >>>>>> appropriate methods exposed through its parent PolicyEditor. >>>>>> CustomPolicyViewer now also uses CustomPolicy.fromString() rather >>>>>> than >>>>>> its own "parsing" solution, and also no longer allows duplicate >>>>>> permissions to be added to the user interface (which was a bug since >>>>>> the actual collection modelling this is a Set anyway, so the >>>>>> JList and >>>>>> Set could become out of sync). >>>>>> >> Hello, >> >> Currently testAddCustomPermissionDuplicates calls >> testAddCustomPermission in order to add a base permission. Though it >> is convenient I don't think this is good practice. Everything else >> looks fine. >> >> >>>>>> Thanks, >>>>>> >>>>> Sorry, in the subject line that should be CustomPolicy*Viewer*, not >>>>> CustomPolicyEditor. >>>>> >>>>> Thanks, >>>>> >>>>> -- >>>>> Andrew A > > Yea, I wasn't too happy with it either. The adding of a permission on > its own is not enough to extract into a method, it needs to be done > along with the asserts to be anything useful. I don't want to have the > asserts in a non- at Test method really, so what's left is either calling > a test from within other tests, or just having duplicate code. The > attached patch lets the duplicate code be rather than calling another > @Test method from within tests. > > Thanks, > Ping. Thanks, -- Andrew A From aazores at redhat.com Wed Jun 11 13:46:59 2014 From: aazores at redhat.com (Andrew Azores) Date: Wed, 11 Jun 2014 09:46:59 -0400 Subject: [rfc][icedtea-web] Fix support for signed applets with sandbox permissions in manifest In-Reply-To: <538E0A86.1080001@redhat.com> References: <5384BC13.5010708@redhat.com> <538E0A86.1080001@redhat.com> Message-ID: <53985DD3.7050901@redhat.com> On 06/03/2014 01:48 PM, Andrew Azores wrote: > On 05/27/2014 12:23 PM, Andrew Azores wrote: >> Hi, >> >> This patch allows signed applets with sandbox permissions specified >> in their manifests to actually be run sandboxed. This is in contrast >> to the current behaviour where such applets will fail to launch, and >> the failure message presented asks the user to try launching via the >> Sandbox button next time. This was because the dialog which presented >> the Sandbox button appeared very early in the JNLPClassLoader's life >> cycle - early enough that no security settings had yet been set for >> the classloader or any of the applet's JAR locations - whereas the >> manifest checks were done later, after these settings would have >> already been initialized. Fixing the issue was not as simple as doing >> the manifest checks before presenting the security dialog because the >> dialog was presented part way through the initialization process, >> where JARs are being downloaded and checked for signing, so that the >> appropriate security dialog could be shown to the user. Putting the >> manifest checks first would therefore not work properly because the >> JARs were not yet available. This patch resolves the issue by moving >> the manifest checks inside the method which initializes the relevant >> security settings, such that the required resources are available, it >> is known what type of applet is about to be run, but the security >> settings for the JAR locations have not yet been initialized and the >> applet can thus still be set to run sandboxed safely. >> >> Additionally, the ManifestAttributesChecker check for the Permissions >> attribute is no longer skipped when Extended Applet Security is set >> to the Low level, since this allows for signed applets with Sandbox >> permissions specified in their manifests to run with full permissions >> when Low security is set. >> >> All existing reproducers have been run with this patch applied and >> there appears to be no effect. Manual tests from the wiki have also >> been run and no failures noted. Two new applets, reported in PR1767 >> [0], have been added as test cases to the wiki. These fail without >> the patch and pass with it. A reproducer is also included, however, >> the ALACA dialog will appear, which means manual intervention is >> required to run this test as well. The test is marked KnownToFail and >> this issue documented with the test case. This cannot be worked >> around by disabling manifest attributes checking since this would >> render the test meaningless as the Permissions manifest attribute >> would then not be run to force sandboxing. >> >> ChangeLog: >> >> 2014-05-27 Andrew Azores >> >> Fixed support for signed applets which specify the Permissions >> attribute >> as "sandbox" in their manifests. These applets are now properly run >> sandboxed automatically, rather than requiring the user to click the >> "Sandbox" run button. >> * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java >> (JNLPClassLoader): manifest attributes checking and security >> settings >> moved inside initializeResources >> (initializeResources): do not set entries in >> jarLocationSecurityMap until >> after prompting the user on whether to run the applet as well as >> performing manifest attribute checks >> (initializeManifestAttributesChecker): new method >> (getJnlpFileCodebase): new method, extracted from >> initializeResources >> (SecurityDelegateImpl.setRunInSandbox): throw exception if >> already forced >> to run in sandbox, rather than if already prompted >> * netx/net/sourceforge/jnlp/runtime/ManifestAttributesChecker.java >> (checkPermissionsAttribute): do not skip checking if Extended Applet >> Security is Low. Remove try/catch on setRunInSandbox call as this >> is now >> supported. >> * >> tests/reproducers/custom/SignedAppletManifestSpecifiesSandbox/testcases/SignedAppletManifestSpecifiesSandboxTests.java: >> new test case >> * >> tests/reproducers/custom/SignedAppletManifestSpecifiesSandbox/resources/SignedAppletManifestSpecifiesSandbox.html: >> same >> * >> tests/reproducers/custom/SignedAppletManifestSpecifiesSandbox/srcs/MANIFEST.MF: >> same >> * >> tests/reproducers/custom/SignedAppletManifestSpecifiesSandbox/srcs/Makefile: >> same >> * >> tests/reproducers/custom/SignedAppletManifestSpecifiesSandbox/srcs/SignedAppletManifestSpecifiesSandbox.java: >> same >> >> >> [0] http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1767 >> >> Thanks, >> > > Ping. I know this is a big one, and there's currently a decent > workaround in place, so no rush on review. Just need to make sure it > doesn't get lost. > > Thanks, > Ping again. I think this is probably going to have to wait for Jiri to come back though. Thanks, -- Andrew A From aazores at redhat.com Wed Jun 11 13:47:22 2014 From: aazores at redhat.com (Andrew Azores) Date: Wed, 11 Jun 2014 09:47:22 -0400 Subject: [rfc][icedtea-web][policyeditor] Reduced usage of weak references In-Reply-To: <538C89E6.5050005@redhat.com> References: <538C89E6.5050005@redhat.com> Message-ID: <53985DEA.5030300@redhat.com> On 06/02/2014 10:27 AM, Andrew Azores wrote: > Hi, > > This patch reduces the usage of weak references in PolicyEditor and > CustomPolicyViewer. There is still one use of a weak reference left, > used when closing PolicyEditor and answering 'Yes' to saving changes > first. In this case, the "Changes Saved" dialog appears after the > editor has been closed and disposed, but the dialog holds a reference > to it. This results in the JVM not exiting after PolicyEditor is > closed. Using the weak reference in the way it's still used here > allows for the JVM to properly exit once the editor is closed, while > still allowing the dialog to be modal when it is shown in situations > where the editor is not already closed. > > ChangeLog: > * netx/net/sourceforge/jnlp/security/policyeditor/CustomPolicyViewer.java > (weakThis): removed > * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java > (weakThis): used only in showChangesSavedDialog, other uses changed to > PolicyEditor.this > > Thanks, > Ping. Thanks, -- Andrew A From aazores at redhat.com Wed Jun 11 14:18:49 2014 From: aazores at redhat.com (Andrew Azores) Date: Wed, 11 Jun 2014 10:18:49 -0400 Subject: [rfc][icedtea-web] Refactor of LiveConnect Tests Version 2 In-Reply-To: <53908195.2030206@redhat.com> References: <1529622958.9604504.1401722424370.JavaMail.zimbra@redhat.com> <2063359446.10672487.1401908346701.JavaMail.zimbra@redhat.com> <53906F49.7090207@redhat.com> <2146209415.11046744.1401978726200.JavaMail.zimbra@redhat.com> <53908195.2030206@redhat.com> Message-ID: <53986549.2040901@redhat.com> On 06/05/2014 10:41 AM, Andrew Azores wrote: > On 06/05/2014 10:32 AM, Jie Kang wrote: >> Hello, >> >>>> ----- Original Message ----- >>>>> Hello, >>>>> >>>>> This patch refactors the majority of LiveConnect Tests (JS to Java >>>>> and >>>>> vice-versa) fixing the race condition between asynchronous JS and the >>>>> J-applet. Code format is standardized and deprecated code usage is >>>>> removed/replaced. Note that the file JSTest.js is duplicated for all >>>>> LiveConnect Tests. This is because every single test requires the >>>>> same >>>>> function in JSTest.js to prevent the race condition from occurring. >>>>> However, >>>>> the test suite is not designed to easily have this code appear >>>>> only once >>>>> while also having tests be properly separate (ie. every single >>>>> test-case >>>>> should be able to run by itself without relying on another test >>>>> case). If >>>>> anyone has any suggestions on how to better implement this please >>>>> say. >>>>> >>>>> >>>>> Thanks, >>>>> >>>>> Jie Kang >>> I haven't looked over the whole patch yet, but as far as the Makefile >>> changes go the first thing I notice is that your new stamp's name is a >>> bit confusing. Why does it contain the word 'compile'? For example, >>> look >>> at the stamp name 'copy-reproducers-resources'. Perhaps this new stamp >>> can be called just 'copy-shared-reproducers-resources' instead? >>> >> The naming was a mistake on my part. I originally intended to have >> shared resources include Java files as well hence the need for >> compilation but later on decided this wasn't feasible. I have renamed >> it to copy-shared-resources. >> >>> + cp -r "$(REPRODUCERS_SHAREDSRCDIR)/resources/"* >>> $(REPRODUCERS_TESTS_SERVER_DEPLOYDIR)/shared/ ; \ >>> >>> >>> Is there a particular reason that you have the asterisk outside of the >>> quotes in that first argument? Not wrong, just a little strange. >>> Secondly, you should probably quote the entire second argument. What >>> happens to your stamp right now if REPRODUCERS_TESTS_SERVER_DEPLOYDIR >>> gets redefined such that its name contains a space? >> Using cp "*" versus cp * has different end-result so putting * in the >> "" ends up not working. See: >> cp -R "$(REPRODUCERS_TESTS_SRCDIR)/$$which/$$dir/resources/"* >> $(REPRODUCERS_TESTS_SERVER_DEPLOYDIR)/ ; \ >> from 'stamps/copy-reproducers-resources.stamp'. > > D'oh, of course. My mistake, sorry. > >> >> I added the quotes to the last argument as suggested. >> >>> I don't know if Omair had anything in particular in mind for this >>> "shared resources" directory but this looks like it's on the right >>> track >>> to me. >>> >>> Thanks, >>> >>> -- >>> Andrew A >>> >>> >> >> Thanks >> >> Jie > > This looks better, but it'll take some time for me to look through it > all thoroughly. > > Also, I should've caught this in the last mail I sent, but please be > sure your ChangeLog entries adhere to the format. There should be a > space between each * and the file names following it. > > Thanks, > I ran the reproducer suite with this patch applied last night. There are still some tests which are failing but not marked as KnownToFail. I haven't checked if these failures are repeatable however. Can you look into this? JavascriptSetTest - AppletJToJSSet_2DArrayElement_Test JSToJFuncResolTest - AppletJSToJFuncResol_inheritedClassToParent1_Test JavascriptFuncReturnTest - AppletJToJSFuncReturn_{number,boolean,JSObject,String,Object}_Test Thanks, -- Andrew A From gnu.andrew at redhat.com Wed Jun 11 15:45:09 2014 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Wed, 11 Jun 2014 11:45:09 -0400 (EDT) Subject: icedtea7 ppc32 build error In-Reply-To: References: Message-ID: <1905471942.23008770.1402501509680.JavaMail.zimbra@redhat.com> ----- Original Message ----- > Andrew, I just tried to post the include mail to the list but it got > stuck. > You seem to care about ppc32 s? I sent a copy to you too. > Any ideas? > > Joakim Tjernlund/Transmode wrote on 2014/06/11 16:23:51: > > > From: Joakim Tjernlund/Transmode > > To: distro-pkg-dev at openjdk.java.net, > > Date: 2014/06/11 16:23 > > Subject: icedtea7 ppc32 build error > > > > Building latetest icedtea7(http://icedtea.classpath.org/hg/icedtea7/) on > ppc32 fails with: > > INFO: ZIP_DEBUGINFO_FILES=1 > > INFO: ENABLE_FULL_DEBUG_SYMBOLS=1 > > INFO: /usr/bin/objcopy cmd found so will create .debuginfo files. > > INFO: STRIP_POLICY=no_strip > > INFO: ZIP_DEBUGINFO_FILES=1 > > gmake[7]: *** No rule to make target > `/root/icedtea7/openjdk-boot/hotspot/src/cpu/ppc/vm/ppc_32.ad', needed by > `../generated/adfiles/linux_ppc_32.ad'. > > gmake[7]: *** No rule to make target > `/root/icedtea7/openjdk-boot/hotspot/src/os_cpu/linux_ppc/vm/linux_ppc_32.ad', > needed by `../generated/adfiles/linux_ppc_32.ad'. > > gmake[7]: Target `all' not remade because of errors. > > gmake[6]: *** [ad_stuff] Error 2 > > > > Here is my configre cmd: > > ./configure --disable-jar-compression --without-rhino > --disable-system-kerberos --with-jdk-home=/usr/lib/icedtea7 --disable-zero > --disable-cacao --disable-arm32-jit --disable-docs --disable-tests > It's looking for a native PPC32 port because you disabled Zero. There is no such thing :) Remove --disable-zero and it should build fine. IcedTea generally does the right thing for each architecture, with the exception of enabling CACAO or JamVM by default. These are likely to provide better performance than Zero, but have not been known to pass the TCK. Depending on your needs, you may find CACAO the best fit for PPC32. -- 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 gnu.andrew at redhat.com Wed Jun 11 16:13:09 2014 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Wed, 11 Jun 2014 12:13:09 -0400 (EDT) Subject: icedtea7 ppc32 build error In-Reply-To: References: <1905471942.23008770.1402501509680.JavaMail.zimbra@redhat.com> Message-ID: <1853882108.23023309.1402503189777.JavaMail.zimbra@redhat.com> ----- Original Message ----- > Andrew Hughes wrote on 2014/06/11 17:45:09: > > > > ----- Original Message ----- > > > Andrew, I just tried to post the include mail to the list but it got > > > stuck. > > > You seem to care about ppc32 s? I sent a copy to you too. > > > Any ideas? > > > > > > Joakim Tjernlund/Transmode wrote on 2014/06/11 16:23:51: > > > > > > > From: Joakim Tjernlund/Transmode > > > > To: distro-pkg-dev at openjdk.java.net, > > > > Date: 2014/06/11 16:23 > > > > Subject: icedtea7 ppc32 build error > > > > > > > > Building latetest icedtea7(http://icedtea.classpath.org/hg/icedtea7/ > ) on > > > ppc32 fails with: > > > > INFO: ZIP_DEBUGINFO_FILES=1 > > > > INFO: ENABLE_FULL_DEBUG_SYMBOLS=1 > > > > INFO: /usr/bin/objcopy cmd found so will create .debuginfo files. > > > > INFO: STRIP_POLICY=no_strip > > > > INFO: ZIP_DEBUGINFO_FILES=1 > > > > gmake[7]: *** No rule to make target > > > `/root/icedtea7/openjdk-boot/hotspot/src/cpu/ppc/vm/ppc_32.ad', needed > by > > > `../generated/adfiles/linux_ppc_32.ad'. > > > > gmake[7]: *** No rule to make target > > > > `/root/icedtea7/openjdk-boot/hotspot/src/os_cpu/linux_ppc/vm/linux_ppc_32.ad', > > > needed by `../generated/adfiles/linux_ppc_32.ad'. > > > > gmake[7]: Target `all' not remade because of errors. > > > > gmake[6]: *** [ad_stuff] Error 2 > > > > > > > > Here is my configre cmd: > > > > ./configure --disable-jar-compression --without-rhino > > > --disable-system-kerberos --with-jdk-home=/usr/lib/icedtea7 > --disable-zero > > > --disable-cacao --disable-arm32-jit --disable-docs --disable-tests > > > > > > > It's looking for a native PPC32 port because you disabled Zero. There is > > no such thing :) > > But there is, see > http://blog.fuseyism.com/index.php/2014/01/23/ppc-port-available-in-icedtea-2-x-head/ > Yes, I wrote that... It's POWER5+ PPC64 only, I'm afraid. > Also, build accept ppc and fails far into the build. Because you explicitly disabled Zero. It's doing exactly what you told it to do. > > > > > Remove --disable-zero and it should build fine. IcedTea generally does > the > > right thing for each architecture, with the exception of enabling CACAO > or > > JamVM by default. These are likely to provide better performance than > Zero, > > but have not been known to pass the TCK. Depending on your needs, you > may > > find CACAO the best fit for PPC32. > > Got a ppc CACAO but I want some better performance :) > > > -- > > 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 > > > > -- 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 gnu.andrew at redhat.com Wed Jun 11 17:25:27 2014 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Wed, 11 Jun 2014 13:25:27 -0400 (EDT) Subject: icedtea7 ppc32 build error In-Reply-To: References: <1905471942.23008770.1402501509680.JavaMail.zimbra@redhat.com> <1853882108.23023309.1402503189777.JavaMail.zimbra@redhat.com> Message-ID: <1164757223.23049951.1402507527951.JavaMail.zimbra@redhat.com> ----- Original Message ----- > Andrew Hughes wrote on 2014/06/11 18:13:09: > > > > > > > > ----- Original Message ----- > > > Andrew Hughes wrote on 2014/06/11 17:45:09: > > > > > > > > ----- Original Message ----- > > > > > Andrew, I just tried to post the include mail to the list but it > got > > > > > stuck. > > > > > You seem to care about ppc32 s? I sent a copy to you too. > > > > > Any ideas? > > > > > > > > > > Joakim Tjernlund/Transmode wrote on 2014/06/11 16:23:51: > > > > > > > > > > > From: Joakim Tjernlund/Transmode > > > > > > To: distro-pkg-dev at openjdk.java.net, > > > > > > Date: 2014/06/11 16:23 > > > > > > Subject: icedtea7 ppc32 build error > > > > > > > > > > > > Building latetest icedtea7( > http://icedtea.classpath.org/hg/icedtea7/ > > > ) on > > > > > ppc32 fails with: > > > > > > INFO: ZIP_DEBUGINFO_FILES=1 > > > > > > INFO: ENABLE_FULL_DEBUG_SYMBOLS=1 > > > > > > INFO: /usr/bin/objcopy cmd found so will create .debuginfo > files. > > > > > > INFO: STRIP_POLICY=no_strip > > > > > > INFO: ZIP_DEBUGINFO_FILES=1 > > > > > > gmake[7]: *** No rule to make target > > > > > `/root/icedtea7/openjdk-boot/hotspot/src/cpu/ppc/vm/ppc_32.ad', > needed > > > by > > > > > `../generated/adfiles/linux_ppc_32.ad'. > > > > > > gmake[7]: *** No rule to make target > > > > > > > > > `/root/icedtea7/openjdk-boot/hotspot/src/os_cpu/linux_ppc/vm/linux_ppc_32.ad', > > > > > needed by `../generated/adfiles/linux_ppc_32.ad'. > > > > > > gmake[7]: Target `all' not remade because of errors. > > > > > > gmake[6]: *** [ad_stuff] Error 2 > > > > > > > > > > > > Here is my configre cmd: > > > > > > ./configure --disable-jar-compression --without-rhino > > > > > --disable-system-kerberos --with-jdk-home=/usr/lib/icedtea7 > > > --disable-zero > > > > > --disable-cacao --disable-arm32-jit --disable-docs > --disable-tests > > > > > > > > > > > > > It's looking for a native PPC32 port because you disabled Zero. > There is > > > > no such thing :) > > > > > > But there is, see > > > > http://blog.fuseyism.com/index.php/2014/01/23/ppc-port-available-in-icedtea-2-x-head/ > > > > > > > > Yes, I wrote that... It's POWER5+ PPC64 only, I'm afraid. > > ehh, why use the term ppc on a ppc64 system? ppc is the established term > for ppc32 so > this is very confusing. It's the term used by the project developing the port: http://openjdk.java.net/projects/ppc-aix-port/ Also, I have a feeling I wasn't aware it didn't support PPC32 myself back then. >From a personal perspective, I'm a little disappointed as it doesn't help on either my PPC32 or PPC64 boxes (both old Macs). The impression I get is that PPC32 isn't well supported at all any more. Fedora is in a similar situation where they only support PPC64 POWER5+. > > Is there any effort to support ppc32 too? I guessing it cannot be too much > work > to do that as ppc64 is already working? > Not as far as I know, but that's a discussion that should take place on the PPC/AIX port mailing list (see link above). From an IcedTea perspective, we're just providing packaging. > Any idea if one can cross-compile icedtea from ppc32/amd64 to ppc64? I've managed to compile x86 on x86_64, but there were some gotchas. It's supposed to be easier on OpenJDK 8 and later, but I haven't tried. It's currently something I may look at more for 2.6.0. > > > > > > Also, build accept ppc and fails far into the build. > > > > Because you explicitly disabled Zero. It's doing exactly what you told > it to do. > > hmm, yes but configure should bail/error out much earlier when you > ask it build something it cannot. Now one gets the impression that there > is > just a build failure that needs to be fixed. > True. I'll see if something can be added, but it needs to only bail out if the user isn't building Zero OR CACAO or JamVM. In general, we tend to avoid such things, because, if the user is explicitly overriding the defaults, we assume it's because they know what they're doing... ;) Moreover, it would become an impediment if someone did develop a PPC32 port. Note that the build failure takes the form it does because there is a proprietary PPC32 port maintained by Oracle and changes in the OpenJDK build to support it. The same is true of ARM32. If it was a architecture completely unknown to the build system, I expect it would fail earlier. > > > > > > > > > > > > > Remove --disable-zero and it should build fine. IcedTea generally > does > > > the > > > > right thing for each architecture, with the exception of enabling > CACAO > > > or > > > > JamVM by default. These are likely to provide better performance > than > > > Zero, > > > > but have not been known to pass the TCK. Depending on your needs, > you > > > may > > > > find CACAO the best fit for PPC32. > > > > > > Got a ppc CACAO but I want some better performance :) > > > > > > > -- > > > > 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 > > > > > > > > > > > > > > -- > > 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 > > > > -- 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 jkang at redhat.com Wed Jun 11 17:53:06 2014 From: jkang at redhat.com (Jie Kang) Date: Wed, 11 Jun 2014 13:53:06 -0400 (EDT) Subject: [rfc][icedtea-web][policyeditor] CustomPolicyEditor method extractions and tests added In-Reply-To: <53985D21.2060600@redhat.com> References: <5391D48F.5040809@redhat.com> <5391D502.2080504@redhat.com> <2023840321.11643453.1402068129797.JavaMail.zimbra@redhat.com> <5391DE3B.9050408@redhat.com> <136674046.11724984.1402080714224.JavaMail.zimbra@redhat.com> <5392127F.10006@redhat.com> <53985D21.2060600@redhat.com> Message-ID: <973842978.13585122.1402509186107.JavaMail.zimbra@redhat.com> Hello, > > Yea, I wasn't too happy with it either. The adding of a permission on > > its own is not enough to extract into a method, it needs to be done > > along with the asserts to be anything useful. I don't want to have the > > asserts in a non- at Test method really, so what's left is either calling > > a test from within other tests, or just having duplicate code. The > > attached patch lets the duplicate code be rather than calling another > > @Test method from within tests. > > I think the duplicate code is okay in this situation. I noticed this issue is also in PolicyEditorTest.java where testClearCustomPermission calls testAddCustomPermission. I think we should have duplicate code here too. Otherwise looks good. > > Thanks, > > > > Ping. > > Thanks, > > -- > Andrew A > > -- Jie Kang From aazores at redhat.com Wed Jun 11 17:54:37 2014 From: aazores at redhat.com (Andrew Azores) Date: Wed, 11 Jun 2014 13:54:37 -0400 Subject: [rfc][icedtea-web][policyeditor] Reduced usage of weak references In-Reply-To: <53985DEA.5030300@redhat.com> References: <538C89E6.5050005@redhat.com> <53985DEA.5030300@redhat.com> Message-ID: <539897DD.7050609@redhat.com> On 06/11/2014 09:47 AM, Andrew Azores wrote: > On 06/02/2014 10:27 AM, Andrew Azores wrote: >> Hi, >> >> This patch reduces the usage of weak references in PolicyEditor and >> CustomPolicyViewer. There is still one use of a weak reference left, >> used when closing PolicyEditor and answering 'Yes' to saving changes >> first. In this case, the "Changes Saved" dialog appears after the >> editor has been closed and disposed, but the dialog holds a reference >> to it. This results in the JVM not exiting after PolicyEditor is >> closed. Using the weak reference in the way it's still used here >> allows for the JVM to properly exit once the editor is closed, while >> still allowing the dialog to be modal when it is shown in situations >> where the editor is not already closed. >> >> ChangeLog: >> * >> netx/net/sourceforge/jnlp/security/policyeditor/CustomPolicyViewer.java >> (weakThis): removed >> * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java >> (weakThis): used only in showChangesSavedDialog, other uses changed >> to PolicyEditor.this >> >> Thanks, >> > > Ping. > > Thanks, > Here's a new version of the patch that applies cleanly on current HEAD. Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: policyeditor-weakthis-3.patch Type: text/x-patch Size: 11937 bytes Desc: not available URL: From omajid at redhat.com Wed Jun 11 18:04:12 2014 From: omajid at redhat.com (Omair Majid) Date: Wed, 11 Jun 2014 14:04:12 -0400 Subject: [rfc][icedtea-web][policyeditor] Reduced usage of weak references In-Reply-To: <539897DD.7050609@redhat.com> References: <538C89E6.5050005@redhat.com> <53985DEA.5030300@redhat.com> <539897DD.7050609@redhat.com> Message-ID: <20140611180411.GC2278@redhat.com> Hi, Thanks for the cleanup! * Andrew Azores [2014-06-11 13:55]: > +++ b/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java > @@ -173,6 +173,13 @@ public class PolicyEditor extends JPanel > addCodebaseButton = new JButton(), removeCodebaseButton = new JButton(); > private final JFileChooser fileChooser; > private CustomPolicyViewer cpViewer = null; > + > + /** > + * See showChangesSavedDialog. This weak reference is needed because there is a modal child > + * dialog which can sometimes appear after the editor has been closed and disposed. In this > + * case, its parent should be set to 'null', but otherwise the parent should be the editor > + * so that the dialog is modal. > + */ > private final WeakReference weakThis = new WeakReference<>(this); In this case, please call it something more appropriate, Like 'parentDialog', and change the reference type to Window. It makes sense that the code that expects a parent uses null whereas `weakThis` seems like a really odd sort of a name. > private void showChangesSavedDialog() { > + // This dialog is often displayed when closing the editor, and so PolicyEditor > + // may already be disposed when this dialog appears. Give a weak reference so > + // that this dialog doesn't prevent GC of the editor Is preventing GC in this such a bad thing? Presumably, this will only be an issue for a few seconds, right? Because then the dialog goes away. Thanks, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From ldracz at redhat.com Wed Jun 11 18:19:34 2014 From: ldracz at redhat.com (Lukasz Dracz) Date: Wed, 11 Jun 2014 14:19:34 -0400 (EDT) Subject: [rfc][icedtea-web][policyeditor] CustomPolicyEditor method extractions and tests added In-Reply-To: <973842978.13585122.1402509186107.JavaMail.zimbra@redhat.com> References: <5391D48F.5040809@redhat.com> <5391D502.2080504@redhat.com> <2023840321.11643453.1402068129797.JavaMail.zimbra@redhat.com> <5391DE3B.9050408@redhat.com> <136674046.11724984.1402080714224.JavaMail.zimbra@redhat.com> <5392127F.10006@redhat.com> <53985D21.2060600@redhat.com> <973842978.13585122.1402509186107.JavaMail.zimbra@redhat.com> Message-ID: <1683499059.13595163.1402510774887.JavaMail.zimbra@redhat.com> > Hello, > > > > Yea, I wasn't too happy with it either. The adding of a permission on > > > its own is not enough to extract into a method, it needs to be done > > > along with the asserts to be anything useful. I don't want to have the > > > asserts in a non- at Test method really, so what's left is either calling > > > a test from within other tests, or just having duplicate code. The > > > attached patch lets the duplicate code be rather than calling another > > > @Test method from within tests. > > > > > I think the duplicate code is okay in this situation. I noticed this issue is > also in PolicyEditorTest.java where testClearCustomPermission calls > testAddCustomPermission. I think we should have duplicate code here too. > Otherwise looks good. > Hello, The patch looks good. Looking over the duplicated code, I think it is fine and helps in a way with the readability of the code. +0.5. > > > Thanks, > > > > > > > Ping. > > > > Thanks, > > > > -- > > Andrew A > > > > > > -- > Jie Kang > Thanks, Lukasz Dracz From aazores at redhat.com Wed Jun 11 18:57:10 2014 From: aazores at redhat.com (Andrew Azores) Date: Wed, 11 Jun 2014 14:57:10 -0400 Subject: [rfc][icedtea-web][policyeditor] Reduced usage of weak references In-Reply-To: <20140611180411.GC2278@redhat.com> References: <538C89E6.5050005@redhat.com> <53985DEA.5030300@redhat.com> <539897DD.7050609@redhat.com> <20140611180411.GC2278@redhat.com> Message-ID: <5398A686.9060904@redhat.com> On 06/11/2014 02:04 PM, Omair Majid wrote: > Hi, > > Thanks for the cleanup! > > * Andrew Azores [2014-06-11 13:55]: >> +++ b/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java >> @@ -173,6 +173,13 @@ public class PolicyEditor extends JPanel >> addCodebaseButton = new JButton(), removeCodebaseButton = new JButton(); >> private final JFileChooser fileChooser; >> private CustomPolicyViewer cpViewer = null; >> + >> + /** >> + * See showChangesSavedDialog. This weak reference is needed because there is a modal child >> + * dialog which can sometimes appear after the editor has been closed and disposed. In this >> + * case, its parent should be set to 'null', but otherwise the parent should be the editor >> + * so that the dialog is modal. >> + */ >> private final WeakReference weakThis = new WeakReference<>(this); > In this case, please call it something more appropriate, Like > 'parentDialog', and change the reference type to Window. It makes sense > that the code that expects a parent uses null whereas `weakThis` seems > like a really odd sort of a name. Well, PolicyEditor is actually a JPanel right now, so changing the weak reference type to Window is not trivial. I'm going to start on a proper refactor though to separate the actual policy editing from the Window/Dialog/Panel stuff, so that change could be bundled with that as well. > >> private void showChangesSavedDialog() { >> + // This dialog is often displayed when closing the editor, and so PolicyEditor >> + // may already be disposed when this dialog appears. Give a weak reference so >> + // that this dialog doesn't prevent GC of the editor > Is preventing GC in this such a bad thing? Presumably, this will only be > an issue for a few seconds, right? Because then the dialog goes away. > > Thanks, > Omair > I should probably rewrite that comment actually. It isn't just preventing GC of the parent until the modal dialog goes away, it actually causes the JVM to never (or at least not within several minutes) exit, even after the modal "Changes Saved" dialog has disappeared. I'm still no Swing expert so I don't know exactly what's going on here but it seems something isn't being disposed correctly or some thread stays blocked, I don't know. I suspect it's because the parent window has already been disposed by the time the child modal appears, but I don't know what else to do about this other than give it a weak reference so that it just doesn't have a parent (or rather has whatever default parent) if the PolicyEditorWindow is already gone. Anyway, patch attached has weakThis renamed to parentPolicyEditor. showCouldNotSaveDialog also uses it for the same reason that showChangesSavedDialog does, since I noticed that it had also been changed to use PolicyEditor.this even though this dialog can also appear the same way after the editor has been disposed. The comment explaining the use of the weak reference also says it prevents JVM exit, not GC. Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: policyeditor-weakthis-4.patch Type: text/x-patch Size: 12791 bytes Desc: not available URL: From aazores at icedtea.classpath.org Wed Jun 11 20:00:08 2014 From: aazores at icedtea.classpath.org (aazores at icedtea.classpath.org) Date: Wed, 11 Jun 2014 20:00:08 +0000 Subject: /hg/icedtea-web: CustomPolicyViewer method extraction and tests ... Message-ID: changeset 48debbfe8672 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=48debbfe8672 author: Andrew Azores date: Wed Jun 11 15:59:54 2014 -0400 CustomPolicyViewer method extraction and tests added 2014-06-11 Andrew Azores CustomPolicyViewer refactored - methods extracted for unit testing and no longer holds PolicyFileModel reference, instead using parent PolicyEditor's interface for interacting with the file model * netx/net/sourceforge/jnlp/security/policyeditor/CustomPolicyViewer.java: no longer holds PolicyFileModel reference, interacts through PolicyEditor parent instead (addButtonAction, removeButtonAction, closeButtonAction): use extracted methods (addCustomPermission): extracted method, no longer adds visual duplicates (removeCustomPermission, quit): extracted methods (getCopyOfCustomPermissions): new method (updateCustomPermissions): use parent rather than PolicyFileModel * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java (clearCustomPermissions): new method * tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorTest.java (testAddCustomPermission, testClearCustomPermissions): new tests * tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/CustomPolicyViewerTest.java: new test class diffstat: ChangeLog | 20 + netx/net/sourceforge/jnlp/security/policyeditor/CustomPolicyViewer.java | 65 +++- netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java | 6 +- tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/CustomPolicyViewerTest.java | 132 ++++++++++ tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorTest.java | 19 +- 5 files changed, 218 insertions(+), 24 deletions(-) diffs (370 lines): diff -r 0e97a940f5c4 -r 48debbfe8672 ChangeLog --- a/ChangeLog Fri Jun 06 14:35:41 2014 -0400 +++ b/ChangeLog Wed Jun 11 15:59:54 2014 -0400 @@ -1,3 +1,23 @@ +2014-06-11 Andrew Azores + + CustomPolicyViewer refactored - methods extracted for unit testing and no + longer holds PolicyFileModel reference, instead using parent + PolicyEditor's interface for interacting with the file model + * netx/net/sourceforge/jnlp/security/policyeditor/CustomPolicyViewer.java: + no longer holds PolicyFileModel reference, interacts through + PolicyEditor parent instead + (addButtonAction, removeButtonAction, closeButtonAction): use extracted methods + (addCustomPermission): extracted method, no longer adds visual duplicates + (removeCustomPermission, quit): extracted methods + (getCopyOfCustomPermissions): new method + (updateCustomPermissions): use parent rather than PolicyFileModel + * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java + (clearCustomPermissions): new method + * tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorTest.java + (testAddCustomPermission, testClearCustomPermissions): new tests + * tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/CustomPolicyViewerTest.java: + new test class + 2014-06-06 Andrew Azores * netx/net/sourceforge/jnlp/security/policyeditor/CustomPermission.java diff -r 0e97a940f5c4 -r 48debbfe8672 netx/net/sourceforge/jnlp/security/policyeditor/CustomPolicyViewer.java --- a/netx/net/sourceforge/jnlp/security/policyeditor/CustomPolicyViewer.java Fri Jun 06 14:35:41 2014 -0400 +++ b/netx/net/sourceforge/jnlp/security/policyeditor/CustomPolicyViewer.java Wed Jun 11 15:59:54 2014 -0400 @@ -46,6 +46,7 @@ import java.awt.event.WindowEvent; import java.lang.ref.WeakReference; import java.util.Collection; +import java.util.Objects; import java.util.TreeSet; import javax.swing.DefaultListModel; @@ -75,7 +76,6 @@ private final JLabel listLabel = new JLabel(); private final ActionListener addButtonAction, removeButtonAction, closeButtonAction; private final WeakReference weakThis = new WeakReference<>(this); - private final PolicyFileModel policyFile; private final PolicyEditor parent; private final String codebase; @@ -84,14 +84,15 @@ * @param codebase the codebase for which these custom permissions are enabled * @param policyFile the PolicyFileModel */ - public CustomPolicyViewer(final PolicyEditor parent, final String codebase, final PolicyFileModel policyFile) { + public CustomPolicyViewer(final PolicyEditor parent, final String codebase) { super(); + Objects.requireNonNull(parent); + Objects.requireNonNull(codebase); this.parent = parent; this.codebase = codebase; - this.policyFile = policyFile; setLayout(new GridBagLayout()); setTitle(R("PECPTitle")); - customPermissions.addAll(policyFile.getCopyOfCustomPermissions().get(codebase)); + customPermissions.addAll(parent.getCustomPermissions(codebase)); for (final CustomPermission perm : customPermissions) { listModel.addElement(perm); } @@ -100,10 +101,11 @@ @Override public void actionPerformed(final ActionEvent e) { final String prefill = R("PECPType") + " " + R("PECPTarget") + " [" + R("PECPActions") + "]"; - final String string = JOptionPane.showInputDialog(weakThis.get(), R("PECPPrompt"), prefill); + String string = JOptionPane.showInputDialog(weakThis.get(), R("PECPPrompt"), prefill); if (string == null || string.isEmpty()) { return; } + string = string.replaceAll("\\s+", " ").trim(); final String[] parts = string.split(" "); if (parts.length < 2) { return; @@ -116,11 +118,7 @@ actions = ""; } final CustomPermission perm = new CustomPermission(type, target, actions); - if (perm != null) { - customPermissions.add(perm); - listModel.addElement(perm); - updateCustomPermissions(); - } + addCustomPermission(perm); } }; addButton.setText(R("PECPAddButton")); @@ -129,12 +127,11 @@ removeButtonAction = new ActionListener() { @Override public void actionPerformed(final ActionEvent e) { - if (list.getSelectedValue() == null) { + final CustomPermission selected = list.getSelectedValue(); + if (selected == null) { return; } - customPermissions.remove(list.getSelectedValue()); - listModel.removeElement(list.getSelectedValue()); - updateCustomPermissions(); + removeCustomPermission(selected); } }; removeButton.setText(R("PECPRemoveButton")); @@ -143,9 +140,7 @@ closeButtonAction = new ActionListener() { @Override public void actionPerformed(final ActionEvent e) { - weakThis.clear(); - parent.customPolicyViewerClosing(); - dispose(); + quit(); } }; closeButton.setText(R("PECPCloseButton")); @@ -168,9 +163,7 @@ addWindowListener(new WindowAdapter() { @Override public void windowClosing(final WindowEvent e) { - weakThis.clear(); - parent.customPolicyViewerClosing(); - dispose(); + quit(); } }); } @@ -216,6 +209,12 @@ setMinimumSize(getPreferredSize()); } + private void quit() { + weakThis.clear(); + parent.customPolicyViewerClosing(); + dispose(); + } + /** * Update the custom permissions map. Used by the Custom Policy Viewer to update its parent * PolicyEditor to changes it has made @@ -224,8 +223,30 @@ */ private void updateCustomPermissions() { parent.setChangesMade(); - policyFile.clearCustomCodebase(codebase); - policyFile.addCustomPermissions(codebase, customPermissions); + parent.clearCustomPermissions(codebase); + for (final CustomPermission permission : customPermissions) { + parent.addCustomPermission(codebase, permission); + } + } + + void addCustomPermission(final CustomPermission permission) { + Objects.requireNonNull(permission); + if (customPermissions.add(permission)) { + listModel.addElement(permission); + updateCustomPermissions(); + } + list.setSelectedValue(permission, true); + } + + void removeCustomPermission(final CustomPermission permission) { + Objects.requireNonNull(permission); + customPermissions.remove(permission); + listModel.removeElement(permission); + updateCustomPermissions(); + } + + Collection getCopyOfCustomPermissions() { + return new TreeSet<>(customPermissions); } } diff -r 0e97a940f5c4 -r 48debbfe8672 netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java --- a/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java Fri Jun 06 14:35:41 2014 -0400 +++ b/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java Wed Jun 11 15:59:54 2014 -0400 @@ -382,7 +382,7 @@ return; } if (cpViewer == null) { - cpViewer = new CustomPolicyViewer(PolicyEditor.this, codebase, policyFile); + cpViewer = new CustomPolicyViewer(PolicyEditor.this, codebase); cpViewer.setVisible(true); } else { cpViewer.toFront(); @@ -889,6 +889,10 @@ return new HashSet<>(policyFile.getCopyOfCustomPermissions().get(codebase)); } + public void clearCustomPermissions(final String codebase) { + policyFile.clearCustomCodebase(codebase); + } + private void updateCheckboxes() { for (String codebase : policyFile.getCopyOfPermissions().keySet()) { updateCheckboxes(codebase); diff -r 0e97a940f5c4 -r 48debbfe8672 tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/CustomPolicyViewerTest.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/CustomPolicyViewerTest.java Wed Jun 11 15:59:54 2014 -0400 @@ -0,0 +1,132 @@ +/*Copyright (C) 2014 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.security.policyeditor; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; + +import java.util.Collection; + +import net.sourceforge.jnlp.security.policyeditor.CustomPermission; +import net.sourceforge.jnlp.security.policyeditor.CustomPolicyViewer; +import net.sourceforge.jnlp.security.policyeditor.PolicyEditor; + +import org.junit.Before; +import org.junit.Test; + +public class CustomPolicyViewerTest { + + private CustomPolicyViewer viewer; + private static final String CODEBASE = "http://example.com"; + private static final CustomPermission PERMISSION = new CustomPermission("java.lang.RuntimePermission", "createClassLoader", ""); + + @Before + public void setupViewer() { + viewer = new CustomPolicyViewer(new PolicyEditor(null), CODEBASE); + } + + @Test(expected = NullPointerException.class) + public void testConstructorWithNullPolicyEditor() throws Exception { + new CustomPolicyViewer(null, CODEBASE); + } + + @Test(expected = NullPointerException.class) + public void testConstructorWithNullCodebase() throws Exception { + new CustomPolicyViewer(new PolicyEditor(null), null); + } + + @Test + public void testPermissionsSetInitiallyEmpty() throws Exception { + assertEquals("Permissions set should be empty", 0, viewer.getCopyOfCustomPermissions().size()); + } + + @Test + public void testAddCustomPermission() throws Exception { + viewer.addCustomPermission(PERMISSION); + assertEquals("Permissions set size mismatch", 1, viewer.getCopyOfCustomPermissions().size()); + assertTrue("Permissions set should contain " + PERMISSION, viewer.getCopyOfCustomPermissions().contains(PERMISSION)); + } + + @Test + public void testAddCustomPermissionDuplicates() throws Exception { + viewer.addCustomPermission(PERMISSION); + assertEquals("Permissions set size mismatch", 1, viewer.getCopyOfCustomPermissions().size()); + assertTrue("Permissions set should contain " + PERMISSION, viewer.getCopyOfCustomPermissions().contains(PERMISSION)); + viewer.addCustomPermission(PERMISSION); + assertEquals("Permissions set size should not have changed", 1, viewer.getCopyOfCustomPermissions().size()); + assertTrue("Permissions set should still contain " + PERMISSION, viewer.getCopyOfCustomPermissions().contains(PERMISSION)); + } + + @Test(expected = NullPointerException.class) + public void testAddCustomPermissionNull() throws Exception { + viewer.addCustomPermission(null); + } + + @Test + public void testRemoveCustomPermission() throws Exception { + viewer.addCustomPermission(PERMISSION); + assertEquals("Permissions set size mismatch", 1, viewer.getCopyOfCustomPermissions().size()); + assertTrue("Permissions set should contain " + PERMISSION, viewer.getCopyOfCustomPermissions().contains(PERMISSION)); + viewer.removeCustomPermission(PERMISSION); + assertEquals("Permissions set should be empty", 0, viewer.getCopyOfCustomPermissions().size()); + assertFalse("Permissions set should not contain " + PERMISSION, viewer.getCopyOfCustomPermissions().contains(PERMISSION)); + } + + @Test(expected = NullPointerException.class) + public void testRemoveCustomPermissionNull() throws Exception { + viewer.removeCustomPermission(null); + } + + @Test + public void testGetCopyOfCustomPermissionsNotNull() throws Exception { + assertNotNull(viewer.getCopyOfCustomPermissions()); + } + + @Test + public void testGetCopyOfCustomPermissionsReturnsCopy() throws Exception { + final Collection permissions = viewer.getCopyOfCustomPermissions(); + permissions.add(PERMISSION); + assertNotEquals("Sets should be distinct", viewer.getCopyOfCustomPermissions(), permissions); + assertNotEquals("Sizes should not match", viewer.getCopyOfCustomPermissions().size(), permissions.size()); + assertTrue("Copy should contain " + PERMISSION, permissions.contains(PERMISSION)); + assertFalse("Viewer should not contain " + PERMISSION, viewer.getCopyOfCustomPermissions().contains(PERMISSION)); + } + +} diff -r 0e97a940f5c4 -r 48debbfe8672 tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorTest.java --- a/tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorTest.java Fri Jun 06 14:35:41 2014 -0400 +++ b/tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorTest.java Wed Jun 11 15:59:54 2014 -0400 @@ -38,7 +38,6 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import java.io.File; @@ -142,6 +141,24 @@ } @Test + public void testAddCustomPermission() throws Exception { + final String codebase = "http://example.com"; + final CustomPermission customPermission = new CustomPermission("java.lang.RuntimePermission", "createClassLoader", ""); + editor.addCustomPermission(codebase, customPermission); + assertTrue(editor.getCustomPermissions(codebase).contains(customPermission)); + } + + @Test + public void testClearCustomPermissions() throws Exception { + final String codebase = "http://example.com"; + final CustomPermission customPermission = new CustomPermission("java.lang.RuntimePermission", "createClassLoader", ""); + editor.addCustomPermission(codebase, customPermission); + assertTrue(editor.getCustomPermissions(codebase).contains(customPermission)); + editor.clearCustomPermissions(codebase); + assertEquals(0, editor.getCustomPermissions(codebase).size()); + } + + @Test public void testReturnedCodebasesIsCopy() throws Exception { final Collection original = editor.getCodebases(); original.add("some invalid value"); From ldracz at redhat.com Wed Jun 11 20:03:06 2014 From: ldracz at redhat.com (Lukasz Dracz) Date: Wed, 11 Jun 2014 16:03:06 -0400 (EDT) Subject: [rfc][icedtea-web][policyeditor] Reduced usage of weak references In-Reply-To: <5398A686.9060904@redhat.com> References: <538C89E6.5050005@redhat.com> <53985DEA.5030300@redhat.com> <539897DD.7050609@redhat.com> <20140611180411.GC2278@redhat.com> <5398A686.9060904@redhat.com> Message-ID: <2013074957.13645405.1402516986863.JavaMail.zimbra@redhat.com> Hello, > > Thanks for the cleanup! > > > > * Andrew Azores [2014-06-11 13:55]: > >> +++ b/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java > >> @@ -173,6 +173,13 @@ public class PolicyEditor extends JPanel > >> addCodebaseButton = new JButton(), removeCodebaseButton = > >> new JButton(); > >> private final JFileChooser fileChooser; > >> private CustomPolicyViewer cpViewer = null; > >> + > >> + /** > >> + * See showChangesSavedDialog. This weak reference is needed because > >> there is a modal child > >> + * dialog which can sometimes appear after the editor has been closed > >> and disposed. In this > >> + * case, its parent should be set to 'null', but otherwise the parent > >> should be the editor > >> + * so that the dialog is modal. > >> + */ > >> private final WeakReference weakThis = new > >> WeakReference<>(this); > > In this case, please call it something more appropriate, Like > > 'parentDialog', and change the reference type to Window. It makes sense > > that the code that expects a parent uses null whereas `weakThis` seems > > like a really odd sort of a name. > > Well, PolicyEditor is actually a JPanel right now, so changing the weak > reference type to Window is not trivial. I'm going to start on a proper > refactor though to separate the actual policy editing from the > Window/Dialog/Panel stuff, so that change could be bundled with that as > well. Okay, sounds good. > > > >> private void showChangesSavedDialog() { > >> + // This dialog is often displayed when closing the editor, and so > >> PolicyEditor > >> + // may already be disposed when this dialog appears. Give a weak > >> reference so > >> + // that this dialog doesn't prevent GC of the editor > > Is preventing GC in this such a bad thing? Presumably, this will only be > > an issue for a few seconds, right? Because then the dialog goes away. > > > > Thanks, > > Omair > > > > I should probably rewrite that comment actually. It isn't just > preventing GC of the parent until the modal dialog goes away, it > actually causes the JVM to never (or at least not within several > minutes) exit, even after the modal "Changes Saved" dialog has > disappeared. I'm still no Swing expert so I don't know exactly what's > going on here but it seems something isn't being disposed correctly or > some thread stays blocked, I don't know. I suspect it's because the > parent window has already been disposed by the time the child modal > appears, but I don't know what else to do about this other than give it > a weak reference so that it just doesn't have a parent (or rather has > whatever default parent) if the PolicyEditorWindow is already gone. > > Anyway, patch attached has weakThis renamed to parentPolicyEditor. > showCouldNotSaveDialog also uses it for the same reason that > showChangesSavedDialog does, since I noticed that it had also been > changed to use PolicyEditor.this even though this dialog can also appear > the same way after the editor has been disposed. The comment explaining > the use of the weak reference also says it prevents JVM exit, not GC. The patch looks good to me. +0.5. Thank you, Lukasz Dracz From mattias.eliasson at medsa.se Thu Jun 12 00:45:58 2014 From: mattias.eliasson at medsa.se (Mattias Eliasson) Date: Thu, 12 Jun 2014 02:45:58 +0200 Subject: IcedTea-Web and FireBreath Plugin API Message-ID: <5398F846.4060104@medsa.se> Hi, As IcedTea-web have a architectural simplification task I am curious if you have looked at the FireBreath plugin API? It seams to provide nice high level C++ API for both NPAPI and IE ActiveX. That should help reduce IcedTea-Web code a lot since NPAPI are quite chatty and hopefully make it easier to squash remaining NPAPI-related bugs. From ptisnovs at icedtea.classpath.org Thu Jun 12 07:49:36 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Thu, 12 Jun 2014 07:49:36 +0000 Subject: /hg/gfx-test: Ten new tests added into CAGOperationsOnTwoConcent... Message-ID: changeset a90af99ed87b in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=a90af99ed87b author: Pavel Tisnovsky date: Thu Jun 12 09:50:22 2014 +0200 Ten new tests added into CAGOperationsOnTwoConcentricCircles. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/CAGOperationsOnTwoConcentricCircles.java | 250 ++++++++++ 2 files changed, 255 insertions(+), 0 deletions(-) diffs (272 lines): diff -r 40ea0d6086af -r a90af99ed87b ChangeLog --- a/ChangeLog Wed Jun 11 12:03:52 2014 +0200 +++ b/ChangeLog Thu Jun 12 09:50:22 2014 +0200 @@ -1,3 +1,8 @@ +2014-06-12 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/CAGOperationsOnTwoConcentricCircles.java: + Ten new tests added into CAGOperationsOnTwoConcentricCircles. + 2014-06-11 Pavel Tisnovsky * src/org/gfxtest/testsuites/CAGOperationsOnChordAndRectangle.java: diff -r 40ea0d6086af -r a90af99ed87b src/org/gfxtest/testsuites/CAGOperationsOnTwoConcentricCircles.java --- a/src/org/gfxtest/testsuites/CAGOperationsOnTwoConcentricCircles.java Wed Jun 11 12:03:52 2014 +0200 +++ b/src/org/gfxtest/testsuites/CAGOperationsOnTwoConcentricCircles.java Thu Jun 12 09:50:22 2014 +0200 @@ -2609,6 +2609,256 @@ } /** + * Checks the process of creating and rendering new geometric shape + * constructed from two concentric circles using inverse subtract operator. The shape is rendered + * using texture paint (fill). + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testInverseSubtractTextureFillUsingRGBTexture2(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingRGBTexture2(image, graphics2d); + // create area using inverse subtract operator + Area area = CommonCAGOperations.createAreaFromTwoConcentricCirclesUsingInverseSubtractOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two concentric circles using Intersect operator. The shape is rendered + * using texture paint (fill). + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testIntersectTextureFillUsingRGBTexture2(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingRGBTexture2(image, graphics2d); + // create area using Intersect operator + Area area = CommonCAGOperations.createAreaFromTwoConcentricCirclesUsingIntersectOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two concentric circles using Xor operator. The shape is rendered + * using texture paint (fill). + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testXorTextureFillUsingRGBTexture2(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingRGBTexture2(image, graphics2d); + // create area using Xor operator + Area area = CommonCAGOperations.createAreaFromTwoConcentricCirclesUsingXorOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two concentric circles using union operator. The shape is rendered + * using texture paint (fill). + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testUnionTextureFillUsingRGBTexture3(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingRGBTexture3(image, graphics2d); + // create area using union operator + Area area = CommonCAGOperations.createAreaFromTwoConcentricCirclesUsingUnionOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two concentric circles using subtract operator. The shape is rendered + * using texture paint (fill). + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testSubtractTextureFillUsingRGBTexture3(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingRGBTexture3(image, graphics2d); + // create area using subtract operator + Area area = CommonCAGOperations.createAreaFromTwoConcentricCirclesUsingSubtractOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two concentric circles using inverse subtract operator. The shape is rendered + * using texture paint (fill). + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testInverseSubtractTextureFillUsingRGBTexture3(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingRGBTexture3(image, graphics2d); + // create area using inverse subtract operator + Area area = CommonCAGOperations.createAreaFromTwoConcentricCirclesUsingInverseSubtractOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two concentric circles using Intersect operator. The shape is rendered + * using texture paint (fill). + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testIntersectTextureFillUsingRGBTexture3(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingRGBTexture3(image, graphics2d); + // create area using Intersect operator + Area area = CommonCAGOperations.createAreaFromTwoConcentricCirclesUsingIntersectOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two concentric circles using Xor operator. The shape is rendered + * using texture paint (fill). + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testXorTextureFillUsingRGBTexture3(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingRGBTexture3(image, graphics2d); + // create area using Xor operator + Area area = CommonCAGOperations.createAreaFromTwoConcentricCirclesUsingXorOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two concentric circles using union operator. The shape is rendered + * using texture paint (fill). + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testUnionTextureFillUsingRGBTexture4(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingRGBTexture4(image, graphics2d); + // create area using union operator + Area area = CommonCAGOperations.createAreaFromTwoConcentricCirclesUsingUnionOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two concentric circles using subtract operator. The shape is rendered + * using texture paint (fill). + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testSubtractTextureFillUsingRGBTexture4(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingRGBTexture4(image, graphics2d); + // create area using subtract operator + Area area = CommonCAGOperations.createAreaFromTwoConcentricCirclesUsingSubtractOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** * Entry point to the test suite. * * @param args not used in this case From aazores at redhat.com Thu Jun 12 14:20:02 2014 From: aazores at redhat.com (Andrew Azores) Date: Thu, 12 Jun 2014 10:20:02 -0400 Subject: IcedTea-Web and FireBreath Plugin API In-Reply-To: <5398F846.4060104@medsa.se> References: <5398F846.4060104@medsa.se> Message-ID: <5399B712.6070009@redhat.com> On 06/11/2014 08:45 PM, Mattias Eliasson wrote: > Hi, > > As IcedTea-web have a architectural simplification task I am curious > if you have looked at the FireBreath plugin API? It seams to provide > nice high level C++ API for both NPAPI and IE ActiveX. That should > help reduce IcedTea-Web code a lot since NPAPI are quite chatty and > hopefully make it easier to squash remaining NPAPI-related bugs. I haven't looked into this myself before, but it looks interesting. We'll see what others think about the idea and perhaps look into porting over. Thanks for proposing it. Thanks, -- Andrew A From andrew at icedtea.classpath.org Thu Jun 12 14:29:53 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Thu, 12 Jun 2014 14:29:53 +0000 Subject: /hg/icedtea7: 4 new changesets Message-ID: changeset c3068900da7c in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=c3068900da7c author: Andrew John Hughes date: Wed Jun 11 02:33:03 2014 +0100 PR1371: Provide option to build without debugging 2014-06-10 Andrew John Hughes PR1371: Provide option to build without debugging * INSTALL: Updated. * Makefile.am: (ICEDTEA_ENV): Only set DEBUG_CLASSFILES and DEBUG_BINARIES when ENABLE_JAVA_DEBUGINFO and ENABLE_NATIVE_DEBUGINFO are set, respectively. * NEWS: Updated. * acinclude.m4: (IT_ENABLE_NATIVE_DEBUGINFO): New macro to add option --enable-native-debuginfo. (IT_ENABLE_JAVA_DEBUGINFO): New macro to add option --enable-java-debuginfo. * configure.ac: Invoke new macros. changeset 4383b99bbc31 in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=4383b99bbc31 author: Andrew John Hughes date: Wed Jun 11 02:33:43 2014 +0100 PR1827: Support AM_MAINTAINER_MODE 2014-06-10 Andrew John Hughes PR1827: Support AM_MAINTAINER_MODE * NEWS: Updated. * configure.ac: Invoke the AM_MAINTAINER_MODE macro with a default of enabled. changeset 4a2fdacd0277 in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=4a2fdacd0277 author: Andrew John Hughes date: Wed Jun 11 02:34:28 2014 +0100 PR1830: Drop version requirement for LCMS 2 2014-06-10 Andrew John Hughes PR1830: Drop version requirement for LCMS 2 * INSTALL: Document lcms2 requirement. * NEWS: Updated. * acinclude.m4: (IT_CHECK_FOR_LCMS): Drop 2.5 requirement. changeset 1e199b277a83 in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=1e199b277a83 author: Andrew John Hughes date: Wed Jun 11 02:35:36 2014 +0100 PR1833, RH1022017: Report elliptic curves supported by NSS, not the SunEC library 2014-06-10 Andrew John Hughes PR1833, RH1022017: Report elliptic curves supported by NSS, not the SunEC library * NEWS: Updated. * Makefile.am: (ICEDTEA_PATCHES): Add new patch when PKCS11+NSS or SunEC+NSS are enabled, so that the NSS set of curves are announced via SSL. * patches/rh1022017.patch: Reduce number of curves announced over SSL to just those supported by NSS. diffstat: ChangeLog | 45 +++++++++++++++++++++++++++++++++++++++++++++ INSTALL | 4 ++++ Makefile.am | 21 ++++++++++++++++++--- NEWS | 4 ++++ acinclude.m4 | 48 ++++++++++++++++++++++++++++++++++++++++++++++-- configure.ac | 3 +++ patches/rh1022017.patch | 44 ++++++++++++++++++++++++++++++++++++++++++++ 7 files changed, 164 insertions(+), 5 deletions(-) diffs (263 lines): diff -r 51d5f1e9310b -r 1e199b277a83 ChangeLog --- a/ChangeLog Mon Jun 02 20:35:33 2014 +0100 +++ b/ChangeLog Wed Jun 11 02:35:36 2014 +0100 @@ -1,3 +1,48 @@ +2014-06-10 Andrew John Hughes + + PR1833, RH1022017: Report elliptic curves + supported by NSS, not the SunEC library + * NEWS: Updated. + * Makefile.am: + (ICEDTEA_PATCHES): Add new patch when + PKCS11+NSS or SunEC+NSS are enabled, so + that the NSS set of curves are announced + via SSL. + * patches/rh1022017.patch: + Reduce number of curves announced over SSL + to just those supported by NSS. + +2014-06-10 Andrew John Hughes + + PR1830: Drop version requirement for LCMS 2 + * INSTALL: Document lcms2 requirement. + * NEWS: Updated. + * acinclude.m4: + (IT_CHECK_FOR_LCMS): Drop 2.5 requirement. + +2014-06-10 Andrew John Hughes + + PR1827: Support AM_MAINTAINER_MODE + * NEWS: Updated. + * configure.ac: Invoke the AM_MAINTAINER_MODE + macro with a default of enabled. + +2014-06-10 Andrew John Hughes + + PR1371: Provide option to build without debugging + * INSTALL: Updated. + * Makefile.am: + (ICEDTEA_ENV): Only set DEBUG_CLASSFILES + and DEBUG_BINARIES when ENABLE_JAVA_DEBUGINFO + and ENABLE_NATIVE_DEBUGINFO are set, respectively. + * NEWS: Updated. + * acinclude.m4: + (IT_ENABLE_NATIVE_DEBUGINFO): New macro to add + option --enable-native-debuginfo. + (IT_ENABLE_JAVA_DEBUGINFO): New macro to add + option --enable-java-debuginfo. + * configure.ac: Invoke new macros. + 2014-06-02 Andrew John Hughes PR1814: HotSpot URL should be used with --enable-hg diff -r 51d5f1e9310b -r 1e199b277a83 INSTALL --- a/INSTALL Mon Jun 02 20:35:33 2014 +0100 +++ b/INSTALL Wed Jun 11 02:35:36 2014 +0100 @@ -27,6 +27,7 @@ libpng-devel (for --enable-system-png) libjpeg-devel >= 6b (for --enable-system-jpeg) zlib-devel (for --enable-system-zlib) +lcms2-devel (for --enable-system-lcms) fontconfig (for --enable-system-fontconfig) libc6-dev & libattr-devel/libattr1-dev (for --enable-compile-against-syscalls) libpcsclite (for --enable-system-pcsc) @@ -204,6 +205,9 @@ query it at runtime to obtain the cache location, rather than using a hardcoded value. * --enable-arm32-jit: Build the ARM32 JIT. +* --enable-sunec: Build the SunEC crypto provider against system NSS. +* --enable-native-debuginfo: Include debuginfo in native binaries. +* --enable-java-debuginfo: Include debuginfo in Java class files. Testing ======= diff -r 51d5f1e9310b -r 1e199b277a83 Makefile.am --- a/Makefile.am Mon Jun 02 20:35:33 2014 +0100 +++ b/Makefile.am Wed Jun 11 02:35:36 2014 +0100 @@ -292,7 +292,14 @@ endif if ENABLE_NSS -ICEDTEA_PATCHES += patches/nss-config.patch +ICEDTEA_PATCHES += patches/nss-config.patch \ + patches/rh1022017.patch +endif + +if ENABLE_SUNEC +if !ENABLE_NSS +ICEDTEA_PATCHES += patches/rh1022017.patch +endif endif if WITH_ALT_HSBUILD @@ -478,8 +485,6 @@ DISTRIBUTION_ID="$(DIST_ID)" \ DERIVATIVE_ID="$(ICEDTEA_NAME) $(PACKAGE_VERSION)$(ICEDTEA_REV)" \ ALT_JIBX_LIBS_PATH="$(JIBX_DEPS_DIR)" \ - DEBUG_CLASSFILES="true" \ - DEBUG_BINARIES="true" \ ALT_OUTPUTDIR="$(BUILD_OUTPUT_DIR)" \ VERBOSE="$(VERBOSE)" \ STATIC_CXX="false" \ @@ -579,6 +584,16 @@ DISABLE_INTREE_EC="true" endif +if ENABLE_NATIVE_DEBUGINFO +ICEDTEA_ENV += \ + DEBUG_BINARIES="true" +endif + +if ENABLE_JAVA_DEBUGINFO +ICEDTEA_ENV += \ + DEBUG_CLASSFILES="true" +endif + # OpenJDK boot build environment. ICEDTEA_ENV_BOOT = $(ICEDTEA_ENV) \ BOOTCLASSPATH_CLS_RT="-bootclasspath $(CLS_DIR_BOOT):$(RUNTIME)" \ diff -r 51d5f1e9310b -r 1e199b277a83 NEWS --- a/NEWS Mon Jun 02 20:35:33 2014 +0100 +++ b/NEWS Wed Jun 11 02:35:36 2014 +0100 @@ -187,6 +187,10 @@ - PR1807: Support Debian/Ubuntu 7 OpenJDK Install as Boot JDK - PR1365: Replace hgforest support - PR1814: HotSpot URL should be used with --enable-hg + - PR1371: Provide option to build without debugging + - PR1827: Support AM_MAINTAINER_MODE + - PR1830: Drop version requirement for LCMS 2 + - PR1833, RH1022017: Report elliptic curves supported by NSS, not the SunEC library New in release 2.5.0 (2014-XX-XX): diff -r 51d5f1e9310b -r 1e199b277a83 acinclude.m4 --- a/acinclude.m4 Mon Jun 02 20:35:33 2014 +0100 +++ b/acinclude.m4 Wed Jun 11 02:35:36 2014 +0100 @@ -1939,10 +1939,10 @@ AC_MSG_RESULT(${ENABLE_SYSTEM_LCMS}) if test x"${ENABLE_SYSTEM_LCMS}" = "xyes"; then dnl Check for LCMS2 headers and libraries. - PKG_CHECK_MODULES(LCMS2, lcms2 >= 2.5,[LCMS2_FOUND=yes],[LCMS2_FOUND=no]) + PKG_CHECK_MODULES(LCMS2, lcms2,[LCMS2_FOUND=yes],[LCMS2_FOUND=no]) if test "x${LCMS2_FOUND}" = xno then - AC_MSG_ERROR([Could not find LCMS >= 2.5; install it or build with --disable-system-lcms to use the in-tree copy.]) + AC_MSG_ERROR([Could not find LCMS 2; install it or build with --disable-system-lcms to use the in-tree copy.]) fi AC_SUBST(LCMS2_CFLAGS) AC_SUBST(LCMS2_LIBS) @@ -2736,3 +2736,47 @@ fi AC_SUBST(TOOLS_JAR) ]) + +AC_DEFUN_ONCE([IT_ENABLE_NATIVE_DEBUGINFO], +[ + AC_MSG_CHECKING([whether to build native code with debugging information]) + AC_ARG_ENABLE([native-debuginfo], + [AS_HELP_STRING(--enable-native-debuginfo,build with native code debuginfo [[default=yes]])], + [ + case "${enableval}" in + yes) + enable_native_debuginfo=yes + ;; + *) + enable_native_debuginfo=no + ;; + esac + ], + [ + enable_native_debuginfo=yes + ]) + AC_MSG_RESULT([$enable_native_debuginfo]) + AM_CONDITIONAL([ENABLE_NATIVE_DEBUGINFO], test x"${enable_native_debuginfo}" = "xyes") +]) + +AC_DEFUN_ONCE([IT_ENABLE_JAVA_DEBUGINFO], +[ + AC_MSG_CHECKING([whether to build Java bytecode with debugging information]) + AC_ARG_ENABLE([java-debuginfo], + [AS_HELP_STRING(--enable-java-debuginfo,build with Java bytecode debuginfo [[default=yes]])], + [ + case "${enableval}" in + yes) + enable_java_debuginfo=yes + ;; + *) + enable_java_debuginfo=no + ;; + esac + ], + [ + enable_java_debuginfo=yes + ]) + AC_MSG_RESULT([$enable_java_debuginfo]) + AM_CONDITIONAL([ENABLE_JAVA_DEBUGINFO], test x"${enable_java_debuginfo}" = "xyes") +]) diff -r 51d5f1e9310b -r 1e199b277a83 configure.ac --- a/configure.ac Mon Jun 02 20:35:33 2014 +0100 +++ b/configure.ac Wed Jun 11 02:35:36 2014 +0100 @@ -1,5 +1,6 @@ AC_INIT([icedtea], [2.6pre04], [distro-pkg-dev at openjdk.java.net]) AM_INIT_AUTOMAKE([1.9 tar-pax foreign]) +AM_MAINTAINER_MODE([enable]) AC_CONFIG_FILES([Makefile]) # Older automake doesn't generate these correctly @@ -51,6 +52,8 @@ IT_DISABLE_LANGTOOLS_TESTS IT_DISABLE_JDK_TESTS IT_ENABLE_SUNEC +IT_ENABLE_NATIVE_DEBUGINFO +IT_ENABLE_JAVA_DEBUGINFO # Use xvfb-run if found to run gui tests (check-jdk). AC_CHECK_PROG(XVFB_RUN_CMD, xvfb-run, [xvfb-run -a -e xvfb-errors], []) diff -r 51d5f1e9310b -r 1e199b277a83 patches/rh1022017.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/rh1022017.patch Wed Jun 11 02:35:36 2014 +0100 @@ -0,0 +1,44 @@ +diff -r cdfd161703ed src/share/classes/sun/security/ssl/HelloExtensions.java +--- openjdk/jdk/src/share/classes/sun/security/ssl/HelloExtensions.java Wed Oct 23 05:22:55 2013 +0100 ++++ openjdk/jdk/src/share/classes/sun/security/ssl/HelloExtensions.java Thu Nov 07 12:41:45 2013 +0000 +@@ -435,25 +435,11 @@ + // the extension value to send in the ClientHello message + static final SupportedEllipticCurvesExtension DEFAULT; + +- private static final boolean fips; +- + static { +- int[] ids; +- fips = SunJSSE.isFIPS(); +- if (fips == false) { +- ids = new int[] { +- // NIST curves first +- // prefer NIST P-256, rest in order of increasing key length +- 23, 1, 3, 19, 21, 6, 7, 9, 10, 24, 11, 12, 25, 13, 14, +- // non-NIST curves +- 15, 16, 17, 2, 18, 4, 5, 20, 8, 22, +- }; +- } else { +- ids = new int[] { +- // same as above, but allow only NIST curves in FIPS mode +- 23, 1, 3, 19, 21, 6, 7, 9, 10, 24, 11, 12, 25, 13, 14, +- }; +- } ++ int[] ids = new int[] { ++ // NSS currently only supports these three NIST curves ++ 23, 24, 25 ++ }; + DEFAULT = new SupportedEllipticCurvesExtension(ids); + } + +@@ -545,10 +531,6 @@ + if ((index <= 0) || (index >= NAMED_CURVE_OID_TABLE.length)) { + return false; + } +- if (fips == false) { +- // in non-FIPS mode, we support all valid indices +- return true; +- } + return DEFAULT.contains(index); + } + From bugzilla-daemon at icedtea.classpath.org Thu Jun 12 14:30:10 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 12 Jun 2014 14:30:10 +0000 Subject: [Bug 1371] [IcedTea7] Provide option to build without debugging In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1371 --- Comment #1 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea7?cmd=changeset;node=c3068900da7c author: Andrew John Hughes date: Wed Jun 11 02:33:03 2014 +0100 PR1371: Provide option to build without debugging 2014-06-10 Andrew John Hughes PR1371: Provide option to build without debugging * INSTALL: Updated. * Makefile.am: (ICEDTEA_ENV): Only set DEBUG_CLASSFILES and DEBUG_BINARIES when ENABLE_JAVA_DEBUGINFO and ENABLE_NATIVE_DEBUGINFO are set, respectively. * NEWS: Updated. * acinclude.m4: (IT_ENABLE_NATIVE_DEBUGINFO): New macro to add option --enable-native-debuginfo. (IT_ENABLE_JAVA_DEBUGINFO): New macro to add option --enable-java-debuginfo. * configure.ac: Invoke new macros. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Thu Jun 12 14:30:19 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 12 Jun 2014 14:30:19 +0000 Subject: [Bug 1827] [IcedTea7] Support AM_MAINTAINER mode In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1827 --- Comment #1 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea7?cmd=changeset;node=4383b99bbc31 author: Andrew John Hughes date: Wed Jun 11 02:33:43 2014 +0100 PR1827: Support AM_MAINTAINER_MODE 2014-06-10 Andrew John Hughes PR1827: Support AM_MAINTAINER_MODE * NEWS: Updated. * configure.ac: Invoke the AM_MAINTAINER_MODE macro with a default of enabled. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Thu Jun 12 14:30:26 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 12 Jun 2014 14:30:26 +0000 Subject: [Bug 1830] [IcedTea7] Drop version requirement for LCMS 2 In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1830 --- Comment #1 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea7?cmd=changeset;node=4a2fdacd0277 author: Andrew John Hughes date: Wed Jun 11 02:34:28 2014 +0100 PR1830: Drop version requirement for LCMS 2 2014-06-10 Andrew John Hughes PR1830: Drop version requirement for LCMS 2 * INSTALL: Document lcms2 requirement. * NEWS: Updated. * acinclude.m4: (IT_CHECK_FOR_LCMS): Drop 2.5 requirement. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Thu Jun 12 14:30:34 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 12 Jun 2014 14:30:34 +0000 Subject: [Bug 1833] [IcedTea7] Report elliptic curves supported by NSS, not the SunEC library In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1833 --- Comment #1 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea7?cmd=changeset;node=1e199b277a83 author: Andrew John Hughes date: Wed Jun 11 02:35:36 2014 +0100 PR1833, RH1022017: Report elliptic curves supported by NSS, not the SunEC library 2014-06-10 Andrew John Hughes PR1833, RH1022017: Report elliptic curves supported by NSS, not the SunEC library * NEWS: Updated. * Makefile.am: (ICEDTEA_PATCHES): Add new patch when PKCS11+NSS or SunEC+NSS are enabled, so that the NSS set of curves are announced via SSL. * patches/rh1022017.patch: Reduce number of curves announced over SSL to just those supported by NSS. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From andrew at icedtea.classpath.org Thu Jun 12 14:46:09 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Thu, 12 Jun 2014 14:46:09 +0000 Subject: /hg/release/icedtea7-2.5: 4 new changesets Message-ID: changeset 9755b09356f0 in /hg/release/icedtea7-2.5 details: http://icedtea.classpath.org/hg/release/icedtea7-2.5?cmd=changeset;node=9755b09356f0 author: Andrew John Hughes date: Wed Jun 11 01:12:11 2014 +0100 PR1371: Provide option to build without debugging 2014-06-10 Andrew John Hughes PR1371: Provide option to build without debugging * INSTALL: Updated. * Makefile.am: (ICEDTEA_ENV): Only set DEBUG_CLASSFILES and DEBUG_BINARIES when ENABLE_JAVA_DEBUGINFO and ENABLE_NATIVE_DEBUGINFO are set, respectively. * NEWS: Updated. * acinclude.m4: (IT_ENABLE_NATIVE_DEBUGINFO): New macro to add option --enable-native-debuginfo. (IT_ENABLE_JAVA_DEBUGINFO): New macro to add option --enable-java-debuginfo. * configure.ac: Invoke new macros. changeset ddaa2991858e in /hg/release/icedtea7-2.5 details: http://icedtea.classpath.org/hg/release/icedtea7-2.5?cmd=changeset;node=ddaa2991858e author: Andrew John Hughes date: Wed Jun 11 01:21:21 2014 +0100 PR1827: Support AM_MAINTAINER_MODE 2014-06-10 Andrew John Hughes PR1827: Support AM_MAINTAINER_MODE * NEWS: Updated. * configure.ac: Invoke the AM_MAINTAINER_MODE macro with a default of enabled. changeset a4953c31f1b7 in /hg/release/icedtea7-2.5 details: http://icedtea.classpath.org/hg/release/icedtea7-2.5?cmd=changeset;node=a4953c31f1b7 author: Andrew John Hughes date: Wed Jun 11 01:26:45 2014 +0100 PR1830: Drop version requirement for LCMS 2 2014-06-10 Andrew John Hughes PR1830: Drop version requirement for LCMS 2 * INSTALL: Document lcms2 requirement. * NEWS: Updated. * acinclude.m4: (IT_CHECK_FOR_LCMS): Drop 2.5 requirement. changeset 716f160592e2 in /hg/release/icedtea7-2.5 details: http://icedtea.classpath.org/hg/release/icedtea7-2.5?cmd=changeset;node=716f160592e2 author: Andrew John Hughes date: Wed Jun 11 02:29:44 2014 +0100 PR1833, RH1022017: Report elliptic curves supported by NSS, not the SunEC library 2014-06-10 Andrew John Hughes PR1833, RH1022017: Report elliptic curves supported by NSS, not the SunEC library * NEWS: Updated. * Makefile.am: (ICEDTEA_PATCHES): Add new patch when PKCS11+NSS or SunEC+NSS are enabled, so that the NSS set of curves are announced via SSL. * patches/rh1022017.patch: Reduce number of curves announced over SSL to just those supported by NSS. diffstat: ChangeLog | 45 +++++++++++++++++++++++++++++++++++++++++++++ INSTALL | 4 ++++ Makefile.am | 21 ++++++++++++++++++--- NEWS | 4 ++++ acinclude.m4 | 48 ++++++++++++++++++++++++++++++++++++++++++++++-- configure.ac | 3 +++ patches/rh1022017.patch | 44 ++++++++++++++++++++++++++++++++++++++++++++ 7 files changed, 164 insertions(+), 5 deletions(-) diffs (263 lines): diff -r f990f8b724ad -r 716f160592e2 ChangeLog --- a/ChangeLog Thu Jun 05 16:50:44 2014 +0100 +++ b/ChangeLog Wed Jun 11 02:29:44 2014 +0100 @@ -1,3 +1,48 @@ +2014-06-10 Andrew John Hughes + + PR1833, RH1022017: Report elliptic curves + supported by NSS, not the SunEC library + * NEWS: Updated. + * Makefile.am: + (ICEDTEA_PATCHES): Add new patch when + PKCS11+NSS or SunEC+NSS are enabled, so + that the NSS set of curves are announced + via SSL. + * patches/rh1022017.patch: + Reduce number of curves announced over SSL + to just those supported by NSS. + +2014-06-10 Andrew John Hughes + + PR1830: Drop version requirement for LCMS 2 + * INSTALL: Document lcms2 requirement. + * NEWS: Updated. + * acinclude.m4: + (IT_CHECK_FOR_LCMS): Drop 2.5 requirement. + +2014-06-10 Andrew John Hughes + + PR1827: Support AM_MAINTAINER_MODE + * NEWS: Updated. + * configure.ac: Invoke the AM_MAINTAINER_MODE + macro with a default of enabled. + +2014-06-10 Andrew John Hughes + + PR1371: Provide option to build without debugging + * INSTALL: Updated. + * Makefile.am: + (ICEDTEA_ENV): Only set DEBUG_CLASSFILES + and DEBUG_BINARIES when ENABLE_JAVA_DEBUGINFO + and ENABLE_NATIVE_DEBUGINFO are set, respectively. + * NEWS: Updated. + * acinclude.m4: + (IT_ENABLE_NATIVE_DEBUGINFO): New macro to add + option --enable-native-debuginfo. + (IT_ENABLE_JAVA_DEBUGINFO): New macro to add + option --enable-java-debuginfo. + * configure.ac: Invoke new macros. + 2014-06-02 Andrew John Hughes PR1814: HotSpot URL should be used with --enable-hg diff -r f990f8b724ad -r 716f160592e2 INSTALL --- a/INSTALL Thu Jun 05 16:50:44 2014 +0100 +++ b/INSTALL Wed Jun 11 02:29:44 2014 +0100 @@ -27,6 +27,7 @@ libpng-devel (for --enable-system-png) libjpeg-devel >= 6b (for --enable-system-jpeg) zlib-devel (for --enable-system-zlib) +lcms2-devel (for --enable-system-lcms) fontconfig (for --enable-system-fontconfig) libc6-dev & libattr-devel/libattr1-dev (for --enable-compile-against-syscalls) libpcsclite (for --enable-system-pcsc) @@ -204,6 +205,9 @@ query it at runtime to obtain the cache location, rather than using a hardcoded value. * --enable-arm32-jit: Build the ARM32 JIT. +* --enable-sunec: Build the SunEC crypto provider against system NSS. +* --enable-native-debuginfo: Include debuginfo in native binaries. +* --enable-java-debuginfo: Include debuginfo in Java class files. Testing ======= diff -r f990f8b724ad -r 716f160592e2 Makefile.am --- a/Makefile.am Thu Jun 05 16:50:44 2014 +0100 +++ b/Makefile.am Wed Jun 11 02:29:44 2014 +0100 @@ -292,7 +292,14 @@ endif if ENABLE_NSS -ICEDTEA_PATCHES += patches/nss-config.patch +ICEDTEA_PATCHES += patches/nss-config.patch \ + patches/rh1022017.patch +endif + +if ENABLE_SUNEC +if !ENABLE_NSS +ICEDTEA_PATCHES += patches/rh1022017.patch +endif endif if WITH_ALT_HSBUILD @@ -478,8 +485,6 @@ DISTRIBUTION_ID="$(DIST_ID)" \ DERIVATIVE_ID="$(ICEDTEA_NAME) $(PACKAGE_VERSION)$(ICEDTEA_REV)" \ ALT_JIBX_LIBS_PATH="$(JIBX_DEPS_DIR)" \ - DEBUG_CLASSFILES="true" \ - DEBUG_BINARIES="true" \ ALT_OUTPUTDIR="$(BUILD_OUTPUT_DIR)" \ VERBOSE="$(VERBOSE)" \ STATIC_CXX="false" \ @@ -580,6 +585,16 @@ DISABLE_INTREE_EC="true" endif +if ENABLE_NATIVE_DEBUGINFO +ICEDTEA_ENV += \ + DEBUG_BINARIES="true" +endif + +if ENABLE_JAVA_DEBUGINFO +ICEDTEA_ENV += \ + DEBUG_CLASSFILES="true" +endif + # OpenJDK boot build environment. ICEDTEA_ENV_BOOT = $(ICEDTEA_ENV) \ BOOTCLASSPATH_CLS_RT="-bootclasspath $(CLS_DIR_BOOT):$(RUNTIME)" \ diff -r f990f8b724ad -r 716f160592e2 NEWS --- a/NEWS Thu Jun 05 16:50:44 2014 +0100 +++ b/NEWS Wed Jun 11 02:29:44 2014 +0100 @@ -279,6 +279,10 @@ - PR1807: Support Debian/Ubuntu 7 OpenJDK Install as Boot JDK - PR1365: Replace hgforest support - PR1814: HotSpot URL should be used with --enable-hg + - PR1371: Provide option to build without debugging + - PR1827: Support AM_MAINTAINER_MODE + - PR1830: Drop version requirement for LCMS 2 + - PR1833, RH1022017: Report elliptic curves supported by NSS, not the SunEC library * PPC & AIX port - Add AIX-specific build instructions to README-ppc.html - Added AIX as testing platform for more jtreg tests written in shell-script diff -r f990f8b724ad -r 716f160592e2 acinclude.m4 --- a/acinclude.m4 Thu Jun 05 16:50:44 2014 +0100 +++ b/acinclude.m4 Wed Jun 11 02:29:44 2014 +0100 @@ -1945,10 +1945,10 @@ AC_MSG_RESULT(${ENABLE_SYSTEM_LCMS}) if test x"${ENABLE_SYSTEM_LCMS}" = "xyes"; then dnl Check for LCMS2 headers and libraries. - PKG_CHECK_MODULES(LCMS2, lcms2 >= 2.5,[LCMS2_FOUND=yes],[LCMS2_FOUND=no]) + PKG_CHECK_MODULES(LCMS2, lcms2,[LCMS2_FOUND=yes],[LCMS2_FOUND=no]) if test "x${LCMS2_FOUND}" = xno then - AC_MSG_ERROR([Could not find LCMS >= 2.5; install it or build with --disable-system-lcms to use the in-tree copy.]) + AC_MSG_ERROR([Could not find LCMS 2; install it or build with --disable-system-lcms to use the in-tree copy.]) fi AC_SUBST(LCMS2_CFLAGS) AC_SUBST(LCMS2_LIBS) @@ -2742,3 +2742,47 @@ fi AC_SUBST(TOOLS_JAR) ]) + +AC_DEFUN_ONCE([IT_ENABLE_NATIVE_DEBUGINFO], +[ + AC_MSG_CHECKING([whether to build native code with debugging information]) + AC_ARG_ENABLE([native-debuginfo], + [AS_HELP_STRING(--enable-native-debuginfo,build with native code debuginfo [[default=yes]])], + [ + case "${enableval}" in + yes) + enable_native_debuginfo=yes + ;; + *) + enable_native_debuginfo=no + ;; + esac + ], + [ + enable_native_debuginfo=yes + ]) + AC_MSG_RESULT([$enable_native_debuginfo]) + AM_CONDITIONAL([ENABLE_NATIVE_DEBUGINFO], test x"${enable_native_debuginfo}" = "xyes") +]) + +AC_DEFUN_ONCE([IT_ENABLE_JAVA_DEBUGINFO], +[ + AC_MSG_CHECKING([whether to build Java bytecode with debugging information]) + AC_ARG_ENABLE([java-debuginfo], + [AS_HELP_STRING(--enable-java-debuginfo,build with Java bytecode debuginfo [[default=yes]])], + [ + case "${enableval}" in + yes) + enable_java_debuginfo=yes + ;; + *) + enable_java_debuginfo=no + ;; + esac + ], + [ + enable_java_debuginfo=yes + ]) + AC_MSG_RESULT([$enable_java_debuginfo]) + AM_CONDITIONAL([ENABLE_JAVA_DEBUGINFO], test x"${enable_java_debuginfo}" = "xyes") +]) diff -r f990f8b724ad -r 716f160592e2 configure.ac --- a/configure.ac Thu Jun 05 16:50:44 2014 +0100 +++ b/configure.ac Wed Jun 11 02:29:44 2014 +0100 @@ -1,5 +1,6 @@ AC_INIT([icedtea], [2.5pre07], [distro-pkg-dev at openjdk.java.net]) AM_INIT_AUTOMAKE([1.9 tar-pax foreign]) +AM_MAINTAINER_MODE([enable]) AC_CONFIG_FILES([Makefile]) # Older automake doesn't generate these correctly @@ -51,6 +52,8 @@ IT_DISABLE_LANGTOOLS_TESTS IT_DISABLE_JDK_TESTS IT_ENABLE_SUNEC +IT_ENABLE_NATIVE_DEBUGINFO +IT_ENABLE_JAVA_DEBUGINFO # Use xvfb-run if found to run gui tests (check-jdk). AC_CHECK_PROG(XVFB_RUN_CMD, xvfb-run, [xvfb-run -a -e xvfb-errors], []) diff -r f990f8b724ad -r 716f160592e2 patches/rh1022017.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/rh1022017.patch Wed Jun 11 02:29:44 2014 +0100 @@ -0,0 +1,44 @@ +diff -r cdfd161703ed src/share/classes/sun/security/ssl/HelloExtensions.java +--- openjdk/jdk/src/share/classes/sun/security/ssl/HelloExtensions.java Wed Oct 23 05:22:55 2013 +0100 ++++ openjdk/jdk/src/share/classes/sun/security/ssl/HelloExtensions.java Thu Nov 07 12:41:45 2013 +0000 +@@ -435,25 +435,11 @@ + // the extension value to send in the ClientHello message + static final SupportedEllipticCurvesExtension DEFAULT; + +- private static final boolean fips; +- + static { +- int[] ids; +- fips = SunJSSE.isFIPS(); +- if (fips == false) { +- ids = new int[] { +- // NIST curves first +- // prefer NIST P-256, rest in order of increasing key length +- 23, 1, 3, 19, 21, 6, 7, 9, 10, 24, 11, 12, 25, 13, 14, +- // non-NIST curves +- 15, 16, 17, 2, 18, 4, 5, 20, 8, 22, +- }; +- } else { +- ids = new int[] { +- // same as above, but allow only NIST curves in FIPS mode +- 23, 1, 3, 19, 21, 6, 7, 9, 10, 24, 11, 12, 25, 13, 14, +- }; +- } ++ int[] ids = new int[] { ++ // NSS currently only supports these three NIST curves ++ 23, 24, 25 ++ }; + DEFAULT = new SupportedEllipticCurvesExtension(ids); + } + +@@ -545,10 +531,6 @@ + if ((index <= 0) || (index >= NAMED_CURVE_OID_TABLE.length)) { + return false; + } +- if (fips == false) { +- // in non-FIPS mode, we support all valid indices +- return true; +- } + return DEFAULT.contains(index); + } + From bugzilla-daemon at icedtea.classpath.org Thu Jun 12 14:46:19 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 12 Jun 2014 14:46:19 +0000 Subject: [Bug 1371] [IcedTea7] Provide option to build without debugging In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1371 --- Comment #2 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea7-2.5?cmd=changeset;node=9755b09356f0 author: Andrew John Hughes date: Wed Jun 11 01:12:11 2014 +0100 PR1371: Provide option to build without debugging 2014-06-10 Andrew John Hughes PR1371: Provide option to build without debugging * INSTALL: Updated. * Makefile.am: (ICEDTEA_ENV): Only set DEBUG_CLASSFILES and DEBUG_BINARIES when ENABLE_JAVA_DEBUGINFO and ENABLE_NATIVE_DEBUGINFO are set, respectively. * NEWS: Updated. * acinclude.m4: (IT_ENABLE_NATIVE_DEBUGINFO): New macro to add option --enable-native-debuginfo. (IT_ENABLE_JAVA_DEBUGINFO): New macro to add option --enable-java-debuginfo. * configure.ac: Invoke new macros. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Thu Jun 12 14:46:27 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 12 Jun 2014 14:46:27 +0000 Subject: [Bug 1827] [IcedTea7] Support AM_MAINTAINER mode In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1827 --- Comment #2 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea7-2.5?cmd=changeset;node=ddaa2991858e author: Andrew John Hughes date: Wed Jun 11 01:21:21 2014 +0100 PR1827: Support AM_MAINTAINER_MODE 2014-06-10 Andrew John Hughes PR1827: Support AM_MAINTAINER_MODE * NEWS: Updated. * configure.ac: Invoke the AM_MAINTAINER_MODE macro with a default of enabled. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Thu Jun 12 14:46:35 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 12 Jun 2014 14:46:35 +0000 Subject: [Bug 1830] [IcedTea7] Drop version requirement for LCMS 2 In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1830 --- Comment #2 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea7-2.5?cmd=changeset;node=a4953c31f1b7 author: Andrew John Hughes date: Wed Jun 11 01:26:45 2014 +0100 PR1830: Drop version requirement for LCMS 2 2014-06-10 Andrew John Hughes PR1830: Drop version requirement for LCMS 2 * INSTALL: Document lcms2 requirement. * NEWS: Updated. * acinclude.m4: (IT_CHECK_FOR_LCMS): Drop 2.5 requirement. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Thu Jun 12 14:46:46 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 12 Jun 2014 14:46:46 +0000 Subject: [Bug 1833] [IcedTea7] Report elliptic curves supported by NSS, not the SunEC library In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1833 --- Comment #2 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea7-2.5?cmd=changeset;node=716f160592e2 author: Andrew John Hughes date: Wed Jun 11 02:29:44 2014 +0100 PR1833, RH1022017: Report elliptic curves supported by NSS, not the SunEC library 2014-06-10 Andrew John Hughes PR1833, RH1022017: Report elliptic curves supported by NSS, not the SunEC library * NEWS: Updated. * Makefile.am: (ICEDTEA_PATCHES): Add new patch when PKCS11+NSS or SunEC+NSS are enabled, so that the NSS set of curves are announced via SSL. * patches/rh1022017.patch: Reduce number of curves announced over SSL to just those supported by NSS. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From gnu.andrew at redhat.com Thu Jun 12 17:09:29 2014 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Thu, 12 Jun 2014 13:09:29 -0400 (EDT) Subject: Announcing the Birth of IcedTea-Sound In-Reply-To: <585051780.23481930.1402592615249.JavaMail.zimbra@redhat.com> Message-ID: <1590189274.23483923.1402592969742.JavaMail.zimbra@redhat.com> Hi all, I've finally split off the PulseAudio provider from IcedTea into its own project, IcedTea-Sound: http://icedtea.classpath.org/hg/icedtea-sound/ At the moment, this is just home to the PulseAudio provider but other sound-related contributions are welcome. An initial 1.0 release will appear very soon, and will coincide with the 2.5.0 release, the first to not include the provider. This will avoid the duplication of the code in IcedTea 1.x, 2.x, 3.x and the forthcoming 4.x when we fork to support OpenJDK 9. The version in 3.x HEAD is already outdated compared to the other two, so this seemed a suitable time to bite the bullet and finally fix this. You can achieve much the same setup as before by pointing the IcedTea-Sound configure script to the appropriate JDK directories for --libdir and --datadir. However, it is now also possible to install the code completely independently as well, and documentation is now also generated, if enabled. Happy hacking, -- 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 bugzilla-daemon at icedtea.classpath.org Thu Jun 12 17:46:52 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 12 Jun 2014 17:46:52 +0000 Subject: [Bug 1371] [IcedTea7] Provide option to build without debugging In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1371 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: From bugzilla-daemon at icedtea.classpath.org Thu Jun 12 17:46:54 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 12 Jun 2014 17:46:54 +0000 Subject: [Bug 1284] [TRACKER] IcedTea 2.5.0 Release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1284 Bug 1284 depends on bug 1371, which changed state. Bug 1371 Summary: [IcedTea7] Provide option to build without debugging http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1371 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: From bugzilla-daemon at icedtea.classpath.org Thu Jun 12 17:47:39 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 12 Jun 2014 17:47:39 +0000 Subject: [Bug 1827] [IcedTea7] Support AM_MAINTAINER mode In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1827 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: From bugzilla-daemon at icedtea.classpath.org Thu Jun 12 17:47:39 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 12 Jun 2014 17:47:39 +0000 Subject: [Bug 1284] [TRACKER] IcedTea 2.5.0 Release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1284 Bug 1284 depends on bug 1827, which changed state. Bug 1827 Summary: [IcedTea7] Support AM_MAINTAINER mode http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1827 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: From bugzilla-daemon at icedtea.classpath.org Thu Jun 12 17:48:42 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 12 Jun 2014 17:48:42 +0000 Subject: [Bug 1284] [TRACKER] IcedTea 2.5.0 Release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1284 Bug 1284 depends on bug 1830, which changed state. Bug 1830 Summary: [IcedTea7] Drop version requirement for LCMS 2 http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1830 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: From bugzilla-daemon at icedtea.classpath.org Thu Jun 12 17:48:42 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 12 Jun 2014 17:48:42 +0000 Subject: [Bug 1830] [IcedTea7] Drop version requirement for LCMS 2 In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1830 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: From bugzilla-daemon at icedtea.classpath.org Thu Jun 12 17:50:29 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 12 Jun 2014 17:50:29 +0000 Subject: [Bug 1833] [IcedTea7] Report elliptic curves supported by NSS, not the SunEC library In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1833 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: From bugzilla-daemon at icedtea.classpath.org Thu Jun 12 17:50:29 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 12 Jun 2014 17:50:29 +0000 Subject: [Bug 1284] [TRACKER] IcedTea 2.5.0 Release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1284 Bug 1284 depends on bug 1833, which changed state. Bug 1833 Summary: [IcedTea7] Report elliptic curves supported by NSS, not the SunEC library http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1833 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: From omajid at redhat.com Thu Jun 12 18:10:42 2014 From: omajid at redhat.com (Omair Majid) Date: Thu, 12 Jun 2014 14:10:42 -0400 Subject: [rfc][icedtea-web][policyeditor] Reduced usage of weak references In-Reply-To: <5398A686.9060904@redhat.com> References: <538C89E6.5050005@redhat.com> <53985DEA.5030300@redhat.com> <539897DD.7050609@redhat.com> <20140611180411.GC2278@redhat.com> <5398A686.9060904@redhat.com> Message-ID: <20140612181041.GH2069@redhat.com> * Andrew Azores [2014-06-11 14:57]: > Anyway, patch attached has weakThis renamed to parentPolicyEditor. > showCouldNotSaveDialog also uses it for the same reason that > showChangesSavedDialog does, since I noticed that it had also been changed > to use PolicyEditor.this even though this dialog can also appear the same > way after the editor has been disposed. The comment explaining the use of > the weak reference also says it prevents JVM exit, not GC. I think you forgot to update the comment. It still talks about GC: > +++ b/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java > private void showChangesSavedDialog() { > + // This dialog is often displayed when closing the editor, and so PolicyEditor > + // may already be disposed when this dialog appears. Give a weak reference so > + // that this dialog doesn't prevent GC of the editor > private void showCouldNotSaveDialog() { > + // This dialog is often displayed when closing the editor, and so PolicyEditor > + // may already be disposed when this dialog appears. Give a weak reference so > + // that this dialog doesn't prevent GC of the editor Feel free to push. Thanks, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From jkang at redhat.com Thu Jun 12 19:58:31 2014 From: jkang at redhat.com (Jie Kang) Date: Thu, 12 Jun 2014 15:58:31 -0400 (EDT) Subject: [rfc][icedtea-web] Refactor of LiveConnect Tests Version 2 In-Reply-To: <53986549.2040901@redhat.com> References: <1529622958.9604504.1401722424370.JavaMail.zimbra@redhat.com> <2063359446.10672487.1401908346701.JavaMail.zimbra@redhat.com> <53906F49.7090207@redhat.com> <2146209415.11046744.1401978726200.JavaMail.zimbra@redhat.com> <53908195.2030206@redhat.com> <53986549.2040901@redhat.com> Message-ID: <897487584.14208517.1402603111957.JavaMail.zimbra@redhat.com> Hello, > I ran the reproducer suite with this patch applied last night. There are > still some tests which are failing but not marked as KnownToFail. I > haven't checked if these failures are repeatable however. Can you look > into this? > > JavascriptSetTest - AppletJToJSSet_2DArrayElement_Test > JSToJFuncResolTest - AppletJSToJFuncResol_inheritedClassToParent1_Test > JavascriptFuncReturnTest - > AppletJToJSFuncReturn_{number,boolean,JSObject,String,Object}_Test > I've checked the failures and fixed the FuncReturn test cases (typo). The JavascriptSetTest has some weird behaviour where the failure occurs because the applet's init method didn't print out "applet initialized". This failure does not happen very often at all and I will look into it. The JSToJFuncResolTest failure has been marked Known to Fail. I've checked the test and found another bug in the LiveConnect code unrelated to the fixes made in this patch. I have prepared another patch that fixes this bug and will send it after this patch. Thanks for the review! > Thanks, > > -- > Andrew A > > -- Jie Kang -------------- next part -------------- A non-text attachment was scrubbed... Name: liveconnect-testrefactors-4.patch Type: text/x-patch Size: 128986 bytes Desc: not available URL: From aazores at icedtea.classpath.org Thu Jun 12 20:49:08 2014 From: aazores at icedtea.classpath.org (aazores at icedtea.classpath.org) Date: Thu, 12 Jun 2014 20:49:08 +0000 Subject: /hg/icedtea-web: Reduced usage of weak references in PolicyEditor Message-ID: changeset dd5a97f2b37f in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=dd5a97f2b37f author: Andrew Azores date: Thu Jun 12 16:48:55 2014 -0400 Reduced usage of weak references in PolicyEditor 2014-06-12 Andrew Azores Reduced usage of weak references in PolicyEditor * netx/net/sourceforge/jnlp/security/policyeditor/CustomPolicyViewer.java (weakThis): removed in favour of CustomPolicyViewer.this * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java (weakThis): used only in showChangesSavedDialog and showCouldNotSaveDialog, other uses changed to PolicyEditor.this diffstat: ChangeLog | 9 + netx/net/sourceforge/jnlp/security/policyeditor/CustomPolicyViewer.java | 5 +- netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java | 51 ++++++--- 3 files changed, 42 insertions(+), 23 deletions(-) diffs (237 lines): diff -r 48debbfe8672 -r dd5a97f2b37f ChangeLog --- a/ChangeLog Wed Jun 11 15:59:54 2014 -0400 +++ b/ChangeLog Thu Jun 12 16:48:55 2014 -0400 @@ -1,3 +1,12 @@ +2014-06-12 Andrew Azores + + Reduced usage of weak references in PolicyEditor + * netx/net/sourceforge/jnlp/security/policyeditor/CustomPolicyViewer.java + (weakThis): removed in favour of CustomPolicyViewer.this + * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java + (weakThis): used only in showChangesSavedDialog and showCouldNotSaveDialog, + other uses changed to PolicyEditor.this + 2014-06-11 Andrew Azores CustomPolicyViewer refactored - methods extracted for unit testing and no diff -r 48debbfe8672 -r dd5a97f2b37f netx/net/sourceforge/jnlp/security/policyeditor/CustomPolicyViewer.java --- a/netx/net/sourceforge/jnlp/security/policyeditor/CustomPolicyViewer.java Wed Jun 11 15:59:54 2014 -0400 +++ b/netx/net/sourceforge/jnlp/security/policyeditor/CustomPolicyViewer.java Thu Jun 12 16:48:55 2014 -0400 @@ -44,7 +44,6 @@ import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; -import java.lang.ref.WeakReference; import java.util.Collection; import java.util.Objects; import java.util.TreeSet; @@ -75,7 +74,6 @@ private final JButton addButton = new JButton(), removeButton = new JButton(), closeButton = new JButton(); private final JLabel listLabel = new JLabel(); private final ActionListener addButtonAction, removeButtonAction, closeButtonAction; - private final WeakReference weakThis = new WeakReference<>(this); private final PolicyEditor parent; private final String codebase; @@ -101,7 +99,7 @@ @Override public void actionPerformed(final ActionEvent e) { final String prefill = R("PECPType") + " " + R("PECPTarget") + " [" + R("PECPActions") + "]"; - String string = JOptionPane.showInputDialog(weakThis.get(), R("PECPPrompt"), prefill); + String string = JOptionPane.showInputDialog(CustomPolicyViewer.this, R("PECPPrompt"), prefill); if (string == null || string.isEmpty()) { return; } @@ -210,7 +208,6 @@ } private void quit() { - weakThis.clear(); parent.customPolicyViewerClosing(); dispose(); } diff -r 48debbfe8672 -r dd5a97f2b37f netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java --- a/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java Wed Jun 11 15:59:54 2014 -0400 +++ b/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java Thu Jun 12 16:48:55 2014 -0400 @@ -173,7 +173,14 @@ addCodebaseButton = new JButton(), removeCodebaseButton = new JButton(); private final JFileChooser fileChooser; private CustomPolicyViewer cpViewer = null; - private final WeakReference weakThis = new WeakReference<>(this); + + /** + * See showChangesSavedDialog/showCouldNotSaveDialog. This weak reference is needed because + * there is a modal child dialog which can sometimes appear after the editor has been closed + * and disposed. In this case, its parent should be set to 'null', but otherwise the parent + * should be the editor so that the dialog is modal. + */ + private final WeakReference parentPolicyEditor = new WeakReference<>(this); private Map editorPermissionsClipboard = null; private Set customPermissionsClipboard = null; @@ -247,7 +254,7 @@ @Override public void actionPerformed(final ActionEvent event) { if (policyFile.getFile() == null) { - final int choice = fileChooser.showOpenDialog(weakThis.get()); + final int choice = fileChooser.showOpenDialog(PolicyEditor.this); if (choice == JFileChooser.APPROVE_OPTION) { policyFile.setFile(fileChooser.getSelectedFile()); } @@ -284,10 +291,10 @@ @Override public void actionPerformed(final ActionEvent e) { if (changesMade) { - final int save = JOptionPane.showConfirmDialog(weakThis.get(), R("PESaveChanges")); + final int save = JOptionPane.showConfirmDialog(PolicyEditor.this, R("PESaveChanges")); if (save == JOptionPane.YES_OPTION) { if (policyFile.getFile() == null) { - final int choice = fileChooser.showSaveDialog(weakThis.get()); + final int choice = fileChooser.showSaveDialog(PolicyEditor.this); if (choice == JFileChooser.APPROVE_OPTION) { policyFile.setFile(fileChooser.getSelectedFile()); } else if (choice == JFileChooser.CANCEL_OPTION) { @@ -299,7 +306,7 @@ return; } } - final int choice = fileChooser.showOpenDialog(weakThis.get()); + final int choice = fileChooser.showOpenDialog(PolicyEditor.this); if (choice == JFileChooser.APPROVE_OPTION) { policyFile.setFile(fileChooser.getSelectedFile()); openAndParsePolicyFile(); @@ -310,7 +317,7 @@ saveAsButtonAction = new ActionListener() { @Override public void actionPerformed(final ActionEvent e) { - final int choice = fileChooser.showSaveDialog(weakThis.get()); + final int choice = fileChooser.showSaveDialog(PolicyEditor.this); if (choice == JFileChooser.APPROVE_OPTION) { policyFile.setFile(fileChooser.getSelectedFile()); changesMade = true; @@ -328,7 +335,7 @@ } String newCodebase = ""; while (!validateCodebase(newCodebase) || policyFile.getCopyOfPermissions().containsKey(newCodebase)) { - newCodebase = JOptionPane.showInputDialog(weakThis.get(), R("PERenameCodebase"), oldCodebase); + newCodebase = JOptionPane.showInputDialog(PolicyEditor.this, R("PERenameCodebase"), oldCodebase); if (newCodebase == null) { return; } @@ -349,7 +356,7 @@ public void actionPerformed(final ActionEvent e) { String newCodebase = ""; while (!validateCodebase(newCodebase) || policyFile.getCopyOfPermissions().containsKey(newCodebase)) { - newCodebase = JOptionPane.showInputDialog(weakThis.get(), R("PEPasteCodebase"), "http://"); + newCodebase = JOptionPane.showInputDialog(PolicyEditor.this, R("PEPasteCodebase"), "http://"); if (newCodebase == null) { return; } @@ -540,6 +547,7 @@ */ private static void policyEditorWindowQuit(final Window window) { final PolicyEditor editor = ((PolicyEditorWindow) window).getPolicyEditor(); + editor.parentPolicyEditor.clear(); if (editor.changesMade) { final int save = JOptionPane.showConfirmDialog(window, R("PESaveChanges")); if (save == JOptionPane.YES_OPTION) { @@ -556,7 +564,6 @@ return; } } - editor.weakThis.clear(); editor.setClosed(); window.dispose(); } @@ -780,7 +787,7 @@ public void run() { String codebase = ""; while (!validateCodebase(codebase)) { - codebase = JOptionPane.showInputDialog(weakThis.get(), R("PECodebasePrompt"), "http://"); + codebase = JOptionPane.showInputDialog(PolicyEditor.this, R("PECodebasePrompt"), "http://"); if (codebase == null) { return; } @@ -1249,11 +1256,11 @@ } final OpenFileResult ofr = FileUtils.testFilePermissions(policyFile.getFile()); if (ofr == OpenFileResult.FAILURE || ofr == OpenFileResult.NOT_FILE) { - FileUtils.showCouldNotOpenFilepathDialog(weakThis.get(), policyFile.getFile().getPath()); + FileUtils.showCouldNotOpenFilepathDialog(PolicyEditor.this, policyFile.getFile().getPath()); return; } if (ofr == OpenFileResult.CANT_WRITE) { - FileUtils.showReadOnlyDialog(weakThis.get()); + FileUtils.showReadOnlyDialog(PolicyEditor.this); } final Window parentWindow = SwingUtilities.getWindowAncestor(this); @@ -1275,11 +1282,11 @@ policyFile.openAndParsePolicyFile(); } catch (final FileNotFoundException fnfe) { OutputController.getLogger().log(fnfe); - FileUtils.showCouldNotOpenDialog(weakThis.get(), R("PECouldNotOpen")); + FileUtils.showCouldNotOpenDialog(PolicyEditor.this, R("PECouldNotOpen")); } catch (final IOException ioe) { OutputController.getLogger().log(ioe); OutputController.getLogger().log(OutputController.Level.ERROR_ALL, R("RCantOpenFile", policyFile.getFile().getPath())); - FileUtils.showCouldNotOpenDialog(weakThis.get(), R("PECouldNotOpen")); + FileUtils.showCouldNotOpenDialog(PolicyEditor.this, R("PECouldNotOpen")); } return null; } @@ -1362,10 +1369,13 @@ * Show a dialog informing the user that their changes have been saved. */ private void showChangesSavedDialog() { + // This dialog is often displayed when closing the editor, and so PolicyEditor + // may already be disposed when this dialog appears. Give a weak reference so + // that this dialog doesn't prevent GC of the editor SwingUtilities.invokeLater(new Runnable() { @Override public void run() { - JOptionPane.showMessageDialog(weakThis.get(), R("PEChangesSaved")); + JOptionPane.showMessageDialog(parentPolicyEditor.get(), R("PEChangesSaved")); } }); } @@ -1374,10 +1384,13 @@ * Show a dialog informing the user that their changes could not be saved. */ private void showCouldNotSaveDialog() { + // This dialog is often displayed when closing the editor, and so PolicyEditor + // may already be disposed when this dialog appears. Give a weak reference so + // that this dialog doesn't prevent GC of the editor SwingUtilities.invokeLater(new Runnable() { @Override public void run() { - JOptionPane.showMessageDialog(weakThis.get(), R("PECouldNotSave"), R("Error"), JOptionPane.ERROR_MESSAGE); + JOptionPane.showMessageDialog(parentPolicyEditor.get(), R("PECouldNotSave"), R("Error"), JOptionPane.ERROR_MESSAGE); } }); } @@ -1396,7 +1409,7 @@ changed = policyFile.hasChanged(); } catch (FileNotFoundException e) { OutputController.getLogger().log(e); - JOptionPane.showMessageDialog(weakThis.get(), R("PEFileMissing"), R("PEFileModified"), JOptionPane.WARNING_MESSAGE); + JOptionPane.showMessageDialog(PolicyEditor.this, R("PEFileMissing"), R("PEFileModified"), JOptionPane.WARNING_MESSAGE); return JOptionPane.NO_OPTION; } catch (IOException e) { OutputController.getLogger().log(e); @@ -1410,7 +1423,7 @@ OutputController.getLogger().log(e); policyFilePath = policyFile.getFile().getPath(); } - return JOptionPane.showConfirmDialog(weakThis.get(), R("PEFileModifiedDetail", policyFilePath, + return JOptionPane.showConfirmDialog(PolicyEditor.this, R("PEFileModifiedDetail", policyFilePath, R("PEFileModified"), JOptionPane.YES_NO_CANCEL_OPTION)); } else if (!changesMade) { //Return without saving or reloading @@ -1505,4 +1518,4 @@ return map; } -} +} \ No newline at end of file From aazores at icedtea.classpath.org Thu Jun 12 20:52:03 2014 From: aazores at icedtea.classpath.org (aazores at icedtea.classpath.org) Date: Thu, 12 Jun 2014 20:52:03 +0000 Subject: /hg/icedtea-web: Fixed comment in last commit Message-ID: changeset 0d6f97d838b7 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=0d6f97d838b7 author: Andrew Azores date: Thu Jun 12 16:51:32 2014 -0400 Fixed comment in last commit 2014-06-12 Andrew Azores * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java (showChangesSavedDialog, showCouldNotSaveDialog): fixed comment to explain an issue with JVM exiting, rather than GC diffstat: ChangeLog | 6 ++++++ netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diffs (34 lines): diff -r dd5a97f2b37f -r 0d6f97d838b7 ChangeLog --- a/ChangeLog Thu Jun 12 16:48:55 2014 -0400 +++ b/ChangeLog Thu Jun 12 16:51:32 2014 -0400 @@ -1,3 +1,9 @@ +2014-06-12 Andrew Azores + + * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java + (showChangesSavedDialog, showCouldNotSaveDialog): fixed comment to explain + an issue with JVM exiting, rather than GC + 2014-06-12 Andrew Azores Reduced usage of weak references in PolicyEditor diff -r dd5a97f2b37f -r 0d6f97d838b7 netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java --- a/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java Thu Jun 12 16:48:55 2014 -0400 +++ b/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java Thu Jun 12 16:51:32 2014 -0400 @@ -1371,7 +1371,7 @@ private void showChangesSavedDialog() { // This dialog is often displayed when closing the editor, and so PolicyEditor // may already be disposed when this dialog appears. Give a weak reference so - // that this dialog doesn't prevent GC of the editor + // that this dialog doesn't prevent the JVM from exiting SwingUtilities.invokeLater(new Runnable() { @Override public void run() { @@ -1386,7 +1386,7 @@ private void showCouldNotSaveDialog() { // This dialog is often displayed when closing the editor, and so PolicyEditor // may already be disposed when this dialog appears. Give a weak reference so - // that this dialog doesn't prevent GC of the editor + // that this dialog doesn't prevent the JVM from exiting SwingUtilities.invokeLater(new Runnable() { @Override public void run() { From bugzilla-daemon at icedtea.classpath.org Thu Jun 12 23:39:22 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 12 Jun 2014 23:39:22 +0000 Subject: [Bug 1843] New: [IcedTea7] Fail early if there is no native HotSpot JIT & all other options are disabled Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1843 Bug ID: 1843 Summary: [IcedTea7] Fail early if there is no native HotSpot JIT & all other options are disabled Product: IcedTea Version: 7-hg Hardware: all OS: All Status: NEW Severity: enhancement Priority: P5 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: gnu.andrew at redhat.com CC: unassigned at icedtea.classpath.org See http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2014-June/028097.html -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Thu Jun 12 23:39:45 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 12 Jun 2014 23:39:45 +0000 Subject: [Bug 1843] [IcedTea7] Fail early if there is no native HotSpot JIT & all other options are disabled In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1843 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Blocks| |1282 Target Milestone|--- |2.5.0 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Thu Jun 12 23:39:45 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 12 Jun 2014 23:39:45 +0000 Subject: [Bug 1282] [TRACKER] IcedTea 3.0.0 Release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1282 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on| |1843 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Thu Jun 12 23:50:09 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 12 Jun 2014 23:50:09 +0000 Subject: [Bug 1282] [TRACKER] IcedTea 3.0.0 Release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1282 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on|1843 | -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Thu Jun 12 23:50:09 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 12 Jun 2014 23:50:09 +0000 Subject: [Bug 1843] [IcedTea7] Fail early if there is no native HotSpot JIT & all other options are disabled In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1843 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Blocks|1282 |1284 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Thu Jun 12 23:50:09 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 12 Jun 2014 23:50:09 +0000 Subject: [Bug 1284] [TRACKER] IcedTea 2.5.0 Release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1284 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on| |1843 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From andrew at icedtea.classpath.org Fri Jun 13 13:57:49 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Fri, 13 Jun 2014 13:57:49 +0000 Subject: /hg/icedtea7: 3 new changesets Message-ID: changeset 38b2afc62b2d in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=38b2afc62b2d author: Andrew John Hughes date: Thu Jun 12 16:27:24 2014 +0100 PR1741: Break PulseAudio provider out into IcedTea-Sound 2014-06-11 Andrew John Hughes PR1741: Break PulseAudio provider out into IcedTea-Sound * patches/pulse-soundproperties.patch, * pulseaudio/COPYING, * pulseaudio/README, * pulseaudio/src/java/META-INF/services/javax.sound.sampled.spi.MixerProvider, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/ContextEvent.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/ContextListener.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/Debug.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/EventLoop.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/Operation.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioClip.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioLine.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixer.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixerInfo.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixerProvider.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioPlaybackLine.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioPort.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourcePort.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetPort.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioVolumeControl.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/SecurityWrapper.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/Stream.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/StreamBufferAttributes.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/StreamSampleSpecification.java, * pulseaudio/src/native/jni-common.c, * pulseaudio/src/native/jni-common.h, * pulseaudio/src/native/org_classpath_icedtea_pulseaudio_ContextEvent.c, * pulseaudio/src/native/org_classpath_icedtea_pulseaudio_EventLoop.c, * pulseaudio/src/native/org_classpath_icedtea_pulseaudio_Operation.c, * pulseaudio/src/native/org_classpath_icedtea_pulseaudio_PulseAudioSourcePort.c, * pulseaudio/src/native/org_classpath_icedtea_pulseaudio_PulseAudioTargetPort.c, * pulseaudio/src/native/org_classpath_icedtea_pulseaudio_Stream.c, * pulseaudio/testsounds/README, * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/OtherSoundProvidersAvailableTest.java, * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioClipTest.java, * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioEventLoopOverhead.java, * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioMixerProviderTest.java, * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioMixerRawTest.java, * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioMixerTest.java, * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLineRawTest.java, * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLineTest.java, * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioSourcePortTest.java, * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLineTest.java, * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioTargetPortTest.java: Moved to IcedTea-Sound. * INSTALL: Remove PulseAudio references. * Makefile.am: (PULSE_JAVA_DIR): Removed. (PULSE_JAVA_NATIVE_SRCDIR): Likewise. (PULSE_JAVA_NATIVE_SRCS): Likewise. (PULSE_JAVA_BUILDDIR): Likewise. (PULSE_JAVA_NATIVE_BUILDDIR): Likewise. (PULSE_JAVA_NATIVE_OBJECTS): Likewise. (PULSE_JAVA_JAVA_SRCDIR): Likewise. (PULSE_JAVA_CLASS_DIR): Likewise. (PULSE_JAVA_TARGET): Removed. (ICEDTEA_PATCHES): Drop PulseAudio patch. (PULSEAUDIO_SRCS): Removed. (EXTRA_DIST): Removed PULSEAUDIO_SRCS. (clean-local): Remove clean-add-pulseaudio and clean-add-pulseaudio-debug. (.PHONY): Likewise and clean-add-pulseaudio-boot. (add-pulseaudio): Removed. (clean-add-pulseaudio): Likewise. (add-pulseaudio-debug): Likewise. (clean-add-pulseaudio-debug): Likewise. (icedtea-stage2): Remove add-pulseaudio dependency. (icedtea-debug-stage2): Remove add-pulseaudio-debug dependency. (add-pulseaudio-boot): Removed. (clean-add-pulseaudio-boot): Likewise. (icedtea-stage1): Remove add-pulseaudio-boot debug. (clean-icedtea-stage1): Remove clean-add-pulseaudio-boot dependency. (pulse-java): Removed. (pulse-java-class): Likewise. (pulse-java-jar): Likewise. (pulse-java-headers): Likewise. ($(PULSE_JAVA_NATIVE_BUILDDIR)/%.o): Likewise. ($(PULSE_JAVA_NATIVE_BUILDDIR)/libpulse-java.so): Likewise. (clean-pulse-java): Likewise. * NEWS: Updated. * configure.ac: Remove --enable-pulse-java option and PulseAudio library checks. changeset be6a6d7150e5 in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=be6a6d7150e5 author: Andrew John Hughes date: Wed Apr 02 20:10:19 2014 +0100 PR1713: Support AArch64 port 2014-03-27 Andrew John Hughes * acinclude.m4: (IT_ENABLE_ZERO_BUILD): Default to off on aarch64/arm64. (IT_WITH_HOTSPOT_BUILD): Default to aarch64 port on aarch64. changeset 87847ca9d356 in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=87847ca9d356 author: Andrew John Hughes date: Fri Jun 13 02:02:33 2014 +0100 PR1843: Fail early if there is no native HotSpot JIT & all other options are disabled 2014-06-12 Andrew John Hughes PR1843: Fail early if there is no native HotSpot JIT & all other options are disabled * acinclude.m4: (IT_ENABLE_ZERO_BUILD): Depend on IT_HAS_NATIVE_HOTSPOT_PORT. Split out arch-dependent code into that macro. Make ENABLE_CACAO test more readable. (IT_ENABLE_CACAO): Handle enableval same as other macros so possible values are only ever yes or no. (IT_ENABLE_JAMVM): Likewise. (IT_HAS_NATIVE_HOTSPOT_PORT): Architecture detection split out from IT_ENABLE_ZERO_BUILD. Now sets has_native_hotspot_port for later reference. * configure.ac: Error out if there is no native HotSpot port and Zero (which implies Shark & ARM32 JIT), CACAO and JamVM are all disabled. diffstat: ChangeLog | 117 + INSTALL | 9 - Makefile.am | 199 +- NEWS | 2 + acinclude.m4 | 67 +- configure.ac | 31 +- patches/pulse-soundproperties.patch | 16 - pulseaudio/COPYING | 340 -- pulseaudio/README | 28 - pulseaudio/src/java/META-INF/services/javax.sound.sampled.spi.MixerProvider | 3 - pulseaudio/src/java/org/classpath/icedtea/pulseaudio/ContextEvent.java | 104 - pulseaudio/src/java/org/classpath/icedtea/pulseaudio/ContextListener.java | 50 - pulseaudio/src/java/org/classpath/icedtea/pulseaudio/Debug.java | 114 - pulseaudio/src/java/org/classpath/icedtea/pulseaudio/EventLoop.java | 246 - pulseaudio/src/java/org/classpath/icedtea/pulseaudio/Operation.java | 166 - pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioClip.java | 574 ---- pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java | 498 --- pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioLine.java | 124 - pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixer.java | 792 ----- pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixerInfo.java | 62 - pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixerProvider.java | 63 - pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioPlaybackLine.java | 87 - pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioPort.java | 161 - pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java | 347 -- pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourcePort.java | 95 - pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.java | 421 -- pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetPort.java | 88 - pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioVolumeControl.java | 101 - pulseaudio/src/java/org/classpath/icedtea/pulseaudio/SecurityWrapper.java | 31 - pulseaudio/src/java/org/classpath/icedtea/pulseaudio/Stream.java | 869 ------ pulseaudio/src/java/org/classpath/icedtea/pulseaudio/StreamBufferAttributes.java | 84 - pulseaudio/src/java/org/classpath/icedtea/pulseaudio/StreamSampleSpecification.java | 70 - pulseaudio/src/native/jni-common.c | 236 - pulseaudio/src/native/jni-common.h | 100 - pulseaudio/src/native/org_classpath_icedtea_pulseaudio_ContextEvent.c | 63 - pulseaudio/src/native/org_classpath_icedtea_pulseaudio_EventLoop.c | 297 -- pulseaudio/src/native/org_classpath_icedtea_pulseaudio_Operation.c | 100 - pulseaudio/src/native/org_classpath_icedtea_pulseaudio_PulseAudioSourcePort.c | 102 - pulseaudio/src/native/org_classpath_icedtea_pulseaudio_PulseAudioTargetPort.c | 107 - pulseaudio/src/native/org_classpath_icedtea_pulseaudio_Stream.c | 1103 ------- pulseaudio/testsounds/README | 4 - pulseaudio/testsounds/error.wav | Bin pulseaudio/testsounds/logout.wav | Bin pulseaudio/testsounds/startup.wav | Bin pulseaudio/unittests/org/classpath/icedtea/pulseaudio/OtherSoundProvidersAvailableTest.java | 114 - pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioClipTest.java | 637 ---- pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioEventLoopOverhead.java | 100 - pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioMixerProviderTest.java | 118 - pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioMixerRawTest.java | 120 - pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioMixerTest.java | 434 --- pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLineRawTest.java | 299 -- pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLineTest.java | 1406 ---------- pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioSourcePortTest.java | 117 - pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLineTest.java | 648 ---- pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioTargetPortTest.java | 117 - 55 files changed, 188 insertions(+), 11993 deletions(-) diffs (truncated from 12603 to 500 lines): diff -r 1e199b277a83 -r 87847ca9d356 ChangeLog --- a/ChangeLog Wed Jun 11 02:35:36 2014 +0100 +++ b/ChangeLog Fri Jun 13 02:02:33 2014 +0100 @@ -1,3 +1,120 @@ +2014-06-12 Andrew John Hughes + + PR1843: Fail early if there is no native HotSpot JIT + & all other options are disabled + * acinclude.m4: + (IT_ENABLE_ZERO_BUILD): Depend on + IT_HAS_NATIVE_HOTSPOT_PORT. Split out arch-dependent + code into that macro. Make ENABLE_CACAO test more + readable. + (IT_ENABLE_CACAO): Handle enableval same as other macros + so possible values are only ever yes or no. + (IT_ENABLE_JAMVM): Likewise. + (IT_HAS_NATIVE_HOTSPOT_PORT): Architecture detection + split out from IT_ENABLE_ZERO_BUILD. Now sets + has_native_hotspot_port for later reference. + * configure.ac: + Error out if there is no native HotSpot port and + Zero (which implies Shark & ARM32 JIT), CACAO and + JamVM are all disabled. + +2014-03-27 Andrew John Hughes + + * acinclude.m4: + (IT_ENABLE_ZERO_BUILD): Default to off on aarch64/arm64. + (IT_WITH_HOTSPOT_BUILD): Default to aarch64 port on aarch64. + +2014-06-11 Andrew John Hughes + + PR1741: Break PulseAudio provider out into IcedTea-Sound + * patches/pulse-soundproperties.patch, + * pulseaudio/COPYING, + * pulseaudio/README, + * pulseaudio/src/java/META-INF/services/javax.sound.sampled.spi.MixerProvider, + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/ContextEvent.java, + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/ContextListener.java, + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/Debug.java, + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/EventLoop.java, + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/Operation.java, + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioClip.java, + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java, + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioLine.java, + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixer.java, + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixerInfo.java, + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixerProvider.java, + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioPlaybackLine.java, + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioPort.java, + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java, + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourcePort.java, + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.java, + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetPort.java, + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioVolumeControl.java, + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/SecurityWrapper.java, + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/Stream.java, + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/StreamBufferAttributes.java, + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/StreamSampleSpecification.java, + * pulseaudio/src/native/jni-common.c, + * pulseaudio/src/native/jni-common.h, + * pulseaudio/src/native/org_classpath_icedtea_pulseaudio_ContextEvent.c, + * pulseaudio/src/native/org_classpath_icedtea_pulseaudio_EventLoop.c, + * pulseaudio/src/native/org_classpath_icedtea_pulseaudio_Operation.c, + * pulseaudio/src/native/org_classpath_icedtea_pulseaudio_PulseAudioSourcePort.c, + * pulseaudio/src/native/org_classpath_icedtea_pulseaudio_PulseAudioTargetPort.c, + * pulseaudio/src/native/org_classpath_icedtea_pulseaudio_Stream.c, + * pulseaudio/testsounds/README, + * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/OtherSoundProvidersAvailableTest.java, + * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioClipTest.java, + * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioEventLoopOverhead.java, + * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioMixerProviderTest.java, + * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioMixerRawTest.java, + * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioMixerTest.java, + * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLineRawTest.java, + * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLineTest.java, + * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioSourcePortTest.java, + * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLineTest.java, + * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioTargetPortTest.java: + Moved to IcedTea-Sound. + * INSTALL: Remove PulseAudio references. + * Makefile.am: + (PULSE_JAVA_DIR): Removed. + (PULSE_JAVA_NATIVE_SRCDIR): Likewise. + (PULSE_JAVA_NATIVE_SRCS): Likewise. + (PULSE_JAVA_BUILDDIR): Likewise. + (PULSE_JAVA_NATIVE_BUILDDIR): Likewise. + (PULSE_JAVA_NATIVE_OBJECTS): Likewise. + (PULSE_JAVA_JAVA_SRCDIR): Likewise. + (PULSE_JAVA_CLASS_DIR): Likewise. + (PULSE_JAVA_TARGET): Removed. + (ICEDTEA_PATCHES): Drop PulseAudio patch. + (PULSEAUDIO_SRCS): Removed. + (EXTRA_DIST): Removed PULSEAUDIO_SRCS. + (clean-local): Remove clean-add-pulseaudio + and clean-add-pulseaudio-debug. + (.PHONY): Likewise and clean-add-pulseaudio-boot. + (add-pulseaudio): Removed. + (clean-add-pulseaudio): Likewise. + (add-pulseaudio-debug): Likewise. + (clean-add-pulseaudio-debug): Likewise. + (icedtea-stage2): Remove add-pulseaudio dependency. + (icedtea-debug-stage2): Remove add-pulseaudio-debug + dependency. + (add-pulseaudio-boot): Removed. + (clean-add-pulseaudio-boot): Likewise. + (icedtea-stage1): Remove add-pulseaudio-boot debug. + (clean-icedtea-stage1): Remove clean-add-pulseaudio-boot + dependency. + (pulse-java): Removed. + (pulse-java-class): Likewise. + (pulse-java-jar): Likewise. + (pulse-java-headers): Likewise. + ($(PULSE_JAVA_NATIVE_BUILDDIR)/%.o): Likewise. + ($(PULSE_JAVA_NATIVE_BUILDDIR)/libpulse-java.so): Likewise. + (clean-pulse-java): Likewise. + * NEWS: Updated. + * configure.ac: + Remove --enable-pulse-java option and PulseAudio library + checks. + 2014-06-10 Andrew John Hughes PR1833, RH1022017: Report elliptic curves diff -r 1e199b277a83 -r 87847ca9d356 INSTALL --- a/INSTALL Wed Jun 11 02:35:36 2014 +0100 +++ b/INSTALL Fri Jun 13 02:02:33 2014 +0100 @@ -33,7 +33,6 @@ libpcsclite (for --enable-system-pcsc) rhino (can be disabled using --without-rhino) libffi (for --enable-zero or on archs other than x86/x86_64/sparc/ppc64) -pulseaudio-libs-devel >= 0.9.11 (for --enable-pulse-java) LLVM 2.5 or later (for --enable-shark) systemtap-sdl-devel >= 0.9.5 (Java method tracing requires systemtap >= 0.9.9) @@ -190,7 +189,6 @@ * --disable-hotspot-tests: Disable the running of the HotSpot JTReg suite. * --disable-langtools-tests: Disable the running of the langtools JTReg suite. * --disable-jdk-tests: Disable the running of the jdk JTreg suite. -* --enable-pulse-java: Build the PulseAudio sound provider. * --disable-xrender: Don't include the XRender pipeline. * --enable-systemtap: Include support for tracing using systemtap. * --enable-nss: Enable the NSS security provider. @@ -223,13 +221,6 @@ as a way of avoiding running the extensive JDK test suite which takes several hours. -The PulseAudio provider -======================= - -IcedTea7 includes an implementation of the javax.sound.* APIs using -PulseAudio which can be enabled using --enable-pulse-java. The resulting -provider is org.classpath.icedtea.pulseaudio.PulseAudioMixerProvider. - XRender Support =============== diff -r 1e199b277a83 -r 87847ca9d356 Makefile.am --- a/Makefile.am Wed Jun 11 02:35:36 2014 +0100 +++ b/Makefile.am Fri Jun 13 02:02:33 2014 +0100 @@ -72,16 +72,6 @@ CORBA = openjdk-boot/corba/src/share/classes JAXWS = openjdk-boot/jaxws/src/share/jaxws_classes:openjdk-boot/jaxws/src/share/jaf_classes -PULSE_JAVA_DIR = $(abs_top_srcdir)/pulseaudio -PULSE_JAVA_NATIVE_SRCDIR = $(PULSE_JAVA_DIR)/src/native -PULSE_JAVA_NATIVE_SRCS = $(wildcard $(PULSE_JAVA_NATIVE_SRCDIR)/*.c) -PULSE_JAVA_BUILDDIR = $(abs_top_builddir)/pulseaudio.build -PULSE_JAVA_NATIVE_BUILDDIR = $(PULSE_JAVA_BUILDDIR)/native -PULSE_JAVA_NATIVE_OBJECTS = \ - $(subst $(PULSE_JAVA_NATIVE_SRCDIR),$(PULSE_JAVA_NATIVE_BUILDDIR),$(patsubst %.c,%.o,$(PULSE_JAVA_NATIVE_SRCS))) -PULSE_JAVA_JAVA_SRCDIR = $(PULSE_JAVA_DIR)/src/java -PULSE_JAVA_CLASS_DIR = $(PULSE_JAVA_BUILDDIR)/classes - OPENJDK_SOURCEPATH_DIRS = \ $(SHARE):$(SOLARIS):$(LANGTOOLS):$(CORBA):$(JAXWS) @@ -170,10 +160,6 @@ REV_ARG = -r $(HGREV) endif -if ENABLE_PULSE_JAVA -PULSE_JAVA_TARGET = stamps/pulse-java.stamp -endif - # This should not depend on bootstrapping # but on whether MEMORY_LIMIT is accepted # as an argument to javac @@ -281,11 +267,6 @@ patches/cacao/ignore-tests.patch endif -if ENABLE_PULSE_JAVA -ICEDTEA_PATCHES += \ - patches/pulse-soundproperties.patch -endif - if ENABLE_SYSTEMTAP #ICEDTEA_PATCHES += \ # patches/hotspot/$(HSBUILD)/systemtap_gc.patch @@ -751,19 +732,6 @@ $(top_srcdir)/test/jtreg/JavaTest.cmdMgrs.lst \ $(top_srcdir)/test/jtreg/excludelist.langtools.jtx -PULSEAUDIO_SRCS = $(top_srcdir)/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/*.java \ - $(top_srcdir)/pulseaudio/src/java/META-INF/services/javax.sound.sampled.spi.MixerProvider \ - $(top_srcdir)/pulseaudio/src/native/*.h \ - $(top_srcdir)/pulseaudio/src/native/*.c \ - $(top_srcdir)/pulseaudio/TODO \ - $(top_srcdir)/pulseaudio/README \ - $(top_srcdir)/pulseaudio/testsounds/README \ - $(top_srcdir)/pulseaudio/testsounds/startup.wav \ - $(top_srcdir)/pulseaudio/testsounds/logout.wav \ - $(top_srcdir)/pulseaudio/testsounds/error.wav \ - $(top_srcdir)/pulseaudio/unittests/org/classpath/icedtea/pulseaudio/*.java \ - $(top_srcdir)/pulseaudio/COPYING - EXTRA_DIST = $(GENERATED_FILES) $(top_srcdir)/patches/*.patch \ $(top_srcdir)/patches/boot/*.patch \ $(top_srcdir)/patches/cacao/*.patch \ @@ -771,8 +739,7 @@ tools-copy contrib overlays \ javaws.png javaws.desktop \ jconsole.desktop policytool.desktop \ - $(JTREG_SRCS) \ - HACKING $(PULSEAUDIO_SRCS) fsg.sh \ + $(JTREG_SRCS) HACKING fsg.sh \ hotspot.map autogen.sh \ tapset/hotspot.stp.in \ tapset/hotspot_jni.stp.in \ @@ -799,15 +766,15 @@ fi \ fi -clean-local: clean-tests clean-pulse-java \ +clean-local: clean-tests \ clean-icedtea clean-icedtea-boot clean-clone clean-clone-boot \ clean-bootstrap-directory-stage1 clean-bootstrap-directory-stage2 \ clean-bootstrap-directory-symlink-stage1 clean-bootstrap-directory-symlink-stage2 \ clean-extract clean-generated clean-native-ecj clean-icedtea-stage2 \ clean-icedtea-debug-stage2 clean-icedtea-stage1 clean-add-zero clean-add-zero-debug \ clean-add-cacao clean-add-cacao-debug clean-rt clean-rewrite-rhino clean-rewriter \ - 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-cryptocheck + clean-add-systemtap clean-add-systemtap-debug clean-add-nss clean-add-tzdata-support \ + clean-add-tzdata-support-debug clean-cryptocheck if [ -e bootstrap ]; then \ rmdir bootstrap ; \ fi @@ -838,9 +805,9 @@ clean-jamvm clean-extract-jamvm clean-add-jamvm clean-add-jamvm-debug \ clean-extract-hotspot clean-sanitise-openjdk \ clean-tests clean-tapset-report clean-add-systemtap \ - clean-add-systemtap-debug clean-add-pulseaudio clean-add-pulseaudio-debug \ + clean-add-systemtap-debug clean-add-systemtap-boot \ 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-tzdata-support-boot \ clean-check-crypto clean-check-crypto-debug clean-check-crypto-boot \ clean-add-archive clean-add-archive-debug clean-add-archive-boot clean-cryptocheck \ clean-download-hotspot @@ -1761,29 +1728,6 @@ rm -rf $(BUILD_OUTPUT_DIR)/j2sdk-image/tapset rm -f stamps/add-systemtap.stamp -stamps/add-pulseaudio.stamp: stamps/icedtea.stamp $(PULSE_JAVA_TARGET) -if ENABLE_PULSE_JAVA - cp -pPRf $(PULSE_JAVA_NATIVE_BUILDDIR)/libpulse-java.so \ - $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/$(INSTALL_ARCH_DIR) - cp -pPRf $(PULSE_JAVA_NATIVE_BUILDDIR)/libpulse-java.so \ - $(BUILD_OUTPUT_DIR)/j2re-image/lib/$(INSTALL_ARCH_DIR) - cp -pPRf pulse-java.jar \ - $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/ext - cp -pPRf pulse-java.jar \ - $(BUILD_OUTPUT_DIR)/j2re-image/lib/ext - (cd $(PULSE_JAVA_JAVA_SRCDIR) && \ - $(ZIP) -qur $(BUILD_OUTPUT_DIR)/j2sdk-image/src.zip org ) -endif - touch stamps/add-pulseaudio.stamp - -# Note: for simplicity, we don't revert the update of src.zip -clean-add-pulseaudio: - rm -f $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/$(INSTALL_ARCH_DIR)/libpulse-java.so - rm -f $(BUILD_OUTPUT_DIR)/j2re-image/lib/$(INSTALL_ARCH_DIR)/libpulse-java.so - rm -f $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/ext/pulse-java.jar - rm -f $(BUILD_OUTPUT_DIR)/j2re-image/lib/ext/pulse-java.jar - rm -f stamps/add-pulseaudio.stamp - stamps/add-nss.stamp: stamps/extract-openjdk.stamp cp -v $(abs_top_builddir)/nss.cfg openjdk/jdk/src/share/lib/security; touch stamps/add-nss.stamp @@ -1899,29 +1843,6 @@ rm -rf $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/tapset rm -f stamps/add-systemtap-debug.stamp -stamps/add-pulseaudio-debug.stamp: stamps/icedtea-debug.stamp $(PULSE_JAVA_TARGET) -if ENABLE_PULSE_JAVA - cp -pPRf $(PULSE_JAVA_NATIVE_BUILDDIR)/libpulse-java.so \ - $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/$(INSTALL_ARCH_DIR) - cp -pPRf $(PULSE_JAVA_NATIVE_BUILDDIR)/libpulse-java.so \ - $(DEBUG_BUILD_OUTPUT_DIR)/j2re-image/lib/$(INSTALL_ARCH_DIR) - cp -pPRf pulse-java.jar \ - $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/ext - cp -pPRf pulse-java.jar \ - $(DEBUG_BUILD_OUTPUT_DIR)/j2re-image/lib/ext - (cd $(PULSE_JAVA_JAVA_SRCDIR) && \ - $(ZIP) -qur $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/src.zip org ) -endif - touch stamps/add-pulseaudio-debug.stamp - -# Note: for simplicity, we don't revert the update of src.zip -clean-add-pulseaudio-debug: - rm -f $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/$(INSTALL_ARCH_DIR)/libpulse-java.so - rm -f $(DEBUG_BUILD_OUTPUT_DIR)/j2re-image/lib/$(INSTALL_ARCH_DIR)/libpulse-java.so - rm -f $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/ext/pulse-java.jar - rm -f $(DEBUG_BUILD_OUTPUT_DIR)/j2re-image/lib/ext/pulse-java.jar - rm -f stamps/add-pulseaudio-debug.stamp - stamps/add-tzdata-support-debug.stamp: stamps/icedtea-debug.stamp if WITH_TZDATA_DIR if [ -e $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib ] ; then \ @@ -1967,8 +1888,7 @@ 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-archive.stamp + stamps/add-tzdata-support.stamp stamps/check-crypto.stamp stamps/add-archive.stamp mkdir -p stamps touch $@ @@ -1977,9 +1897,8 @@ 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-archive-debug.stamp + stamps/add-systemtap-debug.stamp stamps/add/tzdata-support-debug.stamp \ + stamps/check-crypto-debug.stamp stamps/add-archive-debug.stamp mkdir -p stamps touch $@ @@ -2038,29 +1957,6 @@ rm -rf $(BOOT_BUILD_OUTPUT_DIR)/j2sdk-image/tapset rm -f stamps/add-systemtap-boot.stamp -stamps/add-pulseaudio-boot.stamp: stamps/icedtea-boot.stamp $(PULSE_JAVA_TARGET) -if ENABLE_PULSE_JAVA - cp -pPRf $(PULSE_JAVA_NATIVE_BUILDDIR)/libpulse-java.so \ - $(BOOT_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/$(INSTALL_ARCH_DIR) - cp -pPRf $(PULSE_JAVA_NATIVE_BUILDDIR)/libpulse-java.so \ - $(BOOT_BUILD_OUTPUT_DIR)/j2re-image/lib/$(INSTALL_ARCH_DIR) - cp -pPRf pulse-java.jar \ - $(BOOT_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/ext - cp -pPRf pulse-java.jar \ - $(BOOT_BUILD_OUTPUT_DIR)/j2re-image/lib/ext - (cd $(PULSE_JAVA_JAVA_SRCDIR) && \ - $(ZIP) -qur $(BOOT_BUILD_OUTPUT_DIR)/j2sdk-image/src.zip org ) -endif - touch stamps/add-pulseaudio-boot.stamp - -# Note: for simplicity, we don't revert the update of src.zip -clean-add-pulseaudio-boot: - rm -f $(BOOT_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/$(INSTALL_ARCH_DIR)/libpulse-java.so - rm -f $(BOOT_BUILD_OUTPUT_DIR)/j2re-image/lib/$(INSTALL_ARCH_DIR)/libpulse-java.so - rm -f $(BOOT_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/ext/pulse-java.jar - rm -f $(BOOT_BUILD_OUTPUT_DIR)/j2re-image/lib/ext/pulse-java.jar - rm -f stamps/add-pulseaudio-boot.stamp - stamps/add-tzdata-support-boot.stamp: stamps/icedtea-boot.stamp if WITH_TZDATA_DIR if [ -e $(BOOT_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib ] ; then \ @@ -2105,14 +2001,13 @@ 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-archive-boot.stamp + stamps/add-systemtap-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-archive-boot +clean-icedtea-stage1: clean-add-systemtap-boot clean-add-tzdata-support-boot \ + clean-check-crypto-boot clean-add-archive-boot rm -f stamps/icedtea-stage1.stamp # Rebuild targets @@ -2151,68 +2046,6 @@ @echo "HotSpot is served:" $(BUILD_OUTPUT_DIR)/j2sdk-image endif -# PulseAudio based mixer -# (pulse-java) -if ENABLE_PULSE_JAVA - -stamps/pulse-java.stamp: stamps/pulse-java-jar.stamp $(PULSE_JAVA_NATIVE_BUILDDIR)/libpulse-java.so - mkdir -p stamps - touch $@ - -stamps/pulse-java-class.stamp: $(INITIAL_BOOTSTRAP_LINK_STAMP) - mkdir -p $(PULSE_JAVA_CLASS_DIR) - (cd $(PULSE_JAVA_JAVA_SRCDIR); \ - $(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) -d $(PULSE_JAVA_CLASS_DIR) \ - -bootclasspath $(RUNTIME) org/classpath/icedtea/pulseaudio/*.java \ - ) - cp -r $(PULSE_JAVA_JAVA_SRCDIR)/META-INF $(PULSE_JAVA_CLASS_DIR) - chmod -R ug+w $(PULSE_JAVA_CLASS_DIR)/META-INF - mkdir -p stamps - touch $@ - -stamps/pulse-java-jar.stamp: stamps/pulse-java-class.stamp - $(BOOT_DIR)/bin/jar cf pulse-java.jar -C $(PULSE_JAVA_CLASS_DIR) .; - mkdir -p stamps - touch $@ - -stamps/pulse-java-headers.stamp: stamps/pulse-java-class.stamp - mkdir -p $(PULSE_JAVA_NATIVE_BUILDDIR) - $(BOOT_DIR)/bin/javah -d $(PULSE_JAVA_NATIVE_BUILDDIR) -classpath $(PULSE_JAVA_CLASS_DIR) \ - -J-Xbootclasspath/p:$(PULSE_JAVA_CLASS_DIR) org.classpath.icedtea.pulseaudio.EventLoop ; \ - $(BOOT_DIR)/bin/javah -d $(PULSE_JAVA_NATIVE_BUILDDIR) -classpath $(PULSE_JAVA_CLASS_DIR) \ - -J-Xbootclasspath/p:$(PULSE_JAVA_CLASS_DIR) org.classpath.icedtea.pulseaudio.Stream ; \ - $(BOOT_DIR)/bin/javah -d $(PULSE_JAVA_NATIVE_BUILDDIR) -classpath $(PULSE_JAVA_CLASS_DIR) \ - -J-Xbootclasspath/p:$(PULSE_JAVA_CLASS_DIR) org.classpath.icedtea.pulseaudio.Operation; \ - $(BOOT_DIR)/bin/javah -d $(PULSE_JAVA_NATIVE_BUILDDIR) -classpath $(PULSE_JAVA_CLASS_DIR) \ - -J-Xbootclasspath/p:$(PULSE_JAVA_CLASS_DIR) org.classpath.icedtea.pulseaudio.PulseAudioSourcePort ; \ - $(BOOT_DIR)/bin/javah -d $(PULSE_JAVA_NATIVE_BUILDDIR) -classpath $(PULSE_JAVA_CLASS_DIR) \ - -J-Xbootclasspath/p:$(PULSE_JAVA_CLASS_DIR) org.classpath.icedtea.pulseaudio.PulseAudioTargetPort ; \ - $(BOOT_DIR)/bin/javah -d $(PULSE_JAVA_NATIVE_BUILDDIR) -classpath $(PULSE_JAVA_CLASS_DIR) \ - -J-Xbootclasspath/p:$(PULSE_JAVA_CLASS_DIR) org.classpath.icedtea.pulseaudio.ContextEvent - mkdir -p stamps - touch $@ - -$(PULSE_JAVA_NATIVE_BUILDDIR)/%.o: $(PULSE_JAVA_NATIVE_SRCDIR)/%.c stamps/pulse-java-headers.stamp - $(CC) $(IT_CFLAGS) -fPIC -I$(BOOT_DIR)/include/linux -I$(BOOT_DIR)/include \ - -I$(PULSE_JAVA_NATIVE_BUILDDIR) -o $@ -c $< - -$(PULSE_JAVA_NATIVE_BUILDDIR)/libpulse-java.so: $(PULSE_JAVA_NATIVE_OBJECTS) - $(CC) $(LDFLAGS) -shared $(PULSE_JAVA_NATIVE_OBJECTS) $(LIBPULSE_LIBS) \ - -o $(PULSE_JAVA_NATIVE_BUILDDIR)/libpulse-java.so - -endif - -clean-pulse-java: - rm -rf $(PULSE_JAVA_NATIVE_BUILDDIR) - rm -rf $(PULSE_JAVA_CLASS_DIR) - rm -f pulse-java.jar - if [ -e $(PULSE_JAVA_BUILDDIR) ]; then \ - rmdir $(PULSE_JAVA_BUILDDIR) ; \ - fi - rm -f stamps/pulse-java*.stamp - -# end of pulse-java - # Rhino support stamps/rewriter.stamp: $(INITIAL_BOOTSTRAP_LINK_STAMP) @@ -2703,10 +2536,6 @@ add-nss-debug: stamps/add-nss-debug.stamp -add-pulseaudio: stamps/add-pulseaudio.stamp - -add-pulseaudio-debug: stamps/add-pulseaudio-debug.stamp - add-systemtap: stamps/add-systemtap.stamp add-systemtap-debug: stamps/add-systemtap-debug.stamp @@ -2785,8 +2614,6 @@ patch-fsg: stamps/patch-fsg.stamp -pulse-java: $(PULSE_JAVA_TARGET) - rewriter: stamps/rewriter.stamp rewrite-rhino: stamps/rewrite-rhino.stamp diff -r 1e199b277a83 -r 87847ca9d356 NEWS --- a/NEWS Wed Jun 11 02:35:36 2014 +0100 +++ b/NEWS Fri Jun 13 02:02:33 2014 +0100 @@ -191,6 +191,8 @@ - PR1827: Support AM_MAINTAINER_MODE - PR1830: Drop version requirement for LCMS 2 - PR1833, RH1022017: Report elliptic curves supported by NSS, not the SunEC library + - PR1741: Break PulseAudio provider out into IcedTea-Sound + - PR1843: Fail early if there is no native HotSpot JIT & all other options are disabled New in release 2.5.0 (2014-XX-XX): diff -r 1e199b277a83 -r 87847ca9d356 acinclude.m4 --- a/acinclude.m4 Wed Jun 11 02:35:36 2014 +0100 +++ b/acinclude.m4 Fri Jun 13 02:02:33 2014 +0100 @@ -686,6 +686,7 @@ AC_REQUIRE([IT_ENABLE_CACAO]) AC_REQUIRE([IT_ENABLE_JAMVM]) AC_REQUIRE([IT_ENABLE_SHARK]) From bugzilla-daemon at icedtea.classpath.org Fri Jun 13 13:58:02 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 13 Jun 2014 13:58:02 +0000 Subject: [Bug 1741] Break PulseAudio provider out into IcedTea-Sound In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1741 --- Comment #1 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea7?cmd=changeset;node=38b2afc62b2d author: Andrew John Hughes date: Thu Jun 12 16:27:24 2014 +0100 PR1741: Break PulseAudio provider out into IcedTea-Sound 2014-06-11 Andrew John Hughes PR1741: Break PulseAudio provider out into IcedTea-Sound * patches/pulse-soundproperties.patch, * pulseaudio/COPYING, * pulseaudio/README, * pulseaudio/src/java/META-INF/services/javax.sound.sampled.spi.MixerProvider, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/ContextEvent.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/ContextListener.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/Debug.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/EventLoop.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/Operation.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioClip.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioLine.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixer.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixerInfo.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixerProvider.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioPlaybackLine.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioPort.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourcePort.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetPort.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioVolumeControl.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/SecurityWrapper.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/Stream.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/StreamBufferAttributes.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/StreamSampleSpecification.java, * pulseaudio/src/native/jni-common.c, * pulseaudio/src/native/jni-common.h, * pulseaudio/src/native/org_classpath_icedtea_pulseaudio_ContextEvent.c, * pulseaudio/src/native/org_classpath_icedtea_pulseaudio_EventLoop.c, * pulseaudio/src/native/org_classpath_icedtea_pulseaudio_Operation.c, * pulseaudio/src/native/org_classpath_icedtea_pulseaudio_PulseAudioSourcePort.c, * pulseaudio/src/native/org_classpath_icedtea_pulseaudio_PulseAudioTargetPort.c, * pulseaudio/src/native/org_classpath_icedtea_pulseaudio_Stream.c, * pulseaudio/testsounds/README, * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/OtherSoundProvidersAvailableTest.java, * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioClipTest.java, * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioEventLoopOverhead.java, * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioMixerProviderTest.java, * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioMixerRawTest.java, * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioMixerTest.java, * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLineRawTest.java, * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLineTest.java, * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioSourcePortTest.java, * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLineTest.java, * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioTargetPortTest.java: Moved to IcedTea-Sound. * INSTALL: Remove PulseAudio references. * Makefile.am: (PULSE_JAVA_DIR): Removed. (PULSE_JAVA_NATIVE_SRCDIR): Likewise. (PULSE_JAVA_NATIVE_SRCS): Likewise. (PULSE_JAVA_BUILDDIR): Likewise. (PULSE_JAVA_NATIVE_BUILDDIR): Likewise. (PULSE_JAVA_NATIVE_OBJECTS): Likewise. (PULSE_JAVA_JAVA_SRCDIR): Likewise. (PULSE_JAVA_CLASS_DIR): Likewise. (PULSE_JAVA_TARGET): Removed. (ICEDTEA_PATCHES): Drop PulseAudio patch. (PULSEAUDIO_SRCS): Removed. (EXTRA_DIST): Removed PULSEAUDIO_SRCS. (clean-local): Remove clean-add-pulseaudio and clean-add-pulseaudio-debug. (.PHONY): Likewise and clean-add-pulseaudio-boot. (add-pulseaudio): Removed. (clean-add-pulseaudio): Likewise. (add-pulseaudio-debug): Likewise. (clean-add-pulseaudio-debug): Likewise. (icedtea-stage2): Remove add-pulseaudio dependency. (icedtea-debug-stage2): Remove add-pulseaudio-debug dependency. (add-pulseaudio-boot): Removed. (clean-add-pulseaudio-boot): Likewise. (icedtea-stage1): Remove add-pulseaudio-boot debug. (clean-icedtea-stage1): Remove clean-add-pulseaudio-boot dependency. (pulse-java): Removed. (pulse-java-class): Likewise. (pulse-java-jar): Likewise. (pulse-java-headers): Likewise. ($(PULSE_JAVA_NATIVE_BUILDDIR)/%.o): Likewise. ($(PULSE_JAVA_NATIVE_BUILDDIR)/libpulse-java.so): Likewise. (clean-pulse-java): Likewise. * NEWS: Updated. * configure.ac: Remove --enable-pulse-java option and PulseAudio library checks. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Fri Jun 13 13:58:09 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 13 Jun 2014 13:58:09 +0000 Subject: [Bug 1713] [IcedTea7] Support AArch64 Port In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1713 --- Comment #8 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea7?cmd=changeset;node=be6a6d7150e5 author: Andrew John Hughes date: Wed Apr 02 20:10:19 2014 +0100 PR1713: Support AArch64 port 2014-03-27 Andrew John Hughes * acinclude.m4: (IT_ENABLE_ZERO_BUILD): Default to off on aarch64/arm64. (IT_WITH_HOTSPOT_BUILD): Default to aarch64 port on aarch64. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Fri Jun 13 13:58:15 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 13 Jun 2014 13:58:15 +0000 Subject: [Bug 1843] [IcedTea7] Fail early if there is no native HotSpot JIT & all other options are disabled In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1843 --- Comment #1 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea7?cmd=changeset;node=87847ca9d356 author: Andrew John Hughes date: Fri Jun 13 02:02:33 2014 +0100 PR1843: Fail early if there is no native HotSpot JIT & all other options are disabled 2014-06-12 Andrew John Hughes PR1843: Fail early if there is no native HotSpot JIT & all other options are disabled * acinclude.m4: (IT_ENABLE_ZERO_BUILD): Depend on IT_HAS_NATIVE_HOTSPOT_PORT. Split out arch-dependent code into that macro. Make ENABLE_CACAO test more readable. (IT_ENABLE_CACAO): Handle enableval same as other macros so possible values are only ever yes or no. (IT_ENABLE_JAMVM): Likewise. (IT_HAS_NATIVE_HOTSPOT_PORT): Architecture detection split out from IT_ENABLE_ZERO_BUILD. Now sets has_native_hotspot_port for later reference. * configure.ac: Error out if there is no native HotSpot port and Zero (which implies Shark & ARM32 JIT), CACAO and JamVM are all disabled. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From andrew at icedtea.classpath.org Fri Jun 13 14:50:30 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Fri, 13 Jun 2014 14:50:30 +0000 Subject: /hg/release/icedtea7-forest-2.5: Added tag icedtea-2.5pre08 for ... Message-ID: changeset d789627c71b4 in /hg/release/icedtea7-forest-2.5 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5?cmd=changeset;node=d789627c71b4 author: andrew date: Fri Jun 13 15:04:03 2014 +0100 Added tag icedtea-2.5pre08 for changeset 6a4e58702235 diffstat: .hgtags | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diffs (8 lines): diff -r 6a4e58702235 -r d789627c71b4 .hgtags --- a/.hgtags Thu Jun 05 16:52:32 2014 +0100 +++ b/.hgtags Fri Jun 13 15:04:03 2014 +0100 @@ -459,3 +459,4 @@ 2a7a5e774023944f291ee27ca5b3ad89e0e62aaf jdk7u60-b19 ac5183999ba532c6b89f24fe01f6f0eb96799719 jdk7u60-b30 d42df0b6ea9d7c736e0dcc0cb2562c0ee18928f2 icedtea-2.5pre07 +6a4e587022352c27af42e7f725bdce23cecd039f icedtea-2.5pre08 From andrew at icedtea.classpath.org Fri Jun 13 14:50:43 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Fri, 13 Jun 2014 14:50:43 +0000 Subject: /hg/release/icedtea7-forest-2.5/corba: Added tag icedtea-2.5pre0... Message-ID: changeset 8af1a77fdff9 in /hg/release/icedtea7-forest-2.5/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/corba?cmd=changeset;node=8af1a77fdff9 author: andrew date: Fri Jun 13 15:03:51 2014 +0100 Added tag icedtea-2.5pre08 for changeset 32c25f3ecdf6 diffstat: .hgtags | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diffs (8 lines): diff -r 32c25f3ecdf6 -r 8af1a77fdff9 .hgtags --- a/.hgtags Thu Jun 05 16:52:20 2014 +0100 +++ b/.hgtags Fri Jun 13 15:03:51 2014 +0100 @@ -461,3 +461,4 @@ 5d1b39fe68944cff6380db56fbe2fbaa28091bf6 jdk7u60-b19 39734d26e279098fae06cee5a127e126090ddec9 jdk7u60-b30 03a1bf9a9e898228db9660cc5821a561bbd4108e icedtea-2.5pre07 +32c25f3ecdf67b82678b35cadc1a10fb63b312f3 icedtea-2.5pre08 From andrew at icedtea.classpath.org Fri Jun 13 14:50:56 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Fri, 13 Jun 2014 14:50:56 +0000 Subject: /hg/release/icedtea7-forest-2.5/jaxp: Added tag icedtea-2.5pre08... Message-ID: changeset b74845a8fb3c in /hg/release/icedtea7-forest-2.5/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/jaxp?cmd=changeset;node=b74845a8fb3c author: andrew date: Fri Jun 13 15:03:52 2014 +0100 Added tag icedtea-2.5pre08 for changeset 6b28d9218dac diffstat: .hgtags | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diffs (8 lines): diff -r 6b28d9218dac -r b74845a8fb3c .hgtags --- a/.hgtags Thu Jun 05 16:52:21 2014 +0100 +++ b/.hgtags Fri Jun 13 15:03:52 2014 +0100 @@ -462,3 +462,4 @@ 581752d32aebea959fec84e8ae692e1f63d2c4a8 jdk7u60-b19 cef2dec8b5d76555c5b7b2e1a62275206f76a07a jdk7u60-b30 f4ad8e860eaf9cb6352e08ea88922d8c41fce766 icedtea-2.5pre07 +6b28d9218dac6b1ebb849fad37fd3d29f08accfc icedtea-2.5pre08 From andrew at icedtea.classpath.org Fri Jun 13 14:51:08 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Fri, 13 Jun 2014 14:51:08 +0000 Subject: /hg/release/icedtea7-forest-2.5/jaxws: Added tag icedtea-2.5pre0... Message-ID: changeset 8661bf13c026 in /hg/release/icedtea7-forest-2.5/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/jaxws?cmd=changeset;node=8661bf13c026 author: andrew date: Fri Jun 13 15:03:54 2014 +0100 Added tag icedtea-2.5pre08 for changeset f1f1ade53c01 diffstat: .hgtags | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diffs (8 lines): diff -r f1f1ade53c01 -r 8661bf13c026 .hgtags --- a/.hgtags Thu Jun 05 16:52:22 2014 +0100 +++ b/.hgtags Fri Jun 13 15:03:54 2014 +0100 @@ -461,3 +461,4 @@ 1d21eb9011a060c7761c9a8a53e69d58bbea4893 jdk7u60-b19 39e67887a3b112bf74f84df2aac0f46c65bfb005 jdk7u60-b30 9699fe5c5232952a0c75e4a5562d86b33ebe6bf5 icedtea-2.5pre07 +f1f1ade53c01f57c8b5c8c0bd0864bc59b294a07 icedtea-2.5pre08 From andrew at icedtea.classpath.org Fri Jun 13 14:51:20 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Fri, 13 Jun 2014 14:51:20 +0000 Subject: /hg/release/icedtea7-forest-2.5/langtools: Added tag icedtea-2.5... Message-ID: changeset eaf475e0989c in /hg/release/icedtea7-forest-2.5/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/langtools?cmd=changeset;node=eaf475e0989c author: andrew date: Fri Jun 13 15:04:02 2014 +0100 Added tag icedtea-2.5pre08 for changeset f70c7b796422 diffstat: .hgtags | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diffs (8 lines): diff -r f70c7b796422 -r eaf475e0989c .hgtags --- a/.hgtags Thu Jun 05 16:52:31 2014 +0100 +++ b/.hgtags Fri Jun 13 15:04:02 2014 +0100 @@ -461,3 +461,4 @@ 40aa95c8477aa0a3f090859570f5536afc9026b7 jdk7u60-b19 b578e801c5f0e41be96d58e213b32f5c0c9278e8 jdk7u60-b30 4548707805795436195ddb2f1dd2061dd474bed7 icedtea-2.5pre07 +f70c7b79642290aabc561d5613333dc8c4d83172 icedtea-2.5pre08 From andrew at icedtea.classpath.org Fri Jun 13 14:51:33 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Fri, 13 Jun 2014 14:51:33 +0000 Subject: /hg/release/icedtea7-forest-2.5/hotspot: Added tag icedtea-2.5pr... Message-ID: changeset 322649590a90 in /hg/release/icedtea7-forest-2.5/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/hotspot?cmd=changeset;node=322649590a90 author: andrew date: Fri Jun 13 15:05:43 2014 +0100 Added tag icedtea-2.5pre08 for changeset 5dc3dd2819c8 diffstat: .hgtags | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diffs (8 lines): diff -r 5dc3dd2819c8 -r 322649590a90 .hgtags --- a/.hgtags Thu Jun 05 22:19:11 2014 +0100 +++ b/.hgtags Fri Jun 13 15:05:43 2014 +0100 @@ -681,3 +681,4 @@ 361493c7cdb5f75b28efc63389d6cebaaaa43a2c jdk7u60-b19 13f561930b3e80a94e2baddc51dfc6c43c5ca601 jdk7u60-b30 f106b1f551d7ae8ef8d493b87818ada0f0bcdd8f icedtea-2.5pre07 +5dc3dd2819c8066197d931a213b3cf23b2758e6c icedtea-2.5pre08 From andrew at icedtea.classpath.org Fri Jun 13 14:51:48 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Fri, 13 Jun 2014 14:51:48 +0000 Subject: /hg/release/icedtea7-forest-2.5/jdk: 5 new changesets Message-ID: changeset d26cf395f1f0 in /hg/release/icedtea7-forest-2.5/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/jdk?cmd=changeset;node=d26cf395f1f0 author: andrew date: Tue Jun 10 22:37:03 2014 +0100 PR1736: AWT loads gtk3 in all the look and feel configurations Summary: Split the JNI Gtk+ code into its own library changeset cadc17b7e20e in /hg/release/icedtea7-forest-2.5/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/jdk?cmd=changeset;node=cadc17b7e20e author: andrew date: Wed Jun 11 16:51:38 2014 +0100 PR729: GTKLookAndFeel should be the system look&feel on all GNU/Linux desktops Summary: Return GTKLookAndFeel as the system look&feel on local GNU/Linux systems changeset 925c4ace5635 in /hg/release/icedtea7-forest-2.5/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/jdk?cmd=changeset;node=925c4ace5635 author: andrew date: Wed Jun 11 18:33:57 2014 +0100 PR1808: Type-punning Warnings in Demos on PPC Summary: Drop the undocumented exclusion of -fno-strict-aliasing from PPC, as in OpenJDK 9. changeset 9705894e1370 in /hg/release/icedtea7-forest-2.5/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/jdk?cmd=changeset;node=9705894e1370 author: andrew date: Thu Jun 12 21:14:44 2014 +0100 PR1839, G478960: Provide Infinality Support via fontconfig Summary: Adapt fontfix patch, which uses fontconfig for font rendering, to apply only when INFINALITY_SUPPORT=true Contributed-by: Trustin Lee, Aleksandar Antok (fontfix patch from https://gist.github.com/aleksandara/2963640) changeset a052a690eef8 in /hg/release/icedtea7-forest-2.5/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/jdk?cmd=changeset;node=a052a690eef8 author: andrew date: Fri Jun 13 15:04:01 2014 +0100 Added tag icedtea-2.5pre08 for changeset 9705894e1370 diffstat: .hgtags | 1 + make/common/Defs-linux.gmk | 4 +- make/sun/Makefile | 2 +- make/sun/font/Makefile | 9 + make/sun/gtk/FILES_c_unix.gmk | 41 +++ make/sun/gtk/FILES_export_unix.gmk | 31 ++ make/sun/gtk/Makefile | 82 +++++++ make/sun/gtk/mapfile-vers | 72 ++++++ make/sun/xawt/FILES_c_unix.gmk | 7 +- make/sun/xawt/FILES_export_unix.gmk | 3 +- make/sun/xawt/Makefile | 4 - make/sun/xawt/mapfile-vers | 37 --- src/share/classes/javax/swing/UIManager.java | 5 +- src/share/native/sun/font/freetypeScaler.c | 178 ++++++++++++++++- src/solaris/classes/sun/awt/UNIXToolkit.java | 6 + src/solaris/native/common/deps/gtk2/gtk_fp.c | 28 -- src/solaris/native/common/deps/gtk2/gtk_fp.h | 1 - src/solaris/native/common/deps/gtk2/gtk_fp_check.c | 54 ++++ src/solaris/native/common/deps/gtk2/gtk_fp_check.h | 30 ++ src/solaris/native/sun/awt/awt_GTKToolkit.c | 228 +++++++++++++++++++++ src/solaris/native/sun/awt/awt_UNIXToolkit.c | 199 ------------------ src/solaris/native/sun/awt/gtk2_interface.c | 9 - src/solaris/native/sun/awt/gtk2_interface.h | 8 - src/solaris/native/sun/awt/gtk2_interface_check.c | 34 +++ src/solaris/native/sun/awt/gtk2_interface_check.h | 42 +++ 25 files changed, 815 insertions(+), 300 deletions(-) diffs (truncated from 1409 to 500 lines): diff -r 9fa3542b3afb -r a052a690eef8 .hgtags --- a/.hgtags Thu Jun 05 16:52:29 2014 +0100 +++ b/.hgtags Fri Jun 13 15:04:01 2014 +0100 @@ -445,3 +445,4 @@ 7190843ddaf4f3ad158c3071be0f4ca42a5802dc jdk7u60-b19 8dc56d0f3e860658619eaa57d10fb1a4182d71cd jdk7u60-b30 5607f5a99784da3d78d2062f6b0bb99da864ca65 icedtea-2.5pre07 +9705894e1370a492481123357433ca7a0adde838 icedtea-2.5pre08 diff -r 9fa3542b3afb -r a052a690eef8 make/common/Defs-linux.gmk --- a/make/common/Defs-linux.gmk Thu Jun 05 16:52:29 2014 +0100 +++ b/make/common/Defs-linux.gmk Fri Jun 13 15:04:01 2014 +0100 @@ -252,9 +252,7 @@ # # Misc compiler options # -ifneq ($(ARCH),ppc) - CFLAGS_COMMON = -fno-strict-aliasing -endif +CFLAGS_COMMON = -fno-strict-aliasing PIC_CODE_LARGE = -fPIC PIC_CODE_SMALL = -fpic GLOBAL_KPIC = $(PIC_CODE_LARGE) diff -r 9fa3542b3afb -r a052a690eef8 make/sun/Makefile --- a/make/sun/Makefile Thu Jun 05 16:52:29 2014 +0100 +++ b/make/sun/Makefile Fri Jun 13 15:04:01 2014 +0100 @@ -55,7 +55,7 @@ endif endif HEADLESS_SUBDIR = headless - XAWT_SUBDIR = xawt + XAWT_SUBDIR = xawt gtk endif ifeq ($(PLATFORM), macosx) diff -r 9fa3542b3afb -r a052a690eef8 make/sun/font/Makefile --- a/make/sun/font/Makefile Thu Jun 05 16:52:29 2014 +0100 +++ b/make/sun/font/Makefile Fri Jun 13 15:04:01 2014 +0100 @@ -100,6 +100,11 @@ CXXFLAGS_ExtensionSubtables.o = -fno-strict-aliasing endif +# Turn on infinality rendering support when requested +ifeq ($(INFINALITY_SUPPORT),true) +OTHER_CFLAGS += $(FONTCONFIG_CFLAGS) -DINFINALITY +endif + #In the non-OpenJDK mode we need to build T2K ifndef OPENJDK t2k: @@ -141,6 +146,10 @@ OTHER_LDLIBS += -L$(FREETYPE_LIB_PATH) $(FT2_LIBS) endif +ifeq ($(INFINALITY_SUPPORT),true) +OTHER_LDLIBS += $(FONTCONFIG_LIBS) +endif + library:: $(FREETYPE_LIB) $(FREETYPE_LIB): diff -r 9fa3542b3afb -r a052a690eef8 make/sun/gtk/FILES_c_unix.gmk --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/make/sun/gtk/FILES_c_unix.gmk Fri Jun 13 15:04:01 2014 +0100 @@ -0,0 +1,41 @@ +# +# Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. Oracle designates this +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code 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 +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# + +# +# include rules +# + +FILES_c = \ + gtk2_interface.c \ + swing_GTKEngine.c \ + swing_GTKStyle.c \ + awt_GTKToolkit.c \ + debug_assert.c \ + sun_awt_X11_GtkFileDialogPeer.c + +ifneq ($(SYSTEM_GTK), true) +FILES_c += \ + gtk_fp.c +endif diff -r 9fa3542b3afb -r a052a690eef8 make/sun/gtk/FILES_export_unix.gmk --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/make/sun/gtk/FILES_export_unix.gmk Fri Jun 13 15:04:01 2014 +0100 @@ -0,0 +1,31 @@ +# +# Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. Oracle designates this +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code 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 +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# + +# +# include rules +# + +FILES_export = \ + sun/awt/X11/GtkFileDialogPeer.java diff -r 9fa3542b3afb -r a052a690eef8 make/sun/gtk/Makefile --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/make/sun/gtk/Makefile Fri Jun 13 15:04:01 2014 +0100 @@ -0,0 +1,82 @@ +# +# Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. Oracle designates this +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code 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 +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# + +BUILDDIR = ../.. +PACKAGE = sun.awt.X11 +LIBRARY = javagtk +PRODUCT = sun + +include $(BUILDDIR)/common/Defs.gmk + +# +# Files +# +include FILES_c_unix.gmk +include FILES_export_unix.gmk +AUTO_FILES_JAVA_DIRS = sun/awt/X11 + + +# +# Rules. +# +include $(BUILDDIR)/common/Mapfile-vers.gmk +include $(BUILDDIR)/common/Library.gmk + +# +# Add to the ambient vpath to pick up files in subdirectories +# +vpath %.c $(PLATFORM_SRC)/native/sun/awt +vpath %.c $(SHARE_SRC)/native/sun/awt/debug + +ifneq ($(SYSTEM_GTK), true) +vpath %.c $(PLATFORM_SRC)/native/common/deps/gtk2 +endif + +OTHER_LDLIBS = -lX11 + +ifeq ($(SYSTEM_GTK), true) + OTHER_LDLIBS += $(GTK_LIBS) +endif + +ifeq ($(PLATFORM), solaris) +CPPFLAGS += -DFUNCPROTO=15 +dummy := $(shell $(MKDIR) -p $(LIB_LOCATION)) +endif + +CPPFLAGS += -DXAWT -DXAWT_HACK \ + -I$(TEMPDIR)/../../sun.awt/awt/CClassHeaders \ + -I$(SHARE_SRC)/native/sun/awt/debug \ + -I$(PLATFORM_SRC)/native/sun/awt + +ifeq ($(SYSTEM_GTK), true) + CPPFLAGS += $(GTK_CFLAGS) -DUSE_SYSTEM_GTK +else + CPPFLAGS += -I$(PLATFORM_SRC)/native/common/deps/gtk2 +endif + +ifeq ($(MILESTONE), internal) + CPPFLAGS += -DINTERNAL_BUILD +endif + diff -r 9fa3542b3afb -r a052a690eef8 make/sun/gtk/mapfile-vers --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/make/sun/gtk/mapfile-vers Fri Jun 13 15:04:01 2014 +0100 @@ -0,0 +1,72 @@ +# +# Copyright (c) 2002, 2011, Oracle and/or its affiliates. All rights reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. Oracle designates this +# particular file as subject to the "Classpath" exception as provided +# by Oracle in the LICENSE file that accompanied this code. +# +# This code 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 +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# + +# Define public interface. + +SUNWprivate_1.1 { + global: + JNI_OnLoad; + + Java_sun_awt_UNIXToolkit_load_1gtk; + Java_sun_awt_UNIXToolkit_unload_1gtk; + Java_sun_awt_UNIXToolkit_load_1stock_1icon; + Java_sun_awt_UNIXToolkit_load_1gtk_1icon; + Java_sun_awt_UNIXToolkit_gtkCheckVersionImpl; + + Java_com_sun_java_swing_plaf_gtk_GTKEngine_native_1paint_1arrow; + Java_com_sun_java_swing_plaf_gtk_GTKEngine_native_1paint_1box; + Java_com_sun_java_swing_plaf_gtk_GTKEngine_native_1paint_1box_1gap; + Java_com_sun_java_swing_plaf_gtk_GTKEngine_native_1paint_1check; + Java_com_sun_java_swing_plaf_gtk_GTKEngine_native_1paint_1expander; + Java_com_sun_java_swing_plaf_gtk_GTKEngine_native_1paint_1extension; + Java_com_sun_java_swing_plaf_gtk_GTKEngine_native_1paint_1flat_1box; + Java_com_sun_java_swing_plaf_gtk_GTKEngine_native_1paint_1focus; + Java_com_sun_java_swing_plaf_gtk_GTKEngine_native_1paint_1handle; + Java_com_sun_java_swing_plaf_gtk_GTKEngine_native_1paint_1hline; + Java_com_sun_java_swing_plaf_gtk_GTKEngine_native_1paint_1option; + Java_com_sun_java_swing_plaf_gtk_GTKEngine_native_1paint_1shadow; + Java_com_sun_java_swing_plaf_gtk_GTKEngine_native_1paint_1slider; + Java_com_sun_java_swing_plaf_gtk_GTKEngine_native_1paint_1vline; + Java_com_sun_java_swing_plaf_gtk_GTKEngine_native_1paint_1background; + Java_com_sun_java_swing_plaf_gtk_GTKEngine_nativeStartPainting; + Java_com_sun_java_swing_plaf_gtk_GTKEngine_nativeFinishPainting; + Java_com_sun_java_swing_plaf_gtk_GTKEngine_native_1switch_1theme; + Java_com_sun_java_swing_plaf_gtk_GTKEngine_native_1get_1gtk_1setting; + Java_com_sun_java_swing_plaf_gtk_GTKEngine_nativeSetRangeValue; + Java_com_sun_java_swing_plaf_gtk_GTKStyle_nativeGetXThickness; + Java_com_sun_java_swing_plaf_gtk_GTKStyle_nativeGetYThickness; + Java_com_sun_java_swing_plaf_gtk_GTKStyle_nativeGetColorForState; + Java_com_sun_java_swing_plaf_gtk_GTKStyle_nativeGetClassValue; + Java_com_sun_java_swing_plaf_gtk_GTKStyle_nativeGetPangoFontName; + + Java_sun_awt_X11_GtkFileDialogPeer_initIDs; + Java_sun_awt_X11_GtkFileDialogPeer_run; + Java_sun_awt_X11_GtkFileDialogPeer_quit; + Java_sun_awt_X11_GtkFileDialogPeer_toFront; + Java_sun_awt_X11_GtkFileDialogPeer_setBounds; + + local: + *; +}; diff -r 9fa3542b3afb -r a052a690eef8 make/sun/xawt/FILES_c_unix.gmk --- a/make/sun/xawt/FILES_c_unix.gmk Thu Jun 05 16:52:29 2014 +0100 +++ b/make/sun/xawt/FILES_c_unix.gmk Fri Jun 13 15:04:01 2014 +0100 @@ -76,17 +76,14 @@ debug_trace.c \ debug_util.c \ awt_Plugin.c \ - gtk2_interface.c \ - swing_GTKEngine.c \ - swing_GTKStyle.c \ + gtk2_interface_check.c \ rect.c \ - sun_awt_X11_GtkFileDialogPeer.c \ XRSurfaceData.c \ XRBackendNative.c ifneq ($(SYSTEM_GTK), true) FILES_c += \ - gtk_fp.c + gtk_fp_check.c endif ifneq ($(SYSTEM_CUPS), true) diff -r 9fa3542b3afb -r a052a690eef8 make/sun/xawt/FILES_export_unix.gmk --- a/make/sun/xawt/FILES_export_unix.gmk Thu Jun 05 16:52:29 2014 +0100 +++ b/make/sun/xawt/FILES_export_unix.gmk Fri Jun 13 15:04:01 2014 +0100 @@ -33,5 +33,4 @@ sun/awt/X11/XDesktopPeer.java \ sun/awt/X11/XToolkit.java \ sun/awt/X11/XComponentPeer.java \ - sun/awt/X11/XInputMethod.java \ - sun/awt/X11/GtkFileDialogPeer.java + sun/awt/X11/XInputMethod.java diff -r 9fa3542b3afb -r a052a690eef8 make/sun/xawt/Makefile --- a/make/sun/xawt/Makefile Thu Jun 05 16:52:29 2014 +0100 +++ b/make/sun/xawt/Makefile Fri Jun 13 15:04:01 2014 +0100 @@ -128,10 +128,6 @@ OTHER_LDLIBS = $(LIBM) -lawt -lXext -lX11 -lXrender $(LIBDL) \ $(LDFLAGS_COMMON) $(AWT_RUNPATH) $(OTHER_LDFLAGS) -lXtst -lXi -ifeq ($(SYSTEM_GTK), true) - OTHER_LDLIBS += $(GTK_LIBS) -endif - ifeq ($(SYSTEM_CUPS), true) OTHER_LDLIBS += $(CUPS_LIBS) endif diff -r 9fa3542b3afb -r a052a690eef8 make/sun/xawt/mapfile-vers --- a/make/sun/xawt/mapfile-vers Thu Jun 05 16:52:29 2014 +0100 +++ b/make/sun/xawt/mapfile-vers Fri Jun 13 15:04:01 2014 +0100 @@ -167,12 +167,7 @@ Java_java_awt_Frame_initIDs; Java_sun_awt_SunToolkit_closeSplashScreen; Java_sun_awt_UNIXToolkit_check_1gtk; - Java_sun_awt_UNIXToolkit_load_1gtk; - Java_sun_awt_UNIXToolkit_unload_1gtk; - Java_sun_awt_UNIXToolkit_load_1stock_1icon; - Java_sun_awt_UNIXToolkit_load_1gtk_1icon; Java_sun_awt_UNIXToolkit_nativeSync; - Java_sun_awt_UNIXToolkit_gtkCheckVersionImpl; Java_java_awt_AWTEvent_initIDs; Java_java_awt_event_InputEvent_initIDs; Java_java_awt_event_KeyEvent_initIDs; @@ -406,38 +401,6 @@ Java_sun_java2d_xr_XRBackendNative_GCRectanglesNative; Java_sun_java2d_xr_XRBackendNative_renderCompositeTrapezoidsNative; - Java_com_sun_java_swing_plaf_gtk_GTKEngine_native_1paint_1arrow; - Java_com_sun_java_swing_plaf_gtk_GTKEngine_native_1paint_1box; - Java_com_sun_java_swing_plaf_gtk_GTKEngine_native_1paint_1box_1gap; - Java_com_sun_java_swing_plaf_gtk_GTKEngine_native_1paint_1check; - Java_com_sun_java_swing_plaf_gtk_GTKEngine_native_1paint_1expander; - Java_com_sun_java_swing_plaf_gtk_GTKEngine_native_1paint_1extension; - Java_com_sun_java_swing_plaf_gtk_GTKEngine_native_1paint_1flat_1box; - Java_com_sun_java_swing_plaf_gtk_GTKEngine_native_1paint_1focus; - Java_com_sun_java_swing_plaf_gtk_GTKEngine_native_1paint_1handle; - Java_com_sun_java_swing_plaf_gtk_GTKEngine_native_1paint_1hline; - Java_com_sun_java_swing_plaf_gtk_GTKEngine_native_1paint_1option; - Java_com_sun_java_swing_plaf_gtk_GTKEngine_native_1paint_1shadow; - Java_com_sun_java_swing_plaf_gtk_GTKEngine_native_1paint_1slider; - Java_com_sun_java_swing_plaf_gtk_GTKEngine_native_1paint_1vline; - Java_com_sun_java_swing_plaf_gtk_GTKEngine_native_1paint_1background; - Java_com_sun_java_swing_plaf_gtk_GTKEngine_nativeStartPainting; - Java_com_sun_java_swing_plaf_gtk_GTKEngine_nativeFinishPainting; - Java_com_sun_java_swing_plaf_gtk_GTKEngine_native_1switch_1theme; - Java_com_sun_java_swing_plaf_gtk_GTKEngine_native_1get_1gtk_1setting; - Java_com_sun_java_swing_plaf_gtk_GTKEngine_nativeSetRangeValue; - Java_com_sun_java_swing_plaf_gtk_GTKStyle_nativeGetXThickness; - Java_com_sun_java_swing_plaf_gtk_GTKStyle_nativeGetYThickness; - Java_com_sun_java_swing_plaf_gtk_GTKStyle_nativeGetColorForState; - Java_com_sun_java_swing_plaf_gtk_GTKStyle_nativeGetClassValue; - Java_com_sun_java_swing_plaf_gtk_GTKStyle_nativeGetPangoFontName; - - Java_sun_awt_X11_GtkFileDialogPeer_initIDs; - Java_sun_awt_X11_GtkFileDialogPeer_run; - Java_sun_awt_X11_GtkFileDialogPeer_quit; - Java_sun_awt_X11_GtkFileDialogPeer_toFront; - Java_sun_awt_X11_GtkFileDialogPeer_setBounds; - Java_sun_print_CUPSPrinter_initIDs; Java_sun_print_CUPSPrinter_getCupsServer; Java_sun_print_CUPSPrinter_getCupsPort; diff -r 9fa3542b3afb -r a052a690eef8 src/share/classes/javax/swing/UIManager.java --- a/src/share/classes/javax/swing/UIManager.java Thu Jun 05 16:52:29 2014 +0100 +++ b/src/share/classes/javax/swing/UIManager.java Fri Jun 13 15:04:01 2014 +0100 @@ -606,8 +606,9 @@ } else { String desktop = AccessController.doPrivileged(new GetPropertyAction("sun.desktop")); Toolkit toolkit = Toolkit.getDefaultToolkit(); - if ("gnome".equals(desktop) && - toolkit instanceof SunToolkit && + boolean gtkDesktop = "gnome".equals(desktop) || + (osType == OSInfo.OSType.LINUX && SwingUtilities2.isLocalDisplay()); + if (gtkDesktop && toolkit instanceof SunToolkit && ((SunToolkit) toolkit).isNativeGTKAvailable()) { // May be set on Linux and Solaris boxs. return "com.sun.java.swing.plaf.gtk.GTKLookAndFeel"; diff -r 9fa3542b3afb -r a052a690eef8 src/share/native/sun/font/freetypeScaler.c --- a/src/share/native/sun/font/freetypeScaler.c Thu Jun 05 16:52:29 2014 +0100 +++ b/src/share/native/sun/font/freetypeScaler.c Fri Jun 13 15:04:01 2014 +0100 @@ -38,6 +38,10 @@ #include FT_SIZES_H #include FT_OUTLINE_H #include FT_SYNTHESIS_H +#ifdef INFINALITY +#include FT_LCD_FILTER_H +#include +#endif #include "fontscaler.h" @@ -682,6 +686,147 @@ } } +#ifdef INFINALITY +typedef struct { + FT_Render_Mode ftRenderMode; + int ftLoadFlags; + FT_LcdFilter ftLcdFilter; +} RenderingProperties; + +static FcPattern* matchedPattern(const FcChar8* family, double ptSize) { + /* + we will create pattern to find our family and size in + fontconfig configuration, and then will return it's + properties: + */ + FcPattern* fcPattern = 0; + fcPattern = FcPatternCreate(); + FcValue fcValue; + fcValue.type = FcTypeString; + fcValue.u.s = family; + FcPatternAdd(fcPattern, FC_FAMILY, fcValue, FcTrue); + FcPatternAddBool(fcPattern, FC_SCALABLE, FcTrue); + FcPatternAddDouble(fcPattern, FC_SIZE, ptSize); + // TODO FcPatternAddInteger(pattern, FC_WEIGHT, weight_value); + // TODO FcPatternAddInteger(pattern, FC_SLANT, slant_value); + // TODO FcPatternAddDouble(pattern, FC_PIXEL_SIZE, size_value); + // TODO FcPatternAddInteger(pattern, FC_WIDTH, stretch); 100 in most cases + FcConfigSubstitute(0, fcPattern, FcMatchPattern); + FcConfigSubstitute(0, fcPattern, FcMatchFont); + FcDefaultSubstitute(fcPattern); + FcResult res; + + FcPattern *pattern = 0; + pattern = FcFontMatch(0, fcPattern, &res); + FcPatternDestroy(fcPattern); + return pattern; +} + +static void readFontconfig(const FcChar8* family, double ptSize, jint aaType, RenderingProperties* rp) { + + FcPattern *pattern = matchedPattern(family, ptSize); + + int ftLoadFalgs = FT_LOAD_DEFAULT; + FT_Render_Mode ftRenderMode; + FT_LcdFilter ftLcdFilter; + char horizontal = 1; + FcBool b; + + // subpixel order: + if (aaType == TEXT_AA_ON) + ftRenderMode = FT_RENDER_MODE_NORMAL; + else if (aaType == TEXT_AA_OFF) + ftRenderMode = FT_RENDER_MODE_MONO; + else if (FcPatternGetBool(pattern, FC_ANTIALIAS, 0, &b) == FcResultMatch) + if (b) { + int subpixel = FC_RGBA_UNKNOWN; + FcPatternGetInteger(pattern, FC_RGBA, 0, &subpixel); + if (subpixel == FC_RGBA_UNKNOWN) + subpixel = FC_RGBA_NONE; + switch (subpixel) { + case FC_RGBA_NONE: + ftRenderMode = FT_RENDER_MODE_NORMAL; + break; + case FC_RGBA_RGB: + case FC_RGBA_BGR: From bugzilla-daemon at icedtea.classpath.org Fri Jun 13 14:52:00 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 13 Jun 2014 14:52:00 +0000 Subject: [Bug 1736] Awt loads gtk3 in all the look and feel configurations In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1736 --- Comment #3 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea7-forest-2.5/jdk?cmd=changeset;node=d26cf395f1f0 author: andrew date: Tue Jun 10 22:37:03 2014 +0100 PR1736: AWT loads gtk3 in all the look and feel configurations Summary: Split the JNI Gtk+ code into its own library -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Fri Jun 13 14:52:08 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 13 Jun 2014 14:52:08 +0000 Subject: [Bug 729] GTKLookAndFeel should be the system look&feel on all GNU/Linux desktops In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=729 --- Comment #7 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea7-forest-2.5/jdk?cmd=changeset;node=cadc17b7e20e author: andrew date: Wed Jun 11 16:51:38 2014 +0100 PR729: GTKLookAndFeel should be the system look&feel on all GNU/Linux desktops Summary: Return GTKLookAndFeel as the system look&feel on local GNU/Linux systems -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Fri Jun 13 14:52:17 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 13 Jun 2014 14:52:17 +0000 Subject: [Bug 1808] [IcedTea7] type-punning warnings in demos on ppc In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1808 --- Comment #1 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea7-forest-2.5/jdk?cmd=changeset;node=925c4ace5635 author: andrew date: Wed Jun 11 18:33:57 2014 +0100 PR1808: Type-punning Warnings in Demos on PPC Summary: Drop the undocumented exclusion of -fno-strict-aliasing from PPC, as in OpenJDK 9. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Fri Jun 13 14:52:25 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 13 Jun 2014 14:52:25 +0000 Subject: [Bug 1839] [IcedTea7] Provide Infinality Support via fontconfig In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1839 --- Comment #1 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea7-forest-2.5/jdk?cmd=changeset;node=9705894e1370 author: andrew date: Thu Jun 12 21:14:44 2014 +0100 PR1839, G478960: Provide Infinality Support via fontconfig Summary: Adapt fontfix patch, which uses fontconfig for font rendering, to apply only when INFINALITY_SUPPORT=true Contributed-by: Trustin Lee, Aleksandar Antok (fontfix patch from https://gist.github.com/aleksandara/2963640) -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From aazores at redhat.com Fri Jun 13 15:09:26 2014 From: aazores at redhat.com (Andrew Azores) Date: Fri, 13 Jun 2014 11:09:26 -0400 Subject: [rfc][icedtea-web] Temporary Permissions generated via reflection (re-proposal) Message-ID: <539B1426.9060803@redhat.com> Hi, When Temporary Permissions on the security dialogs were first introduced, I proposed to have them generated from the PolicyEditorPermissions dynamically using reflection, so that "grantable" permissions were only defined in one place and so maintenance would be easy, and the TemporaryPermissions class could be kept small. This was rejected due to the required use of reflection, but I am re-proposing this patch because I do believe it is a much cleaner solution, especially now that the number of grantable permissions has grown and the temporary permissions menu has become a multi-select UI rather than preset groups. ChangeLog: TemporaryPermissions generated via reflection rather than hard coded * netx/net/sourceforge/jnlp/resources/Messages.properties (STempPermNoFile, STempPermNoNetwork, STempPermNoExec, STempNoFileOrNetwork, STempNoExecOrNetwork, STempNoFileOrExec, STempNoFileOrNetworkOrExec, STempAllMedia, STempSoundOnly, STempClipboardOnly, STempPrintOnly, STempAllFileAndPropertyAccess, STempReadLocalFilesAndProperties, STempReflectionOnly): removed (STempNetwork, STempReadFilesAndProperties, STempWriteFilesAndProperties, STempReflectionAndExternal, STempAllMedia): new messages * netx/net/sourceforge/jnlp/resources/Messages_cs.properties (STempPermNoFile, STempPermNoNetwork, STempPermNoExec, STempNoFileOrNetwork, STempNoExecOrNetwork, STempNoFileOrExec, STempNoFileOrNetworkOrExec, STempAllMedia, STempSoundOnly, STempClipboardOnly, STempPrintOnly, STempAllFileAndPropertyAccess, STempReadLocalFilesAndProperties, STempReflectionOnly): removed * netx/net/sourceforge/jnlp/security/dialogs/TemporaryPermissions.java: rewrite to use reflection to generate permissions from PolicyEditorPermissions rather than exposing statically defined values * netx/net/sourceforge/jnlp/security/dialogs/TemporaryPermissionsButton.java: refactor to use new TemporaryPermissions change * tests/netx/unit/net/sourceforge/jnlp/security/dialogs/TemporaryPermissionsTest.java: new tests for TemporaryPermissions Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: temporary-permissions-reflection.patch Type: text/x-patch Size: 23189 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: temporary-permissions-reflection-tests.patch Type: text/x-patch Size: 5613 bytes Desc: not available URL: From aazores at redhat.com Fri Jun 13 15:17:35 2014 From: aazores at redhat.com (Andrew Azores) Date: Fri, 13 Jun 2014 11:17:35 -0400 Subject: [rfc][icedtea-web] Temporary Permissions generated via reflection (re-proposal) In-Reply-To: <539B1426.9060803@redhat.com> References: <539B1426.9060803@redhat.com> Message-ID: <539B160F.2030905@redhat.com> On 06/13/2014 11:09 AM, Andrew Azores wrote: > Hi, > > When Temporary Permissions on the security dialogs were first > introduced, I proposed to have them generated from the > PolicyEditorPermissions dynamically using reflection, so that > "grantable" permissions were only defined in one place and so > maintenance would be easy, and the TemporaryPermissions class could be > kept small. This was rejected due to the required use of reflection, > but I am re-proposing this patch because I do believe it is a much > cleaner solution, especially now that the number of grantable > permissions has grown and the temporary permissions menu has become a > multi-select UI rather than preset groups. > > ChangeLog: > TemporaryPermissions generated via reflection rather than hard coded > * netx/net/sourceforge/jnlp/resources/Messages.properties > (STempPermNoFile, STempPermNoNetwork, STempPermNoExec, > STempNoFileOrNetwork, STempNoExecOrNetwork, STempNoFileOrExec, > STempNoFileOrNetworkOrExec, STempAllMedia, STempSoundOnly, > STempClipboardOnly, STempPrintOnly, STempAllFileAndPropertyAccess, > STempReadLocalFilesAndProperties, STempReflectionOnly): removed > (STempNetwork, STempReadFilesAndProperties, > STempWriteFilesAndProperties, > STempReflectionAndExternal, STempAllMedia): new messages > * netx/net/sourceforge/jnlp/resources/Messages_cs.properties > (STempPermNoFile, STempPermNoNetwork, STempPermNoExec, > STempNoFileOrNetwork, STempNoExecOrNetwork, STempNoFileOrExec, > STempNoFileOrNetworkOrExec, STempAllMedia, STempSoundOnly, > STempClipboardOnly, STempPrintOnly, STempAllFileAndPropertyAccess, > STempReadLocalFilesAndProperties, STempReflectionOnly): removed > * > netx/net/sourceforge/jnlp/security/dialogs/TemporaryPermissions.java: > rewrite to use reflection to generate permissions from > PolicyEditorPermissions rather than exposing statically defined > values > * > netx/net/sourceforge/jnlp/security/dialogs/TemporaryPermissionsButton.java: > refactor to use new TemporaryPermissions change > * > tests/netx/unit/net/sourceforge/jnlp/security/dialogs/TemporaryPermissionsTest.java: > new tests for TemporaryPermissions > > > Thanks, > Lightning-quick update thanks to Jie Kang's keen eye: now using multi-catch in TemporaryPermissions.getPermission. Semantically the same and no other changes. Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: temporary-permissions-reflection.patch Type: text/x-patch Size: 22748 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: temporary-permissions-reflection-tests.patch Type: text/x-patch Size: 5613 bytes Desc: not available URL: From bugzilla-daemon at icedtea.classpath.org Fri Jun 13 15:19:51 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 13 Jun 2014 15:19:51 +0000 Subject: [Bug 729] GTKLookAndFeel should be the system look&feel on all GNU/Linux desktops In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=729 Andrew Haley changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |aph at redhat.com --- Comment #8 from Andrew Haley --- Is there some reason this patch is carried locally, not upstream? Maybe you submitted it upstream; I don't follow all the lists. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Fri Jun 13 15:32:58 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 13 Jun 2014 15:32:58 +0000 Subject: [Bug 1845] New: jstack.stp in OpenJDK8 is broken. Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1845 Bug ID: 1845 Summary: jstack.stp in OpenJDK8 is broken. Product: IcedTea Version: 8-hg Hardware: x86_64 OS: Linux Status: NEW Severity: minor Priority: P5 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: yasuenag at gmail.com CC: unassigned at icedtea.classpath.org Icedtea for OpenJDK8 ships jstack.stp which provides jstack function for SystemTap. However it does not work. I guess that current jstack.stp does not regard Metaspace. A patch which is attached in this issue collects frame information from Metaspace. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Fri Jun 13 15:33:53 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 13 Jun 2014 15:33:53 +0000 Subject: [Bug 1845] jstack.stp in OpenJDK8 is broken. In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1845 --- Comment #1 from Yasumasa Suenaga --- Created attachment 1095 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=1095&action=edit Patch for icedtea -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Fri Jun 13 15:37:06 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 13 Jun 2014 15:37:06 +0000 Subject: [Bug 1845] jstack.stp in OpenJDK8 is broken. In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1845 --- Comment #2 from Yasumasa Suenaga --- Created attachment 1096 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=1096&action=edit jstack.stp for OpenJDK8 on FC20 I checked this changes with java-1.8.0-openjdk-1.8.0.5-3.b13.fc20.x86_64 . This tapset works fine with it. My patch is based on this tapset. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Fri Jun 13 16:14:49 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 13 Jun 2014 16:14:49 +0000 Subject: [Bug 1845] jstack.stp in OpenJDK8 is broken. In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1845 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Component|IcedTea |SystemTap Blocks| |1282 Assignee|gnu.andrew at redhat.com |mark at klomp.org Target Milestone|--- |3.0.0 --- Comment #3 from Andrew John Hughes --- Thanks for the patch. I'll ask Mark Wielaard who wrote the original jstack.stp to look over this. However, I'm a little confused by your comment 'Icedtea for OpenJDK8 ships jstack.stp'. We haven't yet shipped a release of IcedTea for OpenJDK 8 (3.0.0), though we hope to very soon and we should be able to include your fix in it. I've linked this bug to the 3.0.0 tracker to ensure it isn't missed. Thanks again. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Fri Jun 13 16:14:49 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 13 Jun 2014 16:14:49 +0000 Subject: [Bug 1282] [TRACKER] IcedTea 3.0.0 Release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1282 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on| |1845 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Fri Jun 13 16:28:15 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 13 Jun 2014 16:28:15 +0000 Subject: [Bug 1846] New: [IcedTea7] Build fails when using IcedTea7 as bootstrap JDK with native ecj Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1846 Bug ID: 1846 Summary: [IcedTea7] Build fails when using IcedTea7 as bootstrap JDK with native ecj Product: IcedTea Version: 7-hg Hardware: all OS: All Status: NEW Severity: normal Priority: P5 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: gnu.andrew at redhat.com CC: unassigned at icedtea.classpath.org # Running javac: /notnfs/nighttester/icedtea7-target-testing/bootstrap/jdk1.6.0/bin/javac -J-XX:ThreadStackSize=1664 -J-XX:-PrintVMOptions -J-XX:+UnlockDiagnosticVMOptions -J-XX:-LogVM Output -J-Xmx512m -J-Xms512m -J-XX:PermSize=32m -J-XX:MaxPermSize=160m -g -source 7 -target 7 -encoding ascii -Xbootclasspath:/notnfs/nighttester/icedtea7-target-testi ng/openjdk.build-boot/classes -sourcepath /notnfs/nighttester/icedtea7-target-testing/generated.build:../../../src/solaris/classes:../../../src/share/classes -bootclasspath /notnfs/nighttester/icedtea7-target-testing/openjdk.build-boot/classes:/notnfs/nighttester/icedtea7-target-testing/bootstrap/jdk1.6.0/jre/lib/rt.jar -d /notnfs/nighttester/icedtea7-target-testing/openjdk.build-boot/classes @/notnfs/nighttester/icedtea7-target-testing/openjdk.build-boot/tmp/sun/java.awt/.classes.list Annotation processing got disabled, since it requires a 1.6 compliant JVM ---------- 1. ERROR in ../../../src/share/classes/java/awt/Toolkit.java (at line 1661) new AWTAccessor.ToolkitAccessor() { ^^^^^^^^^^^^^^^^^^^^^^^^^^^ AWTAccessor.ToolkitAccessor cannot be resolved to a type ---------- ---------- 2. ERROR in ../../../src/share/classes/java/awt/event/InvocationEvent.java (at line 62) AWTAccessor.setInvocationEventAccessor(new AWTAccessor.InvocationEventAccessor() { ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ AWTAccessor.InvocationEventAccessor cannot be resolved to a type ---------- ---------- 3. ERROR in ../../../src/share/classes/java/awt/EventQueue.java (at line 1143) AWTAccessor.getInvocationEventAccessor() ^^^^^^^^^^^^^^^^^^^^^^^^^^ The method getInvocationEventAccessor() is undefined for the type AWTAccessor ---------- 3 problems (3 errors)gmake[5]: *** [.compile.classlist] Error 255 gmake[5]: Leaving directory `/notnfs/nighttester/icedtea7-target-testing/openjdk-boot/jdk/make/java/awt' -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Fri Jun 13 16:35:56 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 13 Jun 2014 16:35:56 +0000 Subject: [Bug 1846] [IcedTea7] Build fails when using IcedTea7 as bootstrap JDK with native ecj In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1846 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Blocks| |1698 Target Milestone|--- |2.6.0 --- Comment #1 from Andrew John Hughes --- The issue is that the bootclasspath addition in patches/boot/icedteart.patch is adding the bootstrap JDK's runtime library onto the classpath. Due to the presence of recent class changes in the source code (8025588), there is a mismatch between the bootstrap classes from 2.4.7 and the source code being compiled. This only occurs with 7 + native ecj ONLY because: 1. gcj doesn't include the conflicing sun.awt class in question. 2. IcedTea bootstrap builds which use javac have -Xprefer:source Only when both a bootstrap runtime with the conflicting class and ecj are used does the error occur. Due to the rarity of it occurring, and the possible disruption to the build in fixing it, we'll defer a fix to 2.6.0. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Fri Jun 13 16:35:56 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 13 Jun 2014 16:35:56 +0000 Subject: [Bug 1698] [TRACKER] IcedTea 2.6.0 Release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1698 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on| |1846 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Fri Jun 13 16:42:52 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 13 Jun 2014 16:42:52 +0000 Subject: [Bug 1847] New: [IcedTea7] Synchronise javac.in with IcedTea6 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1847 Bug ID: 1847 Summary: [IcedTea7] Synchronise javac.in with IcedTea6 Product: IcedTea Version: 7-hg Hardware: all OS: All Status: NEW Severity: enhancement Priority: P5 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: gnu.andrew at redhat.com CC: unassigned at icedtea.classpath.org There are recent changes from PR1458 in IcedTea6 that should be brought across to IcedTea7. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Fri Jun 13 16:43:43 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 13 Jun 2014 16:43:43 +0000 Subject: [Bug 1458] [IcedTea6] Make use of bootstrap tools & -Xbootclasspath patches optional In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1458 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Blocks| |1847 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Fri Jun 13 16:43:43 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 13 Jun 2014 16:43:43 +0000 Subject: [Bug 1847] [IcedTea7] Synchronise javac.in with IcedTea6 In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1847 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Blocks| |1698, 1846 Depends on| |1458 Target Milestone|--- |2.6.0 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Fri Jun 13 16:43:43 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 13 Jun 2014 16:43:43 +0000 Subject: [Bug 1846] [IcedTea7] Build fails when using IcedTea7 as bootstrap JDK with native ecj In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1846 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on| |1847 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Fri Jun 13 16:43:43 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 13 Jun 2014 16:43:43 +0000 Subject: [Bug 1698] [TRACKER] IcedTea 2.6.0 Release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1698 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on| |1847 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From andreas.wundsam at bigswitch.com Fri Jun 13 20:00:04 2014 From: andreas.wundsam at bigswitch.com (Andreas Wundsam) Date: Fri, 13 Jun 2014 13:00:04 -0700 Subject: Time line for IcedTea with JDK7u60? Message-ID: Hello all, I was wondering if there is already a timeline for an IcedTea release that includes the changes from JDK7u60? I am asking because a project I am working on is seriously affected by a Bug in JDK7 before u60 ( http://bugs.java.com/bugdatabase/view_bug.do?bug_id=6900441, time primitives hang when the system wallclock time is set back). I noticed that the bug has been fixed in the recently released in the recently released Oracle JDK based on JDK7u60. Any thoughts on when this change may propagate to IcedTea? Thanks, -Andi -------------- next part -------------- An HTML attachment was scrubbed... URL: From dbhole at redhat.com Fri Jun 13 20:26:57 2014 From: dbhole at redhat.com (Deepak Bhole) Date: Fri, 13 Jun 2014 16:26:57 -0400 Subject: [rfc][icedtea-web] Temporary Permissions generated via reflection (re-proposal) In-Reply-To: <539B160F.2030905@redhat.com> References: <539B1426.9060803@redhat.com> <539B160F.2030905@redhat.com> Message-ID: <20140613202656.GE2116@redhat.com> * Andrew Azores [2014-06-13 11:19]: > On 06/13/2014 11:09 AM, Andrew Azores wrote: > >Hi, > > > >When Temporary Permissions on the security dialogs were first introduced, > >I proposed to have them generated from the PolicyEditorPermissions > >dynamically using reflection, so that "grantable" permissions were only > >defined in one place and so maintenance would be easy, and the > >TemporaryPermissions class could be kept small. This was rejected due to > >the required use of reflection, but I am re-proposing this patch because I > >do believe it is a much cleaner solution, especially now that the number > >of grantable permissions has grown and the temporary permissions menu has > >become a multi-select UI rather than preset groups. > > > >ChangeLog: > > TemporaryPermissions generated via reflection rather than hard coded > > * netx/net/sourceforge/jnlp/resources/Messages.properties > > (STempPermNoFile, STempPermNoNetwork, STempPermNoExec, > > STempNoFileOrNetwork, STempNoExecOrNetwork, STempNoFileOrExec, > > STempNoFileOrNetworkOrExec, STempAllMedia, STempSoundOnly, > > STempClipboardOnly, STempPrintOnly, STempAllFileAndPropertyAccess, > > STempReadLocalFilesAndProperties, STempReflectionOnly): removed > > (STempNetwork, STempReadFilesAndProperties, > >STempWriteFilesAndProperties, > > STempReflectionAndExternal, STempAllMedia): new messages > > * netx/net/sourceforge/jnlp/resources/Messages_cs.properties > > (STempPermNoFile, STempPermNoNetwork, STempPermNoExec, > > STempNoFileOrNetwork, STempNoExecOrNetwork, STempNoFileOrExec, > > STempNoFileOrNetworkOrExec, STempAllMedia, STempSoundOnly, > > STempClipboardOnly, STempPrintOnly, STempAllFileAndPropertyAccess, > > STempReadLocalFilesAndProperties, STempReflectionOnly): removed > > * > >netx/net/sourceforge/jnlp/security/dialogs/TemporaryPermissions.java: > > rewrite to use reflection to generate permissions from > > PolicyEditorPermissions rather than exposing statically defined values > > * > >netx/net/sourceforge/jnlp/security/dialogs/TemporaryPermissionsButton.java: > > refactor to use new TemporaryPermissions change > > * tests/netx/unit/net/sourceforge/jnlp/security/dialogs/TemporaryPermissionsTest.java: > > new tests for TemporaryPermissions > > > > > >Thanks, > > > > Lightning-quick update thanks to Jie Kang's keen eye: now using multi-catch > in TemporaryPermissions.getPermission. Semantically the same and no other > changes. > Hi Andrew, I agree, reflection is preferable over an ever growing list of static permission objects. Right now the code seems to be boxed such that the reflected object creation is always done dynamically (via the new getPermission method). Is there is a chance that this could later be utilized with user input? In its current static state it is fine, but my concern is that there is no arg sanitization when we try to create permission objects with the given string args in getPermission. In addition to potential bugs, there could also be security implications caused by incorrect permission creation/granting. Rest looks fine to me. Cheers, Deepak > Thanks, > > -- > Andrew A > > diff --git a/ChangeLog b/ChangeLog > --- a/ChangeLog > +++ b/ChangeLog > @@ -1,3 +1,28 @@ > +2014-06-13 Andrew Azores > + > + TemporaryPermissions generated via reflection rather than hard coded > + * netx/net/sourceforge/jnlp/resources/Messages.properties > + (STempPermNoFile, STempPermNoNetwork, STempPermNoExec, > + STempNoFileOrNetwork, STempNoExecOrNetwork, STempNoFileOrExec, > + STempNoFileOrNetworkOrExec, STempAllMedia, STempSoundOnly, > + STempClipboardOnly, STempPrintOnly, STempAllFileAndPropertyAccess, > + STempReadLocalFilesAndProperties, STempReflectionOnly): removed > + (STempNetwork, STempReadFilesAndProperties, STempWriteFilesAndProperties, > + STempReflectionAndExternal, STempAllMedia): new messages > + * netx/net/sourceforge/jnlp/resources/Messages_cs.properties > + (STempPermNoFile, STempPermNoNetwork, STempPermNoExec, > + STempNoFileOrNetwork, STempNoExecOrNetwork, STempNoFileOrExec, > + STempNoFileOrNetworkOrExec, STempAllMedia, STempSoundOnly, > + STempClipboardOnly, STempPrintOnly, STempAllFileAndPropertyAccess, > + STempReadLocalFilesAndProperties, STempReflectionOnly): removed > + * netx/net/sourceforge/jnlp/security/dialogs/TemporaryPermissions.java: > + rewrite to use reflection to generate permissions from > + PolicyEditorPermissions rather than exposing statically defined values > + * netx/net/sourceforge/jnlp/security/dialogs/TemporaryPermissionsButton.java: > + refactor to use new TemporaryPermissions change > + * tests/netx/unit/net/sourceforge/jnlp/security/dialogs/TemporaryPermissionsTest.java: > + new tests for TemporaryPermissions > + > 2014-06-12 Andrew Azores > > * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java > diff --git a/netx/net/sourceforge/jnlp/resources/Messages.properties b/netx/net/sourceforge/jnlp/resources/Messages.properties > --- a/netx/net/sourceforge/jnlp/resources/Messages.properties > +++ b/netx/net/sourceforge/jnlp/resources/Messages.properties > @@ -305,20 +305,11 @@ STrustedOnlyAttributeFailure=This applic > STOAsignedMsgFully = The applet is fully signed > STOAsignedMsgAndSandbox = The applet is fully signed and sandboxed > STOAsignedMsgPartiall = The applet is not fully signed > -STempPermNoFile=No file access > -STempPermNoNetwork=No network access > -STempPermNoExec=No command execution > -STempNoFileOrNetwork=No file or network access > -STempNoExecOrNetwork=No command execution or network access > -STempNoFileOrExec=No file access or command execution > -STempNoFileOrNetworkOrExec=No file access, network access, or command execution > -STempAllMedia=All media > -STempSoundOnly=Play audio > -STempClipboardOnly=Access clipboard > -STempPrintOnly=Print documents > -STempAllFileAndPropertyAccess=All file and properties access > -STempReadLocalFilesAndProperties=Read-only local files and properties > -STempReflectionOnly=Java Reflection only > +STempNetwork=Allow incoming and outgoing network connections > +STempReadFilesAndProperties=Read-only access to all files and properties > +STempWriteFilesAndProperties=Write-only access to all files and properties > +STempReflectionAndExternal=Java Reflection and external code access > +STempAllMedia=All media (printing, audio, clipboard access) > > # Security - used for the More Information dialog > SBadKeyUsage=Resources contain entries whose signer certificate's KeyUsage extension doesn't allow code signing. > diff --git a/netx/net/sourceforge/jnlp/resources/Messages_cs.properties b/netx/net/sourceforge/jnlp/resources/Messages_cs.properties > --- a/netx/net/sourceforge/jnlp/resources/Messages_cs.properties > +++ b/netx/net/sourceforge/jnlp/resources/Messages_cs.properties > @@ -301,20 +301,6 @@ STrustedOnlyAttributeFailure=Element \u2 > STOAsignedMsgFully= Aplet je kompletn\u011b podeps\u00e1n. > STOAsignedMsgAndSandbox= Aplet je kompletn\u011b podeps\u00e1n a b\u011b\u017e\u00ed v izolovan\u00e9m prostoru (sandbox). > STOAsignedMsgPartiall= Aplet nen\u00ed kompletn\u011b podeps\u00e1n. > -STempPermNoFile=Bez p\u0159\u00edstupu k soubor\u016fm > -STempPermNoNetwork=Bez p\u0159\u00edstupu k s\u00edti > -STempPermNoExec=Bez mo\u017enosti spou\u0161t\u011bt p\u0159\u00edkazy > -STempNoFileOrNetwork=Bez p\u0159\u00edstupu k soubor\u016fm a s\u00edti > -STempNoExecOrNetwork=Bez mo\u017enosti spou\u0161t\u011bt p\u0159\u00edkazy a bez p\u0159\u00edstupu k s\u00edti > -STempNoFileOrExec=Bez p\u0159\u00edstupu k soubor\u016fm a bez mo\u017enosti spou\u0161t\u011bt p\u0159\u00edkazy > -STempNoFileOrNetworkOrExec=Bez p\u0159\u00edstupu k soubor\u016fm a s\u00edti a bez mo\u017enosti spou\u0161t\u011bt p\u0159\u00edkazy > -STempAllMedia=V\u0161echna m\u00e9dia > -STempSoundOnly=P\u0159ehr\u00e1v\u00e1n\u00ed audia > -STempClipboardOnly=P\u0159\u00edstup do schr\u00e1nky > -STempPrintOnly=Tisknut\u00ed dokument\u016f > -STempAllFileAndPropertyAccess=P\u0159\u00edstup ke v\u0161em soubor\u016fm a vlastnostem. > -STempReadLocalFilesAndProperties=P\u0159\u00edstup k lok\u00e1ln\u00edm soubor\u016fm a vlastnostem v re\u017eimu pro \u010dten\u00ed > -STempReflectionOnly=Pouze rozhran\u00ed Java Reflection > > # Security - used for the More Information dialog > SBadKeyUsage=Zdroj obsahuje polo\u017eky, u nich\u017e roz\u0161\u00ed\u0159en\u00ed pou\u017eit\u00ed kl\u00ed\u010de KeyUsage certifik\u00e1tu podepisovatele nedovoluje podeps\u00e1n\u00ed k\u00f3du. > diff --git a/netx/net/sourceforge/jnlp/security/dialogs/TemporaryPermissions.java b/netx/net/sourceforge/jnlp/security/dialogs/TemporaryPermissions.java > --- a/netx/net/sourceforge/jnlp/security/dialogs/TemporaryPermissions.java > +++ b/netx/net/sourceforge/jnlp/security/dialogs/TemporaryPermissions.java > @@ -36,173 +36,83 @@ exception statement from your version. > > package net.sourceforge.jnlp.security.dialogs; > > -import java.awt.AWTPermission; > -import java.io.FilePermission; > -import java.lang.reflect.ReflectPermission; > -import java.net.SocketPermission; > +import java.lang.reflect.Constructor; > +import java.lang.reflect.InvocationTargetException; > import java.security.Permission; > import java.util.Arrays; > import java.util.Collection; > import java.util.Collections; > import java.util.HashSet; > -import java.util.PropertyPermission; > +import java.util.regex.Matcher; > +import java.util.regex.Pattern; > > -import javax.sound.sampled.AudioPermission; > - > -import static net.sourceforge.jnlp.security.policyeditor.PolicyEditorPermissions.*; > +import net.sourceforge.jnlp.security.policyeditor.PermissionActions; > +import net.sourceforge.jnlp.security.policyeditor.PolicyEditorPermissions; > +import net.sourceforge.jnlp.util.logging.OutputController; > > public class TemporaryPermissions { > > - // We can't use the PolicyEditorPermissions versions of these, because they rely on System Property expansion, which is perfomed > - // by the policy parser, but not by the Permissions constructors. > - private static final String USER_HOME = System.getProperty("user.home"); > - private static final String TMPDIR = System.getProperty("java.io.tmpdir"); > + // Look for expandable properties in targets, eg ${user.home} or ${java.io.tmpdir} > + private static final Pattern expandablePattern = Pattern.compile("\\$\\{([a-zA-Z0-9\\.}]+)*\\}"); > > - public static final FilePermission READ_LOCAL_FILES_PERMISSION = new FilePermission(USER_HOME, READ_LOCAL_FILES.getActions().rawString()); > - public static final FilePermission WRITE_LOCAL_FILES_PERMISSION = new FilePermission(USER_HOME, WRITE_LOCAL_FILES.getActions().rawString()); > - public static final FilePermission DELETE_LOCAL_FILES_PERMISSION = new FilePermission(USER_HOME, DELETE_LOCAL_FILES.getActions().rawString()); > - public static final FilePermission READ_TMP_FILES_PERMISSION = new FilePermission(TMPDIR, READ_TMP_FILES.getActions().rawString()); > - public static final FilePermission WRITE_TMP_FILES_PERMISSION = new FilePermission(TMPDIR, WRITE_TMP_FILES.getActions().rawString()); > - public static final FilePermission DELETE_TMP_FILES_PERMISSION = new FilePermission(TMPDIR, DELETE_TMP_FILES.getActions().rawString()); > - public static final FilePermission READ_SYSTEM_FILES_PERMISSION = new FilePermission(READ_SYSTEM_FILES.getTarget().target, READ_SYSTEM_FILES.getActions() > - .rawString()); > - public static final FilePermission WRITE_SYSTEM_FILES_PERMISSION = new FilePermission(WRITE_SYSTEM_FILES.getTarget().target, WRITE_SYSTEM_FILES > - .getActions().rawString()); > - > - public static final PropertyPermission READ_PROPERTIES_PERMISSION = new PropertyPermission(READ_PROPERTIES.getTarget().target, READ_PROPERTIES.getActions() > - .rawString()); > - public static final PropertyPermission WRITE_PROPERTIES_PERMISSION = new PropertyPermission(WRITE_PROPERTIES.getTarget().target, WRITE_PROPERTIES > - .getActions().rawString()); > - > - public static final FilePermission EXEC_PERMISSION = new FilePermission(EXEC_COMMANDS.getTarget().target, EXEC_COMMANDS.getActions().rawString()); > - public static final RuntimePermission GETENV_PERMISSION = new RuntimePermission(GET_ENV.getTarget().target); > - > - public static final SocketPermission NETWORK_PERMISSION = new SocketPermission(NETWORK.getTarget().target, NETWORK.getActions().rawString()); > - > - public static final ReflectPermission REFLECTION_PERMISSION = new ReflectPermission(JAVA_REFLECTION.getTarget().target); > - public static final RuntimePermission CLASSLOADER_PERMISSION = new RuntimePermission(GET_CLASSLOADER.getTarget().target); > - public static final RuntimePermission ACCESS_CLASS_IN_PACKAGE_PERMISSION = new RuntimePermission(ACCESS_CLASS_IN_PACKAGE.getTarget().target); > - public static final RuntimePermission ACCESS_DECLARED_MEMBERS_PERMISSION = new RuntimePermission(ACCESS_DECLARED_MEMBERS.getTarget().target); > - public static final RuntimePermission ACCESS_THREADS_PERMISSION = new RuntimePermission(ACCESS_THREADS.getTarget().target); > - public static final RuntimePermission ACCESS_THREADGROUPS_PERMISSION = new RuntimePermission(ACCESS_THREAD_GROUPS.getTarget().target); > - > - public static final AWTPermission AWT_PERMISSION = new AWTPermission(ALL_AWT.getTarget().target); > - public static final AudioPermission PLAY_AUDIO_PERMISSION = new AudioPermission(PLAY_AUDIO.getTarget().target); > - public static final AudioPermission RECORD_AUDIO_PERMISSION = new AudioPermission(RECORD_AUDIO.getTarget().target); > - public static final AWTPermission CLIPBOARD_PERMISSION = new AWTPermission(CLIPBOARD.getTarget().target); > - public static final RuntimePermission PRINT_PERMISSION = new RuntimePermission(PRINT.getTarget().target); > - > - public static final Collection ALL_PERMISSIONS, FILE_PERMISSIONS, PROPERTY_PERMISSIONS, NETWORK_PERMISSIONS, EXEC_PERMISSIONS, > - REFLECTION_PERMISSIONS, MEDIA_PERMISSIONS; > - static { > - final Collection all = new HashSet<>(), file = new HashSet<>(), property = new HashSet<>(), > - network = new HashSet<>(), exec = new HashSet<>(), reflection = new HashSet<>(), media = new HashSet<>(); > - > - file.add(READ_LOCAL_FILES_PERMISSION); > - file.add(WRITE_LOCAL_FILES_PERMISSION); > - file.add(DELETE_LOCAL_FILES_PERMISSION); > - file.add(READ_TMP_FILES_PERMISSION); > - file.add(WRITE_TMP_FILES_PERMISSION); > - file.add(DELETE_TMP_FILES_PERMISSION); > - file.add(READ_SYSTEM_FILES_PERMISSION); > - file.add(WRITE_SYSTEM_FILES_PERMISSION); > - FILE_PERMISSIONS = Collections.unmodifiableCollection(file); > - > - property.add(READ_PROPERTIES_PERMISSION); > - property.add(WRITE_PROPERTIES_PERMISSION); > - PROPERTY_PERMISSIONS = Collections.unmodifiableCollection(property); > - > - exec.add(EXEC_PERMISSION); > - exec.add(GETENV_PERMISSION); > - EXEC_PERMISSIONS = Collections.unmodifiableCollection(exec); > - > - network.add(NETWORK_PERMISSION); > - NETWORK_PERMISSIONS = Collections.unmodifiableCollection(network); > - > - reflection.add(REFLECTION_PERMISSION); > - reflection.add(CLASSLOADER_PERMISSION); > - reflection.add(ACCESS_CLASS_IN_PACKAGE_PERMISSION); > - reflection.add(ACCESS_DECLARED_MEMBERS_PERMISSION); > - reflection.add(ACCESS_THREADS_PERMISSION); > - reflection.add(ACCESS_THREADGROUPS_PERMISSION); > - REFLECTION_PERMISSIONS = Collections.unmodifiableCollection(reflection); > - > - media.add(AWT_PERMISSION); > - media.add(PLAY_AUDIO_PERMISSION); > - media.add(RECORD_AUDIO_PERMISSION); > - media.add(CLIPBOARD_PERMISSION); > - media.add(PRINT_PERMISSION); > - MEDIA_PERMISSIONS = Collections.unmodifiableCollection(media); > - > - all.addAll(file); > - all.addAll(property); > - all.addAll(exec); > - all.addAll(network); > - all.addAll(reflection); > - all.addAll(media); > - ALL_PERMISSIONS = Collections.unmodifiableCollection(all); > + public static Collection getPermissions(final PolicyEditorPermissions... editorPermissions) { > + return getPermissions(Arrays.asList(editorPermissions)); > } > > - private static final Collection allMinus(final Collection permissions) { > - return subtract(ALL_PERMISSIONS, permissions); > + public static Collection getPermissions(final Collection editorPermissions) { > + final Collection col = new HashSet(); > + for (final PolicyEditorPermissions editorPerm : editorPermissions) { > + col.add(getPermission(editorPerm)); > + } > + return Collections.unmodifiableCollection(col); > } > > - private static Collection sum(final Permission... permissions) { > - final Collection result = new HashSet<>(Arrays.asList(permissions)); > - return Collections.unmodifiableCollection(result); > + public static Collection getPermissions(final PolicyEditorPermissions.Group permissionsGroup) { > + return getPermissions(permissionsGroup.getPermissions()); > } > > - private static Collection sum(final Collection a, final Collection b) { > - final Collection result = new HashSet<>(); > - result.addAll(a); > - result.addAll(b); > - return Collections.unmodifiableCollection(result); > + public static Permission getPermission(final PolicyEditorPermissions editorPermission) { > + try { > + final Class clazz = Class.forName(editorPermission.getType().type); > + final Constructor ctor; > + final Permission perm; > + String target = editorPermission.getTarget().target; > + > + Matcher m = expandablePattern.matcher(target); > + while (m.find()) { > + // Expand any matches by reading from System properties, eg ${java.io.tmpdir} is /tmp on most systems > + target = m.replaceFirst(System.getProperty(m.group(1))); > + m = expandablePattern.matcher(target); > + } > + > + if (editorPermission.getActions().equals(PermissionActions.NONE)) { > + ctor = clazz.getDeclaredConstructor(new Class[] { String.class }); > + ctor.setAccessible(true); > + perm = (Permission) ctor.newInstance(target); > + } else { > + ctor = clazz.getDeclaredConstructor(new Class[] { String.class, String.class }); > + ctor.setAccessible(true); > + perm = (Permission) ctor.newInstance(target, collectionToString(editorPermission.getActions().getActions())); > + } > + return perm; > + } catch (final ClassNotFoundException | SecurityException | NoSuchMethodException > + | IllegalArgumentException | InstantiationException | IllegalAccessException | InvocationTargetException e) { > + OutputController.getLogger().log(e); > + return null; > + } > } > > - private static final Collection subtract(final Collection from, final Collection remove) { > - final Collection result = new HashSet<>(from); > - result.removeAll(remove); > - return Collections.unmodifiableCollection(result); > + private static String collectionToString(final Collection col) { > + final StringBuilder sb = new StringBuilder(); > + int count = 0; > + for (final String str : col) { > + sb.append(str); > + if (count < col.size() - 1) { > + sb.append(","); > + } > + ++count; > + } > + return sb.toString(); > } > > - public static Collection noFileAccess() { > - return allMinus(FILE_PERMISSIONS); > - } > - > - public static Collection noNetworkAccess() { > - return allMinus(Arrays.asList(new Permission[] { NETWORK_PERMISSION })); > - } > - > - public static Collection noFileOrNetworkAccess() { > - return subtract(allMinus(FILE_PERMISSIONS), NETWORK_PERMISSIONS); > - } > - > - public static Collection allFileAccessAndProperties() { > - return sum(FILE_PERMISSIONS, PROPERTY_PERMISSIONS); > - } > - > - public static Collection readLocalFilesAndProperties() { > - return sum(READ_LOCAL_FILES_PERMISSION, READ_PROPERTIES_PERMISSION); > - } > - > - public static Collection reflectionOnly() { > - return REFLECTION_PERMISSIONS; > - } > - > - public static Collection allMedia() { > - return MEDIA_PERMISSIONS; > - } > - > - public static Collection audioOnly() { > - return sum(PLAY_AUDIO_PERMISSION, RECORD_AUDIO_PERMISSION); > - } > - > - public static Collection clipboardOnly() { > - return sum(CLIPBOARD_PERMISSION); > - } > - > - public static Collection printOnly() { > - return sum(PRINT_PERMISSION); > - } > - > -} > +} > \ No newline at end of file > diff --git a/netx/net/sourceforge/jnlp/security/dialogs/TemporaryPermissionsButton.java b/netx/net/sourceforge/jnlp/security/dialogs/TemporaryPermissionsButton.java > --- a/netx/net/sourceforge/jnlp/security/dialogs/TemporaryPermissionsButton.java > +++ b/netx/net/sourceforge/jnlp/security/dialogs/TemporaryPermissionsButton.java > @@ -63,6 +63,7 @@ import net.sourceforge.jnlp.runtime.JNLP > import net.sourceforge.jnlp.runtime.JNLPRuntime; > import net.sourceforge.jnlp.security.policyeditor.PolicyEditor; > import net.sourceforge.jnlp.security.policyeditor.PolicyEditor.PolicyEditorWindow; > +import net.sourceforge.jnlp.security.policyeditor.PolicyEditorPermissions; > > public class TemporaryPermissionsButton extends JButton { > > @@ -101,51 +102,26 @@ public class TemporaryPermissionsButton > > policyMenu.addSeparator(); > > + final JCheckBoxMenuItem networkAccess = new JCheckBoxMenuItem(R("STempNetwork")); > + networkAccess.addActionListener(new TemporaryPermissionsListener(TemporaryPermissions.getPermissions(PolicyEditorPermissions.NETWORK))); > + policyMenu.add(networkAccess); > > - final JCheckBoxMenuItem noFileAccess = new JCheckBoxMenuItem(R("STempPermNoFile")); > - noFileAccess.addActionListener(new TemporaryPermissionsListener(TemporaryPermissions.noFileAccess())); > - policyMenu.add(noFileAccess); > - > - final JCheckBoxMenuItem noNetworkAccess = new JCheckBoxMenuItem(R("STempPermNoNetwork")); > - noNetworkAccess.addActionListener(new TemporaryPermissionsListener(TemporaryPermissions.noNetworkAccess())); > - policyMenu.add(noNetworkAccess); > - > - final JCheckBoxMenuItem noFileOrNetwork = new JCheckBoxMenuItem(R("STempNoFileOrNetwork")); > - noFileOrNetwork.addActionListener(new TemporaryPermissionsListener(TemporaryPermissions.noFileOrNetworkAccess())); > - policyMenu.add(noFileOrNetwork); > - > - policyMenu.addSeparator(); > - > - final JCheckBoxMenuItem allFileAccessOnly = new JCheckBoxMenuItem(R("STempAllFileAndPropertyAccess")); > - allFileAccessOnly.addActionListener(new TemporaryPermissionsListener(TemporaryPermissions.allFileAccessAndProperties())); > - policyMenu.add(allFileAccessOnly); > - > - final JCheckBoxMenuItem readLocalFilesAndProperties = new JCheckBoxMenuItem(R("STempReadLocalFilesAndProperties")); > - readLocalFilesAndProperties.addActionListener(new TemporaryPermissionsListener(TemporaryPermissions.readLocalFilesAndProperties())); > + final JCheckBoxMenuItem readLocalFilesAndProperties = new JCheckBoxMenuItem(R("STempReadFilesAndProperties")); > + readLocalFilesAndProperties.addActionListener(new TemporaryPermissionsListener(TemporaryPermissions.getPermissions(PolicyEditorPermissions.Group.ReadFileSystem))); > policyMenu.add(readLocalFilesAndProperties); > > - final JCheckBoxMenuItem reflectionOnly = new JCheckBoxMenuItem(R("STempReflectionOnly")); > - reflectionOnly.addActionListener(new TemporaryPermissionsListener(TemporaryPermissions.reflectionOnly())); > + final JCheckBoxMenuItem writeLocalFilesAndProperties = new JCheckBoxMenuItem(R("STempWriteFilesAndProperties")); > + writeLocalFilesAndProperties.addActionListener(new TemporaryPermissionsListener(TemporaryPermissions.getPermissions(PolicyEditorPermissions.Group.WriteFileSystem))); > + policyMenu.add(writeLocalFilesAndProperties); > + > + final JCheckBoxMenuItem reflectionOnly = new JCheckBoxMenuItem(R("STempReflectionAndExternal")); > + reflectionOnly.addActionListener(new TemporaryPermissionsListener(TemporaryPermissions.getPermissions(PolicyEditorPermissions.Group.AccessUnownedCode))); > policyMenu.add(reflectionOnly); > > - policyMenu.addSeparator(); > - > final JCheckBoxMenuItem allMedia = new JCheckBoxMenuItem(R("STempAllMedia")); > - allMedia.addActionListener(new TemporaryPermissionsListener(TemporaryPermissions.allMedia())); > + allMedia.addActionListener(new TemporaryPermissionsListener(TemporaryPermissions.getPermissions(PolicyEditorPermissions.Group.MediaAccess))); > policyMenu.add(allMedia); > > - final JCheckBoxMenuItem soundOnly = new JCheckBoxMenuItem(R("STempSoundOnly")); > - soundOnly.addActionListener(new TemporaryPermissionsListener(TemporaryPermissions.audioOnly())); > - policyMenu.add(soundOnly); > - > - final JCheckBoxMenuItem clipboardOnly = new JCheckBoxMenuItem(R("STempClipboardOnly")); > - clipboardOnly.addActionListener(new TemporaryPermissionsListener(TemporaryPermissions.clipboardOnly())); > - policyMenu.add(clipboardOnly); > - > - final JCheckBoxMenuItem printOnly = new JCheckBoxMenuItem(R("STempPrintOnly")); > - printOnly.addActionListener(new TemporaryPermissionsListener(TemporaryPermissions.printOnly())); > - policyMenu.add(printOnly); > - > return policyMenu; > } > > diff --git a/tests/netx/unit/net/sourceforge/jnlp/security/dialogs/TemporaryPermissionsTest.java b/tests/netx/unit/net/sourceforge/jnlp/security/dialogs/TemporaryPermissionsTest.java > new file mode 100644 > --- /dev/null > +++ b/tests/netx/unit/net/sourceforge/jnlp/security/dialogs/TemporaryPermissionsTest.java > @@ -0,0 +1,104 @@ > +/*Copyright (C) 2014 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.security.dialogs; > + > +import static org.junit.Assert.assertEquals; > + > +import java.awt.AWTPermission; > +import java.io.FilePermission; > +import java.security.Permission; > +import java.util.Arrays; > +import java.util.Collection; > +import java.util.HashSet; > +import java.util.Set; > + > +import javax.sound.sampled.AudioPermission; > + > +import net.sourceforge.jnlp.security.policyeditor.PolicyEditorPermissions; > + > +import org.junit.Test; > + > +public class TemporaryPermissionsTest { > + > + @Test > + public void testGetPermission() throws Exception { > + final Permission expected = new FilePermission(System.getProperty("java.io.tmpdir"), "read"); > + final Permission generated = TemporaryPermissions.getPermission(PolicyEditorPermissions.READ_TMP_FILES); > + assertEquals(expected, generated); > + } > + > + @Test > + public void testGetPermissionsVarargs() throws Exception { > + final Permission readTmpPermission = new FilePermission(System.getProperty("java.io.tmpdir"), "read"); > + final Permission writeTmpPermission = new FilePermission(System.getProperty("java.io.tmpdir"), "write"); > + final Set expected = new HashSet<>(Arrays.asList(readTmpPermission, writeTmpPermission)); > + final Set generated = new HashSet<>(TemporaryPermissions.getPermissions(PolicyEditorPermissions.READ_TMP_FILES, PolicyEditorPermissions.WRITE_TMP_FILES)); > + assertEquals(expected, generated); > + } > + > + @Test > + public void testGetPermissionsVarargsArray() throws Exception { > + final Permission readTmpPermission = new FilePermission(System.getProperty("java.io.tmpdir"), "read"); > + final Permission writeTmpPermission = new FilePermission(System.getProperty("java.io.tmpdir"), "write"); > + final Set expected = new HashSet<>(Arrays.asList(readTmpPermission, writeTmpPermission)); > + final PolicyEditorPermissions[] arr = new PolicyEditorPermissions[] { PolicyEditorPermissions.READ_TMP_FILES, PolicyEditorPermissions.WRITE_TMP_FILES }; > + final Set generated = new HashSet<>(TemporaryPermissions.getPermissions(arr)); > + assertEquals(expected, generated); > + } > + > + @Test > + public void testGetPermissionsCollection() throws Exception { > + final Permission readTmpPermission = new FilePermission(System.getProperty("java.io.tmpdir"), "read"); > + final Permission writeTmpPermission = new FilePermission(System.getProperty("java.io.tmpdir"), "write"); > + final Set expected = new HashSet<>(Arrays.asList(readTmpPermission, writeTmpPermission)); > + final Collection coll = Arrays.asList(PolicyEditorPermissions.READ_TMP_FILES, PolicyEditorPermissions.WRITE_TMP_FILES); > + final Set generated = new HashSet<>(TemporaryPermissions.getPermissions(coll)); > + assertEquals(expected, generated); > + } > + > + @Test > + public void testGetPermissionsGroup() throws Exception { > + final Permission playAudio = new AudioPermission("play"); > + final Permission recordAudio = new AudioPermission("record"); > + final Permission print = new RuntimePermission("queuePrintJob"); > + final Permission clipboard = new AWTPermission("accessClipboard"); > + final Set expected = new HashSet<>(Arrays.asList(playAudio, recordAudio, print, clipboard)); > + final Set generated = new HashSet<>(TemporaryPermissions.getPermissions(PolicyEditorPermissions.Group.MediaAccess)); > + assertEquals(expected, generated); > + } > + > +} > \ No newline at end of file From aazores at redhat.com Fri Jun 13 20:41:41 2014 From: aazores at redhat.com (Andrew Azores) Date: Fri, 13 Jun 2014 16:41:41 -0400 Subject: [rfc][icedtea-web] Temporary Permissions generated via reflection (re-proposal) In-Reply-To: <20140613202656.GE2116@redhat.com> References: <539B1426.9060803@redhat.com> <539B160F.2030905@redhat.com> <20140613202656.GE2116@redhat.com> Message-ID: <539B6205.9010305@redhat.com> On 06/13/2014 04:26 PM, Deepak Bhole wrote: > * Andrew Azores [2014-06-13 11:19]: >> On 06/13/2014 11:09 AM, Andrew Azores wrote: >>> Hi, >>> >>> When Temporary Permissions on the security dialogs were first introduced, >>> I proposed to have them generated from the PolicyEditorPermissions >>> dynamically using reflection, so that "grantable" permissions were only >>> defined in one place and so maintenance would be easy, and the >>> TemporaryPermissions class could be kept small. This was rejected due to >>> the required use of reflection, but I am re-proposing this patch because I >>> do believe it is a much cleaner solution, especially now that the number >>> of grantable permissions has grown and the temporary permissions menu has >>> become a multi-select UI rather than preset groups. >>> >>> ChangeLog: >>> TemporaryPermissions generated via reflection rather than hard coded >>> * netx/net/sourceforge/jnlp/resources/Messages.properties >>> (STempPermNoFile, STempPermNoNetwork, STempPermNoExec, >>> STempNoFileOrNetwork, STempNoExecOrNetwork, STempNoFileOrExec, >>> STempNoFileOrNetworkOrExec, STempAllMedia, STempSoundOnly, >>> STempClipboardOnly, STempPrintOnly, STempAllFileAndPropertyAccess, >>> STempReadLocalFilesAndProperties, STempReflectionOnly): removed >>> (STempNetwork, STempReadFilesAndProperties, >>> STempWriteFilesAndProperties, >>> STempReflectionAndExternal, STempAllMedia): new messages >>> * netx/net/sourceforge/jnlp/resources/Messages_cs.properties >>> (STempPermNoFile, STempPermNoNetwork, STempPermNoExec, >>> STempNoFileOrNetwork, STempNoExecOrNetwork, STempNoFileOrExec, >>> STempNoFileOrNetworkOrExec, STempAllMedia, STempSoundOnly, >>> STempClipboardOnly, STempPrintOnly, STempAllFileAndPropertyAccess, >>> STempReadLocalFilesAndProperties, STempReflectionOnly): removed >>> * >>> netx/net/sourceforge/jnlp/security/dialogs/TemporaryPermissions.java: >>> rewrite to use reflection to generate permissions from >>> PolicyEditorPermissions rather than exposing statically defined values >>> * >>> netx/net/sourceforge/jnlp/security/dialogs/TemporaryPermissionsButton.java: >>> refactor to use new TemporaryPermissions change >>> * tests/netx/unit/net/sourceforge/jnlp/security/dialogs/TemporaryPermissionsTest.java: >>> new tests for TemporaryPermissions >>> >>> >>> Thanks, >>> >> Lightning-quick update thanks to Jie Kang's keen eye: now using multi-catch >> in TemporaryPermissions.getPermission. Semantically the same and no other >> changes. >> > Hi Andrew, > > I agree, reflection is preferable over an ever growing list of static > permission objects. > > Right now the code seems to be boxed such that the reflected object > creation is always done dynamically (via the new getPermission method). > Is there is a chance that this could later be utilized with user input? > > In its current static state it is fine, but my concern is that there is > no arg sanitization when we try to create permission objects with the > given string args in getPermission. In addition to potential bugs, there > could also be security implications caused by incorrect permission > creation/granting. > > Rest looks fine to me. > > Cheers, > Deepak I don't anticipate this particular code being used to accept user input, although I suppose it would be possible. For me at least the purpose of these temporary permissions is just to give users a faster way to quickly test applets with various restricted permission configurations, rather than having to use PolicyEditor or policytool, which is a bit more involved. If the user needs a custom-defined permission, then PolicyEditor allows this through CustomPolicyViewer. As it is, the PolicyEditorPermissions argument is pretty restrictive already. It's an enum with two String fields providing simple human-readable descriptions, and three more enum fields that model the permission type (eg java.io.FilePermission), target (eg "${user.home}"), and actions (eg "read"). So there isn't any actual sanitization on the input, but it's just because the input is restricted to come from these pre-defined enum values anyway. Thanks, -- Andrew A From dbhole at redhat.com Fri Jun 13 20:43:47 2014 From: dbhole at redhat.com (Deepak Bhole) Date: Fri, 13 Jun 2014 16:43:47 -0400 Subject: [rfc][icedtea-web] Temporary Permissions generated via reflection (re-proposal) In-Reply-To: <539B6205.9010305@redhat.com> References: <539B1426.9060803@redhat.com> <539B160F.2030905@redhat.com> <20140613202656.GE2116@redhat.com> <539B6205.9010305@redhat.com> Message-ID: <20140613204346.GA8935@redhat.com> * Andrew Azores [2014-06-13 16:41]: > On 06/13/2014 04:26 PM, Deepak Bhole wrote: > >* Andrew Azores [2014-06-13 11:19]: > >>On 06/13/2014 11:09 AM, Andrew Azores wrote: > >>>Hi, > >>> > >>>When Temporary Permissions on the security dialogs were first introduced, > >>>I proposed to have them generated from the PolicyEditorPermissions > >>>dynamically using reflection, so that "grantable" permissions were only > >>>defined in one place and so maintenance would be easy, and the > >>>TemporaryPermissions class could be kept small. This was rejected due to > >>>the required use of reflection, but I am re-proposing this patch because I > >>>do believe it is a much cleaner solution, especially now that the number > >>>of grantable permissions has grown and the temporary permissions menu has > >>>become a multi-select UI rather than preset groups. > >>> > >>>ChangeLog: > >>> TemporaryPermissions generated via reflection rather than hard coded > >>> * netx/net/sourceforge/jnlp/resources/Messages.properties > >>> (STempPermNoFile, STempPermNoNetwork, STempPermNoExec, > >>> STempNoFileOrNetwork, STempNoExecOrNetwork, STempNoFileOrExec, > >>> STempNoFileOrNetworkOrExec, STempAllMedia, STempSoundOnly, > >>> STempClipboardOnly, STempPrintOnly, STempAllFileAndPropertyAccess, > >>> STempReadLocalFilesAndProperties, STempReflectionOnly): removed > >>> (STempNetwork, STempReadFilesAndProperties, > >>>STempWriteFilesAndProperties, > >>> STempReflectionAndExternal, STempAllMedia): new messages > >>> * netx/net/sourceforge/jnlp/resources/Messages_cs.properties > >>> (STempPermNoFile, STempPermNoNetwork, STempPermNoExec, > >>> STempNoFileOrNetwork, STempNoExecOrNetwork, STempNoFileOrExec, > >>> STempNoFileOrNetworkOrExec, STempAllMedia, STempSoundOnly, > >>> STempClipboardOnly, STempPrintOnly, STempAllFileAndPropertyAccess, > >>> STempReadLocalFilesAndProperties, STempReflectionOnly): removed > >>> * > >>>netx/net/sourceforge/jnlp/security/dialogs/TemporaryPermissions.java: > >>> rewrite to use reflection to generate permissions from > >>> PolicyEditorPermissions rather than exposing statically defined values > >>> * > >>>netx/net/sourceforge/jnlp/security/dialogs/TemporaryPermissionsButton.java: > >>> refactor to use new TemporaryPermissions change > >>> * tests/netx/unit/net/sourceforge/jnlp/security/dialogs/TemporaryPermissionsTest.java: > >>> new tests for TemporaryPermissions > >>> > >>> > >>>Thanks, > >>> > >>Lightning-quick update thanks to Jie Kang's keen eye: now using multi-catch > >>in TemporaryPermissions.getPermission. Semantically the same and no other > >>changes. > >> > >Hi Andrew, > > > >I agree, reflection is preferable over an ever growing list of static > >permission objects. > > > >Right now the code seems to be boxed such that the reflected object > >creation is always done dynamically (via the new getPermission method). > >Is there is a chance that this could later be utilized with user input? > > > >In its current static state it is fine, but my concern is that there is > >no arg sanitization when we try to create permission objects with the > >given string args in getPermission. In addition to potential bugs, there > >could also be security implications caused by incorrect permission > >creation/granting. > > > >Rest looks fine to me. > > > >Cheers, > >Deepak > > I don't anticipate this particular code being used to accept user input, > although I suppose it would be possible. For me at least the purpose of > these temporary permissions is just to give users a faster way to quickly > test applets with various restricted permission configurations, rather than > having to use PolicyEditor or policytool, which is a bit more involved. If > the user needs a custom-defined permission, then PolicyEditor allows this > through CustomPolicyViewer. > > As it is, the PolicyEditorPermissions argument is pretty restrictive > already. It's an enum with two String fields providing simple human-readable > descriptions, and three more enum fields that model the permission type (eg > java.io.FilePermission), target (eg "${user.home}"), and actions (eg > "read"). So there isn't any actual sanitization on the input, but it's just > because the input is restricted to come from these pre-defined enum values > anyway. > Ah okay, fair enough. Thanks for clearing it up. Assuming you have tested this, approved for HEAD. Deepak > Thanks, > > -- > Andrew A > From aazores at icedtea.classpath.org Fri Jun 13 20:49:24 2014 From: aazores at icedtea.classpath.org (aazores at icedtea.classpath.org) Date: Fri, 13 Jun 2014 20:49:24 +0000 Subject: /hg/icedtea-web: TemporaryPermissions generated via reflection r... Message-ID: changeset e5d8a62d2170 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=e5d8a62d2170 author: Andrew Azores date: Fri Jun 13 16:48:22 2014 -0400 TemporaryPermissions generated via reflection rather than hard coded 2014-06-13 Andrew Azores TemporaryPermissions generated via reflection rather than hard coded * netx/net/sourceforge/jnlp/resources/Messages.properties (STempPermNoFile, STempPermNoNetwork, STempPermNoExec, STempNoFileOrNetwork, STempNoExecOrNetwork, STempNoFileOrExec, STempNoFileOrNetworkOrExec, STempAllMedia, STempSoundOnly, STempClipboardOnly, STempPrintOnly, STempAllFileAndPropertyAccess, STempReadLocalFilesAndProperties, STempReflectionOnly): removed (STempNetwork, STempReadFilesAndProperties, STempWriteFilesAndProperties, STempReflectionAndExternal, STempAllMedia): new messages * netx/net/sourceforge/jnlp/resources/Messages_cs.properties (STempPermNoFile, STempPermNoNetwork, STempPermNoExec, STempNoFileOrNetwork, STempNoExecOrNetwork, STempNoFileOrExec, STempNoFileOrNetworkOrExec, STempAllMedia, STempSoundOnly, STempClipboardOnly, STempPrintOnly, STempAllFileAndPropertyAccess, STempReadLocalFilesAndProperties, STempReflectionOnly): removed * netx/net/sourceforge/jnlp/security/dialogs/TemporaryPermissions.java: rewrite to use reflection to generate permissions from PolicyEditorPermissions rather than exposing statically defined values * netx/net/sourceforge/jnlp/security/dialogs/TemporaryPermissionsButton.java: refactor to use new TemporaryPermissions change * tests/netx/unit/net/sourceforge/jnlp/security/dialogs/TemporaryPermissionsTest.java: new tests for TemporaryPermissions diffstat: ChangeLog | 25 + netx/net/sourceforge/jnlp/resources/Messages.properties | 19 +- netx/net/sourceforge/jnlp/resources/Messages_cs.properties | 14 - netx/net/sourceforge/jnlp/security/dialogs/TemporaryPermissions.java | 210 ++------- netx/net/sourceforge/jnlp/security/dialogs/TemporaryPermissionsButton.java | 50 +- tests/netx/unit/net/sourceforge/jnlp/security/dialogs/TemporaryPermissionsTest.java | 104 ++++ 6 files changed, 207 insertions(+), 215 deletions(-) diffs (truncated from 507 to 500 lines): diff -r 0d6f97d838b7 -r e5d8a62d2170 ChangeLog --- a/ChangeLog Thu Jun 12 16:51:32 2014 -0400 +++ b/ChangeLog Fri Jun 13 16:48:22 2014 -0400 @@ -1,3 +1,28 @@ +2014-06-13 Andrew Azores + + TemporaryPermissions generated via reflection rather than hard coded + * netx/net/sourceforge/jnlp/resources/Messages.properties + (STempPermNoFile, STempPermNoNetwork, STempPermNoExec, + STempNoFileOrNetwork, STempNoExecOrNetwork, STempNoFileOrExec, + STempNoFileOrNetworkOrExec, STempAllMedia, STempSoundOnly, + STempClipboardOnly, STempPrintOnly, STempAllFileAndPropertyAccess, + STempReadLocalFilesAndProperties, STempReflectionOnly): removed + (STempNetwork, STempReadFilesAndProperties, STempWriteFilesAndProperties, + STempReflectionAndExternal, STempAllMedia): new messages + * netx/net/sourceforge/jnlp/resources/Messages_cs.properties + (STempPermNoFile, STempPermNoNetwork, STempPermNoExec, + STempNoFileOrNetwork, STempNoExecOrNetwork, STempNoFileOrExec, + STempNoFileOrNetworkOrExec, STempAllMedia, STempSoundOnly, + STempClipboardOnly, STempPrintOnly, STempAllFileAndPropertyAccess, + STempReadLocalFilesAndProperties, STempReflectionOnly): removed + * netx/net/sourceforge/jnlp/security/dialogs/TemporaryPermissions.java: + rewrite to use reflection to generate permissions from + PolicyEditorPermissions rather than exposing statically defined values + * netx/net/sourceforge/jnlp/security/dialogs/TemporaryPermissionsButton.java: + refactor to use new TemporaryPermissions change + * tests/netx/unit/net/sourceforge/jnlp/security/dialogs/TemporaryPermissionsTest.java: + new tests for TemporaryPermissions + 2014-06-12 Andrew Azores * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java diff -r 0d6f97d838b7 -r e5d8a62d2170 netx/net/sourceforge/jnlp/resources/Messages.properties --- a/netx/net/sourceforge/jnlp/resources/Messages.properties Thu Jun 12 16:51:32 2014 -0400 +++ b/netx/net/sourceforge/jnlp/resources/Messages.properties Fri Jun 13 16:48:22 2014 -0400 @@ -305,20 +305,11 @@ STOAsignedMsgFully = The applet is fully signed STOAsignedMsgAndSandbox = The applet is fully signed and sandboxed STOAsignedMsgPartiall = The applet is not fully signed -STempPermNoFile=No file access -STempPermNoNetwork=No network access -STempPermNoExec=No command execution -STempNoFileOrNetwork=No file or network access -STempNoExecOrNetwork=No command execution or network access -STempNoFileOrExec=No file access or command execution -STempNoFileOrNetworkOrExec=No file access, network access, or command execution -STempAllMedia=All media -STempSoundOnly=Play audio -STempClipboardOnly=Access clipboard -STempPrintOnly=Print documents -STempAllFileAndPropertyAccess=All file and properties access -STempReadLocalFilesAndProperties=Read-only local files and properties -STempReflectionOnly=Java Reflection only +STempNetwork=Allow incoming and outgoing network connections +STempReadFilesAndProperties=Read-only access to all files and properties +STempWriteFilesAndProperties=Write-only access to all files and properties +STempReflectionAndExternal=Java Reflection and external code access +STempAllMedia=All media (printing, audio, clipboard access) # Security - used for the More Information dialog SBadKeyUsage=Resources contain entries whose signer certificate's KeyUsage extension doesn't allow code signing. diff -r 0d6f97d838b7 -r e5d8a62d2170 netx/net/sourceforge/jnlp/resources/Messages_cs.properties --- a/netx/net/sourceforge/jnlp/resources/Messages_cs.properties Thu Jun 12 16:51:32 2014 -0400 +++ b/netx/net/sourceforge/jnlp/resources/Messages_cs.properties Fri Jun 13 16:48:22 2014 -0400 @@ -301,20 +301,6 @@ STOAsignedMsgFully= Aplet je kompletn\u011b podeps\u00e1n. STOAsignedMsgAndSandbox= Aplet je kompletn\u011b podeps\u00e1n a b\u011b\u017e\u00ed v izolovan\u00e9m prostoru (sandbox). STOAsignedMsgPartiall= Aplet nen\u00ed kompletn\u011b podeps\u00e1n. -STempPermNoFile=Bez p\u0159\u00edstupu k soubor\u016fm -STempPermNoNetwork=Bez p\u0159\u00edstupu k s\u00edti -STempPermNoExec=Bez mo\u017enosti spou\u0161t\u011bt p\u0159\u00edkazy -STempNoFileOrNetwork=Bez p\u0159\u00edstupu k soubor\u016fm a s\u00edti -STempNoExecOrNetwork=Bez mo\u017enosti spou\u0161t\u011bt p\u0159\u00edkazy a bez p\u0159\u00edstupu k s\u00edti -STempNoFileOrExec=Bez p\u0159\u00edstupu k soubor\u016fm a bez mo\u017enosti spou\u0161t\u011bt p\u0159\u00edkazy -STempNoFileOrNetworkOrExec=Bez p\u0159\u00edstupu k soubor\u016fm a s\u00edti a bez mo\u017enosti spou\u0161t\u011bt p\u0159\u00edkazy -STempAllMedia=V\u0161echna m\u00e9dia -STempSoundOnly=P\u0159ehr\u00e1v\u00e1n\u00ed audia -STempClipboardOnly=P\u0159\u00edstup do schr\u00e1nky -STempPrintOnly=Tisknut\u00ed dokument\u016f -STempAllFileAndPropertyAccess=P\u0159\u00edstup ke v\u0161em soubor\u016fm a vlastnostem. -STempReadLocalFilesAndProperties=P\u0159\u00edstup k lok\u00e1ln\u00edm soubor\u016fm a vlastnostem v re\u017eimu pro \u010dten\u00ed -STempReflectionOnly=Pouze rozhran\u00ed Java Reflection # Security - used for the More Information dialog SBadKeyUsage=Zdroj obsahuje polo\u017eky, u nich\u017e roz\u0161\u00ed\u0159en\u00ed pou\u017eit\u00ed kl\u00ed\u010de KeyUsage certifik\u00e1tu podepisovatele nedovoluje podeps\u00e1n\u00ed k\u00f3du. diff -r 0d6f97d838b7 -r e5d8a62d2170 netx/net/sourceforge/jnlp/security/dialogs/TemporaryPermissions.java --- a/netx/net/sourceforge/jnlp/security/dialogs/TemporaryPermissions.java Thu Jun 12 16:51:32 2014 -0400 +++ b/netx/net/sourceforge/jnlp/security/dialogs/TemporaryPermissions.java Fri Jun 13 16:48:22 2014 -0400 @@ -36,173 +36,83 @@ package net.sourceforge.jnlp.security.dialogs; -import java.awt.AWTPermission; -import java.io.FilePermission; -import java.lang.reflect.ReflectPermission; -import java.net.SocketPermission; +import java.lang.reflect.Constructor; +import java.lang.reflect.InvocationTargetException; import java.security.Permission; import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.HashSet; -import java.util.PropertyPermission; +import java.util.regex.Matcher; +import java.util.regex.Pattern; -import javax.sound.sampled.AudioPermission; - -import static net.sourceforge.jnlp.security.policyeditor.PolicyEditorPermissions.*; +import net.sourceforge.jnlp.security.policyeditor.PermissionActions; +import net.sourceforge.jnlp.security.policyeditor.PolicyEditorPermissions; +import net.sourceforge.jnlp.util.logging.OutputController; public class TemporaryPermissions { - // We can't use the PolicyEditorPermissions versions of these, because they rely on System Property expansion, which is perfomed - // by the policy parser, but not by the Permissions constructors. - private static final String USER_HOME = System.getProperty("user.home"); - private static final String TMPDIR = System.getProperty("java.io.tmpdir"); + // Look for expandable properties in targets, eg ${user.home} or ${java.io.tmpdir} + private static final Pattern expandablePattern = Pattern.compile("\\$\\{([a-zA-Z0-9\\.}]+)*\\}"); - public static final FilePermission READ_LOCAL_FILES_PERMISSION = new FilePermission(USER_HOME, READ_LOCAL_FILES.getActions().rawString()); - public static final FilePermission WRITE_LOCAL_FILES_PERMISSION = new FilePermission(USER_HOME, WRITE_LOCAL_FILES.getActions().rawString()); - public static final FilePermission DELETE_LOCAL_FILES_PERMISSION = new FilePermission(USER_HOME, DELETE_LOCAL_FILES.getActions().rawString()); - public static final FilePermission READ_TMP_FILES_PERMISSION = new FilePermission(TMPDIR, READ_TMP_FILES.getActions().rawString()); - public static final FilePermission WRITE_TMP_FILES_PERMISSION = new FilePermission(TMPDIR, WRITE_TMP_FILES.getActions().rawString()); - public static final FilePermission DELETE_TMP_FILES_PERMISSION = new FilePermission(TMPDIR, DELETE_TMP_FILES.getActions().rawString()); - public static final FilePermission READ_SYSTEM_FILES_PERMISSION = new FilePermission(READ_SYSTEM_FILES.getTarget().target, READ_SYSTEM_FILES.getActions() - .rawString()); - public static final FilePermission WRITE_SYSTEM_FILES_PERMISSION = new FilePermission(WRITE_SYSTEM_FILES.getTarget().target, WRITE_SYSTEM_FILES - .getActions().rawString()); - - public static final PropertyPermission READ_PROPERTIES_PERMISSION = new PropertyPermission(READ_PROPERTIES.getTarget().target, READ_PROPERTIES.getActions() - .rawString()); - public static final PropertyPermission WRITE_PROPERTIES_PERMISSION = new PropertyPermission(WRITE_PROPERTIES.getTarget().target, WRITE_PROPERTIES - .getActions().rawString()); - - public static final FilePermission EXEC_PERMISSION = new FilePermission(EXEC_COMMANDS.getTarget().target, EXEC_COMMANDS.getActions().rawString()); - public static final RuntimePermission GETENV_PERMISSION = new RuntimePermission(GET_ENV.getTarget().target); - - public static final SocketPermission NETWORK_PERMISSION = new SocketPermission(NETWORK.getTarget().target, NETWORK.getActions().rawString()); - - public static final ReflectPermission REFLECTION_PERMISSION = new ReflectPermission(JAVA_REFLECTION.getTarget().target); - public static final RuntimePermission CLASSLOADER_PERMISSION = new RuntimePermission(GET_CLASSLOADER.getTarget().target); - public static final RuntimePermission ACCESS_CLASS_IN_PACKAGE_PERMISSION = new RuntimePermission(ACCESS_CLASS_IN_PACKAGE.getTarget().target); - public static final RuntimePermission ACCESS_DECLARED_MEMBERS_PERMISSION = new RuntimePermission(ACCESS_DECLARED_MEMBERS.getTarget().target); - public static final RuntimePermission ACCESS_THREADS_PERMISSION = new RuntimePermission(ACCESS_THREADS.getTarget().target); - public static final RuntimePermission ACCESS_THREADGROUPS_PERMISSION = new RuntimePermission(ACCESS_THREAD_GROUPS.getTarget().target); - - public static final AWTPermission AWT_PERMISSION = new AWTPermission(ALL_AWT.getTarget().target); - public static final AudioPermission PLAY_AUDIO_PERMISSION = new AudioPermission(PLAY_AUDIO.getTarget().target); - public static final AudioPermission RECORD_AUDIO_PERMISSION = new AudioPermission(RECORD_AUDIO.getTarget().target); - public static final AWTPermission CLIPBOARD_PERMISSION = new AWTPermission(CLIPBOARD.getTarget().target); - public static final RuntimePermission PRINT_PERMISSION = new RuntimePermission(PRINT.getTarget().target); - - public static final Collection ALL_PERMISSIONS, FILE_PERMISSIONS, PROPERTY_PERMISSIONS, NETWORK_PERMISSIONS, EXEC_PERMISSIONS, - REFLECTION_PERMISSIONS, MEDIA_PERMISSIONS; - static { - final Collection all = new HashSet<>(), file = new HashSet<>(), property = new HashSet<>(), - network = new HashSet<>(), exec = new HashSet<>(), reflection = new HashSet<>(), media = new HashSet<>(); - - file.add(READ_LOCAL_FILES_PERMISSION); - file.add(WRITE_LOCAL_FILES_PERMISSION); - file.add(DELETE_LOCAL_FILES_PERMISSION); - file.add(READ_TMP_FILES_PERMISSION); - file.add(WRITE_TMP_FILES_PERMISSION); - file.add(DELETE_TMP_FILES_PERMISSION); - file.add(READ_SYSTEM_FILES_PERMISSION); - file.add(WRITE_SYSTEM_FILES_PERMISSION); - FILE_PERMISSIONS = Collections.unmodifiableCollection(file); - - property.add(READ_PROPERTIES_PERMISSION); - property.add(WRITE_PROPERTIES_PERMISSION); - PROPERTY_PERMISSIONS = Collections.unmodifiableCollection(property); - - exec.add(EXEC_PERMISSION); - exec.add(GETENV_PERMISSION); - EXEC_PERMISSIONS = Collections.unmodifiableCollection(exec); - - network.add(NETWORK_PERMISSION); - NETWORK_PERMISSIONS = Collections.unmodifiableCollection(network); - - reflection.add(REFLECTION_PERMISSION); - reflection.add(CLASSLOADER_PERMISSION); - reflection.add(ACCESS_CLASS_IN_PACKAGE_PERMISSION); - reflection.add(ACCESS_DECLARED_MEMBERS_PERMISSION); - reflection.add(ACCESS_THREADS_PERMISSION); - reflection.add(ACCESS_THREADGROUPS_PERMISSION); - REFLECTION_PERMISSIONS = Collections.unmodifiableCollection(reflection); - - media.add(AWT_PERMISSION); - media.add(PLAY_AUDIO_PERMISSION); - media.add(RECORD_AUDIO_PERMISSION); - media.add(CLIPBOARD_PERMISSION); - media.add(PRINT_PERMISSION); - MEDIA_PERMISSIONS = Collections.unmodifiableCollection(media); - - all.addAll(file); - all.addAll(property); - all.addAll(exec); - all.addAll(network); - all.addAll(reflection); - all.addAll(media); - ALL_PERMISSIONS = Collections.unmodifiableCollection(all); + public static Collection getPermissions(final PolicyEditorPermissions... editorPermissions) { + return getPermissions(Arrays.asList(editorPermissions)); } - private static final Collection allMinus(final Collection permissions) { - return subtract(ALL_PERMISSIONS, permissions); + public static Collection getPermissions(final Collection editorPermissions) { + final Collection col = new HashSet(); + for (final PolicyEditorPermissions editorPerm : editorPermissions) { + col.add(getPermission(editorPerm)); + } + return Collections.unmodifiableCollection(col); } - private static Collection sum(final Permission... permissions) { - final Collection result = new HashSet<>(Arrays.asList(permissions)); - return Collections.unmodifiableCollection(result); + public static Collection getPermissions(final PolicyEditorPermissions.Group permissionsGroup) { + return getPermissions(permissionsGroup.getPermissions()); } - private static Collection sum(final Collection a, final Collection b) { - final Collection result = new HashSet<>(); - result.addAll(a); - result.addAll(b); - return Collections.unmodifiableCollection(result); + public static Permission getPermission(final PolicyEditorPermissions editorPermission) { + try { + final Class clazz = Class.forName(editorPermission.getType().type); + final Constructor ctor; + final Permission perm; + String target = editorPermission.getTarget().target; + + Matcher m = expandablePattern.matcher(target); + while (m.find()) { + // Expand any matches by reading from System properties, eg ${java.io.tmpdir} is /tmp on most systems + target = m.replaceFirst(System.getProperty(m.group(1))); + m = expandablePattern.matcher(target); + } + + if (editorPermission.getActions().equals(PermissionActions.NONE)) { + ctor = clazz.getDeclaredConstructor(new Class[] { String.class }); + ctor.setAccessible(true); + perm = (Permission) ctor.newInstance(target); + } else { + ctor = clazz.getDeclaredConstructor(new Class[] { String.class, String.class }); + ctor.setAccessible(true); + perm = (Permission) ctor.newInstance(target, collectionToString(editorPermission.getActions().getActions())); + } + return perm; + } catch (final ClassNotFoundException | SecurityException | NoSuchMethodException + | IllegalArgumentException | InstantiationException | IllegalAccessException | InvocationTargetException e) { + OutputController.getLogger().log(e); + return null; + } } - private static final Collection subtract(final Collection from, final Collection remove) { - final Collection result = new HashSet<>(from); - result.removeAll(remove); - return Collections.unmodifiableCollection(result); + private static String collectionToString(final Collection col) { + final StringBuilder sb = new StringBuilder(); + int count = 0; + for (final String str : col) { + sb.append(str); + if (count < col.size() - 1) { + sb.append(","); + } + ++count; + } + return sb.toString(); } - public static Collection noFileAccess() { - return allMinus(FILE_PERMISSIONS); - } - - public static Collection noNetworkAccess() { - return allMinus(Arrays.asList(new Permission[] { NETWORK_PERMISSION })); - } - - public static Collection noFileOrNetworkAccess() { - return subtract(allMinus(FILE_PERMISSIONS), NETWORK_PERMISSIONS); - } - - public static Collection allFileAccessAndProperties() { - return sum(FILE_PERMISSIONS, PROPERTY_PERMISSIONS); - } - - public static Collection readLocalFilesAndProperties() { - return sum(READ_LOCAL_FILES_PERMISSION, READ_PROPERTIES_PERMISSION); - } - - public static Collection reflectionOnly() { - return REFLECTION_PERMISSIONS; - } - - public static Collection allMedia() { - return MEDIA_PERMISSIONS; - } - - public static Collection audioOnly() { - return sum(PLAY_AUDIO_PERMISSION, RECORD_AUDIO_PERMISSION); - } - - public static Collection clipboardOnly() { - return sum(CLIPBOARD_PERMISSION); - } - - public static Collection printOnly() { - return sum(PRINT_PERMISSION); - } - -} +} \ No newline at end of file diff -r 0d6f97d838b7 -r e5d8a62d2170 netx/net/sourceforge/jnlp/security/dialogs/TemporaryPermissionsButton.java --- a/netx/net/sourceforge/jnlp/security/dialogs/TemporaryPermissionsButton.java Thu Jun 12 16:51:32 2014 -0400 +++ b/netx/net/sourceforge/jnlp/security/dialogs/TemporaryPermissionsButton.java Fri Jun 13 16:48:22 2014 -0400 @@ -63,6 +63,7 @@ import net.sourceforge.jnlp.runtime.JNLPRuntime; import net.sourceforge.jnlp.security.policyeditor.PolicyEditor; import net.sourceforge.jnlp.security.policyeditor.PolicyEditor.PolicyEditorWindow; +import net.sourceforge.jnlp.security.policyeditor.PolicyEditorPermissions; public class TemporaryPermissionsButton extends JButton { @@ -101,51 +102,26 @@ policyMenu.addSeparator(); + final JCheckBoxMenuItem networkAccess = new JCheckBoxMenuItem(R("STempNetwork")); + networkAccess.addActionListener(new TemporaryPermissionsListener(TemporaryPermissions.getPermissions(PolicyEditorPermissions.NETWORK))); + policyMenu.add(networkAccess); - final JCheckBoxMenuItem noFileAccess = new JCheckBoxMenuItem(R("STempPermNoFile")); - noFileAccess.addActionListener(new TemporaryPermissionsListener(TemporaryPermissions.noFileAccess())); - policyMenu.add(noFileAccess); - - final JCheckBoxMenuItem noNetworkAccess = new JCheckBoxMenuItem(R("STempPermNoNetwork")); - noNetworkAccess.addActionListener(new TemporaryPermissionsListener(TemporaryPermissions.noNetworkAccess())); - policyMenu.add(noNetworkAccess); - - final JCheckBoxMenuItem noFileOrNetwork = new JCheckBoxMenuItem(R("STempNoFileOrNetwork")); - noFileOrNetwork.addActionListener(new TemporaryPermissionsListener(TemporaryPermissions.noFileOrNetworkAccess())); - policyMenu.add(noFileOrNetwork); - - policyMenu.addSeparator(); - - final JCheckBoxMenuItem allFileAccessOnly = new JCheckBoxMenuItem(R("STempAllFileAndPropertyAccess")); - allFileAccessOnly.addActionListener(new TemporaryPermissionsListener(TemporaryPermissions.allFileAccessAndProperties())); - policyMenu.add(allFileAccessOnly); - - final JCheckBoxMenuItem readLocalFilesAndProperties = new JCheckBoxMenuItem(R("STempReadLocalFilesAndProperties")); - readLocalFilesAndProperties.addActionListener(new TemporaryPermissionsListener(TemporaryPermissions.readLocalFilesAndProperties())); + final JCheckBoxMenuItem readLocalFilesAndProperties = new JCheckBoxMenuItem(R("STempReadFilesAndProperties")); + readLocalFilesAndProperties.addActionListener(new TemporaryPermissionsListener(TemporaryPermissions.getPermissions(PolicyEditorPermissions.Group.ReadFileSystem))); policyMenu.add(readLocalFilesAndProperties); - final JCheckBoxMenuItem reflectionOnly = new JCheckBoxMenuItem(R("STempReflectionOnly")); - reflectionOnly.addActionListener(new TemporaryPermissionsListener(TemporaryPermissions.reflectionOnly())); + final JCheckBoxMenuItem writeLocalFilesAndProperties = new JCheckBoxMenuItem(R("STempWriteFilesAndProperties")); + writeLocalFilesAndProperties.addActionListener(new TemporaryPermissionsListener(TemporaryPermissions.getPermissions(PolicyEditorPermissions.Group.WriteFileSystem))); + policyMenu.add(writeLocalFilesAndProperties); + + final JCheckBoxMenuItem reflectionOnly = new JCheckBoxMenuItem(R("STempReflectionAndExternal")); + reflectionOnly.addActionListener(new TemporaryPermissionsListener(TemporaryPermissions.getPermissions(PolicyEditorPermissions.Group.AccessUnownedCode))); policyMenu.add(reflectionOnly); - policyMenu.addSeparator(); - final JCheckBoxMenuItem allMedia = new JCheckBoxMenuItem(R("STempAllMedia")); - allMedia.addActionListener(new TemporaryPermissionsListener(TemporaryPermissions.allMedia())); + allMedia.addActionListener(new TemporaryPermissionsListener(TemporaryPermissions.getPermissions(PolicyEditorPermissions.Group.MediaAccess))); policyMenu.add(allMedia); - final JCheckBoxMenuItem soundOnly = new JCheckBoxMenuItem(R("STempSoundOnly")); - soundOnly.addActionListener(new TemporaryPermissionsListener(TemporaryPermissions.audioOnly())); - policyMenu.add(soundOnly); - - final JCheckBoxMenuItem clipboardOnly = new JCheckBoxMenuItem(R("STempClipboardOnly")); - clipboardOnly.addActionListener(new TemporaryPermissionsListener(TemporaryPermissions.clipboardOnly())); - policyMenu.add(clipboardOnly); - - final JCheckBoxMenuItem printOnly = new JCheckBoxMenuItem(R("STempPrintOnly")); - printOnly.addActionListener(new TemporaryPermissionsListener(TemporaryPermissions.printOnly())); - policyMenu.add(printOnly); - return policyMenu; } diff -r 0d6f97d838b7 -r e5d8a62d2170 tests/netx/unit/net/sourceforge/jnlp/security/dialogs/TemporaryPermissionsTest.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/netx/unit/net/sourceforge/jnlp/security/dialogs/TemporaryPermissionsTest.java Fri Jun 13 16:48:22 2014 -0400 @@ -0,0 +1,104 @@ +/*Copyright (C) 2014 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.security.dialogs; + +import static org.junit.Assert.assertEquals; + +import java.awt.AWTPermission; +import java.io.FilePermission; +import java.security.Permission; +import java.util.Arrays; +import java.util.Collection; +import java.util.HashSet; +import java.util.Set; + +import javax.sound.sampled.AudioPermission; + +import net.sourceforge.jnlp.security.policyeditor.PolicyEditorPermissions; + +import org.junit.Test; + +public class TemporaryPermissionsTest { + + @Test + public void testGetPermission() throws Exception { + final Permission expected = new FilePermission(System.getProperty("java.io.tmpdir"), "read"); + final Permission generated = TemporaryPermissions.getPermission(PolicyEditorPermissions.READ_TMP_FILES); + assertEquals(expected, generated); + } + + @Test + public void testGetPermissionsVarargs() throws Exception { + final Permission readTmpPermission = new FilePermission(System.getProperty("java.io.tmpdir"), "read"); + final Permission writeTmpPermission = new FilePermission(System.getProperty("java.io.tmpdir"), "write"); + final Set expected = new HashSet<>(Arrays.asList(readTmpPermission, writeTmpPermission)); + final Set generated = new HashSet<>(TemporaryPermissions.getPermissions(PolicyEditorPermissions.READ_TMP_FILES, PolicyEditorPermissions.WRITE_TMP_FILES)); + assertEquals(expected, generated); + } + + @Test + public void testGetPermissionsVarargsArray() throws Exception { + final Permission readTmpPermission = new FilePermission(System.getProperty("java.io.tmpdir"), "read"); + final Permission writeTmpPermission = new FilePermission(System.getProperty("java.io.tmpdir"), "write"); + final Set expected = new HashSet<>(Arrays.asList(readTmpPermission, writeTmpPermission)); + final PolicyEditorPermissions[] arr = new PolicyEditorPermissions[] { PolicyEditorPermissions.READ_TMP_FILES, PolicyEditorPermissions.WRITE_TMP_FILES }; + final Set generated = new HashSet<>(TemporaryPermissions.getPermissions(arr)); + assertEquals(expected, generated); + } + + @Test + public void testGetPermissionsCollection() throws Exception { + final Permission readTmpPermission = new FilePermission(System.getProperty("java.io.tmpdir"), "read"); + final Permission writeTmpPermission = new FilePermission(System.getProperty("java.io.tmpdir"), "write"); + final Set expected = new HashSet<>(Arrays.asList(readTmpPermission, writeTmpPermission)); + final Collection coll = Arrays.asList(PolicyEditorPermissions.READ_TMP_FILES, PolicyEditorPermissions.WRITE_TMP_FILES); + final Set generated = new HashSet<>(TemporaryPermissions.getPermissions(coll)); + assertEquals(expected, generated); + } + + @Test + public void testGetPermissionsGroup() throws Exception { + final Permission playAudio = new AudioPermission("play"); + final Permission recordAudio = new AudioPermission("record"); + final Permission print = new RuntimePermission("queuePrintJob"); + final Permission clipboard = new AWTPermission("accessClipboard"); From bugzilla-daemon at icedtea.classpath.org Fri Jun 13 21:31:44 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 13 Jun 2014 21:31:44 +0000 Subject: [Bug 1848] New: [IcedTea7] Removal of project support leaves trailing '-' in version Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1848 Bug ID: 1848 Summary: [IcedTea7] Removal of project support leaves trailing '-' in version Product: IcedTea Version: 7-hg Hardware: all OS: All Status: NEW Severity: normal Priority: P5 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: gnu.andrew at redhat.com CC: unassigned at icedtea.classpath.org The use of PROJECT_NAME should have been removed from Makefile.am when PR1365 was added. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Fri Jun 13 21:32:08 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 13 Jun 2014 21:32:08 +0000 Subject: [Bug 1848] [IcedTea7] Removal of project support leaves trailing '-' in version In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1848 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Blocks| |1284 Target Milestone|--- |2.5.0 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Fri Jun 13 21:32:08 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 13 Jun 2014 21:32:08 +0000 Subject: [Bug 1284] [TRACKER] IcedTea 2.5.0 Release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1284 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on| |1848 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Sat Jun 14 00:17:35 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sat, 14 Jun 2014 00:17:35 +0000 Subject: [Bug 1845] jstack.stp in OpenJDK8 is broken. In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1845 --- Comment #4 from Yasumasa Suenaga --- (In reply to Andrew John Hughes from comment #3) > However, I'm a little confused by your comment 'Icedtea for OpenJDK8 ships > jstack.stp'. We haven't yet shipped a release of IcedTea for OpenJDK 8 Sorry, I was mistaken. I meant "icedtea" http://icedtea.classpath.org/hg/icedtea/ . My patch has been created from it. > I've linked this bug to the 3.0.0 tracker to ensure it isn't missed. Thanks! -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From andrew at icedtea.classpath.org Sat Jun 14 07:02:03 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Sat, 14 Jun 2014 07:02:03 +0000 Subject: /hg/release/icedtea7-2.5: 10 new changesets Message-ID: changeset b19b988d9c06 in /hg/release/icedtea7-2.5 details: http://icedtea.classpath.org/hg/release/icedtea7-2.5?cmd=changeset;node=b19b988d9c06 author: Andrew John Hughes date: Thu Jun 12 21:23:05 2014 +0100 PR1741: Break PulseAudio provider out into IcedTea-Sound 2014-06-11 Andrew John Hughes PR1741: Break PulseAudio provider out into IcedTea-Sound * patches/pulse-soundproperties.patch, * pulseaudio/COPYING, * pulseaudio/README, * pulseaudio/src/java/META-INF/services/javax.sound.sampled.spi.MixerProvider, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/ContextEvent.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/ContextListener.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/Debug.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/EventLoop.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/Operation.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioClip.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioLine.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixer.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixerInfo.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixerProvider.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioPlaybackLine.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioPort.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourcePort.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetPort.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioVolumeControl.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/SecurityWrapper.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/Stream.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/StreamBufferAttributes.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/StreamSampleSpecification.java, * pulseaudio/src/native/jni-common.c, * pulseaudio/src/native/jni-common.h, * pulseaudio/src/native/org_classpath_icedtea_pulseaudio_ContextEvent.c, * pulseaudio/src/native/org_classpath_icedtea_pulseaudio_EventLoop.c, * pulseaudio/src/native/org_classpath_icedtea_pulseaudio_Operation.c, * pulseaudio/src/native/org_classpath_icedtea_pulseaudio_PulseAudioSourcePort.c, * pulseaudio/src/native/org_classpath_icedtea_pulseaudio_PulseAudioTargetPort.c, * pulseaudio/src/native/org_classpath_icedtea_pulseaudio_Stream.c, * pulseaudio/testsounds/README, * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/OtherSoundProvidersAvailableTest.java, * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioClipTest.java, * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioEventLoopOverhead.java, * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioMixerProviderTest.java, * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioMixerRawTest.java, * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioMixerTest.java, * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLineRawTest.java, * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLineTest.java, * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioSourcePortTest.java, * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLineTest.java, * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioTargetPortTest.java: Moved to IcedTea-Sound. * INSTALL: Remove PulseAudio references. * Makefile.am: (PULSE_JAVA_DIR): Removed. (PULSE_JAVA_NATIVE_SRCDIR): Likewise. (PULSE_JAVA_NATIVE_SRCS): Likewise. (PULSE_JAVA_BUILDDIR): Likewise. (PULSE_JAVA_NATIVE_BUILDDIR): Likewise. (PULSE_JAVA_NATIVE_OBJECTS): Likewise. (PULSE_JAVA_JAVA_SRCDIR): Likewise. (PULSE_JAVA_CLASS_DIR): Likewise. (PULSE_JAVA_TARGET): Removed. (ICEDTEA_PATCHES): Drop PulseAudio patch. (PULSEAUDIO_SRCS): Removed. (EXTRA_DIST): Removed PULSEAUDIO_SRCS. (clean-local): Remove clean-add-pulseaudio and clean-add-pulseaudio-debug. (.PHONY): Likewise and clean-add-pulseaudio-boot. (add-pulseaudio): Removed. (clean-add-pulseaudio): Likewise. (add-pulseaudio-debug): Likewise. (clean-add-pulseaudio-debug): Likewise. (icedtea-stage2): Remove add-pulseaudio dependency. (icedtea-debug-stage2): Remove add-pulseaudio-debug dependency. (add-pulseaudio-boot): Removed. (clean-add-pulseaudio-boot): Likewise. (icedtea-stage1): Remove add-pulseaudio-boot debug. (clean-icedtea-stage1): Remove clean-add-pulseaudio-boot dependency. (pulse-java): Removed. (pulse-java-class): Likewise. (pulse-java-jar): Likewise. (pulse-java-headers): Likewise. ($(PULSE_JAVA_NATIVE_BUILDDIR)/%.o): Likewise. ($(PULSE_JAVA_NATIVE_BUILDDIR)/libpulse-java.so): Likewise. (clean-pulse-java): Likewise. * NEWS: Updated. * configure.ac: Remove --enable-pulse-java option and PulseAudio library checks. changeset 012d523c56c9 in /hg/release/icedtea7-2.5 details: http://icedtea.classpath.org/hg/release/icedtea7-2.5?cmd=changeset;node=012d523c56c9 author: Andrew John Hughes date: Fri Jun 13 01:30:38 2014 +0100 Update to icedtea-2.5pre08. PR1736: AWT loads gtk3 in all the look and feel configurations PR1808: Type-punning Warnings in Demos on PPC PR1835: Missing file in backport of ppc64le JIT support PR1839, G478960: Provide Infinality Support via fontconfig PR729: GTKLookAndFeel should be the system look&feel on all GNU/Linux desktops 2014-06-12 Andrew John Hughes * AUTHORS: Add authors of infinality patch. Websites are used as present as couldn't find any e-mail addresses. * INSTALL: Document --enable-infinality. * Makefile.am: (CORBA_CHANGESET): Update to icedtea-2.5pre08 tag. (JAXP_CHANGESET): Likewise. (JAXWS_CHANGESET): Likewise. (JDK_CHANGESET): Likewise. (LANGTOOLS_CHANGESET): Likewise. (OPENJDK_CHANGESET): Likewise. (CORBA_SHA256SUM): Likewise. (JAXP_SHA256SUM): Likewise. (JAXWS_SHA256SUM): Likewise. (JDK_SHA256SUM): Likewise. (LANGTOOLS_SHA256SUM): Likewise. (OPENJDK_SHA256SUM): Likewise. (DROP_URL): Added to point to drops on IcedTea server. (CACAO_BASE_URL): Reference DROP_URL. (JAMVM_BASE_URL): Likewise. (ICEDTEA_MAJOR): Split out major release name ('IcedTea7') (ICEDTEA_BRANCH): Split out branch version ('2.5') (ICEDTEA_PREFIX): Use ICEDTEA_MAJOR and ICEDTEA_BRANCH. (ICEDTEA_URL): Path to drops. (OPENJDK_URL): Removed. (CORBA_URL): Likewise. (JAXP_URL): Likewise. (JAXWS_URL): Likewise. (JDK_URL): Likewise. (LANGTOOLS_URL): Likewise. (HS_TYPE): Added. Differentiate between a drop tarball and a hg archive in hotspot.map. (HS_URL): Bump field number by 1 following addition of type. (HS_CHANGESET): Likewise. (HS_SHA256SUM): Likewise. (OPENJDK_SRC_ZIP): Change suffix to bz2. (CORBA_SRC_ZIP): Likewise. (JAXP_SRC_ZIP): Likewise. (JAXWS_SRC_ZIP): Likewise. (JDK_SRC_ZIP): Likewise. (LANGTOOLS_SRC_ZIP): Likewise. (HOTSPOT_SRC_ZIP): Likewise. (ICEDTEA_ENV): Set INFINALITY_SUPPORT=true when infinality is enabled. (download-openjdk): Use ICEDTEA_URL for all drops. (download-hotspot); Support HS_TYPE, appending "archive/$(HS_CHANGESET)" to hg archive URLs and "$(HOTSPOT_SRC_ZIP)" to drop URLs. (ADD_ZERO_CONFIGURE_ARGS): Change suffix to bz2. * NEWS: Updated. * acinclude.m4: (IT_ENABLE_INFINALITY): Macro for new option. * configure.ac: Invoke IT_ENABLE_INFINALITY instead of its dependency, IT_CHECK_FOR_FONTCONFIG. Bump to pre08. * hotspot.map: Update to icedtea-2.5pre08tag. Set type of default to drop and aarch64 to hg. changeset 1e1166e396a0 in /hg/release/icedtea7-2.5 details: http://icedtea.classpath.org/hg/release/icedtea7-2.5?cmd=changeset;node=1e1166e396a0 author: Andrew John Hughes date: Fri Jun 13 01:46:35 2014 +0100 Update tarball scripts and .hgignore 2014-06-12 Andrew John Hughes * .hgignore: Add compile script added by recent version of Automake. * scripts/create_tarballs.sh: New script to create tarballs using Mercurial, as used for the drops created for the previous bump. * scripts/gen_changeset_and_sha256sums.sh: Updated to latest local version, with support for tarballs created by create_tarballs.sh. * scripts/update_tarballs.sh: Updated to latest local version with support for OpenJDK 8. changeset 2311a87279e8 in /hg/release/icedtea7-2.5 details: http://icedtea.classpath.org/hg/release/icedtea7-2.5?cmd=changeset;node=2311a87279e8 author: Andrew John Hughes date: Fri Jun 13 01:56:52 2014 +0100 Remove obsolete files. 2014-06-13 Andrew John Hughes * javaws.desktop, * javaws.png: Remove obsolete files. * Makefile.am: (EXTRA_DIST): Remove above. changeset f327af93706b in /hg/release/icedtea7-2.5 details: http://icedtea.classpath.org/hg/release/icedtea7-2.5?cmd=changeset;node=f327af93706b author: Andrew John Hughes date: Fri Jun 13 02:04:10 2014 +0100 PR1843: Fail early if there is no native HotSpot JIT & all other options are disabled 2014-06-12 Andrew John Hughes PR1843: Fail early if there is no native HotSpot JIT & all other options are disabled * acinclude.m4: (IT_ENABLE_ZERO_BUILD): Depend on IT_HAS_NATIVE_HOTSPOT_PORT. Split out arch-dependent code into that macro. Make ENABLE_CACAO test more readable. (IT_ENABLE_CACAO): Handle enableval same as other macros so possible values are only ever yes or no. (IT_ENABLE_JAMVM): Likewise. (IT_HAS_NATIVE_HOTSPOT_PORT): Architecture detection split out from IT_ENABLE_ZERO_BUILD. Now sets has_native_hotspot_port for later reference. * configure.ac: Error out if there is no native HotSpot port and Zero (which implies Shark & ARM32 JIT), CACAO and JamVM are all disabled. changeset 86ec9bccfca9 in /hg/release/icedtea7-2.5 details: http://icedtea.classpath.org/hg/release/icedtea7-2.5?cmd=changeset;node=86ec9bccfca9 author: Andrew John Hughes date: Fri Jun 13 20:23:50 2014 +0100 Prepare for 2.5.0 release. 2014-06-13 Andrew John Hughes * configure.ac: Set to 2.5.0. * NEWS: Set release date to today. changeset 47947856cc3e in /hg/release/icedtea7-2.5 details: http://icedtea.classpath.org/hg/release/icedtea7-2.5?cmd=changeset;node=47947856cc3e author: Andrew John Hughes date: Fri Jun 13 23:03:30 2014 +0100 Update aarch64 port to jdk7u60_b04_aarch64_832 2014-06-13 Andrew John Hughes Update aarch64 port to jdk7u60_b04_aarch64_832 * Makefile.am: (ICEDTEA_PATCHES): Add back systemtap_gc patch just for aarch64. Now included in default tree. * hotspot.map: Bump aarch64 port and switch to drop as with default. changeset 15b1fc0169cc in /hg/release/icedtea7-2.5 details: http://icedtea.classpath.org/hg/release/icedtea7-2.5?cmd=changeset;node=15b1fc0169cc author: Andrew John Hughes date: Fri Jun 13 23:06:24 2014 +0100 PR1848: Removal of project support leaves trailing '-' in version 2014-06-13 Andrew John Hughes PR1848: Removal of project support leaves trailing '-' in version * Makefile.am: (versioning): Drop use of PROJECT_NAME removed in PR1365. * NEWS: Updated. changeset 81ffee9f8143 in /hg/release/icedtea7-2.5 details: http://icedtea.classpath.org/hg/release/icedtea7-2.5?cmd=changeset;node=81ffee9f8143 author: Andrew John Hughes date: Sat Jun 14 00:57:51 2014 +0100 Sync security changes for AArch64 port from 2.4 branch. 2014-03-28 Andrew John Hughes * Makefile.am: (ICEDTEA_PATCHES): Add HotSpot security fixes for AArch64 port. (ICEDTEA_ENV): Set FULL_DEBUG_SYMBOLS=0 in AArch64 build to avoid generating .diz files. * patches/hotspot/aarch64/20140415-8029858-enhance_array_copies.patch, * patches/hotspot/aarch64/20140415-8034926-attribute_classes_properly.patch: HotSpot security fixes for AArch64 port. changeset 76ee7340a65f in /hg/release/icedtea7-2.5 details: http://icedtea.classpath.org/hg/release/icedtea7-2.5?cmd=changeset;node=76ee7340a65f author: Andrew John Hughes date: Sat Jun 14 07:29:33 2014 +0100 Added tag icedtea-2.5.0 for changeset 81ffee9f8143 diffstat: .hgignore | 2 +- .hgtags | 1 + AUTHORS | 2 + ChangeLog | 227 + INSTALL | 10 +- Makefile.am | 313 +- NEWS | 10 +- acinclude.m4 | 91 +- configure.ac | 35 +- hotspot.map | 6 +- javaws.desktop | 11 - javaws.png | Bin patches/hotspot/aarch64/20140415-8029858-enhance_array_copies.patch | 22 + patches/hotspot/aarch64/20140415-8034926-attribute_classes_properly.patch | 32 + patches/pulse-soundproperties.patch | 16 - pulseaudio/COPYING | 340 -- pulseaudio/README | 28 - pulseaudio/src/java/META-INF/services/javax.sound.sampled.spi.MixerProvider | 3 - pulseaudio/src/java/org/classpath/icedtea/pulseaudio/ContextEvent.java | 104 - pulseaudio/src/java/org/classpath/icedtea/pulseaudio/ContextListener.java | 50 - pulseaudio/src/java/org/classpath/icedtea/pulseaudio/Debug.java | 114 - pulseaudio/src/java/org/classpath/icedtea/pulseaudio/EventLoop.java | 246 - pulseaudio/src/java/org/classpath/icedtea/pulseaudio/Operation.java | 166 - pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioClip.java | 574 ---- pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java | 498 --- pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioLine.java | 124 - pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixer.java | 792 ----- pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixerInfo.java | 62 - pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixerProvider.java | 63 - pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioPlaybackLine.java | 87 - pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioPort.java | 161 - pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java | 347 -- pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourcePort.java | 95 - pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.java | 421 -- pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetPort.java | 88 - pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioVolumeControl.java | 101 - pulseaudio/src/java/org/classpath/icedtea/pulseaudio/SecurityWrapper.java | 31 - pulseaudio/src/java/org/classpath/icedtea/pulseaudio/Stream.java | 869 ------ pulseaudio/src/java/org/classpath/icedtea/pulseaudio/StreamBufferAttributes.java | 84 - pulseaudio/src/java/org/classpath/icedtea/pulseaudio/StreamSampleSpecification.java | 70 - pulseaudio/src/native/jni-common.c | 236 - pulseaudio/src/native/jni-common.h | 100 - pulseaudio/src/native/org_classpath_icedtea_pulseaudio_ContextEvent.c | 63 - pulseaudio/src/native/org_classpath_icedtea_pulseaudio_EventLoop.c | 297 -- pulseaudio/src/native/org_classpath_icedtea_pulseaudio_Operation.c | 100 - pulseaudio/src/native/org_classpath_icedtea_pulseaudio_PulseAudioSourcePort.c | 102 - pulseaudio/src/native/org_classpath_icedtea_pulseaudio_PulseAudioTargetPort.c | 107 - pulseaudio/src/native/org_classpath_icedtea_pulseaudio_Stream.c | 1103 ------- pulseaudio/testsounds/README | 4 - pulseaudio/testsounds/error.wav | Bin pulseaudio/testsounds/logout.wav | Bin pulseaudio/testsounds/startup.wav | Bin pulseaudio/unittests/org/classpath/icedtea/pulseaudio/OtherSoundProvidersAvailableTest.java | 114 - pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioClipTest.java | 637 ---- pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioEventLoopOverhead.java | 100 - pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioMixerProviderTest.java | 118 - pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioMixerRawTest.java | 120 - pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioMixerTest.java | 434 --- pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLineRawTest.java | 299 -- pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLineTest.java | 1406 ---------- pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioSourcePortTest.java | 117 - pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLineTest.java | 648 ---- pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioTargetPortTest.java | 117 - scripts/create_tarballs.sh | 93 + scripts/gen_changeset_and_sha256sums.sh | 80 +- scripts/update_tarballs.sh | 79 +- 66 files changed, 690 insertions(+), 12080 deletions(-) diffs (truncated from 13399 to 500 lines): diff -r 716f160592e2 -r 76ee7340a65f .hgignore --- a/.hgignore Wed Jun 11 02:29:44 2014 +0100 +++ b/.hgignore Sat Jun 14 07:29:33 2014 +0100 @@ -10,4 +10,4 @@ config.status install-sh Makefile.in - +compile diff -r 716f160592e2 -r 76ee7340a65f .hgtags --- a/.hgtags Wed Jun 11 02:29:44 2014 +0100 +++ b/.hgtags Sat Jun 14 07:29:33 2014 +0100 @@ -36,3 +36,4 @@ 60c41b88775a8043ff4922278eb0e801c330e8fe icedtea-2.3-branchpoint d0b14be8cbf8a705a3bec6cf8828b982405b059c icedtea-2.4-branchpoint b3eb30a2db9022bf34c51794ebe66f623c359d4c icedtea-2.5-branchpoint +81ffee9f8143a9ced4e3c418924f2641ed72b2cc icedtea-2.5.0 diff -r 716f160592e2 -r 76ee7340a65f AUTHORS --- a/AUTHORS Wed Jun 11 02:29:44 2014 +0100 +++ b/AUTHORS Sat Jun 14 07:29:33 2014 +0100 @@ -2,6 +2,7 @@ Please keep this list in alphabetical order. Lillian Angel +Aleksandar Antok Alon Bar-Lev Gary Benson Tania Bento @@ -22,6 +23,7 @@ Radim Kolar Matthias Klose Francis Kung +Trustin Lee DJ Lucas Omair Majid Casey Marshall diff -r 716f160592e2 -r 76ee7340a65f ChangeLog --- a/ChangeLog Wed Jun 11 02:29:44 2014 +0100 +++ b/ChangeLog Sat Jun 14 07:29:33 2014 +0100 @@ -1,3 +1,230 @@ +2014-03-28 Andrew John Hughes + + * Makefile.am: + (ICEDTEA_PATCHES): Add HotSpot security fixes for + AArch64 port. + (ICEDTEA_ENV): Set FULL_DEBUG_SYMBOLS=0 in AArch64 + build to avoid generating .diz files. + * patches/hotspot/aarch64/20140415-8029858-enhance_array_copies.patch, + * patches/hotspot/aarch64/20140415-8034926-attribute_classes_properly.patch: + HotSpot security fixes for AArch64 port. + +2014-06-13 Andrew John Hughes + + PR1848: Removal of project support leaves + trailing '-' in version + * Makefile.am: + (versioning): Drop use of PROJECT_NAME removed + in PR1365. + * NEWS: Updated. + +2014-06-13 Andrew John Hughes + + Update aarch64 port to jdk7u60_b04_aarch64_832 + * Makefile.am: + (ICEDTEA_PATCHES): Add back systemtap_gc patch + just for aarch64. Now included in default tree. + * hotspot.map: + Bump aarch64 port and switch to drop as with default. + +2014-06-13 Andrew John Hughes + + * configure.ac: Set to 2.5.0. + * NEWS: Set release date to today. + +2014-06-12 Andrew John Hughes + + PR1843: Fail early if there is no native HotSpot JIT + & all other options are disabled + * acinclude.m4: + (IT_ENABLE_ZERO_BUILD): Depend on + IT_HAS_NATIVE_HOTSPOT_PORT. Split out arch-dependent + code into that macro. Make ENABLE_CACAO test more + readable. + (IT_ENABLE_CACAO): Handle enableval same as other macros + so possible values are only ever yes or no. + (IT_ENABLE_JAMVM): Likewise. + (IT_HAS_NATIVE_HOTSPOT_PORT): Architecture detection + split out from IT_ENABLE_ZERO_BUILD. Now sets + has_native_hotspot_port for later reference. + * configure.ac: + Error out if there is no native HotSpot port and + Zero (which implies Shark & ARM32 JIT), CACAO and + JamVM are all disabled. + +2014-06-13 Andrew John Hughes + + * javaws.desktop, + * javaws.png: + Remove obsolete files. + * Makefile.am: + (EXTRA_DIST): Remove above. + +2014-06-12 Andrew John Hughes + + * .hgignore: Add compile script added by + recent version of Automake. + * scripts/create_tarballs.sh: New script + to create tarballs using Mercurial, as used + for the drops created for the previous bump. + * scripts/gen_changeset_and_sha256sums.sh: + Updated to latest local version, with support + for tarballs created by create_tarballs.sh. + * scripts/update_tarballs.sh: + Updated to latest local version with support + for OpenJDK 8. + +2014-06-12 Andrew John Hughes + + * AUTHORS: + Add authors of infinality patch. Websites are used + as present as couldn't find any e-mail addresses. + * INSTALL: Document --enable-infinality. + * Makefile.am: + (CORBA_CHANGESET): Update to icedtea-2.5pre08 tag. + (JAXP_CHANGESET): Likewise. + (JAXWS_CHANGESET): Likewise. + (JDK_CHANGESET): Likewise. + (LANGTOOLS_CHANGESET): Likewise. + (OPENJDK_CHANGESET): Likewise. + (CORBA_SHA256SUM): Likewise. + (JAXP_SHA256SUM): Likewise. + (JAXWS_SHA256SUM): Likewise. + (JDK_SHA256SUM): Likewise. + (LANGTOOLS_SHA256SUM): Likewise. + (OPENJDK_SHA256SUM): Likewise. + (DROP_URL): Added to point to drops on IcedTea server. + (CACAO_BASE_URL): Reference DROP_URL. + (JAMVM_BASE_URL): Likewise. + (ICEDTEA_MAJOR): Split out major release name ('IcedTea7') + (ICEDTEA_BRANCH): Split out branch version ('2.5') + (ICEDTEA_PREFIX): Use ICEDTEA_MAJOR and ICEDTEA_BRANCH. + (ICEDTEA_URL): Path to drops. + (OPENJDK_URL): Removed. + (CORBA_URL): Likewise. + (JAXP_URL): Likewise. + (JAXWS_URL): Likewise. + (JDK_URL): Likewise. + (LANGTOOLS_URL): Likewise. + (HS_TYPE): Added. Differentiate between a drop tarball + and a hg archive in hotspot.map. + (HS_URL): Bump field number by 1 following addition of type. + (HS_CHANGESET): Likewise. + (HS_SHA256SUM): Likewise. + (OPENJDK_SRC_ZIP): Change suffix to bz2. + (CORBA_SRC_ZIP): Likewise. + (JAXP_SRC_ZIP): Likewise. + (JAXWS_SRC_ZIP): Likewise. + (JDK_SRC_ZIP): Likewise. + (LANGTOOLS_SRC_ZIP): Likewise. + (HOTSPOT_SRC_ZIP): Likewise. + (ICEDTEA_ENV): Set INFINALITY_SUPPORT=true when + infinality is enabled. + (download-openjdk): Use ICEDTEA_URL for all drops. + (download-hotspot); Support HS_TYPE, appending + "archive/$(HS_CHANGESET)" to hg archive URLs and + "$(HOTSPOT_SRC_ZIP)" to drop URLs. + (ADD_ZERO_CONFIGURE_ARGS): Change suffix to bz2. + * NEWS: Updated. + * acinclude.m4: + (IT_ENABLE_INFINALITY): Macro for new option. + * configure.ac: Invoke IT_ENABLE_INFINALITY instead + of its dependency, IT_CHECK_FOR_FONTCONFIG. Bump to + pre08. + * hotspot.map: Update to icedtea-2.5pre08tag. Set + type of default to drop and aarch64 to hg. + +2014-06-11 Andrew John Hughes + + PR1741: Break PulseAudio provider out into IcedTea-Sound + * patches/pulse-soundproperties.patch, + * pulseaudio/COPYING, + * pulseaudio/README, + * pulseaudio/src/java/META-INF/services/javax.sound.sampled.spi.MixerProvider, + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/ContextEvent.java, + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/ContextListener.java, + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/Debug.java, + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/EventLoop.java, + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/Operation.java, + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioClip.java, + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java, + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioLine.java, + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixer.java, + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixerInfo.java, + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixerProvider.java, + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioPlaybackLine.java, + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioPort.java, + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java, + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourcePort.java, + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.java, + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetPort.java, + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioVolumeControl.java, + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/SecurityWrapper.java, + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/Stream.java, + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/StreamBufferAttributes.java, + * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/StreamSampleSpecification.java, + * pulseaudio/src/native/jni-common.c, + * pulseaudio/src/native/jni-common.h, + * pulseaudio/src/native/org_classpath_icedtea_pulseaudio_ContextEvent.c, + * pulseaudio/src/native/org_classpath_icedtea_pulseaudio_EventLoop.c, + * pulseaudio/src/native/org_classpath_icedtea_pulseaudio_Operation.c, + * pulseaudio/src/native/org_classpath_icedtea_pulseaudio_PulseAudioSourcePort.c, + * pulseaudio/src/native/org_classpath_icedtea_pulseaudio_PulseAudioTargetPort.c, + * pulseaudio/src/native/org_classpath_icedtea_pulseaudio_Stream.c, + * pulseaudio/testsounds/README, + * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/OtherSoundProvidersAvailableTest.java, + * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioClipTest.java, + * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioEventLoopOverhead.java, + * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioMixerProviderTest.java, + * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioMixerRawTest.java, + * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioMixerTest.java, + * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLineRawTest.java, + * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLineTest.java, + * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioSourcePortTest.java, + * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLineTest.java, + * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioTargetPortTest.java: + Moved to IcedTea-Sound. + * INSTALL: Remove PulseAudio references. + * Makefile.am: + (PULSE_JAVA_DIR): Removed. + (PULSE_JAVA_NATIVE_SRCDIR): Likewise. + (PULSE_JAVA_NATIVE_SRCS): Likewise. + (PULSE_JAVA_BUILDDIR): Likewise. + (PULSE_JAVA_NATIVE_BUILDDIR): Likewise. + (PULSE_JAVA_NATIVE_OBJECTS): Likewise. + (PULSE_JAVA_JAVA_SRCDIR): Likewise. + (PULSE_JAVA_CLASS_DIR): Likewise. + (PULSE_JAVA_TARGET): Removed. + (ICEDTEA_PATCHES): Drop PulseAudio patch. + (PULSEAUDIO_SRCS): Removed. + (EXTRA_DIST): Removed PULSEAUDIO_SRCS. + (clean-local): Remove clean-add-pulseaudio + and clean-add-pulseaudio-debug. + (.PHONY): Likewise and clean-add-pulseaudio-boot. + (add-pulseaudio): Removed. + (clean-add-pulseaudio): Likewise. + (add-pulseaudio-debug): Likewise. + (clean-add-pulseaudio-debug): Likewise. + (icedtea-stage2): Remove add-pulseaudio dependency. + (icedtea-debug-stage2): Remove add-pulseaudio-debug + dependency. + (add-pulseaudio-boot): Removed. + (clean-add-pulseaudio-boot): Likewise. + (icedtea-stage1): Remove add-pulseaudio-boot debug. + (clean-icedtea-stage1): Remove clean-add-pulseaudio-boot + dependency. + (pulse-java): Removed. + (pulse-java-class): Likewise. + (pulse-java-jar): Likewise. + (pulse-java-headers): Likewise. + ($(PULSE_JAVA_NATIVE_BUILDDIR)/%.o): Likewise. + ($(PULSE_JAVA_NATIVE_BUILDDIR)/libpulse-java.so): Likewise. + (clean-pulse-java): Likewise. + * NEWS: Updated. + * configure.ac: + Remove --enable-pulse-java option and PulseAudio library + checks. + 2014-06-10 Andrew John Hughes PR1833, RH1022017: Report elliptic curves diff -r 716f160592e2 -r 76ee7340a65f INSTALL --- a/INSTALL Wed Jun 11 02:29:44 2014 +0100 +++ b/INSTALL Sat Jun 14 07:29:33 2014 +0100 @@ -33,7 +33,6 @@ libpcsclite (for --enable-system-pcsc) rhino (can be disabled using --without-rhino) libffi (for --enable-zero or on archs other than x86/x86_64/sparc/ppc64) -pulseaudio-libs-devel >= 0.9.11 (for --enable-pulse-java) LLVM 2.5 or later (for --enable-shark) systemtap-sdl-devel >= 0.9.5 (Java method tracing requires systemtap >= 0.9.9) @@ -190,7 +189,6 @@ * --disable-hotspot-tests: Disable the running of the HotSpot JTReg suite. * --disable-langtools-tests: Disable the running of the langtools JTReg suite. * --disable-jdk-tests: Disable the running of the jdk JTreg suite. -* --enable-pulse-java: Build the PulseAudio sound provider. * --disable-xrender: Don't include the XRender pipeline. * --enable-systemtap: Include support for tracing using systemtap. * --enable-nss: Enable the NSS security provider. @@ -208,6 +206,7 @@ * --enable-sunec: Build the SunEC crypto provider against system NSS. * --enable-native-debuginfo: Include debuginfo in native binaries. * --enable-java-debuginfo: Include debuginfo in Java class files. +* --enable-infinality: Use fontconfig for better font rendering Testing ======= @@ -223,13 +222,6 @@ as a way of avoiding running the extensive JDK test suite which takes several hours. -The PulseAudio provider -======================= - -IcedTea7 includes an implementation of the javax.sound.* APIs using -PulseAudio which can be enabled using --enable-pulse-java. The resulting -provider is org.classpath.icedtea.pulseaudio.PulseAudioMixerProvider. - XRender Support =============== diff -r 716f160592e2 -r 76ee7340a65f Makefile.am --- a/Makefile.am Wed Jun 11 02:29:44 2014 +0100 +++ b/Makefile.am Sat Jun 14 07:29:33 2014 +0100 @@ -4,45 +4,44 @@ BUILD_VERSION = b30 COMBINED_VERSION = $(JDK_UPDATE_VERSION)-$(BUILD_VERSION) -CORBA_CHANGESET = 03a1bf9a9e89 -JAXP_CHANGESET = f4ad8e860eaf -JAXWS_CHANGESET = 9699fe5c5232 -JDK_CHANGESET = 5607f5a99784 -LANGTOOLS_CHANGESET = 454870780579 -OPENJDK_CHANGESET = d42df0b6ea9d +CORBA_CHANGESET = 32c25f3ecdf6 +JAXP_CHANGESET = 6b28d9218dac +JAXWS_CHANGESET = f1f1ade53c01 +JDK_CHANGESET = 9705894e1370 +LANGTOOLS_CHANGESET = f70c7b796422 +OPENJDK_CHANGESET = 6a4e58702235 -CORBA_SHA256SUM = 5f7f0c37aa0b370947bda59c6799db94e8da6aba1a82750b29907109e0326069 -JAXP_SHA256SUM = 9fe737e113ecc1424c6036fefaee4f34cd6df657a4a2ecc7b61bbab1b61e8d25 -JAXWS_SHA256SUM = cc2fc8f11e30b51cde58af756814ffa395d9b8119f9849c2681c3453f0e60d83 -JDK_SHA256SUM = 6e3070303649fe2dc98a8407f8ad9fad33208302e504dd623695e8ad0b12fae8 -LANGTOOLS_SHA256SUM = e5f761b19b250d71449cf247b265ba3cb6a0b1963621133a5712dbe30643f5d0 -OPENJDK_SHA256SUM = 9ffde89bb02d1da7ef5ca77ac100d4eefd4767cb93a87cda1deaefb6a5e1a750 +CORBA_SHA256SUM = 1f9f07f31ce8588cd3cd12465f94e142c852c380059a3dab9831d86d3f264253 +JAXP_SHA256SUM = 59edb741e1b00243c040b399986960fad9e42f7e5dbe0a1e34798752b080c488 +JAXWS_SHA256SUM = ed3803635ed25f58cd86ad8ca27585f77cc50385da0342112980cc6ba8ff6028 +JDK_SHA256SUM = 508b4e26704749172022c95f44c5aa9feb391e82b54a545fdb79f3a51c269f83 +LANGTOOLS_SHA256SUM = 0eb9c19cfbecfbc6ef1e37f475d73f16469b9e1d969f69b1af4b10cbc2415659 +OPENJDK_SHA256SUM = 9a2f9486a48d51f84bdf9b9a52dc34fe90b886aa60ff5447b7f2502479065859 + +DROP_URL = http://icedtea.classpath.org/download/drops CACAO_VERSION = e215e36be9fc CACAO_SHA256SUM = 4966514c72ee7ed108b882d9b6e65c3adf8a8f9c2dccb029f971b3c8cb4870ab -CACAO_BASE_URL = http://icedtea.classpath.org/download/drops/cacao +CACAO_BASE_URL = $(DROP_URL)/cacao CACAO_URL = $(CACAO_BASE_URL)/$(CACAO_VERSION).tar.gz CACAO_SRC_ZIP = cacao-$(CACAO_VERSION).tar.gz JAMVM_VERSION = ec18fb9e49e62dce16c5094ef1527eed619463aa JAMVM_SHA256SUM = 31810266666c23822942aac62a78019c2c4589e1c5ee48329cbf42652d4437bc -JAMVM_BASE_URL = http://icedtea.classpath.org/download/drops/jamvm +JAMVM_BASE_URL = $(DROP_URL)/jamvm JAMVM_URL = $(JAMVM_BASE_URL)/jamvm-$(JAMVM_VERSION).tar.gz JAMVM_SRC_ZIP = jamvm-$(JAMVM_VERSION).tar.gz -ICEDTEA_PREFIX = icedtea7-forest-2.5 +ICEDTEA_MAJOR = icedtea7 +ICEDTEA_BRANCH = 2.5 +ICEDTEA_PREFIX = $(ICEDTEA_MAJOR)-forest-$(ICEDTEA_BRANCH) ICEDTEA_HG_URL = http://icedtea.classpath.org/hg/release/$(ICEDTEA_PREFIX) +ICEDTEA_URL = $(DROP_URL)/$(ICEDTEA_MAJOR)/$(ICEDTEA_BRANCH) -OPENJDK_URL = $(ICEDTEA_HG_URL) -CORBA_URL = $(ICEDTEA_HG_URL)/corba -JAXP_URL = $(ICEDTEA_HG_URL)/jaxp -JAXWS_URL = $(ICEDTEA_HG_URL)/jaxws -JDK_URL = $(ICEDTEA_HG_URL)/jdk -LANGTOOLS_URL = $(ICEDTEA_HG_URL)/langtools - -HS_SHA256SUM = "`$(AWK) 'version==$$1 {print $$4}' version=$(HSBUILD) $(abs_top_srcdir)/hotspot.map`" -HS_CHANGESET = "`$(AWK) 'version==$$1 {print $$3}' version=$(HSBUILD) $(abs_top_srcdir)/hotspot.map`" -HS_URL = "`$(AWK) 'version==$$1 {print $$2}' version=$(HSBUILD) $(abs_top_srcdir)/hotspot.map`" +HS_TYPE = "`$(AWK) 'version==$$1 {print $$2}' version=$(HSBUILD) $(abs_top_srcdir)/hotspot.map`" +HS_URL = "`$(AWK) 'version==$$1 {print $$3}' version=$(HSBUILD) $(abs_top_srcdir)/hotspot.map`" +HS_CHANGESET = "`$(AWK) 'version==$$1 {print $$4}' version=$(HSBUILD) $(abs_top_srcdir)/hotspot.map`" +HS_SHA256SUM = "`$(AWK) 'version==$$1 {print $$5}' version=$(HSBUILD) $(abs_top_srcdir)/hotspot.map`" # Build directories @@ -72,16 +71,6 @@ CORBA = openjdk-boot/corba/src/share/classes JAXWS = openjdk-boot/jaxws/src/share/jaxws_classes:openjdk-boot/jaxws/src/share/jaf_classes -PULSE_JAVA_DIR = $(abs_top_srcdir)/pulseaudio -PULSE_JAVA_NATIVE_SRCDIR = $(PULSE_JAVA_DIR)/src/native -PULSE_JAVA_NATIVE_SRCS = $(wildcard $(PULSE_JAVA_NATIVE_SRCDIR)/*.c) -PULSE_JAVA_BUILDDIR = $(abs_top_builddir)/pulseaudio.build -PULSE_JAVA_NATIVE_BUILDDIR = $(PULSE_JAVA_BUILDDIR)/native -PULSE_JAVA_NATIVE_OBJECTS = \ - $(subst $(PULSE_JAVA_NATIVE_SRCDIR),$(PULSE_JAVA_NATIVE_BUILDDIR),$(patsubst %.c,%.o,$(PULSE_JAVA_NATIVE_SRCS))) -PULSE_JAVA_JAVA_SRCDIR = $(PULSE_JAVA_DIR)/src/java -PULSE_JAVA_CLASS_DIR = $(PULSE_JAVA_BUILDDIR)/classes - OPENJDK_SOURCEPATH_DIRS = \ $(SHARE):$(SOLARIS):$(LANGTOOLS):$(CORBA):$(JAXWS) @@ -157,23 +146,19 @@ LANGTOOLS_SRC_ZIP = HOTSPOT_SRC_ZIP = else - OPENJDK_SRC_ZIP = openjdk.tar.gz - CORBA_SRC_ZIP = corba.tar.gz - JAXP_SRC_ZIP = jaxp.tar.gz - JAXWS_SRC_ZIP = jaxws.tar.gz - JDK_SRC_ZIP = jdk.tar.gz - LANGTOOLS_SRC_ZIP = langtools.tar.gz - HOTSPOT_SRC_ZIP = hotspot.tar.gz + OPENJDK_SRC_ZIP = openjdk.tar.bz2 + CORBA_SRC_ZIP = corba.tar.bz2 + JAXP_SRC_ZIP = jaxp.tar.bz2 + JAXWS_SRC_ZIP = jaxws.tar.bz2 + JDK_SRC_ZIP = jdk.tar.bz2 + LANGTOOLS_SRC_ZIP = langtools.tar.bz2 + HOTSPOT_SRC_ZIP = hotspot.tar.bz2 endif if WITH_HGREV REV_ARG = -r $(HGREV) endif -if ENABLE_PULSE_JAVA -PULSE_JAVA_TARGET = stamps/pulse-java.stamp -endif - # This should not depend on bootstrapping # but on whether MEMORY_LIMIT is accepted # as an argument to javac @@ -281,16 +266,6 @@ patches/cacao/ignore-tests.patch endif -if ENABLE_PULSE_JAVA -ICEDTEA_PATCHES += \ - patches/pulse-soundproperties.patch -endif - -if ENABLE_SYSTEMTAP -#ICEDTEA_PATCHES += \ -# patches/hotspot/$(HSBUILD)/systemtap_gc.patch -endif - if ENABLE_NSS ICEDTEA_PATCHES += patches/nss-config.patch \ patches/rh1022017.patch @@ -303,7 +278,13 @@ endif if WITH_ALT_HSBUILD -ICEDTEA_PATCHES += patches/hotspot/aarch64/werror.patch +ICEDTEA_PATCHES += patches/hotspot/aarch64/werror.patch \ + patches/hotspot/aarch64/20140415-8029858-enhance_array_copies.patch \ + patches/hotspot/aarch64/20140415-8034926-attribute_classes_properly.patch +if ENABLE_SYSTEMTAP +ICEDTEA_PATCHES += \ + patches/hotspot/aarch64/systemtap_gc.patch +endif endif ICEDTEA_PATCHES += $(DISTRIBUTION_PATCHES) @@ -595,6 +576,18 @@ DEBUG_CLASSFILES="true" endif +if ENABLE_INFINALITY +ICEDTEA_ENV += \ + INFINALITY_SUPPORT="true" +endif + +# This seems illogical, but it actually just +# turns off the creation of separate debuginfo files. +if WITH_ALT_HSBUILD +ICEDTEA_ENV += \ + FULL_DEBUG_SYMBOLS=0 +endif + # OpenJDK boot build environment. ICEDTEA_ENV_BOOT = $(ICEDTEA_ENV) \ BOOTCLASSPATH_CLS_RT="-bootclasspath $(CLS_DIR_BOOT):$(RUNTIME)" \ @@ -752,28 +745,13 @@ $(top_srcdir)/test/jtreg/JavaTest.cmdMgrs.lst \ $(top_srcdir)/test/jtreg/excludelist.langtools.jtx -PULSEAUDIO_SRCS = $(top_srcdir)/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/*.java \ - $(top_srcdir)/pulseaudio/src/java/META-INF/services/javax.sound.sampled.spi.MixerProvider \ - $(top_srcdir)/pulseaudio/src/native/*.h \ - $(top_srcdir)/pulseaudio/src/native/*.c \ - $(top_srcdir)/pulseaudio/TODO \ - $(top_srcdir)/pulseaudio/README \ - $(top_srcdir)/pulseaudio/testsounds/README \ - $(top_srcdir)/pulseaudio/testsounds/startup.wav \ - $(top_srcdir)/pulseaudio/testsounds/logout.wav \ - $(top_srcdir)/pulseaudio/testsounds/error.wav \ - $(top_srcdir)/pulseaudio/unittests/org/classpath/icedtea/pulseaudio/*.java \ - $(top_srcdir)/pulseaudio/COPYING - From bugzilla-daemon at icedtea.classpath.org Sat Jun 14 07:02:12 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sat, 14 Jun 2014 07:02:12 +0000 Subject: [Bug 1741] Break PulseAudio provider out into IcedTea-Sound In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1741 --- Comment #2 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea7-2.5?cmd=changeset;node=b19b988d9c06 author: Andrew John Hughes date: Thu Jun 12 21:23:05 2014 +0100 PR1741: Break PulseAudio provider out into IcedTea-Sound 2014-06-11 Andrew John Hughes PR1741: Break PulseAudio provider out into IcedTea-Sound * patches/pulse-soundproperties.patch, * pulseaudio/COPYING, * pulseaudio/README, * pulseaudio/src/java/META-INF/services/javax.sound.sampled.spi.MixerProvider, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/ContextEvent.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/ContextListener.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/Debug.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/EventLoop.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/Operation.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioClip.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioLine.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixer.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixerInfo.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioMixerProvider.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioPlaybackLine.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioPort.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourcePort.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetPort.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioVolumeControl.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/SecurityWrapper.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/Stream.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/StreamBufferAttributes.java, * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/StreamSampleSpecification.java, * pulseaudio/src/native/jni-common.c, * pulseaudio/src/native/jni-common.h, * pulseaudio/src/native/org_classpath_icedtea_pulseaudio_ContextEvent.c, * pulseaudio/src/native/org_classpath_icedtea_pulseaudio_EventLoop.c, * pulseaudio/src/native/org_classpath_icedtea_pulseaudio_Operation.c, * pulseaudio/src/native/org_classpath_icedtea_pulseaudio_PulseAudioSourcePort.c, * pulseaudio/src/native/org_classpath_icedtea_pulseaudio_PulseAudioTargetPort.c, * pulseaudio/src/native/org_classpath_icedtea_pulseaudio_Stream.c, * pulseaudio/testsounds/README, * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/OtherSoundProvidersAvailableTest.java, * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioClipTest.java, * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioEventLoopOverhead.java, * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioMixerProviderTest.java, * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioMixerRawTest.java, * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioMixerTest.java, * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLineRawTest.java, * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLineTest.java, * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioSourcePortTest.java, * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLineTest.java, * pulseaudio/unittests/org/classpath/icedtea/pulseaudio/PulseAudioTargetPortTest.java: Moved to IcedTea-Sound. * INSTALL: Remove PulseAudio references. * Makefile.am: (PULSE_JAVA_DIR): Removed. (PULSE_JAVA_NATIVE_SRCDIR): Likewise. (PULSE_JAVA_NATIVE_SRCS): Likewise. (PULSE_JAVA_BUILDDIR): Likewise. (PULSE_JAVA_NATIVE_BUILDDIR): Likewise. (PULSE_JAVA_NATIVE_OBJECTS): Likewise. (PULSE_JAVA_JAVA_SRCDIR): Likewise. (PULSE_JAVA_CLASS_DIR): Likewise. (PULSE_JAVA_TARGET): Removed. (ICEDTEA_PATCHES): Drop PulseAudio patch. (PULSEAUDIO_SRCS): Removed. (EXTRA_DIST): Removed PULSEAUDIO_SRCS. (clean-local): Remove clean-add-pulseaudio and clean-add-pulseaudio-debug. (.PHONY): Likewise and clean-add-pulseaudio-boot. (add-pulseaudio): Removed. (clean-add-pulseaudio): Likewise. (add-pulseaudio-debug): Likewise. (clean-add-pulseaudio-debug): Likewise. (icedtea-stage2): Remove add-pulseaudio dependency. (icedtea-debug-stage2): Remove add-pulseaudio-debug dependency. (add-pulseaudio-boot): Removed. (clean-add-pulseaudio-boot): Likewise. (icedtea-stage1): Remove add-pulseaudio-boot debug. (clean-icedtea-stage1): Remove clean-add-pulseaudio-boot dependency. (pulse-java): Removed. (pulse-java-class): Likewise. (pulse-java-jar): Likewise. (pulse-java-headers): Likewise. ($(PULSE_JAVA_NATIVE_BUILDDIR)/%.o): Likewise. ($(PULSE_JAVA_NATIVE_BUILDDIR)/libpulse-java.so): Likewise. (clean-pulse-java): Likewise. * NEWS: Updated. * configure.ac: Remove --enable-pulse-java option and PulseAudio library checks. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Sat Jun 14 07:02:24 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sat, 14 Jun 2014 07:02:24 +0000 Subject: [Bug 1736] Awt loads gtk3 in all the look and feel configurations In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1736 --- Comment #4 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea7-2.5?cmd=changeset;node=012d523c56c9 author: Andrew John Hughes date: Fri Jun 13 01:30:38 2014 +0100 Update to icedtea-2.5pre08. PR1736: AWT loads gtk3 in all the look and feel configurations PR1808: Type-punning Warnings in Demos on PPC PR1835: Missing file in backport of ppc64le JIT support PR1839, G478960: Provide Infinality Support via fontconfig PR729: GTKLookAndFeel should be the system look&feel on all GNU/Linux desktops 2014-06-12 Andrew John Hughes * AUTHORS: Add authors of infinality patch. Websites are used as present as couldn't find any e-mail addresses. * INSTALL: Document --enable-infinality. * Makefile.am: (CORBA_CHANGESET): Update to icedtea-2.5pre08 tag. (JAXP_CHANGESET): Likewise. (JAXWS_CHANGESET): Likewise. (JDK_CHANGESET): Likewise. (LANGTOOLS_CHANGESET): Likewise. (OPENJDK_CHANGESET): Likewise. (CORBA_SHA256SUM): Likewise. (JAXP_SHA256SUM): Likewise. (JAXWS_SHA256SUM): Likewise. (JDK_SHA256SUM): Likewise. (LANGTOOLS_SHA256SUM): Likewise. (OPENJDK_SHA256SUM): Likewise. (DROP_URL): Added to point to drops on IcedTea server. (CACAO_BASE_URL): Reference DROP_URL. (JAMVM_BASE_URL): Likewise. (ICEDTEA_MAJOR): Split out major release name ('IcedTea7') (ICEDTEA_BRANCH): Split out branch version ('2.5') (ICEDTEA_PREFIX): Use ICEDTEA_MAJOR and ICEDTEA_BRANCH. (ICEDTEA_URL): Path to drops. (OPENJDK_URL): Removed. (CORBA_URL): Likewise. (JAXP_URL): Likewise. (JAXWS_URL): Likewise. (JDK_URL): Likewise. (LANGTOOLS_URL): Likewise. (HS_TYPE): Added. Differentiate between a drop tarball and a hg archive in hotspot.map. (HS_URL): Bump field number by 1 following addition of type. (HS_CHANGESET): Likewise. (HS_SHA256SUM): Likewise. (OPENJDK_SRC_ZIP): Change suffix to bz2. (CORBA_SRC_ZIP): Likewise. (JAXP_SRC_ZIP): Likewise. (JAXWS_SRC_ZIP): Likewise. (JDK_SRC_ZIP): Likewise. (LANGTOOLS_SRC_ZIP): Likewise. (HOTSPOT_SRC_ZIP): Likewise. (ICEDTEA_ENV): Set INFINALITY_SUPPORT=true when infinality is enabled. (download-openjdk): Use ICEDTEA_URL for all drops. (download-hotspot); Support HS_TYPE, appending "archive/$(HS_CHANGESET)" to hg archive URLs and "$(HOTSPOT_SRC_ZIP)" to drop URLs. (ADD_ZERO_CONFIGURE_ARGS): Change suffix to bz2. * NEWS: Updated. * acinclude.m4: (IT_ENABLE_INFINALITY): Macro for new option. * configure.ac: Invoke IT_ENABLE_INFINALITY instead of its dependency, IT_CHECK_FOR_FONTCONFIG. Bump to pre08. * hotspot.map: Update to icedtea-2.5pre08tag. Set type of default to drop and aarch64 to hg. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Sat Jun 14 07:02:28 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sat, 14 Jun 2014 07:02:28 +0000 Subject: [Bug 729] GTKLookAndFeel should be the system look&feel on all GNU/Linux desktops In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=729 --- Comment #9 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea7-2.5?cmd=changeset;node=012d523c56c9 author: Andrew John Hughes date: Fri Jun 13 01:30:38 2014 +0100 Update to icedtea-2.5pre08. PR1736: AWT loads gtk3 in all the look and feel configurations PR1808: Type-punning Warnings in Demos on PPC PR1835: Missing file in backport of ppc64le JIT support PR1839, G478960: Provide Infinality Support via fontconfig PR729: GTKLookAndFeel should be the system look&feel on all GNU/Linux desktops 2014-06-12 Andrew John Hughes * AUTHORS: Add authors of infinality patch. Websites are used as present as couldn't find any e-mail addresses. * INSTALL: Document --enable-infinality. * Makefile.am: (CORBA_CHANGESET): Update to icedtea-2.5pre08 tag. (JAXP_CHANGESET): Likewise. (JAXWS_CHANGESET): Likewise. (JDK_CHANGESET): Likewise. (LANGTOOLS_CHANGESET): Likewise. (OPENJDK_CHANGESET): Likewise. (CORBA_SHA256SUM): Likewise. (JAXP_SHA256SUM): Likewise. (JAXWS_SHA256SUM): Likewise. (JDK_SHA256SUM): Likewise. (LANGTOOLS_SHA256SUM): Likewise. (OPENJDK_SHA256SUM): Likewise. (DROP_URL): Added to point to drops on IcedTea server. (CACAO_BASE_URL): Reference DROP_URL. (JAMVM_BASE_URL): Likewise. (ICEDTEA_MAJOR): Split out major release name ('IcedTea7') (ICEDTEA_BRANCH): Split out branch version ('2.5') (ICEDTEA_PREFIX): Use ICEDTEA_MAJOR and ICEDTEA_BRANCH. (ICEDTEA_URL): Path to drops. (OPENJDK_URL): Removed. (CORBA_URL): Likewise. (JAXP_URL): Likewise. (JAXWS_URL): Likewise. (JDK_URL): Likewise. (LANGTOOLS_URL): Likewise. (HS_TYPE): Added. Differentiate between a drop tarball and a hg archive in hotspot.map. (HS_URL): Bump field number by 1 following addition of type. (HS_CHANGESET): Likewise. (HS_SHA256SUM): Likewise. (OPENJDK_SRC_ZIP): Change suffix to bz2. (CORBA_SRC_ZIP): Likewise. (JAXP_SRC_ZIP): Likewise. (JAXWS_SRC_ZIP): Likewise. (JDK_SRC_ZIP): Likewise. (LANGTOOLS_SRC_ZIP): Likewise. (HOTSPOT_SRC_ZIP): Likewise. (ICEDTEA_ENV): Set INFINALITY_SUPPORT=true when infinality is enabled. (download-openjdk): Use ICEDTEA_URL for all drops. (download-hotspot); Support HS_TYPE, appending "archive/$(HS_CHANGESET)" to hg archive URLs and "$(HOTSPOT_SRC_ZIP)" to drop URLs. (ADD_ZERO_CONFIGURE_ARGS): Change suffix to bz2. * NEWS: Updated. * acinclude.m4: (IT_ENABLE_INFINALITY): Macro for new option. * configure.ac: Invoke IT_ENABLE_INFINALITY instead of its dependency, IT_CHECK_FOR_FONTCONFIG. Bump to pre08. * hotspot.map: Update to icedtea-2.5pre08tag. Set type of default to drop and aarch64 to hg. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Sat Jun 14 07:02:32 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sat, 14 Jun 2014 07:02:32 +0000 Subject: [Bug 1835] [IcedTea7] Missing file in backport of ppc64le JIT support In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1835 --- Comment #2 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea7-2.5?cmd=changeset;node=012d523c56c9 author: Andrew John Hughes date: Fri Jun 13 01:30:38 2014 +0100 Update to icedtea-2.5pre08. PR1736: AWT loads gtk3 in all the look and feel configurations PR1808: Type-punning Warnings in Demos on PPC PR1835: Missing file in backport of ppc64le JIT support PR1839, G478960: Provide Infinality Support via fontconfig PR729: GTKLookAndFeel should be the system look&feel on all GNU/Linux desktops 2014-06-12 Andrew John Hughes * AUTHORS: Add authors of infinality patch. Websites are used as present as couldn't find any e-mail addresses. * INSTALL: Document --enable-infinality. * Makefile.am: (CORBA_CHANGESET): Update to icedtea-2.5pre08 tag. (JAXP_CHANGESET): Likewise. (JAXWS_CHANGESET): Likewise. (JDK_CHANGESET): Likewise. (LANGTOOLS_CHANGESET): Likewise. (OPENJDK_CHANGESET): Likewise. (CORBA_SHA256SUM): Likewise. (JAXP_SHA256SUM): Likewise. (JAXWS_SHA256SUM): Likewise. (JDK_SHA256SUM): Likewise. (LANGTOOLS_SHA256SUM): Likewise. (OPENJDK_SHA256SUM): Likewise. (DROP_URL): Added to point to drops on IcedTea server. (CACAO_BASE_URL): Reference DROP_URL. (JAMVM_BASE_URL): Likewise. (ICEDTEA_MAJOR): Split out major release name ('IcedTea7') (ICEDTEA_BRANCH): Split out branch version ('2.5') (ICEDTEA_PREFIX): Use ICEDTEA_MAJOR and ICEDTEA_BRANCH. (ICEDTEA_URL): Path to drops. (OPENJDK_URL): Removed. (CORBA_URL): Likewise. (JAXP_URL): Likewise. (JAXWS_URL): Likewise. (JDK_URL): Likewise. (LANGTOOLS_URL): Likewise. (HS_TYPE): Added. Differentiate between a drop tarball and a hg archive in hotspot.map. (HS_URL): Bump field number by 1 following addition of type. (HS_CHANGESET): Likewise. (HS_SHA256SUM): Likewise. (OPENJDK_SRC_ZIP): Change suffix to bz2. (CORBA_SRC_ZIP): Likewise. (JAXP_SRC_ZIP): Likewise. (JAXWS_SRC_ZIP): Likewise. (JDK_SRC_ZIP): Likewise. (LANGTOOLS_SRC_ZIP): Likewise. (HOTSPOT_SRC_ZIP): Likewise. (ICEDTEA_ENV): Set INFINALITY_SUPPORT=true when infinality is enabled. (download-openjdk): Use ICEDTEA_URL for all drops. (download-hotspot); Support HS_TYPE, appending "archive/$(HS_CHANGESET)" to hg archive URLs and "$(HOTSPOT_SRC_ZIP)" to drop URLs. (ADD_ZERO_CONFIGURE_ARGS): Change suffix to bz2. * NEWS: Updated. * acinclude.m4: (IT_ENABLE_INFINALITY): Macro for new option. * configure.ac: Invoke IT_ENABLE_INFINALITY instead of its dependency, IT_CHECK_FOR_FONTCONFIG. Bump to pre08. * hotspot.map: Update to icedtea-2.5pre08tag. Set type of default to drop and aarch64 to hg. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Sat Jun 14 07:02:34 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sat, 14 Jun 2014 07:02:34 +0000 Subject: [Bug 1808] [IcedTea7] type-punning warnings in demos on ppc In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1808 --- Comment #2 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea7-2.5?cmd=changeset;node=012d523c56c9 author: Andrew John Hughes date: Fri Jun 13 01:30:38 2014 +0100 Update to icedtea-2.5pre08. PR1736: AWT loads gtk3 in all the look and feel configurations PR1808: Type-punning Warnings in Demos on PPC PR1835: Missing file in backport of ppc64le JIT support PR1839, G478960: Provide Infinality Support via fontconfig PR729: GTKLookAndFeel should be the system look&feel on all GNU/Linux desktops 2014-06-12 Andrew John Hughes * AUTHORS: Add authors of infinality patch. Websites are used as present as couldn't find any e-mail addresses. * INSTALL: Document --enable-infinality. * Makefile.am: (CORBA_CHANGESET): Update to icedtea-2.5pre08 tag. (JAXP_CHANGESET): Likewise. (JAXWS_CHANGESET): Likewise. (JDK_CHANGESET): Likewise. (LANGTOOLS_CHANGESET): Likewise. (OPENJDK_CHANGESET): Likewise. (CORBA_SHA256SUM): Likewise. (JAXP_SHA256SUM): Likewise. (JAXWS_SHA256SUM): Likewise. (JDK_SHA256SUM): Likewise. (LANGTOOLS_SHA256SUM): Likewise. (OPENJDK_SHA256SUM): Likewise. (DROP_URL): Added to point to drops on IcedTea server. (CACAO_BASE_URL): Reference DROP_URL. (JAMVM_BASE_URL): Likewise. (ICEDTEA_MAJOR): Split out major release name ('IcedTea7') (ICEDTEA_BRANCH): Split out branch version ('2.5') (ICEDTEA_PREFIX): Use ICEDTEA_MAJOR and ICEDTEA_BRANCH. (ICEDTEA_URL): Path to drops. (OPENJDK_URL): Removed. (CORBA_URL): Likewise. (JAXP_URL): Likewise. (JAXWS_URL): Likewise. (JDK_URL): Likewise. (LANGTOOLS_URL): Likewise. (HS_TYPE): Added. Differentiate between a drop tarball and a hg archive in hotspot.map. (HS_URL): Bump field number by 1 following addition of type. (HS_CHANGESET): Likewise. (HS_SHA256SUM): Likewise. (OPENJDK_SRC_ZIP): Change suffix to bz2. (CORBA_SRC_ZIP): Likewise. (JAXP_SRC_ZIP): Likewise. (JAXWS_SRC_ZIP): Likewise. (JDK_SRC_ZIP): Likewise. (LANGTOOLS_SRC_ZIP): Likewise. (HOTSPOT_SRC_ZIP): Likewise. (ICEDTEA_ENV): Set INFINALITY_SUPPORT=true when infinality is enabled. (download-openjdk): Use ICEDTEA_URL for all drops. (download-hotspot); Support HS_TYPE, appending "archive/$(HS_CHANGESET)" to hg archive URLs and "$(HOTSPOT_SRC_ZIP)" to drop URLs. (ADD_ZERO_CONFIGURE_ARGS): Change suffix to bz2. * NEWS: Updated. * acinclude.m4: (IT_ENABLE_INFINALITY): Macro for new option. * configure.ac: Invoke IT_ENABLE_INFINALITY instead of its dependency, IT_CHECK_FOR_FONTCONFIG. Bump to pre08. * hotspot.map: Update to icedtea-2.5pre08tag. Set type of default to drop and aarch64 to hg. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Sat Jun 14 07:02:37 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sat, 14 Jun 2014 07:02:37 +0000 Subject: [Bug 1839] [IcedTea7] Provide Infinality Support via fontconfig In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1839 --- Comment #2 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea7-2.5?cmd=changeset;node=012d523c56c9 author: Andrew John Hughes date: Fri Jun 13 01:30:38 2014 +0100 Update to icedtea-2.5pre08. PR1736: AWT loads gtk3 in all the look and feel configurations PR1808: Type-punning Warnings in Demos on PPC PR1835: Missing file in backport of ppc64le JIT support PR1839, G478960: Provide Infinality Support via fontconfig PR729: GTKLookAndFeel should be the system look&feel on all GNU/Linux desktops 2014-06-12 Andrew John Hughes * AUTHORS: Add authors of infinality patch. Websites are used as present as couldn't find any e-mail addresses. * INSTALL: Document --enable-infinality. * Makefile.am: (CORBA_CHANGESET): Update to icedtea-2.5pre08 tag. (JAXP_CHANGESET): Likewise. (JAXWS_CHANGESET): Likewise. (JDK_CHANGESET): Likewise. (LANGTOOLS_CHANGESET): Likewise. (OPENJDK_CHANGESET): Likewise. (CORBA_SHA256SUM): Likewise. (JAXP_SHA256SUM): Likewise. (JAXWS_SHA256SUM): Likewise. (JDK_SHA256SUM): Likewise. (LANGTOOLS_SHA256SUM): Likewise. (OPENJDK_SHA256SUM): Likewise. (DROP_URL): Added to point to drops on IcedTea server. (CACAO_BASE_URL): Reference DROP_URL. (JAMVM_BASE_URL): Likewise. (ICEDTEA_MAJOR): Split out major release name ('IcedTea7') (ICEDTEA_BRANCH): Split out branch version ('2.5') (ICEDTEA_PREFIX): Use ICEDTEA_MAJOR and ICEDTEA_BRANCH. (ICEDTEA_URL): Path to drops. (OPENJDK_URL): Removed. (CORBA_URL): Likewise. (JAXP_URL): Likewise. (JAXWS_URL): Likewise. (JDK_URL): Likewise. (LANGTOOLS_URL): Likewise. (HS_TYPE): Added. Differentiate between a drop tarball and a hg archive in hotspot.map. (HS_URL): Bump field number by 1 following addition of type. (HS_CHANGESET): Likewise. (HS_SHA256SUM): Likewise. (OPENJDK_SRC_ZIP): Change suffix to bz2. (CORBA_SRC_ZIP): Likewise. (JAXP_SRC_ZIP): Likewise. (JAXWS_SRC_ZIP): Likewise. (JDK_SRC_ZIP): Likewise. (LANGTOOLS_SRC_ZIP): Likewise. (HOTSPOT_SRC_ZIP): Likewise. (ICEDTEA_ENV): Set INFINALITY_SUPPORT=true when infinality is enabled. (download-openjdk): Use ICEDTEA_URL for all drops. (download-hotspot); Support HS_TYPE, appending "archive/$(HS_CHANGESET)" to hg archive URLs and "$(HOTSPOT_SRC_ZIP)" to drop URLs. (ADD_ZERO_CONFIGURE_ARGS): Change suffix to bz2. * NEWS: Updated. * acinclude.m4: (IT_ENABLE_INFINALITY): Macro for new option. * configure.ac: Invoke IT_ENABLE_INFINALITY instead of its dependency, IT_CHECK_FOR_FONTCONFIG. Bump to pre08. * hotspot.map: Update to icedtea-2.5pre08tag. Set type of default to drop and aarch64 to hg. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Sat Jun 14 07:02:42 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sat, 14 Jun 2014 07:02:42 +0000 Subject: [Bug 1843] [IcedTea7] Fail early if there is no native HotSpot JIT & all other options are disabled In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1843 --- Comment #2 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea7-2.5?cmd=changeset;node=f327af93706b author: Andrew John Hughes date: Fri Jun 13 02:04:10 2014 +0100 PR1843: Fail early if there is no native HotSpot JIT & all other options are disabled 2014-06-12 Andrew John Hughes PR1843: Fail early if there is no native HotSpot JIT & all other options are disabled * acinclude.m4: (IT_ENABLE_ZERO_BUILD): Depend on IT_HAS_NATIVE_HOTSPOT_PORT. Split out arch-dependent code into that macro. Make ENABLE_CACAO test more readable. (IT_ENABLE_CACAO): Handle enableval same as other macros so possible values are only ever yes or no. (IT_ENABLE_JAMVM): Likewise. (IT_HAS_NATIVE_HOTSPOT_PORT): Architecture detection split out from IT_ENABLE_ZERO_BUILD. Now sets has_native_hotspot_port for later reference. * configure.ac: Error out if there is no native HotSpot port and Zero (which implies Shark & ARM32 JIT), CACAO and JamVM are all disabled. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Sat Jun 14 07:02:49 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sat, 14 Jun 2014 07:02:49 +0000 Subject: [Bug 1848] [IcedTea7] Removal of project support leaves trailing '-' in version In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1848 --- Comment #1 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea7-2.5?cmd=changeset;node=15b1fc0169cc author: Andrew John Hughes date: Fri Jun 13 23:06:24 2014 +0100 PR1848: Removal of project support leaves trailing '-' in version 2014-06-13 Andrew John Hughes PR1848: Removal of project support leaves trailing '-' in version * Makefile.am: (versioning): Drop use of PROJECT_NAME removed in PR1365. * NEWS: Updated. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Sat Jun 14 07:02:51 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sat, 14 Jun 2014 07:02:51 +0000 Subject: [Bug 1365] [IcedTea7] Replace hgforest support In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1365 --- Comment #4 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea7-2.5?cmd=changeset;node=15b1fc0169cc author: Andrew John Hughes date: Fri Jun 13 23:06:24 2014 +0100 PR1848: Removal of project support leaves trailing '-' in version 2014-06-13 Andrew John Hughes PR1848: Removal of project support leaves trailing '-' in version * Makefile.am: (versioning): Drop use of PROJECT_NAME removed in PR1365. * NEWS: Updated. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From gnu_andrew at member.fsf.org Sat Jun 14 07:05:58 2014 From: gnu_andrew at member.fsf.org (=?UTF-8?B?QW5kw6/Drw==?=) Date: Sat, 14 Jun 2014 08:05:58 +0100 Subject: IcedTea 2.5.0 for OpenJDK 7 Released: POWER to the People! Message-ID: We are pleased to announce the release of IcedTea 2.5.0, "Power to the People"! The IcedTea project provides a harness to build the source code from OpenJDK using Free Software build tools, along with additional features such as the ability to build against system libraries and support for alternative virtual machines and architectures beyond those supported by OpenJDK. This release updates our OpenJDK 7 support with the first release of the 2.5.x series, based on OpenJDK u60. If you find an issue with the release, please report it to our bug database (http://icedtea.classpath.org/bugzilla) under the appropriate component. Development discussion takes place on the distro-pkg-dev at openjdk.java.net mailing list and patches are always welcome. Full details of the release can be found below. What's New? =========== New in release 2.5.0 (2014-06-13): * OpenJDK - S5049299: (process) Use posix_spawn, not fork, on S10 to avoid swap exhaustion - S6412968: CMS: Long initial mark pauses - S6571600: JNI use results in UnsatisfiedLinkError looking for libmawt.so - S6889597: TEST_BUG: javax/management/remote/mandatory/URLTest.java test should be updated in jdk7 Workspace - S6900441: PlatformEvent.park(millis) on Linux could still be affected by changes to the time-of-day clock - S6989981: jstack causes "fatal error: ExceptionMark destructor expects no pending exceptions" - S7074436: (sc) SocketChannel can do short gathering writes when channel configured blocking (win) - S7123493: (proxy) Proxy.getProxyClass doesn't scale under high load - S7124232: [TEST_BUG] [macosx] JSplitPane has wrong divider location - S7124314: [TEST_BUG] [macosx] Aqua LAF: JTree doesn't select element by keyboards left and right keys - S7124320: [TEST_BUG] [macosx] JComboBox doesn't change selection on mouse over - S7124338: [macosx] Selection lost if a selected item removed from a java.awt.List - S7129133: [macosx] Accelerators are displayed as Meta instead of the Command symbol - S7131153: GetDC called way too many times - causes bad performance. - S7133122: SA throws sun.jvm.hotspot.debugger.UnmappedAddressException when it should not - S7133146: [macosx] closed/javax/swing/JInternalFrame/4193219/IconCoord fails on MacOS - S7133154: [TEST_BUG] [macosx] closed/javax/swing/JInternalFrame/4251301/bug4251301.java fails on MacOS - S7145569: G1: optimize nmethods scanning - S7147084: (process) appA hangs when read output stream of appB which starts appC that runs forever - S7171591: getDefaultScopeID() in src/solaris/native/java/net/net_util_md.c should return a value - S7173464: Clipboard.getAvailableDataFlavors: Comparison method violates contract - S7176574: sun/security/krb5/auto/TcpTimeout.java failed with solaris-i586 - S7186887: Test T6567415.java can fail on a slow machine - S7187554: JSR 292: JVMTI PopFrame needs to handle appendix arguments - S7190349: [macosx] Text (Label) is incorrectly drawn with a rotated g2d - S7191817: -XX:+UseSerialGC -XX:+UseLargePages crashes with SIGFPE on MacOS X - S7194607: VerifyLocalVariableTableOnRetransformTest.sh fails after JSR-292 merge - S7197210: java/lang/invoke/CallSiteTest.java failing on armsflt. - S7199674: (props) user.home property does not return an accessible location in sandboxed environment [macosx] - S8003253: TEST_BUG: java/nio/channels/AsynchronousChannelGroup/Unbounded.java hang intermittently [win] - S8003262: reverse translation required changes in xalan resource bundles - S8003285: TEST_BUG: java/nio/channels/AsynchronousChannelGroup/Unbounded.java fails again [macosx] - S8003895: java/nio/channels/AsynchronousChannelGroup/Unbounded.java failing again [win64] - S8004032: [TEST_BUG] [macosx] There is no effect when double clicking on the Icon, after right clicking on the Icon and the Icon disappear - S8004051: assert(_oprs_len[mode] < maxNumberOfOperands) failed: array overflow - S8004476: XSLT Extension Functions Don't Work in WebStart - S8005128: JSR 292: the mlvm redefineClassInBootstrap test crashes in ConstantPool::compare_entry_to - S8006395: Race in async socket close on Linux - S8006542: JSR 292: the VM_RedefineClasses::append_entry() must support invokedynamic entry kinds - S8006546: JSR 292: typos in the ConstantPool::copy_cp_impl() - S8006628: NEED_TEST for JDK-8002870 - S8006731: JSR 292: the VM_RedefineClasses::rewrite_cp_refs_in_method() must support invokedynamic - S8007037: JSR 292: the VM_RedefineClasses::append_entry() should do cross-checks with indy operands - S8007454: (process) SetHandleInformation parameters DWORD (not BOOLEAN) - S8008118: (process) Possible null pointer dereference in jdk/src/solaris/native/java/lang/UNIXProcess_md.c - S8008511: JSR 292: MemberName vmtarget refs to methods must be updated at class redefinition - S8008733: Psr:perf:osb performance regression (18%) in wss_bodyenc - S8009062: poor performance of JNI AttachCurrentThread after fix for 7017193 - S8009213: sun/management/jdp/JdpTest.sh fails with exit code 1 - S8009222: java.lang.IllegalArgumentException: not invocable, no method type when attempting to get getter method handle for a static field - S8011194: Apps launched via double-clicked .jars have file.encoding value of US-ASCII on Mac OS X - S8011343: Add new flag for verifying the heap during startup - S8011944: Sort fails with ArrayIndexOutOfBoundsException - S8011955: Lunar screen reader crashes intermittently in WindowsAccessBridge-32.DLL - S8012244: java/net/Socket/asyncClose/Race.java fails intermittently on Windows - S8012326: Deadlock occurs when Charset.availableCharsets() is called by several threads at the same time - S8012615: Realm.getRealmsList returns realms list in wrong - S8012925: [parfait] Missing return value in jdk/src/macosx/native/sun/awt/AWTEvent.m - S8013132: Add a flag to turn off the output of the verbose verification code - S8013895: G1: G1SummarizeRSetStats output on Linux needs improvement - S8013945: CMS fatal error: must own lock MemberNameTable_lock - S8014052: JSR292: assert(end_offset == next_offset) failed: matched ending - S8014078: G1: improve remembered set summary information by providing per region type information - S8014240: G1: Add remembered set size information to output of G1PrintRegionLivenessInfo - S8014288: perf regression in nashorn JDK-8008448.js test after 8008511 changes - S8014394: (fs) WatchService failing when watching \\server\$d - S8014460: Need to check for non-empty EXT_LIBS_PATH before using it - S8014555: G1: Memory ordering problem with Conc refinement and card marking - S8015092: SchemaFactory cannot parse schema if whitespace added within patterns in Selector XPath expression - S8015243: SchemaFactory does not catch enum. value that is not in the value space of the base type, anyURI - S8015244: G1: Verification after a full GC is incorrectly placed. - S8015599: [TEST_BUG] [macosx] Test closed/javax/swing/Popup/TaskbarPositionTest.java fails since JDK 8 b75 on MacOSX - S8015600: [TEST_BUG] [macosx] Test closed/javax/swing/plaf/basic/BasicMenuUI/4983388/bug4983388.java fails since JDK 8 b75 on MacOSX - S8016018: Typo in AbstractStringBuilder#indexOf and #lastIndexOf descriptions - S8016110: Japanese char (MS932) 0x5C cannot be used as an argument when quoted - S8016271: wsimport -clientjar does not create portable jars on Windows due to hardcoded backslash - S8016328: Regression : Javadoc i18n regression caused by fix for 8012375 - S8016500: Unlocalized warnings. - S8017180: [macosx] [TEST_BUG] alt-key doesn't work on macos for menu - S8017195: Introduce option to setKeepAlive parameter on CORBA sockets - S8017456: [TEST_BUG] java/awt/DataFlavor/MissedHtmlAndRtfBug/MissedHtmlAndRtfBug.html: test frames remain after test execution - S8017498: JVM crashes when native code calls sigaction(sig) where sig>=0x20 - S8017779: java/net/Authenticator/B4769350.java fails - S8019184: MethodHandles.catchException() fails when methods have 8 args + varargs - S8019389: SA-JDI JSR292: sun.jvm.hotspot.jdi.StackFrame.thisObject() throws sun.jvm.hotspot.utilities.AssertionFailure: sanity check - S8019396: SA-JDI: OSThread class initialization throws an exception - S8019853: Break logging and AWT circular dependency - S8020123: Test gc/g1/TestPrintRegionRememberedSetInfo.java fails with "test result: Error. No action after @build" - S8020191: System.getProperty("os.name") returns "Windows NT (unknown)" on Windows 8.1 - S8020530: Non heap memory size calculated incorrectly - S8020791: [TESTBUG] runtime/jsig/Test8017498.sh failed to compile native code - S8021296: [TESTBUG] Test8017498.sh fails to find "gcc" and fails to compile on some Linux releases - S8021368: Launch of Java Web Start app fails with ClassCircularityError exception in 7u25 - S8021898: Broken JIT compiler optimization for loop unswitching - S8021943: FileDialog getFile returns corrupted string after previous setFile - S8022213: Intermittent test failures in java/net/URLClassLoader - S8022452: Hotspot needs to know about Windows 8.1 and Windows Server 2012 R2 - S8022507: SIGSEGV at ParMarkBitMap::verify_clear() - S8022584: Memory leak in some NetworkInterface methods - S8022585: VM crashes when ran with -XX:+PrintInlining - S8022993: Convert MAX_UNROLL constant to LoopMaxUnroll C2 flag - S8023004: JSR 292: java.lang.RuntimeException: Original target method was called. - S8023130: (process) ProcessBuilder#inheritIO does not work on Windows - S8023145: G1: G1CollectedHeap::mark_strong_code_roots() needs to handle ParallelGCThreads=0 - S8023472: C2 optimization breaks with G1 - S8023580: Add jtreg test for 8004051 and 8005722 - S8023720: (hotspot) setjmp/longjmp changes the process signal mask on OS X - S8023786: (jdk) setjmp/longjmp changes the process signal mask on OS X - S8023881: IDN.USE_STD3_ASCII_RULES option is too strict to use Unicode in IDN.toASCII - S8023956: Provide a work-around to broken Linux 32 bit "Exec Shield" using CS for NX emulation (crashing with SI_KERNEL) - S8024027: Test sun/misc/IoTrace/IoTraceSocketReadWrite.java crashes VM - S8024163: [macosx] NullPointerException at javax.swing.TransferHandler$DropHandler.handleDrag since jdk8b93, 7u40b28 - S8024521: (process) Async close issues with Process InputStream - S8024648: 7141246 & 8016131 break Zero port - S8024707: TransformerException : item() return null with node list of length != 1 - S8024788: (fs) Files.readAllBytes uses FileChannel which may not be supported by all providers - S8024830: SEGV in org.apache.lucene.codecs.compressing.CompressingTermVectorsReader.get - S8024861: Incomplete token triggers GSS-API NullPointerException - S8024876: [TEST_BUG] javax/xml/jaxp/parsers/8022548/XOMParserTest.java failed when testbase dir has read only permissions - S8024952: ClassCastException in PlainSocketImpl.accept() when using custom socketImpl - S8025145: [macosx]: java 7 does not recognize tiff image on clipboard - S8025204: Intermittent test failure: javax/management/remote/mandatory/connection/IdleTimeoutTest.java - S8025205: Intermittent test failure: javax/management/remote/mandatory/connection/BrokenConnectionTest.java - S8025206: Intermittent test failure: javax/management/monitor/NullAttributeValueTest.java - S8025207: Intermittent test failure: javax/management/monitor/CounterMonitorThresholdTest.java - S8025305: Cleanup CardTableModRefBS usage in G1 - S8025512: NPE with logging while launching webstart on jre7u40 if logging is disabled - S8025541: G1: assert "assert(thread < _num_vtimes) failed: just checking" fails when G1ConcRefinementThreads > ParallelGCThreads - S8025588: [macosx] Frozen AppKit thread in 7u40 - S8025713: Syncing indendation/comment/copyright year differences with upstream projects - S8025775: JNI warnings in TryXShmAttach - S8025860: new hotspot build - hs24.60-b02 - S8025861: Set minor version for hotspot in 7u60 to 60 and build number to b01 - S8025920: webrev.ksh does not provide any details about changes in zip files - S8026293: Schedule part of G1 pre-barrier late - S8026404: Logging in Applet can trigger ACE: access denied ("java.lang.RuntimePermission" "modifyThreadGroup") - S8026405: javax/xml/ws/clientjar/TestWsImport.java failing on JDK 8 nightly aurora test runs - S8026486: Significant slowdown due to transparent huge pages - S8026502: java/lang/invoke/MethodHandleConstants.java fails on all platforms - S8026705: [TEST_BUG] java/beans/Introspector/TestTypeResolver.java failed - S8026794: Test tools/pack200/TimeStamp.java fails while opening golden.jar.native.IST on linux-ppc(v2) - S8026848: -XX:+G1SummarizeRSetStats can result in wrong exit code and crash - S8027066: XMLDecoder in java 7 cannot properly deserialize object arrays - S8027172: new hotspot build - hs24.60-b03 - S8027196: Increment minor version of HSx for 7u55 and initialize the build number - S8027351: (ref) Private finalize method invoked in preference to protected superclass method - S8027426: String.toLowerCase incorrectly increases length, if string contains \u0130 char - S8027454: Do not traverse string table during G1 remark when treating them as strong roots during initial mark - S8027476: Improve performance of Stringtable unlink - S8027579: new hotspot build - hs24.60-b04 - S8027756: assert(!hr->isHumongous()) failed: code root in humongous region? - S8027839: C1 crashes in Weblogic with G1 enabled - S8027840: C2 allows safepoint checks to leak into G1 pre-barriers - S8027860: [TEST_BUG] File not closed in javax/xml/jaxp/parsers/8022548/XOMParserTest.java - S8027973: javax/xml/jaxp/transform/jdk8004476/XSLTExFuncTest.java hangs (win) - S8027997: G1: SPECjbb2013 crashes due to a broken object reference - S8028054: com.sun.beans.finder.MethodFinder has unsynchronized access to a static Map - S8028208: (aio) Assertion in clearPendingIoMap when closing at around time file lock is acquired immediately (win) - S8028351: JWS doesn't get authenticated when using kerberos auth proxy - S8028391: Make the Min/MaxHeapFreeRatio flags manageable - S8028412: AsyncGetCallTrace() is broken on x86 in JDK 7u40 - S8028520: JVM should not throw VerifyError when a private method overrides a final method - S8028583: Add helper methods to test libraries - S8028814: new hotspot build - hs24.60-b06 - S8029281: Synchronization issues in Logger and LogManager - S8029304: JFR broken in 7u train for JDK Linux for ARM or OpenJDK - S8029318: Native Windows ccache still reads DES tickets - S8029366: ShouldNotReachHere error when creating an array with component type of void - S8029599: JVM crashes on solaris-i586 with -Xverify:all if stack overflow happens during recursive reflective call - S8029903: Add a type safe alternative for working with counter based data - S8030061: new hotspot build - hs24.60-b05 - S8030070: Test java/io/File/CheckPermission.java fails due to unfinished recursion (java.lang.StackOverflowError) when JIT'ed code (-client,-server) is running - S8030655: Regression: 14_01 Security fix 8024306 causes test failures - S8030698: Several GUI labels in jconsole need correction - S8030813: Signed applet fails to load when CRLs are stored in an LDAP directory - S8030822: (tz) Support tzdata2013i - S8031050: (thread) Change Thread initialization so that thread name is set before invoking SecurityManager - S8031394: (sl) Fix exception handling in ServiceLoader - S8031462: Fonts with morx tables are broken with latest ICU fixes - S8031787: Remove fix JDK-8026887 from 7u60 - S8031980: Add new j.u.l deadlock test for JDK-8027670 and JDK-8029281 - S8032013: new hotspot build - hs24.60-b08 - S8032207: C2: assert(VerifyOops || MachNode::size(ra_) <= (3+1)*4) failed: bad fixed size - S8032740: Need to create SE Embedded Source Bundles in 7 Release - S8032771: The flag VerifySilently misses a test case - S8032960: Running forms URL throws NullPointerException in Javaconsole. - S8032986: new hotspot build - hs24.60-b09 - S8033294: javac, spurious warning for instanceof operator - S8033443: Test8000311 fails after latest changes to parallelize string and symbol table unlink - S8033487: Improve GC option handling - S8034181: SIGBUS in SctpChannelImpl receive - S8034772: JDK-8028795 brought a specification change to 7u55 release and caused JCK7 signature test failure - S8035283: Second phase of branch shortening doesn't account for loop alignment - S8035618: Four api/org_omg/CORBA TCK tests fail under plugin only - S8035893: JVM_GetVersionInfo fails to zero structure - S8035897: Better memory allocation for file descriptors greater than 1024 on macosx - S8035963: The failed Kerberos tests due to timeouts - S8035988: 7u60 l10n resource file translation update 1 - S8036027: Increment hsx 24.51 build to b04 for 7u51-b34 - S8036147: Increment hsx 24.55 build to b02 for 7u55-b11 - S8036584: Review comments from 8035897 - S8036837: Increment hsx 24.55 build to b03 for 7u55-b12 - S8036861: Application can't be loaded fine,the save dialog can't show up. - S8037012: (tz) Support tzdata2014a - S8037340: Linux semaphores to use CLOCK_REALTIME - S8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API - S8038306: (tz) Support tzdata2014b - S8039097: Some tests fail with NPE since 7u60 b12 * Backports - S7103549: Remove dependencies on libjava and libjvm from security libraries - S8000204: Memory leak in com/sun/security/auth/module/Unix.c - S8000476: Memory Leaks and uninitialized memory access in PKCS11 and other native code - S8001579: Cleanup warnings in security native code - S8007607: security native code doesn't always use malloc, realloc, and calloc correctly - S8008509: 6588413 changed JNIEXPORT visibility for GCC on HSX, jdk's jni_md.h needs similar change - S8012224: AWT_TopLevels/TopLevelEvents/Automated/WindowIconifyDeiconifyEventsTest02 fails on Ubuntu 12.04 Unity shell - S8014307: Memory leak ... security/jgss/wrapper/GSSLibStub.c - S8038392, RH1064383: Generating prelink cache breaks JAVA 'jinfo' utility normal behavior * Bug fixes - Fix implicit function declarations in j2secmod_md.c introduced by 7103549. - PR1617: Include defs.make in vm.make so zeroshark.make is included - Remove binary files and unlicensed generated files - PR1655: Don't add IcedTea-Web jars to bootclasspath - Enable CC_INTERP on ppc64 - Fix Zero following integration of PPC port - PR1660: Allow use of system PCSC - PR1661: Cleanup COMPILE_AGAINST_SYSCALLS option and allow it to be set false - PR1661: Cleanup COMPRESS_JARS option and allow it to be set false - PR1661: Cleanup SYSTEM_CUPS option and allow it to be set false - PR1661: Cleanup SYSTEM_FONTCONFIG option and allow it to be set false - PR1661: Cleanup SYSTEM_GIF option and allow it to be set false - PR1661: Cleanup SYSTEM_GIO option and allow it to be set false - PR1661: Cleanup SYSTEM_GTK option and allow it to be set false - PR1661: Cleanup SYSTEM_JPEG option and allow it to be set false - PR1661: Cleanup SYSTEM_LCMS option and allow it to be set false - PR1661: Cleanup SYSTEM_PCSC option and allow it to be set false - PR1661: Cleanup SYSTEM_PNG option and allow it to be set false - PR1664: Ensure all SYSTEM_* options are in jdk_generic_profile.sh - Only get CFLAGS/LIBS for libpcsclite if installed - Add lost #endif - Add new files from 8019229 - Remove duplicate ElfFuncDescTable code in elfSymbolTable.cpp - Remove duplicate ElfFuncDescTable code in elfSymbolTable.hpp - PR1699: Support building the SunEC provider with system NSS - PR1393: JPEG support in build is broken on non-system-libjpeg builds - Fix merge duplication in com.sun.script.javascript.RhinoTopLevel - S8041658: Use of -fdevirtualize on macroAssembler_x86.o (via -O2) with gcc 4.9.0 creates broken VM - Extend 8041658 to all files in the HotSpot build. - Correct placement of S8041658 fix - PR1753: Ant does not respect JAVA_HOME/jdk.home setting - PR1757: register_method usage in sharkCompiler.cpp needs to be adjusted following S7196199 - PR1781: NSS PKCS11 provider fails to handle multipart AES encryption - RH1059925: RFE: Version Java libraries to allow using multiple Java versions with Linux capabilities enabled - RH905128: [CRASH] OpenJDK-1.7.0 while using NSS security provider and kerberos - PR1742: Allow SunEC provider to be built with changes in NSS >= 3.16.1 - PR1762: Undefined references when building with NSS 3.16.1 - PR1737: Support prefixed variants of GNU tools used on *BSD systems - PR1756: Bootstrap with IcedTea broken - PR1758: Support PPC64 JIT on ppc64le - PR1763: ppc64 JIT doesn't support class data sharing - PR1765: Boot JDK on ppc64le uses differently named arch directory to final build - PR1807: Support Debian/Ubuntu 7 OpenJDK Install as Boot JDK - PR1365: Replace hgforest support - PR1814: HotSpot URL should be used with --enable-hg - PR1371: Provide option to build without debugging - PR1827: Support AM_MAINTAINER_MODE - PR1830: Drop version requirement for LCMS 2 - PR1833, RH1022017: Report elliptic curves supported by NSS, not the SunEC library - PR1741: Break PulseAudio provider out into IcedTea-Sound - PR1736: AWT loads gtk3 in all the look and feel configurations - PR1808: Type-punning Warnings in Demos on PPC - PR1835: Missing file in backport of ppc64le JIT support - PR1839, G478960: Provide Infinality Support via fontconfig - PR729: GTKLookAndFeel should be the system look&feel on all GNU/Linux desktops - PR1843: Fail early if there is no native HotSpot JIT & all other options are disabled - PR1848: Removal of project support leaves trailing '-' in version * PPC & AIX port - Add AIX-specific build instructions to README-ppc.html - Added AIX as testing platform for more jtreg tests written in shell-script - Added AIX specific build defs file - Added AIX to list of operating systems to include in static jli build - Added AIX version of classlist - Added enumIPv4Interfaces, enumIPv6Interfaces and getMacAddress implementation for AIX. - Added initial AIX version of UNIXProcess.java copied from existing Solaris one - Added missing B_FALSE and B_TRUE definitions for AIX when building ec component. - Added missing Dlinfo structure for SAP version of hprof_md.c - Added section about problems with pre-installed ANT and our bootstrap JDK on Linux and how to solve them - Added UnixOperatingSystem.getTotalPhysicalMemorySize and getFreePhysicalMemorySize implementation for AIX by facilitating perfstat APIs. - add "/lib//jli/" to the runtime library path in the java launcher for AIX because AIX ld doesn't support $ORIGIN and libjli.so isn't found otherwise - Add libmawt linking for libfontmanager on AIX platform - Add memory limit requirements (ulimit) for AIX to README-ppc.html - Addon for merge 5851:b717d0d99407 - add missing file AixNativeDispatcher.c - Add OS and Compiler information to the VM version string on AIX - Add section about the necessity of 'GNU tar' during the build process - Add some AIX-specific files which were missing from changeset 5101:a06818b39f7c - adlc: do safe call to constant_offset() in debug coding - aix: add macros AIX_ONLY and NOT_AIX - aix: AIX platform files as required to start up the interpreter. - AIX changes to build the complete OpenJDK on a vanilla AIX system - aix: fix disclaiming memory. - Aix port: add file globalDefinitions_xlc.hpp. - aix: remove warnings about memory allocation - asm: fix DelayedConstant - Basic AIX adaption. With this change the VM can successfully run 'HelloWorld' on AIX - Build "fdlibm" without optimizations and with -qfloat=nomaf on AIX - C argument in register AND stack slot. - Check consistency of the PPC-specific flag 'UseSIGTRAP' with 'ImplicitRangeChecks' and 'ImplicitNullChecks' - C-interpreter: add biased locking support - C-interpreter: basic fixes - C-interpreter: Fix for OSR. - C-interpreter: implement bytecode profiling. - C-interpreter: implement G1 support - C-interpreter: implement support for compressed Oops. - C++ interpreter: implement support for early return - C-interpreter: improve memory ordering implementation. - C-interpreter: memory ordering as required for platforms with weak memory ordering (PPC) - C-interpreter: some diffs I missed before - C-interpreter: support for method handles. - Corrected incorrect use of ps -e on AIX - Disable sctp support for now on AIX platform - Disable use of sys/swap.h when building UnixOperatingSystem_md.c on AIX - dlopen() on AIX does not support RTLD_NOLOAD, so use RTLD_LZAY to workaround. - Enable AWT/Swing on AIX - Enable awt to build on AIX - Enable building jaas library on AIX platform - Enabled SoundDefs to build on AIX - Enable jdi script based tests to run on AIX. (fixed issue with uname -s result not being understood by tests) - Enable mannual and Javadoc on AIX platform - Enable medialib to build on AIX - Enable the build of HotSpot 'CORE' targets from the top-level makefile by setting CORE_BUILD=true. - Enable Tls operations in jdwp socket transport module for AIX platform - Expand conditional include in several more source files to not include - Expanded check for which wait.h to use. Changed so on AIX sys/wait.h is used. - Expanded platform choice logic to include AIX when deciding to create the MB macro. - Explicitly defined ARCH_DATA_MODEL for AIX to be 64 - Export 'USE_PTHREADS' on Linux trough CPPFLAGS to fix the build because java_md_solinux.c now only relies on 'USE_PTHREADS' beeing defined. - Extended BSD remapping of special 64 bit directory function names to generic versions to now apply to AIX. - Extended decision to use pthreads in java_md_solinux to include specific use of USE_PTHREADS define - Extended existing ifdef to cover AIX so that npt does not include link.h - Extended find zone info functionaility to compile on AIX - Extend existing Solaris behaviour to cover AIX and treat empty TZ envvar same as no TZ envvar - Extend Load and Store nodes to know about memory ordering. - fastdebug build: images step fails building installer binaries - Fix aix build error. - Fix broken AIX build - Fix build on Linux with 64kb default page size - Fix build with gcc 4.7 - Fix calls to the LoadLNode constructor with the Load semantics argument in the wrong position. - Fixed from 8 port moved to 7. - Fixed JTreg failure from java/util/ResourceBundle/Control/ExpirationTest.sh - Fixed memory handling/bookkeeping of mmaped memory on AIX - Fixed sun/nio/ch implementation on AIX - Fix handling of scalar replaced objects. - Fix IA64 preprocessor conditionals on AIX!!! - Fix iconv encoding problem on AIX < 7.1 in SplashConvertStringAlloc - Fix JTreg failure from java/nio/charset/Charset/NIOCharsetAvailabilityTest.java - Fix JTreg failure from java/nio/charset/spi/basic.sh - Fix native multicast sockets implementation on AIX - Fix native stack traces in hs_err files on Linux/PPC64 - Fix setting of SO_REUSEADDR socket option on AIX (where the socket option is called SO_REUSEPORT) - Fix small mistake introduced by the port which breaks the Windows build - Fix typo in change 'Fix native stack traces in hs_err files..' - Fix usage of feature detection on ppc for fsqrt instruction. Also guarantee no wrong instructions are used. - Fix -Xcheck:jni on AIX - Fix Xrender backend on 64-bit Big-endian architectures - Further format fixes after removing ppc_ prefixes. - G1: Fix problem with nonvolatile field - G1: Port C-interpreter to support G1. - gethostbyname_r and gethostbyaddr_r have got different syntax on AIX, this patch added the support of host entry getting. - Implement AttachListener for AIX - Implemented a no-op version of getPlatformTimeZoneID() for AIX - Implemented os::thread_cpu_time for AIX - Implement printing CodeComments in stubs. - Implement printing CodeComments in stubs: fix product build. - Implement support for the "System V Print Subsystem" on AIX - Implement workaround for I/O cancellation on AIX (by using the Linux wrappers from "linux_close.c") - Improve adlc usability. - Improve handling of memory ordering in taskqueue.hpp. - Include dlfcn.h since link.h is not available on AIX - Include files needed for PPC C2 build. - Initial AIX build config files primarily based on changes from SAP. This is to preserve any Hotspot speciific settings - Initial Aix-Port checkin. - Initial PPC-Port checkin - link.h not required (and does not exist) on AIX. Expanded conditional include to cover AIX - linux: extend signal handler to catch SIGTRAP on ppc. - Make hsdis build and work on Linux/PPC64 - make: Implement aix ppc64 build. - make: Implement linux ppc64 support in makefiles. - Make nio module to build on AIX - make: Reenable CORE build - Memory ordering as required for platforms with weak memory ordering (PPC) - Memory ordering: introduce functions to specify platform properties. - method handles: some smaller fixes and extensions for ppc - New files for template interpreter - New HS24 JSR292 implementation for PPC64 - opto: adapt assertion in postaloc.cpp for ppc. - opto: Basic fixes for the ppc C2 port - opto: Do not relocate in scratch emit. - opto: explicit specification of rematerialization in ad file. - opto: Extend adlc to generate fields into nodes. - opto: Extend ImplicitNullCheck optimizations. - opto: Extend Load and Store nodes to know about memory ordering. - Opto: extend MachConstantNode functionality to ins_encode statements. - opto: hook to postprocess matcher output platform dependent. - opto: initialize _node_regs_max_index - Opto: introduce phase lateExpand to expand nodes after register allocation. - opto: issue more memory barriers as neede on PPC. - opto: Move static _in_dump_cnt to Compile object. - opto: Pass output stream to more debug routines. - opto/ppc: trap based null and range checks - opto / regalloc: Fix problem with rematerialization - opto,rt: Support for C calling conventions that require 64-bit ints. - opto: specify offset of IC load in java_to_interp stub. - Opto: Support for constants in stub code. - opto: support for constants on ppc - opto: switch off OptimizeFill on PPC as it causes errors. - opto: Trampoline relocations - opto: trap based null and range checks - Part assembler and macroassembler into two files. - posix: fix build errors on aix 7.1 and sparc - posix: Implement methods giving infos about signals. - ppc/aix: Adaptions needed for recent update. - ppc/aix: Fixes for recent update - PPC assembler and register definitions. - PPC assembly needed to start up the interpreter. - ppc: compiler fixes & enable OSR - PPC: Continue C2 port: now jvm98 runs with compiler - ppc: enable better implicit null check recognition with cOops - ppc: fix cOops problem on aix - ppc: fix gcc 4.3.4 build - ppc: Fix issue in trap based null check optimization - ppc: Fix register usage in GetAndAdd & friends. - ppc: fix safepoint node. - ppc: fix trap based range checks. - ppc: Implement card mark emitter for concurrentMarkSweep. - PPC: Initial C2 compiler port. - ppc: Initial C2 compiler port, ppc files - ppc: port method handles support (hs21-hs23 version) - ppc: PPC platform files as required to start up the interpreter. - ppc: Relax load aquire and various minor changes - ppc: SIGTRAP based checks - PPC specific C2 flags: add macro PD_C2_FLAGS to global flag definitions. - PPC specific flags: add macro PD_FLAGS to global flag definitions. - ppc: support for g1, cOops - PPC64: Support for ABI_ELFv2. - Propagate HOTSPOT_BUILD_JOBS and PARALLEL_COMPILE_JOBS from the top-level make to the corresponding sub-makes. - Recent changes to ppc files, especially to ppc.ad file. - Recent improvements by SAP. - Removed unused DL_info declaration in java_md_solinux.c that caused AIX compiler failure - Remove ppc_ prefixes in ppc files. - Remove some unnecessary diffs to Oracle coding. - rt: add fence to taskqueue to fix probelms showing in torture tests - rt: C argument in register AND stack slot. - rt: extend ELF-decoder to ppc function descriptor tables - rt: Use stubs to implement safefetch. - S7177701: error: Filling jar message during javax/imageio/metadata/IIOMetadataFormatImpl compilation - S8003850 opto: introduce phase lateExpand to expand nodes after register allocation. - S8003850: add support for constants in stub code - S8003853 opto: specify offset of IC load in java_to_interp stub. - S8005055: pass outputStream to more opto debug routines - S8006971 rt: Improve handling of memory ordering in taskqueue.hpp. - S8016491: PPC64 (part 2): Clean up PPC defines. - S8016586: PPC64 (part 3): basic changes for PPC64 - S8016696: PPC64 (part 4): add relocation for trampoline stubs - S8017313: PPC64 (part 6): stack handling improvements - S8017317: PPC64 (part 7): cppInterpreter: implement support for biased locking - S8019517: PPC64 (part 102): cppInterpreter: implement G1 support - S8019929: PPC64 (part 107): Extend ELF-decoder to support PPC64 function descriptor tables - S8019973: PPC64 (part 11): Fix IA64 preprocessor conditionals on AIX. - S8024344: PPC64 (part 112): C argument in register AND stack slot. - S8024468: PPC64 (part 201): cppInterpreter: implement bytecode profiling - S8033168: PPC64: gcc 4.8 warning in output_c.cpp - S8035396: Introduce accessor for tmp_oop in frame. - S8036767: PPC64: Support for little endian execution model - S8036976: PPC64: implement the template interpreter - S8037915: PPC64/AIX: Several smaller fixes - S8042309: Some bugfixes for the ppc64 port - Several NIO fixes for AIX to pass JCK tests - shared assembler: fix DelayedConstant. - shared: Basic non-functional fixes needed for the ppc port. - shared: Fix IA64 preprocessor conditionals on AIX. - shared: introduce functions to specify memory ordering properties of platforms. - shared: Make adapter_code_size a function. - shared: Make hotspot build with gcc 4.7.2 and newer - shared: Make hsdis build and work on Linux/PPC64 - shared: Memory ordering as required for platforms with weak memory ordering (PPC) - shared: ordering of Independent Reads of Independent Writes - Some basic AIX changes to let the VM bootstrap itself and run JVM98. - Support for C calling conventions that require 64-bit ints. - Switched LD path setup for freetype version check so AIX can be covered by the 'everything else' part - Switch off Compressed Oops on AIX until we fix them - Temporarily disable 'EnableInvokeDynamic' while working on the new HS24 indy implementation - Temporarily switch off 'TrapBasedRangeChecks' - Trampoline relocations. - Trampoline relocations. Add some more functionality. - Turned off ImplicitNullChecks on AIX by default because it requires UseSIGTRAP which isn't currently implemented on AIX - Updated conditional handling for AIX when BLOCK_SOURCE enabled. Resolved Undefined symbol: .isSourceFilterSupported - Updated Defs-versions to understand about using xlc compiler on AIX - Updated genUnixConstants.c to compile on AIX. Made location of fcntl.h file platform specific and added a default value for O_NOFOLLOW as not supported on AIX - Updated hprof demo to build on AIX. Added SAP changes to fake out DLinfo etc - Updated hprof_md.c to include AIX as platform without hires timer - Updated location of bootstrap JDKs - Updated Platform.gmk to set PLATFORM=aix when uname is AIX - Updated README-ppc.html to reflect the current project status - Updated README to reflect the current status of the project (mainly the availability of a mixed-mode VM on Linux and AIX) - Updated test scripts to understand AIX os environment - Updated using pthreads in java_md_solinux.c to just rely on USE_PTHREADS. Removed the superflous __linux__ as USE_PTHREADS is already explictly turned on for linux builds - Use fork() to provide FORK() as Linux - Use LIBPATH in the launcher on AIX insted of LD_LIBRARY_PATH - Use macosx's BsdVirtualMachine implementation to provide tools/attach on AIX platform. - Use stubs to implement safefetch. - Use the solaris' approach of doing IsXRenderAvailable check for AIX * ARM port - Fix accidental reversion of PR1188 for armel * JamVM - JVM_NewMultiArray: element class may be an array - jtreg test java/lang/reflect/Array/ExceedMaxDim - OpenJDK: Fix Local/Anonymous class checks - classlibMarkThreadTerminated should return Object* - Fix race-condition in constant-pool resolution code - JSR292: MethodHandle constant-pool refs may be resolved - JSR292: bootstrap method args error handling - JSR292: correct intrinsic cache COMPARE function - Race condition in setting up imethod table - GC: Minor performance improvement The tarballs can be downloaded from: http://icedtea.classpath.org/download/source/icedtea-2.5.0.tar.gz http://icedtea.classpath.org/download/source/icedtea-2.5.0.tar.xz We provide both gzip and xz tarballs, so that those who are able to make use of the smaller tarball produced by xz may do so. The tarballs are accompanied by digital signatures available at: http://icedtea.classpath.org/download/source/icedtea-2.5.0.tar.gz.sig http://icedtea.classpath.org/download/source/icedtea-2.5.0.tar.xz.sig These are produced using my public key. See details below. PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 SHA256 checksums: 4e369e35dbf37a5fcc1a837861a74609bf907d3d0b9be7ac98d4f9c99dba7100 icedtea-2.5.0.tar.gz 018858b2de3e40bbd0e6e7ad2dd35ed54a51fc5b25c56dbcd7158ee5963c6c28 icedtea-2.5.0.tar.gz.sig 4bf6cf8c64679343623032de07ebfb78d8977005ee04d660c0c90d7b8e0ed8a3 icedtea-2.5.0.tar.xz f36464bcb4fcd59fee8e4db511ad817a3124e988417ea7e5c2628b75c9e572b9 icedtea-2.5.0.tar.xz.sig The checksums can be downloaded from: http://icedtea.classpath.org/download/source/icedtea-2.5.0.sha256 The following people helped with these releases: * Aleksandar Antok (infinality patch) * Tiago Sturmer Daitx (ppc64le support) * Andrew John Hughes (upstream, AArch64 & PPC port imports, all other bugs & release management) * Radim Kolar (*BSD support) * Trustin Lee (infinality patch) * Robert Lougher (JamVM support) * Xerxes R?nby (JamVM support) * Yasumasa Suenaga (SystemTap jstack support) We would also like to thank the bug reporters and testers! To get started: $ tar xzf icedtea-2.5.0.tar.gz or: $ tar x -I xz -f icedtea-2.5.0.tar.xz then: $ mkdir icedtea-build $ cd icedtea-build $ ../icedtea-2.5.0/configure $ make Full build requirements and instructions are available in the INSTALL file. Happy hacking! -- Andii :-) From andrew at icedtea.classpath.org Sat Jun 14 07:09:43 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Sat, 14 Jun 2014 07:09:43 +0000 Subject: /hg/release/icedtea7-forest-2.5: Added tag icedtea-2.5.0 for cha... Message-ID: changeset 7903ba59ba5a in /hg/release/icedtea7-forest-2.5 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5?cmd=changeset;node=7903ba59ba5a author: andrew date: Sat Jun 14 08:08:07 2014 +0100 Added tag icedtea-2.5.0 for changeset 6a4e58702235 diffstat: .hgtags | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diffs (8 lines): diff -r d789627c71b4 -r 7903ba59ba5a .hgtags --- a/.hgtags Fri Jun 13 15:04:03 2014 +0100 +++ b/.hgtags Sat Jun 14 08:08:07 2014 +0100 @@ -460,3 +460,4 @@ ac5183999ba532c6b89f24fe01f6f0eb96799719 jdk7u60-b30 d42df0b6ea9d7c736e0dcc0cb2562c0ee18928f2 icedtea-2.5pre07 6a4e587022352c27af42e7f725bdce23cecd039f icedtea-2.5pre08 +6a4e587022352c27af42e7f725bdce23cecd039f icedtea-2.5.0 From andrew at icedtea.classpath.org Sat Jun 14 07:09:55 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Sat, 14 Jun 2014 07:09:55 +0000 Subject: /hg/release/icedtea7-forest-2.5/corba: Added tag icedtea-2.5.0 f... Message-ID: changeset 8c910b5d3b77 in /hg/release/icedtea7-forest-2.5/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/corba?cmd=changeset;node=8c910b5d3b77 author: andrew date: Sat Jun 14 08:07:58 2014 +0100 Added tag icedtea-2.5.0 for changeset 32c25f3ecdf6 diffstat: .hgtags | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diffs (8 lines): diff -r 8af1a77fdff9 -r 8c910b5d3b77 .hgtags --- a/.hgtags Fri Jun 13 15:03:51 2014 +0100 +++ b/.hgtags Sat Jun 14 08:07:58 2014 +0100 @@ -462,3 +462,4 @@ 39734d26e279098fae06cee5a127e126090ddec9 jdk7u60-b30 03a1bf9a9e898228db9660cc5821a561bbd4108e icedtea-2.5pre07 32c25f3ecdf67b82678b35cadc1a10fb63b312f3 icedtea-2.5pre08 +32c25f3ecdf67b82678b35cadc1a10fb63b312f3 icedtea-2.5.0 From andrew at icedtea.classpath.org Sat Jun 14 07:10:07 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Sat, 14 Jun 2014 07:10:07 +0000 Subject: /hg/release/icedtea7-forest-2.5/jaxp: Added tag icedtea-2.5.0 fo... Message-ID: changeset 2a00b40e67c9 in /hg/release/icedtea7-forest-2.5/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/jaxp?cmd=changeset;node=2a00b40e67c9 author: andrew date: Sat Jun 14 08:07:59 2014 +0100 Added tag icedtea-2.5.0 for changeset 6b28d9218dac diffstat: .hgtags | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diffs (8 lines): diff -r b74845a8fb3c -r 2a00b40e67c9 .hgtags --- a/.hgtags Fri Jun 13 15:03:52 2014 +0100 +++ b/.hgtags Sat Jun 14 08:07:59 2014 +0100 @@ -463,3 +463,4 @@ cef2dec8b5d76555c5b7b2e1a62275206f76a07a jdk7u60-b30 f4ad8e860eaf9cb6352e08ea88922d8c41fce766 icedtea-2.5pre07 6b28d9218dac6b1ebb849fad37fd3d29f08accfc icedtea-2.5pre08 +6b28d9218dac6b1ebb849fad37fd3d29f08accfc icedtea-2.5.0 From andrew at icedtea.classpath.org Sat Jun 14 07:10:19 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Sat, 14 Jun 2014 07:10:19 +0000 Subject: /hg/release/icedtea7-forest-2.5/jaxws: Added tag icedtea-2.5.0 f... Message-ID: changeset 73f3c7ca3b99 in /hg/release/icedtea7-forest-2.5/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/jaxws?cmd=changeset;node=73f3c7ca3b99 author: andrew date: Sat Jun 14 08:08:00 2014 +0100 Added tag icedtea-2.5.0 for changeset f1f1ade53c01 diffstat: .hgtags | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diffs (8 lines): diff -r 8661bf13c026 -r 73f3c7ca3b99 .hgtags --- a/.hgtags Fri Jun 13 15:03:54 2014 +0100 +++ b/.hgtags Sat Jun 14 08:08:00 2014 +0100 @@ -462,3 +462,4 @@ 39e67887a3b112bf74f84df2aac0f46c65bfb005 jdk7u60-b30 9699fe5c5232952a0c75e4a5562d86b33ebe6bf5 icedtea-2.5pre07 f1f1ade53c01f57c8b5c8c0bd0864bc59b294a07 icedtea-2.5pre08 +f1f1ade53c01f57c8b5c8c0bd0864bc59b294a07 icedtea-2.5.0 From andrew at icedtea.classpath.org Sat Jun 14 07:10:31 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Sat, 14 Jun 2014 07:10:31 +0000 Subject: /hg/release/icedtea7-forest-2.5/langtools: Added tag icedtea-2.5... Message-ID: changeset d3a36bd3c651 in /hg/release/icedtea7-forest-2.5/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/langtools?cmd=changeset;node=d3a36bd3c651 author: andrew date: Sat Jun 14 08:08:07 2014 +0100 Added tag icedtea-2.5.0 for changeset f70c7b796422 diffstat: .hgtags | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diffs (8 lines): diff -r eaf475e0989c -r d3a36bd3c651 .hgtags --- a/.hgtags Fri Jun 13 15:04:02 2014 +0100 +++ b/.hgtags Sat Jun 14 08:08:07 2014 +0100 @@ -462,3 +462,4 @@ b578e801c5f0e41be96d58e213b32f5c0c9278e8 jdk7u60-b30 4548707805795436195ddb2f1dd2061dd474bed7 icedtea-2.5pre07 f70c7b79642290aabc561d5613333dc8c4d83172 icedtea-2.5pre08 +f70c7b79642290aabc561d5613333dc8c4d83172 icedtea-2.5.0 From andrew at icedtea.classpath.org Sat Jun 14 07:10:44 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Sat, 14 Jun 2014 07:10:44 +0000 Subject: /hg/release/icedtea7-forest-2.5/hotspot: Added tag icedtea-2.5.0... Message-ID: changeset 040adda8e27e in /hg/release/icedtea7-forest-2.5/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/hotspot?cmd=changeset;node=040adda8e27e author: andrew date: Sat Jun 14 08:08:08 2014 +0100 Added tag icedtea-2.5.0 for changeset 5dc3dd2819c8 diffstat: .hgtags | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diffs (8 lines): diff -r 322649590a90 -r 040adda8e27e .hgtags --- a/.hgtags Fri Jun 13 15:05:43 2014 +0100 +++ b/.hgtags Sat Jun 14 08:08:08 2014 +0100 @@ -682,3 +682,4 @@ 13f561930b3e80a94e2baddc51dfc6c43c5ca601 jdk7u60-b30 f106b1f551d7ae8ef8d493b87818ada0f0bcdd8f icedtea-2.5pre07 5dc3dd2819c8066197d931a213b3cf23b2758e6c icedtea-2.5pre08 +5dc3dd2819c8066197d931a213b3cf23b2758e6c icedtea-2.5.0 From andrew at icedtea.classpath.org Sat Jun 14 07:10:59 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Sat, 14 Jun 2014 07:10:59 +0000 Subject: /hg/release/icedtea7-forest-2.5/jdk: Added tag icedtea-2.5.0 for... Message-ID: changeset 59d534f8c9fb in /hg/release/icedtea7-forest-2.5/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.5/jdk?cmd=changeset;node=59d534f8c9fb author: andrew date: Sat Jun 14 08:08:05 2014 +0100 Added tag icedtea-2.5.0 for changeset 9705894e1370 diffstat: .hgtags | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diffs (8 lines): diff -r a052a690eef8 -r 59d534f8c9fb .hgtags --- a/.hgtags Fri Jun 13 15:04:01 2014 +0100 +++ b/.hgtags Sat Jun 14 08:08:05 2014 +0100 @@ -446,3 +446,4 @@ 8dc56d0f3e860658619eaa57d10fb1a4182d71cd jdk7u60-b30 5607f5a99784da3d78d2062f6b0bb99da864ca65 icedtea-2.5pre07 9705894e1370a492481123357433ca7a0adde838 icedtea-2.5pre08 +9705894e1370a492481123357433ca7a0adde838 icedtea-2.5.0 From gnu.andrew at redhat.com Sat Jun 14 07:12:13 2014 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Sat, 14 Jun 2014 03:12:13 -0400 (EDT) Subject: Time line for IcedTea with JDK7u60? In-Reply-To: References: Message-ID: <1226662153.24412031.1402729933548.JavaMail.zimbra@redhat.com> ----- Original Message ----- > Hello all, > > I was wondering if there is already a timeline for an IcedTea release that > includes the changes from JDK7u60? > > I am asking because a project I am working on is seriously affected by a > Bug in JDK7 before u60 ( > http://bugs.java.com/bugdatabase/view_bug.do?bug_id=6900441, time > primitives hang when the system wallclock time is set back). > > I noticed that the bug has been fixed in the recently released in the > recently released Oracle JDK based on JDK7u60. > > Any thoughts on when this change may propagate to IcedTea? > > Thanks, > > -Andi > Just released: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2014-June/028187.html -- 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 bugzilla-daemon at icedtea.classpath.org Sun Jun 15 09:59:00 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sun, 15 Jun 2014 09:59:00 +0000 Subject: [Bug 729] GTKLookAndFeel should be the system look&feel on all GNU/Linux desktops In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=729 --- Comment #10 from Clemens Eisserer --- I still strongly against this change, for the following reasons: 1. Due to the crippled GTK2 theme interface, GtkLookAndFeel is horrible slow, and completely unuseable over remote X connections. Every widget is rendered twice on the server side and read back using XGetImage - causing thousands of context switches or, in the remote case, network round-trips. Also, this is horrible for modern, hardware accalerated Xorg drivers, where readback is a lot more expensive. While at least WindowsLookAndFeel causes only a minor slowdown (don't know about Aqua), GtKLookAndFeel is slower by factors! If interrested, I could provide results of a few swing benchmarks I regular ran when developing the xrender pipeline. 2. There are still quite a few themes, where GtkLnF breaks. All in all, GtkLnF is by far the worst performing/behaving SystemLookAndFeel, and I think this is also the reason why it wasn't exposed by getSystemLookAndFeel(). There are quite a few apps trying to behave well by setting automatically the LnF returned by getSystemLookAndFeel - and suddenly users would see crippled and slow java applications, just making Linux look again like a inferior desktop platform. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Sun Jun 15 10:01:44 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sun, 15 Jun 2014 10:01:44 +0000 Subject: [Bug 729] GTKLookAndFeel should be the system look&feel on all GNU/Linux desktops In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=729 --- Comment #11 from Clemens Eisserer --- sorry for the add-on: I remember Mario Torre supervised a student in GSoC last summer, which tried to port the theming interface to GTK3. Maybe it would make more sense integrating this work, if a GtkLnF should be default for getSystemLnf(). -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Sun Jun 15 21:34:55 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sun, 15 Jun 2014 21:34:55 +0000 Subject: [Bug 729] GTKLookAndFeel should be the system look&feel on all GNU/Linux desktops In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=729 --- Comment #12 from Kevin Kofler --- > 1. Due to the crippled GTK2 theme interface, GtkLookAndFeel is horrible slow, > and completely unuseable over remote X connections. The change that was committed only enables it for local X connections. Also, for GNOME, the GTK+ look&feel has always been the default (even over remote X), the change lets other desktop environments also benefit from the same system integration. > There are quite a few apps trying to behave well by setting automatically the > LnF returned by getSystemLookAndFeel ??? as they should! (That should really be the default in Java to begin with!) > and suddenly users would see crippled and slow java applications, just making > Linux look again like a inferior desktop platform. Users will actually see Java applications that match the look&feel of all other applications on their system and do not look ugly and out of place as before. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Sun Jun 15 21:42:55 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sun, 15 Jun 2014 21:42:55 +0000 Subject: [Bug 729] GTKLookAndFeel should be the system look&feel on all GNU/Linux desktops In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=729 --- Comment #13 from Kevin Kofler --- Oh, and: > 2. There are still quite a few themes, where GtkLnF breaks. Then get those themes fixed. I filed the bugs (small rendering glitches) I found in oxygen-gtk2. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Mon Jun 16 02:35:29 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 16 Jun 2014 02:35:29 +0000 Subject: [Bug 729] GTKLookAndFeel should be the system look&feel on all GNU/Linux desktops In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=729 --- Comment #14 from Clemens Eisserer --- You completely ignored my performance concerns for the local case, and did not even care to ask for numbers. I have voiced my concerns, if the don't weight enough, so be it. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Mon Jun 16 11:02:44 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 16 Jun 2014 11:02:44 +0000 Subject: [Bug 1777] IcedTea-Web always redownloads web start application if they are packed In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1777 Lars Herschke changed: What |Removed |Added ---------------------------------------------------------------------------- Priority|P5 |P4 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From ptisnovs at icedtea.classpath.org Mon Jun 16 11:32:44 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Mon, 16 Jun 2014 11:32:44 +0000 Subject: /hg/gfx-test: Eight new tests added into CAGOperationsOnTwoOverl... Message-ID: changeset d6466ab27d74 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=d6466ab27d74 author: Pavel Tisnovsky date: Mon Jun 16 13:33:35 2014 +0200 Eight new tests added into CAGOperationsOnTwoOverlappingCircles. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/CAGOperationsOnTwoOverlappingCircles.java | 200 ++++++++++ 2 files changed, 205 insertions(+), 0 deletions(-) diffs (222 lines): diff -r a90af99ed87b -r d6466ab27d74 ChangeLog --- a/ChangeLog Thu Jun 12 09:50:22 2014 +0200 +++ b/ChangeLog Mon Jun 16 13:33:35 2014 +0200 @@ -1,3 +1,8 @@ +2014-06-16 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/CAGOperationsOnTwoOverlappingCircles.java: + Eight new tests added into CAGOperationsOnTwoOverlappingCircles. + 2014-06-12 Pavel Tisnovsky * src/org/gfxtest/testsuites/CAGOperationsOnTwoConcentricCircles.java: diff -r a90af99ed87b -r d6466ab27d74 src/org/gfxtest/testsuites/CAGOperationsOnTwoOverlappingCircles.java --- a/src/org/gfxtest/testsuites/CAGOperationsOnTwoOverlappingCircles.java Thu Jun 12 09:50:22 2014 +0200 +++ b/src/org/gfxtest/testsuites/CAGOperationsOnTwoOverlappingCircles.java Mon Jun 16 13:33:35 2014 +0200 @@ -1559,6 +1559,206 @@ /** * Checks the process of creating and rendering new geometric shape + * constructed from two overlapping circles using union operator. The shape is rendered + * using texture paint (fill). + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testUnionTextureFillUsingDiagonalGridTexture(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingDiagonalGridTexture(image, graphics2d); + // create area using union operator + Area area = CommonCAGOperations.createAreaFromTwoOverlappingCirclesUsingUnionOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two overlapping circles using subtract operator. The shape is rendered + * using texture paint (fill). + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testSubtractTextureFillUsingDiagonalGridTexture(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingDiagonalGridTexture(image, graphics2d); + // create area using subtract operator + Area area = CommonCAGOperations.createAreaFromTwoOverlappingCirclesUsingSubtractOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two overlapping circles using inverse subtract operator. The shape is rendered + * using texture paint (fill). + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testInverseSubtractTextureFillUsingDiagonalGridTexture(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingDiagonalGridTexture(image, graphics2d); + // create area using inverse subtract operator + Area area = CommonCAGOperations.createAreaFromTwoOverlappingCirclesUsingInverseSubtractOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two overlapping circles using Intersect operator. The shape is rendered + * using texture paint (fill). + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testIntersectTextureFillUsingDiagonalGridTexture(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingDiagonalGridTexture(image, graphics2d); + // create area using Intersect operator + Area area = CommonCAGOperations.createAreaFromTwoOverlappingCirclesUsingIntersectOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two overlapping circles using Xor operator. The shape is rendered + * using texture paint (fill). + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testXorTextureFillUsingDiagonalGridTexture(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingDiagonalGridTexture(image, graphics2d); + // create area using Xor operator + Area area = CommonCAGOperations.createAreaFromTwoOverlappingCirclesUsingXorOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two overlapping circles using union operator. The shape is rendered + * using texture paint (fill). + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testUnionTextureFillUsingHorizontalStripesTexture(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingHorizontalStripesTexture(image, graphics2d); + // create area using union operator + Area area = CommonCAGOperations.createAreaFromTwoOverlappingCirclesUsingUnionOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two overlapping circles using subtract operator. The shape is rendered + * using texture paint (fill). + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testSubtractTextureFillUsingHorizontalStripesTexture(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingHorizontalStripesTexture(image, graphics2d); + // create area using subtract operator + Area area = CommonCAGOperations.createAreaFromTwoOverlappingCirclesUsingSubtractOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two overlapping circles using inverse subtract operator. The shape is rendered + * using texture paint (fill). + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testInverseSubtractTextureFillUsingHorizontalStripesTexture(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingHorizontalStripesTexture(image, graphics2d); + // create area using inverse subtract operator + Area area = CommonCAGOperations.createAreaFromTwoOverlappingCirclesUsingInverseSubtractOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape * constructed from two overlapping circles using Intersect operator. The shape is rendered * using texture paint (fill). * From aazores at redhat.com Mon Jun 16 20:34:36 2014 From: aazores at redhat.com (Andrew Azores) Date: Mon, 16 Jun 2014 16:34:36 -0400 Subject: [rfc][icedtea-web][policyeditor] MVC-ish refactor Message-ID: <539F54DC.1030700@redhat.com> Hi, This patch extracts some logic out of PolicyEditor into a new class, PolicyEditorController, so that other "Views" can be more easily made in the future, the first planned one being a purely CLI interface for PolicyEditor. Future work could also include having changes to the Model actually update the View(s). Currently, the View (PolicyEditor) simply updates its UI based on requests it makes to the PolicyEditorController and return values that come back, which is the same as how it is before this patch, except the PolicyEditor called directly into the PolicyFileModel. Additionally, file IO in the Controller is synchronous, so opening and saving policy files in PolicyEditor is a SwingWorker async wrapper around this essentially. This fact is leveraged when the PolicyEditor is being exited with changes to be saved first, and the synchronous IO is used instead with additional dialogs *not* shown. This works around the buggy behaviour when spawning modal child dialogs when the parent has already disappeared, which could cause the JVM not to exit. Thanks, -- Andrew Azores -------------- next part -------------- A non-text attachment was scrubbed... Name: policyeditor-mvc-refactor-3.patch Type: text/x-patch Size: 31463 bytes Desc: not available URL: From omajid at redhat.com Mon Jun 16 20:54:15 2014 From: omajid at redhat.com (Omair Majid) Date: Mon, 16 Jun 2014 16:54:15 -0400 Subject: [rfc][icedtea-web][policyeditor] MVC-ish refactor In-Reply-To: <539F54DC.1030700@redhat.com> References: <539F54DC.1030700@redhat.com> Message-ID: <20140616205415.GF2557@redhat.com> * Andrew Azores [2014-06-16 16:35]: > This patch extracts some logic out of PolicyEditor into a new class, > PolicyEditorController, so that other "Views" can be more easily made in the > future, the first planned one being a purely CLI interface for PolicyEditor. > Future work could also include having changes to the Model actually update > the View(s). Currently, the View (PolicyEditor) simply updates its UI based > on requests it makes to the PolicyEditorController and return values that > come back, which is the same as how it is before this patch, except the > PolicyEditor called directly into the PolicyFileModel. I don't think calling this MVC is fair. It's not really splitting things by responsibilities: the view has a ton of logic and is still making all sorts of decisions instead of relying on the controller to do that. Of of the big wins I normally get from using (modern-ish) MVC (Passive-View, to be more specific) is that my views are so dumb that there's no logic there that needs unit testing. Thanks, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From aazores at redhat.com Mon Jun 16 21:01:08 2014 From: aazores at redhat.com (Andrew Azores) Date: Mon, 16 Jun 2014 17:01:08 -0400 Subject: [rfc][icedtea-web][policyeditor] MVC-ish refactor In-Reply-To: <20140616205415.GF2557@redhat.com> References: <539F54DC.1030700@redhat.com> <20140616205415.GF2557@redhat.com> Message-ID: <539F5B14.6010703@redhat.com> On 06/16/2014 04:54 PM, Omair Majid wrote: > * Andrew Azores [2014-06-16 16:35]: >> This patch extracts some logic out of PolicyEditor into a new class, >> PolicyEditorController, so that other "Views" can be more easily made in the >> future, the first planned one being a purely CLI interface for PolicyEditor. >> Future work could also include having changes to the Model actually update >> the View(s). Currently, the View (PolicyEditor) simply updates its UI based >> on requests it makes to the PolicyEditorController and return values that >> come back, which is the same as how it is before this patch, except the >> PolicyEditor called directly into the PolicyFileModel. > > I don't think calling this MVC is fair. It's not really splitting things > by responsibilities: the view has a ton of logic and is still making all > sorts of decisions instead of relying on the controller to do that. > > Of of the big wins I normally get from using (modern-ish) MVC > (Passive-View, to be more specific) is that my views are so dumb that > there's no logic there that needs unit testing. > > Thanks, > Omair > Yea, that's why I'm hesitating to call it MVC and instead calling it MVC-ish. Barely at all at this point, really, but it's something, and it'll still make it easier to create the CLI-only interface. There's also more that can probably be fairly easily extracted from PolicyEditor into PolicyEditorController, but I wanted to move in smaller steps and have this very basic extraction done first. Thanks, -- Andrew Azores From aazores at redhat.com Mon Jun 16 21:09:05 2014 From: aazores at redhat.com (Andrew Azores) Date: Mon, 16 Jun 2014 17:09:05 -0400 Subject: [rfc][icedtea-web][policyeditor] CustomPermission no-actions constructor Message-ID: <539F5CF1.9060504@redhat.com> Hi, This patch very simply adds a new constructor to model CustomPermissions which do not have any actions, rather than forcing no-actions permissions to be instantiated by passing an empty string for the actions argument. Thanks, -- Andrew Azores -------------- next part -------------- A non-text attachment was scrubbed... Name: custom-permission-no-actions.patch Type: text/x-patch Size: 4948 bytes Desc: not available URL: From ptisnovs at icedtea.classpath.org Tue Jun 17 09:25:15 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Tue, 17 Jun 2014 09:25:15 +0000 Subject: /hg/gfx-test: Ten new tests added into CAGOperationsOnTwoOverlap... Message-ID: changeset 7a3bd5bcb072 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=7a3bd5bcb072 author: Pavel Tisnovsky date: Tue Jun 17 11:26:06 2014 +0200 Ten new tests added into CAGOperationsOnTwoOverlappingRectangles. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/CAGOperationsOnTwoOverlappingRectangles.java | 250 ++++++++++ 2 files changed, 255 insertions(+), 0 deletions(-) diffs (272 lines): diff -r d6466ab27d74 -r 7a3bd5bcb072 ChangeLog --- a/ChangeLog Mon Jun 16 13:33:35 2014 +0200 +++ b/ChangeLog Tue Jun 17 11:26:06 2014 +0200 @@ -1,3 +1,8 @@ +2014-06-17 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/CAGOperationsOnTwoOverlappingRectangles.java: + Ten new tests added into CAGOperationsOnTwoOverlappingRectangles. + 2014-06-16 Pavel Tisnovsky * src/org/gfxtest/testsuites/CAGOperationsOnTwoOverlappingCircles.java: diff -r d6466ab27d74 -r 7a3bd5bcb072 src/org/gfxtest/testsuites/CAGOperationsOnTwoOverlappingRectangles.java --- a/src/org/gfxtest/testsuites/CAGOperationsOnTwoOverlappingRectangles.java Mon Jun 16 13:33:35 2014 +0200 +++ b/src/org/gfxtest/testsuites/CAGOperationsOnTwoOverlappingRectangles.java Tue Jun 17 11:26:06 2014 +0200 @@ -1932,6 +1932,256 @@ } /** + * Checks the process of creating and rendering new geometric shape + * constructed from two overlapping rectangles using union operator. The shape is rendered + * using texture paint (fill). + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testUnionTextureFillUsingHorizontalColorStripesTexture(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingHorizontalColorStripesTexture(image, graphics2d); + // create area using union operator + Area area = CommonCAGOperations.createAreaFromTwoOverlappingRectanglesUsingUnionOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two overlapping rectangles using subtract operator. The shape is rendered + * using texture paint (fill). + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testSubtractTextureFillUsingHorizontalColorStripesTexture(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingHorizontalColorStripesTexture(image, graphics2d); + // create area using subtract operator + Area area = CommonCAGOperations.createAreaFromTwoOverlappingRectanglesUsingSubtractOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two overlapping rectangles using inverse subtract operator. The shape is rendered + * using texture paint (fill). + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testInverseSubtractTextureFillUsingHorizontalColorStripesTexture(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingHorizontalColorStripesTexture(image, graphics2d); + // create area using inverse subtract operator + Area area = CommonCAGOperations.createAreaFromTwoOverlappingRectanglesUsingInverseSubtractOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two overlapping rectangles using Intersect operator. The shape is rendered + * using texture paint (fill). + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testIntersectTextureFillUsingHorizontalColorStripesTexture(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingHorizontalColorStripesTexture(image, graphics2d); + // create area using Intersect operator + Area area = CommonCAGOperations.createAreaFromTwoOverlappingRectanglesUsingIntersectOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two overlapping rectangles using Xor operator. The shape is rendered + * using texture paint (fill). + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testXorTextureFillUsingHorizontalColorStripesTexture(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingHorizontalColorStripesTexture(image, graphics2d); + // create area using Xor operator + Area area = CommonCAGOperations.createAreaFromTwoOverlappingRectanglesUsingXorOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two overlapping rectangles using union operator. The shape is rendered + * using texture paint (fill). + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testUnionTextureFillUsingVerticalColorStripesTexture(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingVerticalColorStripesTexture(image, graphics2d); + // create area using union operator + Area area = CommonCAGOperations.createAreaFromTwoOverlappingRectanglesUsingUnionOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two overlapping rectangles using subtract operator. The shape is rendered + * using texture paint (fill). + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testSubtractTextureFillUsingVerticalColorStripesTexture(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingVerticalColorStripesTexture(image, graphics2d); + // create area using subtract operator + Area area = CommonCAGOperations.createAreaFromTwoOverlappingRectanglesUsingSubtractOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two overlapping rectangles using inverse subtract operator. The shape is rendered + * using texture paint (fill). + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testInverseSubtractTextureFillUsingVerticalColorStripesTexture(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingVerticalColorStripesTexture(image, graphics2d); + // create area using inverse subtract operator + Area area = CommonCAGOperations.createAreaFromTwoOverlappingRectanglesUsingInverseSubtractOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two overlapping rectangles using Intersect operator. The shape is rendered + * using texture paint (fill). + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testIntersectTextureFillUsingVerticalColorStripesTexture(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingVerticalColorStripesTexture(image, graphics2d); + // create area using Intersect operator + Area area = CommonCAGOperations.createAreaFromTwoOverlappingRectanglesUsingIntersectOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two overlapping rectangles using Xor operator. The shape is rendered + * using texture paint (fill). + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testXorTextureFillUsingVerticalColorStripesTexture(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingVerticalColorStripesTexture(image, graphics2d); + // create area using Xor operator + Area area = CommonCAGOperations.createAreaFromTwoOverlappingRectanglesUsingXorOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** * Entry point to the test suite. * * @param args From jvanek at redhat.com Tue Jun 17 12:32:13 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 17 Jun 2014 14:32:13 +0200 Subject: [rfc][icedtea-web 1.5] backporting of Re: [rfc][icedtea-web] run on any open/oracle jdk (and ibm jdk!)) (was /hg/icedtea-web: 5 new changesets ) In-Reply-To: References: Message-ID: <53A0354D.9000404@redhat.com> hi! I would like to backport (yes, all of it :( ) this to 1.5, as we need to support JDK8 here. Except multicatch and diamond it should be jdk6 compatible. Also some time afferent this I would like to schedule 1.5.1 release, so please think about what needs to be backported or done for it. Thank you! J. On 05/22/2014 06:30 PM, jvanek at icedtea.classpath.org wrote: > changeset c6591d36d68a in /hg/icedtea-web > details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=c6591d36d68a > author: Jiri Vanek > date: Thu May 22 16:45:11 2014 +0200 > > Made it works (basicaly) on any JDK > > > changeset b1e4f8185c10 in /hg/icedtea-web > details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=b1e4f8185c10 > author: Jiri Vanek > date: Thu May 22 17:21:35 2014 +0200 > > All tests adapted to run from XBootclaspath (forced by extending package private rt.jar class) > > > changeset 7ce5153a6fd1 in /hg/icedtea-web > details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=7ce5153a6fd1 > author: Jiri Vanek > date: Thu May 22 17:57:52 2014 +0200 > > Making the previous chnage actualy take an effect. All tests runs using CLASSPATH varibale on line, separated by semicolon. > > > changeset 96ccc89ddb57 in /hg/icedtea-web > details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=96ccc89ddb57 > author: Jiri Vanek > date: Thu May 22 18:08:36 2014 +0200 > > Added accidentally skipped hunk > > > changeset 0c7dcde1cfe0 in /hg/icedtea-web > details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=0c7dcde1cfe0 > author: Jiri Vanek > date: Thu May 22 18:30:41 2014 +0200 > > Fixed slipped test classlaoder fix in JavawsAWTRobotFindsButtonTest.java > > > diffstat: > > ChangeLog | 52 ++++ > Makefile.am | 37 +- > acinclude.m4 | 43 +-- > configure.ac | 2 +- > netx/net/sourceforge/jnlp/NetxPanel.java | 24 +- > netx/sun/applet/AppletViewerPanelAccess.java | 122 ++++++++++ > netx/sun/applet/package-info.java | 37 +++ > plugin/icedteanp/java/sun/applet/PluginAppletPanelFactory.java | 2 +- > plugin/icedteanp/java/sun/applet/PluginAppletViewer.java | 12 +- > tests/netx/unit/net/sourceforge/jnlp/JNLPMatcherTest.java | 2 +- > tests/reproducers/simple/JavawsAWTRobotFindsButton/testcases/JavawsAWTRobotFindsButtonTest.java | 2 +- > tests/test-extensions/net/sourceforge/jnlp/awt/imagesearch/ComponentFinder.java | 2 +- > 12 files changed, 269 insertions(+), 68 deletions(-) > > diffs (truncated from 603 to 500 lines): > > diff -r 02a18cce94c7 -r 0c7dcde1cfe0 ChangeLog > --- a/ChangeLog Wed May 21 11:08:18 2014 -0400 > +++ b/ChangeLog Thu May 22 18:30:41 2014 +0200 > @@ -1,3 +1,55 @@ > +2014-05-21 Jiri Vanek > + > + Fixed slipped test classlaoder fix > + * sts/reproducers/simple/JavawsAWTRobotFindsButton/testcases/JavawsAWTRobotFindsButtonTest.java > + (static init) used system classlaoder to laod image > + > +2014-05-21 Jiri Vanek > + > + * netx/sun/applet/AppletViewerPanelAccess.java: addedd accidentally skipped > + createAppletThread method > + > +2014-05-21 Jiri Vanek > + > + Making the previous chnage actualy take an effect. > + * Makefile.am: All tests runs using CLASSPATH varibale on line, separated by > + semicolon. I have no idea wy this was needing. > + > +2014-05-21 Jiri Vanek > + > + All tests adapted to run from XBootclaspath (forced by extending package private > + rt.jar class) > + * Makefile.am: all sets of call of -Xbootclasspath in tests and coverage > + are now adding $CLASSPATH to boot classapth. Where CLASSPATH was not deffined, > + was added. > + * tests/netx/unit/net/sourceforge/jnlp/JNLPMatcherTest.java: and > + * tests/test-extensions/net/sourceforge/jnlp/awt/imagesearch/ComponentFinder.java: > + resources loaded from boot classloader > + > +2014-05-21 Jiri Vanek > + > + Made it works (basicaly) on any JDK > + * Makefile.am: (NETX_PKGS) sun.applet added to recognized netx packages > + (netx-dist.stamp) sun directory included into packed list > + * acinclude.m4: removed (IT_CHECK_FOR_APPLETVIEWERPANEL_HOLE) check. Added > + IT_CHECK_FOR_SUN_APPLET_ACCESSIBILITY, which test existence of > + classes sun.applet.AppletPanel, sun.applet.AppletViewerPanel > + fields applet, documentURL, baseURL and methods run and runLoader. Addapted messge > + * configure.ac: call to IT_CHECK_FOR_APPLETVIEWERPANEL_HOLE replaced by call > + to IT_CHECK_FOR_SUN_APPLET_ACCESSIBILITY > + * /netx/net/sourceforge/jnlp/NetxPanel.java: now extends AppletViewerPanelAccess > + instead of AppletViewerPanel directly. Access to baseURL, applet and documentURL > + replaced by dedicated getters/setters > + * netx/sun/applet/AppletViewerPanelAccess.java: new class extending AppletViewerPanel > + and enabling access to applet, documentURL and baseURL. Backed by reflection. > + Also overriding run by usage of short copypasted code. > + * netx/sun/applet/package-info.java: new file with worning about usage of this > + package in itw > + * plugin/icedteanp/java/sun/applet/PluginAppletPanelFactory.java: only call > + to super debug repalced by ITW's debugging call > + * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: used getters as in > + NetxPanel > + > 2014-05-21 Andrew Azores > > * AUTHORS: added Lukasz Dracz and Jie Kang > diff -r 02a18cce94c7 -r 0c7dcde1cfe0 Makefile.am > --- a/Makefile.am Wed May 21 11:08:18 2014 -0400 > +++ b/Makefile.am Thu May 22 18:30:41 2014 +0200 > @@ -135,7 +135,8 @@ > net.sourceforge.jnlp.controlpanel net.sourceforge.jnlp.event \ > net.sourceforge.jnlp.runtime net.sourceforge.jnlp.security \ > net.sourceforge.jnlp.security.viewer net.sourceforge.jnlp.services \ > - net.sourceforge.jnlp.tools net.sourceforge.jnlp.util > + net.sourceforge.jnlp.tools net.sourceforge.jnlp.util \ > + sun.applet > > NETX_EXCLUDE_SRCS= > > @@ -502,11 +503,11 @@ > (cd $(NETX_DIR) ; \ > mkdir -p lib ; \ > $(BOOT_DIR)/bin/jar cfm lib/classes.jar \ > - $(abs_top_builddir)/netx.manifest javax/jnlp net ; \ > + $(abs_top_builddir)/netx.manifest javax/jnlp net sun; \ > cp -pPR $(SRC_DIR_LINK) $(NETX_SRCDIR) src; \ > find src -type f -exec chmod 640 '{}' ';' -o -type d -exec chmod 750 '{}' ';'; \ > cd src ; \ > - $(ZIP) -qr $(NETX_DIR)/lib/src.zip javax net ) > + $(ZIP) -qr $(NETX_DIR)/lib/src.zip javax net sun) > mkdir -p stamps > touch $@ > > @@ -893,9 +894,9 @@ > $(TESTS_DIR)/$(REPORT_STYLES_DIRNAME) $(REPRODUCERS_CLASS_NAMES) stamps/process-custom-reproducers.stamp > cd $(TEST_EXTENSIONS_DIR) ; \ > class_names=`cat $(REPRODUCERS_CLASS_NAMES)` ; \ > - CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):.:$(TEST_EXTENSIONS_TESTS_DIR):$(TEST_EXTENSIONS_SRCDIR) \ > + CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):.:$(TEST_EXTENSIONS_TESTS_DIR):$(TEST_EXTENSIONS_SRCDIR) ; \ > $(BOOT_DIR)/bin/java $(REPRODUCERS_DPARAMETERS) \ > - -Xbootclasspath:$(RUNTIME) CommandLine $$class_names > + -Xbootclasspath/a:$(RUNTIME):$$CLASSPATH CommandLine $$class_names > if WITH_XSLTPROC > -$(XSLTPROC) --stringparam logs logs_reproducers.html $(TESTS_SRCDIR)/$(REPORT_STYLES_DIRNAME)/jreport.xsl $(TEST_EXTENSIONS_DIR)/tests-output.xml > $(TESTS_DIR)/index_reproducers.html > -$(XSLTPROC) $(TESTS_SRCDIR)/$(REPORT_STYLES_DIRNAME)/logs.xsl $(TEST_EXTENSIONS_DIR)/ServerAccess-logs.xml > $(TESTS_DIR)/logs_reproducers.html > @@ -1072,8 +1073,8 @@ > done ; \ > cd $(NETX_UNIT_TEST_DIR) ; \ > class_names=`cat $(UNIT_CLASS_NAMES)` ; \ > - CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(abs_top_builddir)/liveconnect/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):$(TEST_EXTENSIONS_DIR):.:$(TEST_EXTENSIONS_SRCDIR):$(TAGSOUP_JAR) \ > - $(BOOT_DIR)/bin/java -Xbootclasspath:$(RUNTIME) CommandLine $$class_names > + CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(abs_top_builddir)/liveconnect/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):$(TEST_EXTENSIONS_DIR):.:$(TEST_EXTENSIONS_SRCDIR):$(TAGSOUP_JAR) ; \ > + $(BOOT_DIR)/bin/java -Xbootclasspath/a:$(RUNTIME):$$CLASSPATH CommandLine $$class_names > if WITH_XSLTPROC > -$(XSLTPROC) --stringparam logs logs_unit.html $(TESTS_SRCDIR)/$(REPORT_STYLES_DIRNAME)/jreport.xsl $(NETX_UNIT_TEST_DIR)/tests-output.xml > $(TESTS_DIR)/index_unit.html > -$(XSLTPROC) $(TESTS_SRCDIR)/$(REPORT_STYLES_DIRNAME)/logs.xsl $(NETX_UNIT_TEST_DIR)/ServerAccess-logs.xml > $(TESTS_DIR)/logs_unit.html > @@ -1093,7 +1094,8 @@ > mv $(NETX_UNIT_TEST_DIR)/$$file $(NETX_UNIT_TEST_DIR)/"$$file""$(EMMA_BACKUP_SUFFIX)" ; \ > done ;\ > class_names=`cat $(UNIT_CLASS_NAMES)` ; \ > - $(BOOT_DIR)/bin/java $(EMMA_JAVA_ARGS) -Xbootclasspath:$(RUNTIME) -cp $(EMMA_JAR) -Demma.report.html.out.encoding=UTF-8 emmarun \ > + CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(abs_top_builddir)/liveconnect/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):$(TEST_EXTENSIONS_DIR):.:$(TEST_EXTENSIONS_SRCDIR) ; \ > + $(BOOT_DIR)/bin/java $(EMMA_JAVA_ARGS) -Xbootclasspath/a:$(RUNTIME):$$CLASSPATH -cp $(EMMA_JAR) -Demma.report.html.out.encoding=UTF-8 emmarun \ > -Dreport.html.out.encoding=UTF-8 \ > -raw \ > -sp $(NETX_SRCDIR) \ > @@ -1157,8 +1159,8 @@ > mv $(NETX_UNIT_TEST_DIR)/$$file $(NETX_UNIT_TEST_DIR)/"$$file""$(EMMA_BACKUP_SUFFIX)" ; \ > done ;\ > class_names=`cat $(UNIT_CLASS_NAMES)` ; \ > - CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(abs_top_builddir)/liveconnect/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):$(TEST_EXTENSIONS_DIR):$(JACOCO_CLASSPATH):.:$(TEST_EXTENSIONS_SRCDIR):$(TAGSOUP_JAR) \ > - $(BOOT_DIR)/bin/java $(JACOCO_AGENT_SWITCH) -Xbootclasspath:$(RUNTIME) CommandLine $$class_names ; \ > + CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(abs_top_builddir)/liveconnect/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):$(TEST_EXTENSIONS_DIR):$(JACOCO_CLASSPATH):.:$(TEST_EXTENSIONS_SRCDIR):$(TAGSOUP_JAR) ; \ > + $(BOOT_DIR)/bin/java $(JACOCO_AGENT_SWITCH) -Xbootclasspath/a:$(RUNTIME):$$CLASSPATH CommandLine $$class_names ; \ > for file in $(EMMA_MODIFIED_FILES) ; do \ > mv $(NETX_UNIT_TEST_DIR)/$$file $(NETX_UNIT_TEST_DIR)/"$$file""$(EMMA_SUFFIX)" ; \ > mv $(NETX_UNIT_TEST_DIR)/"$$file""$(EMMA_BACKUP_SUFFIX)" $(NETX_UNIT_TEST_DIR)/$$file ; \ > @@ -1214,10 +1216,11 @@ > done ; \ > cd $(TEST_EXTENSIONS_DIR) ; \ > class_names=`cat $(REPRODUCERS_CLASS_NAMES)` ; \ > + CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(abs_top_builddir)/liveconnect/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):$(TEST_EXTENSIONS_DIR):.:$(TEST_EXTENSIONS_SRCDIR) ; \ > $(BOOT_DIR)/bin/java \ > $(EMMA_JAVA_ARGS) \ > $(REPRODUCERS_DPARAMETERS) \ > - -Xbootclasspath:$(RUNTIME) -cp $(EMMA_JAR) emmarun \ > + -Xbootclasspath/a:$(RUNTIME):$$CLASSPATH -cp $(EMMA_JAR) emmarun \ > -raw \ > -cp $(NETX_DIR)/lib/classes.jar \ > -cp $(JUNIT_JAR) \ > @@ -1331,9 +1334,9 @@ > done ; \ > cd $(TEST_EXTENSIONS_DIR) ; \ > class_names=`cat $(REPRODUCERS_CLASS_NAMES)` ; \ > - CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):.:$(TEST_EXTENSIONS_DIR):$(JACOCO_CLASSPATH):$(TEST_EXTENSIONS_TESTS_DIR):$(TEST_EXTENSIONS_SRCDIR) \ > + CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):.:$(TEST_EXTENSIONS_DIR):$(JACOCO_CLASSPATH):$(TEST_EXTENSIONS_TESTS_DIR):$(TEST_EXTENSIONS_SRCDIR) ; \ > $(BOOT_DIR)/bin/java $(JACOCO_AGENT_SWITCH) $(REPRODUCERS_DPARAMETERS) \ > - -Xbootclasspath:$(RUNTIME) CommandLine $$class_names ; \ > + -Xbootclasspath/a:$(RUNTIME):$$CLASSPATH CommandLine $$class_names ; \ > if [ -f $(JACOCO_JAVAWS_RESULTS) ] ; then \ > jacoco_javaws_results=$(JACOCO_JAVAWS_RESULTS) ; \ > $(JACOCO_OPERATOR_EXEC) \ > @@ -1440,16 +1443,16 @@ > run-test-server-on-44321: stamps/netx.stamp stamps/junit-jnlp-dist-dirs stamps/netx-dist-tests-import-cert-to-public \ > stamps/test-extensions-compile.stamp stamps/compile-reproducers-testcases.stamp $(JUNIT_RUNNER_JAR) stamps/copy-reproducers-resources.stamp > cd $(TEST_EXTENSIONS_DIR) ; \ > - CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):.:$(TEST_EXTENSIONS_TESTS_DIR) \ > + CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):.:$(TEST_EXTENSIONS_TESTS_DIR) ; \ > $(BOOT_DIR)/bin/java $(REPRODUCERS_DPARAMETERS) \ > - -Xbootclasspath:$(RUNTIME) net.sourceforge.jnlp.ServerAccess > + -Xbootclasspath/a:$(RUNTIME):$$CLASSPATH net.sourceforge.jnlp.ServerAccess > > run-test-server-on-random-port: stamps/netx.stamp stamps/junit-jnlp-dist-dirs stamps/netx-dist-tests-import-cert-to-public \ > stamps/test-extensions-compile.stamp stamps/compile-reproducers-testcases.stamp $(JUNIT_RUNNER_JAR) stamps/copy-reproducers-resources.stamp > cd $(TEST_EXTENSIONS_DIR) ; \ > - CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):.:$(TEST_EXTENSIONS_TESTS_DIR) \ > + CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):.:$(TEST_EXTENSIONS_TESTS_DIR) ; \ > $(BOOT_DIR)/bin/java $(REPRODUCERS_DPARAMETERS) \ > - -Xbootclasspath:$(RUNTIME) net.sourceforge.jnlp.ServerAccess randomport > + -Xbootclasspath/a:$(RUNTIME):$$CLASSPATH net.sourceforge.jnlp.ServerAccess randomport > > clean-netx-tests: clean-netx-unit-tests clean-junit-runner clean-netx-dist-tests clean-test-code-coverage-jacoco clean-test-code-coverage > if [ -e $(TESTS_DIR)/netx ]; then \ > diff -r 02a18cce94c7 -r 0c7dcde1cfe0 acinclude.m4 > --- a/acinclude.m4 Wed May 21 11:08:18 2014 -0400 > +++ b/acinclude.m4 Thu May 22 18:30:41 2014 +0200 > @@ -868,38 +868,29 @@ > dnl Checks that sun.applet.AppletViewerPanel is available > dnl and public (via the patch in IcedTea6, applet_hole.patch) > dnl Can be removed when that is upstream or unneeded > -AC_DEFUN([IT_CHECK_FOR_APPLETVIEWERPANEL_HOLE],[ > +AC_DEFUN([IT_CHECK_FOR_SUN_APPLET_ACCESSIBILITY],[ > AC_REQUIRE([IT_FIND_JAVAC]) > AC_REQUIRE([IT_FIND_JAVA]) > -AC_CACHE_CHECK([if sun.applet.AppletViewerPanel is available and public], it_cv_applet_hole, [ > +AC_CACHE_CHECK([if selected classes, fields and methods from sun.applet are accessible via reflection], it_cv_applet_hole, [ > CLASS=TestAppletViewer.java > BYTECODE=$(echo $CLASS|sed 's#\.java##') > mkdir -p tmp.$$ > cd tmp.$$ > cat << \EOF > $CLASS > [/* [#]line __oline__ "configure" */ > -import java.lang.reflect.Modifier; > +import java.lang.reflect.*; > > public class TestAppletViewer > { > - public static void main(String[] args) > + public static void main(String[] args) throws Exception > { > - try > - { > - Class clazz = Class.forName("sun.applet.AppletViewerPanel"); > - if (Modifier.isPublic(clazz.getModifiers())) > - { > - System.err.println("Found public sun.applet.AppletViewerPanel"); > - System.exit(0); > - } > - System.err.println("Found non-public sun.applet.AppletViewerPanel"); > - System.exit(2); > - } > - catch (ClassNotFoundException e) > - { > - System.err.println("Could not find sun.applet.AppletViewerPanel"); > - System.exit(1); > - } > + Class ap = Class.forName("sun.applet.AppletPanel"); > + Class avp = Class.forName("sun.applet.AppletViewerPanel"); > + Field f1 = ap.getDeclaredField("applet"); > + Field f2 = avp.getDeclaredField("documentURL"); > + Method m1 = ap.getDeclaredMethod("run"); > + Method m2 = ap.getDeclaredMethod("runLoader"); > + Field f3 = avp.getDeclaredField("baseURL"); > } > } > ] > @@ -908,21 +899,17 @@ > if $JAVA -classpath . $BYTECODE >&AS_MESSAGE_LOG_FD 2>&1; then > it_cv_applet_hole=yes; > else > - it_cv_applet_hole=$?; > + it_cv_applet_hole=no; > fi > else > - it_cv_applet_hole=3; > + it_cv_applet_hole=no; > fi > ]) > rm -f $CLASS *.class > cd .. > rmdir tmp.$$ > -if test x"${it_cv_applet_hole}" = "x1"; then > - AC_MSG_ERROR([sun.applet.AppletViewerPanel is not available.]) > -elif test x"${it_cv_applet_hole}" = "x2"; then > - AC_MSG_ERROR([sun.applet.AppletViewerPanel is not public.]) > -elif test x"${it_cv_applet_hole}" = "x3"; then > - AC_MSG_ERROR([Compilation failed. See config.log.]) > +if test x"${it_cv_applet_hole}" = "xno"; then > + AC_MSG_ERROR([Some of the checked items is not avaiable. Check logs.]) > fi > AC_PROVIDE([$0])dnl > ]) > diff -r 02a18cce94c7 -r 0c7dcde1cfe0 configure.ac > --- a/configure.ac Wed May 21 11:08:18 2014 -0400 > +++ b/configure.ac Thu May 22 18:30:41 2014 +0200 > @@ -86,7 +86,7 @@ > IT_CHECK_FOR_CLASS(SUN_MISC_REF, [sun.misc.Ref]) > IT_CHECK_FOR_CLASS(COM_SUN_JNDI_TOOLKIT_URL_URLUTIL, [com.sun.jndi.toolkit.url.UrlUtil]) > IT_CHECK_FOR_CLASS(SUN_APPLET_APPLETIMAGEREF, [sun.applet.AppletImageRef]) > -IT_CHECK_FOR_APPLETVIEWERPANEL_HOLE > +IT_CHECK_FOR_SUN_APPLET_ACCESSIBILITY > IT_CHECK_GLIB_VERSION > IT_CHECK_XULRUNNER_MIMEDESCRIPTION_CONSTCHAR > IT_CHECK_XULRUNNER_REQUIRES_C11 > diff -r 02a18cce94c7 -r 0c7dcde1cfe0 netx/net/sourceforge/jnlp/NetxPanel.java > --- a/netx/net/sourceforge/jnlp/NetxPanel.java Wed May 21 11:08:18 2014 -0400 > +++ b/netx/net/sourceforge/jnlp/NetxPanel.java Thu May 22 18:30:41 2014 +0200 > @@ -35,7 +35,7 @@ > import net.sourceforge.jnlp.splashscreen.SplashUtils; > import net.sourceforge.jnlp.util.logging.OutputController; > > -import sun.applet.AppletViewerPanel; > +import sun.applet.AppletViewerPanelAccess; > import sun.awt.SunToolkit; > > /** > @@ -44,7 +44,7 @@ > * > * @author Francis Kung <fkung at redhat.com> > */ > -public class NetxPanel extends AppletViewerPanel implements SplashController { > +public class NetxPanel extends AppletViewerPanelAccess implements SplashController { > private final PluginParameters parameters; > private PluginBridge bridge = null; > private AppletInstance appInst = null; > @@ -76,7 +76,7 @@ > String uniqueKey = params.getUniqueKey(getCodeBase()); > synchronized(TGMapMutex) { > if (!uKeyToTG.containsKey(uniqueKey)) { > - ThreadGroup tg = new ThreadGroup(Launcher.mainGroup, this.documentURL.toString()); > + ThreadGroup tg = new ThreadGroup(Launcher.mainGroup, this.getDocumentURL().toString()); > uKeyToTG.put(uniqueKey, tg); > } > } > @@ -95,10 +95,10 @@ > //Overriding to use Netx classloader. You might need to relax visibility > //in sun.applet.AppletPanel for runLoader(). > @Override > - protected void runLoader() { > + protected void ourRunLoader() { > > try { > - bridge = new PluginBridge(baseURL, > + bridge = new PluginBridge(getBaseURL(), > getDocumentBase(), > getJarFiles(), > getCode(), > @@ -114,13 +114,13 @@ > > // May throw LaunchException: > appInst = (AppletInstance) l.launch(bridge, this); > - applet = appInst.getApplet(); > + setApplet(appInst.getApplet()); > > - if (applet != null) { > + if (getApplet() != null) { > // Stick it in the frame > - applet.setStub(this); > - applet.setVisible(false); > - add("Center", applet); > + getApplet().setStub(this); > + getApplet().setVisible(false); > + add("Center", getApplet()); > showAppletStatus("loaded"); > validate(); > } > @@ -157,7 +157,7 @@ > } > } > > - handler = new Thread(getThreadGroup(), this, "NetxPanelThread@" + this.documentURL); > + handler = new Thread(getThreadGroup(), this, "NetxPanelThread@" + this.getDocumentURL()); > handler.start(); > } > > @@ -213,5 +213,5 @@ > public int getSplashHeigth() { > return splashController.getSplashHeigth(); > } > - > + > } > diff -r 02a18cce94c7 -r 0c7dcde1cfe0 netx/sun/applet/AppletViewerPanelAccess.java > --- /dev/null Thu Jan 01 00:00:00 1970 +0000 > +++ b/netx/sun/applet/AppletViewerPanelAccess.java Thu May 22 18:30:41 2014 +0200 > @@ -0,0 +1,122 @@ > +/* package-info.java > + Copyright (C) 2014 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 sun.applet; > + > +import java.applet.Applet; > +import java.lang.reflect.Field; > +import java.lang.reflect.InvocationTargetException; > +import java.lang.reflect.Method; > +import java.net.URL; > +import java.util.Hashtable; > + > +public abstract class AppletViewerPanelAccess extends AppletViewerPanel { > + > + public AppletViewerPanelAccess(URL documentURL, Hashtable atts) { > + super(documentURL, atts); > + } > + > + protected URL getDocumentURL() { > + try { > + Field field = AppletViewerPanel.class.getDeclaredField("documentURL"); > + field.setAccessible(true); > + return (URL) field.get(this); > + } catch (IllegalAccessException | IllegalArgumentException | NoSuchFieldException | SecurityException ex) { > + throw new RuntimeException(ex); > + } > + } > + > + protected void setApplet(Applet iapplet) { > + try { > + Field field = AppletPanel.class.getDeclaredField("applet"); > + field.setAccessible(true); > + field.set(this, iapplet); > + } catch (IllegalAccessException | IllegalArgumentException | NoSuchFieldException | SecurityException ex) { > + throw new RuntimeException(ex); > + } > + } > + > + @Override > + public void run() { > + // this is copypasted chunk from AppletPanel.run (the only current > + // call of runLoader). Pray it do not change > + Thread curThread = Thread.currentThread(); > + if (curThread == loaderThread) { > + ourRunLoader(); > + return; > + } > + > + super.run(); > + } > + > + /** > + * NOTE. We cannot override private method, and this call is unused and useless. > + * But kept for record of troubles to run on any openjdk. > + * upstream patch posted http://mail.openjdk.java.net/pipermail/awt-dev/2014-May/007828.html > + */ > + private void superRunLoader() { > + try { > + Class klazz = AppletPanel.class; > + Method runLoaderMethod = klazz.getDeclaredMethod("runLoader"); > + runLoaderMethod.setAccessible(true); > + runLoaderMethod.invoke(getApplet()); > + } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException | NoSuchMethodException | SecurityException ex) { > + throw new RuntimeException(ex); > + } > + } > + > + > + protected URL getBaseURL() { > + try { > + Field field = AppletViewerPanel.class > + .getDeclaredField("baseURL"); > + field.setAccessible( > + true); > + return (URL) field.get( > + this); > + } catch (IllegalAccessException | IllegalArgumentException | NoSuchFieldException | SecurityException ex) { > + throw new RuntimeException(ex); > + } > + > + } > + > + @Override > + //remaining stub of unpatched jdk > + protected synchronized void createAppletThread() { > + throw new RuntimeException("Not yet implemented"); > + //no need to call super, is overriden, and not used in upstream > + //AppletViewerPanel or AppletPanel > + } > + > + abstract protected void ourRunLoader(); > + > +} > diff -r 02a18cce94c7 -r 0c7dcde1cfe0 netx/sun/applet/package-info.java > --- /dev/null Thu Jan 01 00:00:00 1970 +0000 > +++ b/netx/sun/applet/package-info.java Thu May 22 18:30:41 2014 +0200 > @@ -0,0 +1,37 @@ > +/* package-info.java > + Copyright (C) 2014 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 > From bugzilla-daemon at icedtea.classpath.org Tue Jun 17 13:09:26 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 17 Jun 2014 13:09:26 +0000 Subject: [Bug 729] GTKLookAndFeel should be the system look&feel on all GNU/Linux desktops In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=729 --- Comment #15 from Andrew Haley --- (In reply to Andrew Haley from comment #8) > Is there some reason this patch is carried locally, not upstream? Maybe you > submitted it upstream; I don't follow all the lists. Ping Andrew Hughes. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From aazores at redhat.com Tue Jun 17 13:24:20 2014 From: aazores at redhat.com (Andrew Azores) Date: Tue, 17 Jun 2014 09:24:20 -0400 Subject: [rfc][icedtea-web] Fix support for signed applets with sandbox permissions in manifest In-Reply-To: <53985DD3.7050901@redhat.com> References: <5384BC13.5010708@redhat.com> <538E0A86.1080001@redhat.com> <53985DD3.7050901@redhat.com> Message-ID: <53A04184.5070601@redhat.com> On 06/11/2014 09:46 AM, Andrew Azores wrote: > On 06/03/2014 01:48 PM, Andrew Azores wrote: >> On 05/27/2014 12:23 PM, Andrew Azores wrote: >>> Hi, >>> >>> This patch allows signed applets with sandbox permissions specified >>> in their manifests to actually be run sandboxed. This is in contrast >>> to the current behaviour where such applets will fail to launch, and >>> the failure message presented asks the user to try launching via the >>> Sandbox button next time. This was because the dialog which >>> presented the Sandbox button appeared very early in the >>> JNLPClassLoader's life cycle - early enough that no security >>> settings had yet been set for the classloader or any of the applet's >>> JAR locations - whereas the manifest checks were done later, after >>> these settings would have already been initialized. Fixing the issue >>> was not as simple as doing the manifest checks before presenting the >>> security dialog because the dialog was presented part way through >>> the initialization process, where JARs are being downloaded and >>> checked for signing, so that the appropriate security dialog could >>> be shown to the user. Putting the manifest checks first would >>> therefore not work properly because the JARs were not yet available. >>> This patch resolves the issue by moving the manifest checks inside >>> the method which initializes the relevant security settings, such >>> that the required resources are available, it is known what type of >>> applet is about to be run, but the security settings for the JAR >>> locations have not yet been initialized and the applet can thus >>> still be set to run sandboxed safely. >>> >>> Additionally, the ManifestAttributesChecker check for the >>> Permissions attribute is no longer skipped when Extended Applet >>> Security is set to the Low level, since this allows for signed >>> applets with Sandbox permissions specified in their manifests to run >>> with full permissions when Low security is set. >>> >>> All existing reproducers have been run with this patch applied and >>> there appears to be no effect. Manual tests from the wiki have also >>> been run and no failures noted. Two new applets, reported in PR1767 >>> [0], have been added as test cases to the wiki. These fail without >>> the patch and pass with it. A reproducer is also included, however, >>> the ALACA dialog will appear, which means manual intervention is >>> required to run this test as well. The test is marked KnownToFail >>> and this issue documented with the test case. This cannot be worked >>> around by disabling manifest attributes checking since this would >>> render the test meaningless as the Permissions manifest attribute >>> would then not be run to force sandboxing. >>> >>> ChangeLog: >>> >>> 2014-05-27 Andrew Azores >>> >>> Fixed support for signed applets which specify the Permissions >>> attribute >>> as "sandbox" in their manifests. These applets are now properly run >>> sandboxed automatically, rather than requiring the user to click >>> the >>> "Sandbox" run button. >>> * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java >>> (JNLPClassLoader): manifest attributes checking and security >>> settings >>> moved inside initializeResources >>> (initializeResources): do not set entries in >>> jarLocationSecurityMap until >>> after prompting the user on whether to run the applet as well as >>> performing manifest attribute checks >>> (initializeManifestAttributesChecker): new method >>> (getJnlpFileCodebase): new method, extracted from >>> initializeResources >>> (SecurityDelegateImpl.setRunInSandbox): throw exception if >>> already forced >>> to run in sandbox, rather than if already prompted >>> * netx/net/sourceforge/jnlp/runtime/ManifestAttributesChecker.java >>> (checkPermissionsAttribute): do not skip checking if Extended >>> Applet >>> Security is Low. Remove try/catch on setRunInSandbox call as >>> this is now >>> supported. >>> * >>> tests/reproducers/custom/SignedAppletManifestSpecifiesSandbox/testcases/SignedAppletManifestSpecifiesSandboxTests.java: >>> new test case >>> * >>> tests/reproducers/custom/SignedAppletManifestSpecifiesSandbox/resources/SignedAppletManifestSpecifiesSandbox.html: >>> same >>> * >>> tests/reproducers/custom/SignedAppletManifestSpecifiesSandbox/srcs/MANIFEST.MF: >>> same >>> * >>> tests/reproducers/custom/SignedAppletManifestSpecifiesSandbox/srcs/Makefile: >>> same >>> * >>> tests/reproducers/custom/SignedAppletManifestSpecifiesSandbox/srcs/SignedAppletManifestSpecifiesSandbox.java: >>> same >>> >>> >>> [0] http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1767 >>> >>> Thanks, >>> >> >> Ping. I know this is a big one, and there's currently a decent >> workaround in place, so no rush on review. Just need to make sure it >> doesn't get lost. >> >> Thanks, >> > > Ping again. I think this is probably going to have to wait for Jiri to > come back though. > > Thanks, > Ping. Thanks, -- Andrew A From aazores at redhat.com Tue Jun 17 13:27:27 2014 From: aazores at redhat.com (Andrew Azores) Date: Tue, 17 Jun 2014 09:27:27 -0400 Subject: [rfc][icedtea-web 1.5] backporting of Re: [rfc][icedtea-web] run on any open/oracle jdk (and ibm jdk!)) (was /hg/icedtea-web: 5 new changesets ) In-Reply-To: <53A0354D.9000404@redhat.com> References: <53A0354D.9000404@redhat.com> Message-ID: <53A0423F.2070304@redhat.com> On 06/17/2014 08:32 AM, Jiri Vanek wrote: > > Also some time afferent this I would like to schedule 1.5.1 release, > so please think about what needs to be backported or done for it. > I think I would like my "Fix support for signed applets with sandbox permissions in manifest" patch to go into 1.5.1 as well, once it's approved for HEAD I'll work on backporting it. It shouldn't be too difficult to backport. Thanks, -- Andrew A From jvanek at redhat.com Tue Jun 17 13:28:41 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 17 Jun 2014 15:28:41 +0200 Subject: [rfc][icedtea-web 1.5] backporting of Re: [rfc][icedtea-web] run on any open/oracle jdk (and ibm jdk!)) (was /hg/icedtea-web: 5 new changesets ) In-Reply-To: <53A0423F.2070304@redhat.com> References: <53A0354D.9000404@redhat.com> <53A0423F.2070304@redhat.com> Message-ID: <53A04289.40907@redhat.com> On 06/17/2014 03:27 PM, Andrew Azores wrote: > On 06/17/2014 08:32 AM, Jiri Vanek wrote: >> >> Also some time afferent this I would like to schedule 1.5.1 release, so please think about what >> needs to be backported or done for it. >> > > I think I would like my "Fix support for signed applets with sandbox permissions in manifest" patch > to go into 1.5.1 as well, once it's approved for HEAD I'll work on backporting it. It shouldn't be > too difficult to backport. > yes. SOunds good. I will look into it soon. Also eg /hg/icedtea-web: PolicyEditor persists empty non-default codebas... or more polici editor tweeks looks reasonable to me. J. From jvanek at redhat.com Tue Jun 17 13:34:29 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 17 Jun 2014 15:34:29 +0200 Subject: [rfc][icedtea-web] Refactor of LiveConnect Tests Version 2 In-Reply-To: <897487584.14208517.1402603111957.JavaMail.zimbra@redhat.com> References: <1529622958.9604504.1401722424370.JavaMail.zimbra@redhat.com> <2063359446.10672487.1401908346701.JavaMail.zimbra@redhat.com> <53906F49.7090207@redhat.com> <2146209415.11046744.1401978726200.JavaMail.zimbra@redhat.com> <53908195.2030206@redhat.com> <53986549.2040901@redhat.com> <897487584.14208517.1402603111957.JavaMail.zimbra@redhat.com> Message-ID: <53A043E5.4080208@redhat.com> On 06/12/2014 09:58 PM, Jie Kang wrote: > Hello, > >> I ran the reproducer suite with this patch applied last night. There are >> still some tests which are failing but not marked as KnownToFail. I >> haven't checked if these failures are repeatable however. Can you look >> into this? >> >> JavascriptSetTest - AppletJToJSSet_2DArrayElement_Test >> JSToJFuncResolTest - AppletJSToJFuncResol_inheritedClassToParent1_Test >> JavascriptFuncReturnTest - >> AppletJToJSFuncReturn_{number,boolean,JSObject,String,Object}_Test >> > > I've checked the failures and fixed the FuncReturn test cases (typo). > > The JavascriptSetTest has some weird behavio ur where the failure occurs because the applet's init method didn't print out "applet initialized". This failure does not happen very often at all and I will look into it. > > The JSToJFuncResolTest failure has been marked Known to Fail. I've checked the test and found another bug in the LiveConnect code unrelated to the fixes made in this patch. I have prepared another patch that fixes this bug and will send it after this patch. > > Thanks for the review! > >> Thanks, >> >> -- >> Andrew A >> >> > > > -- > Jie Kang > Hi! I do not understand why the existence of shared dir is needed at all. All what is copied from resources *is* already shared. What have I missed? Otherwise excellent work on liveconnect ! J. From aazores at redhat.com Tue Jun 17 13:38:57 2014 From: aazores at redhat.com (Andrew Azores) Date: Tue, 17 Jun 2014 09:38:57 -0400 Subject: [rfc][icedtea-web] Refactor of LiveConnect Tests Version 2 In-Reply-To: <53A043E5.4080208@redhat.com> References: <1529622958.9604504.1401722424370.JavaMail.zimbra@redhat.com> <2063359446.10672487.1401908346701.JavaMail.zimbra@redhat.com> <53906F49.7090207@redhat.com> <2146209415.11046744.1401978726200.JavaMail.zimbra@redhat.com> <53908195.2030206@redhat.com> <53986549.2040901@redhat.com> <897487584.14208517.1402603111957.JavaMail.zimbra@redhat.com> <53A043E5.4080208@redhat.com> Message-ID: <53A044F1.4040804@redhat.com> On 06/17/2014 09:34 AM, Jiri Vanek wrote: > On 06/12/2014 09:58 PM, Jie Kang wrote: >> Hello, >> >>> I ran the reproducer suite with this patch applied last night. There >>> are >>> still some tests which are failing but not marked as KnownToFail. I >>> haven't checked if these failures are repeatable however. Can you look >>> into this? >>> >>> JavascriptSetTest - AppletJToJSSet_2DArrayElement_Test >>> JSToJFuncResolTest - AppletJSToJFuncResol_inheritedClassToParent1_Test >>> JavascriptFuncReturnTest - >>> AppletJToJSFuncReturn_{number,boolean,JSObject,String,Object}_Test >>> >> >> I've checked the failures and fixed the FuncReturn test cases (typo). >> >> The JavascriptSetTest has some weird behavio > ur where the failure occurs because the applet's init method didn't > print out "applet initialized". This failure does not happen very > often at all and I will look into it. >> >> The JSToJFuncResolTest failure has been marked Known to Fail. I've >> checked the test and found another bug in the LiveConnect code >> unrelated to the fixes made in this patch. I have prepared another >> patch that fixes this bug and will send it after this patch. >> >> Thanks for the review! >> >>> Thanks, >>> >>> -- >>> Andrew A >>> >>> >> >> >> -- >> Jie Kang >> > > Hi! > > > I do not understand why the existence of shared dir is needed at all. > All what is copied from resources *is* already shared. > > What have I missed? > > Otherwise excellent work on liveconnect ! > > > J. It's already shared but it's really not obvious. The current way also forces all of the tests to be built and deployed to the test server dir so that it's impossible to reliably build/deploy/run only one reproducer at a time, if things are shared between test cases. The shared dir is more explicit, which is already nice, but it also is a step toward allowing different tests to actually be built and run independently from the rest. This, if/when it ever gets done, would be a very very welcome improvement to the test suite IMO. Thanks, -- Andrew A From jvanek at redhat.com Tue Jun 17 13:54:59 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 17 Jun 2014 15:54:59 +0200 Subject: [rfc][icedtea-web] Refactor of LiveConnect Tests Version 2 In-Reply-To: <53A044F1.4040804@redhat.com> References: <1529622958.9604504.1401722424370.JavaMail.zimbra@redhat.com> <2063359446.10672487.1401908346701.JavaMail.zimbra@redhat.com> <53906F49.7090207@redhat.com> <2146209415.11046744.1401978726200.JavaMail.zimbra@redhat.com> <53908195.2030206@redhat.com> <53986549.2040901@redhat.com> <897487584.14208517.1402603111957.JavaMail.zimbra@redhat.com> <53A043E5.4080208@redhat.com> <53A044F1.4040804@redhat.com> Message-ID: <53A048B3.5010807@redhat.com> On 06/17/2014 03:38 PM, Andrew Azores wrote: > On 06/17/2014 09:34 AM, Jiri Vanek wrote: >> On 06/12/2014 09:58 PM, Jie Kang wrote: >>> Hello, >>> >>>> I ran the reproducer suite with this patch applied last night. There are >>>> still some tests which are failing but not marked as KnownToFail. I >>>> haven't checked if these failures are repeatable however. Can you look >>>> into this? >>>> >>>> JavascriptSetTest - AppletJToJSSet_2DArrayElement_Test >>>> JSToJFuncResolTest - AppletJSToJFuncResol_inheritedClassToParent1_Test >>>> JavascriptFuncReturnTest - >>>> AppletJToJSFuncReturn_{number,boolean,JSObject,String,Object}_Test >>>> >>> >>> I've checked the failures and fixed the FuncReturn test cases (typo). >>> >>> The JavascriptSetTest has some weird behavio >> ur where the failure occurs because the applet's init method didn't print out "applet >> initialized". This failure does not happen very often at all and I will look into it. >>> >>> The JSToJFuncResolTest failure has been marked Known to Fail. I've checked the test and found >>> another bug in the LiveConnect code unrelated to the fixes made in this patch. I have prepared >>> another patch that fixes this bug and will send it after this patch. >>> >>> Thanks for the review! >>> >>>> Thanks, >>>> >>>> -- >>>> Andrew A >>>> >>>> >>> >>> >>> -- >>> Jie Kang >>> >> >> Hi! >> >> >> I do not understand why the existence of shared dir is needed at all. All what is copied from >> resources *is* already shared. >> >> What have I missed? >> >> Otherwise excellent work on liveconnect ! >> >> >> J. > > It's already shared but it's really not obvious. The current way also forces all of the tests to be > built and deployed to the test server dir so that it's impossible to reliably build/deploy/run only > one reproducer at a time, if things are shared between test cases. The shared dir is more explicit, > which is already nice, but it also is a step toward allowing different tests to actually be built > and run independently from the rest. This, if/when it ever gets done, would be a very very welcome > improvement to the test suite IMO. > Well then it do not need special target, but some reproducer (in simple) with resources only will suffice. What do you think? From aazores at redhat.com Tue Jun 17 14:01:25 2014 From: aazores at redhat.com (Andrew Azores) Date: Tue, 17 Jun 2014 10:01:25 -0400 Subject: [rfc][icedtea-web] Refactor of LiveConnect Tests Version 2 In-Reply-To: <53A048B3.5010807@redhat.com> References: <1529622958.9604504.1401722424370.JavaMail.zimbra@redhat.com> <2063359446.10672487.1401908346701.JavaMail.zimbra@redhat.com> <53906F49.7090207@redhat.com> <2146209415.11046744.1401978726200.JavaMail.zimbra@redhat.com> <53908195.2030206@redhat.com> <53986549.2040901@redhat.com> <897487584.14208517.1402603111957.JavaMail.zimbra@redhat.com> <53A043E5.4080208@redhat.com> <53A044F1.4040804@redhat.com> <53A048B3.5010807@redhat.com> Message-ID: <53A04A35.3090105@redhat.com> On 06/17/2014 09:54 AM, Jiri Vanek wrote: > On 06/17/2014 03:38 PM, Andrew Azores wrote: >> On 06/17/2014 09:34 AM, Jiri Vanek wrote: >>> On 06/12/2014 09:58 PM, Jie Kang wrote: >>>> Hello, >>>> >>>>> I ran the reproducer suite with this patch applied last night. >>>>> There are >>>>> still some tests which are failing but not marked as KnownToFail. I >>>>> haven't checked if these failures are repeatable however. Can you >>>>> look >>>>> into this? >>>>> >>>>> JavascriptSetTest - AppletJToJSSet_2DArrayElement_Test >>>>> JSToJFuncResolTest - >>>>> AppletJSToJFuncResol_inheritedClassToParent1_Test >>>>> JavascriptFuncReturnTest - >>>>> AppletJToJSFuncReturn_{number,boolean,JSObject,String,Object}_Test >>>>> >>>> >>>> I've checked the failures and fixed the FuncReturn test cases (typo). >>>> >>>> The JavascriptSetTest has some weird behavio >>> ur where the failure occurs because the applet's init method didn't >>> print out "applet >>> initialized". This failure does not happen very often at all and I >>> will look into it. >>>> >>>> The JSToJFuncResolTest failure has been marked Known to Fail. I've >>>> checked the test and found >>>> another bug in the LiveConnect code unrelated to the fixes made in >>>> this patch. I have prepared >>>> another patch that fixes this bug and will send it after this patch. >>>> >>>> Thanks for the review! >>>> >>>>> Thanks, >>>>> >>>>> -- >>>>> Andrew A >>>>> >>>>> >>>> >>>> >>>> -- >>>> Jie Kang >>>> >>> >>> Hi! >>> >>> >>> I do not understand why the existence of shared dir is needed at >>> all. All what is copied from >>> resources *is* already shared. >>> >>> What have I missed? >>> >>> Otherwise excellent work on liveconnect ! >>> >>> >>> J. >> >> It's already shared but it's really not obvious. The current way also >> forces all of the tests to be >> built and deployed to the test server dir so that it's impossible to >> reliably build/deploy/run only >> one reproducer at a time, if things are shared between test cases. >> The shared dir is more explicit, >> which is already nice, but it also is a step toward allowing >> different tests to actually be built >> and run independently from the rest. This, if/when it ever gets done, >> would be a very very welcome >> improvement to the test suite IMO. >> > > Well then it do not need special target, but some reproducer (in > simple) with resources only will suffice. > > What do you think? > Jie did propose this but I asked him to continue with the patch anyway because it's plausible, I think, for there to be shared resources between say a simple and a custom reproducer. In this situation, it's very not-obvious that the resources can be shared this way, unless you actually go digging to find out. But yes the same end result can be had by simply putting contents at simple/SharedResources/resources. However, this is again blocking the possibility of making the test suite able to build/run reproducers independently, since this would be an "independent test case" and any other test cases relying on shared resources would then not be able to be run without the shared one "building". Thanks, -- Andrew A From aazores at redhat.com Tue Jun 17 15:28:42 2014 From: aazores at redhat.com (Andrew Azores) Date: Tue, 17 Jun 2014 11:28:42 -0400 Subject: [rfc][icedtea-web] Refactor of LiveConnect Tests Version 2 In-Reply-To: <897487584.14208517.1402603111957.JavaMail.zimbra@redhat.com> References: <1529622958.9604504.1401722424370.JavaMail.zimbra@redhat.com> <2063359446.10672487.1401908346701.JavaMail.zimbra@redhat.com> <53906F49.7090207@redhat.com> <2146209415.11046744.1401978726200.JavaMail.zimbra@redhat.com> <53908195.2030206@redhat.com> <53986549.2040901@redhat.com> <897487584.14208517.1402603111957.JavaMail.zimbra@redhat.com> Message-ID: <53A05EAA.5020504@redhat.com> On 06/12/2014 03:58 PM, Jie Kang wrote: > Hello, > >> I ran the reproducer suite with this patch applied last night. There are >> still some tests which are failing but not marked as KnownToFail. I >> haven't checked if these failures are repeatable however. Can you look >> into this? >> >> JavascriptSetTest - AppletJToJSSet_2DArrayElement_Test >> JSToJFuncResolTest - AppletJSToJFuncResol_inheritedClassToParent1_Test >> JavascriptFuncReturnTest - >> AppletJToJSFuncReturn_{number,boolean,JSObject,String,Object}_Test >> > I've checked the failures and fixed the FuncReturn test cases (typo). > > The JavascriptSetTest has some weird behaviour where the failure occurs because the applet's init method didn't print out "applet initialized". This failure does not happen very often at all and I will look into it. > > The JSToJFuncResolTest failure has been marked Known to Fail. I've checked the test and found another bug in the LiveConnect code unrelated to the fixes made in this patch. I have prepared another patch that fixes this bug and will send it after this patch. > > Thanks for the review! > >> Thanks, >> >> -- >> Andrew A >> >> > > -- > Jie Kang Just ran the tests, everything appears to be sorted out now. I'll wait before pushing to see if Jiri is strongly objecting to the "shared" resources folder, otherwise, I think this is good to go. Thanks, -- Andrew A From aazores at redhat.com Tue Jun 17 15:40:23 2014 From: aazores at redhat.com (Andrew Azores) Date: Tue, 17 Jun 2014 11:40:23 -0400 Subject: /hg/icedtea-web: PolicyEditor persists empty non-default codebas... In-Reply-To: References: Message-ID: <53A06167.3060504@redhat.com> On 06/03/2014 05:03 PM, aazores at icedtea.classpath.org wrote: > changeset f02ad0ae6d86 in /hg/icedtea-web > details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=f02ad0ae6d86 > author: Andrew Azores > date: Tue Jun 03 17:02:56 2014 -0400 > > PolicyEditor persists empty non-default codebase entries > > 2014-06-03 Andrew Azores > > PolicyEditor persists empty non-default codebase entries > * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEntry.java > (toString): return empty string only if the codebase both has no > permissions assigned and is also the default "All Applets" codebase > * netx/net/sourceforge/jnlp/security/policyeditor/PolicyFileModel.java > (savePolicyFile): release fileLock with try/finally > > > diffstat: > > ChangeLog | 9 ++ > netx/net/sourceforge/jnlp/security/policyeditor/PolicyEntry.java | 4 +- > netx/net/sourceforge/jnlp/security/policyeditor/PolicyFileModel.java | 31 ++++++--- > 3 files changed, 32 insertions(+), 12 deletions(-) > > diffs (75 lines): > > diff -r 8ddd8d86855c -r f02ad0ae6d86 ChangeLog > --- a/ChangeLog Tue Jun 03 14:25:41 2014 -0400 > +++ b/ChangeLog Tue Jun 03 17:02:56 2014 -0400 > @@ -1,3 +1,12 @@ > +2014-06-03 Andrew Azores > + > + PolicyEditor persists empty non-default codebase entries > + * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEntry.java > + (toString): return empty string only if the codebase both has no > + permissions assigned and is also the default "All Applets" codebase > + * netx/net/sourceforge/jnlp/security/policyeditor/PolicyFileModel.java > + (savePolicyFile): release fileLock with try/finally > + > 2014-06-03 Lukasz Dracz > > This test expects a Null pointer exception however does not > diff -r 8ddd8d86855c -r f02ad0ae6d86 netx/net/sourceforge/jnlp/security/policyeditor/PolicyEntry.java > --- a/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEntry.java Tue Jun 03 14:25:41 2014 -0400 > +++ b/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEntry.java Tue Jun 03 17:02:56 2014 -0400 > @@ -69,7 +69,9 @@ > > @Override > public String toString() { > - if (permissions.isEmpty() && customPermissions.isEmpty()) { > + // Empty codebase is the default "All Applets" codebase. If there are no permissions > + // applied to it, then don't bother recording it in the policy file. > + if (codebase.isEmpty() && permissions.isEmpty() && customPermissions.isEmpty()) { > return ""; > } > final String newline = System.getProperty("line.separator"); > diff -r 8ddd8d86855c -r f02ad0ae6d86 netx/net/sourceforge/jnlp/security/policyeditor/PolicyFileModel.java > --- a/netx/net/sourceforge/jnlp/security/policyeditor/PolicyFileModel.java Tue Jun 03 14:25:41 2014 -0400 > +++ b/netx/net/sourceforge/jnlp/security/policyeditor/PolicyFileModel.java Tue Jun 03 17:02:56 2014 -0400 > @@ -169,21 +169,30 @@ > final String currentDate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(Calendar.getInstance().getTime()); > sb.append("\n/* Generated by PolicyEditor at ").append(currentDate).append(" */"); > sb.append(System.getProperty("line.separator")); > - final Set enabledPermissions = new HashSet<>(); > - FileLock fileLock = FileUtils.getFileLock(file.getAbsolutePath(), false, true); > - for (final String codebase : codebasePermissionsMap.keySet()) { > - enabledPermissions.clear(); > - for (final Map.Entry entry : codebasePermissionsMap.get(codebase).entrySet()) { > - if (entry.getValue()) { > - enabledPermissions.add(entry.getKey()); > + FileLock fileLock = null; > + try { > + fileLock = FileUtils.getFileLock(file.getAbsolutePath(), false, true); > + final Set enabledPermissions = new HashSet<>(); > + for (final String codebase : codebasePermissionsMap.keySet()) { > + enabledPermissions.clear(); > + for (final Map.Entry entry : codebasePermissionsMap.get(codebase).entrySet()) { > + if (entry.getValue()) { > + enabledPermissions.add(entry.getKey()); > + } > } > + sb.append(new PolicyEntry(codebase, enabledPermissions, customPermissionsMap.get(codebase)).toString()); > } > - sb.append(new PolicyEntry(codebase, enabledPermissions, customPermissionsMap.get(codebase)).toString()); > - } > - try { > - fileLock.release(); > } catch (final IOException e) { > OutputController.getLogger().log(e); > + } finally { > + if (fileLock != null) { > + try { > + fileLock.release(); > + } catch (final IOException e) { > + OutputController.getLogger().log(e); > + } > + > + } > } > > FileUtils.saveFile(sb.toString(), file); Proposing to backport this for 1.5.1. Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: policyeditor-empty-entries-1.5-backport.patch Type: text/x-patch Size: 4329 bytes Desc: not available URL: From aazores at redhat.com Tue Jun 17 18:07:41 2014 From: aazores at redhat.com (Andrew Azores) Date: Tue, 17 Jun 2014 14:07:41 -0400 Subject: [rfc][icedtea-web][policyeditor] Fix for duplicate codebases when launched from dialog Message-ID: <53A083ED.6080008@redhat.com> Hi, When launching PolicyEditor from a security dialog, the applet's codebase may be added to the UI twice. This only affects the list UI - each entry shares the same checkbox state, custom permissions, etc., and will be written to file as one entry. This happens partially because there was some missing validation that the element doesn't already exist before it is re-added to the list, and partially because in another place where validation was done, the check was performed outside of a SwingUtilities.invokeLater block which would later update the UI with the new element, without re-checking its presence. This could cause a race condition where the element was not yet in the list when it was checked but could have already been added by the time it the invokeLater ran. This patch fixes these two errors. http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1850 Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: policyeditor-duplicate-codebase-fix.patch Type: text/x-patch Size: 1652 bytes Desc: not available URL: From ldracz at redhat.com Tue Jun 17 18:59:14 2014 From: ldracz at redhat.com (Lukasz Dracz) Date: Tue, 17 Jun 2014 14:59:14 -0400 (EDT) Subject: [rfc][icedtea-web][policyeditor] Fix for duplicate codebases when launched from dialog In-Reply-To: <53A083ED.6080008@redhat.com> References: <53A083ED.6080008@redhat.com> Message-ID: <212173068.15751539.1403031554474.JavaMail.zimbra@redhat.com> Hello > When launching PolicyEditor from a security dialog, the applet's > codebase may be added to the UI twice. This only affects the list UI - > each entry shares the same checkbox state, custom permissions, etc., and > will be written to file as one entry. This happens partially because > there was some missing validation that the element doesn't already exist > before it is re-added to the list, and partially because in another > place where validation was done, the check was performed outside of a > SwingUtilities.invokeLater block which would later update the UI with > the new element, without re-checking its presence. This could cause a > race condition where the element was not yet in the list when it was > checked but could have already been added by the time it the invokeLater > ran. This patch fixes these two errors. > > http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1850 Looks good to me, +0.5! Thank you, Lukasz D From bugzilla-daemon at icedtea.classpath.org Tue Jun 17 20:01:46 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 17 Jun 2014 20:01:46 +0000 Subject: [Bug 1805] fatal error crash running iDRAC7 virtual media In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1805 Andrew Azores changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |aazores at redhat.com --- Comment #1 from Andrew Azores --- This doesn't look like an IcedTea-Web bug, more likely a bug in iDRAC7 itself. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkang at redhat.com Tue Jun 17 20:08:06 2014 From: jkang at redhat.com (Jie Kang) Date: Tue, 17 Jun 2014 16:08:06 -0400 (EDT) Subject: [rfc][icedtea-web][policyeditor] Fix for duplicate codebases when launched from dialog In-Reply-To: <53A083ED.6080008@redhat.com> References: <53A083ED.6080008@redhat.com> Message-ID: <1581966715.15786392.1403035686175.JavaMail.zimbra@redhat.com> Hello, > Hi, > > When launching PolicyEditor from a security dialog, the applet's > codebase may be added to the UI twice. This only affects the list UI - > each entry shares the same checkbox state, custom permissions, etc., and > will be written to file as one entry. This happens partially because > there was some missing validation that the element doesn't already exist > before it is re-added to the list, and partially because in another > place where validation was done, the check was performed outside of a > SwingUtilities.invokeLater block which would later update the UI with > the new element, without re-checking its presence. This could cause a > race condition where the element was not yet in the list when it was > checked but could have already been added by the time it the invokeLater > ran. This patch fixes these two errors. > > http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1850 > Patch looks good. 0.5. Maybe add javadoc that duplicate codebase urls aren't accepted? Also I just noticed but there is javadoc in PolicyEditor on the weakReference use. Not sure what the accepted style is in regards to comments vs. Javadoc but I think implementation details like why the weakReference is used would be more appropriate as a comment rather than part of Javadoc. > Thanks, > > -- > Andrew A > > -- Jie Kang From bugzilla-daemon at icedtea.classpath.org Tue Jun 17 20:08:30 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 17 Jun 2014 20:08:30 +0000 Subject: [Bug 1584] Commvault console fails to start due to error in JNLP file In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1584 Andrew Azores changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |aazores at redhat.com --- Comment #3 from Andrew Azores --- I get a connection timeout trying to launch the attached JNLP with IcedTea-Web 1.5, but it appears to parse the attached file just fine. If you are having this issue, please try upgrading to 1.5. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Tue Jun 17 20:19:45 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 17 Jun 2014 20:19:45 +0000 Subject: [Bug 1777] IcedTea-Web always redownloads web start application if they are packed In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1777 Andrew Azores changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |aazores at redhat.com --- Comment #1 from Andrew Azores --- I believe Omair fixed this fairly recently. Lars, can you try again with IcedTea-Web HEAD? I just tested it with the URL you provided and it seems to have used the cached resources, judging by how quickly the progress indicator jumped directly to 100% on the second run. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From aazores at redhat.com Tue Jun 17 20:30:57 2014 From: aazores at redhat.com (Andrew Azores) Date: Tue, 17 Jun 2014 16:30:57 -0400 Subject: [rfc][icedtea-web][policyeditor] Fix for duplicate codebases when launched from dialog In-Reply-To: <1581966715.15786392.1403035686175.JavaMail.zimbra@redhat.com> References: <53A083ED.6080008@redhat.com> <1581966715.15786392.1403035686175.JavaMail.zimbra@redhat.com> Message-ID: <53A0A581.1000708@redhat.com> On 06/17/2014 04:08 PM, Jie Kang wrote: > Hello, > >> Hi, >> >> When launching PolicyEditor from a security dialog, the applet's >> codebase may be added to the UI twice. This only affects the list UI - >> each entry shares the same checkbox state, custom permissions, etc., and >> will be written to file as one entry. This happens partially because >> there was some missing validation that the element doesn't already exist >> before it is re-added to the list, and partially because in another >> place where validation was done, the check was performed outside of a >> SwingUtilities.invokeLater block which would later update the UI with >> the new element, without re-checking its presence. This could cause a >> race condition where the element was not yet in the list when it was >> checked but could have already been added by the time it the invokeLater >> ran. This patch fixes these two errors. >> >> http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1850 >> > > Patch looks good. 0.5. > > Maybe add javadoc that duplicate codebase urls aren't accepted? > > Also I just noticed but there is javadoc in PolicyEditor on the weakReference use. Not sure what the accepted style is in regards to comments vs. Javadoc but I think implementation details like why the weakReference is used would be more appropriate as a comment rather than part of Javadoc. > Ehh, being pedantic, but Javadoc *are* just comments. It's just that your IDE and potentially the javadoc tool, if you use it, decide to handle specific comments in a special manner ;). I can remove the one extra asterisk that makes it trigger the special handling, but I don't think it's really a big deal stylistically. None of it is public API anyway. The WeakReference is fairly questionable on why it's needed anyway so for people using an IDE, having it as javadoc allows that extra note on it to be visible just by eg hovering the cursor over any appearance of the identifier, not just by jumping to view the definition. So I'm in favour of just leaving it as-is. Thanks, -- Andrew Azores From omajid at redhat.com Tue Jun 17 21:06:43 2014 From: omajid at redhat.com (Omair Majid) Date: Tue, 17 Jun 2014 17:06:43 -0400 Subject: [rfc][icedtea-web][policyeditor] MVC-ish refactor In-Reply-To: <539F5B14.6010703@redhat.com> References: <539F54DC.1030700@redhat.com> <20140616205415.GF2557@redhat.com> <539F5B14.6010703@redhat.com> Message-ID: <20140617210642.GD2230@redhat.com> * Andrew Azores [2014-06-16 17:01]: > Yea, that's why I'm hesitating to call it MVC and instead calling it > MVC-ish. I guess when I saw "MVC-ish", I had something closer to MVC in mind. I wouldn't call playing catch as soccer-ish, but they both involve balls. Maybe avoid the word MVC in the commit description? > Barely at all at this point, really, but it's something, and it'll > still make it easier to create the CLI-only interface. There's also more > that can probably be fairly easily extracted from PolicyEditor into > PolicyEditorController, but I wanted to move in smaller steps and have this > very basic extraction done first. Sure. I don't have anything against the patch. The changes look sensible. Thanks, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From aazores at redhat.com Tue Jun 17 21:10:22 2014 From: aazores at redhat.com (Andrew Azores) Date: Tue, 17 Jun 2014 17:10:22 -0400 Subject: [rfc][icedtea-web][policyeditor] MVC-ish refactor In-Reply-To: <20140617210642.GD2230@redhat.com> References: <539F54DC.1030700@redhat.com> <20140616205415.GF2557@redhat.com> <539F5B14.6010703@redhat.com> <20140617210642.GD2230@redhat.com> Message-ID: <53A0AEBE.2080809@redhat.com> On 06/17/2014 05:06 PM, Omair Majid wrote: > * Andrew Azores [2014-06-16 17:01]: >> Yea, that's why I'm hesitating to call it MVC and instead calling it >> MVC-ish. > I guess when I saw "MVC-ish", I had something closer to MVC in mind. I > wouldn't call playing catch as soccer-ish, but they both involve balls. > Maybe avoid the word MVC in the commit description? Heh, fair enough :) > >> Barely at all at this point, really, but it's something, and it'll >> still make it easier to create the CLI-only interface. There's also more >> that can probably be fairly easily extracted from PolicyEditor into >> PolicyEditorController, but I wanted to move in smaller steps and have this >> very basic extraction done first. > Sure. I don't have anything against the patch. The changes look > sensible. > > Thanks, > Omair > Thanks, -- Andrew A From aazores at icedtea.classpath.org Tue Jun 17 21:22:17 2014 From: aazores at icedtea.classpath.org (aazores at icedtea.classpath.org) Date: Tue, 17 Jun 2014 21:22:17 +0000 Subject: /hg/icedtea-web: Some PolicyEditor logic extracted into PolicyEd... Message-ID: changeset cfd3501b1cdf in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=cfd3501b1cdf author: Andrew Azores date: Tue Jun 17 17:21:54 2014 -0400 Some PolicyEditor logic extracted into PolicyEditorController 2014-06-17 Andrew Azores Some PolicyEditor logic extracted into new class PolicyEditorController to allow different UIs to be built without invoking any main PolicyEditor UI * netx/net/sourceforge/jnlp/security/policyeditor/CustomPolicyViewer.java (updateCustomPermissions): give "true" as param for setChangesMade * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java (policyFile, changesMade, performingIO): moved into PolicyEditorController. All policyFile references changed to use policyEditorController instead (policyEditorController): new field * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditorController.java: new class to provide implementation of and programmatic interface for major PolicyEditor actions, to allow other UIs to be built in the future * tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorTest.java (setNewTempfile): while-loop for waiting for PolicyEditor IO to complete changed to do-while (testAddMultipleCodebases, testCodebaseTrailingSlashesDoNotMatch): editor.addNewCodebases has been removed, using editor.addNewCodebase and a loop instead (testAddCustomPermission, testClearCustomPermission): added assert messages diffstat: ChangeLog | 23 + netx/net/sourceforge/jnlp/security/policyeditor/CustomPolicyViewer.java | 2 +- netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java | 163 +++----- netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditorController.java | 180 ++++++++++ tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorTest.java | 18 +- 5 files changed, 282 insertions(+), 104 deletions(-) diffs (truncated from 739 to 500 lines): diff -r e5d8a62d2170 -r cfd3501b1cdf ChangeLog --- a/ChangeLog Fri Jun 13 16:48:22 2014 -0400 +++ b/ChangeLog Tue Jun 17 17:21:54 2014 -0400 @@ -1,3 +1,26 @@ +2014-06-17 Andrew Azores + + Some PolicyEditor logic extracted into new class PolicyEditorController to + allow different UIs to be built without invoking any main PolicyEditor UI + * netx/net/sourceforge/jnlp/security/policyeditor/CustomPolicyViewer.java + (updateCustomPermissions): give "true" as param for setChangesMade + * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java + (policyFile, changesMade, performingIO): moved into + PolicyEditorController. All policyFile references changed to use + policyEditorController instead + (policyEditorController): new field + * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditorController.java: + new class to provide implementation of and programmatic interface for + major PolicyEditor actions, to allow other UIs to be built in the future + * tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorTest.java + (setNewTempfile): while-loop for waiting for PolicyEditor IO to complete + changed to do-while + (testAddMultipleCodebases, testCodebaseTrailingSlashesDoNotMatch): + editor.addNewCodebases has been removed, using editor.addNewCodebase and a + loop instead + (testAddCustomPermission, testClearCustomPermission): added assert + messages + 2014-06-13 Andrew Azores TemporaryPermissions generated via reflection rather than hard coded diff -r e5d8a62d2170 -r cfd3501b1cdf netx/net/sourceforge/jnlp/security/policyeditor/CustomPolicyViewer.java --- a/netx/net/sourceforge/jnlp/security/policyeditor/CustomPolicyViewer.java Fri Jun 13 16:48:22 2014 -0400 +++ b/netx/net/sourceforge/jnlp/security/policyeditor/CustomPolicyViewer.java Tue Jun 17 17:21:54 2014 -0400 @@ -219,7 +219,7 @@ * @param permissions the permissions granted to this codebase */ private void updateCustomPermissions() { - parent.setChangesMade(); + parent.setChangesMade(true); parent.clearCustomPermissions(codebase); for (final CustomPermission permission : customPermissions) { parent.addCustomPermission(codebase, permission); diff -r e5d8a62d2170 -r cfd3501b1cdf netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java --- a/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java Fri Jun 13 16:48:22 2014 -0400 +++ b/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java Tue Jun 17 17:21:54 2014 -0400 @@ -160,10 +160,7 @@ + " " + FILE_FLAG + "\t\t\t" + R("PEFileFlag") + "\n" + " " + CODEBASE_FLAG + "\t\t" + R("PECodebaseFlag") + "\n"; - private final PolicyFileModel policyFile = new PolicyFileModel(); - private volatile boolean changesMade = false; private boolean closed = false; - private volatile boolean performingIO = false; private final Map checkboxMap = new TreeMap<>(); private final List groupBoxList = new ArrayList<>(Group.values().length); private final JScrollPane scrollPane = new JScrollPane(); @@ -173,7 +170,6 @@ addCodebaseButton = new JButton(), removeCodebaseButton = new JButton(); private final JFileChooser fileChooser; private CustomPolicyViewer cpViewer = null; - /** * See showChangesSavedDialog/showCouldNotSaveDialog. This weak reference is needed because * there is a modal child dialog which can sometimes appear after the editor has been closed @@ -181,6 +177,7 @@ * should be the editor so that the dialog is modal. */ private final WeakReference parentPolicyEditor = new WeakReference<>(this); + private final PolicyEditorController policyEditorController = new PolicyEditorController(); private Map editorPermissionsClipboard = null; private Set customPermissionsClipboard = null; @@ -239,29 +236,29 @@ } if (filepath != null) { - policyFile.setFile(new File(filepath)); + policyEditorController.setFile(new File(filepath)); openAndParsePolicyFile(); } else { resetCodebases(); addNewCodebase(""); } - changesMade = false; + setChangesMade(false); - fileChooser = new JFileChooser(policyFile.getFile()); + fileChooser = new JFileChooser(policyEditorController.getFile()); fileChooser.setFileHidingEnabled(false); okButtonAction = new ActionListener() { @Override public void actionPerformed(final ActionEvent event) { - if (policyFile.getFile() == null) { + if (policyEditorController.getFile() == null) { final int choice = fileChooser.showOpenDialog(PolicyEditor.this); if (choice == JFileChooser.APPROVE_OPTION) { - policyFile.setFile(fileChooser.getSelectedFile()); + policyEditorController.setFile(fileChooser.getSelectedFile()); } } // May still be null if user cancelled the file chooser - if (policyFile.getFile() != null) { + if (policyEditorController.getFile() != null) { savePolicyFile(); } } @@ -290,13 +287,13 @@ openButtonAction = new ActionListener() { @Override public void actionPerformed(final ActionEvent e) { - if (changesMade) { + if (policyEditorController.changesMade()) { final int save = JOptionPane.showConfirmDialog(PolicyEditor.this, R("PESaveChanges")); if (save == JOptionPane.YES_OPTION) { - if (policyFile.getFile() == null) { + if (policyEditorController.getFile() == null) { final int choice = fileChooser.showSaveDialog(PolicyEditor.this); if (choice == JFileChooser.APPROVE_OPTION) { - policyFile.setFile(fileChooser.getSelectedFile()); + policyEditorController.setFile(fileChooser.getSelectedFile()); } else if (choice == JFileChooser.CANCEL_OPTION) { return; } @@ -308,7 +305,7 @@ } final int choice = fileChooser.showOpenDialog(PolicyEditor.this); if (choice == JFileChooser.APPROVE_OPTION) { - policyFile.setFile(fileChooser.getSelectedFile()); + policyEditorController.setFile(fileChooser.getSelectedFile()); openAndParsePolicyFile(); } } @@ -319,8 +316,8 @@ public void actionPerformed(final ActionEvent e) { final int choice = fileChooser.showSaveDialog(PolicyEditor.this); if (choice == JFileChooser.APPROVE_OPTION) { - policyFile.setFile(fileChooser.getSelectedFile()); - changesMade = true; + policyEditorController.setFile(fileChooser.getSelectedFile()); + setChangesMade(true); savePolicyFile(); } } @@ -334,7 +331,7 @@ return; } String newCodebase = ""; - while (!validateCodebase(newCodebase) || policyFile.getCopyOfPermissions().containsKey(newCodebase)) { + while (!validateCodebase(newCodebase) || policyEditorController.getCopyOfPermissions().containsKey(newCodebase)) { newCodebase = JOptionPane.showInputDialog(PolicyEditor.this, R("PERenameCodebase"), oldCodebase); if (newCodebase == null) { return; @@ -355,7 +352,7 @@ @Override public void actionPerformed(final ActionEvent e) { String newCodebase = ""; - while (!validateCodebase(newCodebase) || policyFile.getCopyOfPermissions().containsKey(newCodebase)) { + while (!validateCodebase(newCodebase) || policyEditorController.getCopyOfPermissions().containsKey(newCodebase)) { newCodebase = JOptionPane.showInputDialog(PolicyEditor.this, R("PEPasteCodebase"), "http://"); if (newCodebase == null) { return; @@ -548,18 +545,24 @@ private static void policyEditorWindowQuit(final Window window) { final PolicyEditor editor = ((PolicyEditorWindow) window).getPolicyEditor(); editor.parentPolicyEditor.clear(); - if (editor.changesMade) { + if (editor.policyEditorController.changesMade()) { final int save = JOptionPane.showConfirmDialog(window, R("PESaveChanges")); if (save == JOptionPane.YES_OPTION) { - if (editor.policyFile.getFile() == null) { + if (editor.policyEditorController.getFile() == null) { final int choice = editor.fileChooser.showSaveDialog(window); if (choice == JFileChooser.APPROVE_OPTION) { - editor.policyFile.setFile(editor.fileChooser.getSelectedFile()); + editor.policyEditorController.setFile(editor.fileChooser.getSelectedFile()); } else if (choice == JFileChooser.CANCEL_OPTION) { return; } } - editor.savePolicyFile(); + try { + editor.policyEditorController.savePolicyFile(); + } catch (final IOException e) { + OutputController.getLogger().log(e); + editor.showCouldNotSaveDialog(); + return; + } } else if (save == JOptionPane.CANCEL_OPTION) { return; } @@ -729,7 +732,7 @@ } else { model = codebase; } - final boolean existingCodebase = policyFile.addCodebase(codebase); + final boolean existingCodebase = policyEditorController.addCodebase(codebase); if (!existingCodebase) { SwingUtilities.invokeLater(new Runnable() { @Override @@ -737,7 +740,6 @@ listModel.addElement(model); } }); - changesMade = true; } SwingUtilities.invokeLater(new Runnable() { @Override @@ -748,24 +750,6 @@ }); } - /** - * Add a collection of codebases to the editor. - * @param codebases the collection of codebases to be added - */ - public void addNewCodebases(final Collection codebases) { - for (final String codebase : codebases) { - addNewCodebase(codebase); - } - } - - /** - * Add an array of codebases to the editor. - * @param codebases the array of codebases to be added - */ - public void addNewCodebases(final String[] codebases) { - addNewCodebases(Arrays.asList(codebases)); - } - private static boolean validateCodebase(final String codebase) { try { new URL(codebase); @@ -809,7 +793,7 @@ if (previousIndex < 0) { previousIndex = 0; } - policyFile.removeCodebase(codebase); + policyEditorController.removeCodebase(codebase); final int fIndex = previousIndex; SwingUtilities.invokeLater(new Runnable() { @Override @@ -818,7 +802,6 @@ list.setSelectedIndex(fIndex); } }); - changesMade = true; } /** @@ -847,13 +830,13 @@ if (!getCodebases().contains(codebase)) { return; } - editorPermissionsClipboard = new HashMap<>(policyFile.getCopyOfPermissions().get(codebase)); + editorPermissionsClipboard = new HashMap<>(policyEditorController.getCopyOfPermissions().get(codebase)); - final Set customPermissions = policyFile.getCopyOfCustomPermissions().get(codebase); + final Set customPermissions = policyEditorController.getCustomPermissions(codebase); if (customPermissions == null) { customPermissionsClipboard = Collections.emptySet(); } else { - customPermissionsClipboard = new HashSet<>(policyFile.getCopyOfCustomPermissions().get(codebase)); + customPermissionsClipboard = new HashSet<>(policyEditorController.getCustomPermissions(codebase)); } } @@ -867,43 +850,35 @@ } addNewCodebase(newCodebase); for (final Map.Entry entry : editorPermissionsClipboard.entrySet()) { - policyFile.setPermission(newCodebase, entry.getKey(), entry.getValue()); + policyEditorController.setPermission(newCodebase, entry.getKey(), entry.getValue()); } - policyFile.addCustomPermissions(newCodebase, customPermissionsClipboard); + policyEditorController.addCustomPermissions(newCodebase, customPermissionsClipboard); + setChangesMade(true); updateCheckboxes(newCodebase); - changesMade = true; } public Set getCodebases() { - return new HashSet<>(policyFile.getCopyOfPermissions().keySet()); + return policyEditorController.getCodebases(); } public void setPermission(final String codebase, final PolicyEditorPermissions permission, final boolean state) { - policyFile.setPermission(codebase, permission, state); + policyEditorController.setPermission(codebase, permission, state); } public Map getPermissions(final String codebase) { - policyFile.addCodebase(codebase); - return new HashMap<>(policyFile.getCopyOfPermissions().get(codebase)); + return policyEditorController.getPermissions(codebase); } public void addCustomPermission(final String codebase, final CustomPermission permission) { - policyFile.addCustomPermissions(codebase, Arrays.asList(permission)); + policyEditorController.addCustomPermission(codebase, permission); } public Collection getCustomPermissions(final String codebase) { - policyFile.addCodebase(codebase); - return new HashSet<>(policyFile.getCopyOfCustomPermissions().get(codebase)); + return policyEditorController.getCustomPermissions(codebase); } public void clearCustomPermissions(final String codebase) { - policyFile.clearCustomCodebase(codebase); - } - - private void updateCheckboxes() { - for (String codebase : policyFile.getCopyOfPermissions().keySet()) { - updateCheckboxes(codebase); - } + policyEditorController.clearCustomCodebase(codebase); } /** @@ -940,19 +915,19 @@ for (final ActionListener l : box.getActionListeners()) { box.removeActionListener(l); } - policyFile.addCodebase(codebase); - final boolean state = policyFile.getPermission(codebase, perm); + policyEditorController.addCodebase(codebase); + final boolean state = policyEditorController.getPermission(codebase, perm); for (final JCheckBoxWithGroup jg : groupBoxList) { - jg.setState(policyFile.getCopyOfPermissions().get(codebase)); + jg.setState(policyEditorController.getCopyOfPermissions().get(codebase)); } box.setSelected(state); box.addActionListener(new ActionListener() { @Override public void actionPerformed(final ActionEvent e) { - changesMade = true; - policyFile.setPermission(codebase, perm, box.isSelected()); + setChangesMade(true); + policyEditorController.setPermission(codebase, perm, box.isSelected()); for (JCheckBoxWithGroup jg : groupBoxList) { - jg.setState(policyFile.getCopyOfPermissions().get(codebase)); + jg.setState(policyEditorController.getCopyOfPermissions().get(codebase)); } } }); @@ -1124,9 +1099,9 @@ groupCh.removeActionListener(l); } for (final PolicyEditorPermissions p : groupCh.getGroup().getPermissions()) { - policyFile.setPermission(codebase, p, groupCh.isSelected()); + policyEditorController.setPermission(codebase, p, groupCh.isSelected()); } - changesMade = true; + setChangesMade(true); updateCheckboxes(codebase); for (final ActionListener al : backup) { groupCh.addActionListener(al); @@ -1230,33 +1205,33 @@ setMinimumSize(getPreferredSize()); } - void setChangesMade() { - changesMade = true; + void setChangesMade(final boolean b) { + policyEditorController.setChangesMade(b); } private void resetCodebases() { listModel.clear(); - policyFile.clearPermissions(); - policyFile.clearCustomPermissions(); + policyEditorController.clearPermissions(); + policyEditorController.clearCustomPermissions(); } /** * @return whether this PolicyEditor is currently opening or saving a policy file to disk */ public boolean isPerformingIO() { - return performingIO; + return policyEditorController.performingIO(); } private void openAndParsePolicyFile() { resetCodebases(); try { - policyFile.getFile().createNewFile(); + policyEditorController.getFile().createNewFile(); } catch (final IOException e) { OutputController.getLogger().log(e); } - final OpenFileResult ofr = FileUtils.testFilePermissions(policyFile.getFile()); + final OpenFileResult ofr = FileUtils.testFilePermissions(policyEditorController.getFile()); if (ofr == OpenFileResult.FAILURE || ofr == OpenFileResult.NOT_FILE) { - FileUtils.showCouldNotOpenFilepathDialog(PolicyEditor.this, policyFile.getFile().getPath()); + FileUtils.showCouldNotOpenFilepathDialog(PolicyEditor.this, policyEditorController.getFile().getPath()); return; } if (ofr == OpenFileResult.CANT_WRITE) { @@ -1278,14 +1253,13 @@ } }); } - performingIO = true; - policyFile.openAndParsePolicyFile(); + policyEditorController.openAndParsePolicyFile(); } catch (final FileNotFoundException fnfe) { OutputController.getLogger().log(fnfe); FileUtils.showCouldNotOpenDialog(PolicyEditor.this, R("PECouldNotOpen")); } catch (final IOException ioe) { OutputController.getLogger().log(ioe); - OutputController.getLogger().log(OutputController.Level.ERROR_ALL, R("RCantOpenFile", policyFile.getFile().getPath())); + OutputController.getLogger().log(OutputController.Level.ERROR_ALL, R("RCantOpenFile", policyEditorController.getFile().getPath())); FileUtils.showCouldNotOpenDialog(PolicyEditor.this, R("PECouldNotOpen")); } return null; @@ -1293,9 +1267,7 @@ @Override public void done() { - changesMade = false; - performingIO = false; - for (final String codebase : policyFile.getCodebases()) { + for (final String codebase : policyEditorController.getCodebases()) { final String model; if (codebase.isEmpty()) { model = R("PEGlobalSettings"); @@ -1344,8 +1316,7 @@ } }); } - performingIO = true; - policyFile.savePolicyFile(); + policyEditorController.savePolicyFile(); } catch (final IOException e) { OutputController.getLogger().log(e); showCouldNotSaveDialog(); @@ -1355,8 +1326,6 @@ @Override public void done() { - changesMade = false; - performingIO = false; showChangesSavedDialog(); progressIndicator.setVisible(false); progressIndicator.dispose(); @@ -1406,7 +1375,7 @@ private int checkPolicyChangesWithDialog() { boolean changed; try { - changed = policyFile.hasChanged(); + changed = policyEditorController.fileHasChanged(); } catch (FileNotFoundException e) { OutputController.getLogger().log(e); JOptionPane.showMessageDialog(PolicyEditor.this, R("PEFileMissing"), R("PEFileModified"), JOptionPane.WARNING_MESSAGE); @@ -1418,14 +1387,14 @@ if (changed) { String policyFilePath; try { - policyFilePath = policyFile.getFile().getCanonicalPath(); + policyFilePath = policyEditorController.getFile().getCanonicalPath(); } catch (final IOException e) { OutputController.getLogger().log(e); - policyFilePath = policyFile.getFile().getPath(); + policyFilePath = policyEditorController.getFile().getPath(); } return JOptionPane.showConfirmDialog(PolicyEditor.this, R("PEFileModifiedDetail", policyFilePath, R("PEFileModified"), JOptionPane.YES_NO_CANCEL_OPTION)); - } else if (!changesMade) { + } else if (!policyEditorController.changesMade()) { //Return without saving or reloading return JOptionPane.CANCEL_OPTION; } @@ -1469,7 +1438,9 @@ final String codebaseStr = argsMap.get(CODEBASE_FLAG); if (codebaseStr != null) { final String[] urls = codebaseStr.split(" "); - frame.getPolicyEditor().addNewCodebases(urls); + for (final String url : urls) { + frame.getPolicyEditor().addNewCodebase(url); + } } } }); @@ -1518,4 +1489,4 @@ return map; } -} \ No newline at end of file +} diff -r e5d8a62d2170 -r cfd3501b1cdf netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditorController.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditorController.java Tue Jun 17 17:21:54 2014 -0400 @@ -0,0 +1,180 @@ +/*Copyright (C) 2014 Red Hat, Inc. + +This file is part of IcedTea. From aazores at icedtea.classpath.org Tue Jun 17 21:38:22 2014 From: aazores at icedtea.classpath.org (aazores at icedtea.classpath.org) Date: Tue, 17 Jun 2014 21:38:22 +0000 Subject: /hg/icedtea-web: Fix PolicyEditor duplicate entries when launche... Message-ID: changeset e665c266455c in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=e665c266455c author: Andrew Azores date: Tue Jun 17 17:38:12 2014 -0400 Fix PolicyEditor duplicate entries when launched from dialog 2014-06-17 Andrew Azores * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java (openAndParsePolicyFile): check if listModel already contains an element before adding a potential duplicate (addNewCodebase): perform the check for if the codebase is a duplicate when actually adding the codebase to the listModel, rather than beforehand and updating the UI in an invokeLater, which can cause a race diffstat: ChangeLog | 9 +++++ netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java | 18 ++++----- 2 files changed, 17 insertions(+), 10 deletions(-) diffs (54 lines): diff -r cfd3501b1cdf -r e665c266455c ChangeLog --- a/ChangeLog Tue Jun 17 17:21:54 2014 -0400 +++ b/ChangeLog Tue Jun 17 17:38:12 2014 -0400 @@ -1,3 +1,12 @@ +2014-06-17 Andrew Azores + + * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java + (openAndParsePolicyFile): check if listModel already contains an element + before adding a potential duplicate + (addNewCodebase): perform the check for if the codebase is a duplicate + when actually adding the codebase to the listModel, rather than beforehand + and updating the UI in an invokeLater, which can cause a race + 2014-06-17 Andrew Azores Some PolicyEditor logic extracted into new class PolicyEditorController to diff -r cfd3501b1cdf -r e665c266455c netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java --- a/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java Tue Jun 17 17:21:54 2014 -0400 +++ b/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java Tue Jun 17 17:38:12 2014 -0400 @@ -732,18 +732,14 @@ } else { model = codebase; } - final boolean existingCodebase = policyEditorController.addCodebase(codebase); - if (!existingCodebase) { - SwingUtilities.invokeLater(new Runnable() { - @Override - public void run() { - listModel.addElement(model); - } - }); - } + policyEditorController.addCodebase(codebase); SwingUtilities.invokeLater(new Runnable() { @Override public void run() { + if (!listModel.contains(model)) { + listModel.addElement(model); + setChangesMade(true); + } list.setSelectedValue(model, true); updateCheckboxes(codebase); } @@ -1274,7 +1270,9 @@ } else { model = codebase; } - listModel.addElement(model); + if (!listModel.contains(model)) { + listModel.addElement(model); + } } addNewCodebase(""); progressIndicator.setVisible(false); From bugzilla-daemon at icedtea.classpath.org Wed Jun 18 08:56:50 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 18 Jun 2014 08:56:50 +0000 Subject: [Bug 1851] New:=?UTF-8?Q?=20=E2=80=98unhandled=20signal=2011=E2=80=99=20on=20newly=20built=20IcedTeaJVM=20for=20OpenJDK=206=20and=207?= Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1851 Bug ID: 1851 Summary: ???unhandled signal 11??? on newly built IcedTeaJVM for OpenJDK 6 and 7 Product: IcedTea Version: unspecified Hardware: arm OS: Linux Status: NEW Severity: blocker Priority: P5 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: shukla.rahulp at gmail.com CC: unassigned at icedtea.classpath.org Created attachment 1102 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=1102&action=edit Crash log file Hi, I have built the IceTeaJVM for OpenJDK 6 and 7 both. This issue of application crashing after some time of execution is occurring on both versions of JVM. The java test app source code is: import java.io.FileInputStream; import java.io.IOException; import org.jdom.Document; import org.jdom.JDOMException; import org.jdom.input.SAXBuilder; import org.llrp.ltk.exceptions.InvalidLLRPMessageException; import org.llrp.ltk.generated.LLRPMessageFactory; import org.llrp.ltk.types.LLRPMessage; public class CreateLotsOfLlrpObjects { public static void main(String[] args) throws IOException, JDOMException, InvalidLLRPMessageException, InterruptedException { int count = 0; while(true){ if((++count-1)%100 == 0) System.out.println("Count: "+ count); FileInputStream fileInputStream = new FileInputStream("/mnt/data/defaultRoSpec.llrp"); Document document = new SAXBuilder().build(fileInputStream); LLRPMessage message = LLRPMessageFactory.createLLRPMessage(document); message.encodeBinary(); message.toXMLString(); fileInputStream.close(); Thread.sleep(500); } } } I am running this app as: java -verbose:gc -cp ".:ltk-1.0.7.jar:com.springsource.org.jdom-1.1.0.jar" CreateLotsOfLlrpObjects After some time this app crashes with following crash summary: [GC 2681K->1272K(4992K), 0.0017400 secs] [GC 2680K->1273K(4992K), 0.0018620 secs] [GC 2681K->1272K(4992K), 0.0018320 secs] [GC 2680K->1272K(4992K), 0.0017710 secs] [GC 2673K->1263K(4992K), 0.0016480 secs] [GC 2669K->1286K(4992K), 0.0023810 secs] [GC 2692K->1284K(4992K), 0.0023200 secs] [GC 2691K->1283K(4992K), 0.0022580 secs] # # A fatal error has been detected by the Java Runtime Environment: # # Internal Error (os_linux_zero.cpp:285), pid=2485, tid=1091855472 # fatal error: caught unhandled signal 11 # # JRE version: 7.0_25-b30 # Java VM: OpenJDK Zero VM (23.7-b01 mixed mode linux-arm ) # Core dump written. Default location: /mnt/data/MyCrashSignal4/core or co re.2485 (max size 2048 kB). To ensure a full core dump, try "ulimit -c unlimited " before starting Java again # # An error report file with more information is saved as: # /mnt/data/MyCrashSignal4/hs_err_pid2485.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 # Aborted Test code is executing on my linux based board ???2.6.32.8.ti-omap3-am3517-evm???. Detail of underlying JVM is as: java version "1.7.0_25" OpenJDK Runtime Environment (IcedTea 2.3.12) (25b30-2.3.12) OpenJDK Zero VM (build 23.7-b01, mixed mode) I am attaching the crash log file. Thanks. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From ptisnovs at icedtea.classpath.org Wed Jun 18 09:46:04 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Wed, 18 Jun 2014 09:46:04 +0000 Subject: /hg/gfx-test: Ten new tests added into CAGOperationsOnTwoTouchin... Message-ID: changeset 79cf209207d6 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=79cf209207d6 author: Pavel Tisnovsky date: Wed Jun 18 11:46:56 2014 +0200 Ten new tests added into CAGOperationsOnTwoTouchingCircles. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/CAGOperationsOnTwoTouchingCircles.java | 250 ++++++++++ 2 files changed, 255 insertions(+), 0 deletions(-) diffs (272 lines): diff -r 7a3bd5bcb072 -r 79cf209207d6 ChangeLog --- a/ChangeLog Tue Jun 17 11:26:06 2014 +0200 +++ b/ChangeLog Wed Jun 18 11:46:56 2014 +0200 @@ -1,3 +1,8 @@ +2014-06-18 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/CAGOperationsOnTwoTouchingCircles.java: + Ten new tests added into CAGOperationsOnTwoTouchingCircles. + 2014-06-17 Pavel Tisnovsky * src/org/gfxtest/testsuites/CAGOperationsOnTwoOverlappingRectangles.java: diff -r 7a3bd5bcb072 -r 79cf209207d6 src/org/gfxtest/testsuites/CAGOperationsOnTwoTouchingCircles.java --- a/src/org/gfxtest/testsuites/CAGOperationsOnTwoTouchingCircles.java Tue Jun 17 11:26:06 2014 +0200 +++ b/src/org/gfxtest/testsuites/CAGOperationsOnTwoTouchingCircles.java Wed Jun 18 11:46:56 2014 +0200 @@ -2685,6 +2685,256 @@ /** * Checks the process of creating and rendering new geometric shape * constructed from two touching circles using union operator. The shape is rendered + * using texture paint (fill). + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testUnionTextureFillUsingRGBTexture3(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingRGBTexture3(image, graphics2d); + // create area using union operator + Area area = CommonCAGOperations.createAreaFromTwoTouchingCirclesUsingUnionOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two touching circles using subtract operator. The shape is rendered + * using texture paint (fill). + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testSubtractTextureFillUsingRGBTexture3(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingRGBTexture3(image, graphics2d); + // create area using subtract operator + Area area = CommonCAGOperations.createAreaFromTwoTouchingCirclesUsingSubtractOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two touching circles using inverse subtract operator. The shape is rendered + * using texture paint (fill). + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testInverseSubtractTextureFillUsingRGBTexture3(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingRGBTexture3(image, graphics2d); + // create area using inverse subtract operator + Area area = CommonCAGOperations.createAreaFromTwoTouchingCirclesUsingInverseSubtractOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two touching circles using Intersect operator. The shape is rendered + * using texture paint (fill). + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testIntersectTextureFillUsingRGBTexture3(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingRGBTexture3(image, graphics2d); + // create area using Intersect operator + Area area = CommonCAGOperations.createAreaFromTwoTouchingCirclesUsingIntersectOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two touching circles using Xor operator. The shape is rendered + * using texture paint (fill). + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testXorTextureFillUsingRGBTexture3(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingRGBTexture3(image, graphics2d); + // create area using Xor operator + Area area = CommonCAGOperations.createAreaFromTwoTouchingCirclesUsingXorOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two touching circles using union operator. The shape is rendered + * using texture paint (fill). + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testUnionTextureFillUsingRGBTexture4(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingRGBTexture4(image, graphics2d); + // create area using union operator + Area area = CommonCAGOperations.createAreaFromTwoTouchingCirclesUsingUnionOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two touching circles using subtract operator. The shape is rendered + * using texture paint (fill). + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testSubtractTextureFillUsingRGBTexture4(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingRGBTexture4(image, graphics2d); + // create area using subtract operator + Area area = CommonCAGOperations.createAreaFromTwoTouchingCirclesUsingSubtractOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two touching circles using inverse subtract operator. The shape is rendered + * using texture paint (fill). + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testInverseSubtractTextureFillUsingRGBTexture4(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingRGBTexture4(image, graphics2d); + // create area using inverse subtract operator + Area area = CommonCAGOperations.createAreaFromTwoTouchingCirclesUsingInverseSubtractOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two touching circles using Intersect operator. The shape is rendered + * using texture paint (fill). + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testIntersectTextureFillUsingRGBTexture4(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingRGBTexture4(image, graphics2d); + // create area using Intersect operator + Area area = CommonCAGOperations.createAreaFromTwoTouchingCirclesUsingIntersectOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two touching circles using Xor operator. The shape is rendered + * using texture paint (fill). + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testXorTextureFillUsingRGBTexture4(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingRGBTexture4(image, graphics2d); + // create area using Xor operator + Area area = CommonCAGOperations.createAreaFromTwoTouchingCirclesUsingXorOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two touching circles using union operator. The shape is rendered * using radial gradient paint (fill). * * @param image From jvanek at redhat.com Wed Jun 18 10:08:02 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 18 Jun 2014 12:08:02 +0200 Subject: [rfc][icedtea-web] Refactor of LiveConnect Tests Version 2 In-Reply-To: <53A05EAA.5020504@redhat.com> References: <1529622958.9604504.1401722424370.JavaMail.zimbra@redhat.com> <2063359446.10672487.1401908346701.JavaMail.zimbra@redhat.com> <53906F49.7090207@redhat.com> <2146209415.11046744.1401978726200.JavaMail.zimbra@redhat.com> <53908195.2030206@redhat.com> <53986549.2040901@redhat.com> <897487584.14208517.1402603111957.JavaMail.zimbra@redhat.com> <53A05EAA.5020504@redhat.com> Message-ID: <53A16502.3020304@redhat.com> On 06/17/2014 05:28 PM, Andrew Azores wrote: > On 06/12/2014 03:58 PM, Jie Kang wrote: >> Hello, >> >>> I ran the reproducer suite with this patch applied last night. There are >>> still some tests which are failing but not marked as KnownToFail. I >>> haven't checked if these failures are repeatable however. Can you look >>> into this? >>> >>> JavascriptSetTest - AppletJToJSSet_2DArrayElement_Test >>> JSToJFuncResolTest - AppletJSToJFuncResol_inheritedClassToParent1_Test >>> JavascriptFuncReturnTest - >>> AppletJToJSFuncReturn_{number,boolean,JSObject,String,Object}_Test >>> >> I've checked the failures and fixed the FuncReturn test cases (typo). >> >> The JavascriptSetTest has some weird behaviour where the failure occurs because the applet's init >> method didn't print out "applet initialized". This failure does not happen very often at all and I >> will look into it. >> >> The JSToJFuncResolTest failure has been marked Known to Fail. I've checked the test and found >> another bug in the LiveConnect code unrelated to the fixes made in this patch. I have prepared >> another patch that fixes this bug and will send it after this patch. >> >> Thanks for the review! >>> Thanks, >>> >>> -- >>> Andrew A >>> >>> >> -- >> Jie Kang > > Just ran the tests, everything appears to be sorted out now. > > I'll wait before pushing to see if Jiri is strongly objecting to the "shared" resources folder, > otherwise, I think this is good to go. Unluckily, yes, I'm still a bit against. I probably do not understand the usecase "lunch one reproducer" When I'm running one reproducer, then I allow it in whitelist, and then engine prepare *all* reproducers, from which my one is lunched. My mine reason against the explicit shared resources is, that actually also freshly prepared (compiled!) signed, custom and simple reproducers can be shared with each other. I Really think adding special case to copy some special resources is misleading from point of above sentence. I do not wot to block this much longer, so please chat about it today evening all three of us. Sorry for disagreeing, J. From jvanek at redhat.com Wed Jun 18 10:11:30 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 18 Jun 2014 12:11:30 +0200 Subject: [rfc][icedtea-web][policyeditor] Fix for duplicate codebases when launched from dialog In-Reply-To: <53A0A581.1000708@redhat.com> References: <53A083ED.6080008@redhat.com> <1581966715.15786392.1403035686175.JavaMail.zimbra@redhat.com> <53A0A581.1000708@redhat.com> Message-ID: <53A165D2.1050607@redhat.com> On 06/17/2014 10:30 PM, Andrew Azores wrote: > On 06/17/2014 04:08 PM, Jie Kang wrote: >> Hello, >> >>> Hi, >>> >>> When launching PolicyEditor from a security dialog, the applet's >>> codebase may be added to the UI twice. This only affects the list UI - >>> each entry shares the same checkbox state, custom permissions, etc., and >>> will be written to file as one entry. This happens partially because >>> there was some missing validation that the element doesn't already exist >>> before it is re-added to the list, and partially because in another >>> place where validation was done, the check was performed outside of a >>> SwingUtilities.invokeLater block which would later update the UI with >>> the new element, without re-checking its presence. This could cause a >>> race condition where the element was not yet in the list when it was >>> checked but could have already been added by the time it the invokeLater >>> ran. This patch fixes these two errors. >>> >>> http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1850 >>> >> >> Patch looks good. 0.5. >> >> Maybe add javadoc that duplicate codebase urls aren't accepted? >> >> Also I just noticed but there is javadoc in PolicyEditor on the weakReference use. Not sure what >> the accepted style is in regards to comments vs. Javadoc but I think implementation details like >> why the weakReference is used would be more appropriate as a comment rather than part of Javadoc. >> > > Ehh, being pedantic, but Javadoc *are* just comments. It's just that your IDE and potentially the > javadoc tool, if you use it, decide to handle specific comments in a special manner ;). I can remove > the one extra asterisk that makes it trigger the special handling, but I don't think it's really a > big deal stylistically. None of it is public API anyway. The WeakReference is fairly questionable on > why it's needed anyway so for people using an IDE, having it as javadoc allows that extra note on it > to be visible just by eg hovering the cursor over any appearance of the identifier, not just by > jumping to view the definition. So I'm in favour of just leaving it as-is. > +1 for keeping it as it is. My personal feelingsare for more javadocs then comments. But usage of brain when to you which (javadco x just comment) is sometimes extraordinary hard, so dont take me like magic bullet :) J. From bugzilla-daemon at icedtea.classpath.org Wed Jun 18 10:47:49 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 18 Jun 2014 10:47:49 +0000 Subject: [Bug 1851]=?UTF-8?Q?=20=E2=80=98unhandled=20signal=2011=E2=80=99=20on=20newly=20built=20IcedTeaJVM=20for=20OpenJDK=206=20and=207?= In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1851 Andrew Haley changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |aph at redhat.com Assignee|gnu.andrew at redhat.com |chphilli at redhat.com Severity|blocker |normal --- Comment #1 from Andrew Haley --- Reassigning to Chris Phillips for comment. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From aazores at redhat.com Wed Jun 18 13:28:03 2014 From: aazores at redhat.com (Andrew Azores) Date: Wed, 18 Jun 2014 09:28:03 -0400 Subject: [rfc][icedtea-web] Refactor of LiveConnect Tests Version 2 In-Reply-To: <53A16502.3020304@redhat.com> References: <1529622958.9604504.1401722424370.JavaMail.zimbra@redhat.com> <2063359446.10672487.1401908346701.JavaMail.zimbra@redhat.com> <53906F49.7090207@redhat.com> <2146209415.11046744.1401978726200.JavaMail.zimbra@redhat.com> <53908195.2030206@redhat.com> <53986549.2040901@redhat.com> <897487584.14208517.1402603111957.JavaMail.zimbra@redhat.com> <53A05EAA.5020504@redhat.com> <53A16502.3020304@redhat.com> Message-ID: <53A193E3.8080703@redhat.com> On 06/18/2014 06:08 AM, Jiri Vanek wrote: > On 06/17/2014 05:28 PM, Andrew Azores wrote: >> On 06/12/2014 03:58 PM, Jie Kang wrote: >>> Hello, >>> >>>> I ran the reproducer suite with this patch applied last night. >>>> There are >>>> still some tests which are failing but not marked as KnownToFail. I >>>> haven't checked if these failures are repeatable however. Can you look >>>> into this? >>>> >>>> JavascriptSetTest - AppletJToJSSet_2DArrayElement_Test >>>> JSToJFuncResolTest - AppletJSToJFuncResol_inheritedClassToParent1_Test >>>> JavascriptFuncReturnTest - >>>> AppletJToJSFuncReturn_{number,boolean,JSObject,String,Object}_Test >>>> >>> I've checked the failures and fixed the FuncReturn test cases (typo). >>> >>> The JavascriptSetTest has some weird behaviour where the failure >>> occurs because the applet's init >>> method didn't print out "applet initialized". This failure does not >>> happen very often at all and I >>> will look into it. >>> >>> The JSToJFuncResolTest failure has been marked Known to Fail. I've >>> checked the test and found >>> another bug in the LiveConnect code unrelated to the fixes made in >>> this patch. I have prepared >>> another patch that fixes this bug and will send it after this patch. >>> >>> Thanks for the review! >>>> Thanks, >>>> >>>> -- >>>> Andrew A >>>> >>>> >>> -- >>> Jie Kang >> >> Just ran the tests, everything appears to be sorted out now. >> >> I'll wait before pushing to see if Jiri is strongly objecting to the >> "shared" resources folder, >> otherwise, I think this is good to go. > Unluckily, yes, I'm still a bit against. I probably do not understand > the usecase "lunch one reproducer" > > When I'm running one reproducer, then I allow it in whitelist, and > then engine prepare *all* reproducers, from which my one is lunched. Yea, that's exactly what I think is most problematic about ITW's reproducer suite. It's huge and sluggish. The use case for running one reproducer in isolation is that it is then much faster and more convenient to run tests targeting a specific patch being developed. > > My mine reason against the explicit shared resources is, that actually > also freshly prepared (compiled!) signed, custom and simple > reproducers can be shared with each other. > > I Really think adding special case to copy some special resources is > misleading from point of above sentence. I'm not sure what you mean about the signed, custom, and simple being shared with each other. Yes, they can share resources, or even compiled classes. How is it not better to have the shared resources in a directory labelled "shared resources" rather than hidden away in "some" resources directory of "some" reproducer that happens to have them? If you are working on a reproducer that uses shared resources and it is not the reproducer that "hosts" those shared resources, how do you know where to actually find them? You have to actually go use find or grep or something on the entire tests/reproducers directory to discover that it's in some completely unrelated location. Why is this ever preferable? > > I do not wot to block this much longer, so please chat about it today > evening all three of us. > > Sorry for disagreeing, > J. > Thanks, -- Andrew A From aazores at redhat.com Wed Jun 18 14:03:34 2014 From: aazores at redhat.com (Andrew Azores) Date: Wed, 18 Jun 2014 10:03:34 -0400 Subject: [icedtea-web] URLPermission in Java 8 Message-ID: <53A19C36.5060506@redhat.com> Hi, There's a new permission in Java 8 known as URLPermission [0]. It's used to restrict access to, well, URL resources. Some of our manual test case applets are affected by this, for example, Oasis [1]. I can't find any documentation on how exactly Oracle grants applets URLPermissions, eg what kind of path they're allowing the applets to access, or which HTTP methods and headers they may use, etc. So determining sane defaults on these is the primary point of discussion for this thread. We could just try to ask Oracle what they're granting as well and mirror that. To confirm that Oasis is impacted by this new permission: (1) (using openjdk7) Build IcedTea-Web. (2) Launch browser from terminal (3) Go to Oasis URL (4) Observe that applet launches successfully (5) system-switch-java to openjdk8 (6) Repeat 1-3 and observe that Oasis no longer launches due to SecurityExceptions from missing URLPermissions As a sort of proof of concept, I've attached a small patch. Applying this patch to HEAD and repeating the Oasis test procedure with Java 8 in use should allow Oasis to run again. This patch can't compile with Java 7, however, and is also probably too lenient about the URLPermission it's granting, which allows any request method with any headers to any resource recursively and inclusively in the applet codebase. So the second point of discussion for this thread is how to resolve actually adding this permission to the default sandbox permission set. [0] http://docs.oracle.com/javase/8/docs/api/java/net/URLPermission.html [1] https://oasisweb.uga.edu/oasis.html Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: urlpermission-test.patch Type: text/x-patch Size: 1695 bytes Desc: not available URL: From bugzilla-daemon at icedtea.classpath.org Wed Jun 18 14:23:41 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 18 Jun 2014 14:23:41 +0000 Subject: [Bug 1777] IcedTea-Web always redownloads web start application if they are packed In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1777 Lars Herschke changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #2 from Lars Herschke --- The Issue is solved in HEAD (changeset 1001:d150e4453b0b). Many thanks. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From jvanek at redhat.com Wed Jun 18 14:52:23 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 18 Jun 2014 16:52:23 +0200 Subject: [rfc][icedtea-web] Refactor of LiveConnect Tests Version 2 In-Reply-To: <53A193E3.8080703@redhat.com> References: <1529622958.9604504.1401722424370.JavaMail.zimbra@redhat.com> <2063359446.10672487.1401908346701.JavaMail.zimbra@redhat.com> <53906F49.7090207@redhat.com> <2146209415.11046744.1401978726200.JavaMail.zimbra@redhat.com> <53908195.2030206@redhat.com> <53986549.2040901@redhat.com> <897487584.14208517.1402603111957.JavaMail.zimbra@redhat.com> <53A05EAA.5020504@redhat.com> <53A16502.3020304@redhat.com> <53A193E3.8080703@redhat.com> Message-ID: <53A1A7A7.3050303@redhat.com> On 06/18/2014 03:28 PM, Andrew Azores wrote: > On 06/18/2014 06:08 AM, Jiri Vanek wrote: >> On 06/17/2014 05:28 PM, Andrew Azores wrote: >>> On 06/12/2014 03:58 PM, Jie Kang wrote: >>>> Hello, >>>> >>>>> I ran the reproducer suite with this patch applied last night. There are >>>>> still some tests which are failing but not marked as KnownToFail. I >>>>> haven't checked if these failures are repeatable however. Can you look >>>>> into this? >>>>> >>>>> JavascriptSetTest - AppletJToJSSet_2DArrayElement_Test >>>>> JSToJFuncResolTest - AppletJSToJFuncResol_inheritedClassToParent1_Test >>>>> JavascriptFuncReturnTest - >>>>> AppletJToJSFuncReturn_{number,boolean,JSObject,String,Object}_Test >>>>> >>>> I've checked the failures and fixed the FuncReturn test cases (typo). >>>> >>>> The JavascriptSetTest has some weird behaviour where the failure occurs because the applet's init >>>> method didn't print out "applet initialized". This failure does not happen very often at all and I >>>> will look into it. >>>> >>>> The JSToJFuncResolTest failure has been marked Known to Fail. I've checked the test and found >>>> another bug in the LiveConnect code unrelated to the fixes made in this patch. I have prepared >>>> another patch that fixes this bug and will send it after this patch. >>>> >>>> Thanks for the review! >>>>> Thanks, >>>>> >>>>> -- >>>>> Andrew A >>>>> >>>>> >>>> -- >>>> Jie Kang >>> >>> Just ran the tests, everything appears to be sorted out now. >>> >>> I'll wait before pushing to see if Jiri is strongly objecting to the "shared" resources folder, >>> otherwise, I think this is good to go. >> Unluckily, yes, I'm still a bit against. I probably do not understand the usecase "lunch one >> reproducer" >> >> When I'm running one reproducer, then I allow it in whitelist, and then engine prepare *all* >> reproducers, from which my one is lunched. > > Yea, that's exactly what I think is most problematic about ITW's reproducer suite. It's huge and > sluggish. The use case for running one reproducer in isolation is that it is then much faster and > more convenient to run tests targeting a specific patch being developed. By no other way you can run any reproducer, which is using another reproducer's code. > >> >> My mine reason against the explicit shared resources is, that actually also freshly prepared >> (compiled!) signed, custom and simple reproducers can be shared with each other. >> >> I Really think adding special case to copy some special resources is misleading from point of >> above sentence. > > I'm not sure what you mean about the signed, custom, and simple being shared with each other. Yes, > they can share resources, or even compiled classes. How is it not better to have the shared to me, it osunds more confusing to have shared resources handled by different way then shared code. > resources in a directory labelled "shared resources" rather than hidden away in "some" resources > directory of "some" reproducer that happens to have them? If you are working on a reproducer that > uses shared resources and it is not the reproducer that "hosts" those shared resources, how do you > know where to actually find them? You have to actually go use find or grep or something on the > entire tests/reproducers directory to discover that it's in some completely unrelated location. Why Yes. I know this is a bit unhappy. But it is quite rare, and to have comment like seem enough to me. And Imho there is no simple cure for this. I really think that adding soeme palce for shared resources will make the mess even bigger. > is this ever preferable? > >> >> I do not wot to block this much longer, so please chat about it today evening all three of us. >> >> Sorry for disagreeing, >> J. >> > > Thanks, > From jvanek at redhat.com Wed Jun 18 14:59:58 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 18 Jun 2014 16:59:58 +0200 Subject: [icedtea-web] URLPermission in Java 8 In-Reply-To: <53A19C36.5060506@redhat.com> References: <53A19C36.5060506@redhat.com> Message-ID: <53A1A96E.4070702@redhat.com> On 06/18/2014 04:03 PM, Andrew Azores wrote: > Hi, > > There's a new permission in Java 8 known as URLPermission [0]. It's used to restrict access to, > well, URL resources. Some of our manual test case applets are affected by this, for example, Oasis [1]. > Thank you very much for investigations. > I can't find any documentation on how exactly Oracle grants applets URLPermissions, eg what kind of > path they're allowing the applets to access, or which HTTP methods and headers they may use, etc. So > determining sane defaults on these is the primary point of discussion for this thread. We could just > try to ask Oracle what they're granting as well and mirror that. The Oracle NEVER EVER responded to any of my emails about unclear specification. I even twice tried "directly to person" email, and no reply. So I would gave up here. But you may have more luck :) I would say to grant all URL permissions and be happy. W can not afford more "proprietary plugin is running this applet , why is ITW not ?" And perhaps restrict it later if needed. > > To confirm that Oasis is impacted by this new permission: > (1) (using openjdk7) Build IcedTea-Web. > (2) Launch browser from terminal > (3) Go to Oasis URL > (4) Observe that applet launches successfully > (5) system-switch-java to openjdk8 > (6) Repeat 1-3 and observe that Oasis no longer launches due to SecurityExceptions from missing > URLPermissions > > As a sort of proof of concept, I've attached a small patch. Applying this patch to HEAD and > repeating the Oasis test procedure with Java 8 in use should allow Oasis to run again. This patch > can't compile with Java 7, however, and is also probably too lenient about the URLPermission it's > granting, which allows any request method with any headers to any resource recursively and > inclusively in the applet codebase. So the second point of discussion for this thread is how to > resolve actually adding this permission to the default sandbox permission set. > > [0] http://docs.oracle.com/javase/8/docs/api/java/net/URLPermission.html > [1] https://oasisweb.uga.edu/oasis.html Jsut implementation note - does it have sense to have itw compiled by 7, running on 8? I would say it have sense. Then reflection will have to come to word:( If it do not have sense, we can use same trick as for jdk7 trust manager. Thanx again, J. From bugzilla-daemon at icedtea.classpath.org Wed Jun 18 15:26:00 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 18 Jun 2014 15:26:00 +0000 Subject: [Bug 729] GTKLookAndFeel should be the system look&feel on all GNU/Linux desktops In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=729 Andrew Azores changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |aazores at redhat.com --- Comment #16 from Andrew Azores --- I came across a discussion thread [0] last night that seems pertitent to this bug. It seems that at least some users are experiencing UI breakages due to updating to 7u60 (IcedTea 2.5.0). [0] http://www.reddit.com/r/archlinux/comments/28d6p9/upgrading_openjdk_removes_text_in_idea/ -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From aazores at redhat.com Wed Jun 18 15:38:44 2014 From: aazores at redhat.com (Andrew Azores) Date: Wed, 18 Jun 2014 11:38:44 -0400 Subject: [rfc][icedtea-web] Refactor of LiveConnect Tests Version 2 In-Reply-To: <53A1A7A7.3050303@redhat.com> References: <1529622958.9604504.1401722424370.JavaMail.zimbra@redhat.com> <2063359446.10672487.1401908346701.JavaMail.zimbra@redhat.com> <53906F49.7090207@redhat.com> <2146209415.11046744.1401978726200.JavaMail.zimbra@redhat.com> <53908195.2030206@redhat.com> <53986549.2040901@redhat.com> <897487584.14208517.1402603111957.JavaMail.zimbra@redhat.com> <53A05EAA.5020504@redhat.com> <53A16502.3020304@redhat.com> <53A193E3.8080703@redhat.com> <53A1A7A7.3050303@redhat.com> Message-ID: <53A1B284.3090908@redhat.com> On 06/18/2014 10:52 AM, Jiri Vanek wrote: > On 06/18/2014 03:28 PM, Andrew Azores wrote: >> On 06/18/2014 06:08 AM, Jiri Vanek wrote: >>> On 06/17/2014 05:28 PM, Andrew Azores wrote: >>>> On 06/12/2014 03:58 PM, Jie Kang wrote: >>>>> Hello, >>>>> >>>>>> I ran the reproducer suite with this patch applied last night. >>>>>> There are >>>>>> still some tests which are failing but not marked as KnownToFail. I >>>>>> haven't checked if these failures are repeatable however. Can you >>>>>> look >>>>>> into this? >>>>>> >>>>>> JavascriptSetTest - AppletJToJSSet_2DArrayElement_Test >>>>>> JSToJFuncResolTest - >>>>>> AppletJSToJFuncResol_inheritedClassToParent1_Test >>>>>> JavascriptFuncReturnTest - >>>>>> AppletJToJSFuncReturn_{number,boolean,JSObject,String,Object}_Test >>>>>> >>>>> I've checked the failures and fixed the FuncReturn test cases (typo). >>>>> >>>>> The JavascriptSetTest has some weird behaviour where the failure >>>>> occurs because the applet's init >>>>> method didn't print out "applet initialized". This failure does >>>>> not happen very often at all and I >>>>> will look into it. >>>>> >>>>> The JSToJFuncResolTest failure has been marked Known to Fail. I've >>>>> checked the test and found >>>>> another bug in the LiveConnect code unrelated to the fixes made in >>>>> this patch. I have prepared >>>>> another patch that fixes this bug and will send it after this patch. >>>>> >>>>> Thanks for the review! >>>>>> Thanks, >>>>>> >>>>>> -- >>>>>> Andrew A >>>>>> >>>>>> >>>>> -- >>>>> Jie Kang >>>> >>>> Just ran the tests, everything appears to be sorted out now. >>>> >>>> I'll wait before pushing to see if Jiri is strongly objecting to >>>> the "shared" resources folder, >>>> otherwise, I think this is good to go. >>> Unluckily, yes, I'm still a bit against. I probably do not >>> understand the usecase "lunch one >>> reproducer" >>> >>> When I'm running one reproducer, then I allow it in whitelist, and >>> then engine prepare *all* >>> reproducers, from which my one is lunched. >> >> Yea, that's exactly what I think is most problematic about ITW's >> reproducer suite. It's huge and >> sluggish. The use case for running one reproducer in isolation is >> that it is then much faster and >> more convenient to run tests targeting a specific patch being developed. > > By no other way you can run any reproducer, which is using another > reproducer's code. > >> >>> >>> My mine reason against the explicit shared resources is, that >>> actually also freshly prepared >>> (compiled!) signed, custom and simple reproducers can be shared >>> with each other. >>> >>> I Really think adding special case to copy some special resources is >>> misleading from point of >>> above sentence. >> >> I'm not sure what you mean about the signed, custom, and simple being >> shared with each other. Yes, >> they can share resources, or even compiled classes. How is it not >> better to have the shared > > to me, it osunds more confusing to have shared resources handled by > different way then shared code. > >> resources in a directory labelled "shared resources" rather than >> hidden away in "some" resources >> directory of "some" reproducer that happens to have them? If you are >> working on a reproducer that >> uses shared resources and it is not the reproducer that "hosts" those >> shared resources, how do you >> know where to actually find them? You have to actually go use find or >> grep or something on the >> entire tests/reproducers directory to discover that it's in some >> completely unrelated location. Why > > Yes. I know this is a bit unhappy. But it is quite rare, and to have > comment like seem enough to me. And Imho there is > no simple cure for this. > > I really think that adding soeme palce for shared resources will make > the mess even bigger. > > >> is this ever preferable? >> >>> >>> I do not wot to block this much longer, so please chat about it >>> today evening all three of us. >>> >>> Sorry for disagreeing, >>> J. >>> >> >> Thanks, >> > I think then the right thing to do is not to leave things as they are but to also introduce a directory (maybe the same directory) where shared code can be placed. Jie proposed this before but I didn't see the need for it currently, but it is required if the reproducers are ever going to be run in isolation, which I would really like to see become possible. I don't know if there are any additional difficulties in implementing shared code vs simply shared resources, since the shared resources just have to be copied. Thanks, -- Andrew A From jvanek at redhat.com Wed Jun 18 15:48:52 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 18 Jun 2014 17:48:52 +0200 Subject: [rfc][icedtea-web] Refactor of LiveConnect Tests Version 2 In-Reply-To: <53A1B284.3090908@redhat.com> References: <1529622958.9604504.1401722424370.JavaMail.zimbra@redhat.com> <2063359446.10672487.1401908346701.JavaMail.zimbra@redhat.com> <53906F49.7090207@redhat.com> <2146209415.11046744.1401978726200.JavaMail.zimbra@redhat.com> <53908195.2030206@redhat.com> <53986549.2040901@redhat.com> <897487584.14208517.1402603111957.JavaMail.zimbra@redhat.com> <53A05EAA.5020504@redhat.com> <53A16502.3020304@redhat.com> <53A193E3.8080703@redhat.com> <53A1A7A7.3050303@redhat.com> <53A1B284.3090908@redhat.com> Message-ID: <53A1B4E4.4080803@redhat.com> On 06/18/2014 05:38 PM, Andrew Azores wrote: > On 06/18/2014 10:52 AM, Jiri Vanek wrote: >> On 06/18/2014 03:28 PM, Andrew Azores wrote: >>> On 06/18/2014 06:08 AM, Jiri Vanek wrote: >>>> On 06/17/2014 05:28 PM, Andrew Azores wrote: >>>>> On 06/12/2014 03:58 PM, Jie Kang wrote: >>>>>> Hello, >>>>>> >>>>>>> I ran the reproducer suite with this patch applied last night. There are >>>>>>> still some tests which are failing but not marked as KnownToFail. I >>>>>>> haven't checked if these failures are repeatable however. Can you look >>>>>>> into this? >>>>>>> >>>>>>> JavascriptSetTest - AppletJToJSSet_2DArrayElement_Test >>>>>>> JSToJFuncResolTest - AppletJSToJFuncResol_inheritedClassToParent1_Test >>>>>>> JavascriptFuncReturnTest - >>>>>>> AppletJToJSFuncReturn_{number,boolean,JSObject,String,Object}_Test >>>>>>> >>>>>> I've checked the failures and fixed the FuncReturn test cases (typo). >>>>>> >>>>>> The JavascriptSetTest has some weird behaviour where the failure occurs because the applet's init >>>>>> method didn't print out "applet initialized". This failure does not happen very often at all >>>>>> and I >>>>>> will look into it. >>>>>> >>>>>> The JSToJFuncResolTest failure has been marked Known to Fail. I've checked the test and found >>>>>> another bug in the LiveConnect code unrelated to the fixes made in this patch. I have prepared >>>>>> another patch that fixes this bug and will send it after this patch. >>>>>> >>>>>> Thanks for the review! >>>>>>> Thanks, >>>>>>> >>>>>>> -- >>>>>>> Andrew A >>>>>>> >>>>>>> >>>>>> -- >>>>>> Jie Kang >>>>> >>>>> Just ran the tests, everything appears to be sorted out now. >>>>> >>>>> I'll wait before pushing to see if Jiri is strongly objecting to the "shared" resources folder, >>>>> otherwise, I think this is good to go. >>>> Unluckily, yes, I'm still a bit against. I probably do not understand the usecase "lunch one >>>> reproducer" >>>> >>>> When I'm running one reproducer, then I allow it in whitelist, and then engine prepare *all* >>>> reproducers, from which my one is lunched. >>> >>> Yea, that's exactly what I think is most problematic about ITW's reproducer suite. It's huge and >>> sluggish. The use case for running one reproducer in isolation is that it is then much faster and >>> more convenient to run tests targeting a specific patch being developed. >> >> By no other way you can run any reproducer, which is using another reproducer's code. >> >>> >>>> >>>> My mine reason against the explicit shared resources is, that actually also freshly prepared >>>> (compiled!) signed, custom and simple reproducers can be shared with each other. >>>> >>>> I Really think adding special case to copy some special resources is misleading from point of >>>> above sentence. >>> >>> I'm not sure what you mean about the signed, custom, and simple being shared with each other. Yes, >>> they can share resources, or even compiled classes. How is it not better to have the shared >> >> to me, it osunds more confusing to have shared resources handled by different way then shared code. >> >>> resources in a directory labelled "shared resources" rather than hidden away in "some" resources >>> directory of "some" reproducer that happens to have them? If you are working on a reproducer that >>> uses shared resources and it is not the reproducer that "hosts" those shared resources, how do you >>> know where to actually find them? You have to actually go use find or grep or something on the >>> entire tests/reproducers directory to discover that it's in some completely unrelated location. Why >> >> Yes. I know this is a bit unhappy. But it is quite rare, and to have comment like seem enough to me. And Imho there is >> no simple cure for this. >> >> I really think that adding soeme palce for shared resources will make the mess even bigger. >> >> >>> is this ever preferable? >>> >>>> >>>> I do not wot to block this much longer, so please chat about it today evening all three of us. >>>> >>>> Sorry for disagreeing, >>>> J. >>>> >>> >>> Thanks, >>> >> > > I think then the right thing to do is not to leave things as they are but to also introduce a > directory (maybe the same directory) where shared code can be placed. Jie proposed this before but I > didn't see the need for it currently, but it is required if the reproducers are ever going to be run > in isolation, which I would really like to see become possible. I don't know if there are any > additional difficulties in implementing shared code vs simply shared resources, since the shared > resources just have to be copied. Well you are thinking about the shared code as about some library, which appelts/apps will reuse. That must not happen. The reproducers myust be as isolated as possible. Even more we are speaking about this,. even more I'm sure the shared dir, as was introduced can nto go in. But Patch, which will add the functionality to lunch single reproducer (and be able to handle its dependeces) may come in as separate (quite a big one I would guess) changeset. J. From bugzilla-daemon at icedtea.classpath.org Wed Jun 18 15:48:56 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 18 Jun 2014 15:48:56 +0000 Subject: [Bug 729] GTKLookAndFeel should be the system look&feel on all GNU/Linux desktops In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=729 Mario Torre changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |neugens at redhat.com --- Comment #17 from Mario Torre --- Hi all, I just want to add my opinion on this thread. While I would like to see the Gtk LAF as default on Linux (after all, it doesn't really matter if you're running on KDE or Gnome, or whatever, the chances you don't have Gtk on your system are really 0), we can't do this because we would possibly break existing applications running Java on Linux. Unfortunately, the LAF is one of the critical areas that could make the same application render with bugs, behave incorrectly or crash, especially on Swing where people reverted to all sort of tricks and custom components; that's why the system defaults never changed in years. Of course, is equally easy to force a specific look and feel, on the other end, I expect bug reports arriving of the sort "getSystemLookAndFeel() gives me unexpected result", fixing those bugs will mean reverting this patch, which will mean creating an apocalyptic scenario where part of the world expect Metal and part expect Gtk, leading to a Schrodinger look and feel implementation that will break-fix anyone else! :) Seriously, we *could* possibly have this default in JDK9, where people expect a certain level of breakage and are usually forced to test their applications from scratch, but JDK7 or JDK8 seems way too dangerous being the current releases, we really risk to break some application. Regarding the Gtk3, I indeed mentored a student last year. The work was not 100% finished, but working well enough to be a good starting point. As soon as I'll find some time I'll start hacking on that, of course anyone is free to jump in! Here's the current code: http://icedtea.classpath.org/people/elideu/gtk3laf/ Most of it needs to be rewritten, but as I said is a good starting point. I would also love to work on a QT version of it. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From aazores at redhat.com Wed Jun 18 15:53:15 2014 From: aazores at redhat.com (Andrew Azores) Date: Wed, 18 Jun 2014 11:53:15 -0400 Subject: [icedtea-web] URLPermission in Java 8 In-Reply-To: <53A1A96E.4070702@redhat.com> References: <53A19C36.5060506@redhat.com> <53A1A96E.4070702@redhat.com> Message-ID: <53A1B5EB.7040706@redhat.com> On 06/18/2014 10:59 AM, Jiri Vanek wrote: > On 06/18/2014 04:03 PM, Andrew Azores wrote: >> Hi, >> >> There's a new permission in Java 8 known as URLPermission [0]. It's >> used to restrict access to, >> well, URL resources. Some of our manual test case applets are >> affected by this, for example, Oasis [1]. >> > > Thank you very much for investigations. > >> I can't find any documentation on how exactly Oracle grants applets >> URLPermissions, eg what kind of >> path they're allowing the applets to access, or which HTTP methods >> and headers they may use, etc. So >> determining sane defaults on these is the primary point of discussion >> for this thread. We could just >> try to ask Oracle what they're granting as well and mirror that. > > The Oracle NEVER EVER responded to any of my emails about unclear > specification. I even twice tried "directly to person" email, and no > reply. So I would gave up here. But you may have more luck :) Yea, I remember this :/ it's probably worth trying again but not expecting a response. > > I would say to grant all URL permissions and be happy. W can not > afford more "proprietary plugin is running this applet , why is ITW > not ?" And perhaps restrict it later if needed. Well, I don't want to let it be too relaxed to begin with, because that just leaves openings for applets to do things we probably don't want them to do. > >> >> To confirm that Oasis is impacted by this new permission: >> (1) (using openjdk7) Build IcedTea-Web. >> (2) Launch browser from terminal >> (3) Go to Oasis URL >> (4) Observe that applet launches successfully >> (5) system-switch-java to openjdk8 >> (6) Repeat 1-3 and observe that Oasis no longer launches due to >> SecurityExceptions from missing >> URLPermissions >> >> As a sort of proof of concept, I've attached a small patch. Applying >> this patch to HEAD and >> repeating the Oasis test procedure with Java 8 in use should allow >> Oasis to run again. This patch >> can't compile with Java 7, however, and is also probably too lenient >> about the URLPermission it's >> granting, which allows any request method with any headers to any >> resource recursively and >> inclusively in the applet codebase. So the second point of discussion >> for this thread is how to >> resolve actually adding this permission to the default sandbox >> permission set. >> >> [0] http://docs.oracle.com/javase/8/docs/api/java/net/URLPermission.html >> [1] https://oasisweb.uga.edu/oasis.html > > > Jsut implementation note - does it have sense to have itw compiled by > 7, running on 8? I would say it have sense. Then reflection will have > to come to word:( > If it do not have sense, we can use same trick as for jdk7 trust manager. > > > > Thanx again, > J. > If we go with reflection then we should be a little extra careful about it. SecurityDesc#getSandboxPermissions gets called *a lot*. Add a print statement and run Oasis and see how many times it comes up. We should at least avoid having to do the class lookup on each call, unless we trust that on every JVM the class lookup will be cached by the classloader (probably not a safe bet). I can't say I have a well informed opinion about using reflection vs the Trust Manager Trick though. Thanks, -- Andrew A From jvanek at redhat.com Wed Jun 18 15:56:03 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 18 Jun 2014 17:56:03 +0200 Subject: [icedtea-web] URLPermission in Java 8 In-Reply-To: <53A1B5EB.7040706@redhat.com> References: <53A19C36.5060506@redhat.com> <53A1A96E.4070702@redhat.com> <53A1B5EB.7040706@redhat.com> Message-ID: <53A1B693.6010806@redhat.com> On 06/18/2014 05:53 PM, Andrew Azores wrote: > On 06/18/2014 10:59 AM, Jiri Vanek wrote: >> On 06/18/2014 04:03 PM, Andrew Azores wrote: >>> Hi, >>> >>> There's a new permission in Java 8 known as URLPermission [0]. It's used to restrict access to, >>> well, URL resources. Some of our manual test case applets are affected by this, for example, >>> Oasis [1]. >>> >> >> Thank you very much for investigations. >> >>> I can't find any documentation on how exactly Oracle grants applets URLPermissions, eg what kind of >>> path they're allowing the applets to access, or which HTTP methods and headers they may use, etc. So >>> determining sane defaults on these is the primary point of discussion for this thread. We could just >>> try to ask Oracle what they're granting as well and mirror that. >> >> The Oracle NEVER EVER responded to any of my emails about unclear specification. I even twice >> tried "directly to person" email, and no reply. So I would gave up here. But you may have more >> luck :) > > Yea, I remember this :/ it's probably worth trying again but not expecting a response. > >> >> I would say to grant all URL permissions and be happy. W can not afford more "proprietary plugin >> is running this applet , why is ITW not ?" And perhaps restrict it later if needed. > > Well, I don't want to let it be too relaxed to begin with, because that just leaves openings for > applets to do things we probably don't want them to do. Well signed applet can do anything it wont anyway. And unsigned applet is restricted to use network by its nature of "sandboxed one", isnt it? > >> >>> >>> To confirm that Oasis is impacted by this new permission: >>> (1) (using openjdk7) Build IcedTea-Web. >>> (2) Launch browser from terminal >>> (3) Go to Oasis URL >>> (4) Observe that applet launches successfully >>> (5) system-switch-java to openjdk8 >>> (6) Repeat 1-3 and observe that Oasis no longer launches due to SecurityExceptions from missing >>> URLPermissions >>> >>> As a sort of proof of concept, I've attached a small patch. Applying this patch to HEAD and >>> repeating the Oasis test procedure with Java 8 in use should allow Oasis to run again. This patch >>> can't compile with Java 7, however, and is also probably too lenient about the URLPermission it's >>> granting, which allows any request method with any headers to any resource recursively and >>> inclusively in the applet codebase. So the second point of discussion for this thread is how to >>> resolve actually adding this permission to the default sandbox permission set. >>> >>> [0] http://docs.oracle.com/javase/8/docs/api/java/net/URLPermission.html >>> [1] https://oasisweb.uga.edu/oasis.html >> >> >> Jsut implementation note - does it have sense to have itw compiled by 7, running on 8? I would say >> it have sense. Then reflection will have to come to word:( >> If it do not have sense, we can use same trick as for jdk7 trust manager. >> >> >> >> Thanx again, >> J. >> > > If we go with reflection then we should be a little extra careful about it. > SecurityDesc#getSandboxPermissions gets called *a lot*. Add a print statement and run Oasis and see Thank you for bringing this up. > how many times it comes up. We should at least avoid having to do the class lookup on each call, > unless we trust that on every JVM the class lookup will be cached by the classloader (probably not a > safe bet). I can't say I have a well informed opinion about using reflection vs the Trust Manager > Trick though. Nor do I :) From jvanek at redhat.com Wed Jun 18 16:01:02 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 18 Jun 2014 18:01:02 +0200 Subject: [rfc][icedtea-web] Fix support for signed applets with sandbox permissions in manifest In-Reply-To: <5384BC13.5010708@redhat.com> References: <5384BC13.5010708@redhat.com> Message-ID: <53A1B7BE.9020308@redhat.com> On 05/27/2014 06:23 PM, Andrew Azores wrote: > Hi, > > This patch allows signed applets with sandbox permissions specified in their manifests to actually How it is dealing with mixed (signed + unsigned code) apps? > be run sandboxed. This is in contrast to the current behaviour where such applets will fail to > launch, and the failure message presented asks the user to try launching via the Sandbox button next > time. This was because the dialog which presented the Sandbox button appeared very early in the > JNLPClassLoader's life cycle - early enough that no security settings had yet been set for the > classloader or any of the applet's JAR locations - whereas the manifest checks were done later, > after these settings would have already been initialized. Fixing the issue was not as simple as > doing the manifest checks before presenting the security dialog because the dialog was presented > part way through the initialization process, where JARs are being downloaded and checked for > signing, so that the appropriate security dialog could be shown to the user. Putting the manifest > checks first would therefore not work properly because the JARs were not yet available. This patch > resolves the issue by moving the manifest checks inside the method which initializes the relevant > security settings, such that the required resources are available, it is known what type of applet > is about to be run, but the security settings for the JAR locations have not yet been initialized > and the applet can thus still be set to run sandboxed safely. > > Additionally, the ManifestAttributesChecker check for the Permissions attribute is no longer skipped > when Extended Applet Security is set to the Low level, since this allows for signed applets with > Sandbox permissions specified in their manifests to run with full permissions when Low security is set. > Well this concept I do not like. Imho the correct approach is to check the attributes, but do not take any actions (except print warnings eg "normally I would fail because of..,but low security is on". With exception on sandbox attribute - here probably warning (strong one) requesting users attention. What do you think? - Well this dialogue would be good place for run in sandbox button too :) Otherwise the only way how to disable manifest check willbe the deployment property which I added. is your patch honoring this variable? - http://icedtea.classpath.org/hg/release/icedtea-web-1.5/rev/80e5f17e3bbc > All existing reproducers have been run with this patch applied and there appears to be no effect. > Manual tests from the wiki have also been run and no failures noted. Two new applets, reported in > PR1767 [0], have been added as test cases to the wiki. These fail without the patch and pass with > it. A reproducer is also included, however, the ALACA dialog will appear, which means manual > intervention is required to run this test as well. The test is marked KnownToFail and this issue > documented with the test case. This cannot be worked around by disabling manifest attributes > checking since this would render the test meaningless as the Permissions manifest attribute would > then not be run to force sandboxing. > > ChangeLog: > > 2014-05-27 Andrew Azores > > Fixed support for signed applets which specify the Permissions attribute > as "sandbox" in their manifests. These applets are now properly run > sandboxed automatically, rather than requiring the user to click the > "Sandbox" run button. > * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > (JNLPClassLoader): manifest attributes checking and security settings > moved inside initializeResources > (initializeResources): do not set entries in jarLocationSecurityMap until > after prompting the user on whether to run the applet as well as > performing manifest attribute checks > (initializeManifestAttributesChecker): new method > (getJnlpFileCodebase): new method, extracted from initializeResources > (SecurityDelegateImpl.setRunInSandbox): throw exception if already forced > to run in sandbox, rather than if already prompted > * netx/net/sourceforge/jnlp/runtime/ManifestAttributesChecker.java > (checkPermissionsAttribute): do not skip checking if Extended Applet > Security is Low. Remove try/catch on setRunInSandbox call as this is now > supported. > * > tests/reproducers/custom/SignedAppletManifestSpecifiesSandbox/testcases/SignedAppletManifestSpecifiesSandboxTests.java: > > new test case > * > tests/reproducers/custom/SignedAppletManifestSpecifiesSandbox/resources/SignedAppletManifestSpecifiesSandbox.html: > > same > * tests/reproducers/custom/SignedAppletManifestSpecifiesSandbox/srcs/MANIFEST.MF: > same > * tests/reproducers/custom/SignedAppletManifestSpecifiesSandbox/srcs/Makefile: > same > * > tests/reproducers/custom/SignedAppletManifestSpecifiesSandbox/srcs/SignedAppletManifestSpecifiesSandbox.java: > > same > > > [0] http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1767 > > Thanks, > > -- > Andrew A > > > pr1769-4.patch > > > diff --git a/ChangeLog b/ChangeLog > --- a/ChangeLog > +++ b/ChangeLog > @@ -1,3 +1,34 @@ > +2014-05-27 Andrew Azores > + > + Fixed support for signed applets which specify the Permissions attribute > + as "sandbox" in their manifests. These applets are now properly run > + sandboxed automatically, rather than requiring the user to click the > + "Sandbox" run button. > + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > + (JNLPClassLoader): manifest attributes checking and security settings > + moved inside initializeResources > + (initializeResources): do not set entries in jarLocationSecurityMap until > + after prompting the user on whether to run the applet as well as > + performing manifest attribute checks > + (initializeManifestAttributesChecker): new method > + (getJnlpFileCodebase): new method, extracted from initializeResources > + (SecurityDelegateImpl.setRunInSandbox): throw exception if already forced > + to run in sandbox, rather than if already prompted > + * netx/net/sourceforge/jnlp/runtime/ManifestAttributesChecker.java > + (checkPermissionsAttribute): do not skip checking if Extended Applet > + Security is Low. Remove try/catch on setRunInSandbox call as this is now > + supported. > + * tests/reproducers/custom/SignedAppletManifestSpecifiesSandbox/testcases/SignedAppletManifestSpecifiesSandboxTests.java: > + new test case > + * tests/reproducers/custom/SignedAppletManifestSpecifiesSandbox/resources/SignedAppletManifestSpecifiesSandbox.html: > + same > + * tests/reproducers/custom/SignedAppletManifestSpecifiesSandbox/srcs/MANIFEST.MF: > + same > + * tests/reproducers/custom/SignedAppletManifestSpecifiesSandbox/srcs/Makefile: > + same > + * tests/reproducers/custom/SignedAppletManifestSpecifiesSandbox/srcs/SignedAppletManifestSpecifiesSandbox.java: > + same > + > 2014-05-23 Jiri Vanek > > Fixed cache tests > diff --git a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > @@ -223,6 +223,8 @@ public class JNLPClassLoader extends URL > > private final SecurityDelegate securityDelegate; > > + private ManifestAttributesChecker mac; > + > /** > * Create a new JNLPClassLoader from the specified file. > * > @@ -275,18 +277,10 @@ public class JNLPClassLoader extends URL > initializeExtensions(); > > initializeResources(); > - > - //loading mainfests before resources are initialised may cause waiting for resources > - file.getManifestsAttributes().setLoader(this); > > // initialize permissions > initializePermissions(); > > - setSecurity(); I'm wondering, setSecurity moved, but setPermissions remained? > - > - ManifestAttributesChecker mac = new ManifestAttributesChecker(security, file, signing, securityDelegate); > - mac.checkAll(); > - > installShutdownHooks(); > > > @@ -592,14 +586,12 @@ public class JNLPClassLoader extends URL > //Check if main jar is found within extensions > foundMainJar = foundMainJar || hasMainInExtensions(); > > + setSecurity(); > + initializeManifestAttributesChecker(); > + mac.checkAll(); > return; > } > - /* > - if (jars == null || jars.length == 0) { > - throw new LaunchException(null, null, R("LSFatal"), > - R("LCInit"), R("LFatalVerification"), "No jars!"); > - } > - */ This should probably cam in as separate changset. Hmm.. When it was commented Out actually? :) > + > List initialJars = new ArrayList(); > > for (JARDesc jar : jars) { > @@ -711,7 +703,9 @@ public class JNLPClassLoader extends URL > signing = SigningState.NONE; > } > } > - > + setSecurity(); > + > + final Set validJars = new HashSet<>(); > boolean containsSignedJar = false, containsUnsignedJar = false; > for (JARDesc jarDesc : file.getResources().getJARs()) { > File cachedFile; > @@ -729,14 +723,8 @@ public class JNLPClassLoader extends URL > continue; // JAR not found. Keep going. > } > > - final URL codebase; > - if (file.getCodeBase() != null) { > - codebase = file.getCodeBase(); > - } else { > - // FIXME: codebase should be the codebase of the Main Jar not > - // the location. Although, it still works in the current state. > - codebase = file.getResources().getMainJAR().getLocation(); > - } > + validJars.add(jarDesc); > + final URL codebase = getJnlpFileCodebase(); > > final SecurityDesc jarSecurity = securityDelegate.getCodebaseSecurityDesc(jarDesc, codebase.getHost()); > if (jarSecurity.getSecurityType().equals(SecurityDesc.SANDBOX_PERMISSIONS)) { > @@ -745,15 +733,45 @@ public class JNLPClassLoader extends URL > containsSignedJar = true; > } > > - jarLocationSecurityMap.put(jarDesc.getLocation(), jarSecurity); > + if (containsUnsignedJar && containsSignedJar) { > + break; > + } > } > > if (containsSignedJar && containsUnsignedJar) { > checkPartialSigningWithUser(); > } > > + initializeManifestAttributesChecker(); > + mac.checkAll(); > + > + for (JARDesc jarDesc : validJars) { There I'm missing something. Why is this secoond field even needed? In any case, please mention it in changelog. > + final URL codebase = getJnlpFileCodebase(); > + final SecurityDesc jarSecurity = securityDelegate.getCodebaseSecurityDesc(jarDesc, codebase.getHost()); > + jarLocationSecurityMap.put(jarDesc.getLocation(), jarSecurity); > + } > + > activateJars(initialJars); > } > + > + private void initializeManifestAttributesChecker() throws LaunchException { > + if (mac == null) { > + file.getManifestsAttributes().setLoader(this); > + mac = new ManifestAttributesChecker(security, file, signing, securityDelegate); > + } > + } > + > + private URL getJnlpFileCodebase() { > + final URL codebase; > + if (file.getCodeBase() != null) { > + codebase = file.getCodeBase(); > + } else { > + // FIXME: codebase should be the codebase of the Main Jar not > + // the location. Although, it still works in the current state. > + codebase = file.getResources().getMainJAR().getLocation(); > + } > + return codebase; > + } > > /*** > * Checks for the jar that contains the attribute. > @@ -762,13 +780,12 @@ public class JNLPClassLoader extends URL > * @param name attribute to be found > */ > public String checkForAttributeInJars(List jars, Attributes.Name name) { > - > if (jars.isEmpty()) { > return null; > } > > String result = null; > - > + > // Check main jar > JARDesc mainJarDesc = ResourcesDesc.getMainJAR(jars); > result = getManifestAttribute(mainJarDesc.getLocation(), name); > @@ -776,7 +793,7 @@ public class JNLPClassLoader extends URL > if (result != null) { > return result; > } > - > + > // Check first jar > JARDesc firstJarDesc = jars.get(0); > result = getManifestAttribute(firstJarDesc.getLocation(),name); > @@ -2380,12 +2397,15 @@ public class JNLPClassLoader extends URL > } > > public void setRunInSandbox() throws LaunchException { > - if (promptedForSandbox || classLoader.security != null > - || classLoader.jarLocationSecurityMap.size() != 0) { > + if (runInSandbox && classLoader.security != null > + && classLoader.jarLocationSecurityMap.size() != 0) { Why have this condition changed in thisway? I would expect promptedForSandbox || runInSandbox || classLoader.security != null && ... > throw new LaunchException(classLoader.file, null, R("LSFatal"), R("LCInit"), R("LRunInSandboxError"), R("LRunInSandboxErrorInfo")); > } > > - JNLPRuntime.reloadPolicy(); // ensure that we have the most up-to-date custom policy loaded > + // ensure that we have the most up-to-date custom policy loaded since the user may have just launched PolicyEditor > + // to create a custom policy for the applet they are about to run > + JNLPRuntime.reloadPolicy(); > + can go in with the removal of the coment above > this.promptedForSandbox = true; > this.runInSandbox = true; > } > diff --git a/netx/net/sourceforge/jnlp/runtime/ManifestAttributesChecker.java b/netx/net/sourceforge/jnlp/runtime/ManifestAttributesChecker.java > --- a/netx/net/sourceforge/jnlp/runtime/ManifestAttributesChecker.java > +++ b/netx/net/sourceforge/jnlp/runtime/ManifestAttributesChecker.java > @@ -178,15 +178,19 @@ public class ManifestAttributesChecker { > *http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/manifest.html#permissions > */ > private void checkPermissionsAttribute() throws LaunchException { > - final ManifestBoolean sandboxForced = file.getManifestsAttributes().isSandboxForced(); > - final AppletSecurityLevel itwSecurityLevel = AppletStartupSecuritySettings.getInstance().getSecurityLevel(); > - if (itwSecurityLevel == AppletSecurityLevel.ALLOW_UNSIGNED || securityDelegate.getRunInSandbox()) { > - OutputController.getLogger().log(OutputController.Level.WARNING_ALL, "Although 'permissions' attribute of this application is '" + file.getManifestsAttributes().permissionsToString() > - + "' Your Extended applets security is at 'low', or you have specifically chosen to run the applet Sandboxed. Continuing"); > + if (securityDelegate.getRunInSandbox()) { > + OutputController.getLogger().log(OutputController.Level.WARNING_ALL, "The 'Permissions' attribute of this application is '" + file.getManifestsAttributes().permissionsToString() > + + "'. You have chosen the Sandbox run option, which overrides the Permissions manifest attribute."); > return; > } > > + final ManifestBoolean sandboxForced = file.getManifestsAttributes().isSandboxForced(); > + // If the attribute is not specified in the manifest, prompt the user. Oracle's spec says that the > + // attribute is required, but this breaks a lot of existing applets. Therefore, when on the highest > + // security level, we refuse to run these applets. On the standard security level, we ask. And on the > + // lowest security level, we simply proceed without asking. I like this ;) > if (sandboxForced == ManifestBoolean.UNDEFINED) { > + final AppletSecurityLevel itwSecurityLevel = AppletStartupSecuritySettings.getInstance().getSecurityLevel(); > if (itwSecurityLevel == AppletSecurityLevel.DENY_UNSIGNED) { > throw new LaunchException("Your Extended applets security is at 'Very high', and this application is missing the 'permissions' attribute in manifest. This is fatal"); > } > @@ -196,9 +200,9 @@ public class ManifestAttributesChecker { > throw new LaunchException("Your Extended applets security is at 'high' and this application is missing the 'permissions' attribute in manifest. And you have refused to run it."); > } else { > OutputController.getLogger().log("Your Extended applets security is at 'high' and this application is missing the 'permissions' attribute in manifest. And you have allowed to run it."); > - return; > } > } > + return; > } > > final RequestedPermissionLevel requestedPermissions = file.getRequestedPermissionLevel(); > @@ -206,15 +210,7 @@ public class ManifestAttributesChecker { > if (file instanceof PluginBridge) { // HTML applet > if (isNoneOrDefault(requestedPermissions)) { > if (sandboxForced == ManifestBoolean.TRUE && signing != SigningState.NONE) { > - //http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/manifest.html#permissions > - // FIXME: attempting to follow the spec, but it is too late now to actually set the applet > - // to run in sandbox. If we do this the applet will not be run at all, rather than run sandboxed! > - try { > - securityDelegate.setRunInSandbox(); > - } catch (final LaunchException e) { > - OutputController.getLogger().log(e); > - throw new LaunchException("The applet is signed but its manifest specifies Sandbox permissions. This is not yet supported. Try running the applet again, but choose the Sandbox run option.", e); > - } > + securityDelegate.setRunInSandbox(); > } > } > } else { // JNLP > > diff --git a/tests/reproducers/custom/SignedAppletManifestSpecifiesSandbox/srcs/MANIFEST.MF b/tests/reproducers/custom/SignedAppletManifestSpecifiesSandbox/srcs/MANIFEST.MF new file mode 100644 --- /dev/null +++ b/tests/reproducers/custom/SignedAppletManifestSpecifiesSandbox/srcs/MANIFEST.MF @@ -0,0 +1,2 @@ +Main-Class: SignedAppletManifestSpecifiesSandbox +Permissions: sandbox Do we have/need also one with Permissions: all-permissions ? I recall there is something... diff --git a/tests/reproducers/custom/SignedAppletManifestSpecifiesSandbox/srcs/Makefile b/tests/reproducers/custom/SignedAppletManifestSpecifiesSandbox/srcs/Makefile new file mode 100644 --- /dev/null +++ b/tests/reproducers/custom/SignedAppletManifestSpecifiesSandbox/srcs/Makefile @@ -0,0 +1,34 @@ +TESTNAME=SignedAppletManifestSpecifiesSandbox + +SRC_FILES=SignedAppletManifestSpecifiesSandbox.java +ENTRYPOINT_CLASSES=SignedAppletManifestSpecifiesSandbox + +JAVAC_CLASSPATH=$(TEST_EXTENSIONS_DIR):$(NETX_DIR)/lib/classes.jar +JAVAC=$(BOOT_DIR)/bin/javac +JAR=$(BOOT_DIR)/bin/jar +JARSIGNER=$(BOOT_DIR)/bin/jarsigner +JARSIGNER_CMD=$(JARSIGNER) -keystore $(TOP_BUILD_DIR)/$(PRIVATE_KEYSTORE_NAME) -storepass $(PRIVATE_KEYSTORE_PASS) -keypass $(PRIVATE_KEYSTORE_PASS) + +TMPDIR:=$(shell mktemp -d) + +prepare-reproducer: + echo PREPARING REPRODUCER $(TESTNAME) + + $(JAVAC) -d $(TMPDIR) -classpath $(JAVAC_CLASSPATH) $(SRC_FILES); \ + cp MANIFEST.MF $(TMPDIR) ; \ + + cp ../resources/* $(REPRODUCERS_TESTS_SERVER_DEPLOYDIR); \ + + cd $(TMPDIR); \ + $(JAR) cfm SignedAppletManifestSpecifiesSandbox.jar MANIFEST.MF SignedAppletManifestSpecifiesSandbox.class ; \ + cd -; \ + + $(JARSIGNER_CMD) -sigfile Alpha $(TMPDIR)/SignedAppletManifestSpecifiesSandbox.jar $(TEST_CERT_ALIAS)_signed; \ + + cp $(TMPDIR)/SignedAppletManifestSpecifiesSandbox.jar $(REPRODUCERS_TESTS_SERVER_DEPLOYDIR); \ + + echo PREPARED REPRODUCER $(TESTNAME), removing $(TMPDIR); \ + rm -rf $(TMPDIR); \ + +clean-reproducer: + echo NOTHING TO CLEAN FOR $(TESTNAME) Why do you need custom reproducers? The manifest is handled by engine diff --git a/tests/reproducers/custom/SignedAppletManifestSpecifiesSandbox/srcs/SignedAppletManifestSpecifiesSandbox.java b/tests/reproducers/custom/SignedAppletManifestSpecifiesSandbox/srcs/SignedAppletManifestSpecifiesSandbox.java new file mode 100644 --- /dev/null +++ b/tests/reproducers/custom/SignedAppletManifestSpecifiesSandbox/srcs/SignedAppletManifestSpecifiesSandbox.java @@ -0,0 +1,58 @@ +/* SignedAppletManifestSpecifiesSandbox.java +Copyright (C) 2014 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.applet.Applet; + +public class SignedAppletManifestSpecifiesSandbox extends Applet { + + @Override + public void init() { + System.out.println("SignedAppletManifestSpecifiesSandbox applet starting"); + System.out.println("Reading user.home: " + getProp("user.home")); + System.out.println("*** APPLET FINISHED ***"); + } + + private static String getProp(final String key) { + try { + return System.getProperty(key); + } catch (final SecurityException se) { + se.printStackTrace(); + return "SECURITY EXCEPTION"; + } + } + +} diff --git a/tests/reproducers/custom/SignedAppletManifestSpecifiesSandbox/testcases/SignedAppletManifestSpecifiesSandboxTests.java b/tests/reproducers/custom/SignedAppletManifestSpecifiesSandbox/testcases/SignedAppletManifestSpecifiesSandboxTests.java new file mode 100644 --- /dev/null +++ b/tests/reproducers/custom/SignedAppletManifestSpecifiesSandbox/testcases/SignedAppletManifestSpecifiesSandboxTests.java @@ -0,0 +1,77 @@ +/* SignedAppletManifestSpecifiesSandboxTests.java +Copyright (C) 2014 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 net.sourceforge.jnlp.ProcessResult; +import net.sourceforge.jnlp.ServerAccess; +import net.sourceforge.jnlp.ServerAccess.AutoClose; +import net.sourceforge.jnlp.annotations.Bug; +import net.sourceforge.jnlp.annotations.KnownToFail; +import net.sourceforge.jnlp.annotations.NeedsDisplay; +import net.sourceforge.jnlp.annotations.TestInBrowsers; +import net.sourceforge.jnlp.browsertesting.BrowserTest; +import net.sourceforge.jnlp.browsertesting.Browsers; +import net.sourceforge.jnlp.closinglisteners.AutoOkClosingListener; + +import org.junit.Test; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +public class SignedAppletManifestSpecifiesSandboxTests extends BrowserTest { + + private static final String STARTING_STRING = "SignedAppletManifestSpecifiesSandbox applet starting"; + private static final String CLOSE_STRING = AutoOkClosingListener.MAGICAL_OK_CLOSING_STRING; + private static final String EXPECTED_STDOUT_PRINT = "SECURITY EXCEPTION"; + private static final String STACKTRACE_EX_TYPE = "AccessControlException"; + + /* + * As of the writing of this test, it fails due to the ALACA dialog appearing during its run, which + * means manual intervention is required for this test's applet to run. + */ + @KnownToFail + @Test + @NeedsDisplay + @TestInBrowsers(testIn={Browsers.one}) + @Bug(id="PR1769") + public void testSignedAppletWithSandboxPermissionsInManifestLaunch() throws Exception { + final ProcessResult pr = server.executeBrowser("SignedAppletManifestSpecifiesSandbox.html", new AutoOkClosingListener(), null); + assertTrue("Applet should have initialized", pr.stdout.contains(STARTING_STRING)); + assertTrue("Applet should have printed SECURITY EXCEPTION", pr.stdout.contains(EXPECTED_STDOUT_PRINT)); + assertTrue("Applet should have produced an AccessControlException stacktrace", pr.stderr.contains(STACKTRACE_EX_TYPE)); + assertTrue("Applet should have printed its exit string", pr.stdout.contains(CLOSE_STRING)); + } +} As this test is already known to fail, it can go (after manifest is resolved) in as independent changeset. Thankyou very much for this! J. From omajid at redhat.com Wed Jun 18 16:04:35 2014 From: omajid at redhat.com (Omair Majid) Date: Wed, 18 Jun 2014 12:04:35 -0400 Subject: [icedtea-web] URLPermission in Java 8 In-Reply-To: <53A19C36.5060506@redhat.com> References: <53A19C36.5060506@redhat.com> Message-ID: <20140618160434.GE17307@redhat.com> * Andrew Azores [2014-06-18 10:04]: > As a sort of proof of concept, I've attached a small patch. Applying this > patch to HEAD and repeating the Oasis test procedure with Java 8 in use > should allow Oasis to run again. > I can't find any documentation on how exactly Oracle grants applets > URLPermissions, eg what kind of path they're allowing the applets to access, > or which HTTP methods and headers they may use, etc. So determining sane > defaults on these is the primary point of discussion for this thread. We > could just try to ask Oracle what they're granting as well and mirror that. After reading the JEP [0] and the javadoc [1], the patch makes sense. As long as it is not less restrictive than the SocketPermissions, I think it's fine. > This patch can't compile with Java 7 I guess the question to ask is, do you want something built with Java 7 to just work on Java 7? Or do you want the same build to work with both Java 7 and 8? If it's the first, then a compile-time switch to optionally compile a 8-specific class that handles this responsibility seems appropriate. This is what we did for the X509TrustManager with 6/7 support. If you want the second option, then you probably have to use reflection to work around the issue. > is also probably too lenient about the URLPermission it's > granting, which allows any request method with any headers to any resource > recursively and inclusively in the applet codebase. Isn't that expected? Thanks, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From omajid at redhat.com Wed Jun 18 16:17:04 2014 From: omajid at redhat.com (Omair Majid) Date: Wed, 18 Jun 2014 12:17:04 -0400 Subject: [icedtea-web] URLPermission in Java 8 In-Reply-To: <53A1B5EB.7040706@redhat.com> References: <53A19C36.5060506@redhat.com> <53A1A96E.4070702@redhat.com> <53A1B5EB.7040706@redhat.com> Message-ID: <20140618161703.GF17307@redhat.com> * Andrew Azores [2014-06-18 11:56]: > If we go with reflection then we should be a little extra careful about it. > SecurityDesc#getSandboxPermissions gets called *a lot*. Then this isn't the code path to add this code. The classloader that creates a class gets to add a set of security permissions to that class. This is done once, when the class is created. If you can add the code there, then we should only pay the reflection cost once for each class. Thanks, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From aazores at redhat.com Wed Jun 18 16:54:21 2014 From: aazores at redhat.com (Andrew Azores) Date: Wed, 18 Jun 2014 12:54:21 -0400 Subject: [icedtea-web] URLPermission in Java 8 In-Reply-To: <20140618160434.GE17307@redhat.com> References: <53A19C36.5060506@redhat.com> <20140618160434.GE17307@redhat.com> Message-ID: <53A1C43D.6080903@redhat.com> On 06/18/2014 12:04 PM, Omair Majid wrote: > * Andrew Azores [2014-06-18 10:04]: >> As a sort of proof of concept, I've attached a small patch. Applying this >> patch to HEAD and repeating the Oasis test procedure with Java 8 in use >> should allow Oasis to run again. > >> I can't find any documentation on how exactly Oracle grants applets >> URLPermissions, eg what kind of path they're allowing the applets to access, >> or which HTTP methods and headers they may use, etc. So determining sane >> defaults on these is the primary point of discussion for this thread. We >> could just try to ask Oracle what they're granting as well and mirror that. > > After reading the JEP [0] and the javadoc [1], the patch makes sense. As > long as it is not less restrictive than the SocketPermissions, I think > it's fine. > >> This patch can't compile with Java 7 > > I guess the question to ask is, do you want something built with Java 7 > to just work on Java 7? Or do you want the same build to work with both > Java 7 and 8? > > If it's the first, then a compile-time switch to optionally compile a > 8-specific class that handles this responsibility seems appropriate. > This is what we did for the X509TrustManager with 6/7 support. If you > want the second option, then you probably have to use reflection to work > around the issue. Right, this is something I have no informed opinion on. > >> is also probably too lenient about the URLPermission it's >> granting, which allows any request method with any headers to any resource >> recursively and inclusively in the applet codebase. > > Isn't that expected? I don't know. That's the first thing I think we need to figure out. The actual result does indeed match exactly what I intended and expected for it to do, but I don't know if this is actually the right thing to do. > > > Thanks, > Omair > Thanks, -- Andrew Azores From aazores at redhat.com Wed Jun 18 16:55:36 2014 From: aazores at redhat.com (Andrew Azores) Date: Wed, 18 Jun 2014 12:55:36 -0400 Subject: [icedtea-web] URLPermission in Java 8 In-Reply-To: <20140618161703.GF17307@redhat.com> References: <53A19C36.5060506@redhat.com> <53A1A96E.4070702@redhat.com> <53A1B5EB.7040706@redhat.com> <20140618161703.GF17307@redhat.com> Message-ID: <53A1C488.20002@redhat.com> On 06/18/2014 12:17 PM, Omair Majid wrote: > * Andrew Azores [2014-06-18 11:56]: >> If we go with reflection then we should be a little extra careful about it. >> SecurityDesc#getSandboxPermissions gets called *a lot*. > > Then this isn't the code path to add this code. > > The classloader that creates a class gets to add a set of security > permissions to that class. This is done once, when the class is > created. If you can add the code there, then we should only pay the > reflection cost once for each class. > > Thanks, > Omair > Do we really want to exclude this permission from the reported set of permissions in the applet's SecurityDesc? Because setting it directly in the ClassLoader instead means that further attempts to determine the sandbox set applied to the applet will be incomplete if done through SecurityDesc, which doesn't sound good to me. Thanks, -- Andrew Azores From omajid at redhat.com Wed Jun 18 16:59:18 2014 From: omajid at redhat.com (Omair Majid) Date: Wed, 18 Jun 2014 12:59:18 -0400 Subject: [icedtea-web] URLPermission in Java 8 In-Reply-To: <53A1C488.20002@redhat.com> References: <53A19C36.5060506@redhat.com> <53A1A96E.4070702@redhat.com> <53A1B5EB.7040706@redhat.com> <20140618161703.GF17307@redhat.com> <53A1C488.20002@redhat.com> Message-ID: <20140618165917.GA23062@redhat.com> * Andrew Azores [2014-06-18 12:55]: > Do we really want to exclude this permission from the reported set of > permissions in the applet's SecurityDesc? I am not sure what you mean by 'reported set'. If you mean keeping this permission separate from others, then Code-wise, it's not ideal. But this might be better for performance if we stop icedtea-web from re-computing the same permissions multiple times and only apply the static permissions once, at class creation time. > Because setting it directly in the ClassLoader instead means that > further attempts to determine the sandbox set applied to the applet > will be incomplete if done through SecurityDesc, which doesn't sound > good to me. I don't follow. What is the 'sandbox set'? Thanks, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From omajid at redhat.com Wed Jun 18 17:02:34 2014 From: omajid at redhat.com (Omair Majid) Date: Wed, 18 Jun 2014 13:02:34 -0400 Subject: [icedtea-web] URLPermission in Java 8 In-Reply-To: <53A1C43D.6080903@redhat.com> References: <53A19C36.5060506@redhat.com> <20140618160434.GE17307@redhat.com> <53A1C43D.6080903@redhat.com> Message-ID: <20140618170233.GB23062@redhat.com> * Andrew Azores [2014-06-18 12:54]: > On 06/18/2014 12:04 PM, Omair Majid wrote: > > * Andrew Azores [2014-06-18 10:04]: > > >This patch can't compile with Java 7 > > > >I guess the question to ask is, do you want something built with Java 7 > >to just work on Java 7? Or do you want the same build to work with both > >Java 7 and 8? > > > >If it's the first, then a compile-time switch to optionally compile a > >8-specific class that handles this responsibility seems appropriate. > >This is what we did for the X509TrustManager with 6/7 support. If you > >want the second option, then you probably have to use reflection to work > >around the issue. > > Right, this is something I have no informed opinion on. Jiri might know more about this. Getting one (compiled) version of Icedtea-Web to work with multiple Java versions selectable at runtime is a goal for future (next?) release. > >>is also probably too lenient about the URLPermission it's > >>granting, which allows any request method with any headers to any resource > >>recursively and inclusively in the applet codebase. > > > >Isn't that expected? > > I don't know. That's the first thing I think we need to figure out. The > actual result does indeed match exactly what I intended and expected for it > to do, but I don't know if this is actually the right thing to do. I think we should follow the Same Origin Policy [1][2][3] model used by browsers and not be more restrictive unless there's a very very good reason to. Thanks, Omair [1] http://icedtea.classpath.org/wiki/IcedTea-Web#Same_Origin_Policy [2] http://en.wikipedia.org/wiki/Same-origin_policy [3] https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From aazores at redhat.com Wed Jun 18 17:06:57 2014 From: aazores at redhat.com (Andrew Azores) Date: Wed, 18 Jun 2014 13:06:57 -0400 Subject: [icedtea-web] URLPermission in Java 8 In-Reply-To: <20140618165917.GA23062@redhat.com> References: <53A19C36.5060506@redhat.com> <53A1A96E.4070702@redhat.com> <53A1B5EB.7040706@redhat.com> <20140618161703.GF17307@redhat.com> <53A1C488.20002@redhat.com> <20140618165917.GA23062@redhat.com> Message-ID: <53A1C731.5000102@redhat.com> On 06/18/2014 12:59 PM, Omair Majid wrote: > * Andrew Azores [2014-06-18 12:55]: >> Do we really want to exclude this permission from the reported set of >> permissions in the applet's SecurityDesc? > > I am not sure what you mean by 'reported set'. The result of SecurityDesc#getSandboxPermissions. If we add the URLPermission once, in the ClassLoader, then calling SecurityDesc#getSandboxPermissions will return a result that does not actually match the conceptual sandbox permissions set. > > If you mean keeping this permission separate from others, then > Code-wise, it's not ideal. But this might be better for performance if > we stop icedtea-web from re-computing the same permissions multiple > times and only apply the static permissions once, at class creation > time. We can also stop from having to perform a class lookup and stop from having to do any real computing by simply storing a reference to the URLPermission class and constructor, if they exist, when the SecurityDesc is created. Then the reflection cost is only paid once, too, but the permission lives in IMO the correct location and can also be included in the result of #getSandboxPermissions. > >> Because setting it directly in the ClassLoader instead means that >> further attempts to determine the sandbox set applied to the applet >> will be incomplete if done through SecurityDesc, which doesn't sound >> good to me. > > I don't follow. What is the 'sandbox set'? The default set of permissions granted to all applets, even sandboxed ones. > > Thanks, > Omair > Thanks, -- Andrew Azores From omajid at redhat.com Wed Jun 18 17:23:32 2014 From: omajid at redhat.com (Omair Majid) Date: Wed, 18 Jun 2014 13:23:32 -0400 Subject: [icedtea-web] URLPermission in Java 8 In-Reply-To: <53A1C731.5000102@redhat.com> References: <53A19C36.5060506@redhat.com> <53A1A96E.4070702@redhat.com> <53A1B5EB.7040706@redhat.com> <20140618161703.GF17307@redhat.com> <53A1C488.20002@redhat.com> <20140618165917.GA23062@redhat.com> <53A1C731.5000102@redhat.com> Message-ID: <20140618172330.GA24607@redhat.com> * Andrew Azores [2014-06-18 13:07]: > On 06/18/2014 12:59 PM, Omair Majid wrote: > >* Andrew Azores [2014-06-18 12:55]: > >>Do we really want to exclude this permission from the reported set of > >>permissions in the applet's SecurityDesc? > > > >I am not sure what you mean by 'reported set'. > > The result of SecurityDesc#getSandboxPermissions. If we add the > URLPermission once, in the ClassLoader, then calling > SecurityDesc#getSandboxPermissions will return a result that does not > actually match the conceptual sandbox permissions set. Yes. The question is, what needs it? Can we split getSandboxPermissions into getStaticSandboxPermissions and getDynamicSandboxPermissions, for example? Where the classloader would use just the static variant of the method. > >If you mean keeping this permission separate from others, then > >Code-wise, it's not ideal. But this might be better for performance if > >we stop icedtea-web from re-computing the same permissions multiple > >times and only apply the static permissions once, at class creation > >time. > > We can also stop from having to perform a class lookup and stop from having > to do any real computing by simply storing a reference to the URLPermission > class and constructor, if they exist, when the SecurityDesc is created. Then > the reflection cost is only paid once, too, but the permission lives in IMO > the correct location and can also be included in the result of > #getSandboxPermissions. Sure, that's an option. Thanks, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From gitne at icedtea.classpath.org Wed Jun 18 17:25:44 2014 From: gitne at icedtea.classpath.org (gitne at icedtea.classpath.org) Date: Wed, 18 Jun 2014 17:25:44 +0000 Subject: /hg/icedtea-web: Added new DE localized messages Message-ID: changeset 556f21f1d95c in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=556f21f1d95c author: Jacob Wisor date: Wed Jun 18 19:22:54 2014 +0200 Added new DE localized messages diffstat: ChangeLog | 10 + netx/net/sourceforge/jnlp/resources/Messages.properties | 16 +- netx/net/sourceforge/jnlp/resources/Messages_de.properties | 300 ++++++++++++- 3 files changed, 307 insertions(+), 19 deletions(-) diffs (truncated from 553 to 500 lines): diff -r e665c266455c -r 556f21f1d95c ChangeLog --- a/ChangeLog Tue Jun 17 17:38:12 2014 -0400 +++ b/ChangeLog Wed Jun 18 19:22:54 2014 +0200 @@ -1,3 +1,13 @@ +2014-06-18 Jacob Wisor + + * netx/net/sourceforge/jnlp/resources/Messages.properties (BOredirect) + (CCannotClearCache, CFakedCache, CONSOLEClean, CVCPCleanCache) + (CVCPCleanCacheTip): Fixed language in + some messages + (COPcode): removed + * netx/net/sourceforge/jnlp/resources/Messages_de.properties: Added new DE + localized messages + 2014-06-17 Andrew Azores * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java diff -r e665c266455c -r 556f21f1d95c netx/net/sourceforge/jnlp/resources/Messages.properties --- a/netx/net/sourceforge/jnlp/resources/Messages.properties Tue Jun 17 17:38:12 2014 -0400 +++ b/netx/net/sourceforge/jnlp/resources/Messages.properties Wed Jun 18 19:22:54 2014 +0200 @@ -70,6 +70,7 @@ JAR File Manifest Attributes
\ and
\ Preventing the Repurposing of an Application + # matching Application-Library-Allowable-Codebase dialogue ALACAMatchingMainTitle=The application {0} \ from {1} uses resources from the following remote locations:
{2}
\ @@ -252,7 +253,7 @@ BOStrict = Enables strict checking of JNLP file format. BOViewer = Shows the trusted certificate viewer. BOXml = Uses a strict XML parser to parse the JNLP file. -BOredirect = Allow to follow 301, 302, 303, 307 and 308 redirections +BOredirect = Follows HTTP redirects. BXnofork = Do not create another JVM. BXclearcache= Clean the JNLP application cache. BXignoreheaders= Skip jar header verification. @@ -266,9 +267,9 @@ CChooseCache=Choose a cache directory... CChooseCacheInfo=NetX needs a location for storing cache files. CChooseCacheDir=Cache directory -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. \\\n You can clear cache by javaws -Xclearcache or via itw-settings Cache -> View files -> Clean all +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. \\\n You can clear cache by javaws -Xclearcache or via itw-settings Cache -> View files -> Purge 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. You can also use via itw-settings Cache -> View files -> Clean all +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. You can also use via itw-settings Cache -> View files -> Purge # Security SFileReadAccess=The application has requested read access to {0}. Do you want to allow this action? @@ -630,9 +631,9 @@ CONSOLEmemoryMax = Max Memory CONSOLEmemoryTotal = Total Memory CONSOLEmemoryFree = Free Memory -CONSOLEClean=Clean all +CONSOLEClean=Clear -#console output pane labels +# console output pane labels COPsortCopyAllDate=sort copy all by date COPshowHeaders=Show headers: COPuser=user @@ -668,7 +669,6 @@ COPwordWrap=word wrap COPdebug=debug COPinfo=info -COPcode=code COPpostInit=post-init COPcomplete=complete COPmatch=match @@ -736,8 +736,8 @@ CVCPDialogTitle=Cache Viewer CVCPButRefresh=Refresh CVCPButDelete=Delete -CVCPCleanCache=Clean all cache -CVCPCleanCacheTip=Some errors may be caused by old files in your cache. Before submitting the bug, you may clear cache and try to run application again. \\\n You can clear cache by javaws -Xclearcache or via itw-settings Cache -> View files -> Clean all +CVCPCleanCache=Purge +CVCPCleanCacheTip=Some errors may be caused by old files in your cache. Before submitting the bug, you may clear cache and try to run application again. \\\n You can clear cache by javaws -Xclearcache or via itw-settings Cache -> View files -> Purge CVCPColLastModified=Last Modified CVCPColSize=Size (Bytes) CVCPColDomain=Domain diff -r e665c266455c -r 556f21f1d95c netx/net/sourceforge/jnlp/resources/Messages_de.properties --- a/netx/net/sourceforge/jnlp/resources/Messages_de.properties Tue Jun 17 17:38:12 2014 -0400 +++ b/netx/net/sourceforge/jnlp/resources/Messages_de.properties Wed Jun 18 19:22:54 2014 +0200 @@ -12,15 +12,25 @@ ButOk=OK ButProceed=Fortfahren ButRun=Ausf\u00fchren +ButSandbox=Sandkasten ButApply=Anwenden ButDone=Fertig ButShowDetails=Details zeigen ButHideDetails=Details verbergen +ButYes=Ja +ButNo=Nein + +CertWarnRunTip=Diesem Applet vertrauen und mit vollen Berechtigungen ausf\u00fchren +CertWarnSandboxTip=Diesem Applet nicht vertrauen und mit eingeschr\u00e4nkten Berechtigungen ausf\u00fchren +CertWarnCancelTip=Dieses Applet nicht ausf\u00fchren +CertWarnPolicyTip=Erweiterte Sandkasten-Einstellungen +CertWarnPolicyEditorItem=Richtlinieneditor starten AFileOnTheMachine=eine Datei auf dem Rechner AlwaysAllowAction=Diese Aktion immer zulassen Usage=Gebrauch: Error=Fehler +Warning=Warnung Continue=Soll fortgefahren werden? Field=Feld @@ -40,6 +50,42 @@ AboutDialogueTabNews=Neuigkeiten AboutDialogueTabGPLv2=GPLv2 +# missing permissions dialogue +MissingPermissionsMainTitle=Der Anwendung \u201e{0}\u201c \ +mit der Codebasis \u201e{1}\u201c fehlt das Attribut \u201epermission\u201c. \ +Anwendungen ohne dieses Attribut sollte nicht vertraut werden.
\ +Soll die Ausf\u00fchrung dieser Anwendung zugelassen werden? +MissingPermissionsInfo=Um weitere Informationen zu erhalten siehe:
\ +\ +JAR File Manifest Attributes
\ +und
\ +\ +Preventing the repurposing of Applications + +# missing Application-Library-Allowable-Codebase dialogue +ALACAMissingMainTitle=Die Anwendung \u201e{0}\u201c \ +mit der Codebasis \u201e{1}\u201c l\u00e4dt die folgenden Ressourcen von einer fremden Dom\u00e4ne:
\ +{2}
\ +Soll diese Anwendung wirklich ausgef\u00fchrt werden? +ALACAMissingInfo=Um weitere Informationen zu erhalten siehe:
\ + \ +JAR File Manifest Attributes
\ +und
\ +\ +Preventing the Repurposing of an Application + +# matching Application-Library-Allowable-Codebase dialogue +ALACAMatchingMainTitle=Die Anwendung \u201e{0}\u201c \ +mit der Codebasis \u201e{1}\u201c l\u00e4dt die folgenden Ressourcen von einer fremden Dom\u00e4ne:
\ +{2}
\ +Soll diese Anwendung wirklich ausgef\u00fchrt werden? +ALACAMatchingInfo=Um weitere Informationen zu erhalten siehe:
\ +\ +JAR File Manifest Attributes
\ +und
\ +\ +Preventing the Repurposing of an Application + # LS - Severity LSMinor=Gering LSFatal=Fatal @@ -89,8 +135,12 @@ LUnsignedApplet=Das Applet war nicht signiert. LUnsignedAppletPolicyDenied=Das Applet war nicht signiert, deshalb wurde es an der Ausf\u00fchrung durch die Sicherheitsrichtlinie gehindert. LUnsignedAppletUserDenied=Das Applet war nicht signiert und nicht vertrauensw\u00fcrdig. +LPartiallySignedApplet=Das Applet wurde teilweise signiert. +LPartiallySignedAppletUserDenied=Das Applet wurde teilweise signiert und ihm wurde nicht vertraut. LSignedAppJarUsingUnsignedJar=Signierte Anwendung nutzt nicht signierte Jars. LSignedAppJarUsingUnsignedJarInfo=Das Haupt-Jar der Anwendung ist signiert, aber manche Jars, die sie nutzt sind nicht. +LRunInSandboxError=Ausf\u00fchren im Sandkasten-Aufruf wurde zu sp\u00e4t ausgef\u00fchrt. +LRunInSandboxErrorInfo=Der Klassenlader wurde benachrichtigt das Applet im Sandkasten auszuf\u00fchren, aber die Sicherheitseinstellungen waren bereits initialisiert. LSignedJNLPFileDidNotMatch=Die signierte JNLP-Datei stimmt nicht mit der startenden JNLP-Datei \u00fcberein. LNoSecInstance=Fehler: Keine Sicherheitsinstanz f\u00fcr {0}. Die Anwendung k\u00f6nnte Schwierigkeiten haben fortzufahren LCertFoundIn={0} in cacerts gefunden ({1}) @@ -145,6 +195,7 @@ # Runtime BLaunchAbout=Das Fenster \u201e\u00dcber IcedTea-Web\u201c wird ge\u00f6ffnet... +BLaunchAboutFailure=Konnte das \u201e\u00dcber\u201c-Fenster nicht starten BNeedsFile=Muss eine .jnlp Datei angeben RNoAboutJnlp=Es ist nicht m\u00f6glich about.jnlp zu finden BFileLoc=JNLP-Dateiort @@ -175,14 +226,19 @@ RNoLockDir=Kann Ausschlussverzeichnis nicht erstellen ({0}) RNestedJarExtration=Kann verschachteltes Jar nicht extrahieren. RUnexpected=Unerwartetes {0} bei {1} -RConfigurationError=Fataler Fehler beim Lesen der Konfiguration +RConfigurationError=Fataler Fehler beim Lesen der Konfiguration. Fahre fort mit leer. Bitte reparieren RConfigurationFatal=FEHLER: Ein fataler Fehler ist beim Laden der Konfiguration aufgetreten. Vielleicht war eine globale Konfiguration erforderlich, konnte jedoch nicht gefunden werden +RFailingToDefault=Versage auf Standardkonfiguration RPRoxyPacNotSupported=Die Verwendung von Autoproxykonfigurationsdateien (PAC) wird nicht unterst\u00fctzt. RProxyFirefoxNotFound=Es ist nicht m\u00f6glich Firefoxs Proxyeinstellungen zu verwenden. Nutze \u201eDIRECT\u201c als Proxytyp. RProxyFirefoxOptionNotImplemented=Browserproxyoption \u201e{0}\u201c ({1}) wird noch nicht unterst\u00fctzt. RBrowserLocationPromptTitle=Browserort RBrowserLocationPromptMessage=Bitte den Ort des Browsers angeben RBrowserLocationPromptMessageWithReason=Bitte den Ort des Browsers angeben (der Browserbefehl \u201e{0}\u201c ist ung\u00fcltig). +BAboutITW=Das IcedTea-Web Projekt bietet ein Browser Plug-in, mit dem in Java geschriebene Applets ausgef\u00fchrt werden k\u00f6nnen, als freie Software an. Urspr\u00fcnglich, basierend auf dem NetX Projekt ist es eine Implementierung der \u201eJSR56: Java Network Launching Protocol and API\u201c (JNLP) Spezifikation. Siehe auch: http://icedtea.classpath.org/wiki/IcedTea-Web.\nMit \u201eman javaws\u201c oder \u201ejavaws -help\u201c k\u00f6nnen weitere Informationen eingeholt werden. +BFileInfoAuthors=Die Namen sowie E-Mail Adressen der an diesem Projekt Mitwirkenden wurden in der im Stammverzeichnis von IcedTea-Web befindenden Datei AUTHORS hinterlegt. +BFileInfoCopying=Eine vollst\u00e4ndige Ausfertigung der GPLv2 Lizenz dieses Projekts wurde in der im Stammverzeichnis von IcedTea-Web befindenden Datei COPYING hinterlegt. +BFileInfoNews=Neuigkeiten \u00fcber die Ver\u00f6ffentlichungen dieses Projekts k\u00f6nnen der im Stammverzeichnis von IcedTea-Web befindenden Datei NEWS entnommen werden. # Boot options, message should be shorter than this ----------------> BOUsage=javaws [-Ausf\u00fchrungsoptionen] @@ -195,12 +251,14 @@ BOLicense=Die GPL Lizenz zeigen und beenden. BOVerbose=Ausf\u00fchrliche Ausgabe aktivieren. BOAbout=Zeigt eine Beispielanwendung. +BOVersion=Version von IcedTea-Web ausgeben und beenden. BONosecurity=Deaktiviert die sichere Laufzeitumgebung. BONoupdate=Deaktiviert die Pr\u00fcfung nach Aktualisierungen. BOHeadless=Deaktiviert Herunterladefenster und andere Benutzeroberfl\u00e4chen. BOStrict=Aktiviert die strikte Pr\u00fcfung des JNLP-Dateiformats. BOViewer=Zeigt die Ansicht der vertrauensw\u00fcrdigen Zertifikate. BOXml=Verwendet einen strikten XML-Parser f\u00fcr die JNLP-Datei. +BOredirect=Folgt HTTP-Umlenkungen. BXnofork=Keine weitere JVM erstellen. BXclearcache=Den JNLP-Anwendungszwischenspeicher s\u00e4ubern. BXignoreheaders=Die Pr\u00fcfung der Metadaten von Jar-Dateien auslassen. @@ -214,9 +272,9 @@ CChooseCache=Ein Zwischenspeicherverzeichnis w\u00e4hlen... CChooseCacheInfo=Netx ben\u00f6tigt einen Ort zur Ablage von Zwischenspeicherdateien. CChooseCacheDir=Zwischenspeicherverzeichnis -CCannotClearCache=Kann den Zwischenspeicher zur Zeit nicht s\u00e4ubern +CCannotClearCache=Kann den Zwischenspeicher zur Zeit nicht s\u00e4ubern, vielleicht sp\u00e4ter. Wenn das Problem bestehen bleibt, kann versucht werden den Browser und die JNLP-Anwendeungen zu schlie\u00dfen. Am Ende kann man versuchen alle Java-Anwendungen zu terminieren. \\\n Der Zwischenspeicher kann mit javaws -Xclearcache oder \u00fcber itw-settings Zwischenspeicher/Dateien anzeigen.../Leeren geleert werden. CFakeCache=Der Zwischenspeicher ist durcheinander; wird geordnet. -CFakedCache=Der Zwischenspeicher war durcheinander und wurde geordnet. Es wird strengstens empfohlen, dass \u201ejavaws -Xclearcache\u201c und anschlie\u00dfend die Anwendung ausgef\u00fchrt wird. +CFakedCache=Der Zwischenspeicher war durcheinander und wurde geordnet. Es wird strengstens empfohlen, dass \u201ejavaws -Xclearcache\u201c und anschlie\u00dfend die Anwendung ausgef\u00fchrt wird. Es kann ebenso \u00fcber itw-settings Zwischenspeicher/Dateien anzeigen.../Leeren verwendet werden. # Security SFileReadAccess=Die Anwendung hat Lesezugriff auf {0} angefordert. Soll diese Aktion zugelassen werden? @@ -249,6 +307,25 @@ SPartiallySignedQuestion=Soll fortgefahren und diese Anwendung dennoch zur Ausf\u00fchrung gebracht werden? SAuthenticationPrompt=Der Server {0} von {1} fordert Authentifizierung an. Er sagt: \u201e{2}\u201c SJNLPFileIsNotSigned=Die Anwendung enth\u00e4lt eine digitale Signatur in der, die startende JNLP-Datei nicht signiert ist. +SAppletTitle=Applettitel: {0} +STrustedOnlyAttributeFailure=Diese Anwendung gibt true f\u00fcr Trusted-only in ihrem Manifest an. {0} und fordert Berechtigungsstufe: {1}. Dies ist nicht erlaubt. +STOAsignedMsgFully=Das Applet ist vollst\u00e4ndig signiert +STOAsignedMsgAndSandbox=Das Applet ist vollst\u00e4ndig signiert und im Sandkasten +STOAsignedMsgPartiall=Das Applet ist nicht vollst\u00e4ndig signiert +STempPermNoFile=Kein Dateizugriff +STempPermNoNetwork=Kein Netzwerkzugriff +STempPermNoExec=Keine Ausf\u00fchrung von Befehlen +STempNoFileOrNetwork=Kein Datei- oder Netzwerkzugriff +STempNoExecOrNetwork=Kein Netzwerkzugriff oder Ausf\u00fchrung von Befehlen +STempNoFileOrExec=Kein Dateizugriff oder Ausf\u00fchrung von Befehlen +STempNoFileOrNetworkOrExec=Kein Dateizugriff, Netzwerkzugriff oder Ausf\u00fchrung von Befehlen +STempAllMedia=Alle Medien +STempSoundOnly=Klang abspielen +STempClipboardOnly=Zugriff auf die Zwischenablage +STempPrintOnly=Dokumentdruck +STempAllFileAndPropertyAccess=Voller Zugriff auf Dateien und Eigenschaften +STempReadLocalFilesAndProperties=Lokale Dateien und Eigenschaften ausschlie\u00dflich lesen +STempReflectionOnly=Ausschlie\u00dflich Java-Introspektion # Security - used for the More Information dialog SBadKeyUsage=Ressourcen enthalten Eintr\u00e4ge, deren Signaturzertifikaterweiterung KeyUsage die Codesignatur nicht zul\u00e4sst. @@ -303,6 +380,9 @@ DCInternal=Interner Fehler: {0} DCSourceInternal= DCUnknownSettingWithName=Die Eigenschaft \u201e{0}\u201c ist unbekannt. +DCmaindircheckNotexists=Nach allen Versuchen, das Benutzerkonfigurationsverzeichnis \u201e{0}\u201c existiert nicht. +DCmaindircheckNotdir=Das Benutzerkonfigurationsverzeichnis \u201e{0}\u201c ist kein Verzeichnis. +DCmaindircheckRwproblem=Schreib- oder Lesefehler beim Zugriff auf das Benutzerkonfigurationsverzeichnis \u201e{0}\u201c. # Value Validator messages. Messages should follow "Possible values ..." VVPossibleValues=M\u00f6gliche Werte {0} @@ -349,7 +429,7 @@ CPJVMNotokMessage2=M\u00f6gliche Gr\u00fcnde f\u00fcr diese Meldung sind:
* Einige Pr\u00fcftests wurden nicht bestanden
* Es wurde kein OpenJDK erkannt
Wegen eines ungeeigneten JDKs wird IcedTea-Web wahrscheinlich nicht starten k\u00f6nnen.
Die Eigenschaft {0} in der Konfigurationsdatei {1} m\u00fcsste angepasst oder entfernt werden.
Es wird empfohlen nach OpenJDK auf diesem System zu suchen. CPJVMconfirmInvalidJdkTitle=Ungeeignetes JDK CPJVMconfirmReset=Auf Standard zur\u00fccksetzen? -CPPolicyDetail=Die Java-Richtliniendatei des aktuellen Benutzers anschauen und bearbeiten. Dies erlaubt Laufzeitberechtigungen an Applets zu gew\u00e4hren oder abzulehnen, unabh\u00e4ngig von den Sandbox-Standardsicherheitsregeln. +CPPolicyDetail=Die Java-Richtliniendatei des aktuellen Benutzers anschauen und bearbeiten.
Dies erlaubt Laufzeitberechtigungen an Applets zu gew\u00e4hren oder abzulehnen, unabh\u00e4ngig von den Sandbox-Standardsicherheitsregeln. CPPolicyTooltip=\u00d6ffnet \u201e{0}\u201c im Richtlinieneditor (policytool) CPPolicyEditorNotFound=Konnte keinen Richtlinieneditor finden. Es sollte gepr\u00fcft werden, dass policytool \u00fcber die Umgebungsvariable PATH aufgel\u00f6st werden kann. @@ -359,7 +439,9 @@ CPButSettings=Einstellungen... CPButView=Anzeigen... CPButCertificates=Zertifikate... -CPButPolicy=Im\u00a0Richtlinieneditor\u00a0bearbeiten... +CPButSimpleEditor=Einfacher Editor... +CPButAdvancedEditor=Erweiterter Editor... + # Control Panel - Headers CPHead=IcedTea-Web Systemsteuerung @@ -388,7 +470,7 @@ CPTabPolicy=Richtlinieneinstellungen # Control Panel - AboutPanel -CPAboutInfo=Diese Systemsteuerung dient der Einstellung von deployment.properties.
Nicht alle Optionen haben eine Wirkung, bis Sie implementiert wurden.
Die Verwendung mehrerer JREs wird zur Zeit nicht unterst\u00fctzt.
+CPAboutInfo=Diese Systemsteuerung dient der Einstellung von deployment.properties.
Nicht alle Optionen haben eine Wirkung, bis Sie implementiert wurden.
Die Verwendung mehrerer JREs ist derzeit auf OpenJDK beschr\u00e4nkt.
# Control Panel - AdvancedProxySettings APSDialogTitle=Netzwerkeinstellungen @@ -406,11 +488,195 @@ APSExceptionInstruction=Trennen Sie jeden Eintrag mit einem Semikolon (;). # Control Panel - DebugginPanel +CPDebuggingPossibilites=Protokollausgabe DPEnableLogging=Protokollierung aktivieren +DPEnableLoggingHint=Wenn dieser Schalter gesetzt ist, dann werden ebenfalls Meldungen zur Fehlerbeseitigung protokolliert. Dies ist gleichbedeutend zu -verbose oder ICEDTEAPLUGIN_DEBUG=true. +DPEnableHeaders=Tabellen\u00fcberschriften aktivieren +DPEnableHeadersHint=Wenn dieser Schalter gesetzt ist, wird jede protokollierte Meldung mit zus\u00e4tzlichen \u00dcberschriften, wie Benutzer, Quellcodezeile und Zeit versehen. +DPEnableFile=Protokollierung in Datei aktivieren +CPFilesLogsDestDir=Protokolldateiverzeichnis +CPFilesLogsDestDirResert=Standard +DPEnableFileHint=Ausgabemeldungen werden in eine Datei im Verzeichnis \u201e{0}\u201c gespeichert +DPEnableStds=Protokollierung auf Standardausgabe aktivieren +DPEnableStdsHint=Meldungen werden auf der Standardausgabe ausgegeben +DPEnableSyslog=Protokollierung in das Systemprotokoll aktivieren +DPEnableSyslogHint=Ausgabemeldungen werden im Systemprotokoll gespeichert DPDisable=Deaktivieren DPHide=Beim Start verbergen DPShow=Beim Start anzeigen +DPShowPluginOnly=Beim Start des Plug-ins anzeigen +DPShowJavawsOnly=Beim Start von javaws anzeigen DPJavaConsole=Javakonsole +DPJavaConsoleDisabledHint=Die Javakonsole ist deaktiviert. Mit itweb-settings kann sie von \u201eDeaktiviert\u201c auf einen beliebigen Anzeige- oder Verbergewert konfiguriert werden. + +# PolicyEditor +PEUsage=policyeditor [-file Richtliniendatei] +PEHelpFlag=Diese Meldung ausgeben und beenden +PEFileFlag=Einen Richtliniendateipfad zum \u00f6ffnen angeben +PECodebaseFlag=Eine oder mehrere Codebasis-URLs zum hinzuf\u00fcgen oder fokussieren im Editor angeben +PETitle=Richtlinieneditor +PEReadProps=Systemeigenschaften lesen +PEReadPropsDetail=Applets das Lesen von Systemeigenschaften, wie den aktuellen Benutzernamen und den Ort des Benutzerverzeichnisses erlauben +PEWriteProps=Systemeigenschaften schreiben +PEWritePropsDetail=Applets das (\u00dcber)schreiben von Systemeigenschaften erlauben +PEReadFiles=Aus lokalen Dateien lesen +PEReadFilesDetail=Applets das Lesen aus Dateien im aktuellen Benutzerverzeichnis erlauben +PEWriteFiles=In lokale Dateien schreiben +PEWriteFilesDetail=Applets das Schreiben in Dateien im Benutzerverzeichnis des aktuellen Benutzers erlauben +PEDeleteFiles=Lokale Dateien l\u00f6schen +PEDeleteFilesDetail=Applets das L\u00f6schen von Dateien im Benutzerverzeichnis des aktuellen Benutzers erlauben +PEReadSystemFiles=Alle Systemdateien lesen +PEReadSystemFilesDetail=Applets ausschlie\u00dflichen Lesezugriff auf alle Orte im Computer erlauben +PEWriteSystemFiles=Alle Systemdateien schreiben +PEWriteSystemFilesDetail=Applets ausschlie\u00dflichen Schreibzugriff auf alle Orte im Computer erlauben +PEReadTempFiles=Aus tempor\u00e4ren Dateien lesen +PEReadTempFilesDetail=Applets das Lesen aus dem Verzeichnis tempor\u00e4rer Dateien des aktuellen Benutzers erlauben +PEWriteTempFiles=In tempor\u00e4re Dateien schreiben +PEWriteTempFilesDetail=Applets das Schreiben in das Verzeichnis tempor\u00e4rer Dateien des aktuellen Benutzers erlauben +PEDeleteTempFiles=Tempor\u00e4re Dateien l\u00f6schen +PEDeleteTempFilesDetail=Applets das L\u00f6schen von Dateien im Verzeichnis tempor\u00e4rer Dateien des aktuellen Benutzers erlauben +PEAWTPermission=Fenstersystemzugriff +PEAWTPermissionDetail=Applets den vollen Zugriff auf das AWT Fenstersystem erlauben +PEClipboard=Zugriff auf die Zwischenablage +PEClipboardDetail=Applets das Lesen und Schreiben der Zwischenablage des aktuellen Benutzers erlauben +PENetwork=Netzwerkzugriff +PENetworkDetail=Applets die Herstellung von beliebigen Netzwerkverbindungen erlauben +PEPrint=Dokumente drucken +PEPrintDetail=Applets das Einreihen von Druckauftr\u00e4gen erlauben +PEPlayAudio=Kl\u00e4nge abspielen +PEPlayAudioDetail=Applets das Abspielen von Kl\u00e4ngen, ohne Aufnahme erlauben +PERecordAudio=Ton aufnehmen +PERecordAudioDetail=Applets die Tonaufnahme, ohne Abspielen erlauben +PEReflection=Java Introspektion +PEReflectionDetail=Applets den Zugriff auf die Java Reflection API erlauben +PEClassLoader=Klassenlader abrufen +PEClassLoaderDetail=Applets den Zugriff auf den Systemklasslader (oft bei Introspektion verwendet) erlauben +PEClassInPackage=Zugriff auf fremde Pakete +PEClassInPackageDetail=Applets den Zugriff auf Klassen in fremden Applet-Paketen (oft bei Introspektion verwendet) erlauben +PEDeclaredMembers=Zugriff auf private Daten einer Klasse +PEDeclaredMembersDetail=Allow applets to access normally hidden data from other Java classes (oft bei Introspektion verwendet) erlauben +PEExec=Befehle ausf\u00fchren +PEExecDetail=Applets die Ausf\u00fchrung von Systembefehlen erlauben +PEGetEnv=Umgebungsvariablen abrufen +PEGetEnvDetail=Applets das Lesen von Systemumgebungsvariablen erlauben +PECouldNotOpen=Kann die Richtliniendatei nicht \u00f6ffnen +PECouldNotSave=Kann die Richtliniendatei nicht speichern +PEAddCodebase=Neue Codebasis hinzuf\u00fcgen +PERemoveCodebase=Entfernen +PECodebasePrompt=Eine neue Codebasis eingeben: +PEGlobalSettings=Alle Applets +PESaveChanges=Sollen die \u00c4nderungen vor dem Beenden gespeichert werden? +PEChangesSaved=\u00c4nderungen gespeichert +PECheckboxLabel=Berechtigungen +PECodebaseLabel=Codebasen +PEFileMenu=Datei +PEOpenMenuItem=\u00d6ffnen... +PESaveMenuItem=Speichern +PESaveAsMenuItem=Speichern unter... +PEExitMenuItem=Beenden +PEViewMenu=Ansicht +PECustomPermissionsItem=Benutzerdefinierte Berechtigungen... +PEFileModified=Datei\u00e4nderungswarnung +PEFileModifiedDetail=Die Richtliniendatei \u201e{0}\u201c wurde ge\u00e4ndert seit sie ge\u00f6ffnet wurde.\nNeu laden und bearbeiten vor dem Speichern? +PEGAccesUnowenedCode=Fremden Code ausf\u00fchren +PEGMediaAccess=Medienzugriff +PEGrightClick=Rechtsklick zum auf-/zuklappen +PEGReadFileSystem=Zum System lesen +PEGWriteFileSystem=Zum System schreiben + +# Policy Editor CustomPolicyViewer +PECPTitle=Ansicht benutzerdefinierter Richtlinien +PECPListLabel=Weitere Richtlinien f\u00fcr \u201e{0}\u201c +PECPAddButton=Hinzuf\u00fcgen +PECPRemoveButton=Entfernen +PECPCloseButton=Schlie\u00dfen +PECPType=Typ +PECPTarget=Ziel +PECPActions=Aktionen +PECPPrompt=Eingabe einer benutzerdefinierten Berechtigung\n\u201epermission\u201c oder Satzzeichen d\u00fcrfen nicht enthalten sein: + +# PolicyEditor key mnemonics. See java.awt.event.KeyEvent.VK_* +# N +PEAddCodebaseMnemonic=78 +# E +PERemoveCodebaseMnemonic=69 +# O +PEOkButtonMnemonic=79 +# A +PECancelButtonMnemonic=65 +# D +PEFileMenuMnemonic=68 +# S +PEViewMenuMnemonic=83 +# O +PEOpenMenuItemMnemonic=79 +# S +PESaveMenuItemMnemonic=83 +# U +PESaveAsMenuItemMnemonic=85 +# X +PEExitMenuItemMnemonic=88 +# B +PECustomPermissionsItemMnemonic=66 + +# conole itself labels +CONSOLErungc=Speicher bereinigen +CONSOLErunFinalizers=Finalisieren +CONSOLErunningFinalizers=Finalisierer werden ausgef\u00fchrt... +CONSOLEmemoryInfo=Speicher\u00fcbersicht +CONSOLEsystemProperties=Systemeigenschaften +CONSOLEclassLoaders=Verf\u00fcgbare Klassenlader +CONSOLEthreadList=Liste der Ausf\u00fchrungsstr\u00e4nge +CONSOLEthread=Ausf\u00fchrungsstrang +CONSOLEnoClassLoaders=Keine Informationen \u00fcber Klassenlader im System +CONSOLEmemoryMax=Maximal verf\u00fcgbarer Speicher +CONSOLEmemoryTotal=Gesamtspeicher +CONSOLEmemoryFree=Freier Speicher +CONSOLEClean=Konsole bereinigen + +# console output pane labels +COPsortCopyAllDate=\u201eAlles kopieren\u201c nach Datum sortieren +COPshowHeaders=\u00dcberschriften anzeigen: +COPuser=Benutzer +COPorigin=Herkunft +COPlevel=Stufe +COPdate=Datum +COPthread1=Ausf\u00fchrungsstrang 1 +COPthread2=Ausf\u00fchrungsstrang 2 +COPShowMessages=Meldungen anzeigen +COPstdOut=Standardausgabe +COPstdErr=Standardfehlerausgabe +COPjava=Java +COPplugin=Plug-in +COPpreInit=Pr\u00e4-Initialisierung +COPpluginOnly=Nur Plug-in +COPSortBy=Sortieren nach +COPregex=Filter regul\u00e4rer Ausdr\u00fccke +COPAsArrived=Nach Ankunft (keine Sortierung) +COPcode=Code +COPmessage=Meldung +COPSearch=Suchen +COPautoRefresh=Auto-Aktualisieren +COPrefresh=Aktualisieren +COPApply=Anwenden +COPmark=markieren +COPCopyAllPlain=Alles kopieren (einfach) +COPCopyAllRich=Alles kopieren (angereichert) +COPnext=Weiter>>> +COPprevious=<< References: <5384BC13.5010708@redhat.com> <53A1B7BE.9020308@redhat.com> Message-ID: <53A1D012.7000807@redhat.com> On 06/18/2014 12:01 PM, Jiri Vanek wrote: > On 05/27/2014 06:23 PM, Andrew Azores wrote: >> Hi, >> >> This patch allows signed applets with sandbox permissions specified in >> their manifests to actually > > > How it is dealing with mixed (signed + unsigned code) apps? I don't have any examples of mixed signing apps with a Permissions manifest attribute, but a reproducer could be prepared for this case. >> be run sandboxed. This is in contrast to the current behaviour where >> such applets will fail to >> launch, and the failure message presented asks the user to try >> launching via the Sandbox button next >> time. This was because the dialog which presented the Sandbox button >> appeared very early in the >> JNLPClassLoader's life cycle - early enough that no security settings >> had yet been set for the >> classloader or any of the applet's JAR locations - whereas the >> manifest checks were done later, >> after these settings would have already been initialized. Fixing the >> issue was not as simple as >> doing the manifest checks before presenting the security dialog >> because the dialog was presented >> part way through the initialization process, where JARs are being >> downloaded and checked for >> signing, so that the appropriate security dialog could be shown to the >> user. Putting the manifest >> checks first would therefore not work properly because the JARs were >> not yet available. This patch >> resolves the issue by moving the manifest checks inside the method >> which initializes the relevant >> security settings, such that the required resources are available, it >> is known what type of applet >> is about to be run, but the security settings for the JAR locations >> have not yet been initialized >> and the applet can thus still be set to run sandboxed safely. >> >> Additionally, the ManifestAttributesChecker check for the Permissions >> attribute is no longer skipped >> when Extended Applet Security is set to the Low level, since this >> allows for signed applets with >> Sandbox permissions specified in their manifests to run with full >> permissions when Low security is set. >> > > Well this concept I do not like. > > Imho the correct approach is to check the attributes, but do not take > any actions (except print warnings eg "normally I would fail because > of..,but low security is on". > > With exception on sandbox attribute - here probably warning (strong one) > requesting users attention. > > What do you think? - Well this dialogue would be good place for run in > sandbox button too :) > > Otherwise the only way how to disable manifest check willbe the > deployment property which I added. Sure. I just *really* am not comfortable with leaving it as-is, which means Low Security allows applets to be silently granted elevated permissions. I can imagine this too easily being abused by a malicious applet developer. I'm fine with adding an extra prompt here when on Low Security though, warning the user that due to the Low Security the applet may be granted elevated permissions if it is run. > > is your patch honoring this variable? - > http://icedtea.classpath.org/hg/release/icedtea-web-1.5/rev/80e5f17e3bbc Yes. That part of ManifestAttributesChecker has not been touched. If that deployment attribute is false then the MAC still skips the checks entirely. > > >> All existing reproducers have been run with this patch applied and >> there appears to be no effect. >> Manual tests from the wiki have also been run and no failures noted. >> Two new applets, reported in >> PR1767 [0], have been added as test cases to the wiki. These fail >> without the patch and pass with >> it. A reproducer is also included, however, the ALACA dialog will >> appear, which means manual >> intervention is required to run this test as well. The test is marked >> KnownToFail and this issue >> documented with the test case. This cannot be worked around by >> disabling manifest attributes >> checking since this would render the test meaningless as the >> Permissions manifest attribute would >> then not be run to force sandboxing. >> >> ChangeLog: >> >> 2014-05-27 Andrew Azores >> >> Fixed support for signed applets which specify the Permissions >> attribute >> as "sandbox" in their manifests. These applets are now properly run >> sandboxed automatically, rather than requiring the user to click the >> "Sandbox" run button. >> * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java >> (JNLPClassLoader): manifest attributes checking and security >> settings >> moved inside initializeResources >> (initializeResources): do not set entries in >> jarLocationSecurityMap until >> after prompting the user on whether to run the applet as well as >> performing manifest attribute checks >> (initializeManifestAttributesChecker): new method >> (getJnlpFileCodebase): new method, extracted from >> initializeResources >> (SecurityDelegateImpl.setRunInSandbox): throw exception if >> already forced >> to run in sandbox, rather than if already prompted >> * netx/net/sourceforge/jnlp/runtime/ManifestAttributesChecker.java >> (checkPermissionsAttribute): do not skip checking if Extended Applet >> Security is Low. Remove try/catch on setRunInSandbox call as this >> is now >> supported. >> * >> tests/reproducers/custom/SignedAppletManifestSpecifiesSandbox/testcases/SignedAppletManifestSpecifiesSandboxTests.java: >> >> >> new test case >> * >> tests/reproducers/custom/SignedAppletManifestSpecifiesSandbox/resources/SignedAppletManifestSpecifiesSandbox.html: >> >> >> same >> * >> tests/reproducers/custom/SignedAppletManifestSpecifiesSandbox/srcs/MANIFEST.MF: >> >> same >> * >> tests/reproducers/custom/SignedAppletManifestSpecifiesSandbox/srcs/Makefile: >> >> same >> * >> tests/reproducers/custom/SignedAppletManifestSpecifiesSandbox/srcs/SignedAppletManifestSpecifiesSandbox.java: >> >> >> same >> >> >> [0] http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1767 >> >> Thanks, >> >> -- >> Andrew A >> >> >> pr1769-4.patch >> >> >> diff --git a/ChangeLog b/ChangeLog >> --- a/ChangeLog >> +++ b/ChangeLog >> @@ -1,3 +1,34 @@ >> +2014-05-27 Andrew Azores >> + >> + Fixed support for signed applets which specify the Permissions >> attribute >> + as "sandbox" in their manifests. These applets are now properly run >> + sandboxed automatically, rather than requiring the user to click the >> + "Sandbox" run button. >> + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java >> + (JNLPClassLoader): manifest attributes checking and security >> settings >> + moved inside initializeResources >> + (initializeResources): do not set entries in >> jarLocationSecurityMap until >> + after prompting the user on whether to run the applet as well as >> + performing manifest attribute checks >> + (initializeManifestAttributesChecker): new method >> + (getJnlpFileCodebase): new method, extracted from >> initializeResources >> + (SecurityDelegateImpl.setRunInSandbox): throw exception if >> already forced >> + to run in sandbox, rather than if already prompted >> + * netx/net/sourceforge/jnlp/runtime/ManifestAttributesChecker.java >> + (checkPermissionsAttribute): do not skip checking if Extended Applet >> + Security is Low. Remove try/catch on setRunInSandbox call as this >> is now >> + supported. >> + * >> tests/reproducers/custom/SignedAppletManifestSpecifiesSandbox/testcases/SignedAppletManifestSpecifiesSandboxTests.java: >> >> + new test case >> + * >> tests/reproducers/custom/SignedAppletManifestSpecifiesSandbox/resources/SignedAppletManifestSpecifiesSandbox.html: >> >> + same >> + * >> tests/reproducers/custom/SignedAppletManifestSpecifiesSandbox/srcs/MANIFEST.MF: >> >> + same >> + * >> tests/reproducers/custom/SignedAppletManifestSpecifiesSandbox/srcs/Makefile: >> >> + same >> + * >> tests/reproducers/custom/SignedAppletManifestSpecifiesSandbox/srcs/SignedAppletManifestSpecifiesSandbox.java: >> >> + same >> + >> 2014-05-23 Jiri Vanek >> >> Fixed cache tests >> diff --git a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java >> b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java >> --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java >> +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java >> @@ -223,6 +223,8 @@ public class JNLPClassLoader extends URL >> >> private final SecurityDelegate securityDelegate; >> >> + private ManifestAttributesChecker mac; >> + >> /** >> * Create a new JNLPClassLoader from the specified file. >> * >> @@ -275,18 +277,10 @@ public class JNLPClassLoader extends URL >> initializeExtensions(); >> >> initializeResources(); >> - >> - //loading mainfests before resources are initialised may >> cause waiting for resources >> - file.getManifestsAttributes().setLoader(this); >> >> // initialize permissions >> initializePermissions(); >> >> - setSecurity(); > > I'm wondering, setSecurity moved, but setPermissions remained? You mean initializePermissions? Yea, it didn't have to be moved. >> - >> - ManifestAttributesChecker mac = new >> ManifestAttributesChecker(security, file, signing, securityDelegate); >> - mac.checkAll(); >> - >> installShutdownHooks(); >> >> >> @@ -592,14 +586,12 @@ public class JNLPClassLoader extends URL >> //Check if main jar is found within extensions >> foundMainJar = foundMainJar || hasMainInExtensions(); >> >> + setSecurity(); >> + initializeManifestAttributesChecker(); >> + mac.checkAll(); >> return; >> } >> - /* >> - if (jars == null || jars.length == 0) { >> - throw new LaunchException(null, null, R("LSFatal"), >> - R("LCInit"), >> R("LFatalVerification"), "No jars!"); >> - } >> - */ > > This should probably cam in as separate changset. Hmm.. When it was > commented Out actually? :) December 2010... >> + >> List initialJars = new ArrayList(); >> >> for (JARDesc jar : jars) { >> @@ -711,7 +703,9 @@ public class JNLPClassLoader extends URL >> signing = SigningState.NONE; >> } >> } >> - >> + setSecurity(); >> + >> + final Set validJars = new HashSet<>(); >> boolean containsSignedJar = false, containsUnsignedJar = false; >> for (JARDesc jarDesc : file.getResources().getJARs()) { >> File cachedFile; >> @@ -729,14 +723,8 @@ public class JNLPClassLoader extends URL >> continue; // JAR not found. Keep going. >> } >> >> - final URL codebase; >> - if (file.getCodeBase() != null) { >> - codebase = file.getCodeBase(); >> - } else { >> - // FIXME: codebase should be the codebase of the Main >> Jar not >> - // the location. Although, it still works in the >> current state. >> - codebase = >> file.getResources().getMainJAR().getLocation(); >> - } >> + validJars.add(jarDesc); >> + final URL codebase = getJnlpFileCodebase(); >> >> final SecurityDesc jarSecurity = >> securityDelegate.getCodebaseSecurityDesc(jarDesc, codebase.getHost()); >> if >> (jarSecurity.getSecurityType().equals(SecurityDesc.SANDBOX_PERMISSIONS)) >> { >> @@ -745,15 +733,45 @@ public class JNLPClassLoader extends URL >> containsSignedJar = true; >> } >> >> - jarLocationSecurityMap.put(jarDesc.getLocation(), >> jarSecurity); >> + if (containsUnsignedJar && containsSignedJar) { >> + break; >> + } >> } >> >> if (containsSignedJar && containsUnsignedJar) { >> checkPartialSigningWithUser(); >> } >> >> + initializeManifestAttributesChecker(); >> + mac.checkAll(); >> + >> + for (JARDesc jarDesc : validJars) { > > There I'm missing something. Why is this secoond field even needed? > In any case, please mention it in changelog. Which second field? "mac"? >> + final URL codebase = getJnlpFileCodebase(); >> + final SecurityDesc jarSecurity = >> securityDelegate.getCodebaseSecurityDesc(jarDesc, codebase.getHost()); >> + jarLocationSecurityMap.put(jarDesc.getLocation(), >> jarSecurity); >> + } >> + >> activateJars(initialJars); >> } >> + >> + private void initializeManifestAttributesChecker() throws >> LaunchException { >> + if (mac == null) { >> + file.getManifestsAttributes().setLoader(this); >> + mac = new ManifestAttributesChecker(security, file, >> signing, securityDelegate); >> + } >> + } >> + >> + private URL getJnlpFileCodebase() { >> + final URL codebase; >> + if (file.getCodeBase() != null) { >> + codebase = file.getCodeBase(); >> + } else { >> + // FIXME: codebase should be the codebase of the Main Jar >> not >> + // the location. Although, it still works in the current >> state. >> + codebase = file.getResources().getMainJAR().getLocation(); >> + } >> + return codebase; >> + } >> >> /*** >> * Checks for the jar that contains the attribute. >> @@ -762,13 +780,12 @@ public class JNLPClassLoader extends URL >> * @param name attribute to be found >> */ >> public String checkForAttributeInJars(List jars, >> Attributes.Name name) { >> - >> if (jars.isEmpty()) { >> return null; >> } >> >> String result = null; >> - >> + >> // Check main jar >> JARDesc mainJarDesc = ResourcesDesc.getMainJAR(jars); >> result = getManifestAttribute(mainJarDesc.getLocation(), name); >> @@ -776,7 +793,7 @@ public class JNLPClassLoader extends URL >> if (result != null) { >> return result; >> } >> - >> + >> // Check first jar >> JARDesc firstJarDesc = jars.get(0); >> result = getManifestAttribute(firstJarDesc.getLocation(),name); >> @@ -2380,12 +2397,15 @@ public class JNLPClassLoader extends URL >> } >> >> public void setRunInSandbox() throws LaunchException { >> - if (promptedForSandbox || classLoader.security != null >> - || classLoader.jarLocationSecurityMap.size() != 0) { >> + if (runInSandbox && classLoader.security != null >> + && classLoader.jarLocationSecurityMap.size() != 0) { > > Why have this condition changed in thisway? I would expect > promptedForSandbox || runInSandbox || classLoader.security != null && ... The ClassLoader can end up attempting to automatically set the applet to run in sandbox multiple times, so that condition would cause it to fail in this situation. The condition was very strong before on purpose because it was easily possible for the security settings to have already been applied before the sandboxing option appeared to the user. Now, the sandboxing dialog appears well beforehand, and automatic sandboxing also happens early enough, so this condition has to be slightly weakened so that it does allow the call to be performed multiple times, but only if the security settings have not yet been applied to the classloader/applet. I haven't tested this but this condition should also work fine: runInSandbox && (classLoader.security != null || jarLocationSecurityMap.size() != 0) The classLoader.security and jarLocationSecurityMap conditions should really always be "in sync" with each other in this regard though. > >> throw new LaunchException(classLoader.file, null, >> R("LSFatal"), R("LCInit"), R("LRunInSandboxError"), >> R("LRunInSandboxErrorInfo")); >> } >> >> - JNLPRuntime.reloadPolicy(); // ensure that we have the >> most up-to-date custom policy loaded >> + // ensure that we have the most up-to-date custom policy >> loaded since the user may have just launched PolicyEditor >> + // to create a custom policy for the applet they are >> about to run >> + JNLPRuntime.reloadPolicy(); >> + > > can go in with the removal of the coment above > >> this.promptedForSandbox = true; >> this.runInSandbox = true; >> } >> diff --git >> a/netx/net/sourceforge/jnlp/runtime/ManifestAttributesChecker.java >> b/netx/net/sourceforge/jnlp/runtime/ManifestAttributesChecker.java >> --- a/netx/net/sourceforge/jnlp/runtime/ManifestAttributesChecker.java >> +++ b/netx/net/sourceforge/jnlp/runtime/ManifestAttributesChecker.java >> @@ -178,15 +178,19 @@ public class ManifestAttributesChecker { >> >> *http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/manifest.html#permissions >> >> */ >> private void checkPermissionsAttribute() throws LaunchException { >> - final ManifestBoolean sandboxForced = >> file.getManifestsAttributes().isSandboxForced(); >> - final AppletSecurityLevel itwSecurityLevel = >> AppletStartupSecuritySettings.getInstance().getSecurityLevel(); >> - if (itwSecurityLevel == AppletSecurityLevel.ALLOW_UNSIGNED || >> securityDelegate.getRunInSandbox()) { >> - >> OutputController.getLogger().log(OutputController.Level.WARNING_ALL, >> "Although 'permissions' attribute of this application is '" + >> file.getManifestsAttributes().permissionsToString() >> - + "' Your Extended applets security is at 'low', >> or you have specifically chosen to run the applet Sandboxed. >> Continuing"); >> + if (securityDelegate.getRunInSandbox()) { >> + >> OutputController.getLogger().log(OutputController.Level.WARNING_ALL, >> "The 'Permissions' attribute of this application is '" + >> file.getManifestsAttributes().permissionsToString() >> + + "'. You have chosen the Sandbox run option, >> which overrides the Permissions manifest attribute."); >> return; >> } >> >> + final ManifestBoolean sandboxForced = >> file.getManifestsAttributes().isSandboxForced(); >> + // If the attribute is not specified in the manifest, prompt >> the user. Oracle's spec says that the >> + // attribute is required, but this breaks a lot of existing >> applets. Therefore, when on the highest >> + // security level, we refuse to run these applets. On the >> standard security level, we ask. And on the >> + // lowest security level, we simply proceed without asking. > > I like this ;) > >> if (sandboxForced == ManifestBoolean.UNDEFINED) { >> + final AppletSecurityLevel itwSecurityLevel = >> AppletStartupSecuritySettings.getInstance().getSecurityLevel(); >> if (itwSecurityLevel == >> AppletSecurityLevel.DENY_UNSIGNED) { >> throw new LaunchException("Your Extended applets >> security is at 'Very high', and this application is missing the >> 'permissions' attribute in manifest. This is fatal"); >> } >> @@ -196,9 +200,9 @@ public class ManifestAttributesChecker { >> throw new LaunchException("Your Extended applets >> security is at 'high' and this application is missing the >> 'permissions' attribute in manifest. And you have refused to run it."); >> } else { >> OutputController.getLogger().log("Your Extended >> applets security is at 'high' and this application is missing the >> 'permissions' attribute in manifest. And you have allowed to run it."); >> - return; >> } >> } >> + return; >> } >> >> final RequestedPermissionLevel requestedPermissions = >> file.getRequestedPermissionLevel(); >> @@ -206,15 +210,7 @@ public class ManifestAttributesChecker { >> if (file instanceof PluginBridge) { // HTML applet >> if (isNoneOrDefault(requestedPermissions)) { >> if (sandboxForced == ManifestBoolean.TRUE && signing >> != SigningState.NONE) { >> - >> //http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/manifest.html#permissions >> >> - // FIXME: attempting to follow the spec, but it >> is too late now to actually set the applet >> - // to run in sandbox. If we do this the applet >> will not be run at all, rather than run sandboxed! >> - try { >> - securityDelegate.setRunInSandbox(); >> - } catch (final LaunchException e) { >> - OutputController.getLogger().log(e); >> - throw new LaunchException("The applet is >> signed but its manifest specifies Sandbox permissions. This is not yet >> supported. Try running the applet again, but choose the Sandbox run >> option.", e); >> - } >> + securityDelegate.setRunInSandbox(); >> } >> } >> } else { // JNLP >> >> > > > > > diff --git > a/tests/reproducers/custom/SignedAppletManifestSpecifiesSandbox/srcs/MANIFEST.MF > b/tests/reproducers/custom/SignedAppletManifestSpecifiesSandbox/srcs/MANIFEST.MF > > new file mode 100644 > --- /dev/null > +++ > b/tests/reproducers/custom/SignedAppletManifestSpecifiesSandbox/srcs/MANIFEST.MF > > @@ -0,0 +1,2 @@ > +Main-Class: SignedAppletManifestSpecifiesSandbox > +Permissions: sandbox > > > Do we have/need also one with Permissions: all-permissions ? I recall > there is something... I don't think so, but maybe there is. I couldn't find anything with a quick grep. > > > diff --git > a/tests/reproducers/custom/SignedAppletManifestSpecifiesSandbox/srcs/Makefile > b/tests/reproducers/custom/SignedAppletManifestSpecifiesSandbox/srcs/Makefile > > new file mode 100644 > --- /dev/null > +++ > b/tests/reproducers/custom/SignedAppletManifestSpecifiesSandbox/srcs/Makefile > > @@ -0,0 +1,34 @@ > +TESTNAME=SignedAppletManifestSpecifiesSandbox > + > +SRC_FILES=SignedAppletManifestSpecifiesSandbox.java > +ENTRYPOINT_CLASSES=SignedAppletManifestSpecifiesSandbox > + > +JAVAC_CLASSPATH=$(TEST_EXTENSIONS_DIR):$(NETX_DIR)/lib/classes.jar > +JAVAC=$(BOOT_DIR)/bin/javac > +JAR=$(BOOT_DIR)/bin/jar > +JARSIGNER=$(BOOT_DIR)/bin/jarsigner > +JARSIGNER_CMD=$(JARSIGNER) -keystore > $(TOP_BUILD_DIR)/$(PRIVATE_KEYSTORE_NAME) -storepass > $(PRIVATE_KEYSTORE_PASS) -keypass $(PRIVATE_KEYSTORE_PASS) > + > +TMPDIR:=$(shell mktemp -d) > + > +prepare-reproducer: > + echo PREPARING REPRODUCER $(TESTNAME) > + > + $(JAVAC) -d $(TMPDIR) -classpath $(JAVAC_CLASSPATH) $(SRC_FILES); \ > + cp MANIFEST.MF $(TMPDIR) ; \ > + > + cp ../resources/* $(REPRODUCERS_TESTS_SERVER_DEPLOYDIR); \ > + > + cd $(TMPDIR); \ > + $(JAR) cfm SignedAppletManifestSpecifiesSandbox.jar MANIFEST.MF > SignedAppletManifestSpecifiesSandbox.class ; \ > + cd -; \ > + > + $(JARSIGNER_CMD) -sigfile Alpha > $(TMPDIR)/SignedAppletManifestSpecifiesSandbox.jar > $(TEST_CERT_ALIAS)_signed; \ > + > + cp $(TMPDIR)/SignedAppletManifestSpecifiesSandbox.jar > $(REPRODUCERS_TESTS_SERVER_DEPLOYDIR); \ > + > + echo PREPARED REPRODUCER $(TESTNAME), removing $(TMPDIR); \ > + rm -rf $(TMPDIR); \ > + > +clean-reproducer: > + echo NOTHING TO CLEAN FOR $(TESTNAME) > > > Why do you need custom reproducers? The manifest is handled by engine Ah, I forgot about this. Although a custom reproducer would still be needed for the mixed signing case, so I can convert this one to mixed and make normal "simple" and "signed" ones as well I suppose. > > > > diff --git > a/tests/reproducers/custom/SignedAppletManifestSpecifiesSandbox/srcs/SignedAppletManifestSpecifiesSandbox.java > b/tests/reproducers/custom/SignedAppletManifestSpecifiesSandbox/srcs/SignedAppletManifestSpecifiesSandbox.java > > new file mode 100644 > --- /dev/null > +++ > b/tests/reproducers/custom/SignedAppletManifestSpecifiesSandbox/srcs/SignedAppletManifestSpecifiesSandbox.java > > @@ -0,0 +1,58 @@ > +/* SignedAppletManifestSpecifiesSandbox.java > +Copyright (C) 2014 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.applet.Applet; > + > +public class SignedAppletManifestSpecifiesSandbox extends Applet { > + > + @Override > + public void init() { > + System.out.println("SignedAppletManifestSpecifiesSandbox applet > starting"); > + System.out.println("Reading user.home: " + getProp("user.home")); > + System.out.println("*** APPLET FINISHED ***"); > + } > + > + private static String getProp(final String key) { > + try { > + return System.getProperty(key); > + } catch (final SecurityException se) { > + se.printStackTrace(); > + return "SECURITY EXCEPTION"; > + } > + } > + > +} > diff --git > a/tests/reproducers/custom/SignedAppletManifestSpecifiesSandbox/testcases/SignedAppletManifestSpecifiesSandboxTests.java > b/tests/reproducers/custom/SignedAppletManifestSpecifiesSandbox/testcases/SignedAppletManifestSpecifiesSandboxTests.java > > new file mode 100644 > --- /dev/null > +++ > b/tests/reproducers/custom/SignedAppletManifestSpecifiesSandbox/testcases/SignedAppletManifestSpecifiesSandboxTests.java > > @@ -0,0 +1,77 @@ > +/* SignedAppletManifestSpecifiesSandboxTests.java > +Copyright (C) 2014 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 net.sourceforge.jnlp.ProcessResult; > +import net.sourceforge.jnlp.ServerAccess; > +import net.sourceforge.jnlp.ServerAccess.AutoClose; > +import net.sourceforge.jnlp.annotations.Bug; > +import net.sourceforge.jnlp.annotations.KnownToFail; > +import net.sourceforge.jnlp.annotations.NeedsDisplay; > +import net.sourceforge.jnlp.annotations.TestInBrowsers; > +import net.sourceforge.jnlp.browsertesting.BrowserTest; > +import net.sourceforge.jnlp.browsertesting.Browsers; > +import net.sourceforge.jnlp.closinglisteners.AutoOkClosingListener; > + > +import org.junit.Test; > + > +import static org.junit.Assert.assertFalse; > +import static org.junit.Assert.assertTrue; > + > +public class SignedAppletManifestSpecifiesSandboxTests extends > BrowserTest { > + > + private static final String STARTING_STRING = > "SignedAppletManifestSpecifiesSandbox applet starting"; > + private static final String CLOSE_STRING = > AutoOkClosingListener.MAGICAL_OK_CLOSING_STRING; > + private static final String EXPECTED_STDOUT_PRINT = "SECURITY > EXCEPTION"; > + private static final String STACKTRACE_EX_TYPE = > "AccessControlException"; > + > + /* > + * As of the writing of this test, it fails due to the ALACA dialog > appearing during its run, which > + * means manual intervention is required for this test's applet to > run. > + */ > + @KnownToFail > + @Test > + @NeedsDisplay > + @TestInBrowsers(testIn={Browsers.one}) > + @Bug(id="PR1769") > + public void > testSignedAppletWithSandboxPermissionsInManifestLaunch() throws Exception { > + final ProcessResult pr = > server.executeBrowser("SignedAppletManifestSpecifiesSandbox.html", new > AutoOkClosingListener(), null); > + assertTrue("Applet should have initialized", > pr.stdout.contains(STARTING_STRING)); > + assertTrue("Applet should have printed SECURITY EXCEPTION", > pr.stdout.contains(EXPECTED_STDOUT_PRINT)); > + assertTrue("Applet should have produced an > AccessControlException stacktrace", > pr.stderr.contains(STACKTRACE_EX_TYPE)); > + assertTrue("Applet should have printed its exit string", > pr.stdout.contains(CLOSE_STRING)); > + } > +} > > As this test is already known to fail, it can go (after manifest is > resolved) in as independent changeset. > > > Thankyou very much for this! > > J. > Thanks, -- Andrew Azores From aazores at redhat.com Wed Jun 18 17:51:56 2014 From: aazores at redhat.com (Andrew Azores) Date: Wed, 18 Jun 2014 13:51:56 -0400 Subject: [icedtea-web] URLPermission in Java 8 In-Reply-To: <20140618170233.GB23062@redhat.com> References: <53A19C36.5060506@redhat.com> <20140618160434.GE17307@redhat.com> <53A1C43D.6080903@redhat.com> <20140618170233.GB23062@redhat.com> Message-ID: <53A1D1BC.1030004@redhat.com> On 06/18/2014 01:02 PM, Omair Majid wrote: > * Andrew Azores [2014-06-18 12:54]: >> On 06/18/2014 12:04 PM, Omair Majid wrote: >>> * Andrew Azores [2014-06-18 10:04]: >>>> This patch can't compile with Java 7 >>> >>> I guess the question to ask is, do you want something built with Java 7 >>> to just work on Java 7? Or do you want the same build to work with both >>> Java 7 and 8? >>> >>> If it's the first, then a compile-time switch to optionally compile a >>> 8-specific class that handles this responsibility seems appropriate. >>> This is what we did for the X509TrustManager with 6/7 support. If you >>> want the second option, then you probably have to use reflection to work >>> around the issue. >> >> Right, this is something I have no informed opinion on. > > Jiri might know more about this. Getting one (compiled) version of > Icedtea-Web to work with multiple Java versions selectable at runtime is > a goal for future (next?) release. > >>>> is also probably too lenient about the URLPermission it's >>>> granting, which allows any request method with any headers to any resource >>>> recursively and inclusively in the applet codebase. >>> >>> Isn't that expected? >> >> I don't know. That's the first thing I think we need to figure out. The >> actual result does indeed match exactly what I intended and expected for it >> to do, but I don't know if this is actually the right thing to do. > > I think we should follow the Same Origin Policy [1][2][3] model used by > browsers and not be more restrictive unless there's a very very good > reason to. > > Thanks, > Omair > > [1] http://icedtea.classpath.org/wiki/IcedTea-Web#Same_Origin_Policy > [2] http://en.wikipedia.org/wiki/Same-origin_policy > [3] https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy > So do you think the permission granted in the "proof of concept" patch is actually good enough as it is? Thanks, -- Andrew Azores From omajid at redhat.com Wed Jun 18 17:54:20 2014 From: omajid at redhat.com (Omair Majid) Date: Wed, 18 Jun 2014 13:54:20 -0400 Subject: [icedtea-web] URLPermission in Java 8 In-Reply-To: <53A1D1BC.1030004@redhat.com> References: <53A19C36.5060506@redhat.com> <20140618160434.GE17307@redhat.com> <53A1C43D.6080903@redhat.com> <20140618170233.GB23062@redhat.com> <53A1D1BC.1030004@redhat.com> Message-ID: <20140618175420.GB24607@redhat.com> * Andrew Azores [2014-06-18 13:52]: > So do you think the permission granted in the "proof of concept" patch is > actually good enough as it is? As far as I can see, it is similar (perhaps more restrictive) to the existing SocketPermission, so, yes. Thanks, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From aazores at redhat.com Wed Jun 18 18:03:06 2014 From: aazores at redhat.com (Andrew Azores) Date: Wed, 18 Jun 2014 14:03:06 -0400 Subject: [icedtea-web] URLPermission in Java 8 In-Reply-To: <20140618170233.GB23062@redhat.com> References: <53A19C36.5060506@redhat.com> <20140618160434.GE17307@redhat.com> <53A1C43D.6080903@redhat.com> <20140618170233.GB23062@redhat.com> Message-ID: <53A1D45A.8010102@redhat.com> On 06/18/2014 01:02 PM, Omair Majid wrote: > * Andrew Azores [2014-06-18 12:54]: >> On 06/18/2014 12:04 PM, Omair Majid wrote: >>> * Andrew Azores [2014-06-18 10:04]: >>>> This patch can't compile with Java 7 >>> >>> I guess the question to ask is, do you want something built with Java 7 >>> to just work on Java 7? Or do you want the same build to work with both >>> Java 7 and 8? >>> >>> If it's the first, then a compile-time switch to optionally compile a >>> 8-specific class that handles this responsibility seems appropriate. >>> This is what we did for the X509TrustManager with 6/7 support. If you >>> want the second option, then you probably have to use reflection to work >>> around the issue. >> >> Right, this is something I have no informed opinion on. > > Jiri might know more about this. Getting one (compiled) version of > Icedtea-Web to work with multiple Java versions selectable at runtime is > a goal for future (next?) release. It sounded like he was hinting at that but I guess we'll wait for tomorrow and his clarification before putting any more work into this. > >>>> is also probably too lenient about the URLPermission it's >>>> granting, which allows any request method with any headers to any resource >>>> recursively and inclusively in the applet codebase. >>> >>> Isn't that expected? >> >> I don't know. That's the first thing I think we need to figure out. The >> actual result does indeed match exactly what I intended and expected for it >> to do, but I don't know if this is actually the right thing to do. > > I think we should follow the Same Origin Policy [1][2][3] model used by > browsers and not be more restrictive unless there's a very very good > reason to. > > Thanks, > Omair > > [1] http://icedtea.classpath.org/wiki/IcedTea-Web#Same_Origin_Policy > [2] http://en.wikipedia.org/wiki/Same-origin_policy > [3] https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy > Okay, so I guess my gut feeling on the permission was actually pretty much right on :) Thanks, -- Andrew Azores From jkang at redhat.com Wed Jun 18 18:16:24 2014 From: jkang at redhat.com (Jie Kang) Date: Wed, 18 Jun 2014 14:16:24 -0400 (EDT) Subject: [rfc][icedtea-web] Refactor of LiveConnect Tests Version 2 In-Reply-To: <53A1B4E4.4080803@redhat.com> References: <1529622958.9604504.1401722424370.JavaMail.zimbra@redhat.com> <897487584.14208517.1402603111957.JavaMail.zimbra@redhat.com> <53A05EAA.5020504@redhat.com> <53A16502.3020304@redhat.com> <53A193E3.8080703@redhat.com> <53A1A7A7.3050303@redhat.com> <53A1B284.3090908@redhat.com> <53A1B4E4.4080803@redhat.com> Message-ID: <914981407.16226111.1403115384250.JavaMail.zimbra@redhat.com> > > Well you are thinking about the shared code as about some library, which > appelts/apps will reuse. > That must not happen. The reproducers myust be as isolated as possible. > If you see the first version of Refactor of LiveConnect tests we have reproducers completely isolated. However Omair suggested we start to implement the functionality required to launch single reproducers with their own dependencies with a shared folder. I think the hack to put a single shared file in a dummy test in reproducers/simple is pretty ugly and I would prefer either complete isolation or a designated shared folder, instead of a small hack just for these tests. Complete Isolation or Shared Properly, in-between seems like a bad idea. Maybe another alternative hack is to copy-paste the shared JS into their own JS files and so there aren't any duplicate files (but have lot's of duplicate code). However I will prepare a patch for your suggested change. > > Even more we are speaking about this,. even more I'm sure the shared dir, as > was introduced can nto > go in. > > But Patch, which will add the functionality to lunch single reproducer (and > be able to handle its > dependeces) may come in as separate (quite a big one I would guess) > changeset. Yes I agree that it should be a separate fix for the test suite but we could make a small start towards this with the shared folder? > > J. > > Regards, -- Jie Kang From gitne at icedtea.classpath.org Wed Jun 18 18:44:19 2014 From: gitne at icedtea.classpath.org (gitne at icedtea.classpath.org) Date: Wed, 18 Jun 2014 18:44:19 +0000 Subject: /hg/release/icedtea-web-1.5: Added new DE localized messages Message-ID: changeset 576b9e693117 in /hg/release/icedtea-web-1.5 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.5?cmd=changeset;node=576b9e693117 author: Jacob Wisor date: Wed Jun 18 20:34:52 2014 +0200 Added new DE localized messages diffstat: ChangeLog | 9 + netx/net/sourceforge/jnlp/resources/Messages.properties | 16 +- netx/net/sourceforge/jnlp/resources/Messages_de.properties | 300 ++++++++++++- 3 files changed, 306 insertions(+), 19 deletions(-) diffs (truncated from 552 to 500 lines): diff -r 7a6519fee342 -r 576b9e693117 ChangeLog --- a/ChangeLog Fri Jun 06 14:42:02 2014 -0400 +++ b/ChangeLog Wed Jun 18 20:34:52 2014 +0200 @@ -1,3 +1,12 @@ +2014-06-18 Jacob Wisor + + * netx/net/sourceforge/jnlp/resources/Messages.properties (BOredirect) + (CCannotClearCache, CFakedCache, CONSOLEClean, CVCPCleanCache) + (CVCPCleanCacheTip): Fixed language in some messages + (COPcode): removed + * netx/net/sourceforge/jnlp/resources/Messages_de.properties: Added new DE + localized messages + 2014-06-06 Andrew Azores * netx/net/sourceforge/jnlp/security/policyeditor/CustomPermission.java diff -r 7a6519fee342 -r 576b9e693117 netx/net/sourceforge/jnlp/resources/Messages.properties --- a/netx/net/sourceforge/jnlp/resources/Messages.properties Fri Jun 06 14:42:02 2014 -0400 +++ b/netx/net/sourceforge/jnlp/resources/Messages.properties Wed Jun 18 20:34:52 2014 +0200 @@ -70,6 +70,7 @@ JAR File Manifest Attributes
\ and
\ Preventing the Repurposing of an Application + # matching Application-Library-Allowable-Codebase dialogue ALACAMatchingMainTitle=The application {0} \ from {1} uses resources from the following remote locations:
{2}
\ @@ -252,7 +253,7 @@ BOStrict = Enables strict checking of JNLP file format. BOViewer = Shows the trusted certificate viewer. BOXml = Uses a strict XML parser to parse the JNLP file. -BOredirect = Allow to follow 301, 302, 303, 307 and 308 redirections +BOredirect = Follows HTTP redirects. BXnofork = Do not create another JVM. BXclearcache= Clean the JNLP application cache. BXignoreheaders= Skip jar header verification. @@ -266,9 +267,9 @@ CChooseCache=Choose a cache directory... CChooseCacheInfo=NetX needs a location for storing cache files. CChooseCacheDir=Cache directory -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. \\\n You can clear cache by javaws -Xclearcache or via itw-settings Cache -> View files -> Clean all +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. \\\n You can clear cache by javaws -Xclearcache or via itw-settings Cache -> View files -> Purge 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. You can also use via itw-settings Cache -> View files -> Clean all +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. You can also use via itw-settings Cache -> View files -> Purge # Security SFileReadAccess=The application has requested read access to {0}. Do you want to allow this action? @@ -630,9 +631,9 @@ CONSOLEmemoryMax = Max Memory CONSOLEmemoryTotal = Total Memory CONSOLEmemoryFree = Free Memory -CONSOLEClean=Clean all +CONSOLEClean=Clear -#console output pane labels +# console output pane labels COPsortCopyAllDate=sort copy all by date COPshowHeaders=Show headers: COPuser=user @@ -668,7 +669,6 @@ COPwordWrap=word wrap COPdebug=debug COPinfo=info -COPcode=code COPpostInit=post-init COPcomplete=complete COPmatch=match @@ -736,8 +736,8 @@ CVCPDialogTitle=Cache Viewer CVCPButRefresh=Refresh CVCPButDelete=Delete -CVCPCleanCache=Clean all cache -CVCPCleanCacheTip=Some errors may be caused by old files in your cache. Before submitting the bug, you may clear cache and try to run application again. \\\n You can clear cache by javaws -Xclearcache or via itw-settings Cache -> View files -> Clean all +CVCPCleanCache=Purge +CVCPCleanCacheTip=Some errors may be caused by old files in your cache. Before submitting the bug, you may clear cache and try to run application again. \\\n You can clear cache by javaws -Xclearcache or via itw-settings Cache -> View files -> Purge CVCPColLastModified=Last Modified CVCPColSize=Size (Bytes) CVCPColDomain=Domain diff -r 7a6519fee342 -r 576b9e693117 netx/net/sourceforge/jnlp/resources/Messages_de.properties --- a/netx/net/sourceforge/jnlp/resources/Messages_de.properties Fri Jun 06 14:42:02 2014 -0400 +++ b/netx/net/sourceforge/jnlp/resources/Messages_de.properties Wed Jun 18 20:34:52 2014 +0200 @@ -12,15 +12,25 @@ ButOk=OK ButProceed=Fortfahren ButRun=Ausf\u00fchren +ButSandbox=Sandkasten ButApply=Anwenden ButDone=Fertig ButShowDetails=Details zeigen ButHideDetails=Details verbergen +ButYes=Ja +ButNo=Nein + +CertWarnRunTip=Diesem Applet vertrauen und mit vollen Berechtigungen ausf\u00fchren +CertWarnSandboxTip=Diesem Applet nicht vertrauen und mit eingeschr\u00e4nkten Berechtigungen ausf\u00fchren +CertWarnCancelTip=Dieses Applet nicht ausf\u00fchren +CertWarnPolicyTip=Erweiterte Sandkasten-Einstellungen +CertWarnPolicyEditorItem=Richtlinieneditor starten AFileOnTheMachine=eine Datei auf dem Rechner AlwaysAllowAction=Diese Aktion immer zulassen Usage=Gebrauch: Error=Fehler +Warning=Warnung Continue=Soll fortgefahren werden? Field=Feld @@ -40,6 +50,42 @@ AboutDialogueTabNews=Neuigkeiten AboutDialogueTabGPLv2=GPLv2 +# missing permissions dialogue +MissingPermissionsMainTitle=Der Anwendung \u201e{0}\u201c \ +mit der Codebasis \u201e{1}\u201c fehlt das Attribut \u201epermission\u201c. \ +Anwendungen ohne dieses Attribut sollte nicht vertraut werden.
\ +Soll die Ausf\u00fchrung dieser Anwendung zugelassen werden? +MissingPermissionsInfo=Um weitere Informationen zu erhalten siehe:
\ +\ +JAR File Manifest Attributes
\ +und
\ +\ +Preventing the repurposing of Applications + +# missing Application-Library-Allowable-Codebase dialogue +ALACAMissingMainTitle=Die Anwendung \u201e{0}\u201c \ +mit der Codebasis \u201e{1}\u201c l\u00e4dt die folgenden Ressourcen von einer fremden Dom\u00e4ne:
\ +{2}
\ +Soll diese Anwendung wirklich ausgef\u00fchrt werden? +ALACAMissingInfo=Um weitere Informationen zu erhalten siehe:
\ + \ +JAR File Manifest Attributes
\ +und
\ +\ +Preventing the Repurposing of an Application + +# matching Application-Library-Allowable-Codebase dialogue +ALACAMatchingMainTitle=Die Anwendung \u201e{0}\u201c \ +mit der Codebasis \u201e{1}\u201c l\u00e4dt die folgenden Ressourcen von einer fremden Dom\u00e4ne:
\ +{2}
\ +Soll diese Anwendung wirklich ausgef\u00fchrt werden? +ALACAMatchingInfo=Um weitere Informationen zu erhalten siehe:
\ +\ +JAR File Manifest Attributes
\ +und
\ +\ +Preventing the Repurposing of an Application + # LS - Severity LSMinor=Gering LSFatal=Fatal @@ -89,8 +135,12 @@ LUnsignedApplet=Das Applet war nicht signiert. LUnsignedAppletPolicyDenied=Das Applet war nicht signiert, deshalb wurde es an der Ausf\u00fchrung durch die Sicherheitsrichtlinie gehindert. LUnsignedAppletUserDenied=Das Applet war nicht signiert und nicht vertrauensw\u00fcrdig. +LPartiallySignedApplet=Das Applet wurde teilweise signiert. +LPartiallySignedAppletUserDenied=Das Applet wurde teilweise signiert und ihm wurde nicht vertraut. LSignedAppJarUsingUnsignedJar=Signierte Anwendung nutzt nicht signierte Jars. LSignedAppJarUsingUnsignedJarInfo=Das Haupt-Jar der Anwendung ist signiert, aber manche Jars, die sie nutzt sind nicht. +LRunInSandboxError=Ausf\u00fchren im Sandkasten-Aufruf wurde zu sp\u00e4t ausgef\u00fchrt. +LRunInSandboxErrorInfo=Der Klassenlader wurde benachrichtigt das Applet im Sandkasten auszuf\u00fchren, aber die Sicherheitseinstellungen waren bereits initialisiert. LSignedJNLPFileDidNotMatch=Die signierte JNLP-Datei stimmt nicht mit der startenden JNLP-Datei \u00fcberein. LNoSecInstance=Fehler: Keine Sicherheitsinstanz f\u00fcr {0}. Die Anwendung k\u00f6nnte Schwierigkeiten haben fortzufahren LCertFoundIn={0} in cacerts gefunden ({1}) @@ -145,6 +195,7 @@ # Runtime BLaunchAbout=Das Fenster \u201e\u00dcber IcedTea-Web\u201c wird ge\u00f6ffnet... +BLaunchAboutFailure=Konnte das \u201e\u00dcber\u201c-Fenster nicht starten BNeedsFile=Muss eine .jnlp Datei angeben RNoAboutJnlp=Es ist nicht m\u00f6glich about.jnlp zu finden BFileLoc=JNLP-Dateiort @@ -175,14 +226,19 @@ RNoLockDir=Kann Ausschlussverzeichnis nicht erstellen ({0}) RNestedJarExtration=Kann verschachteltes Jar nicht extrahieren. RUnexpected=Unerwartetes {0} bei {1} -RConfigurationError=Fataler Fehler beim Lesen der Konfiguration +RConfigurationError=Fataler Fehler beim Lesen der Konfiguration. Fahre fort mit leer. Bitte reparieren RConfigurationFatal=FEHLER: Ein fataler Fehler ist beim Laden der Konfiguration aufgetreten. Vielleicht war eine globale Konfiguration erforderlich, konnte jedoch nicht gefunden werden +RFailingToDefault=Versage auf Standardkonfiguration RPRoxyPacNotSupported=Die Verwendung von Autoproxykonfigurationsdateien (PAC) wird nicht unterst\u00fctzt. RProxyFirefoxNotFound=Es ist nicht m\u00f6glich Firefoxs Proxyeinstellungen zu verwenden. Nutze \u201eDIRECT\u201c als Proxytyp. RProxyFirefoxOptionNotImplemented=Browserproxyoption \u201e{0}\u201c ({1}) wird noch nicht unterst\u00fctzt. RBrowserLocationPromptTitle=Browserort RBrowserLocationPromptMessage=Bitte den Ort des Browsers angeben RBrowserLocationPromptMessageWithReason=Bitte den Ort des Browsers angeben (der Browserbefehl \u201e{0}\u201c ist ung\u00fcltig). +BAboutITW=Das IcedTea-Web Projekt bietet ein Browser Plug-in, mit dem in Java geschriebene Applets ausgef\u00fchrt werden k\u00f6nnen, als freie Software an. Urspr\u00fcnglich, basierend auf dem NetX Projekt ist es eine Implementierung der \u201eJSR56: Java Network Launching Protocol and API\u201c (JNLP) Spezifikation. Siehe auch: http://icedtea.classpath.org/wiki/IcedTea-Web.\nMit \u201eman javaws\u201c oder \u201ejavaws -help\u201c k\u00f6nnen weitere Informationen eingeholt werden. +BFileInfoAuthors=Die Namen sowie E-Mail Adressen der an diesem Projekt Mitwirkenden wurden in der im Stammverzeichnis von IcedTea-Web befindenden Datei AUTHORS hinterlegt. +BFileInfoCopying=Eine vollst\u00e4ndige Ausfertigung der GPLv2 Lizenz dieses Projekts wurde in der im Stammverzeichnis von IcedTea-Web befindenden Datei COPYING hinterlegt. +BFileInfoNews=Neuigkeiten \u00fcber die Ver\u00f6ffentlichungen dieses Projekts k\u00f6nnen der im Stammverzeichnis von IcedTea-Web befindenden Datei NEWS entnommen werden. # Boot options, message should be shorter than this ----------------> BOUsage=javaws [-Ausf\u00fchrungsoptionen] @@ -195,12 +251,14 @@ BOLicense=Die GPL Lizenz zeigen und beenden. BOVerbose=Ausf\u00fchrliche Ausgabe aktivieren. BOAbout=Zeigt eine Beispielanwendung. +BOVersion=Version von IcedTea-Web ausgeben und beenden. BONosecurity=Deaktiviert die sichere Laufzeitumgebung. BONoupdate=Deaktiviert die Pr\u00fcfung nach Aktualisierungen. BOHeadless=Deaktiviert Herunterladefenster und andere Benutzeroberfl\u00e4chen. BOStrict=Aktiviert die strikte Pr\u00fcfung des JNLP-Dateiformats. BOViewer=Zeigt die Ansicht der vertrauensw\u00fcrdigen Zertifikate. BOXml=Verwendet einen strikten XML-Parser f\u00fcr die JNLP-Datei. +BOredirect=Folgt HTTP-Umlenkungen. BXnofork=Keine weitere JVM erstellen. BXclearcache=Den JNLP-Anwendungszwischenspeicher s\u00e4ubern. BXignoreheaders=Die Pr\u00fcfung der Metadaten von Jar-Dateien auslassen. @@ -214,9 +272,9 @@ CChooseCache=Ein Zwischenspeicherverzeichnis w\u00e4hlen... CChooseCacheInfo=Netx ben\u00f6tigt einen Ort zur Ablage von Zwischenspeicherdateien. CChooseCacheDir=Zwischenspeicherverzeichnis -CCannotClearCache=Kann den Zwischenspeicher zur Zeit nicht s\u00e4ubern +CCannotClearCache=Kann den Zwischenspeicher zur Zeit nicht s\u00e4ubern, vielleicht sp\u00e4ter. Wenn das Problem bestehen bleibt, kann versucht werden den Browser und die JNLP-Anwendeungen zu schlie\u00dfen. Am Ende kann man versuchen alle Java-Anwendungen zu terminieren. \\\n Der Zwischenspeicher kann mit javaws -Xclearcache oder \u00fcber itw-settings Zwischenspeicher/Dateien anzeigen.../Leeren geleert werden. CFakeCache=Der Zwischenspeicher ist durcheinander; wird geordnet. -CFakedCache=Der Zwischenspeicher war durcheinander und wurde geordnet. Es wird strengstens empfohlen, dass \u201ejavaws -Xclearcache\u201c und anschlie\u00dfend die Anwendung ausgef\u00fchrt wird. +CFakedCache=Der Zwischenspeicher war durcheinander und wurde geordnet. Es wird strengstens empfohlen, dass \u201ejavaws -Xclearcache\u201c und anschlie\u00dfend die Anwendung ausgef\u00fchrt wird. Es kann ebenso \u00fcber itw-settings Zwischenspeicher/Dateien anzeigen.../Leeren verwendet werden. # Security SFileReadAccess=Die Anwendung hat Lesezugriff auf {0} angefordert. Soll diese Aktion zugelassen werden? @@ -249,6 +307,25 @@ SPartiallySignedQuestion=Soll fortgefahren und diese Anwendung dennoch zur Ausf\u00fchrung gebracht werden? SAuthenticationPrompt=Der Server {0} von {1} fordert Authentifizierung an. Er sagt: \u201e{2}\u201c SJNLPFileIsNotSigned=Die Anwendung enth\u00e4lt eine digitale Signatur in der, die startende JNLP-Datei nicht signiert ist. +SAppletTitle=Applettitel: {0} +STrustedOnlyAttributeFailure=Diese Anwendung gibt true f\u00fcr Trusted-only in ihrem Manifest an. {0} und fordert Berechtigungsstufe: {1}. Dies ist nicht erlaubt. +STOAsignedMsgFully=Das Applet ist vollst\u00e4ndig signiert +STOAsignedMsgAndSandbox=Das Applet ist vollst\u00e4ndig signiert und im Sandkasten +STOAsignedMsgPartiall=Das Applet ist nicht vollst\u00e4ndig signiert +STempPermNoFile=Kein Dateizugriff +STempPermNoNetwork=Kein Netzwerkzugriff +STempPermNoExec=Keine Ausf\u00fchrung von Befehlen +STempNoFileOrNetwork=Kein Datei- oder Netzwerkzugriff +STempNoExecOrNetwork=Kein Netzwerkzugriff oder Ausf\u00fchrung von Befehlen +STempNoFileOrExec=Kein Dateizugriff oder Ausf\u00fchrung von Befehlen +STempNoFileOrNetworkOrExec=Kein Dateizugriff, Netzwerkzugriff oder Ausf\u00fchrung von Befehlen +STempAllMedia=Alle Medien +STempSoundOnly=Klang abspielen +STempClipboardOnly=Zugriff auf die Zwischenablage +STempPrintOnly=Dokumentdruck +STempAllFileAndPropertyAccess=Voller Zugriff auf Dateien und Eigenschaften +STempReadLocalFilesAndProperties=Lokale Dateien und Eigenschaften ausschlie\u00dflich lesen +STempReflectionOnly=Ausschlie\u00dflich Java-Introspektion # Security - used for the More Information dialog SBadKeyUsage=Ressourcen enthalten Eintr\u00e4ge, deren Signaturzertifikaterweiterung KeyUsage die Codesignatur nicht zul\u00e4sst. @@ -303,6 +380,9 @@ DCInternal=Interner Fehler: {0} DCSourceInternal= DCUnknownSettingWithName=Die Eigenschaft \u201e{0}\u201c ist unbekannt. +DCmaindircheckNotexists=Nach allen Versuchen, das Benutzerkonfigurationsverzeichnis \u201e{0}\u201c existiert nicht. +DCmaindircheckNotdir=Das Benutzerkonfigurationsverzeichnis \u201e{0}\u201c ist kein Verzeichnis. +DCmaindircheckRwproblem=Schreib- oder Lesefehler beim Zugriff auf das Benutzerkonfigurationsverzeichnis \u201e{0}\u201c. # Value Validator messages. Messages should follow "Possible values ..." VVPossibleValues=M\u00f6gliche Werte {0} @@ -349,7 +429,7 @@ CPJVMNotokMessage2=M\u00f6gliche Gr\u00fcnde f\u00fcr diese Meldung sind:
* Einige Pr\u00fcftests wurden nicht bestanden
* Es wurde kein OpenJDK erkannt
Wegen eines ungeeigneten JDKs wird IcedTea-Web wahrscheinlich nicht starten k\u00f6nnen.
Die Eigenschaft {0} in der Konfigurationsdatei {1} m\u00fcsste angepasst oder entfernt werden.
Es wird empfohlen nach OpenJDK auf diesem System zu suchen. CPJVMconfirmInvalidJdkTitle=Ungeeignetes JDK CPJVMconfirmReset=Auf Standard zur\u00fccksetzen? -CPPolicyDetail=Die Java-Richtliniendatei des aktuellen Benutzers anschauen und bearbeiten. Dies erlaubt Laufzeitberechtigungen an Applets zu gew\u00e4hren oder abzulehnen, unabh\u00e4ngig von den Sandbox-Standardsicherheitsregeln. +CPPolicyDetail=Die Java-Richtliniendatei des aktuellen Benutzers anschauen und bearbeiten.
Dies erlaubt Laufzeitberechtigungen an Applets zu gew\u00e4hren oder abzulehnen, unabh\u00e4ngig von den Sandbox-Standardsicherheitsregeln. CPPolicyTooltip=\u00d6ffnet \u201e{0}\u201c im Richtlinieneditor (policytool) CPPolicyEditorNotFound=Konnte keinen Richtlinieneditor finden. Es sollte gepr\u00fcft werden, dass policytool \u00fcber die Umgebungsvariable PATH aufgel\u00f6st werden kann. @@ -359,7 +439,9 @@ CPButSettings=Einstellungen... CPButView=Anzeigen... CPButCertificates=Zertifikate... -CPButPolicy=Im\u00a0Richtlinieneditor\u00a0bearbeiten... +CPButSimpleEditor=Einfacher Editor... +CPButAdvancedEditor=Erweiterter Editor... + # Control Panel - Headers CPHead=IcedTea-Web Systemsteuerung @@ -388,7 +470,7 @@ CPTabPolicy=Richtlinieneinstellungen # Control Panel - AboutPanel -CPAboutInfo=Diese Systemsteuerung dient der Einstellung von deployment.properties.
Nicht alle Optionen haben eine Wirkung, bis Sie implementiert wurden.
Die Verwendung mehrerer JREs wird zur Zeit nicht unterst\u00fctzt.
+CPAboutInfo=Diese Systemsteuerung dient der Einstellung von deployment.properties.
Nicht alle Optionen haben eine Wirkung, bis Sie implementiert wurden.
Die Verwendung mehrerer JREs ist derzeit auf OpenJDK beschr\u00e4nkt.
# Control Panel - AdvancedProxySettings APSDialogTitle=Netzwerkeinstellungen @@ -406,11 +488,195 @@ APSExceptionInstruction=Trennen Sie jeden Eintrag mit einem Semikolon (;). # Control Panel - DebugginPanel +CPDebuggingPossibilites=Protokollausgabe DPEnableLogging=Protokollierung aktivieren +DPEnableLoggingHint=Wenn dieser Schalter gesetzt ist, dann werden ebenfalls Meldungen zur Fehlerbeseitigung protokolliert. Dies ist gleichbedeutend zu -verbose oder ICEDTEAPLUGIN_DEBUG=true. +DPEnableHeaders=Tabellen\u00fcberschriften aktivieren +DPEnableHeadersHint=Wenn dieser Schalter gesetzt ist, wird jede protokollierte Meldung mit zus\u00e4tzlichen \u00dcberschriften, wie Benutzer, Quellcodezeile und Zeit versehen. +DPEnableFile=Protokollierung in Datei aktivieren +CPFilesLogsDestDir=Protokolldateiverzeichnis +CPFilesLogsDestDirResert=Standard +DPEnableFileHint=Ausgabemeldungen werden in eine Datei im Verzeichnis \u201e{0}\u201c gespeichert +DPEnableStds=Protokollierung auf Standardausgabe aktivieren +DPEnableStdsHint=Meldungen werden auf der Standardausgabe ausgegeben +DPEnableSyslog=Protokollierung in das Systemprotokoll aktivieren +DPEnableSyslogHint=Ausgabemeldungen werden im Systemprotokoll gespeichert DPDisable=Deaktivieren DPHide=Beim Start verbergen DPShow=Beim Start anzeigen +DPShowPluginOnly=Beim Start des Plug-ins anzeigen +DPShowJavawsOnly=Beim Start von javaws anzeigen DPJavaConsole=Javakonsole +DPJavaConsoleDisabledHint=Die Javakonsole ist deaktiviert. Mit itweb-settings kann sie von \u201eDeaktiviert\u201c auf einen beliebigen Anzeige- oder Verbergewert konfiguriert werden. + +# PolicyEditor +PEUsage=policyeditor [-file Richtliniendatei] +PEHelpFlag=Diese Meldung ausgeben und beenden +PEFileFlag=Einen Richtliniendateipfad zum \u00f6ffnen angeben +PECodebaseFlag=Eine oder mehrere Codebasis-URLs zum hinzuf\u00fcgen oder fokussieren im Editor angeben +PETitle=Richtlinieneditor +PEReadProps=Systemeigenschaften lesen +PEReadPropsDetail=Applets das Lesen von Systemeigenschaften, wie den aktuellen Benutzernamen und den Ort des Benutzerverzeichnisses erlauben +PEWriteProps=Systemeigenschaften schreiben +PEWritePropsDetail=Applets das (\u00dcber)schreiben von Systemeigenschaften erlauben +PEReadFiles=Aus lokalen Dateien lesen +PEReadFilesDetail=Applets das Lesen aus Dateien im aktuellen Benutzerverzeichnis erlauben +PEWriteFiles=In lokale Dateien schreiben +PEWriteFilesDetail=Applets das Schreiben in Dateien im Benutzerverzeichnis des aktuellen Benutzers erlauben +PEDeleteFiles=Lokale Dateien l\u00f6schen +PEDeleteFilesDetail=Applets das L\u00f6schen von Dateien im Benutzerverzeichnis des aktuellen Benutzers erlauben +PEReadSystemFiles=Alle Systemdateien lesen +PEReadSystemFilesDetail=Applets ausschlie\u00dflichen Lesezugriff auf alle Orte im Computer erlauben +PEWriteSystemFiles=Alle Systemdateien schreiben +PEWriteSystemFilesDetail=Applets ausschlie\u00dflichen Schreibzugriff auf alle Orte im Computer erlauben +PEReadTempFiles=Aus tempor\u00e4ren Dateien lesen +PEReadTempFilesDetail=Applets das Lesen aus dem Verzeichnis tempor\u00e4rer Dateien des aktuellen Benutzers erlauben +PEWriteTempFiles=In tempor\u00e4re Dateien schreiben +PEWriteTempFilesDetail=Applets das Schreiben in das Verzeichnis tempor\u00e4rer Dateien des aktuellen Benutzers erlauben +PEDeleteTempFiles=Tempor\u00e4re Dateien l\u00f6schen +PEDeleteTempFilesDetail=Applets das L\u00f6schen von Dateien im Verzeichnis tempor\u00e4rer Dateien des aktuellen Benutzers erlauben +PEAWTPermission=Fenstersystemzugriff +PEAWTPermissionDetail=Applets den vollen Zugriff auf das AWT Fenstersystem erlauben +PEClipboard=Zugriff auf die Zwischenablage +PEClipboardDetail=Applets das Lesen und Schreiben der Zwischenablage des aktuellen Benutzers erlauben +PENetwork=Netzwerkzugriff +PENetworkDetail=Applets die Herstellung von beliebigen Netzwerkverbindungen erlauben +PEPrint=Dokumente drucken +PEPrintDetail=Applets das Einreihen von Druckauftr\u00e4gen erlauben +PEPlayAudio=Kl\u00e4nge abspielen +PEPlayAudioDetail=Applets das Abspielen von Kl\u00e4ngen, ohne Aufnahme erlauben +PERecordAudio=Ton aufnehmen +PERecordAudioDetail=Applets die Tonaufnahme, ohne Abspielen erlauben +PEReflection=Java Introspektion +PEReflectionDetail=Applets den Zugriff auf die Java Reflection API erlauben +PEClassLoader=Klassenlader abrufen +PEClassLoaderDetail=Applets den Zugriff auf den Systemklasslader (oft bei Introspektion verwendet) erlauben +PEClassInPackage=Zugriff auf fremde Pakete +PEClassInPackageDetail=Applets den Zugriff auf Klassen in fremden Applet-Paketen (oft bei Introspektion verwendet) erlauben +PEDeclaredMembers=Zugriff auf private Daten einer Klasse +PEDeclaredMembersDetail=Allow applets to access normally hidden data from other Java classes (oft bei Introspektion verwendet) erlauben +PEExec=Befehle ausf\u00fchren +PEExecDetail=Applets die Ausf\u00fchrung von Systembefehlen erlauben +PEGetEnv=Umgebungsvariablen abrufen +PEGetEnvDetail=Applets das Lesen von Systemumgebungsvariablen erlauben +PECouldNotOpen=Kann die Richtliniendatei nicht \u00f6ffnen +PECouldNotSave=Kann die Richtliniendatei nicht speichern +PEAddCodebase=Neue Codebasis hinzuf\u00fcgen +PERemoveCodebase=Entfernen +PECodebasePrompt=Eine neue Codebasis eingeben: +PEGlobalSettings=Alle Applets +PESaveChanges=Sollen die \u00c4nderungen vor dem Beenden gespeichert werden? +PEChangesSaved=\u00c4nderungen gespeichert +PECheckboxLabel=Berechtigungen +PECodebaseLabel=Codebasen +PEFileMenu=Datei +PEOpenMenuItem=\u00d6ffnen... +PESaveMenuItem=Speichern +PESaveAsMenuItem=Speichern unter... +PEExitMenuItem=Beenden +PEViewMenu=Ansicht +PECustomPermissionsItem=Benutzerdefinierte Berechtigungen... +PEFileModified=Datei\u00e4nderungswarnung +PEFileModifiedDetail=Die Richtliniendatei \u201e{0}\u201c wurde ge\u00e4ndert seit sie ge\u00f6ffnet wurde.\nNeu laden und bearbeiten vor dem Speichern? +PEGAccesUnowenedCode=Fremden Code ausf\u00fchren +PEGMediaAccess=Medienzugriff +PEGrightClick=Rechtsklick zum auf-/zuklappen +PEGReadFileSystem=Zum System lesen +PEGWriteFileSystem=Zum System schreiben + +# Policy Editor CustomPolicyViewer +PECPTitle=Ansicht benutzerdefinierter Richtlinien +PECPListLabel=Weitere Richtlinien f\u00fcr \u201e{0}\u201c +PECPAddButton=Hinzuf\u00fcgen +PECPRemoveButton=Entfernen +PECPCloseButton=Schlie\u00dfen +PECPType=Typ +PECPTarget=Ziel +PECPActions=Aktionen +PECPPrompt=Eingabe einer benutzerdefinierten Berechtigung\n\u201epermission\u201c oder Satzzeichen d\u00fcrfen nicht enthalten sein: + +# PolicyEditor key mnemonics. See java.awt.event.KeyEvent.VK_* +# N +PEAddCodebaseMnemonic=78 +# E +PERemoveCodebaseMnemonic=69 +# O +PEOkButtonMnemonic=79 +# A +PECancelButtonMnemonic=65 +# D +PEFileMenuMnemonic=68 +# S +PEViewMenuMnemonic=83 +# O +PEOpenMenuItemMnemonic=79 +# S +PESaveMenuItemMnemonic=83 +# U +PESaveAsMenuItemMnemonic=85 +# X +PEExitMenuItemMnemonic=88 +# B +PECustomPermissionsItemMnemonic=66 + +# conole itself labels +CONSOLErungc=Speicher bereinigen +CONSOLErunFinalizers=Finalisieren +CONSOLErunningFinalizers=Finalisierer werden ausgef\u00fchrt... +CONSOLEmemoryInfo=Speicher\u00fcbersicht +CONSOLEsystemProperties=Systemeigenschaften +CONSOLEclassLoaders=Verf\u00fcgbare Klassenlader +CONSOLEthreadList=Liste der Ausf\u00fchrungsstr\u00e4nge +CONSOLEthread=Ausf\u00fchrungsstrang +CONSOLEnoClassLoaders=Keine Informationen \u00fcber Klassenlader im System +CONSOLEmemoryMax=Maximal verf\u00fcgbarer Speicher +CONSOLEmemoryTotal=Gesamtspeicher +CONSOLEmemoryFree=Freier Speicher +CONSOLEClean=Konsole bereinigen + +# console output pane labels +COPsortCopyAllDate=\u201eAlles kopieren\u201c nach Datum sortieren +COPshowHeaders=\u00dcberschriften anzeigen: +COPuser=Benutzer +COPorigin=Herkunft +COPlevel=Stufe +COPdate=Datum +COPthread1=Ausf\u00fchrungsstrang 1 +COPthread2=Ausf\u00fchrungsstrang 2 +COPShowMessages=Meldungen anzeigen +COPstdOut=Standardausgabe +COPstdErr=Standardfehlerausgabe +COPjava=Java +COPplugin=Plug-in +COPpreInit=Pr\u00e4-Initialisierung +COPpluginOnly=Nur Plug-in +COPSortBy=Sortieren nach +COPregex=Filter regul\u00e4rer Ausdr\u00fccke +COPAsArrived=Nach Ankunft (keine Sortierung) +COPcode=Code +COPmessage=Meldung +COPSearch=Suchen +COPautoRefresh=Auto-Aktualisieren +COPrefresh=Aktualisieren +COPApply=Anwenden +COPmark=markieren +COPCopyAllPlain=Alles kopieren (einfach) +COPCopyAllRich=Alles kopieren (angereichert) +COPnext=Weiter>>> +COPprevious=<< References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=729 --- Comment #18 from Kevin Kofler --- > we can't do this because we would possibly break existing applications running > Java on Linux. Then those applications are already broken on the GNOME desktop, where the GTK+ look&feel has always been the default! The change just makes them consistently broken. ;-) > Of course, is equally easy to force a specific look and feel That depends. The "default" look&feel can be easily overridden through swing.properties, the "system" look&feel cannot (swing.properties isn't even looked at in that case), so without this patch, when applications went out of their way to integrate properly (by setting the system look&feel by default), they actually ended up LESS integrated both on KDE Plasma + oxygen-gtk and on all the non-GNOME GTK+-based desktops than when they didn't, which was very broken. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From jvanek at redhat.com Thu Jun 19 07:35:01 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 19 Jun 2014 09:35:01 +0200 Subject: [rfc][icedtea-web] Refactor of LiveConnect Tests Version 2 In-Reply-To: <914981407.16226111.1403115384250.JavaMail.zimbra@redhat.com> References: <1529622958.9604504.1401722424370.JavaMail.zimbra@redhat.com> <897487584.14208517.1402603111957.JavaMail.zimbra@redhat.com> <53A05EAA.5020504@redhat.com> <53A16502.3020304@redhat.com> <53A193E3.8080703@redhat.com> <53A1A7A7.3050303@redhat.com> <53A1B284.3090908@redhat.com> <53A1B4E4.4080803@redhat.com> <914981407.16226111.1403115384250.JavaMail.zimbra@redhat.com> Message-ID: <53A292A5.3000403@redhat.com> On 06/18/2014 08:16 PM, Jie Kang wrote: >> >> Well you are thinking about the shared code as about some library, which >> appelts/apps will reuse. >> That must not happen. The reproducers myust be as isolated as possible. >> > > If you see the first version of Refactor of LiveConnect tests we have reproducers completely isolated. However Omair suggested we start to implement the functionality required to launch single reproducers with their own dependencies with a shared folder. From my point of view this functionality is already working via whitelist. The reason for those indirect dependencies is simplicity of reproducers. Now you do not need to care about them at all. But the cost is, that you need to wait until all reprodcuers are compiled an copied with their resources ro reproducers_deploy_dir. If this become insufficient, then I will welcome improving patch, but as separate changesets with some final goal. Introducing shared folder for resources in this chnageset have no sense and is leaving mayor flaws of engine untouched. > > I think the hack to put a single shared file in a dummy test in reproducers/simple is pretty ugly and I would prefer either complete isolation or a designated shared folder, I agree with you here. > instead of a small hack just for these tests. Complete Isolation or Shared Properly, in-between seems like a bad idea. Yes, 100%, but pelase as searate changeset and with discussion how to handle executable dependences. > > Maybe another alternative hack is to copy-paste the shared JS into their own JS files and so there aren't any duplicate files (but have lot's of duplicate code). Please dont. Please no duplicate code. Keep it in one of the reproducers, and once it is copied to deploy dir, all reproducers may have benefits from it. I know that it is against what you have tried to do, but it is how it is supposed to be now. > > However I will prepare a patch for your suggested change. > >> >> Even more we are speaking about this,. even more I'm sure the shared dir, as >> was introduced can nto >> go in. >> >> But Patch, which will add the functionality to lunch single reproducer (and >> be able to handle its >> dependeces) may come in as separate (quite a big one I would guess) >> changeset. > > Yes I agree that it should be a separate fix for the test suite but we could make a small start towards this with the shared folder? Nope. Changesets have to be isolated. This is small hunk of different changeset which have sneeked here. Again sorry for interrupting well prepared, and well done fix. J. From bugzilla-daemon at icedtea.classpath.org Thu Jun 19 07:52:50 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 19 Jun 2014 07:52:50 +0000 Subject: [Bug 729] GTKLookAndFeel should be the system look&feel on all GNU/Linux desktops In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=729 --- Comment #19 from Andrew Haley --- (In reply to Andrew Azores from comment #16) > I came across a discussion thread [0] last night that seems pertitent to > this bug. It seems that at least some users are experiencing UI breakages > due to updating to 7u60 (IcedTea 2.5.0). > > [0] > http://www.reddit.com/r/archlinux/comments/28d6p9/upgrading_openjdk_removes_text_in_idea/ It seems to me that this is a decisive argument against doing this. We can't break applications in a minor update. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From jvanek at redhat.com Thu Jun 19 08:34:15 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 19 Jun 2014 10:34:15 +0200 Subject: [icedtea-web] URLPermission in Java 8 In-Reply-To: <53A1D45A.8010102@redhat.com> References: <53A19C36.5060506@redhat.com> <20140618160434.GE17307@redhat.com> <53A1C43D.6080903@redhat.com> <20140618170233.GB23062@redhat.com> <53A1D45A.8010102@redhat.com> Message-ID: <53A2A087.6070307@redhat.com> On 06/18/2014 08:03 PM, Andrew Azores wrote: > On 06/18/2014 01:02 PM, Omair Majid wrote: >> * Andrew Azores [2014-06-18 12:54]: >>> On 06/18/2014 12:04 PM, Omair Majid wrote: >>>> * Andrew Azores [2014-06-18 10:04]: >>>>> This patch can't compile with Java 7 >>>> >>>> I guess the question to ask is, do you want something built with Java 7 >>>> to just work on Java 7? Or do you want the same build to work with both >>>> Java 7 and 8? >>>> >>>> If it's the first, then a compile-time switch to optionally compile a >>>> 8-specific class that handles this responsibility seems appropriate. >>>> This is what we did for the X509TrustManager with 6/7 support. If you >>>> want the second option, then you probably have to use reflection to work >>>> around the issue. >>> >>> Right, this is something I have no informed opinion on. >> >> Jiri might know more about this. Getting one (compiled) version of >> Icedtea-Web to work with multiple Java versions selectable at runtime is >> a goal for future (next?) release. > > It sounded like he was hinting at that but I guess we'll wait for tomorrow and his clarification > before putting any more work into this. Both parts of this are practically done. But already now, when you built with 7, you can select 6 and it will not work properly. - we use (in head) export IT_LANGUAGE_SOURCE_VERSION=7 export IT_CLASS_TARGET_VERSION=7 - so the bytecode will be refused by 6 (?) - there is the 6 and 7 trust managers decided in compiletime But above issue do not count against compiled by 7 and run in 8. Personally , until jdk9 comes out, I would like to support 8 and 7. That means build export IT_LANGUAGE_SOURCE_VERSION=7 export IT_CLASS_TARGET_VERSION=7 and run in both 7 and 8. - and having only seventh's trust manager That leads to refelction solution. As for 1.5 this is a bit more compilcated,a nd we need to solve it. In 1.5 we export IT_LANGUAGE_SOURCE_VERSION=6 export IT_CLASS_TARGET_VERSION=6 And canbe built with both 6 and 7 trust manager built by 6 - the six's manager is used built by 7 or 8 - the seventh's manager is used So the reflection solution should be ok here. More discus sable is whether 1.5 should be 8 compatible. But IMO - should be. I'm afraid 1.6 will not be out soon, and jdk8 is already alive. J. > >> >>>>> is also probably too lenient about the URLPermission it's >>>>> granting, which allows any request method with any headers to any resource >>>>> recursively and inclusively in the applet codebase. >>>> >>>> Isn't that expected? >>> >>> I don't know. That's the first thing I think we need to figure out. The >>> actual result does indeed match exactly what I intended and expected for it >>> to do, but I don't know if this is actually the right thing to do. >> >> I think we should follow the Same Origin Policy [1][2][3] model used by >> browsers and not be more restrictive unless there's a very very good >> reason to. >> >> Thanks, >> Omair >> >> [1] http://icedtea.classpath.org/wiki/IcedTea-Web#Same_Origin_Policy >> [2] http://en.wikipedia.org/wiki/Same-origin_policy >> [3] https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy >> > > Okay, so I guess my gut feeling on the permission was actually pretty much right on :) > > Thanks, From bugzilla-daemon at icedtea.classpath.org Thu Jun 19 09:26:30 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 19 Jun 2014 09:26:30 +0000 Subject: [Bug 729] GTKLookAndFeel should be the system look&feel on all GNU/Linux desktops In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=729 --- Comment #20 from Mario Torre --- (In reply to Kevin Kofler from comment #18) > > we can't do this because we would possibly break existing applications running > > Java on Linux. > > Then those applications are already broken on the GNOME desktop, where the > GTK+ look&feel has always been the default! The change just makes them > consistently broken. ;-) > > > Of course, is equally easy to force a specific look and feel > > That depends. The "default" look&feel can be easily overridden through > swing.properties, the "system" look&feel cannot (swing.properties isn't even > looked at in that case), so without this patch, when applications went out > of their way to integrate properly (by setting the system look&feel by > default), they actually ended up LESS integrated both on KDE Plasma + > oxygen-gtk and on all the non-GNOME GTK+-based desktops than when they > didn't, which was very broken. Perhaps we may add a property, "system.default.laf" or such and make swing.properties to be read by the LAF manager to return a different default than metal, so the default would be backward compatible but users could enable a system wide laf if they want to. I think I would be fine with such option, but albeit it should not be too much work, I really don't have currently any spare cycles to look at that myself now. Cheers, Mario -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bugzilla-daemon at icedtea.classpath.org Thu Jun 19 09:28:24 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 19 Jun 2014 09:28:24 +0000 Subject: [Bug 1743] Intermittant deadlock in PluginRequestProcessor In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1743 --- Comment #7 from JiriVanek --- > > > May I ask you to test, on system where you can reproduce this - ITW 1.5 (or > > head) with ICEDTEAPLUGIN_DEBUG=true? > > Sure, will do. > > > 1.5 have special debug messages and queue and thread. Well it can cause > > similar deadlock as regualr messages. > > Are you refering to the pre_jvm_message queue or something else? > Yes. It came in with http://icedtea.classpath.org/hg/icedtea-web/rev/bb1f288a297a and few other tweeks later. I will try push you current patch to head and 1.5 today -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From jvanek at icedtea.classpath.org Thu Jun 19 10:56:08 2014 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Thu, 19 Jun 2014 10:56:08 +0000 Subject: /hg/icedtea-web: fixed PR1743 - Intermittant deadlock in PluginR... Message-ID: changeset 3eec89a2205e in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=3eec89a2205e author: Jiri Vanek date: Thu Jun 19 12:55:49 2014 +0200 fixed PR1743 - Intermittant deadlock in PluginRequestProcessor diffstat: AUTHORS | 3 +- ChangeLog | 20 ++++++ NEWS | 2 + plugin/icedteanp/IcedTeaNPPlugin.cc | 2 - plugin/icedteanp/IcedTeaNPPlugin.h | 3 - plugin/icedteanp/IcedTeaPluginRequestProcessor.cc | 70 ++++++++++++---------- plugin/icedteanp/IcedTeaPluginRequestProcessor.h | 39 ++++++----- 7 files changed, 82 insertions(+), 57 deletions(-) diffs (334 lines): diff -r 556f21f1d95c -r 3eec89a2205e AUTHORS --- a/AUTHORS Wed Jun 18 19:22:54 2014 +0200 +++ b/AUTHORS Thu Jun 19 12:55:49 2014 +0200 @@ -9,13 +9,13 @@ Adam Domurad Lukasz Dracz Thomas Fitzsimmons +Micha?? G??rny < mgorny at gentoo.org > Mark Greenwood Peter Hatina Andrew John Hughes Jie Kang Matthias Klose Alexandr Kolouch -Micha?? G??rny < mgorny at gentoo.org > Jan Kmetko Francis Kung Denis Lila @@ -23,6 +23,7 @@ Omair Majid Jon A. Maxwell Thomas Meyer +Kurt Miller Saad Mohammad Martin Olsson Andrew Su diff -r 556f21f1d95c -r 3eec89a2205e ChangeLog --- a/ChangeLog Wed Jun 18 19:22:54 2014 +0200 +++ b/ChangeLog Thu Jun 19 12:55:49 2014 +0200 @@ -1,3 +1,23 @@ +2014-06-19 Kurt Miller + + Fixed PR1743 - Intermittant deadlock in PluginRequestProcessor + * NEWS: added PR1743 + * plugin/icedteanp/IcedTeaNPPlugin.cc: declaration of cond_message_available + moved to PluginRequestProcessor class + * plugin/icedteanp/IcedTeaNPPlugin.h: removed external cond_message_available search + * plugin/icedteanp/IcedTeaPluginRequestProcessor.h: message_queue_mutex, + syn_write_mutex and message_queue moved to PluginRequestProcessor clas. + Constructor, destructor and newMessageOnBus declarationmoved to end of class. + declared queueProcessorThread method. + * plugin/icedteanp/IcedTeaPluginRequestProcessor.cc: Removed declaration of + static message_queue_mutex, syn_write_mutex, message_queue. (PluginRequestProcessor) + constructor and destructor and (newMessageOnBus) are now using the fields from + PluginRequestProcessor class. new method of (queue_wait_cleanup) to unlock mutex + added. (queue_processor) is now calling queueProcessorThread. Implemented + (queueProcessorThread), which uses setMember, call , eval and loadUrl rather + then processor->, versions. If no message_parts are available, the cleanup is done + only if message_queue is empty. + 2014-06-18 Jacob Wisor * netx/net/sourceforge/jnlp/resources/Messages.properties (BOredirect) diff -r 556f21f1d95c -r 3eec89a2205e NEWS --- a/NEWS Wed Jun 18 19:22:54 2014 +0200 +++ b/NEWS Thu Jun 19 12:55:49 2014 +0200 @@ -9,6 +9,8 @@ CVE-XXXX-YYYY: http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY New in release 1.6 (2014-XX-XX): +* Plugin + - PR1743 - Intermittant deadlock in PluginRequestProcessor New in release 1.5 (2014-XX-XX): * IcedTea-Web now using tagsoup as default (tagsoup dependence) sanitizer for input diff -r 556f21f1d95c -r 3eec89a2205e plugin/icedteanp/IcedTeaNPPlugin.cc --- a/plugin/icedteanp/IcedTeaNPPlugin.cc Wed Jun 18 19:22:54 2014 +0200 +++ b/plugin/icedteanp/IcedTeaNPPlugin.cc Thu Jun 19 12:55:49 2014 +0200 @@ -241,8 +241,6 @@ int plugin_debug_suspend = (getenv("ICEDTEAPLUGIN_DEBUG") != NULL) && (strcmp(getenv("ICEDTEAPLUGIN_DEBUG"), "suspend") == 0); -pthread_cond_t cond_message_available = PTHREAD_COND_INITIALIZER; - #ifdef LEGACY_GLIB // Returns key from first item stored in hashtable diff -r 556f21f1d95c -r 3eec89a2205e plugin/icedteanp/IcedTeaNPPlugin.h --- a/plugin/icedteanp/IcedTeaNPPlugin.h Wed Jun 18 19:22:54 2014 +0200 +++ b/plugin/icedteanp/IcedTeaNPPlugin.h Thu Jun 19 12:55:49 2014 +0200 @@ -106,9 +106,6 @@ NPError initialize_data_directory(); NPError start_jvm_if_needed(); -// Condition on which the queue processor waits -extern pthread_cond_t cond_message_available; - // ID of plug-in thread extern pthread_t itnp_plugin_thread_id; diff -r 556f21f1d95c -r 3eec89a2205e plugin/icedteanp/IcedTeaPluginRequestProcessor.cc --- a/plugin/icedteanp/IcedTeaPluginRequestProcessor.cc Wed Jun 18 19:22:54 2014 +0200 +++ b/plugin/icedteanp/IcedTeaPluginRequestProcessor.cc Thu Jun 19 12:55:49 2014 +0200 @@ -47,11 +47,6 @@ * information, script execution and variable get/set */ -// Initialize static members used by the queue processing framework -pthread_mutex_t message_queue_mutex = PTHREAD_MUTEX_INITIALIZER; -pthread_mutex_t syn_write_mutex = PTHREAD_MUTEX_INITIALIZER; -std::vector< std::vector* >* message_queue = new std::vector< std::vector* >(); - /** * PluginRequestProcessor constructor. * @@ -60,14 +55,13 @@ PluginRequestProcessor::PluginRequestProcessor() { - this->pendingRequests = new std::map(); + this->message_queue = new std::vector< std::vector* >(); internal_req_ref_counter = 0; - pthread_mutex_init(&message_queue_mutex, NULL); - pthread_mutex_init(&syn_write_mutex, NULL); - - pthread_cond_init(&cond_message_available, NULL); + pthread_mutex_init(&this->message_queue_mutex, NULL); + pthread_mutex_init(&this->syn_write_mutex, NULL); + pthread_cond_init(&this->cond_message_available, NULL); } /** @@ -80,12 +74,11 @@ { PLUGIN_DEBUG("PluginRequestProcessor::~PluginRequestProcessor\n"); - if (pendingRequests) - delete pendingRequests; + if (message_queue) + delete message_queue; pthread_mutex_destroy(&message_queue_mutex); pthread_mutex_destroy(&syn_write_mutex); - pthread_cond_destroy(&cond_message_available); } @@ -142,10 +135,9 @@ // Update queue synchronously pthread_mutex_lock(&message_queue_mutex); message_queue->push_back(message_parts); + pthread_cond_signal(&cond_message_available); pthread_mutex_unlock(&message_queue_mutex); - // Broadcast that a message is now available - pthread_cond_broadcast(&cond_message_available); return true; } @@ -635,10 +627,13 @@ static void queue_cleanup(void* data) { + PLUGIN_DEBUG("Queue processing stopped.\n"); +} - pthread_mutex_destroy((pthread_mutex_t*) data); - - PLUGIN_DEBUG("Queue processing stopped.\n"); +static void +queue_wait_cleanup(void* data) +{ + pthread_mutex_unlock((pthread_mutex_t*) data); } void* @@ -646,15 +641,19 @@ { PluginRequestProcessor* processor = (PluginRequestProcessor*) data; + processor->queueProcessorThread(); + return NULL; +} + +void +PluginRequestProcessor::queueProcessorThread() +{ std::vector* message_parts = NULL; std::string command; - pthread_mutex_t wait_mutex = PTHREAD_MUTEX_INITIALIZER; PLUGIN_DEBUG("Queue processor initialized. Queue = %p\n", message_queue); - pthread_mutex_init(&wait_mutex, NULL); - - pthread_cleanup_push(queue_cleanup, (void*) &wait_mutex); + pthread_cleanup_push(queue_cleanup, NULL); while (true) { @@ -672,45 +671,45 @@ if (command == "GetMember") { - processor->sendMember(message_parts); + sendMember(message_parts); } else if (command == "ToString") { - processor->sendString(message_parts); + sendString(message_parts); } else if (command == "SetMember") { // write methods are synchronized pthread_mutex_lock(&syn_write_mutex); - processor->setMember(message_parts); + setMember(message_parts); pthread_mutex_unlock(&syn_write_mutex); } else if (command == "Call") { // write methods are synchronized pthread_mutex_lock(&syn_write_mutex); - processor->call(message_parts); + call(message_parts); pthread_mutex_unlock(&syn_write_mutex); } else if (command == "Eval") { // write methods are synchronized pthread_mutex_lock(&syn_write_mutex); - processor->eval(message_parts); + eval(message_parts); pthread_mutex_unlock(&syn_write_mutex); } else if (command == "GetSlot") { // write methods are synchronized pthread_mutex_lock(&syn_write_mutex); - processor->sendMember(message_parts); + sendMember(message_parts); pthread_mutex_unlock(&syn_write_mutex); } else if (command == "SetSlot") { // write methods are synchronized pthread_mutex_lock(&syn_write_mutex); - processor->setMember(message_parts); + setMember(message_parts); pthread_mutex_unlock(&syn_write_mutex); } else if (command == "LoadURL") // For instance X url { // write methods are synchronized pthread_mutex_lock(&syn_write_mutex); - processor->loadURL(message_parts); + loadURL(message_parts); pthread_mutex_unlock(&syn_write_mutex); } else { @@ -723,9 +722,14 @@ } else { - pthread_mutex_lock(&wait_mutex); - pthread_cond_wait(&cond_message_available, &wait_mutex); - pthread_mutex_unlock(&wait_mutex); + pthread_mutex_lock(&message_queue_mutex); + if (message_queue->size() == 0) + { + pthread_cleanup_push(queue_wait_cleanup, &message_queue_mutex); + pthread_cond_wait(&cond_message_available, &message_queue_mutex); + pthread_cleanup_pop(0); + } + pthread_mutex_unlock(&message_queue_mutex); } message_parts = NULL; diff -r 556f21f1d95c -r 3eec89a2205e plugin/icedteanp/IcedTeaPluginRequestProcessor.h --- a/plugin/icedteanp/IcedTeaPluginRequestProcessor.h Wed Jun 18 19:22:54 2014 +0200 +++ b/plugin/icedteanp/IcedTeaPluginRequestProcessor.h Thu Jun 19 12:55:49 2014 +0200 @@ -69,15 +69,6 @@ void* queue_processor(void* data); -/* Mutex to ensure that the request queue is accessed synchronously */ -extern pthread_mutex_t message_queue_mutex; - -/* Mutex to ensure synchronized writes */ -extern pthread_mutex_t syn_write_mutex; - -/* Queue for holding messages that get processed in a separate thread */ -extern std::vector< std::vector* >* message_queue; - /** * Processes requests made TO the plugin (by java or anyone else) */ @@ -85,8 +76,17 @@ { private: - /* Requests that are still pending */ - std::map* pendingRequests; + /* Mutex to ensure that the request queue is accessed synchronously */ + pthread_mutex_t message_queue_mutex; + + /* Condition on which the queue processor waits */ + pthread_cond_t cond_message_available; + + /* Queue for holding messages that get processed in a separate thread */ + std::vector< std::vector* >* message_queue; + + /* Mutex to ensure synchronized writes */ + pthread_mutex_t syn_write_mutex; /* Dispatch request processing to a new thread for asynch. processing */ void dispatch(void* func_ptr (void*), std::vector* message, std::string* src); @@ -97,13 +97,6 @@ /* Stores the variant on java side */ void storeVariantInJava(NPVariant variant, std::string* result); - public: - PluginRequestProcessor(); /* Constructor */ - ~PluginRequestProcessor(); /* Destructor */ - - /* Process new requests (if applicable) */ - virtual bool newMessageOnBus(const char* message); - /* Send member ID to Java */ void sendMember(std::vector* message_parts); @@ -124,6 +117,16 @@ /* Loads a URL into the specified target */ void loadURL(std::vector* message_parts); + + public: + PluginRequestProcessor(); /* Constructor */ + ~PluginRequestProcessor(); /* Destructor */ + + /* Process new requests (if applicable) */ + virtual bool newMessageOnBus(const char* message); + + /* Thread run method for processing queued messages */ + void queueProcessorThread(); }; #endif // __ICEDTEAPLUGINREQUESTPROCESSOR_H__ From bugzilla-daemon at icedtea.classpath.org Thu Jun 19 10:56:36 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 19 Jun 2014 10:56:36 +0000 Subject: [Bug 1743] Intermittant deadlock in PluginRequestProcessor In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1743 --- Comment #8 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea-web?cmd=changeset;node=3eec89a2205e author: Jiri Vanek date: Thu Jun 19 12:55:49 2014 +0200 fixed PR1743 - Intermittant deadlock in PluginRequestProcessor -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From jvanek at icedtea.classpath.org Thu Jun 19 11:05:44 2014 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Thu, 19 Jun 2014 11:05:44 +0000 Subject: /hg/release/icedtea-web-1.5: Fixed PR1743 - Intermittant deadloc... Message-ID: changeset b16b30a1380d in /hg/release/icedtea-web-1.5 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.5?cmd=changeset;node=b16b30a1380d author: Jiri Vanek date: Thu Jun 19 13:05:26 2014 +0200 Fixed PR1743 - Intermittant deadlock in PluginRequestProcessor diffstat: AUTHORS | 3 +- ChangeLog | 20 ++++++ NEWS | 2 + plugin/icedteanp/IcedTeaNPPlugin.cc | 2 - plugin/icedteanp/IcedTeaNPPlugin.h | 3 - plugin/icedteanp/IcedTeaPluginRequestProcessor.cc | 70 ++++++++++++---------- plugin/icedteanp/IcedTeaPluginRequestProcessor.h | 39 ++++++----- 7 files changed, 82 insertions(+), 57 deletions(-) diffs (333 lines): diff -r 576b9e693117 -r b16b30a1380d AUTHORS --- a/AUTHORS Wed Jun 18 20:34:52 2014 +0200 +++ b/AUTHORS Thu Jun 19 13:05:26 2014 +0200 @@ -8,12 +8,12 @@ Danesh Dadachanji Adam Domurad Thomas Fitzsimmons +Micha?? G??rny < mgorny at gentoo.org > Mark Greenwood Peter Hatina Andrew John Hughes Matthias Klose Alexandr Kolouch -Micha?? G??rny < mgorny at gentoo.org > Jan Kmetko Francis Kung Denis Lila @@ -21,6 +21,7 @@ Omair Majid Jon A. Maxwell Thomas Meyer +Kurt Miller Saad Mohammad Martin Olsson Andrew Su diff -r 576b9e693117 -r b16b30a1380d ChangeLog --- a/ChangeLog Wed Jun 18 20:34:52 2014 +0200 +++ b/ChangeLog Thu Jun 19 13:05:26 2014 +0200 @@ -1,3 +1,23 @@ +2014-06-19 Kurt Miller + + Fixed PR1743 - Intermittant deadlock in PluginRequestProcessor + * NEWS: added PR1743 + * plugin/icedteanp/IcedTeaNPPlugin.cc: declaration of cond_message_available + moved to PluginRequestProcessor class + * plugin/icedteanp/IcedTeaNPPlugin.h: removed external cond_message_available search + * plugin/icedteanp/IcedTeaPluginRequestProcessor.h: message_queue_mutex, + syn_write_mutex and message_queue moved to PluginRequestProcessor clas. + Constructor, destructor and newMessageOnBus declarationmoved to end of class. + declared queueProcessorThread method. + * plugin/icedteanp/IcedTeaPluginRequestProcessor.cc: Removed declaration of + static message_queue_mutex, syn_write_mutex, message_queue. (PluginRequestProcessor) + constructor and destructor and (newMessageOnBus) are now using the fields from + PluginRequestProcessor class. new method of (queue_wait_cleanup) to unlock mutex + added. (queue_processor) is now calling queueProcessorThread. Implemented + (queueProcessorThread), which uses setMember, call , eval and loadUrl rather + then processor->, versions. If no message_parts are available, the cleanup is done + only if message_queue is empty. + 2014-06-18 Jacob Wisor * netx/net/sourceforge/jnlp/resources/Messages.properties (BOredirect) diff -r 576b9e693117 -r b16b30a1380d NEWS --- a/NEWS Wed Jun 18 20:34:52 2014 +0200 +++ b/NEWS Thu Jun 19 13:05:26 2014 +0200 @@ -9,6 +9,8 @@ CVE-XXXX-YYYY: http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY New in release 1.5.1 (YYYY-MM-DD): +* Plugin + - PR1743 - Intermittant deadlock in PluginRequestProcessor New in release 1.5 (2014-04-02): * IcedTea-Web now using tagsoup as default (tagsoup dependence) sanitizer for input diff -r 576b9e693117 -r b16b30a1380d plugin/icedteanp/IcedTeaNPPlugin.cc --- a/plugin/icedteanp/IcedTeaNPPlugin.cc Wed Jun 18 20:34:52 2014 +0200 +++ b/plugin/icedteanp/IcedTeaNPPlugin.cc Thu Jun 19 13:05:26 2014 +0200 @@ -239,8 +239,6 @@ int plugin_debug_suspend = (getenv("ICEDTEAPLUGIN_DEBUG") != NULL) && (strcmp(getenv("ICEDTEAPLUGIN_DEBUG"), "suspend") == 0); -pthread_cond_t cond_message_available = PTHREAD_COND_INITIALIZER; - #ifdef LEGACY_GLIB // Returns key from first item stored in hashtable diff -r 576b9e693117 -r b16b30a1380d plugin/icedteanp/IcedTeaNPPlugin.h --- a/plugin/icedteanp/IcedTeaNPPlugin.h Wed Jun 18 20:34:52 2014 +0200 +++ b/plugin/icedteanp/IcedTeaNPPlugin.h Thu Jun 19 13:05:26 2014 +0200 @@ -106,9 +106,6 @@ NPError initialize_data_directory(); NPError start_jvm_if_needed(); -// Condition on which the queue processor waits -extern pthread_cond_t cond_message_available; - // ID of plug-in thread extern pthread_t itnp_plugin_thread_id; diff -r 576b9e693117 -r b16b30a1380d plugin/icedteanp/IcedTeaPluginRequestProcessor.cc --- a/plugin/icedteanp/IcedTeaPluginRequestProcessor.cc Wed Jun 18 20:34:52 2014 +0200 +++ b/plugin/icedteanp/IcedTeaPluginRequestProcessor.cc Thu Jun 19 13:05:26 2014 +0200 @@ -47,11 +47,6 @@ * information, script execution and variable get/set */ -// Initialize static members used by the queue processing framework -pthread_mutex_t message_queue_mutex = PTHREAD_MUTEX_INITIALIZER; -pthread_mutex_t syn_write_mutex = PTHREAD_MUTEX_INITIALIZER; -std::vector< std::vector* >* message_queue = new std::vector< std::vector* >(); - /** * PluginRequestProcessor constructor. * @@ -60,14 +55,13 @@ PluginRequestProcessor::PluginRequestProcessor() { - this->pendingRequests = new std::map(); + this->message_queue = new std::vector< std::vector* >(); internal_req_ref_counter = 0; - pthread_mutex_init(&message_queue_mutex, NULL); - pthread_mutex_init(&syn_write_mutex, NULL); - - pthread_cond_init(&cond_message_available, NULL); + pthread_mutex_init(&this->message_queue_mutex, NULL); + pthread_mutex_init(&this->syn_write_mutex, NULL); + pthread_cond_init(&this->cond_message_available, NULL); } /** @@ -80,12 +74,11 @@ { PLUGIN_DEBUG("PluginRequestProcessor::~PluginRequestProcessor\n"); - if (pendingRequests) - delete pendingRequests; + if (message_queue) + delete message_queue; pthread_mutex_destroy(&message_queue_mutex); pthread_mutex_destroy(&syn_write_mutex); - pthread_cond_destroy(&cond_message_available); } @@ -142,10 +135,9 @@ // Update queue synchronously pthread_mutex_lock(&message_queue_mutex); message_queue->push_back(message_parts); + pthread_cond_signal(&cond_message_available); pthread_mutex_unlock(&message_queue_mutex); - // Broadcast that a message is now available - pthread_cond_broadcast(&cond_message_available); return true; } @@ -635,10 +627,13 @@ static void queue_cleanup(void* data) { + PLUGIN_DEBUG("Queue processing stopped.\n"); +} - pthread_mutex_destroy((pthread_mutex_t*) data); - - PLUGIN_DEBUG("Queue processing stopped.\n"); +static void +queue_wait_cleanup(void* data) +{ + pthread_mutex_unlock((pthread_mutex_t*) data); } void* @@ -646,15 +641,19 @@ { PluginRequestProcessor* processor = (PluginRequestProcessor*) data; + processor->queueProcessorThread(); + return NULL; +} + +void +PluginRequestProcessor::queueProcessorThread() +{ std::vector* message_parts = NULL; std::string command; - pthread_mutex_t wait_mutex = PTHREAD_MUTEX_INITIALIZER; PLUGIN_DEBUG("Queue processor initialized. Queue = %p\n", message_queue); - pthread_mutex_init(&wait_mutex, NULL); - - pthread_cleanup_push(queue_cleanup, (void*) &wait_mutex); + pthread_cleanup_push(queue_cleanup, NULL); while (true) { @@ -672,45 +671,45 @@ if (command == "GetMember") { - processor->sendMember(message_parts); + sendMember(message_parts); } else if (command == "ToString") { - processor->sendString(message_parts); + sendString(message_parts); } else if (command == "SetMember") { // write methods are synchronized pthread_mutex_lock(&syn_write_mutex); - processor->setMember(message_parts); + setMember(message_parts); pthread_mutex_unlock(&syn_write_mutex); } else if (command == "Call") { // write methods are synchronized pthread_mutex_lock(&syn_write_mutex); - processor->call(message_parts); + call(message_parts); pthread_mutex_unlock(&syn_write_mutex); } else if (command == "Eval") { // write methods are synchronized pthread_mutex_lock(&syn_write_mutex); - processor->eval(message_parts); + eval(message_parts); pthread_mutex_unlock(&syn_write_mutex); } else if (command == "GetSlot") { // write methods are synchronized pthread_mutex_lock(&syn_write_mutex); - processor->sendMember(message_parts); + sendMember(message_parts); pthread_mutex_unlock(&syn_write_mutex); } else if (command == "SetSlot") { // write methods are synchronized pthread_mutex_lock(&syn_write_mutex); - processor->setMember(message_parts); + setMember(message_parts); pthread_mutex_unlock(&syn_write_mutex); } else if (command == "LoadURL") // For instance X url { // write methods are synchronized pthread_mutex_lock(&syn_write_mutex); - processor->loadURL(message_parts); + loadURL(message_parts); pthread_mutex_unlock(&syn_write_mutex); } else { @@ -723,9 +722,14 @@ } else { - pthread_mutex_lock(&wait_mutex); - pthread_cond_wait(&cond_message_available, &wait_mutex); - pthread_mutex_unlock(&wait_mutex); + pthread_mutex_lock(&message_queue_mutex); + if (message_queue->size() == 0) + { + pthread_cleanup_push(queue_wait_cleanup, &message_queue_mutex); + pthread_cond_wait(&cond_message_available, &message_queue_mutex); + pthread_cleanup_pop(0); + } + pthread_mutex_unlock(&message_queue_mutex); } message_parts = NULL; diff -r 576b9e693117 -r b16b30a1380d plugin/icedteanp/IcedTeaPluginRequestProcessor.h --- a/plugin/icedteanp/IcedTeaPluginRequestProcessor.h Wed Jun 18 20:34:52 2014 +0200 +++ b/plugin/icedteanp/IcedTeaPluginRequestProcessor.h Thu Jun 19 13:05:26 2014 +0200 @@ -69,15 +69,6 @@ void* queue_processor(void* data); -/* Mutex to ensure that the request queue is accessed synchronously */ -extern pthread_mutex_t message_queue_mutex; - -/* Mutex to ensure synchronized writes */ -extern pthread_mutex_t syn_write_mutex; - -/* Queue for holding messages that get processed in a separate thread */ -extern std::vector< std::vector* >* message_queue; - /** * Processes requests made TO the plugin (by java or anyone else) */ @@ -85,8 +76,17 @@ { private: - /* Requests that are still pending */ - std::map* pendingRequests; + /* Mutex to ensure that the request queue is accessed synchronously */ + pthread_mutex_t message_queue_mutex; + + /* Condition on which the queue processor waits */ + pthread_cond_t cond_message_available; + + /* Queue for holding messages that get processed in a separate thread */ + std::vector< std::vector* >* message_queue; + + /* Mutex to ensure synchronized writes */ + pthread_mutex_t syn_write_mutex; /* Dispatch request processing to a new thread for asynch. processing */ void dispatch(void* func_ptr (void*), std::vector* message, std::string* src); @@ -97,13 +97,6 @@ /* Stores the variant on java side */ void storeVariantInJava(NPVariant variant, std::string* result); - public: - PluginRequestProcessor(); /* Constructor */ - ~PluginRequestProcessor(); /* Destructor */ - - /* Process new requests (if applicable) */ - virtual bool newMessageOnBus(const char* message); - /* Send member ID to Java */ void sendMember(std::vector* message_parts); @@ -124,6 +117,16 @@ /* Loads a URL into the specified target */ void loadURL(std::vector* message_parts); + + public: + PluginRequestProcessor(); /* Constructor */ + ~PluginRequestProcessor(); /* Destructor */ + + /* Process new requests (if applicable) */ + virtual bool newMessageOnBus(const char* message); + + /* Thread run method for processing queued messages */ + void queueProcessorThread(); }; #endif // __ICEDTEAPLUGINREQUESTPROCESSOR_H__ From bugzilla-daemon at icedtea.classpath.org Thu Jun 19 11:05:51 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 19 Jun 2014 11:05:51 +0000 Subject: [Bug 1743] Intermittant deadlock in PluginRequestProcessor In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1743 --- Comment #9 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea-web-1.5?cmd=changeset;node=b16b30a1380d author: Jiri Vanek date: Thu Jun 19 13:05:26 2014 +0200 Fixed PR1743 - Intermittant deadlock in PluginRequestProcessor -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From jvanek at redhat.com Thu Jun 19 11:33:07 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 19 Jun 2014 13:33:07 +0200 Subject: [rfc][icedtea-web]missing news Message-ID: <53A2CA73.6090801@redhat.com> Hi! I noted I have forgot to write news for my changes. What I recall I owe those: HEAD New in release 1.6 (2014-XX-XX): +* Improved to be able to run with any JDK +* JDK 6 and older no longer supported +* Added DE localisation +* Added KEY_ENABLE_MANIFEST_ATTRIBUTES_CHECK deployment property to control scan of Manifest file * Plugin - PR1743 - Intermittant deadlock in PluginRequestProcessor 1.5 New in release 1.5.1 (YYYY-MM-DD): +* Improved to be able to run with any JDK +* Added DE localisation +* Added KEY_ENABLE_MANIFEST_ATTRIBUTES_CHECK deployment property to control scan of Manifest file * Plugin - PR1743 - Intermittant deadlock in PluginRequestProcessor Please all others, who had change pushed, please verifi if NEWS record was not worthy. J. From ptisnovs at icedtea.classpath.org Thu Jun 19 12:22:14 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Thu, 19 Jun 2014 12:22:14 +0000 Subject: /hg/gfx-test: Ten new helper methods added into BitBltBufferedIm... Message-ID: changeset 826784d42ab5 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=826784d42ab5 author: Pavel Tisnovsky date: Thu Jun 19 14:23:03 2014 +0200 Ten new helper methods added into BitBltBufferedImageOp. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/BitBltBufferedImageOp.java | 170 ++++++++++++++++++ 2 files changed, 175 insertions(+), 0 deletions(-) diffs (192 lines): diff -r 79cf209207d6 -r 826784d42ab5 ChangeLog --- a/ChangeLog Wed Jun 18 11:46:56 2014 +0200 +++ b/ChangeLog Thu Jun 19 14:23:03 2014 +0200 @@ -1,3 +1,8 @@ +2014-06-19 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/BitBltBufferedImageOp.java: + Ten new helper methods added into BitBltBufferedImageOp. + 2014-06-18 Pavel Tisnovsky * src/org/gfxtest/testsuites/CAGOperationsOnTwoTouchingCircles.java: diff -r 79cf209207d6 -r 826784d42ab5 src/org/gfxtest/testsuites/BitBltBufferedImageOp.java --- a/src/org/gfxtest/testsuites/BitBltBufferedImageOp.java Wed Jun 18 11:46:56 2014 +0200 +++ b/src/org/gfxtest/testsuites/BitBltBufferedImageOp.java Thu Jun 19 14:23:03 2014 +0200 @@ -2778,6 +2778,176 @@ } /** + * Test basic BitBlt operation for buffered image with type {@link BufferedImage#TYPE_USHORT_GRAY}. + * + * @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 + */ + protected TestResult doBitBltBWDotsTypeUshortGray(TestImage image, Graphics2D graphics2d, + BufferedImageOp rasterOp) + { + return CommonBitmapOperations.doBitBltTestWithBWDotsImage(image, graphics2d, BufferedImage.TYPE_USHORT_GRAY, rasterOp); + } + + /** + * Test basic BitBlt operation for buffered image with type {@link BufferedImage#TYPE_3BYTE_BGR}. + * + * @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 + */ + protected TestResult doBitBltColorDotsType3ByteBGR(TestImage image, Graphics2D graphics2d, + BufferedImageOp rasterOp) + { + return CommonBitmapOperations.doBitBltTestWithColorDotsImage(image, graphics2d, BufferedImage.TYPE_3BYTE_BGR, rasterOp); + } + + /** + * Test basic BitBlt operation for buffered image with type {@link BufferedImage#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 + */ + protected TestResult doBitBltColorDotsType4ByteABGR(TestImage image, Graphics2D graphics2d, + BufferedImageOp rasterOp) + { + return CommonBitmapOperations.doBitBltTestWithColorDotsImage(image, graphics2d, BufferedImage.TYPE_4BYTE_ABGR, rasterOp); + } + + /** + * Test basic BitBlt operation for buffered image with type {@link BufferedImage#TYPE_4BYTE_ABGR_PRE}. + * + * @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 + */ + protected TestResult doBitBltColorDotsType4ByteABGR_Pre(TestImage image, Graphics2D graphics2d, + BufferedImageOp rasterOp) + { + return CommonBitmapOperations.doBitBltTestWithColorDotsImage(image, graphics2d, BufferedImage.TYPE_4BYTE_ABGR_PRE, rasterOp); + } + + /** + * Test basic BitBlt operation for buffered image with type {@link BufferedImage#TYPE_BYTE_BINARY}. + * + * @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 + */ + protected TestResult doBitBltColorDotsTypeByteBinary(TestImage image, Graphics2D graphics2d, + BufferedImageOp rasterOp) + { + return CommonBitmapOperations.doBitBltTestWithColorDotsImage(image, graphics2d, BufferedImage.TYPE_BYTE_BINARY, rasterOp); + } + + /** + * Test basic BitBlt operation for buffered image with type {@link BufferedImage#TYPE_BYTE_INDEXED}. + * + * @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 + */ + protected TestResult doBitBltColorDotsTypeByteIndexed(TestImage image, Graphics2D graphics2d, + BufferedImageOp rasterOp) + { + return CommonBitmapOperations.doBitBltTestWithColorDotsImage(image, graphics2d, BufferedImage.TYPE_BYTE_INDEXED, rasterOp); + } + + /** + * Test basic BitBlt operation for buffered image with type {@link BufferedImage#TYPE_BYTE_GRAY}. + * + * @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 + */ + protected TestResult doBitBltColorDotsTypeByteGray(TestImage image, Graphics2D graphics2d, + BufferedImageOp rasterOp) + { + return CommonBitmapOperations.doBitBltTestWithColorDotsImage(image, graphics2d, BufferedImage.TYPE_BYTE_GRAY, rasterOp); + } + + /** + * Test basic BitBlt operation for buffered image with type {@link BufferedImage#TYPE_INT_BGR}. + * + * @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 + */ + protected TestResult doBitBltColorDotsTypeIntBGR(TestImage image, Graphics2D graphics2d, + BufferedImageOp rasterOp) + { + return CommonBitmapOperations.doBitBltTestWithColorDotsImage(image, graphics2d, BufferedImage.TYPE_INT_BGR, rasterOp); + } + + /** + * Test basic BitBlt operation for buffered image with type {@link BufferedImage#TYPE_INT_RGB}. + * + * @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 + */ + protected TestResult doBitBltColorDotsTypeIntRGB(TestImage image, Graphics2D graphics2d, + BufferedImageOp rasterOp) + { + return CommonBitmapOperations.doBitBltTestWithColorDotsImage(image, graphics2d, BufferedImage.TYPE_INT_RGB, rasterOp); + } + + /** + * Test basic BitBlt operation for buffered image with type {@link BufferedImage#TYPE_INT_ARGB}. + * + * @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 + */ + protected TestResult doBitBltColorDotsTypeIntARGB(TestImage image, Graphics2D graphics2d, + BufferedImageOp rasterOp) + { + return CommonBitmapOperations.doBitBltTestWithColorDotsImage(image, graphics2d, BufferedImage.TYPE_INT_ARGB, rasterOp); + } + + /** * Entry point to the test suite. * * @param args not used in this case From jvanek at icedtea.classpath.org Thu Jun 19 12:29:33 2014 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Thu, 19 Jun 2014 12:29:33 +0000 Subject: /hg/release/icedtea-web-1.5: Made it works (basicaly) on any JDK... Message-ID: changeset 006c94731726 in /hg/release/icedtea-web-1.5 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.5?cmd=changeset;node=006c94731726 author: Jiri Vanek date: Thu Jun 19 14:29:19 2014 +0200 Made it works (basicaly) on any JDK (including Added accidentally skipped hunk changeset) diffstat: ChangeLog | 26 + Makefile.am | 7 +- acinclude.m4 | 43 +- configure.ac | 2 +- netx/net/sourceforge/jnlp/NetxPanel.java | 24 +- netx/sun/applet/AppletViewerPanelAccess.java | 149 ++++++++++ netx/sun/applet/package-info.java | 37 ++ plugin/icedteanp/java/sun/applet/PluginAppletPanelFactory.java | 2 +- plugin/icedteanp/java/sun/applet/PluginAppletViewer.java | 12 +- 9 files changed, 251 insertions(+), 51 deletions(-) diffs (478 lines): diff -r b16b30a1380d -r 006c94731726 ChangeLog --- a/ChangeLog Thu Jun 19 13:05:26 2014 +0200 +++ b/ChangeLog Thu Jun 19 14:29:19 2014 +0200 @@ -1,3 +1,29 @@ +2014-06-19 Jiri Vanek + + Made it works (basicaly) on any JDK + * Makefile.am: (NETX_PKGS) sun.applet added to recognized netx packages + (netx-dist.stamp) sun directory included into packed list + * acinclude.m4: removed (IT_CHECK_FOR_APPLETVIEWERPANEL_HOLE) check. Added + IT_CHECK_FOR_SUN_APPLET_ACCESSIBILITY, which test existence of + classes sun.applet.AppletPanel, sun.applet.AppletViewerPanel + fields applet, documentURL, baseURL and methods run and runLoader. Addapted messge + * configure.ac: call to IT_CHECK_FOR_APPLETVIEWERPANEL_HOLE replaced by call + to IT_CHECK_FOR_SUN_APPLET_ACCESSIBILITY + * /netx/net/sourceforge/jnlp/NetxPanel.java: now extends AppletViewerPanelAccess + instead of AppletViewerPanel directly. Access to baseURL, applet and documentURL + replaced by dedicated getters/setters + * netx/sun/applet/AppletViewerPanelAccess.java: new class extending AppletViewerPanel + and enabling access to applet, documentURL and baseURL. Backed by reflection. + Also overriding run by usage of short copypasted code. + * netx/sun/applet/AppletViewerPanelAccess.java: addedd accidentally skipped + createAppletThread method + * netx/sun/applet/package-info.java: new file with worning about usage of this + package in itw + * plugin/icedteanp/java/sun/applet/PluginAppletPanelFactory.java: only call + to super debug repalced by ITW's debugging call + * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: used getters as in + NetxPanel + 2014-06-19 Kurt Miller Fixed PR1743 - Intermittant deadlock in PluginRequestProcessor diff -r b16b30a1380d -r 006c94731726 Makefile.am --- a/Makefile.am Thu Jun 19 13:05:26 2014 +0200 +++ b/Makefile.am Thu Jun 19 14:29:19 2014 +0200 @@ -135,7 +135,8 @@ net.sourceforge.jnlp.controlpanel net.sourceforge.jnlp.event \ net.sourceforge.jnlp.runtime net.sourceforge.jnlp.security \ net.sourceforge.jnlp.security.viewer net.sourceforge.jnlp.services \ - net.sourceforge.jnlp.tools net.sourceforge.jnlp.util + net.sourceforge.jnlp.tools net.sourceforge.jnlp.util \ + sun.applet NETX_EXCLUDE_SRCS= @@ -505,11 +506,11 @@ (cd $(NETX_DIR) ; \ mkdir -p lib ; \ $(BOOT_DIR)/bin/jar cfm lib/classes.jar \ - $(abs_top_builddir)/netx.manifest javax/jnlp net ; \ + $(abs_top_builddir)/netx.manifest javax/jnlp net sun; \ cp -pPR $(SRC_DIR_LINK) $(NETX_SRCDIR) src; \ find src -type f -exec chmod 640 '{}' ';' -o -type d -exec chmod 750 '{}' ';'; \ cd src ; \ - $(ZIP) -qr $(NETX_DIR)/lib/src.zip javax net ) + $(ZIP) -qr $(NETX_DIR)/lib/src.zip javax net sun) mkdir -p stamps touch $@ diff -r b16b30a1380d -r 006c94731726 acinclude.m4 --- a/acinclude.m4 Thu Jun 19 13:05:26 2014 +0200 +++ b/acinclude.m4 Thu Jun 19 14:29:19 2014 +0200 @@ -852,38 +852,29 @@ dnl Checks that sun.applet.AppletViewerPanel is available dnl and public (via the patch in IcedTea6, applet_hole.patch) dnl Can be removed when that is upstream or unneeded -AC_DEFUN([IT_CHECK_FOR_APPLETVIEWERPANEL_HOLE],[ +AC_DEFUN([IT_CHECK_FOR_SUN_APPLET_ACCESSIBILITY],[ AC_REQUIRE([IT_FIND_JAVAC]) AC_REQUIRE([IT_FIND_JAVA]) -AC_CACHE_CHECK([if sun.applet.AppletViewerPanel is available and public], it_cv_applet_hole, [ +AC_CACHE_CHECK([if selected classes, fields and methods from sun.applet are accessible via reflection], it_cv_applet_hole, [ CLASS=TestAppletViewer.java BYTECODE=$(echo $CLASS|sed 's#\.java##') mkdir -p tmp.$$ cd tmp.$$ cat << \EOF > $CLASS [/* [#]line __oline__ "configure" */ -import java.lang.reflect.Modifier; +import java.lang.reflect.*; public class TestAppletViewer { - public static void main(String[] args) + public static void main(String[] args) throws Exception { - try - { - Class clazz = Class.forName("sun.applet.AppletViewerPanel"); - if (Modifier.isPublic(clazz.getModifiers())) - { - System.err.println("Found public sun.applet.AppletViewerPanel"); - System.exit(0); - } - System.err.println("Found non-public sun.applet.AppletViewerPanel"); - System.exit(2); - } - catch (ClassNotFoundException e) - { - System.err.println("Could not find sun.applet.AppletViewerPanel"); - System.exit(1); - } + Class ap = Class.forName("sun.applet.AppletPanel"); + Class avp = Class.forName("sun.applet.AppletViewerPanel"); + Field f1 = ap.getDeclaredField("applet"); + Field f2 = avp.getDeclaredField("documentURL"); + Method m1 = ap.getDeclaredMethod("run"); + Method m2 = ap.getDeclaredMethod("runLoader"); + Field f3 = avp.getDeclaredField("baseURL"); } } ] @@ -892,21 +883,17 @@ if $JAVA -classpath . $BYTECODE >&AS_MESSAGE_LOG_FD 2>&1; then it_cv_applet_hole=yes; else - it_cv_applet_hole=$?; + it_cv_applet_hole=no; fi else - it_cv_applet_hole=3; + it_cv_applet_hole=no; fi ]) rm -f $CLASS *.class cd .. rmdir tmp.$$ -if test x"${it_cv_applet_hole}" = "x1"; then - AC_MSG_ERROR([sun.applet.AppletViewerPanel is not available.]) -elif test x"${it_cv_applet_hole}" = "x2"; then - AC_MSG_ERROR([sun.applet.AppletViewerPanel is not public.]) -elif test x"${it_cv_applet_hole}" = "x3"; then - AC_MSG_ERROR([Compilation failed. See config.log.]) +if test x"${it_cv_applet_hole}" = "xno"; then + AC_MSG_ERROR([Some of the checked items is not avaiable. Check logs.]) fi AC_PROVIDE([$0])dnl ]) diff -r b16b30a1380d -r 006c94731726 configure.ac --- a/configure.ac Thu Jun 19 13:05:26 2014 +0200 +++ b/configure.ac Thu Jun 19 14:29:19 2014 +0200 @@ -84,7 +84,7 @@ IT_CHECK_FOR_CLASS(SUN_MISC_REF, [sun.misc.Ref]) IT_CHECK_FOR_CLASS(COM_SUN_JNDI_TOOLKIT_URL_URLUTIL, [com.sun.jndi.toolkit.url.UrlUtil]) IT_CHECK_FOR_CLASS(SUN_APPLET_APPLETIMAGEREF, [sun.applet.AppletImageRef]) -IT_CHECK_FOR_APPLETVIEWERPANEL_HOLE +IT_CHECK_FOR_SUN_APPLET_ACCESSIBILITY IT_CHECK_GLIB_VERSION IT_CHECK_XULRUNNER_MIMEDESCRIPTION_CONSTCHAR IT_CHECK_XULRUNNER_REQUIRES_C11 diff -r b16b30a1380d -r 006c94731726 netx/net/sourceforge/jnlp/NetxPanel.java --- a/netx/net/sourceforge/jnlp/NetxPanel.java Thu Jun 19 13:05:26 2014 +0200 +++ b/netx/net/sourceforge/jnlp/NetxPanel.java Thu Jun 19 14:29:19 2014 +0200 @@ -35,7 +35,7 @@ import net.sourceforge.jnlp.splashscreen.SplashUtils; import net.sourceforge.jnlp.util.logging.OutputController; -import sun.applet.AppletViewerPanel; +import sun.applet.AppletViewerPanelAccess; import sun.awt.SunToolkit; /** @@ -44,7 +44,7 @@ * * @author Francis Kung <fkung at redhat.com> */ -public class NetxPanel extends AppletViewerPanel implements SplashController { +public class NetxPanel extends AppletViewerPanelAccess implements SplashController { private final PluginParameters parameters; private PluginBridge bridge = null; private AppletInstance appInst = null; @@ -76,7 +76,7 @@ String uniqueKey = params.getUniqueKey(getCodeBase()); synchronized(TGMapMutex) { if (!uKeyToTG.containsKey(uniqueKey)) { - ThreadGroup tg = new ThreadGroup(Launcher.mainGroup, this.documentURL.toString()); + ThreadGroup tg = new ThreadGroup(Launcher.mainGroup, this.getDocumentURL().toString()); uKeyToTG.put(uniqueKey, tg); } } @@ -95,10 +95,10 @@ //Overriding to use Netx classloader. You might need to relax visibility //in sun.applet.AppletPanel for runLoader(). @Override - protected void runLoader() { + protected void ourRunLoader() { try { - bridge = new PluginBridge(baseURL, + bridge = new PluginBridge(getBaseURL(), getDocumentBase(), getJarFiles(), getCode(), @@ -114,13 +114,13 @@ // May throw LaunchException: appInst = (AppletInstance) l.launch(bridge, this); - applet = appInst.getApplet(); + setApplet(appInst.getApplet()); - if (applet != null) { + if (getApplet() != null) { // Stick it in the frame - applet.setStub(this); - applet.setVisible(false); - add("Center", applet); + getApplet().setStub(this); + getApplet().setVisible(false); + add("Center", getApplet()); showAppletStatus("loaded"); validate(); } @@ -157,7 +157,7 @@ } } - handler = new Thread(getThreadGroup(), this, "NetxPanelThread@" + this.documentURL); + handler = new Thread(getThreadGroup(), this, "NetxPanelThread@" + this.getDocumentURL()); handler.start(); } @@ -213,5 +213,5 @@ public int getSplashHeigth() { return splashController.getSplashHeigth(); } - + } diff -r b16b30a1380d -r 006c94731726 netx/sun/applet/AppletViewerPanelAccess.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/netx/sun/applet/AppletViewerPanelAccess.java Thu Jun 19 14:29:19 2014 +0200 @@ -0,0 +1,149 @@ +/* package-info.java + Copyright (C) 2014 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 sun.applet; + +import java.applet.Applet; +import java.lang.reflect.Field; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.net.URL; +import java.util.Hashtable; + +public abstract class AppletViewerPanelAccess extends AppletViewerPanel { + + public AppletViewerPanelAccess(URL documentURL, Hashtable atts) { + super(documentURL, atts); + } + + protected URL getDocumentURL() { + try { + Field field = AppletViewerPanel.class.getDeclaredField("documentURL"); + field.setAccessible(true); + return (URL) field.get(this); + } catch (IllegalAccessException ex1) { + throw new RuntimeException(ex1); + } catch (IllegalArgumentException ex2) { + throw new RuntimeException(ex2); + } catch (NoSuchFieldException ex3) { + throw new RuntimeException(ex3); + } catch (SecurityException ex4) { + throw new RuntimeException(ex4); + } + } + + protected void setApplet(Applet iapplet) { + try { + Field field = AppletPanel.class.getDeclaredField("applet"); + field.setAccessible(true); + field.set(this, iapplet); + } catch (IllegalAccessException ex1) { + throw new RuntimeException(ex1); + } catch (IllegalArgumentException ex2) { + throw new RuntimeException(ex2); + } catch (NoSuchFieldException ex3) { + throw new RuntimeException(ex3); + } catch (SecurityException ex4) { + throw new RuntimeException(ex4); + } + } + + @Override + public void run() { + // this is copypasted chunk from AppletPanel.run (the only current + // call of runLoader). Pray it do not change + Thread curThread = Thread.currentThread(); + if (curThread == loaderThread) { + ourRunLoader(); + return; + } + + super.run(); + } + + /** + * NOTE. We cannot override private method, and this call is unused and useless. + * But kept for record of troubles to run on any openjdk. + * upstream patch posted http://mail.openjdk.java.net/pipermail/awt-dev/2014-May/007828.html + */ + private void superRunLoader() { + try { + Class klazz = AppletPanel.class; + Method runLoaderMethod = klazz.getDeclaredMethod("runLoader"); + runLoaderMethod.setAccessible(true); + runLoaderMethod.invoke(getApplet()); + } catch (IllegalAccessException ex1) { + throw new RuntimeException(ex1); + } catch (IllegalArgumentException ex2) { + throw new RuntimeException(ex2); + } catch (NoSuchMethodException ex3) { + throw new RuntimeException(ex3); + } catch (SecurityException ex4) { + throw new RuntimeException(ex4); + } catch (InvocationTargetException ex5) { + throw new RuntimeException(ex5); + } + } + + + protected URL getBaseURL() { + try { + Field field = AppletViewerPanel.class + .getDeclaredField("baseURL"); + field.setAccessible( + true); + return (URL) field.get( + this); + } catch (IllegalAccessException ex1) { + throw new RuntimeException(ex1); + } catch (IllegalArgumentException ex2) { + throw new RuntimeException(ex2); + } catch (NoSuchFieldException ex3) { + throw new RuntimeException(ex3); + } catch (SecurityException ex4) { + throw new RuntimeException(ex4); + } + + } + + + @Override + //remaining stub of unpatched jdk + protected synchronized void createAppletThread() { + throw new RuntimeException("Not yet implemented"); + //no need to call super, is overriden, and not used in upstream + //AppletViewerPanel or AppletPanel + } + + abstract protected void ourRunLoader(); + +} diff -r b16b30a1380d -r 006c94731726 netx/sun/applet/package-info.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/netx/sun/applet/package-info.java Thu Jun 19 14:29:19 2014 +0200 @@ -0,0 +1,37 @@ +/* package-info.java + Copyright (C) 2014 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.*/ +/** + * This package serve as access to package private classes in JDK. + *

Do not use it for anything else

+ */ +package sun.applet; diff -r b16b30a1380d -r 006c94731726 plugin/icedteanp/java/sun/applet/PluginAppletPanelFactory.java --- a/plugin/icedteanp/java/sun/applet/PluginAppletPanelFactory.java Thu Jun 19 13:05:26 2014 +0200 +++ b/plugin/icedteanp/java/sun/applet/PluginAppletPanelFactory.java Thu Jun 19 14:29:19 2014 +0200 @@ -87,7 +87,7 @@ final NetxPanel panel = AccessController.doPrivileged(new PrivilegedAction() { public NetxPanel run() { NetxPanel panel = new NetxPanel(doc, params); - NetxPanel.debug("Using NetX panel"); + OutputController.getLogger().log("Using NetX panel"); PluginDebug.debug(params.toString()); return panel; } diff -r b16b30a1380d -r 006c94731726 plugin/icedteanp/java/sun/applet/PluginAppletViewer.java --- a/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java Thu Jun 19 13:05:26 2014 +0200 +++ b/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java Thu Jun 19 14:29:19 2014 +0200 @@ -642,7 +642,7 @@ pav.dispose(); // If panel is already disposed, return - if (pav.panel.applet == null) { + if (pav.panel.getApplet() == null) { PluginDebug.debug(identifier, " panel inactive. Returning."); return; } @@ -718,8 +718,8 @@ panel.setSize(width, height); panel.validate(); - panel.applet.resize(width, height); - panel.applet.validate(); + panel.getApplet().resize(width, height); + panel.getApplet().validate(); } }); } @@ -1421,8 +1421,8 @@ * at the same time. */ try { - ((AppletViewerPanel)panel).joinAppletThread(); - ((AppletViewerPanel)panel).release(); + ((AppletViewerPanelAccess)panel).joinAppletThread(); + ((AppletViewerPanelAccess)panel).release(); } catch (InterruptedException e) { return; // abort the reload } @@ -1430,7 +1430,7 @@ AccessController.doPrivileged(new PrivilegedAction() { @Override public Void run() { - ((AppletViewerPanel)panel).createAppletThread(); + ((AppletViewerPanelAccess)panel).createAppletThread(); return null; } }); From jvanek at icedtea.classpath.org Thu Jun 19 13:05:19 2014 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Thu, 19 Jun 2014 13:05:19 +0000 Subject: /hg/release/icedtea-web-1.5: All tests adapted to run from XBoot... Message-ID: changeset a2ed2390946a in /hg/release/icedtea-web-1.5 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.5?cmd=changeset;node=a2ed2390946a author: Jiri Vanek date: Thu Jun 19 15:05:09 2014 +0200 All tests adapted to run from XBootclaspath (forced by extending package private rt.jar class) (including Fixed slipped test classlaoder fix in JavawsAWTRobotFindsButtonTest.java) diffstat: ChangeLog | 13 +++++++ Makefile.am | 18 +++++---- tests/netx/unit/net/sourceforge/jnlp/JNLPMatcherTest.java | 2 +- tests/reproducers/simple/JavawsAWTRobotFindsButton/testcases/JavawsAWTRobotFindsButtonTest.java | 2 +- tests/test-extensions/net/sourceforge/jnlp/awt/imagesearch/ComponentFinder.java | 2 +- 5 files changed, 26 insertions(+), 11 deletions(-) diffs (135 lines): diff -r 006c94731726 -r a2ed2390946a ChangeLog --- a/ChangeLog Thu Jun 19 14:29:19 2014 +0200 +++ b/ChangeLog Thu Jun 19 15:05:09 2014 +0200 @@ -1,3 +1,16 @@ +2014-06-19 Jiri Vanek + + All tests adapted to run from XBootclaspath (forced by extending package private + rt.jar class) + * Makefile.am: all sets of call of -Xbootclasspath in tests and coverage + are now adding $CLASSPATH to boot classapth. Where CLASSPATH was not deffined, + was added. + * tests/netx/unit/net/sourceforge/jnlp/JNLPMatcherTest.java: and + * tests/test-extensions/net/sourceforge/jnlp/awt/imagesearch/ComponentFinder.java: + resources loaded from boot classloader + * tests/reproducers/simple/JavawsAWTRobotFindsButton/testcases/JavawsAWTRobotFindsButtonTest.java + (static init) used system classlaoder to laod image + 2014-06-19 Jiri Vanek Made it works (basicaly) on any JDK diff -r 006c94731726 -r a2ed2390946a Makefile.am --- a/Makefile.am Thu Jun 19 14:29:19 2014 +0200 +++ b/Makefile.am Thu Jun 19 15:05:09 2014 +0200 @@ -899,7 +899,7 @@ class_names=`cat $(REPRODUCERS_CLASS_NAMES)` ; \ CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):.:$(TEST_EXTENSIONS_TESTS_DIR):$(TEST_EXTENSIONS_SRCDIR) \ $(BOOT_DIR)/bin/java $(REPRODUCERS_DPARAMETERS) \ - -Xbootclasspath:$(RUNTIME) CommandLine $$class_names + -Xbootclasspath/a:$(RUNTIME):$$CLASSPATH CommandLine $$class_names if WITH_XSLTPROC -$(XSLTPROC) --stringparam logs logs_reproducers.html $(TESTS_SRCDIR)/$(REPORT_STYLES_DIRNAME)/jreport.xsl $(TEST_EXTENSIONS_DIR)/tests-output.xml > $(TESTS_DIR)/index_reproducers.html -$(XSLTPROC) $(TESTS_SRCDIR)/$(REPORT_STYLES_DIRNAME)/logs.xsl $(TEST_EXTENSIONS_DIR)/ServerAccess-logs.xml > $(TESTS_DIR)/logs_reproducers.html @@ -1077,7 +1077,7 @@ cd $(NETX_UNIT_TEST_DIR) ; \ class_names=`cat $(UNIT_CLASS_NAMES)` ; \ CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(abs_top_builddir)/liveconnect/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):$(TEST_EXTENSIONS_DIR):.:$(TEST_EXTENSIONS_SRCDIR):$(TAGSOUP_JAR) \ - $(BOOT_DIR)/bin/java -Xbootclasspath:$(RUNTIME) CommandLine $$class_names + $(BOOT_DIR)/bin/java -Xbootclasspath/a:$(RUNTIME):$$CLASSPATH CommandLine $$class_names if WITH_XSLTPROC -$(XSLTPROC) --stringparam logs logs_unit.html $(TESTS_SRCDIR)/$(REPORT_STYLES_DIRNAME)/jreport.xsl $(NETX_UNIT_TEST_DIR)/tests-output.xml > $(TESTS_DIR)/index_unit.html -$(XSLTPROC) $(TESTS_SRCDIR)/$(REPORT_STYLES_DIRNAME)/logs.xsl $(NETX_UNIT_TEST_DIR)/ServerAccess-logs.xml > $(TESTS_DIR)/logs_unit.html @@ -1097,7 +1097,8 @@ mv $(NETX_UNIT_TEST_DIR)/$$file $(NETX_UNIT_TEST_DIR)/"$$file""$(EMMA_BACKUP_SUFFIX)" ; \ done ;\ class_names=`cat $(UNIT_CLASS_NAMES)` ; \ - $(BOOT_DIR)/bin/java $(EMMA_JAVA_ARGS) -Xbootclasspath:$(RUNTIME) -cp $(EMMA_JAR) -Demma.report.html.out.encoding=UTF-8 emmarun \ + CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(abs_top_builddir)/liveconnect/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):$(TEST_EXTENSIONS_DIR):.:$(TEST_EXTENSIONS_SRCDIR) \ + $(BOOT_DIR)/bin/java $(EMMA_JAVA_ARGS) -Xbootclasspath/a:$(RUNTIME):$$CLASSPATH -cp $(EMMA_JAR) -Demma.report.html.out.encoding=UTF-8 emmarun \ -Dreport.html.out.encoding=UTF-8 \ -raw \ -sp $(NETX_SRCDIR) \ @@ -1162,7 +1163,7 @@ done ;\ class_names=`cat $(UNIT_CLASS_NAMES)` ; \ CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(abs_top_builddir)/liveconnect/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):$(TEST_EXTENSIONS_DIR):$(JACOCO_CLASSPATH):.:$(TEST_EXTENSIONS_SRCDIR):$(TAGSOUP_JAR) \ - $(BOOT_DIR)/bin/java $(JACOCO_AGENT_SWITCH) -Xbootclasspath:$(RUNTIME) CommandLine $$class_names ; \ + $(BOOT_DIR)/bin/java $(JACOCO_AGENT_SWITCH) -Xbootclasspath/a:$(RUNTIME):$$CLASSPATH CommandLine $$class_names ; \ for file in $(EMMA_MODIFIED_FILES) ; do \ mv $(NETX_UNIT_TEST_DIR)/$$file $(NETX_UNIT_TEST_DIR)/"$$file""$(EMMA_SUFFIX)" ; \ mv $(NETX_UNIT_TEST_DIR)/"$$file""$(EMMA_BACKUP_SUFFIX)" $(NETX_UNIT_TEST_DIR)/$$file ; \ @@ -1218,10 +1219,11 @@ done ; \ cd $(TEST_EXTENSIONS_DIR) ; \ class_names=`cat $(REPRODUCERS_CLASS_NAMES)` ; \ + CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(abs_top_builddir)/liveconnect/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):$(TEST_EXTENSIONS_DIR):.:$(TEST_EXTENSIONS_SRCDIR) \ $(BOOT_DIR)/bin/java \ $(EMMA_JAVA_ARGS) \ $(REPRODUCERS_DPARAMETERS) \ - -Xbootclasspath:$(RUNTIME) -cp $(EMMA_JAR) emmarun \ + -Xbootclasspath/a:$(RUNTIME):$$CLASSPATH -cp $(EMMA_JAR) emmarun \ -raw \ -cp $(NETX_DIR)/lib/classes.jar \ -cp $(JUNIT_JAR) \ @@ -1337,7 +1339,7 @@ class_names=`cat $(REPRODUCERS_CLASS_NAMES)` ; \ CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):.:$(TEST_EXTENSIONS_DIR):$(JACOCO_CLASSPATH):$(TEST_EXTENSIONS_TESTS_DIR):$(TEST_EXTENSIONS_SRCDIR) \ $(BOOT_DIR)/bin/java $(JACOCO_AGENT_SWITCH) $(REPRODUCERS_DPARAMETERS) \ - -Xbootclasspath:$(RUNTIME) CommandLine $$class_names ; \ + -Xbootclasspath/a:$(RUNTIME):$$CLASSPATH CommandLine $$class_names ; \ if [ -f $(JACOCO_JAVAWS_RESULTS) ] ; then \ jacoco_javaws_results=$(JACOCO_JAVAWS_RESULTS) ; \ $(JACOCO_OPERATOR_EXEC) \ @@ -1446,14 +1448,14 @@ cd $(TEST_EXTENSIONS_DIR) ; \ CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):.:$(TEST_EXTENSIONS_TESTS_DIR) \ $(BOOT_DIR)/bin/java $(REPRODUCERS_DPARAMETERS) \ - -Xbootclasspath:$(RUNTIME) net.sourceforge.jnlp.ServerAccess + -Xbootclasspath/a:$(RUNTIME):$$CLASSPATH net.sourceforge.jnlp.ServerAccess run-test-server-on-random-port: stamps/netx.stamp stamps/junit-jnlp-dist-dirs stamps/netx-dist-tests-import-cert-to-public \ stamps/test-extensions-compile.stamp stamps/compile-reproducers-testcases.stamp $(JUNIT_RUNNER_JAR) stamps/copy-reproducers-resources.stamp cd $(TEST_EXTENSIONS_DIR) ; \ CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):.:$(TEST_EXTENSIONS_TESTS_DIR) \ $(BOOT_DIR)/bin/java $(REPRODUCERS_DPARAMETERS) \ - -Xbootclasspath:$(RUNTIME) net.sourceforge.jnlp.ServerAccess randomport + -Xbootclasspath/a:$(RUNTIME):$$CLASSPATH net.sourceforge.jnlp.ServerAccess randomport clean-netx-tests: clean-netx-unit-tests clean-junit-runner clean-netx-dist-tests clean-test-code-coverage-jacoco clean-test-code-coverage if [ -e $(TESTS_DIR)/netx ]; then \ diff -r 006c94731726 -r a2ed2390946a tests/netx/unit/net/sourceforge/jnlp/JNLPMatcherTest.java --- a/tests/netx/unit/net/sourceforge/jnlp/JNLPMatcherTest.java Thu Jun 19 14:29:19 2014 +0200 +++ b/tests/netx/unit/net/sourceforge/jnlp/JNLPMatcherTest.java Thu Jun 19 15:05:09 2014 +0200 @@ -71,7 +71,7 @@ "Testing application with a complete different JNLP application file", "Testing by calling JNLPMatcher.match() multiple times. Checking to see if the returns value is consistent" }; - final ClassLoader cl = JNLPMatcherTest.class.getClassLoader(); + final ClassLoader cl = ClassLoader.getSystemClassLoader(); private InputStreamReader getLaunchReader() { InputStream launchStream = cl diff -r 006c94731726 -r a2ed2390946a tests/reproducers/simple/JavawsAWTRobotFindsButton/testcases/JavawsAWTRobotFindsButtonTest.java --- a/tests/reproducers/simple/JavawsAWTRobotFindsButton/testcases/JavawsAWTRobotFindsButtonTest.java Thu Jun 19 14:29:19 2014 +0200 +++ b/tests/reproducers/simple/JavawsAWTRobotFindsButton/testcases/JavawsAWTRobotFindsButtonTest.java Thu Jun 19 15:05:09 2014 +0200 @@ -68,7 +68,7 @@ static{ try { - buttonIcon = ImageIO.read(JavawsAWTRobotFindsButtonTest.class.getClassLoader().getResource("buttonA.png")); + buttonIcon = ImageIO.read(ClassLoader.getSystemClassLoader().getResource("buttonA.png")); } catch (IOException e) { throw new RuntimeException("Problem initializing buttonIcon",e); } diff -r 006c94731726 -r a2ed2390946a tests/test-extensions/net/sourceforge/jnlp/awt/imagesearch/ComponentFinder.java --- a/tests/test-extensions/net/sourceforge/jnlp/awt/imagesearch/ComponentFinder.java Thu Jun 19 14:29:19 2014 +0200 +++ b/tests/test-extensions/net/sourceforge/jnlp/awt/imagesearch/ComponentFinder.java Thu Jun 19 15:05:09 2014 +0200 @@ -50,7 +50,7 @@ static{ try { - defaultIcon = ImageIO.read(ComponentFinder.class.getClassLoader().getResource("net/sourceforge/jnlp/awt/imagesearch/marker.png")); + defaultIcon = ImageIO.read(ClassLoader.getSystemClassLoader().getResource("net/sourceforge/jnlp/awt/imagesearch/marker.png")); } catch (IOException e) { throw new RuntimeException("ComponentFinder - problem initializing defaultIcon",e); } From jvanek at icedtea.classpath.org Thu Jun 19 13:09:54 2014 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Thu, 19 Jun 2014 13:09:54 +0000 Subject: /hg/release/icedtea-web-1.5: Making the previous chnage actualy ... Message-ID: changeset 3d9b622f6735 in /hg/release/icedtea-web-1.5 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.5?cmd=changeset;node=3d9b622f6735 author: Jiri Vanek date: Thu Jun 19 15:09:44 2014 +0200 Making the previous chnage actualy take an effect. All tests runs using CLASSPATH varibale on line, separated by semicolon. diffstat: ChangeLog | 6 ++++++ Makefile.am | 16 ++++++++-------- 2 files changed, 14 insertions(+), 8 deletions(-) diffs (87 lines): diff -r a2ed2390946a -r 3d9b622f6735 ChangeLog --- a/ChangeLog Thu Jun 19 15:05:09 2014 +0200 +++ b/ChangeLog Thu Jun 19 15:09:44 2014 +0200 @@ -1,3 +1,9 @@ +2014-06-19 Jiri Vanek + + Making the previous chnage actualy take an effect. + * Makefile.am: All tests runs using CLASSPATH varibale on line, separated by + semicolon. I have no idea wy this was needing. + 2014-06-19 Jiri Vanek All tests adapted to run from XBootclaspath (forced by extending package private diff -r a2ed2390946a -r 3d9b622f6735 Makefile.am --- a/Makefile.am Thu Jun 19 15:05:09 2014 +0200 +++ b/Makefile.am Thu Jun 19 15:09:44 2014 +0200 @@ -897,7 +897,7 @@ $(TESTS_DIR)/$(REPORT_STYLES_DIRNAME) $(REPRODUCERS_CLASS_NAMES) stamps/process-custom-reproducers.stamp cd $(TEST_EXTENSIONS_DIR) ; \ class_names=`cat $(REPRODUCERS_CLASS_NAMES)` ; \ - CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):.:$(TEST_EXTENSIONS_TESTS_DIR):$(TEST_EXTENSIONS_SRCDIR) \ + CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):.:$(TEST_EXTENSIONS_TESTS_DIR):$(TEST_EXTENSIONS_SRCDIR) ; \ $(BOOT_DIR)/bin/java $(REPRODUCERS_DPARAMETERS) \ -Xbootclasspath/a:$(RUNTIME):$$CLASSPATH CommandLine $$class_names if WITH_XSLTPROC @@ -1076,7 +1076,7 @@ done ; \ cd $(NETX_UNIT_TEST_DIR) ; \ class_names=`cat $(UNIT_CLASS_NAMES)` ; \ - CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(abs_top_builddir)/liveconnect/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):$(TEST_EXTENSIONS_DIR):.:$(TEST_EXTENSIONS_SRCDIR):$(TAGSOUP_JAR) \ + CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(abs_top_builddir)/liveconnect/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):$(TEST_EXTENSIONS_DIR):.:$(TEST_EXTENSIONS_SRCDIR):$(TAGSOUP_JAR) ; \ $(BOOT_DIR)/bin/java -Xbootclasspath/a:$(RUNTIME):$$CLASSPATH CommandLine $$class_names if WITH_XSLTPROC -$(XSLTPROC) --stringparam logs logs_unit.html $(TESTS_SRCDIR)/$(REPORT_STYLES_DIRNAME)/jreport.xsl $(NETX_UNIT_TEST_DIR)/tests-output.xml > $(TESTS_DIR)/index_unit.html @@ -1097,7 +1097,7 @@ mv $(NETX_UNIT_TEST_DIR)/$$file $(NETX_UNIT_TEST_DIR)/"$$file""$(EMMA_BACKUP_SUFFIX)" ; \ done ;\ class_names=`cat $(UNIT_CLASS_NAMES)` ; \ - CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(abs_top_builddir)/liveconnect/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):$(TEST_EXTENSIONS_DIR):.:$(TEST_EXTENSIONS_SRCDIR) \ + CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(abs_top_builddir)/liveconnect/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):$(TEST_EXTENSIONS_DIR):.:$(TEST_EXTENSIONS_SRCDIR) ; \ $(BOOT_DIR)/bin/java $(EMMA_JAVA_ARGS) -Xbootclasspath/a:$(RUNTIME):$$CLASSPATH -cp $(EMMA_JAR) -Demma.report.html.out.encoding=UTF-8 emmarun \ -Dreport.html.out.encoding=UTF-8 \ -raw \ @@ -1162,7 +1162,7 @@ mv $(NETX_UNIT_TEST_DIR)/$$file $(NETX_UNIT_TEST_DIR)/"$$file""$(EMMA_BACKUP_SUFFIX)" ; \ done ;\ class_names=`cat $(UNIT_CLASS_NAMES)` ; \ - CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(abs_top_builddir)/liveconnect/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):$(TEST_EXTENSIONS_DIR):$(JACOCO_CLASSPATH):.:$(TEST_EXTENSIONS_SRCDIR):$(TAGSOUP_JAR) \ + CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(abs_top_builddir)/liveconnect/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):$(TEST_EXTENSIONS_DIR):$(JACOCO_CLASSPATH):.:$(TEST_EXTENSIONS_SRCDIR):$(TAGSOUP_JAR) ; \ $(BOOT_DIR)/bin/java $(JACOCO_AGENT_SWITCH) -Xbootclasspath/a:$(RUNTIME):$$CLASSPATH CommandLine $$class_names ; \ for file in $(EMMA_MODIFIED_FILES) ; do \ mv $(NETX_UNIT_TEST_DIR)/$$file $(NETX_UNIT_TEST_DIR)/"$$file""$(EMMA_SUFFIX)" ; \ @@ -1219,7 +1219,7 @@ done ; \ cd $(TEST_EXTENSIONS_DIR) ; \ class_names=`cat $(REPRODUCERS_CLASS_NAMES)` ; \ - CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(abs_top_builddir)/liveconnect/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):$(TEST_EXTENSIONS_DIR):.:$(TEST_EXTENSIONS_SRCDIR) \ + CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(abs_top_builddir)/liveconnect/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):$(TEST_EXTENSIONS_DIR):.:$(TEST_EXTENSIONS_SRCDIR) ; \ $(BOOT_DIR)/bin/java \ $(EMMA_JAVA_ARGS) \ $(REPRODUCERS_DPARAMETERS) \ @@ -1337,7 +1337,7 @@ done ; \ cd $(TEST_EXTENSIONS_DIR) ; \ class_names=`cat $(REPRODUCERS_CLASS_NAMES)` ; \ - CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):.:$(TEST_EXTENSIONS_DIR):$(JACOCO_CLASSPATH):$(TEST_EXTENSIONS_TESTS_DIR):$(TEST_EXTENSIONS_SRCDIR) \ + CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):.:$(TEST_EXTENSIONS_DIR):$(JACOCO_CLASSPATH):$(TEST_EXTENSIONS_TESTS_DIR):$(TEST_EXTENSIONS_SRCDIR) ; \ $(BOOT_DIR)/bin/java $(JACOCO_AGENT_SWITCH) $(REPRODUCERS_DPARAMETERS) \ -Xbootclasspath/a:$(RUNTIME):$$CLASSPATH CommandLine $$class_names ; \ if [ -f $(JACOCO_JAVAWS_RESULTS) ] ; then \ @@ -1446,14 +1446,14 @@ run-test-server-on-44321: stamps/netx.stamp stamps/junit-jnlp-dist-dirs stamps/netx-dist-tests-import-cert-to-public \ stamps/test-extensions-compile.stamp stamps/compile-reproducers-testcases.stamp $(JUNIT_RUNNER_JAR) stamps/copy-reproducers-resources.stamp cd $(TEST_EXTENSIONS_DIR) ; \ - CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):.:$(TEST_EXTENSIONS_TESTS_DIR) \ + CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):.:$(TEST_EXTENSIONS_TESTS_DIR) ; \ $(BOOT_DIR)/bin/java $(REPRODUCERS_DPARAMETERS) \ -Xbootclasspath/a:$(RUNTIME):$$CLASSPATH net.sourceforge.jnlp.ServerAccess run-test-server-on-random-port: stamps/netx.stamp stamps/junit-jnlp-dist-dirs stamps/netx-dist-tests-import-cert-to-public \ stamps/test-extensions-compile.stamp stamps/compile-reproducers-testcases.stamp $(JUNIT_RUNNER_JAR) stamps/copy-reproducers-resources.stamp cd $(TEST_EXTENSIONS_DIR) ; \ - CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):.:$(TEST_EXTENSIONS_TESTS_DIR) \ + CLASSPATH=$(NETX_DIR)/lib/classes.jar:$(JUNIT_JAR):$(JUNIT_RUNNER_JAR):.:$(TEST_EXTENSIONS_TESTS_DIR) ; \ $(BOOT_DIR)/bin/java $(REPRODUCERS_DPARAMETERS) \ -Xbootclasspath/a:$(RUNTIME):$$CLASSPATH net.sourceforge.jnlp.ServerAccess randomport From jvanek at redhat.com Thu Jun 19 13:30:03 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 19 Jun 2014 15:30:03 +0200 Subject: [rfc][icedtea-web][policyeditor] CustomPermission no-actions constructor In-Reply-To: <539F5CF1.9060504@redhat.com> References: <539F5CF1.9060504@redhat.com> Message-ID: <53A2E5DB.1000809@redhat.com> On 06/16/2014 11:09 PM, Andrew Azores wrote: > Hi, > > This patch very simply adds a new constructor to model CustomPermissions which do not have any > actions, rather than forcing no-actions permissions to be instantiated by passing an empty string > for the actions argument. > Well if this serves you... few minors. Can go in with those fixed. > diff --git a/netx/net/sourceforge/jnlp/security/policyeditor/CustomPermission.java b/netx/net/sourceforge/jnlp/security/policyeditor/CustomPermission.java > --- a/netx/net/sourceforge/jnlp/security/policyeditor/CustomPermission.java > +++ b/netx/net/sourceforge/jnlp/security/policyeditor/CustomPermission.java > @@ -61,6 +61,16 @@ > public final String type, target, actions; > > /** > + * Constructor for custom basic permissions (ie those without actions) Please mention that its behaviour si same as this(type, target, ""); > + * @param type eg java.io.FilePermission > + * @param target eg ${user.home}${/}* > + */ > + public CustomPermission(final String type, final String target) { > + this(type, target, ""); > + } > + > + /** > + * Constructor for custom permissions with actions > * @param type eg java.io.FilePermission > * @param target eg ${user.home}${/}* > * @param actions eg read,write > diff --git a/tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/CustomPermissionTest.java b/tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/CustomPermissionTest.java > --- a/tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/CustomPermissionTest.java > +++ b/tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/CustomPermissionTest.java > @@ -117,7 +117,7 @@ > > @Test > public void testToStringWithoutActions() throws Exception { > - final CustomPermission cp = new CustomPermission("java.lang.RuntimePermission", "createClassLoader", ""); Please do not remove this test. This constructor is stil valid > + final CustomPermission cp = new CustomPermission("java.lang.RuntimePermission", "createClassLoader"); add test with this new constructor. > final String expected = "permission java.lang.RuntimePermission \"createClassLoader\";"; > assertEquals(expected, cp.toString()); > } > @@ -126,7 +126,7 @@ > public void testCompareTo() throws Exception { > final CustomPermission cp1 = new CustomPermission("java.io.FilePermission", "*", "read"); > final CustomPermission cp2 = new CustomPermission("java.io.FilePermission", "${user.home}${/}*", "read"); > - final CustomPermission cp3 = new CustomPermission("java.lang.RuntimePermission", "queuePrintJob", ""); > + final CustomPermission cp3 = new CustomPermission("java.lang.RuntimePermission", "queuePrintJob"); same here > assertTrue("cp1.compareTo(cp2) should be > 0", cp1.compareTo(cp2) > 0); > assertTrue("cp1.compareTo(cp1) should be 0", cp1.compareTo(cp1) == 0); > assertTrue("cp2.compareTo(cp3) should be < 0", cp2.compareTo(cp3) < 0); > diff --git a/tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/CustomPolicyViewerTest.java b/tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/CustomPolicyViewerTest.java > --- a/tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/CustomPolicyViewerTest.java > +++ b/tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/CustomPolicyViewerTest.java > @@ -55,7 +55,7 @@ > > private CustomPolicyViewer viewer; > private static final String CODEBASE ="http://example.com"; > - private static final CustomPermission PERMISSION = new CustomPermission("java.lang.RuntimePermission", "createClassLoader", ""); > + private static final CustomPermission PERMISSION = new CustomPermission("java.lang.RuntimePermission", "createClassLoader"); and here > > @Before > public void setupViewer() { > diff --git a/tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorTest.java b/tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorTest.java > --- a/tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorTest.java > +++ b/tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorTest.java > @@ -143,7 +143,7 @@ > @Test > public void testAddCustomPermission() throws Exception { > final String codebase ="http://example.com"; > - final CustomPermission customPermission = new CustomPermission("java.lang.RuntimePermission", "createClassLoader", ""); > + final CustomPermission customPermission = new CustomPermission("java.lang.RuntimePermission", "createClassLoader"); and here > editor.addCustomPermission(codebase, customPermission); > assertTrue(editor.getCustomPermissions(codebase).contains(customPermission)); > } > @@ -151,7 +151,7 @@ > @Test > public void testClearCustomPermissions() throws Exception { > final String codebase ="http://example.com"; > - final CustomPermission customPermission = new CustomPermission("java.lang.RuntimePermission", "createClassLoader", ""); > + final CustomPermission customPermission = new CustomPermission("java.lang.RuntimePermission", "createClassLoader"); and here > editor.addCustomPermission(codebase, customPermission); > assertTrue(editor.getCustomPermissions(codebase).contains(customPermission)); > editor.clearCustomPermissions(codebase); > @@ -251,4 +251,4 @@ > map.get("-codebase").equals("http://example.com http://icedtea.classpath.org")); > } > > -} > \ No newline at end of file > +} > ty! J. From aazores at redhat.com Thu Jun 19 13:32:57 2014 From: aazores at redhat.com (Andrew Azores) Date: Thu, 19 Jun 2014 09:32:57 -0400 Subject: [rfc][icedtea-web]missing news In-Reply-To: <53A2CA73.6090801@redhat.com> References: <53A2CA73.6090801@redhat.com> Message-ID: <53A2E689.8030006@redhat.com> On 06/19/2014 07:33 AM, Jiri Vanek wrote: > Hi! > > I noted I have forgot to write news for my changes. > What I recall I owe those: > HEAD > New in release 1.6 (2014-XX-XX): > +* Improved to be able to run with any JDK > +* JDK 6 and older no longer supported > +* Added DE localisation > +* Added KEY_ENABLE_MANIFEST_ATTRIBUTES_CHECK deployment property to > control scan of Manifest file > * Plugin > - PR1743 - Intermittant deadlock in PluginRequestProcessor > > 1.5 > New in release 1.5.1 (YYYY-MM-DD): > +* Improved to be able to run with any JDK > +* Added DE localisation > +* Added KEY_ENABLE_MANIFEST_ATTRIBUTES_CHECK deployment property to > control scan of Manifest file > * Plugin > - PR1743 - Intermittant deadlock in PluginRequestProcessor > > Please all others, who had change pushed, please verifi if NEWS record > was not worthy. > > > J. * PolicyEditor - codebases can be renamed in-place, copied, and pasted - displays a progress dialog while opening or saving files - opening and saving files is asynchronous - more permissions added - many minor bug fixes and under-the-hood enhancements * Temporary Permissions in security dialog now multi-selectable and based on PolicyEditor permissions I think that's all I have for 1.6 NEWS so far (and the Temporary Permissions one is half Lukasz' too). Can I push this now? Thanks, -- Andrew A From jvanek at redhat.com Thu Jun 19 13:36:24 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 19 Jun 2014 15:36:24 +0200 Subject: [rfc][icedtea-web]missing news In-Reply-To: <53A2E689.8030006@redhat.com> References: <53A2CA73.6090801@redhat.com> <53A2E689.8030006@redhat.com> Message-ID: <53A2E758.10200@redhat.com> On 06/19/2014 03:32 PM, Andrew Azores wrote: > On 06/19/2014 07:33 AM, Jiri Vanek wrote: >> Hi! >> >> I noted I have forgot to write news for my changes. >> What I recall I owe those: >> HEAD >> New in release 1.6 (2014-XX-XX): >> +* Improved to be able to run with any JDK >> +* JDK 6 and older no longer supported >> +* Added DE localisation >> +* Added KEY_ENABLE_MANIFEST_ATTRIBUTES_CHECK deployment property to control scan of Manifest file >> * Plugin >> - PR1743 - Intermittant deadlock in PluginRequestProcessor >> >> 1.5 >> New in release 1.5.1 (YYYY-MM-DD): >> +* Improved to be able to run with any JDK >> +* Added DE localisation >> +* Added KEY_ENABLE_MANIFEST_ATTRIBUTES_CHECK deployment property to control scan of Manifest file >> * Plugin >> - PR1743 - Intermittant deadlock in PluginRequestProcessor >> >> Please all others, who had change pushed, please verifi if NEWS record was not worthy. >> >> >> J. > > * PolicyEditor > - codebases can be renamed in-place, copied, and pasted > - displays a progress dialog while opening or saving files > - opening and saving files is asynchronous ^ this is implementation detail, I wil not mention this. > - more permissions added - I would rather say "now supported also permission1, persmission2, ... in PolicyEditor" > - many minor bug fixes and under-the-hood enhancements If they have bugid, then mention it as ususal bug, If they are somehow visible outside, mention each as line. Otherwise I would drop this line. > * Temporary Permissions in security dialog now multi-selectable and based on PolicyEditor permissions > > I think that's all I have for 1.6 NEWS so far (and the Temporary Permissions one is half Lukasz' > too). Can I push this now? By not complaining on mine, I consider them as approved ;) ty! J. From bugzilla-daemon at icedtea.classpath.org Thu Jun 19 13:38:06 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 19 Jun 2014 13:38:06 +0000 Subject: [Bug 729] GTKLookAndFeel should be the system look&feel on all GNU/Linux desktops In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=729 --- Comment #21 from Mario Torre --- (In reply to Mario Torre from comment #20) > Perhaps we may add a property, "system.default.laf" or such and make > swing.properties to be read by the LAF manager to return a different default > than metal, so the default would be backward compatible but users could > enable a system wide laf if they want to. Which is already there, btw, swing.systemlaf: public static String getSystemLookAndFeelClassName() { String systemLAF = AccessController.doPrivileged( new GetPropertyAction("swing.systemlaf")); if (systemLAF != null) { return systemLAF; } ... So, as a user, one can easily set this property to what's most appropriate. Cheers, Mario -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From aazores at icedtea.classpath.org Thu Jun 19 13:52:02 2014 From: aazores at icedtea.classpath.org (aazores at icedtea.classpath.org) Date: Thu, 19 Jun 2014 13:52:02 +0000 Subject: /hg/icedtea-web: New 2-arg constructor for CustomPermission Message-ID: changeset 50ef0215a6d5 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=50ef0215a6d5 author: Andrew Azores date: Thu Jun 19 09:51:39 2014 -0400 New 2-arg constructor for CustomPermission 2014-06-19 Andrew Azores * netx/net/sourceforge/jnlp/security/policyeditor/CustomPermission.java: added 2-arg constructor for permissions without actions * tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/CustomPermissionTest.java (testToStringWithoutActions) renamed testToStringWithEmptyActions (testToStringWithNoActions) new test * tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/CustomPolicyViewerTest.java (PERMISSION) uses 2-arg constructor * tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorTest.java (testAddCustomPermission) renamed testAddCustomPermissionEmptyActions (testClearCustomPermissions) renamed testClearCustomPermissionsEmptyActions (testAddCustomPermissionNoActions) new test (testClearCustomPermissionsNoActions) new test diffstat: ChangeLog | 17 +++++++- netx/net/sourceforge/jnlp/security/policyeditor/CustomPermission.java | 11 +++++ tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/CustomPermissionTest.java | 21 ++++++++- tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/CustomPolicyViewerTest.java | 2 +- tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorTest.java | 22 +++++++++- 5 files changed, 67 insertions(+), 6 deletions(-) diffs (133 lines): diff -r 3eec89a2205e -r 50ef0215a6d5 ChangeLog --- a/ChangeLog Thu Jun 19 12:55:49 2014 +0200 +++ b/ChangeLog Thu Jun 19 09:51:39 2014 -0400 @@ -1,4 +1,19 @@ -2014-06-19 Kurt Miller +2014-06-19 Andrew Azores + + * netx/net/sourceforge/jnlp/security/policyeditor/CustomPermission.java: + added 2-arg constructor for permissions without actions + * tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/CustomPermissionTest.java + (testToStringWithoutActions) renamed testToStringWithEmptyActions + (testToStringWithNoActions) new test + * tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/CustomPolicyViewerTest.java + (PERMISSION) uses 2-arg constructor + * tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorTest.java + (testAddCustomPermission) renamed testAddCustomPermissionEmptyActions + (testClearCustomPermissions) renamed testClearCustomPermissionsEmptyActions + (testAddCustomPermissionNoActions) new test + (testClearCustomPermissionsNoActions) new test + +2014-06-19 Kurt Miller Fixed PR1743 - Intermittant deadlock in PluginRequestProcessor * NEWS: added PR1743 diff -r 3eec89a2205e -r 50ef0215a6d5 netx/net/sourceforge/jnlp/security/policyeditor/CustomPermission.java --- a/netx/net/sourceforge/jnlp/security/policyeditor/CustomPermission.java Thu Jun 19 12:55:49 2014 +0200 +++ b/netx/net/sourceforge/jnlp/security/policyeditor/CustomPermission.java Thu Jun 19 09:51:39 2014 -0400 @@ -61,6 +61,17 @@ public final String type, target, actions; /** + * Constructor for custom basic permissions (ie those without actions). This is equivalent + * to CustomPermission(type, target, "") + * @param type eg java.io.FilePermission + * @param target eg ${user.home}${/}* + */ + public CustomPermission(final String type, final String target) { + this(type, target, ""); + } + + /** + * Constructor for custom permissions with actions * @param type eg java.io.FilePermission * @param target eg ${user.home}${/}* * @param actions eg read,write diff -r 3eec89a2205e -r 50ef0215a6d5 tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/CustomPermissionTest.java --- a/tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/CustomPermissionTest.java Thu Jun 19 12:55:49 2014 +0200 +++ b/tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/CustomPermissionTest.java Thu Jun 19 09:51:39 2014 -0400 @@ -116,14 +116,31 @@ } @Test - public void testToStringWithoutActions() throws Exception { + public void testToStringWithNoActions() throws Exception { + final CustomPermission cp = new CustomPermission("java.lang.RuntimePermission", "createClassLoader"); + final String expected = "permission java.lang.RuntimePermission \"createClassLoader\";"; + assertEquals(expected, cp.toString()); + } + + @Test + public void testToStringWithEmptyActions() throws Exception { final CustomPermission cp = new CustomPermission("java.lang.RuntimePermission", "createClassLoader", ""); final String expected = "permission java.lang.RuntimePermission \"createClassLoader\";"; assertEquals(expected, cp.toString()); } @Test - public void testCompareTo() throws Exception { + public void testCompareToWithNoActions() throws Exception { + final CustomPermission cp1 = new CustomPermission("java.io.FilePermission", "*", "read"); + final CustomPermission cp2 = new CustomPermission("java.io.FilePermission", "${user.home}${/}*", "read"); + final CustomPermission cp3 = new CustomPermission("java.lang.RuntimePermission", "queuePrintJob"); + assertTrue("cp1.compareTo(cp2) should be > 0", cp1.compareTo(cp2) > 0); + assertTrue("cp1.compareTo(cp1) should be 0", cp1.compareTo(cp1) == 0); + assertTrue("cp2.compareTo(cp3) should be < 0", cp2.compareTo(cp3) < 0); + } + + @Test + public void testCompareToWithEmptyActions() throws Exception { final CustomPermission cp1 = new CustomPermission("java.io.FilePermission", "*", "read"); final CustomPermission cp2 = new CustomPermission("java.io.FilePermission", "${user.home}${/}*", "read"); final CustomPermission cp3 = new CustomPermission("java.lang.RuntimePermission", "queuePrintJob", ""); diff -r 3eec89a2205e -r 50ef0215a6d5 tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/CustomPolicyViewerTest.java --- a/tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/CustomPolicyViewerTest.java Thu Jun 19 12:55:49 2014 +0200 +++ b/tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/CustomPolicyViewerTest.java Thu Jun 19 09:51:39 2014 -0400 @@ -55,7 +55,7 @@ private CustomPolicyViewer viewer; private static final String CODEBASE = "http://example.com"; - private static final CustomPermission PERMISSION = new CustomPermission("java.lang.RuntimePermission", "createClassLoader", ""); + private static final CustomPermission PERMISSION = new CustomPermission("java.lang.RuntimePermission", "createClassLoader"); @Before public void setupViewer() { diff -r 3eec89a2205e -r 50ef0215a6d5 tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorTest.java --- a/tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorTest.java Thu Jun 19 12:55:49 2014 +0200 +++ b/tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorTest.java Thu Jun 19 09:51:39 2014 -0400 @@ -143,7 +143,15 @@ } @Test - public void testAddCustomPermission() throws Exception { + public void testAddCustomPermissionNoActions() throws Exception { + final String codebase = "http://example.com"; + final CustomPermission customPermission = new CustomPermission("java.lang.RuntimePermission", "createClassLoader"); + editor.addCustomPermission(codebase, customPermission); + assertTrue("Editor custom permissions should include " + customPermission + " but did not", editor.getCustomPermissions(codebase).contains(customPermission)); + } + + @Test + public void testAddCustomPermissionEmptyActions() throws Exception { final String codebase = "http://example.com"; final CustomPermission customPermission = new CustomPermission("java.lang.RuntimePermission", "createClassLoader", ""); editor.addCustomPermission(codebase, customPermission); @@ -151,7 +159,17 @@ } @Test - public void testClearCustomPermissions() throws Exception { + public void testClearCustomPermissionsNoActions() throws Exception { + final String codebase = "http://example.com"; + final CustomPermission customPermission = new CustomPermission("java.lang.RuntimePermission", "createClassLoader"); + editor.addCustomPermission(codebase, customPermission); + assertTrue("Editor custom permissions should include " + customPermission + " but did not", editor.getCustomPermissions(codebase).contains(customPermission)); + editor.clearCustomPermissions(codebase); + assertEquals(0, editor.getCustomPermissions(codebase).size()); + } + + @Test + public void testClearCustomPermissionsEmptyActions() throws Exception { final String codebase = "http://example.com"; final CustomPermission customPermission = new CustomPermission("java.lang.RuntimePermission", "createClassLoader", ""); editor.addCustomPermission(codebase, customPermission); From aazores at redhat.com Thu Jun 19 14:04:23 2014 From: aazores at redhat.com (Andrew Azores) Date: Thu, 19 Jun 2014 10:04:23 -0400 Subject: [rfc][icedtea-web]missing news In-Reply-To: <53A2E758.10200@redhat.com> References: <53A2CA73.6090801@redhat.com> <53A2E689.8030006@redhat.com> <53A2E758.10200@redhat.com> Message-ID: <53A2EDE7.4020106@redhat.com> On 06/19/2014 09:36 AM, Jiri Vanek wrote: > On 06/19/2014 03:32 PM, Andrew Azores wrote: >> On 06/19/2014 07:33 AM, Jiri Vanek wrote: >>> Hi! >>> >>> I noted I have forgot to write news for my changes. >>> What I recall I owe those: >>> HEAD >>> New in release 1.6 (2014-XX-XX): >>> +* Improved to be able to run with any JDK >>> +* JDK 6 and older no longer supported >>> +* Added DE localisation >>> +* Added KEY_ENABLE_MANIFEST_ATTRIBUTES_CHECK deployment property to >>> control scan of Manifest file >>> * Plugin >>> - PR1743 - Intermittant deadlock in PluginRequestProcessor >>> >>> 1.5 >>> New in release 1.5.1 (YYYY-MM-DD): >>> +* Improved to be able to run with any JDK >>> +* Added DE localisation >>> +* Added KEY_ENABLE_MANIFEST_ATTRIBUTES_CHECK deployment property to >>> control scan of Manifest file >>> * Plugin >>> - PR1743 - Intermittant deadlock in PluginRequestProcessor >>> >>> Please all others, who had change pushed, please verifi if NEWS >>> record was not worthy. >>> >>> >>> J. >> >> * PolicyEditor >> - codebases can be renamed in-place, copied, and pasted >> - displays a progress dialog while opening or saving files >> - opening and saving files is asynchronous > ^ this is implementation detail, I wil not mention this. >> - more permissions added > - I would rather say "now supported also permission1, > persmission2, ... in PolicyEditor" >> - many minor bug fixes and under-the-hood enhancements > > If they have bugid, then mention it as ususal bug, If they are somehow > visible outside, mention each as line. Otherwise I would drop this line. > > >> * Temporary Permissions in security dialog now multi-selectable and >> based on PolicyEditor permissions >> >> I think that's all I have for 1.6 NEWS so far (and the Temporary >> Permissions one is half Lukasz' >> too). Can I push this now? > > > By not complaining on mine, I consider them as approved ;) > > ty! > > J. Yes, I think yours are good to go. * New Java 8 URLPermission support * Plugin - PR1743 - Intermittant deadlock in PluginRequestProcessor * PolicyEditor - codebases can be renamed in-place, copied, and pasted - codebase URLs can be copied to system clipboard - displays a progress dialog while opening or saving files - codebases without permissions assigned save to file anyway (and re-appear on next open) - PR1776: NullPointer on save-and-exit - PR1850: duplicate codebases when launching from security dialogs * Temporary Permissions in security dialog now multi-selectable and based on PolicyEditor permissions How's that? Thanks, -- Andrew A From bugzilla-daemon at icedtea.classpath.org Thu Jun 19 14:07:12 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 19 Jun 2014 14:07:12 +0000 Subject: [Bug 729] GTKLookAndFeel should be the system look&feel on all GNU/Linux desktops In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=729 --- Comment #22 from Mario Torre --- (In reply to Clemens Eisserer from comment #3) > However the GtkLookAndFeel still has a few bugs - but worse than that its > horribly slow. > > Because Gtk2 didn't allow widgets to be rendered to a system-memory surface > and also didn't pass alpha data, java renders each widget to a server-side > pixmap twice (one time with black and one time with white background), reads > both pixmaps back from the xserver, calculates the alpha channel by > comparing pixels between the two images. > This makes GtkLnk completly unuseable remotly, but also hurts for larger > apps locally (as it really troubles all new hardware accalerated EXA/UXA > drivers which have to shuffle data between video memory and system memory > all the time.) > > Gtk3 has fixed its interfaces, and is much better suited for this use case. Yep, I fully agree. As soon as an application starts to do anything a bit more UI heavy the Gtk2 laf shows all its pitfalls, that's a reason why I don't really want this to be the default in Thermostat, for example. And this would be yet another reason to not have this patch in, it's already quite bad on Gnome, under KDE would use a double layer of indirection, the performances would be even worse probably. I really think that letting users decide for themselves is the way to go, as I said in my previous comment, by using "swing.systemlaf". For the rest this bug could be closed at this point imho. Cheers, Mario -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From jvanek at redhat.com Thu Jun 19 14:11:14 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 19 Jun 2014 16:11:14 +0200 Subject: [rfc][icedtea-web]missing news In-Reply-To: <53A2EDE7.4020106@redhat.com> References: <53A2CA73.6090801@redhat.com> <53A2E689.8030006@redhat.com> <53A2E758.10200@redhat.com> <53A2EDE7.4020106@redhat.com> Message-ID: <53A2EF82.1000901@redhat.com> On 06/19/2014 04:04 PM, Andrew Azores wrote: > On 06/19/2014 09:36 AM, Jiri Vanek wrote: >> On 06/19/2014 03:32 PM, Andrew Azores wrote: >>> On 06/19/2014 07:33 AM, Jiri Vanek wrote: >>>> Hi! >>>> >>>> I noted I have forgot to write news for my changes. >>>> What I recall I owe those: >>>> HEAD >>>> New in release 1.6 (2014-XX-XX): >>>> +* Improved to be able to run with any JDK >>>> +* JDK 6 and older no longer supported >>>> +* Added DE localisation >>>> +* Added KEY_ENABLE_MANIFEST_ATTRIBUTES_CHECK deployment property to control scan of Manifest file >>>> * Plugin >>>> - PR1743 - Intermittant deadlock in PluginRequestProcessor >>>> >>>> 1.5 >>>> New in release 1.5.1 (YYYY-MM-DD): >>>> +* Improved to be able to run with any JDK >>>> +* Added DE localisation >>>> +* Added KEY_ENABLE_MANIFEST_ATTRIBUTES_CHECK deployment property to control scan of Manifest file >>>> * Plugin >>>> - PR1743 - Intermittant deadlock in PluginRequestProcessor >>>> >>>> Please all others, who had change pushed, please verifi if NEWS record was not worthy. >>>> >>>> >>>> J. >>> >>> * PolicyEditor >>> - codebases can be renamed in-place, copied, and pasted >>> - displays a progress dialog while opening or saving files >>> - opening and saving files is asynchronous >> ^ this is implementation detail, I wil not mention this. >>> - more permissions added >> - I would rather say "now supported also permission1, persmission2, ... in PolicyEditor" >>> - many minor bug fixes and under-the-hood enhancements >> >> If they have bugid, then mention it as ususal bug, If they are somehow visible outside, mention >> each as line. Otherwise I would drop this line. >> >> >>> * Temporary Permissions in security dialog now multi-selectable and based on PolicyEditor >>> permissions >>> >>> I think that's all I have for 1.6 NEWS so far (and the Temporary Permissions one is half Lukasz' >>> too). Can I push this now? >> >> >> By not complaining on mine, I consider them as approved ;) >> >> ty! >> >> J. > > Yes, I think yours are good to go. > > * New Java 8 URLPermission support > * Plugin > - PR1743 - Intermittant deadlock in PluginRequestProcessor > * PolicyEditor > - codebases can be renamed in-place, copied, and pasted > - codebase URLs can be copied to system clipboard > - displays a progress dialog while opening or saving files > - codebases without permissions assigned save to file anyway (and re-appear on next open) > - PR1776: NullPointer on save-and-exit > - PR1850: duplicate codebases when launching from security dialogs > * Temporary Permissions in security dialog now multi-selectable and based on PolicyEditor permissions > Great! go on - except New Java 8 URLPermission support - it is notyet pushed ;) J. From aazores at redhat.com Thu Jun 19 14:11:24 2014 From: aazores at redhat.com (Andrew Azores) Date: Thu, 19 Jun 2014 10:11:24 -0400 Subject: [rfc][icedtea-web] Fix support for signed applets with sandbox permissions in manifest In-Reply-To: <53A1D012.7000807@redhat.com> References: <5384BC13.5010708@redhat.com> <53A1B7BE.9020308@redhat.com> <53A1D012.7000807@redhat.com> Message-ID: <53A2EF8C.6030802@redhat.com> On 06/18/2014 01:44 PM, Andrew Azores wrote: > On 06/18/2014 12:01 PM, Jiri Vanek wrote: >> On 05/27/2014 06:23 PM, Andrew Azores wrote: >>> Hi, >>> >>> This patch allows signed applets with sandbox permissions specified in >>> their manifests to actually >> >> >> How it is dealing with mixed (signed + unsigned code) apps? > > I don't have any examples of mixed signing apps with a Permissions > manifest attribute, but a reproducer could be prepared for this case. > Quick progress update: I'm working with Lukasz on creating this reproducer, since it's a good example of a fairly complicated reproducer test. Once that's ready then it can go into a changeset along with the already provided test. This will cover fully signed and partially signed applets, both with Permissions: sandbox in the manifest. Which other possible combinations of Signing x Manifest x Plugin/JNLP are worthy of testing? Plugin vs JNLP does have a distinction in the Permissions attribute spec, so that should probably be tested. Signing of course needs to be done, but fully vs partially is probably sufficient, since unsigned applets are only allowed to be sandboxed anyway. Do we also want to have tests for Permissions: all-permission in the manifest? And the case of no manifest permissions attribute at all is pretty well covered already by a lot of other reproducers (eg MixedSigningApplet and CustomPoliciesTest) IMO. So {Fully Signed, Partially Signed} x {Permissions: sandbox, Permissions: all-permission} X {Plugin, JNLP} ? Thanks, -- Andrew A From aazores at icedtea.classpath.org Thu Jun 19 14:13:25 2014 From: aazores at icedtea.classpath.org (aazores at icedtea.classpath.org) Date: Thu, 19 Jun 2014 14:13:25 +0000 Subject: /hg/icedtea-web: PolicyEditor and TemporaryPermissions 1.6 NEWS Message-ID: changeset b3d1e408c2b5 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=b3d1e408c2b5 author: Andrew Azores date: Thu Jun 19 10:13:09 2014 -0400 PolicyEditor and TemporaryPermissions 1.6 NEWS diffstat: ChangeLog | 4 ++++ NEWS | 8 ++++++++ 2 files changed, 12 insertions(+), 0 deletions(-) diffs (29 lines): diff -r 50ef0215a6d5 -r b3d1e408c2b5 ChangeLog --- a/ChangeLog Thu Jun 19 09:51:39 2014 -0400 +++ b/ChangeLog Thu Jun 19 10:13:09 2014 -0400 @@ -1,3 +1,7 @@ +2014-06-19 Andrew Azores + + * NEWS: added PolicyEditor and TemporaryPermissions 1.6 news + 2014-06-19 Andrew Azores * netx/net/sourceforge/jnlp/security/policyeditor/CustomPermission.java: diff -r 50ef0215a6d5 -r b3d1e408c2b5 NEWS --- a/NEWS Thu Jun 19 09:51:39 2014 -0400 +++ b/NEWS Thu Jun 19 10:13:09 2014 -0400 @@ -11,6 +11,14 @@ New in release 1.6 (2014-XX-XX): * Plugin - PR1743 - Intermittant deadlock in PluginRequestProcessor +* PolicyEditor + - codebases can be renamed in-place, copied, and pasted + - codebase URLs can be copied to system clipboard + - displays a progress dialog while opening or saving files + - codebases without permissions assigned save to file anyway (and re-appear on next open) + - PR1776: NullPointer on save-and-exit + - PR1850: duplicate codebases when launching from security dialogs +* Temporary Permissions in security dialog now multi-selectable and based on PolicyEditor permissions New in release 1.5 (2014-XX-XX): * IcedTea-Web now using tagsoup as default (tagsoup dependence) sanitizer for input From jvanek at redhat.com Thu Jun 19 14:23:48 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 19 Jun 2014 16:23:48 +0200 Subject: [rfc][icedtea-web] Fix support for signed applets with sandbox permissions in manifest In-Reply-To: <53A2EF8C.6030802@redhat.com> References: <5384BC13.5010708@redhat.com> <53A1B7BE.9020308@redhat.com> <53A1D012.7000807@redhat.com> <53A2EF8C.6030802@redhat.com> Message-ID: <53A2F274.1010309@redhat.com> On 06/19/2014 04:11 PM, Andrew Azores wrote: > On 06/18/2014 01:44 PM, Andrew Azores wrote: >> On 06/18/2014 12:01 PM, Jiri Vanek wrote: >>> On 05/27/2014 06:23 PM, Andrew Azores wrote: >>>> Hi, >>>> >>>> This patch allows signed applets with sandbox permissions specified in >>>> their manifests to actually >>> >>> >>> How it is dealing with mixed (signed + unsigned code) apps? >> >> I don't have any examples of mixed signing apps with a Permissions manifest attribute, but a >> reproducer could be prepared for this case. >> > > Quick progress update: I'm working with Lukasz on creating this reproducer, since it's a good > example of a fairly complicated reproducer test. Once that's ready then it can go into a changeset > along with the already provided test. This will cover fully signed and partially signed applets, > both with Permissions: sandbox in the manifest. > > Which other possible combinations of Signing x Manifest x Plugin/JNLP are worthy of testing? Plugin > vs JNLP does have a distinction in the Permissions attribute spec, so that should probably be > tested. Signing of course needs to be done, but fully vs partially is probably sufficient, since > unsigned applets are only allowed to be sandboxed anyway. Do we also want to have tests for > Permissions: all-permission in the manifest? And the case of no manifest permissions attribute at > all is pretty well covered already by a lot of other reproducers (eg MixedSigningApplet and > CustomPoliciesTest) IMO. > There can be nitpicks like jnlp app diverged to be lunched as applet/app and also html applet which can be lunched via jnlp href. It is another x 3 :( > So {Fully Signed, Partially Signed} x {Permissions: sandbox, Permissions: all-permission} X {Plugin, > JNLP} ? Well this is really a lot of work. On one side I would be happy to have them all, on second, I would call it to much work (but may be good practice for Lukas ;) ). Please dont forget to closing listeners otherwise the testsuite will run another 10minutes longer;) Well all 12 reproducers (+ 6*4 for applets)is ideal world. If you will have them all it really will be nice, but do not waste more time then is necessary. Ty! J. hmm Jsut crossed my mind - Most of the reproducers have no manifest at all. (So issiing permissions attribute). The "daily" report runs with the manifest check off. And on low security. I'm guessing it will not be affected by your chnageser (I'm pretty sure, but confirming) J. From jvanek at icedtea.classpath.org Thu Jun 19 14:31:16 2014 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Thu, 19 Jun 2014 14:31:16 +0000 Subject: /hg/icedtea-web: NEWS: mentioned All JDKs ability, DE localizati... Message-ID: changeset cba0b900aa2b in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=cba0b900aa2b author: Jiri Vanek date: Thu Jun 19 16:30:22 2014 +0200 NEWS: mentioned All JDKs ability, DE localization, JDK6 incompatibility and KEY_ENABLE_MANIFEST_ATTRIBUTES_CHECK diffstat: ChangeLog | 5 +++++ NEWS | 4 ++++ 2 files changed, 9 insertions(+), 0 deletions(-) diffs (26 lines): diff -r b3d1e408c2b5 -r cba0b900aa2b ChangeLog --- a/ChangeLog Thu Jun 19 10:13:09 2014 -0400 +++ b/ChangeLog Thu Jun 19 16:30:22 2014 +0200 @@ -1,3 +1,8 @@ +2014-06-19 Jiri Vanek + + * NEWS: mentioned All JDKs ability, DE localization, JDK6 incompatibility + and KEY_ENABLE_MANIFEST_ATTRIBUTES_CHECK + 2014-06-19 Andrew Azores * NEWS: added PolicyEditor and TemporaryPermissions 1.6 news diff -r b3d1e408c2b5 -r cba0b900aa2b NEWS --- a/NEWS Thu Jun 19 10:13:09 2014 -0400 +++ b/NEWS Thu Jun 19 16:30:22 2014 +0200 @@ -9,6 +9,10 @@ CVE-XXXX-YYYY: http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY New in release 1.6 (2014-XX-XX): +* Improved to be able to run with any JDK +* JDK 6 and older no longer supported +* Added DE localisation +* Added KEY_ENABLE_MANIFEST_ATTRIBUTES_CHECK deployment property to control scan of Manifest file * Plugin - PR1743 - Intermittant deadlock in PluginRequestProcessor * PolicyEditor From jvanek at icedtea.classpath.org Thu Jun 19 14:33:30 2014 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Thu, 19 Jun 2014 14:33:30 +0000 Subject: /hg/release/icedtea-web-1.5: NEWS: mentioned All JDKs ability, D... Message-ID: changeset fddbf6a65964 in /hg/release/icedtea-web-1.5 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.5?cmd=changeset;node=fddbf6a65964 author: Jiri Vanek date: Thu Jun 19 16:33:19 2014 +0200 NEWS: mentioned All JDKs ability, DE localization and KEY_ENABLE_MANIFEST_ATTRIBUTES_CHECK diffstat: ChangeLog | 4 ++++ NEWS | 3 +++ 2 files changed, 7 insertions(+), 0 deletions(-) diffs (24 lines): diff -r 3d9b622f6735 -r fddbf6a65964 ChangeLog --- a/ChangeLog Thu Jun 19 15:09:44 2014 +0200 +++ b/ChangeLog Thu Jun 19 16:33:19 2014 +0200 @@ -1,3 +1,7 @@ +2014-06-19 Jiri Vanek + + * NEWS: mentioned All JDKs ability, DE localization and KEY_ENABLE_MANIFEST_ATTRIBUTES_CHECK + 2014-06-19 Jiri Vanek Making the previous chnage actualy take an effect. diff -r 3d9b622f6735 -r fddbf6a65964 NEWS --- a/NEWS Thu Jun 19 15:09:44 2014 +0200 +++ b/NEWS Thu Jun 19 16:33:19 2014 +0200 @@ -9,6 +9,9 @@ CVE-XXXX-YYYY: http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY New in release 1.5.1 (YYYY-MM-DD): +* Improved to be able to run with any JDK +* Added DE localization +* Added KEY_ENABLE_MANIFEST_ATTRIBUTES_CHECK deployment property to control scan of Manifest file * Plugin - PR1743 - Intermittant deadlock in PluginRequestProcessor From aazores at redhat.com Thu Jun 19 14:38:55 2014 From: aazores at redhat.com (Andrew Azores) Date: Thu, 19 Jun 2014 10:38:55 -0400 Subject: [rfc][icedtea-web] Fix support for signed applets with sandbox permissions in manifest In-Reply-To: <53A2F274.1010309@redhat.com> References: <5384BC13.5010708@redhat.com> <53A1B7BE.9020308@redhat.com> <53A1D012.7000807@redhat.com> <53A2EF8C.6030802@redhat.com> <53A2F274.1010309@redhat.com> Message-ID: <53A2F5FF.7060701@redhat.com> On 06/19/2014 10:23 AM, Jiri Vanek wrote: > On 06/19/2014 04:11 PM, Andrew Azores wrote: >> On 06/18/2014 01:44 PM, Andrew Azores wrote: >>> On 06/18/2014 12:01 PM, Jiri Vanek wrote: >>>> On 05/27/2014 06:23 PM, Andrew Azores wrote: >>>>> Hi, >>>>> >>>>> This patch allows signed applets with sandbox permissions >>>>> specified in >>>>> their manifests to actually >>>> >>>> >>>> How it is dealing with mixed (signed + unsigned code) apps? >>> >>> I don't have any examples of mixed signing apps with a Permissions >>> manifest attribute, but a >>> reproducer could be prepared for this case. >>> >> >> Quick progress update: I'm working with Lukasz on creating this >> reproducer, since it's a good >> example of a fairly complicated reproducer test. Once that's ready >> then it can go into a changeset >> along with the already provided test. This will cover fully signed >> and partially signed applets, >> both with Permissions: sandbox in the manifest. >> >> Which other possible combinations of Signing x Manifest x Plugin/JNLP >> are worthy of testing? Plugin >> vs JNLP does have a distinction in the Permissions attribute spec, so >> that should probably be >> tested. Signing of course needs to be done, but fully vs partially is >> probably sufficient, since >> unsigned applets are only allowed to be sandboxed anyway. Do we also >> want to have tests for >> Permissions: all-permission in the manifest? And the case of no >> manifest permissions attribute at >> all is pretty well covered already by a lot of other reproducers (eg >> MixedSigningApplet and >> CustomPoliciesTest) IMO. >> > > There can be nitpicks like jnlp app diverged to be lunched as > applet/app and also html applet which can be lunched via jnlp href. > > It is another x 3 :( >> So {Fully Signed, Partially Signed} x {Permissions: sandbox, >> Permissions: all-permission} X {Plugin, >> JNLP} ? > > Well this is really a lot of work. On one side I would be happy to > have them all, on second, I would call it to much work (but may be > good practice for Lukas ;) ). > > Please dont forget to closing listeners otherwise the testsuite will > run another 10minutes longer;) > > Well all 12 reproducers (+ 6*4 for applets)is ideal world. If you > will have them all it really will be nice, but do not waste more time > then is necessary. > > Ty! > > > J. Yes, that is definitely a lot of work. It is an important region to have rigorous testing for though. > > > hmm Jsut crossed my mind - Most of the reproducers have no manifest at > all. (So issiing permissions attribute). The "daily" report runs with > the manifest check off. And on low security. I'm guessing it will not > be affected by your chnageser (I'm pretty sure, but confirming) > > > J. > Yea, that's a big concern. Disabling the manifest checks means that none of the reproducer tests will ever be auto-sandboxed, regardless of what's in the manifest, so all the tests are invalidated :( Thanks, -- Andrew A From jvanek at redhat.com Thu Jun 19 14:41:15 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 19 Jun 2014 16:41:15 +0200 Subject: [rfc][icedtea-web] Fix support for signed applets with sandbox permissions in manifest In-Reply-To: <53A2F5FF.7060701@redhat.com> References: <5384BC13.5010708@redhat.com> <53A1B7BE.9020308@redhat.com> <53A1D012.7000807@redhat.com> <53A2EF8C.6030802@redhat.com> <53A2F274.1010309@redhat.com> <53A2F5FF.7060701@redhat.com> Message-ID: <53A2F68B.3070103@redhat.com> On 06/19/2014 04:38 PM, Andrew Azores wrote: > On 06/19/2014 10:23 AM, Jiri Vanek wrote: >> On 06/19/2014 04:11 PM, Andrew Azores wrote: >>> On 06/18/2014 01:44 PM, Andrew Azores wrote: >>>> On 06/18/2014 12:01 PM, Jiri Vanek wrote: >>>>> On 05/27/2014 06:23 PM, Andrew Azores wrote: >>>>>> Hi, >>>>>> >>>>>> This patch allows signed applets with sandbox permissions specified in >>>>>> their manifests to actually >>>>> >>>>> >>>>> How it is dealing with mixed (signed + unsigned code) apps? >>>> >>>> I don't have any examples of mixed signing apps with a Permissions manifest attribute, but a >>>> reproducer could be prepared for this case. >>>> >>> >>> Quick progress update: I'm working with Lukasz on creating this reproducer, since it's a good >>> example of a fairly complicated reproducer test. Once that's ready then it can go into a changeset >>> along with the already provided test. This will cover fully signed and partially signed applets, >>> both with Permissions: sandbox in the manifest. >>> >>> Which other possible combinations of Signing x Manifest x Plugin/JNLP are worthy of testing? Plugin >>> vs JNLP does have a distinction in the Permissions attribute spec, so that should probably be >>> tested. Signing of course needs to be done, but fully vs partially is probably sufficient, since >>> unsigned applets are only allowed to be sandboxed anyway. Do we also want to have tests for >>> Permissions: all-permission in the manifest? And the case of no manifest permissions attribute at >>> all is pretty well covered already by a lot of other reproducers (eg MixedSigningApplet and >>> CustomPoliciesTest) IMO. >>> >> >> There can be nitpicks like jnlp app diverged to be lunched as applet/app and also html applet >> which can be lunched via jnlp href. >> >> It is another x 3 :( >>> So {Fully Signed, Partially Signed} x {Permissions: sandbox, Permissions: all-permission} X {Plugin, >>> JNLP} ? >> >> Well this is really a lot of work. On one side I would be happy to have them all, on second, I >> would call it to much work (but may be good practice for Lukas ;) ). >> >> Please dont forget to closing listeners otherwise the testsuite will run another 10minutes longer;) >> >> Well all 12 reproducers (+ 6*4 for applets)is ideal world. If you will have them all it really >> will be nice, but do not waste more time then is necessary. >> >> Ty! >> >> >> J. > > Yes, that is definitely a lot of work. It is an important region to have rigorous testing for though. > Then you really can multiple it also by {jnlp app, jnlp applet, html applet, html+jnlp-href} cases >> >> >> hmm Jsut crossed my mind - Most of the reproducers have no manifest at all. (So issiing >> permissions attribute). The "daily" report runs with the manifest check off. And on low security. >> I'm guessing it will not be affected by your chnageser (I'm pretty sure, but confirming) >> >> >> J. >> > > Yea, that's a big concern. Disabling the manifest checks means that none of the reproducer tests > will ever be auto-sandboxed, regardless of what's in the manifest, so all the tests are invalidated :( > Ok. This will need (my) tuning on side of reproducers engine. Or at least on side of daily test. From jkang at redhat.com Thu Jun 19 14:45:54 2014 From: jkang at redhat.com (Jie Kang) Date: Thu, 19 Jun 2014 10:45:54 -0400 (EDT) Subject: [rfc][icedtea-web] Refactor of LiveConnect Tests Version 2 In-Reply-To: <53A292A5.3000403@redhat.com> References: <1529622958.9604504.1401722424370.JavaMail.zimbra@redhat.com> <53A16502.3020304@redhat.com> <53A193E3.8080703@redhat.com> <53A1A7A7.3050303@redhat.com> <53A1B284.3090908@redhat.com> <53A1B4E4.4080803@redhat.com> <914981407.16226111.1403115384250.JavaMail.zimbra@redhat.com> <53A292A5.3000403@redhat.com> Message-ID: <366662465.16622204.1403189154442.JavaMail.zimbra@redhat.com> Hello, Here is the patch for the refactor without the change to the Makefile. Regards, -- Jie Kang -------------- next part -------------- A non-text attachment was scrubbed... Name: liveconnect-testrefactors-5.patch Type: text/x-patch Size: 125245 bytes Desc: not available URL: From jvanek at redhat.com Thu Jun 19 14:48:31 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 19 Jun 2014 16:48:31 +0200 Subject: [rfc][icedtea-web] Refactor of LiveConnect Tests Version 2 In-Reply-To: <366662465.16622204.1403189154442.JavaMail.zimbra@redhat.com> References: <1529622958.9604504.1401722424370.JavaMail.zimbra@redhat.com> <53A16502.3020304@redhat.com> <53A193E3.8080703@redhat.com> <53A1A7A7.3050303@redhat.com> <53A1B284.3090908@redhat.com> <53A1B4E4.4080803@redhat.com> <914981407.16226111.1403115384250.JavaMail.zimbra@redhat.com> <53A292A5.3000403@redhat.com> <366662465.16622204.1403189154442.JavaMail.zimbra@redhat.com> Message-ID: <53A2F83F.7010704@redhat.com> On 06/19/2014 04:45 PM, Jie Kang wrote: > Hello, > > Here is the patch for the refactor without the change to the Makefile. > > > Regards, > > -- > Jie Kang > Thank you. Unless Andrew A have any objections, I'mok with this! From jvanek at redhat.com Thu Jun 19 15:03:18 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 19 Jun 2014 17:03:18 +0200 Subject: [rfc][icedtea-web] Fix support for signed applets with sandbox permissions in manifest In-Reply-To: <53A1D012.7000807@redhat.com> References: <5384BC13.5010708@redhat.com> <53A1B7BE.9020308@redhat.com> <53A1D012.7000807@redhat.com> Message-ID: <53A2FBB6.6020204@redhat.com> On 06/18/2014 07:44 PM, Andrew Azores wrote: > On 06/18/2014 12:01 PM, Jiri Vanek wrote: >> On 05/27/2014 06:23 PM, Andrew Azores wrote: >>> Hi, >>> >>> This patch allows signed applets with sandbox permissions specified in >>> their manifests to actually >> >> >> How it is dealing with mixed (signed + unsigned code) apps? > > I don't have any examples of mixed signing apps with a Permissions manifest attribute, but a > reproducer could be prepared for this case. It seems to be under construction... > >>> be run sandboxed. This is in contrast to the current behaviour where >>> such applets will fail to >>> launch, and the failure message presented asks the user to try >>> launching via the Sandbox button next >>> time. This was because the dialog which presented the Sandbox button >>> appeared very early in the >>> JNLPClassLoader's life cycle - early enough that no security settings >>> had yet been set for the >>> classloader or any of the applet's JAR locations - whereas the >>> manifest checks were done later, >>> after these settings would have already been initialized. Fixing the >>> issue was not as simple as >>> doing the manifest checks before presenting the security dialog >>> because the dialog was presented >>> part way through the initialization process, where JARs are being >>> downloaded and checked for >>> signing, so that the appropriate security dialog could be shown to the >>> user. Putting the manifest >>> checks first would therefore not work properly because the JARs were >>> not yet available. This patch >>> resolves the issue by moving the manifest checks inside the method >>> which initializes the relevant >>> security settings, such that the required resources are available, it >>> is known what type of applet >>> is about to be run, but the security settings for the JAR locations >>> have not yet been initialized >>> and the applet can thus still be set to run sandboxed safely. >>> >>> Additionally, the ManifestAttributesChecker check for the Permissions >>> attribute is no longer skipped >>> when Extended Applet Security is set to the Low level, since this >>> allows for signed applets with >>> Sandbox permissions specified in their manifests to run with full >>> permissions when Low security is set. >>> >> >> Well this concept I do not like. >> >> Imho the correct approach is to check the attributes, but do not take >> any actions (except print warnings eg "normally I would fail because >> of..,but low security is on". >> >> With exception on sandbox attribute - here probably warning (strong one) >> requesting users attention. >> >> What do you think? - Well this dialogue would be good place for run in >> sandbox button too :) >> >> Otherwise the only way how to disable manifest check willbe the >> deployment property which I added. > > Sure. I just *really* am not comfortable with leaving it as-is, which means Low Security allows I agree. > applets to be silently granted elevated permissions. I can imagine this too easily being abused by a > malicious applet developer. I'm fine with adding an extra prompt here when on Low Security though, > warning the user that due to the Low Security the applet may be granted elevated permissions if it > is run. The dialogue canbe added as separate changeset. But for current changeset's behavior I would like the low security is not affecting *only* permissions attribute. Other attributes checks will be skipped. > >> ... >>> - setSecurity(); >> >> I'm wondering, setSecurity moved, but setPermissions remained? > > You mean initializePermissions? Yea, it didn't have to be moved. Still surprising me. > >>> - >>> - ManifestAttributesChecker mac = new >>> ManifestAttributesChecker(security, file, signing, securityDelegate); >>> - mac.checkAll(); >>> - >>> installShutdownHooks(); >>> >>> >>> @@ -592,14 +586,12 @@ public class JNLPClassLoader extends URL >>> //Check if main jar is found within extensions >>> foundMainJar = foundMainJar || hasMainInExtensions(); >>> >>> + setSecurity(); >>> + initializeManifestAttributesChecker(); >>> + mac.checkAll(); >>> return; >>> } >>> - /* >>> - if (jars == null || jars.length == 0) { >>> - throw new LaunchException(null, null, R("LSFatal"), >>> - R("LCInit"), >>> R("LFatalVerification"), "No jars!"); >>> - } >>> - */ >> >> This should probably cam in as separate changset. Hmm.. When it was >> commented Out actually? :) > then please remove as separate changeset. Together with the hunk a bit lower. >>> >>> - jarLocationSecurityMap.put(jarDesc.getLocation(), >>> jarSecurity); >>> + if (containsUnsignedJar && containsSignedJar) { >>> + break; >>> + } >>> } >>> >>> if (containsSignedJar && containsUnsignedJar) { >>> checkPartialSigningWithUser(); >>> } >>> >>> + initializeManifestAttributesChecker(); >>> + mac.checkAll(); >>> + >>> + for (JARDesc jarDesc : validJars) { >> >> There I'm missing something. Why is this secoond field even needed? >> In any case, please mention it in changelog. > > Which second field? "mac"? Oh sorry. no. - The validJars. Can you expalin on them? > >>> + final URL codebase = getJnlpFileCodebase(); >>> + final SecurityDesc jarSecurity = >>> securityDelegate.getCodebaseSecurityDesc(jarDesc, codebase.getHost()); >>> + jarLocationSecurityMap.put(jarDesc.getLocation(), >>> jarSecurity); >>> + } >>> + >>> activateJars(initialJars); >>> } >>> + >>> + private void initializeManifestAttributesChecker() throws >>> LaunchException { >>> + if (mac == null) { >>> + file.getManifestsAttributes().setLoader(this); >>> + mac = new ManifestAttributesChecker(security, file, >>> signing, securityDelegate); >>> + } >>> + } >>> + >>> + private URL getJnlpFileCodebase() { >>> + final URL codebase; >>> + if (file.getCodeBase() != null) { >>> + codebase = file.getCodeBase(); >>> + } else { >>> + // FIXME: codebase should be the codebase of the Main Jar >>> not >>> + // the location. Although, it still works in the current >>> state. >>> + codebase = file.getResources().getMainJAR().getLocation(); >>> + } >>> + return codebase; >>> + } >>> >>> /*** >>> * Checks for the jar that contains the attribute. >>> @@ -762,13 +780,12 @@ public class JNLPClassLoader extends URL >>> * @param name attribute to be found >>> */ >>> public String checkForAttributeInJars(List jars, >>> Attributes.Name name) { >>> - >>> if (jars.isEmpty()) { >>> return null; >>> } >>> >>> String result = null; >>> - >>> + >>> // Check main jar >>> JARDesc mainJarDesc = ResourcesDesc.getMainJAR(jars); >>> result = getManifestAttribute(mainJarDesc.getLocation(), name); >>> @@ -776,7 +793,7 @@ public class JNLPClassLoader extends URL >>> if (result != null) { >>> return result; >>> } >>> - >>> + >>> // Check first jar >>> JARDesc firstJarDesc = jars.get(0); >>> result = getManifestAttribute(firstJarDesc.getLocation(),name); >>> @@ -2380,12 +2397,15 @@ public class JNLPClassLoader extends URL >>> } >>> >>> public void setRunInSandbox() throws LaunchException { >>> - if (promptedForSandbox || classLoader.security != null >>> - || classLoader.jarLocationSecurityMap.size() != 0) { >>> + if (runInSandbox && classLoader.security != null >>> + && classLoader.jarLocationSecurityMap.size() != 0) { >> >> Why have this condition changed in thisway? I would expect >> promptedForSandbox || runInSandbox || classLoader.security != null && ... > > The ClassLoader can end up attempting to automatically set the applet to run in sandbox multiple > times, so that condition would cause it to fail in this situation. The condition was very strong > before on purpose because it was easily possible for the security settings to have already been > applied before the sandboxing option appeared to the user. Now, the sandboxing dialog appears well > beforehand, and automatic sandboxing also happens early enough, so this condition has to be slightly > weakened so that it does allow the call to be performed multiple times, but only if the security > settings have not yet been applied to the classloader/applet. I haven't tested this but this > condition should also work fine: /me consuimg this and hoping /me understand well %-~ > > runInSandbox && (classLoader.security != null || jarLocationSecurityMap.size() != 0) > > The classLoader.security and jarLocationSecurityMap conditions should really always be "in sync" > with each other in this regard though. hmmh. > >> >>> throw new LaunchException(classLoader.file, null, >> +Permissions: sandbox >> >> >> Do we have/need also one with Permissions: all-permissions ? I recall >> there is something... > > I don't think so, but maybe there is. I couldn't find anything with a quick grep. > ...in progress s I guess >> .. >> >> >> Why do you need custom reproducers? The manifest is handled by engine > > Ah, I forgot about this. Although a custom reproducer would still be needed for the mixed signing > case, so I can convert this one to mixed and make normal "simple" and "signed" ones as well I suppose. > good! ...snip... >> + assertTrue("Applet should have printed its exit string", >> pr.stdout.contains(CLOSE_STRING)); >> + } >> +} >> >> As this test is already known to fail, it can go (after manifest is >> resolved) in as independent changeset. >> >> Well except the issue with low security (and few more expalnationa) I'm ashamed to not have muc more comments :( J. From aazores at redhat.com Thu Jun 19 15:22:25 2014 From: aazores at redhat.com (Andrew Azores) Date: Thu, 19 Jun 2014 11:22:25 -0400 Subject: [rfc][icedtea-web] Fix support for signed applets with sandbox permissions in manifest In-Reply-To: <53A2FBB6.6020204@redhat.com> References: <5384BC13.5010708@redhat.com> <53A1B7BE.9020308@redhat.com> <53A1D012.7000807@redhat.com> <53A2FBB6.6020204@redhat.com> Message-ID: <53A30031.2080301@redhat.com> On 06/19/2014 11:03 AM, Jiri Vanek wrote: > On 06/18/2014 07:44 PM, Andrew Azores wrote: >> On 06/18/2014 12:01 PM, Jiri Vanek wrote: >>> On 05/27/2014 06:23 PM, Andrew Azores wrote: >>>> Hi, >>>> >>>> This patch allows signed applets with sandbox permissions specified in >>>> their manifests to actually >>> >>> >>> How it is dealing with mixed (signed + unsigned code) apps? >> >> I don't have any examples of mixed signing apps with a Permissions >> manifest attribute, but a >> reproducer could be prepared for this case. > > It seems to be under construction... >> >>>> be run sandboxed. This is in contrast to the current behaviour where >>>> such applets will fail to >>>> launch, and the failure message presented asks the user to try >>>> launching via the Sandbox button next >>>> time. This was because the dialog which presented the Sandbox button >>>> appeared very early in the >>>> JNLPClassLoader's life cycle - early enough that no security settings >>>> had yet been set for the >>>> classloader or any of the applet's JAR locations - whereas the >>>> manifest checks were done later, >>>> after these settings would have already been initialized. Fixing the >>>> issue was not as simple as >>>> doing the manifest checks before presenting the security dialog >>>> because the dialog was presented >>>> part way through the initialization process, where JARs are being >>>> downloaded and checked for >>>> signing, so that the appropriate security dialog could be shown to the >>>> user. Putting the manifest >>>> checks first would therefore not work properly because the JARs were >>>> not yet available. This patch >>>> resolves the issue by moving the manifest checks inside the method >>>> which initializes the relevant >>>> security settings, such that the required resources are available, it >>>> is known what type of applet >>>> is about to be run, but the security settings for the JAR locations >>>> have not yet been initialized >>>> and the applet can thus still be set to run sandboxed safely. >>>> >>>> Additionally, the ManifestAttributesChecker check for the Permissions >>>> attribute is no longer skipped >>>> when Extended Applet Security is set to the Low level, since this >>>> allows for signed applets with >>>> Sandbox permissions specified in their manifests to run with full >>>> permissions when Low security is set. >>>> >>> >>> Well this concept I do not like. >>> >>> Imho the correct approach is to check the attributes, but do not take >>> any actions (except print warnings eg "normally I would fail because >>> of..,but low security is on". >>> >>> With exception on sandbox attribute - here probably warning (strong >>> one) >>> requesting users attention. >>> >>> What do you think? - Well this dialogue would be good place for >>> run in >>> sandbox button too :) >>> >>> Otherwise the only way how to disable manifest check willbe the >>> deployment property which I added. >> >> Sure. I just *really* am not comfortable with leaving it as-is, which >> means Low Security allows > > I agree. >> applets to be silently granted elevated permissions. I can imagine >> this too easily being abused by a >> malicious applet developer. I'm fine with adding an extra prompt here >> when on Low Security though, >> warning the user that due to the Low Security the applet may be >> granted elevated permissions if it >> is run. > > The dialogue canbe added as separate changeset. > > But for current changeset's behavior I would like the low security is > not affecting *only* permissions attribute. Other attributes checks > will be skipped. >> >>> > ... >>>> - setSecurity(); >>> >>> I'm wondering, setSecurity moved, but setPermissions remained? >> >> You mean initializePermissions? Yea, it didn't have to be moved. > > Still surprising me. If you look inside what initializePermissions does it makes more sense :) maybe that method should be renamed, because its name sounds a lot more wide-reaching than it truly is. > >> >>>> - >>>> - ManifestAttributesChecker mac = new >>>> ManifestAttributesChecker(security, file, signing, securityDelegate); >>>> - mac.checkAll(); >>>> - >>>> installShutdownHooks(); >>>> >>>> >>>> @@ -592,14 +586,12 @@ public class JNLPClassLoader extends URL >>>> //Check if main jar is found within extensions >>>> foundMainJar = foundMainJar || hasMainInExtensions(); >>>> >>>> + setSecurity(); >>>> + initializeManifestAttributesChecker(); >>>> + mac.checkAll(); >>>> return; >>>> } >>>> - /* >>>> - if (jars == null || jars.length == 0) { >>>> - throw new LaunchException(null, null, R("LSFatal"), >>>> - R("LCInit"), >>>> R("LFatalVerification"), "No jars!"); >>>> - } >>>> - */ >>> >>> This should probably cam in as separate changset. Hmm.. When it was >>> commented Out actually? :) >> > > then please remove as separate changeset. Together with the hunk a > bit lower. > >>>> >>>> - jarLocationSecurityMap.put(jarDesc.getLocation(), >>>> jarSecurity); >>>> + if (containsUnsignedJar && containsSignedJar) { >>>> + break; >>>> + } >>>> } >>>> >>>> if (containsSignedJar && containsUnsignedJar) { >>>> checkPartialSigningWithUser(); >>>> } >>>> >>>> + initializeManifestAttributesChecker(); >>>> + mac.checkAll(); >>>> + >>>> + for (JARDesc jarDesc : validJars) { >>> >>> There I'm missing something. Why is this secoond field even needed? >>> In any case, please mention it in changelog. >> >> Which second field? "mac"? > > Oh sorry. no. - The validJars. Can you expalin on them? Right, so rather than iterating over JARs and immediately applying security settings to them, any valid JAR that is discovered is added to that collection instead. Then we can all at once determine if the applet is fully signed vs partially signed (including discovering if it has an external main-class to make it partial) and can perform the manifest checks (this is the important part). Then, after we have gathered all that information, we can actually apply the settings to each JAR by iterating over validJars. If we try to apply settings to each JAR as we go along, as it is without this patch, then it becomes impossible to perform the manifest check for the Permissions attribute before any JARs have their security settings applied (which is the asserted condition in setRunInSandbox), since we won't have found and processed the manifest before beginning to populate the jarLocationSecurityMap. This part of the changeset is really the heart of the fix. >> >>>> + final URL codebase = getJnlpFileCodebase(); >>>> + final SecurityDesc jarSecurity = >>>> securityDelegate.getCodebaseSecurityDesc(jarDesc, codebase.getHost()); >>>> + jarLocationSecurityMap.put(jarDesc.getLocation(), >>>> jarSecurity); >>>> + } >>>> + >>>> activateJars(initialJars); >>>> } >>>> + >>>> + private void initializeManifestAttributesChecker() throws >>>> LaunchException { >>>> + if (mac == null) { >>>> + file.getManifestsAttributes().setLoader(this); >>>> + mac = new ManifestAttributesChecker(security, file, >>>> signing, securityDelegate); >>>> + } >>>> + } >>>> + >>>> + private URL getJnlpFileCodebase() { >>>> + final URL codebase; >>>> + if (file.getCodeBase() != null) { >>>> + codebase = file.getCodeBase(); >>>> + } else { >>>> + // FIXME: codebase should be the codebase of the Main Jar >>>> not >>>> + // the location. Although, it still works in the current >>>> state. >>>> + codebase = >>>> file.getResources().getMainJAR().getLocation(); >>>> + } >>>> + return codebase; >>>> + } >>>> >>>> /*** >>>> * Checks for the jar that contains the attribute. >>>> @@ -762,13 +780,12 @@ public class JNLPClassLoader extends URL >>>> * @param name attribute to be found >>>> */ >>>> public String checkForAttributeInJars(List jars, >>>> Attributes.Name name) { >>>> - >>>> if (jars.isEmpty()) { >>>> return null; >>>> } >>>> >>>> String result = null; >>>> - >>>> + >>>> // Check main jar >>>> JARDesc mainJarDesc = ResourcesDesc.getMainJAR(jars); >>>> result = getManifestAttribute(mainJarDesc.getLocation(), >>>> name); >>>> @@ -776,7 +793,7 @@ public class JNLPClassLoader extends URL >>>> if (result != null) { >>>> return result; >>>> } >>>> - >>>> + >>>> // Check first jar >>>> JARDesc firstJarDesc = jars.get(0); >>>> result = >>>> getManifestAttribute(firstJarDesc.getLocation(),name); >>>> @@ -2380,12 +2397,15 @@ public class JNLPClassLoader extends URL >>>> } >>>> >>>> public void setRunInSandbox() throws LaunchException { >>>> - if (promptedForSandbox || classLoader.security != null >>>> - || classLoader.jarLocationSecurityMap.size() >>>> != 0) { >>>> + if (runInSandbox && classLoader.security != null >>>> + && classLoader.jarLocationSecurityMap.size() >>>> != 0) { >>> >>> Why have this condition changed in thisway? I would expect >>> promptedForSandbox || runInSandbox || classLoader.security != null >>> && ... >> >> The ClassLoader can end up attempting to automatically set the applet >> to run in sandbox multiple >> times, so that condition would cause it to fail in this situation. >> The condition was very strong >> before on purpose because it was easily possible for the security >> settings to have already been >> applied before the sandboxing option appeared to the user. Now, the >> sandboxing dialog appears well >> beforehand, and automatic sandboxing also happens early enough, so >> this condition has to be slightly >> weakened so that it does allow the call to be performed multiple >> times, but only if the security >> settings have not yet been applied to the classloader/applet. I >> haven't tested this but this >> condition should also work fine: > > > /me consuimg this and hoping /me understand well > %-~ It hopefully makes more sense with the explanation above. It can be set multiple times if multiple manifests are found and multiple "Permissions: sandbox" entries are found, for example. > >> >> runInSandbox && (classLoader.security != null || >> jarLocationSecurityMap.size() != 0) >> >> The classLoader.security and jarLocationSecurityMap conditions should >> really always be "in sync" >> with each other in this regard though. > hmmh. > >> >>> >>>> throw new LaunchException(classLoader.file, null, > >>> +Permissions: sandbox >>> >>> >>> Do we have/need also one with Permissions: all-permissions ? I recall >>> there is something... >> >> I don't think so, but maybe there is. I couldn't find anything with a >> quick grep. >> > ...in progress s I guess >>> > .. >>> >>> >>> Why do you need custom reproducers? The manifest is handled by engine >> >> Ah, I forgot about this. Although a custom reproducer would still be >> needed for the mixed signing >> case, so I can convert this one to mixed and make normal "simple" and >> "signed" ones as well I suppose. >> > > good! > ...snip... >>> + assertTrue("Applet should have printed its exit string", >>> pr.stdout.contains(CLOSE_STRING)); >>> + } >>> +} >>> >>> As this test is already known to fail, it can go (after manifest is >>> resolved) in as independent changeset. >>> >>> > > Well except the issue with low security (and few more expalnationa) > I'm ashamed to not have muc more comments :( > > > J. > Take your time on reviewing this, it's a huge one and although I feel pretty confident in it, I really don't want it to go in if there are any errors. The Sandbox button is a decent workaround at the moment at least, other than occasional configuration errors eg. applets having been previously Always Trusted, so the Sandbox button isn't presented. Thanks, -- Andrew A From aazores at redhat.com Thu Jun 19 15:26:58 2014 From: aazores at redhat.com (Andrew Azores) Date: Thu, 19 Jun 2014 11:26:58 -0400 Subject: IcedTea-Web and FireBreath Plugin API In-Reply-To: <53A30007.2070703@medsa.se> References: <5398F846.4060104@medsa.se> <5399B712.6070009@redhat.com> <53A30007.2070703@medsa.se> Message-ID: <53A30142.7070408@redhat.com> On 06/19/2014 11:21 AM, Mattias Eliasson wrote: > Hi, > > I also would suggest making a generic java libraries for making Java > plugins, for example a JFireBreath API if you chose to use FireBreath > as a base. Also it would be useful to design such a library so that > plugins can be hosted by Java-based browsers. Javafx WebEngine for > example do not support plugins currently, and extending it to support > NPAPI would bring to many layers where things can go wrong. Making a > clean separation of the NPAPI part of icedtea-web and the Java part > would allow for WebEngine and other Java browsers to host Applets > without involving a native layer. > > Generically I can see that IcedTea-web contains a lot of code that > would be better of if its made into separate libraries. For example > sandboxing are surely interesting in other projects. I found a > sandboxing library but it seams to be dead. > > 2014-06-12 16:20, Andrew Azores skrev: >> On 06/11/2014 08:45 PM, Mattias Eliasson wrote: >>> Hi, >>> >>> As IcedTea-web have a architectural simplification task I am curious >>> if you have looked at the FireBreath plugin API? It seams to provide >>> nice high level C++ API for both NPAPI and IE ActiveX. That should >>> help reduce IcedTea-Web code a lot since NPAPI are quite chatty and >>> hopefully make it easier to squash remaining NPAPI-related bugs. >> >> I haven't looked into this myself before, but it looks interesting. >> We'll see what others think about the idea and perhaps look into >> porting over. Thanks for proposing it. >> >> Thanks, >> > (CC'ing the distro-pkg-dev list) The sandboxing in IcedTea-Web is mostly just a wrapper around the sandboxing provided by the JVM itself. All IcedTea-Web does with it is use this "primitive" to create a sandboxing context for applets in particular. In all honesty, this context really boils down to a Map and a bunch of Java-applet-specific logic on deciding how to populate this map. As for the FireBreath API stuff... I can't really comment on it. I just don't know enough about browser plugin development in particular. What you're proposing sounds to me like it would be adding extra APIs that IcedTea-Web would expose without a mirror in the proprietary plugin, however, which would severely limit the user base I'd think. Thanks, -- Andrew A From aazores at icedtea.classpath.org Thu Jun 19 18:36:00 2014 From: aazores at icedtea.classpath.org (aazores at icedtea.classpath.org) Date: Thu, 19 Jun 2014 18:36:00 +0000 Subject: /hg/icedtea-web: Refactor JS LiveConnect tests to avoid race con... Message-ID: changeset e261b17f4afd in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=e261b17f4afd author: Jie Kang date: Thu Jun 19 14:35:13 2014 -0400 Refactor JS LiveConnect tests to avoid race conditions Passing and KnownToFail also updated 2014-06-19 Jie Kang Refactored Live-Connect (java-js) test cases to fix race condition between JS and J-applet. Checked each test and marked tests known to fail correctly. Removed and replaced deprecated code usage. * tests/reproducers/simple/JSObjectFromEval/resources/JSObjectFromEval.html * tests/reproducers/simple/JSObjectFromEval/resources/JSObjectFromEval.js * tests/reproducers/simple/JSObjectWithoutToString/resources/JSObjectWithoutToString.html * tests/reproducers/simple/JSObjectWithoutToString/resources/JSObjectWithoutToString.js * tests/reproducers/simple/JSToJFuncParam/resources/JSToJFuncParam.html * tests/reproducers/simple/JSToJFuncParam/resources/JSToJava_FuncParam.js * tests/reproducers/simple/JSToJFuncParam/srcs/JSToJFuncParam.java * tests/reproducers/simple/JSToJFuncParam/testcases/JSToJFuncParamTest.java * tests/reproducers/simple/JSToJFuncResol/resources/JSToJFuncResol.html * tests/reproducers/simple/JSToJFuncResol/resources/JSToJava_FuncResol.js * tests/reproducers/simple/JSToJFuncResol/srcs/JSToJFuncResol.java * tests/reproducers/simple/JSToJFuncResol/testcases/JSToJFuncResolTest.java * tests/reproducers/simple/JSToJFuncReturn/resources/JSToJFuncReturn.html * tests/reproducers/simple/JSToJFuncReturn/resources/JSToJava_FuncReturn.js * tests/reproducers/simple/JSToJFuncReturn/srcs/JSToJFuncReturn.java * tests/reproducers/simple/JSToJFuncReturn/testcases/JSToJFuncReturnTest.java * tests/reproducers/simple/JSToJGet/resources/JSToJGet.html * tests/reproducers/simple/JSToJGet/resources/JSToJ_auxiliary.js * tests/reproducers/simple/JSToJGet/resources/JSToJava_Get.js * tests/reproducers/simple/JSToJGet/srcs/JSToJGet.java * tests/reproducers/simple/JSToJGet/testcases/JSToJGetTest.java * tests/reproducers/simple/JSToJSet/resources/JSToJSet.html * tests/reproducers/simple/JSToJSet/resources/JSToJava_Set.js * tests/reproducers/simple/JSToJSet/srcs/JSToJSet.java * tests/reproducers/simple/JSToJSet/testcases/JSToJSetTest.java * tests/reproducers/simple/JSToJTypeConv/resources/JSToJTypeConv.html * tests/reproducers/simple/JSToJTypeConv/resources/JSToJava_TypeConv.js * tests/reproducers/simple/JToJSString/resources/JToJSString.html * tests/reproducers/simple/JToJSString/resources/JToJSString.js * tests/reproducers/simple/JToJSString/resources/JToJSStringJnlpApplet.html * tests/reproducers/simple/JToJSString/resources/JSTest.js * tests/reproducers/simple/JavascriptFuncParam/resources/JavascriptFuncParam.html * tests/reproducers/simple/JavascriptFuncParam/srcs/JavascriptFuncParam.java * tests/reproducers/simple/JavascriptFuncParam/testcases/JavascriptFuncParamTest.java * tests/reproducers/simple/JavascriptFuncReturn/resources/JavascriptFuncReturn.html * tests/reproducers/simple/JavascriptFuncReturn/srcs/JavascriptFuncReturn.java * tests/reproducers/simple/JavascriptGet/resources/JavascriptGet.html * tests/reproducers/simple/JavascriptGet/resources/Javascript_Get.js * tests/reproducers/simple/JavascriptGet/srcs/JavascriptGet.java * tests/reproducers/simple/JavascriptSet/resources/JavascriptSet.html * tests/reproducers/simple/JavascriptSet/resources/Javascript_Set.js * tests/reproducers/simple/JavascriptSet/srcs/JavascriptSet.java * tests/reproducers/simple/JavascriptSet/testcases/JavascriptSetTest.java * tests/reproducers/simple/JavascriptURLProtocol/resources/JavascriptProtocol.html * tests/reproducers/simple/JavascriptURLProtocol/resources/JavascriptProtocol.js * tests/reproducers/simple/JavascriptFuncReturn/resources/Javascript_FuncReturn.js diffstat: ChangeLog | 52 + tests/reproducers/simple/JSObjectFromEval/resources/JSObjectFromEval.html | 25 +- tests/reproducers/simple/JSObjectFromEval/resources/JSObjectFromEval.js | 37 +- tests/reproducers/simple/JSObjectWithoutToString/resources/JSObjectWithoutToString.html | 32 +- tests/reproducers/simple/JSObjectWithoutToString/resources/JSObjectWithoutToString.js | 6 +- tests/reproducers/simple/JSToJFuncParam/resources/JSToJFuncParam.html | 30 +- tests/reproducers/simple/JSToJFuncParam/resources/JSToJava_FuncParam.js | 13 +- tests/reproducers/simple/JSToJFuncParam/srcs/JSToJFuncParam.java | 54 +- tests/reproducers/simple/JSToJFuncParam/testcases/JSToJFuncParamTest.java | 32 +- tests/reproducers/simple/JSToJFuncResol/resources/JSToJFuncResol.html | 32 +- tests/reproducers/simple/JSToJFuncResol/resources/JSToJava_FuncResol.js | 6 +- tests/reproducers/simple/JSToJFuncResol/srcs/JSToJFuncResol.java | 175 ++- tests/reproducers/simple/JSToJFuncResol/testcases/JSToJFuncResolTest.java | 13 +- tests/reproducers/simple/JSToJFuncReturn/resources/JSToJFuncReturn.html | 29 +- tests/reproducers/simple/JSToJFuncReturn/resources/JSToJava_FuncReturn.js | 15 +- tests/reproducers/simple/JSToJFuncReturn/srcs/JSToJFuncReturn.java | 26 +- tests/reproducers/simple/JSToJFuncReturn/testcases/JSToJFuncReturnTest.java | 11 +- tests/reproducers/simple/JSToJGet/resources/JSToJGet.html | 112 +-- tests/reproducers/simple/JSToJGet/resources/JSToJ_auxiliary.js | 6 +- tests/reproducers/simple/JSToJGet/resources/JSToJava_Get.js | 422 +++++---- tests/reproducers/simple/JSToJGet/srcs/JSToJGet.java | 12 +- tests/reproducers/simple/JSToJGet/testcases/JSToJGetTest.java | 28 +- tests/reproducers/simple/JSToJSet/resources/JSToJSet.html | 28 +- tests/reproducers/simple/JSToJSet/resources/JSToJava_Set.js | 38 +- tests/reproducers/simple/JSToJSet/srcs/JSToJSet.java | 15 +- tests/reproducers/simple/JSToJSet/testcases/JSToJSetTest.java | 60 +- tests/reproducers/simple/JSToJTypeConv/resources/JSToJTypeConv.html | 12 +- tests/reproducers/simple/JSToJTypeConv/resources/JSToJava_TypeConv.js | 4 +- tests/reproducers/simple/JToJSString/resources/JSTest.js | 7 + tests/reproducers/simple/JToJSString/resources/JToJSString.html | 7 +- tests/reproducers/simple/JToJSString/resources/JToJSString.js | 36 +- tests/reproducers/simple/JToJSString/resources/JToJSStringJnlpApplet.html | 7 +- tests/reproducers/simple/JToJSString/srcs/JToJSString.java | 9 +- tests/reproducers/simple/JavascriptFuncParam/resources/JavascriptFuncParam.html | 46 +- tests/reproducers/simple/JavascriptFuncParam/resources/JavascriptFuncParam.js | 24 + tests/reproducers/simple/JavascriptFuncParam/srcs/JavascriptFuncParam.java | 109 +- tests/reproducers/simple/JavascriptFuncParam/testcases/JavascriptFuncParamTest.java | 1 - tests/reproducers/simple/JavascriptFuncReturn/resources/JavascriptFuncReturn.html | 16 +- tests/reproducers/simple/JavascriptFuncReturn/resources/JavascriptFuncReturn.jnlp | 22 + tests/reproducers/simple/JavascriptFuncReturn/resources/JavascriptFuncReturn.js | 16 + tests/reproducers/simple/JavascriptFuncReturn/srcs/JavascriptFuncReturn.java | 5 + tests/reproducers/simple/JavascriptGet/resources/JavascriptGet.html | 29 +- tests/reproducers/simple/JavascriptGet/resources/Javascript_Get.js | 13 +- tests/reproducers/simple/JavascriptGet/srcs/JavascriptGet.java | 55 +- tests/reproducers/simple/JavascriptSet/resources/JavascriptSet.html | 33 +- tests/reproducers/simple/JavascriptSet/resources/Javascript_Set.js | 33 +- tests/reproducers/simple/JavascriptSet/srcs/JavascriptSet.java | 64 +- tests/reproducers/simple/JavascriptSet/testcases/JavascriptSetTest.java | 63 +- tests/reproducers/simple/JavascriptURLProtocol/resources/JavascriptProtocol.html | 18 +- tests/reproducers/simple/JavascriptURLProtocol/resources/JavascriptProtocol.js | 3 +- 50 files changed, 1021 insertions(+), 920 deletions(-) diffs (truncated from 3535 to 500 lines): diff -r cba0b900aa2b -r e261b17f4afd ChangeLog --- a/ChangeLog Thu Jun 19 16:30:22 2014 +0200 +++ b/ChangeLog Thu Jun 19 14:35:13 2014 -0400 @@ -1,3 +1,55 @@ +2014-06-19 Jie Kang + + Refactored Live-Connect (java-js) test cases to fix race condition between + JS and J-applet. Checked each test and marked tests known to fail + correctly. Removed and replaced deprecated code usage. + * tests/reproducers/simple/JSObjectFromEval/resources/JSObjectFromEval.html + * tests/reproducers/simple/JSObjectFromEval/resources/JSObjectFromEval.js + * tests/reproducers/simple/JSObjectWithoutToString/resources/JSObjectWithoutToString.html + * tests/reproducers/simple/JSObjectWithoutToString/resources/JSObjectWithoutToString.js + * tests/reproducers/simple/JSToJFuncParam/resources/JSToJFuncParam.html + * tests/reproducers/simple/JSToJFuncParam/resources/JSToJava_FuncParam.js + * tests/reproducers/simple/JSToJFuncParam/srcs/JSToJFuncParam.java + * tests/reproducers/simple/JSToJFuncParam/testcases/JSToJFuncParamTest.java + * tests/reproducers/simple/JSToJFuncResol/resources/JSToJFuncResol.html + * tests/reproducers/simple/JSToJFuncResol/resources/JSToJava_FuncResol.js + * tests/reproducers/simple/JSToJFuncResol/srcs/JSToJFuncResol.java + * tests/reproducers/simple/JSToJFuncResol/testcases/JSToJFuncResolTest.java + * tests/reproducers/simple/JSToJFuncReturn/resources/JSToJFuncReturn.html + * tests/reproducers/simple/JSToJFuncReturn/resources/JSToJava_FuncReturn.js + * tests/reproducers/simple/JSToJFuncReturn/srcs/JSToJFuncReturn.java + * tests/reproducers/simple/JSToJFuncReturn/testcases/JSToJFuncReturnTest.java + * tests/reproducers/simple/JSToJGet/resources/JSToJGet.html + * tests/reproducers/simple/JSToJGet/resources/JSToJ_auxiliary.js + * tests/reproducers/simple/JSToJGet/resources/JSToJava_Get.js + * tests/reproducers/simple/JSToJGet/srcs/JSToJGet.java + * tests/reproducers/simple/JSToJGet/testcases/JSToJGetTest.java + * tests/reproducers/simple/JSToJSet/resources/JSToJSet.html + * tests/reproducers/simple/JSToJSet/resources/JSToJava_Set.js + * tests/reproducers/simple/JSToJSet/srcs/JSToJSet.java + * tests/reproducers/simple/JSToJSet/testcases/JSToJSetTest.java + * tests/reproducers/simple/JSToJTypeConv/resources/JSToJTypeConv.html + * tests/reproducers/simple/JSToJTypeConv/resources/JSToJava_TypeConv.js + * tests/reproducers/simple/JToJSString/resources/JToJSString.html + * tests/reproducers/simple/JToJSString/resources/JToJSString.js + * tests/reproducers/simple/JToJSString/resources/JToJSStringJnlpApplet.html + * tests/reproducers/simple/JToJSString/resources/JSTest.js + * tests/reproducers/simple/JavascriptFuncParam/resources/JavascriptFuncParam.html + * tests/reproducers/simple/JavascriptFuncParam/srcs/JavascriptFuncParam.java + * tests/reproducers/simple/JavascriptFuncParam/testcases/JavascriptFuncParamTest.java + * tests/reproducers/simple/JavascriptFuncReturn/resources/JavascriptFuncReturn.html + * tests/reproducers/simple/JavascriptFuncReturn/srcs/JavascriptFuncReturn.java + * tests/reproducers/simple/JavascriptGet/resources/JavascriptGet.html + * tests/reproducers/simple/JavascriptGet/resources/Javascript_Get.js + * tests/reproducers/simple/JavascriptGet/srcs/JavascriptGet.java + * tests/reproducers/simple/JavascriptSet/resources/JavascriptSet.html + * tests/reproducers/simple/JavascriptSet/resources/Javascript_Set.js + * tests/reproducers/simple/JavascriptSet/srcs/JavascriptSet.java + * tests/reproducers/simple/JavascriptSet/testcases/JavascriptSetTest.java + * tests/reproducers/simple/JavascriptURLProtocol/resources/JavascriptProtocol.html + * tests/reproducers/simple/JavascriptURLProtocol/resources/JavascriptProtocol.js + * tests/reproducers/simple/JavascriptFuncReturn/resources/Javascript_FuncReturn.js + 2014-06-19 Jiri Vanek * NEWS: mentioned All JDKs ability, DE localization, JDK6 incompatibility diff -r cba0b900aa2b -r e261b17f4afd tests/reproducers/simple/JSObjectFromEval/resources/JSObjectFromEval.html --- a/tests/reproducers/simple/JSObjectFromEval/resources/JSObjectFromEval.html Thu Jun 19 16:30:22 2014 +0200 +++ b/tests/reproducers/simple/JSObjectFromEval/resources/JSObjectFromEval.html Thu Jun 19 14:35:13 2014 -0400 @@ -36,19 +36,12 @@ --> - - - - - - - - - \ No newline at end of file + + + + + + + + diff -r cba0b900aa2b -r e261b17f4afd tests/reproducers/simple/JSObjectFromEval/resources/JSObjectFromEval.js --- a/tests/reproducers/simple/JSObjectFromEval/resources/JSObjectFromEval.js Thu Jun 19 16:30:22 2014 +0200 +++ b/tests/reproducers/simple/JSObjectFromEval/resources/JSObjectFromEval.js Thu Jun 19 14:35:13 2014 -0400 @@ -1,22 +1,23 @@ -function testJSObjectFromEval() { - var applet = document.getElementById("applet"); - var obj; - - applet.output("*** Test JSObject from JS ***"); +function attemptJSObjectFromEvalTest() { + var obj; - applet.output("JS create"); - obj = new Object(); - applet.output("Java set"); - applet.setJSMember(obj, "test", 0); - applet.output("obj.test = " + obj.test); + applet.output("*** Test JSObject from JS ***"); - applet.output("*** Test JSObject from Java ***"); + applet.output("JS create"); + obj = new Object(); + applet.output("Java set"); + applet.setJSMember(obj, "test", 0); + applet.output("obj.test = " + obj.test); - applet.output("Java create"); - obj = applet.newJSObject(); - applet.output("Java set"); - applet.setJSMember(obj, "test", 0); - applet.output("obj.test = " + obj.test); + applet.output("*** Test JSObject from Java ***"); - applet.output("*** APPLET FINISHED ***"); //We're done here -} \ No newline at end of file + applet.output("Java create"); + obj = applet.newJSObject(); + applet.output("Java set"); + applet.setJSMember(obj, "test", 0); + applet.output("obj.test = " + obj.test); + + applet.output("*** APPLET FINISHED ***"); // We're done here +} + +doTest(attemptJSObjectFromEvalTest, applet); \ No newline at end of file diff -r cba0b900aa2b -r e261b17f4afd tests/reproducers/simple/JSObjectWithoutToString/resources/JSObjectWithoutToString.html --- a/tests/reproducers/simple/JSObjectWithoutToString/resources/JSObjectWithoutToString.html Thu Jun 19 16:30:22 2014 +0200 +++ b/tests/reproducers/simple/JSObjectWithoutToString/resources/JSObjectWithoutToString.html Thu Jun 19 14:35:13 2014 -0400 @@ -1,25 +1,23 @@ - - JavaScript to Java LiveConnect - Function return values from applet - + +JavaScript to Java LiveConnect - Function return values + from applet + + + + - +

The JSObjectWithoutToString html page

- - - -

The JSObjectWithoutToString html page

- - - - +
+
+
- - - + + diff -r cba0b900aa2b -r e261b17f4afd tests/reproducers/simple/JSObjectWithoutToString/resources/JSObjectWithoutToString.js --- a/tests/reproducers/simple/JSObjectWithoutToString/resources/JSObjectWithoutToString.js Thu Jun 19 16:30:22 2014 +0200 +++ b/tests/reproducers/simple/JSObjectWithoutToString/resources/JSObjectWithoutToString.js Thu Jun 19 14:35:13 2014 -0400 @@ -1,8 +1,6 @@ -function doToStringTest(){ - var applet = document.getElementById('jswithouttostring'); - +function attemptToStringTest() { var null_obj = Object.create(null); - applet.callJSToString(null_obj); } +doTest(attemptToStringTest, applet); diff -r cba0b900aa2b -r e261b17f4afd tests/reproducers/simple/JSToJFuncParam/resources/JSToJFuncParam.html --- a/tests/reproducers/simple/JSToJFuncParam/resources/JSToJFuncParam.html Thu Jun 19 16:30:22 2014 +0200 +++ b/tests/reproducers/simple/JSToJFuncParam/resources/JSToJFuncParam.html Thu Jun 19 14:35:13 2014 -0400 @@ -1,23 +1,23 @@ - - JavaScript to Java LiveConnect - function parameter conversion - + +JavaScript to Java LiveConnect - function parameter + conversion + + + + - +

The JSToJFuncParam html page

- - - -

The JSToJFuncParam html page

- - - +
+
+ + - + - + diff -r cba0b900aa2b -r e261b17f4afd tests/reproducers/simple/JSToJFuncParam/resources/JSToJava_FuncParam.js --- a/tests/reproducers/simple/JSToJFuncParam/resources/JSToJava_FuncParam.js Thu Jun 19 16:30:22 2014 +0200 +++ b/tests/reproducers/simple/JSToJFuncParam/resources/JSToJava_FuncParam.js Thu Jun 19 14:35:13 2014 -0400 @@ -1,18 +1,21 @@ //dummy javascript class whose instance is passed as JSObject parameter: -function JSCar(mph,color){ +function JSCar(mph, color) { this.mph = mph; this.color = color; } -//the main routine used for all tests: -function doFuncParamTests( ){ - +// the main routine used for all tests: +function attemptFuncParamTests() { var urlArgs = document.URL.split("?"); var testParams = urlArgs[1].split(";"); - var applet = document.getElementById('jstojFuncParamApplet'); + var func = testParams[0]; var value = decodeURIComponent(testParams[1]); + notice.innerHTML = notice.innerHTML + func + " " + value; eval('applet.' + func + '(' + value + ')'); + applet.writeAfterTest(); } + +doTest(attemptFuncParamTests, applet); diff -r cba0b900aa2b -r e261b17f4afd tests/reproducers/simple/JSToJFuncParam/srcs/JSToJFuncParam.java --- a/tests/reproducers/simple/JSToJFuncParam/srcs/JSToJFuncParam.java Thu Jun 19 16:30:22 2014 +0200 +++ b/tests/reproducers/simple/JSToJFuncParam/srcs/JSToJFuncParam.java Thu Jun 19 14:35:13 2014 -0400 @@ -10,88 +10,92 @@ } public void intParam(int i) { - System.out.println("intParam "+i); + System.out.println("intParam " + i); } public void doubleParam(double d) { - System.out.println("doubleParam "+d); + System.out.println("doubleParam " + d); } public void floatParam(float f) { - System.out.println("floatParam "+f); + System.out.println("floatParam " + f); } public void longParam(long l) { - System.out.println("longParam "+l); + System.out.println("longParam " + l); } public void booleanParam(boolean b) { - System.out.println("booleanParam "+b); + System.out.println("booleanParam " + b); } public void charParam(char c) { - System.out.println("charParam "+c); + System.out.println("charParam " + c); } public void byteParam(byte b) { - System.out.println("byteParam "+b); + System.out.println("byteParam " + b); } public void charArrayParam(char[] ca) { - System.out.println("charArrayParam "+Arrays.toString(ca)); + System.out.println("charArrayParam " + Arrays.toString(ca)); } public void StringParam(String s) { - System.out.println("StringParam "+s); + System.out.println("StringParam " + s); } public void IntegerParam(Integer p) { - System.out.println("IntegerParam "+p); + System.out.println("IntegerParam " + p); } public void DoubleParam(Double p) { - System.out.println("DoubleParam "+p); + System.out.println("DoubleParam " + p); } public void FloatParam(Float p) { - System.out.println("FloatParam "+p); + System.out.println("FloatParam " + p); } public void LongParam(Long p) { - System.out.println("LongParam "+p); + System.out.println("LongParam " + p); } public void BooleanParam(Boolean p) { - System.out.println("BooleanParam "+p); + System.out.println("BooleanParam " + p); } public void CharacterParam(Character p) { - System.out.println("CharacterParam "+p); + System.out.println("CharacterParam " + p); } public void ByteParam(Byte p) { - System.out.println("ByteParam "+p); + System.out.println("ByteParam " + p); } public void StringIntMixedParam(String[] s) { - System.out.println("StringIntMixedParam "+Arrays.toString(s)); + System.out.println("StringIntMixedParam " + Arrays.toString(s)); } public void DummyObjectArrayParam(DummyObject[] ca) { - System.out.println("DummyObjectArrayParam "+Arrays.toString(ca)); + System.out.println("DummyObjectArrayParam " + Arrays.toString(ca)); } - public void JSObjectParam(JSObject car){ - Integer mph = (Integer)car.getMember("mph"); - String color = (String)car.getMember("color"); + public void JSObjectParam(JSObject car) { + Integer mph = (Integer) car.getMember("mph"); + String color = (String) car.getMember("color"); - System.out.println("JSObjectParam "+mph+", "+color); + System.out.println("JSObjectParam " + mph + ", " + color); } - public void writeAfterTest(){ + public void writeAfterTest() { System.out.println("afterTests"); } + public void readFromJS(String message) { + System.out.println(message); + } + public class DummyObject { private String str; @@ -104,11 +108,11 @@ } public String toString() { - return str; + return str; } } - public DummyObject getNewDummyObject(String str){ + public DummyObject getNewDummyObject(String str) { return new DummyObject(str); } } diff -r cba0b900aa2b -r e261b17f4afd tests/reproducers/simple/JSToJFuncParam/testcases/JSToJFuncParamTest.java --- a/tests/reproducers/simple/JSToJFuncParam/testcases/JSToJFuncParamTest.java Thu Jun 19 16:30:22 2014 +0200 +++ b/tests/reproducers/simple/JSToJFuncParam/testcases/JSToJFuncParamTest.java Thu Jun 19 14:35:13 2014 -0400 @@ -40,15 +40,16 @@ import net.sourceforge.jnlp.browsertesting.BrowserTest; import net.sourceforge.jnlp.browsertesting.Browsers; import net.sourceforge.jnlp.closinglisteners.CountingClosingListener; +import net.sourceforge.jnlp.annotations.KnownToFail; import net.sourceforge.jnlp.annotations.NeedsDisplay; import net.sourceforge.jnlp.annotations.TestInBrowsers; + import org.junit.Assert; - import org.junit.Test; public class JSToJFuncParamTest extends BrowserTest { - //the JS<->J tests tend to make Opera unusable + // the JS<->J tests tend to make Opera unusable public final boolean doNotRunInOpera = true; private final String initStr = "JSToJFuncParam applet initialized."; @@ -56,26 +57,25 @@ private class CountingClosingListenerImpl extends CountingClosingListener { - @Override - protected boolean isAlowedToFinish(String s) { - return (s.contains(initStr) && s.contains(afterStr)); - } + @Override + protected boolean isAlowedToFinish(String s) { + return (s.contains(initStr) && s.contains(afterStr)); + } } private void evaluateStdoutContents(String expectedStdout, ProcessResult pr) { // Assert that the applet was initialized. - Assert.assertTrue("JSToJFuncParam: the stdout should contain " + initStr - + ", but it didnt.", pr.stdout.contains(initStr)); + Assert.assertTrue("JSToJFuncParam: the stdout should contain " + initStr + ", but it didnt.", pr.stdout.contains(initStr)); // Assert that the values set by JavaScript are ok - Assert.assertTrue("JSToJFuncParam: the output should include: "+expectedStdout+", but it didnt.", pr.stdout.contains(expectedStdout)); + Assert.assertTrue("JSToJFuncParam: the output should include: " + expectedStdout + ", but it didnt.", pr.stdout.contains(expectedStdout)); } private void jsToJavaFuncParamTest(String funcStr, String paramStr, String expectedVal) throws Exception { - if( doNotRunInOpera){ - if(server.getCurrentBrowser().getID() == Browsers.opera){ + if (doNotRunInOpera) { + if (server.getCurrentBrowser().getID() == Browsers.opera) { return; } } @@ -166,13 +166,16 @@ @Test @TestInBrowsers(testIn = { Browsers.all }) @NeedsDisplay + @KnownToFail public void AppletJSToJFuncParam_Float_Test() throws Exception { jsToJavaFuncParamTest("FloatParam", "1.1", "1.1"); } + // @Test @TestInBrowsers(testIn = { Browsers.all }) @NeedsDisplay + @KnownToFail public void AppletJSToJFuncParam_Long_Test() throws Exception { jsToJavaFuncParamTest("LongParam", "10000", "10000"); } @@ -194,6 +197,7 @@ @Test @TestInBrowsers(testIn = { Browsers.all }) @NeedsDisplay + @KnownToFail public void AppletJSToJFuncParam_Byte_Test() throws Exception { jsToJavaFuncParamTest("ByteParam", "10", "10"); } @@ -223,14 +227,14 @@ @TestInBrowsers(testIn = { Browsers.all }) @NeedsDisplay public void AppletJSToJFuncParam_booleanFalseStr_Test() throws Exception { - jsToJavaFuncParamTest("booleanParam", "false", "true"); + jsToJavaFuncParamTest("booleanParam", "false", "false"); } + // @Test @TestInBrowsers(testIn = { Browsers.all }) @NeedsDisplay public void AppletJSToJFuncParam_BooleanFalseStr_Test() throws Exception { - jsToJavaFuncParamTest("BooleanParam", "false", "true"); + jsToJavaFuncParamTest("BooleanParam", "false", "false"); } From jkang at redhat.com Thu Jun 19 19:07:51 2014 From: jkang at redhat.com (Jie Kang) Date: Thu, 19 Jun 2014 15:07:51 -0400 (EDT) Subject: [rfc][icedtea-web]Liveconnect Refactor: Removed Files Patch In-Reply-To: <770094520.16762095.1403204819984.JavaMail.zimbra@redhat.com> Message-ID: <1275626934.16762340.1403204871791.JavaMail.zimbra@redhat.com> Hello, I forgot to hg remove two files for the live-connect patch. The attachment does that. Sorry, -- Jie Kang -------------- next part -------------- A non-text attachment was scrubbed... Name: remove-file.patch Type: text/x-patch Size: 1780 bytes Desc: not available URL: From aazores at icedtea.classpath.org Thu Jun 19 19:09:52 2014 From: aazores at icedtea.classpath.org (aazores at icedtea.classpath.org) Date: Thu, 19 Jun 2014 19:09:52 +0000 Subject: /hg/icedtea-web: Remove two forgotten files in last commit Message-ID: changeset 2430a5f1d160 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=2430a5f1d160 author: Jie Kang date: Thu Jun 19 15:09:40 2014 -0400 Remove two forgotten files in last commit diffstat: tests/reproducers/simple/JavascriptFuncReturn/resources/Javascript_FuncReturn.js | 15 ------ tests/reproducers/simple/JavascriptFuncReturn/resources/javascript-funcreturn.jnlp | 23 ---------- 2 files changed, 0 insertions(+), 38 deletions(-) diffs (46 lines): diff -r e261b17f4afd -r 2430a5f1d160 tests/reproducers/simple/JavascriptFuncReturn/resources/Javascript_FuncReturn.js --- a/tests/reproducers/simple/JavascriptFuncReturn/resources/Javascript_FuncReturn.js Thu Jun 19 14:35:13 2014 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,15 +0,0 @@ -function doJToJSFuncReturnTests(){ - var applet = document.getElementById('jtojsFuncReturnApplet'); - - var urlArgs = document.URL.split("?"); - value = eval(decodeURIComponent(urlArgs[1])); - - applet.jCallJSFunction(); - - applet.writeAfterTests(); -} - -function jsReturningFunction(){ - return value; -} - diff -r e261b17f4afd -r 2430a5f1d160 tests/reproducers/simple/JavascriptFuncReturn/resources/javascript-funcreturn.jnlp --- a/tests/reproducers/simple/JavascriptFuncReturn/resources/javascript-funcreturn.jnlp Thu Jun 19 14:35:13 2014 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,23 +0,0 @@ - - - - - Java to JavaScript LiveConnect - FuncReturn - IcedTea - - LiveConnect - tests for returning different types of values when calling JS function from Java. - - - - - - - - - - From theuserbl at hotmail.com Thu Jun 19 23:05:32 2014 From: theuserbl at hotmail.com (theUser BL) Date: Thu, 19 Jun 2014 23:05:32 +0000 Subject: Patch for MetalScrollBarUI.java Message-ID: Here a patch for a very old bug (which exists since the beginning of Swing), which I have also in the past mentioned. In javax/swing/plaf/metal/MetalScrollBarUI.java in the method protected void paintTrack( Graphics g, JComponent c, Rectangle trackBounds ) replace the part -------------------------------- ??????? else? // HORIZONTAL ??????? { ??????????? if ( !isFreeStanding ) { ??????????????? trackBounds.height += 2; ??????????? } ??????????? if ( c.isEnabled() ) { ??????????????? g.setColor( darkShadowColor ); ??????????????? g.drawLine( 0, 0, trackBounds.width - 1, 0 );? // top ??????????????? g.drawLine( 0, 2, 0, trackBounds.height - 2 ); // left ??????????????? g.drawLine( 0, trackBounds.height - 2, trackBounds.width - 1, trackBounds.height - 2 ); // bottom ??????????????? g.drawLine( trackBounds.width - 1, 2, trackBounds.width - 1, trackBounds.height - 1 ); // right ??????????????? g.setColor( shadowColor ); ??????????????? //????? g.setColor( Color.red); ??????????????? g.drawLine( 1, 1, trackBounds.width - 2, 1 );? // top ??????????????? g.drawLine( 1, 1, 1, trackBounds.height - 3 ); // left ??????????????? g.drawLine( 0, trackBounds.height - 1, trackBounds.width - 1, trackBounds.height - 1 ); // bottom ??????????????? if (scrollbar.getValue() != scrollbar.getMaximum()) {? // thumb shadow ??????????????????? int x = thumbRect.x + thumbRect.width - trackBounds.x; ??????????????????? g.drawLine( x, 1, x, trackBounds.height-1); ??????????????? } ??????????? } else { ??????????????? MetalUtils.drawDisabledBorder(g, 0, 0, trackBounds.width, trackBounds.height ); ??????????? } ----------------------------------------- with ------------------ ??????? else? // HORIZONTAL ??????? { ??????????? if ( !isFreeStanding ) { ??????????????? trackBounds.height += 2; ??????????? } ??????????? if ( c.isEnabled() ) { ??????????????? g.setColor( darkShadowColor ); ??????????????? g.drawLine( 0, 0, trackBounds.width - 1, 0 );? // top ??????????????? g.drawLine( 0, 2, 0, trackBounds.height - 2 ); // left ??????????????? g.drawLine( 0, trackBounds.height - 2, trackBounds.width - 1, trackBounds.height - 2 ); // bottom ??????????????? g.drawLine( trackBounds.width - 1, 2, trackBounds.width - 1, trackBounds.height - 1 ); // right ??????????????? g.setColor( shadowColor ); ??????????????? //????? g.setColor( Color.red); ??????????????? g.drawLine( 1, 1, trackBounds.width - 2, 1 );? // top ??????????????? g.drawLine( 1, 1, 1, trackBounds.height - 3 ); // left ??????????????? g.setColor( highlightColor ); //+++ added ??????????????? g.drawLine( 0, trackBounds.height - 1, trackBounds.width - 1, trackBounds.height - 1 ); // bottom ??????????????? g.setColor( shadowColor ); //+++ added ??????????????? if (scrollbar.getValue() != scrollbar.getMaximum()) {? // thumb shadow ??????????????????? int x = thumbRect.x + thumbRect.width - trackBounds.x; ??????????????????? g.drawLine( x, 1, x, trackBounds.height-3);? //+++ changed -1 to -3 ??????????????? } ??????????? } else { ??????????????? MetalUtils.drawDisabledBorder(g, 0, 0, trackBounds.width, trackBounds.height ); ??????????? } -------------------- The three comments with "//+++" you can remove. That are only for you, that you can easily see the changes I have done. For see the changes, here a demo-program: --------------------------------- import javax.swing.*; public class ScrollBarDemo extends JFrame { ? public ScrollBarDemo (String title) { ??? super(title); ??? setLayout(null); ??? JScrollBar h = new JScrollBar(JScrollBar.HORIZONTAL); ??? JScrollBar v = new JScrollBar(JScrollBar.VERTICAL); ??? h.setLocation(20,20); ??? h.setSize(100, 20); ??? v.setLocation(200,20); ??? v.setSize(20, 200); ??? add(h); ??? add(v); ??? ? } ? public static void main(String[] args) { ??? ScrollBarDemo f = new ScrollBarDemo("ScrollBar-Demo"); ??? f.setSize(300, 300); ??? f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); ??? f.setVisible(true); ? } } --------------------------------- Have a look at the bottom of the horizontal scrollbar. Please upload the fix. Greatings theuserbl From theuserbl at hotmail.com Fri Jun 20 08:23:39 2014 From: theuserbl at hotmail.com (theUser BL) Date: Fri, 20 Jun 2014 08:23:39 +0000 Subject: Bug in html-"
" command in JEditorPane of OpenJDK
Message-ID: 

As I mentioned at
http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2014-March/026907.html
there is a bug, that all reserved word in the "Source Code"-tabs of the SwingSet2demo looks like all other words.

And to Andrew who have answered: I have tested it with all OpenJDK-binaries I have. Last time I have again tested it, with the newest Zulu-OpenJDK binaries, and the bug still exists there.

I have now looked more special at this bug and find out, that it osn't so, that the reserved words are not written bold.
Here an example program I have created. Then you can test, if the bug still exists in the current OpenJDK:
-------------------------------------------------
import java.awt.*;
import javax.swing.*;

public class Test {
? public static void main(String[] args) {
??? String text = "This is a different test.";
??? String s1 = "" + text + "";
??? String s2 = "
" + text + "
"; ??? JFrame f = new JFrame("Mein Fenster"); ??? JPanel p = new JPanel(); ?? ??? JLabel l1 = new JLabel(s1); ??? l1.setFont(new Font("Serif", Font.PLAIN, 13)); ??? p.add(l1); ??? JLabel l2 = new JLabel(s2); ??? l2.setFont(new Font("Serif", Font.PLAIN, 13)); ??? p.add(l2); ??? JEditorPane e1 = new JEditorPane("text/html", s1); ??? e1.setFont(new Font("Serif", Font.PLAIN, 13)); ??? p.add(e1); ??? JEditorPane e2 = new JEditorPane("text/html", s2); ??? e2.setFont(new Font("Serif", Font.PLAIN, 13)); ??? p.add(e2); ??? ??? f.add(p);??? ??? f.pack(); ??? f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); ??? f.setVisible(true); ? } } ------------------------------------------------------------------------ The first three text-strings (JLabel without
, JLabel with 
 and JEditorPane without 
) looking with Oracles Java and OpenJDK exactly the same.
But the third text-string (JEditorPane with 
)? have in OpenJDK the complete text written in bold. In Oracles Java, it is only the word "different", which is bold written.

Greatings
theuserbl
 		 	   		  

From theuserbl at hotmail.com  Fri Jun 20 08:28:44 2014
From: theuserbl at hotmail.com (theUser BL)
Date: Fri, 20 Jun 2014 08:28:44 +0000
Subject: Bug in html-"
" command in JEditorPane of OpenJDK
In-Reply-To: 
References: 
Message-ID: 

> I have now looked more special at this bug and find out, that it osn't so, that the reserved words are not
> written bold.

Seems I have too fast, pressed the "send" button of the mail-program.

I wanted to say:

> I have now looked more special at this bug and find out, that it isn't so, that the reserved words are not
> written bold. It is so, that ALL WORDS are written bold!


Greatings
theuserbl

 		 	   		  

From theuserbl at hotmail.com  Fri Jun 20 08:33:34 2014
From: theuserbl at hotmail.com (theUser BL)
Date: Fri, 20 Jun 2014 08:33:34 +0000
Subject: Bug in html-"
" command in JEditorPane of OpenJDK
In-Reply-To: 
References: 
Message-ID: 

> The first three text-strings (JLabel without 
, JLabel with 
 and JEditorPane without 
)
> looking with Oracles Java and OpenJDK exactly the same.

Hmm.. I looked again at it and it seems, that the secons one is bold, too.
So it is a general problem with "
".

Sorry that I post again. But before it seems to be ok.

Greatings
theuserbl

 		 	   		  

From neugens at redhat.com  Fri Jun 20 09:01:13 2014
From: neugens at redhat.com (Mario Torre)
Date: Fri, 20 Jun 2014 11:01:13 +0200
Subject: Patch for MetalScrollBarUI.java
In-Reply-To: 
References: 
Message-ID: <1403254873.4090.2.camel@nirvana.localdomain>

On Thu, 2014-06-19 at 23:05 +0000, theUser BL wrote:
> In
> javax/swing/plaf/metal/MetalScrollBarUI.java
> in the method
> protected void paintTrack( Graphics g, JComponent c, Rectangle
> trackBounds )
> 
> replace the part

Hi,

Looks like this is swing related, change request to Swing code should be
directed to the swing-dev alias.

Also, I think you will have higher chances of being reviewed if you post
a patch (or better a webrev) with the description of what it does and
why is needed, rather than long snipped of code.

Cheers,
Mario



From theuserbl at hotmail.com  Fri Jun 20 10:11:25 2014
From: theuserbl at hotmail.com (theUser BL)
Date: Fri, 20 Jun 2014 10:11:25 +0000
Subject: Patch for MetalScrollBarUI.java
In-Reply-To: <1403254873.4090.2.camel@nirvana.localdomain>
References: ,
	<1403254873.4090.2.camel@nirvana.localdomain>
Message-ID: 

> Looks like this is swing related, change request to Swing code should be
> directed to the swing-dev alias.
 
Thanks for your reply. I have now done so:
http://mail.openjdk.java.net/pipermail/swing-dev/2014-June/003601.html
 
 
> Also, I think you will have higher chances of being reviewed if you post
> a patch (or better a webrev) with the description of what it does and
> why is needed, rather than long snipped of code.
 
I have added a picture:
http://s1.directupload.net/images/140620/2y7jlt6z.png
 
Greatings
theuserbl 		 	   		  

From gitne at gmx.de  Fri Jun 20 11:58:00 2014
From: gitne at gmx.de (Jacob Wisor)
Date: Fri, 20 Jun 2014 13:58:00 +0200
Subject: [rfc][icedtea-web] Add new PL localized messages
Message-ID: <53A421C8.4010302@gmx.de>

Hello there!

Sorry for delaying this for so long, but it's finally here.

As always, the comments in Messages_pl.properties are for your convenience 
during review only and will get removed before push into repo.

Thank you for reviewing

Jacob
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PL localized messages.patch
Type: text/x-patch
Size: 40347 bytes
Desc: not available
URL: 

From jkang at redhat.com  Fri Jun 20 14:22:59 2014
From: jkang at redhat.com (Jie Kang)
Date: Fri, 20 Jun 2014 10:22:59 -0400 (EDT)
Subject: [rfc][icedtea-web] LiveConnect Method Overload Resolver Fix
In-Reply-To: <668750629.17053883.1403273985878.JavaMail.zimbra@redhat.com>
Message-ID: <1304889072.17055123.1403274179863.JavaMail.zimbra@redhat.com>

Hello,

When refactoring the LiveConnect tests I discovered a bug in the MethodOverloadResolver implementation where choosing the correct superclass did not take into account the hierarchy distance. This was causing JSToJFuncResolTest - AppletJSToJFuncResol_inheritedClassToParent1_Test to fail intermittently.

E.g.

A extends B extends C : Object of Type C is passed as argument to function that accepts either Type A or Type B objects. As per LiveConnect and Java specification, the correct resolution of this is to use the function that accepts Type B. However, the implementation of MethodOverloadResolver did not comply with this and nearly always used the Type A function (both Type A and Type B functions were scored equally and the choice of use depended on the order of comparison, which is not always the same). 

The patch resolves this issue by following LiveConnect specification located here:
https://jdk6.java.net/plugin2/liveconnect/#OVERLOADED_METHODS
where a distance calculation for class hierarchy is used to resolve the issue. It also removes the Known to Fail annotation for the test case which should no longer fail.


Regards,
 
--
Jie Kang
-------------- next part --------------
A non-text attachment was scrubbed...
Name: liveconnect-methodoverload.patch
Type: text/x-patch
Size: 5569 bytes
Desc: not available
URL: 

From gitne at gmx.de  Fri Jun 20 14:29:37 2014
From: gitne at gmx.de (Jacob Wisor)
Date: Fri, 20 Jun 2014 16:29:37 +0200
Subject: [rfc][icedtea-web] ConsoleOutputPane formatting fix & cleanup
Message-ID: <53A44551.3040001@gmx.de>

Hello!

While localizing I needed to look up some code in order to understand the 
semantics of some messages. This cought my attention on ConsoleOutputPane. So, I 
provide some some formatting and typo fixes for ConsoleOutputPane.

Thank you for reviewing!

Jacob

p.s.: There are still some easy to fix UI inconsistencies. ;-)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ConsoleOutputPane formatting fix & cleanup.patch
Type: text/x-patch
Size: 52776 bytes
Desc: not available
URL: 

From bugzilla-daemon at icedtea.classpath.org  Fri Jun 20 21:21:20 2014
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Fri, 20 Jun 2014 21:21:20 +0000
Subject: [Bug 729] GTKLookAndFeel should be the system look&feel on all
	GNU/Linux desktops
In-Reply-To: 
References: 
Message-ID: 

http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=729

--- Comment #23 from Kevin Kofler  ---
> Which is already there, btw, swing.systemlaf:

Last I checked, setting swing.systemlaf in swing.properties did NOT work. (It
had no effect whatsoever.)

> it's already quite bad on Gnome, under KDE would use a double layer of
> indirection, the performances would be even worse probably.

There's no second layer of indirection under KDE. Oxygen-GTK is a native GTK+
port of Oxygen, it's a GTK+ theme engine just like GNOME's Adwaita, it does not
call Qt style functions. The gtk-qt-engine which did call Qt functions is no
longer maintained, and distros mostly do not ship it anymore because of the
unfixed bugs it has, and because Oxygen has a native GTK+ port now.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 

From bugzilla-daemon at icedtea.classpath.org  Mon Jun 23 09:10:42 2014
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Mon, 23 Jun 2014 09:10:42 +0000
Subject: [Bug 729] GTKLookAndFeel should be the system look&feel on all
	GNU/Linux desktops
In-Reply-To: 
References: 
Message-ID: 

http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=729

--- Comment #24 from Mario Torre  ---
(In reply to Kevin Kofler from comment #23)
> > Which is already there, btw, swing.systemlaf:
> 
> Last I checked, setting swing.systemlaf in swing.properties did NOT work.
> (It had no effect whatsoever.)

If this is the case, then it may be a bug worth investigating. Can you please
file a bug report (better on the upstream OpenJDK bug tracking system, unless
is really IcedTea specific, so I can track this with the AWT group directly)?

Please, also let us know the bug ID so we can look into it.

> > it's already quite bad on Gnome, under KDE would use a double layer of
> > indirection, the performances would be even worse probably.
> 
> There's no second layer of indirection under KDE. Oxygen-GTK is a native
> GTK+ port of Oxygen, it's a GTK+ theme engine just like GNOME's Adwaita, it
> does not call Qt style functions. The gtk-qt-engine which did call Qt
> functions is no longer maintained, and distros mostly do not ship it anymore
> because of the unfixed bugs it has, and because Oxygen has a native GTK+
> port now.

Yeah, I thought it was based on the gtk-qt-engine; nevertheless is still
suffering of all the same problems the JDK gtk2 laf has.

Cheers,
Mario

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 

From jvanek at redhat.com  Mon Jun 23 14:40:19 2014
From: jvanek at redhat.com (Jiri Vanek)
Date: Mon, 23 Jun 2014 16:40:19 +0200
Subject: [rfc][icedtea-web] ConsoleOutputPane formatting fix & cleanup
In-Reply-To: <53A44551.3040001@gmx.de>
References: <53A44551.3040001@gmx.de>
Message-ID: <53A83C53.7040601@redhat.com>

On 06/20/2014 04:29 PM, Jacob Wisor wrote:
> Hello!
>
> While localizing I needed to look up some code in order to understand the semantics of some
> messages. This cought my attention on ConsoleOutputPane. So, I provide some some formatting and typo
> fixes for ConsoleOutputPane.
>
> Thank you for reviewing!
>
> Jacob
>
> p.s.: There are still some easy to fix UI inconsistencies. ;-)
hi!

Thanx for reformating.


Most of the fixes looks ok.

I have found no logic change, I hope i have not missed some.

Well Although instanceof is null-proof, I like to have it more visible by explicit != null. But this 
nvm.


The only change against which I have - just personal  - objections is the move of initComponents' 
declarations to constructor. I can see that you did it to allow variables to become final. But is it 
really worthy?


Except that, and except I overlooked some change in logic, ok to for head.

For the final+constructor and non-final/separate method  I would like to hear third party voice. Or 
yours :)

Thank you!


J.

ps - sorry for not (yet) checking the PL localization. The tests are complaining for 
missing/redundant keys both for PL and DE, but I had no spare cycle to move to ITW machine :(

From jvanek at redhat.com  Mon Jun 23 14:44:02 2014
From: jvanek at redhat.com (Jiri Vanek)
Date: Mon, 23 Jun 2014 16:44:02 +0200
Subject: [rfc][icedtea-web] LiveConnect Method Overload Resolver Fix
In-Reply-To: <1304889072.17055123.1403274179863.JavaMail.zimbra@redhat.com>
References: <1304889072.17055123.1403274179863.JavaMail.zimbra@redhat.com>
Message-ID: <53A83D32.10701@redhat.com>

CC Adam as original author. Also he accidentaly proved he is still "Alive out there" So W ecanhope 
to catch him :)
On 06/20/2014 04:22 PM, Jie Kang wrote:
> Hello,
>
> When refactoring the LiveConnect tests I discovered a bug in the MethodOverloadResolver implementation where choosing the correct superclass did not take into account the hierarchy distance. This was causing JSToJFuncResolTest - AppletJSToJFuncResol_inheritedClassToParent1_Test to fail intermittently.
>
> E.g.
>
> A extends B extends C : Object of Type C is passed as argument to function that accepts either Type A or Type B objects. As per LiveConnect and Java specification, the correct resolution of this is to use the function that accepts Type B. However, the implementation of MethodOverloadResolver did not comply with this and nearly always used the Type A function (both Type A and Type B functions were scored equally and the choice of use depended on the order of comparison, which is not always the same).
>
> The patch resolves this issue by following LiveConnect specification located here:
> https://jdk6.java.net/plugin2/liveconnect/#OVERLOADED_METHODS
> where a distance calculation for class hierarchy is used to resolve the issue. It also removes the Known to Fail annotation for the test case which should no longer fail.
>
>
> Regards,
>
> --
> Jie Kang
>

-------------- next part --------------
A non-text attachment was scrubbed...
Name: liveconnect-methodoverload.patch
Type: text/x-patch
Size: 5570 bytes
Desc: not available
URL: 

From domuradical at gmail.com  Mon Jun 23 14:49:56 2014
From: domuradical at gmail.com (Adam Domurad)
Date: Mon, 23 Jun 2014 10:49:56 -0400
Subject: [rfc][icedtea-web] LiveConnect Method Overload Resolver Fix
In-Reply-To: <53A83D32.10701@redhat.com>
References: <1304889072.17055123.1403274179863.JavaMail.zimbra@redhat.com>
	<53A83D32.10701@redhat.com>
Message-ID: 

On Mon, Jun 23, 2014 at 10:44 AM, Jiri Vanek  wrote:
> CC Adam as original author. Also he accidentaly proved he is still "Alive
> out there" So W ecanhope to catch him :)

Well, original refactorer :-)

> On 06/20/2014 04:22 PM, Jie Kang wrote:
>>
>> Hello,
>>
>> When refactoring the LiveConnect tests I discovered a bug in the
>> MethodOverloadResolver implementation where choosing the correct superclass
>> did not take into account the hierarchy distance. This was causing
>> JSToJFuncResolTest - AppletJSToJFuncResol_inheritedClassToParent1_Test to
>> fail intermittently.
>>
>> E.g.
>>
>> A extends B extends C : Object of Type C is passed as argument to function
>> that accepts either Type A or Type B objects. As per LiveConnect and Java
>> specification, the correct resolution of this is to use the function that
>> accepts Type B. However, the implementation of MethodOverloadResolver did
>> not comply with this and nearly always used the Type A function (both Type A
>> and Type B functions were scored equally and the choice of use depended on
>> the order of comparison, which is not always the same).
>>
>> The patch resolves this issue by following LiveConnect specification
>> located here:
>> https://jdk6.java.net/plugin2/liveconnect/#OVERLOADED_METHODS
>> where a distance calculation for class hierarchy is used to resolve the
>> issue. It also removes the Known to Fail annotation for the test case which
>> should no longer fail.

I just skimmed it, but it looks good to me. Only small nit is that
lowestDistance is not always strictly true since lowestCost is the
first criteria.

Thanks for the fix,
-Adam

>>
>>
>> Regards,
>>
>> --
>> Jie Kang
>>
>

From jkang at redhat.com  Mon Jun 23 15:07:06 2014
From: jkang at redhat.com (Jie Kang)
Date: Mon, 23 Jun 2014 11:07:06 -0400 (EDT)
Subject: [rfc][icedtea-web] ConsoleOutputPane formatting fix & cleanup
In-Reply-To: <53A83C53.7040601@redhat.com>
References: <53A44551.3040001@gmx.de> <53A83C53.7040601@redhat.com>
Message-ID: <1431880110.17597567.1403536026812.JavaMail.zimbra@redhat.com>



----- Original Message -----
> On 06/20/2014 04:29 PM, Jacob Wisor wrote:
> > Hello!
> >
> > While localizing I needed to look up some code in order to understand the
> > semantics of some
> > messages. This cought my attention on ConsoleOutputPane. So, I provide some
> > some formatting and typo
> > fixes for ConsoleOutputPane.
> >
> > Thank you for reviewing!
> >
> > Jacob
> >
> > p.s.: There are still some easy to fix UI inconsistencies. ;-)
> hi!
> 
> Thanx for reformating.
> 
> 
> Most of the fixes looks ok.
> 
> I have found no logic change, I hope i have not missed some.
> 

I read/tested the patch as well and I see no glaring logic change either, though I can't rule out missing some edge case.

> Well Although instanceof is null-proof, I like to have it more visible by
> explicit != null. But this
> nvm.
> 
> 
> The only change against which I have - just personal  - objections is the
> move of initComponents'
> declarations to constructor. I can see that you did it to allow variables to
> become final. But is it
> really worthy?
> 
> 
> Except that, and except I overlooked some change in logic, ok to for head.
> 
> For the final+constructor and non-final/separate method  I would like to hear
> third party voice. Or
> yours :)


I think non-final/separate is okay for future code-reuse, but in this case, I prefer 'final' since these components are definitely final components. It is more 60% prefer, not really 90% or 100% prefer though since the change is so slight.


> 
> Thank you!
> 
> 
> J.
> 
> ps - sorry for not (yet) checking the PL localization. The tests are
> complaining for
> missing/redundant keys both for PL and DE, but I had no spare cycle to move
> to ITW machine :(
> 

-- 
--
Jie Kang

From jvanek at redhat.com  Mon Jun 23 15:48:59 2014
From: jvanek at redhat.com (Jiri Vanek)
Date: Mon, 23 Jun 2014 17:48:59 +0200
Subject: [rfc][icedtea-web] Add new PL localized messages
In-Reply-To: <53A421C8.4010302@gmx.de>
References: <53A421C8.4010302@gmx.de>
Message-ID: <53A84C6B.50901@redhat.com>

On 06/20/2014 01:58 PM, Jacob Wisor wrote:
> Hello there!
>
> Sorry for delaying this for so long, but it's finally here.
>
> As always, the comments in Messages_pl.properties are for your convenience during review only and
> will get removed before push into repo.
>
> Thank you for reviewing
>
> Jacob


Hi!

Attached are results of the testruns.

 From quick glance I have no objections against messages as they are.

Feel free to fix+push. discus/fix/push, discus/push  ir just push how time permits you.

J.

//hmmm the files are somehow strange, I hope you will be able to read them :(
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PL+DE-1.5
Type: application/x-troff-man
Size: 102962 bytes
Desc: not available
URL: 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PL+DE-head
Type: application/octet-stream
Size: 114377 bytes
Desc: not available
URL: 

From jkang at redhat.com  Mon Jun 23 15:51:18 2014
From: jkang at redhat.com (Jie Kang)
Date: Mon, 23 Jun 2014 11:51:18 -0400 (EDT)
Subject: [rfc][icedtea-web] LiveConnect Method Overload Resolver Fix
In-Reply-To: 
References: <1304889072.17055123.1403274179863.JavaMail.zimbra@redhat.com>
	<53A83D32.10701@redhat.com>
	
Message-ID: <119079766.17628040.1403538678194.JavaMail.zimbra@redhat.com>



----- Original Message -----
> On Mon, Jun 23, 2014 at 10:44 AM, Jiri Vanek  wrote:
> > CC Adam as original author. Also he accidentaly proved he is still "Alive
> > out there" So W ecanhope to catch him :)
> 
> Well, original refactorer :-)
> 
> > On 06/20/2014 04:22 PM, Jie Kang wrote:
> >>
> >> Hello,
> >>
> >> When refactoring the LiveConnect tests I discovered a bug in the
> >> MethodOverloadResolver implementation where choosing the correct
> >> superclass
> >> did not take into account the hierarchy distance. This was causing
> >> JSToJFuncResolTest - AppletJSToJFuncResol_inheritedClassToParent1_Test to
> >> fail intermittently.
> >>
> >> E.g.
> >>
> >> A extends B extends C : Object of Type C is passed as argument to function
> >> that accepts either Type A or Type B objects. As per LiveConnect and Java
> >> specification, the correct resolution of this is to use the function that
> >> accepts Type B. However, the implementation of MethodOverloadResolver did
> >> not comply with this and nearly always used the Type A function (both Type
> >> A
> >> and Type B functions were scored equally and the choice of use depended on
> >> the order of comparison, which is not always the same).
> >>
> >> The patch resolves this issue by following LiveConnect specification
> >> located here:
> >> https://jdk6.java.net/plugin2/liveconnect/#OVERLOADED_METHODS
> >> where a distance calculation for class hierarchy is used to resolve the
> >> issue. It also removes the Known to Fail annotation for the test case
> >> which
> >> should no longer fail.
> 
> I just skimmed it, but it looks good to me. Only small nit is that
> lowestDistance is not always strictly true since lowestCost is the
> first criteria.

You are right about this but I can't think of a better name for it. Any suggestions?;;


I've also made a small fix to the function: classDistance
The while loop is no longer while(true) and is better code.

Changelog below:

2014-06-20  Jie Kang  

    Made adjustments to the MethodOverloadResolver to follow LiveConnect
    specification when dealing with superclasses.
    * tests/reproducers/simple/JSToJFuncResol/testcases/JSToJFuncResolTest.java:
    Removed Known to Fail annotation on test case that is now fixed.
    * plugin/icedteanp/java/sun/applet/MethodOverloadResolver.java
    Added distance calculation for comparing superclass resolutions.


Thanks for the review.


> 
> Thanks for the fix,
> -Adam
> 
> >>
> >>
> >> Regards,
> >>
> >> --
> >> Jie Kang
> >>
> >
> 

-- 
--
Jie Kang
-------------- next part --------------
A non-text attachment was scrubbed...
Name: liveconnect-methodoverload-2.patch
Type: text/x-patch
Size: 4051 bytes
Desc: not available
URL: 

From domuradical at gmail.com  Mon Jun 23 15:57:03 2014
From: domuradical at gmail.com (Adam Domurad)
Date: Mon, 23 Jun 2014 11:57:03 -0400
Subject: [rfc][icedtea-web] LiveConnect Method Overload Resolver Fix
In-Reply-To: <119079766.17628040.1403538678194.JavaMail.zimbra@redhat.com>
References: <1304889072.17055123.1403274179863.JavaMail.zimbra@redhat.com>
	<53A83D32.10701@redhat.com>
	
	<119079766.17628040.1403538678194.JavaMail.zimbra@redhat.com>
Message-ID: 

On Mon, Jun 23, 2014 at 11:51 AM, Jie Kang  wrote:
>
>
> ----- Original Message -----
>> I just skimmed it, but it looks good to me. Only small nit is that
>> lowestDistance is not always strictly true since lowestCost is the
>> first criteria.
>
> You are right about this but I can't think of a better name for it. Any suggestions?;;

Sorry, I should have added that I had no suggestions :-). It's good as is.

>
>
> I've also made a small fix to the function: classDistance
> The while loop is no longer while(true) and is better code.

Looks good to me.

-Adam

From jvanek at redhat.com  Tue Jun 24 12:38:29 2014
From: jvanek at redhat.com (Jiri Vanek)
Date: Tue, 24 Jun 2014 14:38:29 +0200
Subject: [rfc][icedtea-web] Add new PL localized messages
In-Reply-To: <53A84C6B.50901@redhat.com>
References: <53A421C8.4010302@gmx.de> <53A84C6B.50901@redhat.com>
Message-ID: <53A97145.3070609@redhat.com>

On 06/23/2014 05:48 PM, Jiri Vanek wrote:
> On 06/20/2014 01:58 PM, Jacob Wisor wrote:
>> Hello there!
>>
>> Sorry for delaying this for so long, but it's finally here.
>>
>> As always, the comments in Messages_pl.properties are for your convenience during review only and
>> will get removed before push into repo.
>>
>> Thank you for reviewing
>>
>> Jacob
>
>
> Hi!
>
> Attached are results of the testruns.
>
>  From quick glance I have no objections against messages as they are.
>
> Feel free to fix+push. discus/fix/push, discus/push  ir just push how time permits you.
>
> J.
>
> //hmmm the files are somehow strange, I hope you will be able to read them :(

Here are fixed and cleaned files.

The files which are redundant in 1.5 can be skipped (but well can be safely deleted)
Other errors should be fixed for head and 1.5.

But as I told, I d not insists.

Thank you very much!
   J.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PL+DE-1.5
Type: application/x-troff-man
Size: 13596 bytes
Desc: not available
URL: 
-------------- next part --------------
Testsuite: net.sourceforge.jnlp.resources.MessagesPropertiesTest
Checking for redundant keys in cs (should be cs) compared with default
Error! There is value for cs, key APPEXTSECguiTableModelTableColumnAction, but for default is missing
1 findKeysWhichAreInLocalisedButNotInDefault errors for cs
Checking for redundant keys in de (should be de) compared with default
Error! There is value for de, key STempPrintOnly, but for default is missing
Error! There is value for de, key STempAllFileAndPropertyAccess, but for default is missing
Error! There is value for de, key STempPermNoFile, but for default is missing
Error! There is value for de, key STempSoundOnly, but for default is missing
Error! There is value for de, key STempReflectionOnly, but for default is missing
Error! There is value for de, key STempNoFileOrExec, but for default is missing
Error! There is value for de, key STempPermNoNetwork, but for default is missing
Error! There is value for de, key STempNoFileOrNetworkOrExec, but for default is missing
Error! There is value for de, key SAppletTitle, but for default is missing
Error! There is value for de, key APPEXTSECguiTableModelTableColumnAction, but for default is missing
Error! There is value for de, key STempReadLocalFilesAndProperties, but for default is missing
Error! There is value for de, key STempNoExecOrNetwork, but for default is missing
Error! There is value for de, key STempPermNoExec, but for default is missing
Error! There is value for de, key STempNoFileOrNetwork, but for default is missing
Error! There is value for de, key STempClipboardOnly, but for default is missing
15 findKeysWhichAreInLocalisedButNotInDefault errors for de
Checking for redundant keys in pl (should be pl) compared with default
Error! There is value for pl, key STempPrintOnly, but for default is missing
Error! There is value for pl, key STempAllFileAndPropertyAccess, but for default is missing
Error! There is value for pl, key STempPermNoFile, but for default is missing
Error! There is value for pl, key STempSoundOnly, but for default is missing
Error! There is value for pl, key STempReflectionOnly, but for default is missing
Error! There is value for pl, key STempNoFileOrExec, but for default is missing
Error! There is value for pl, key STempPermNoNetwork, but for default is missing
Error! There is value for pl, key STempNoFileOrNetworkOrExec, but for default is missing
Error! There is value for pl, key SAppletTitle, but for default is missing
Error! There is value for pl, key APPEXTSECguiTableModelTableColumnAction, but for default is missing
Error! There is value for pl, key STempReadLocalFilesAndProperties, but for default is missing
Error! There is value for pl, key STempNoExecOrNetwork, but for default is missing
Error! There is value for pl, key STempPermNoExec, but for default is missing
Error! There is value for pl, key STempNoFileOrNetwork, but for default is missing
Error! There is value for pl, key STempClipboardOnly, but for default is missing
15 findKeysWhichAreInLocalisedButNotInDefault errors for pl
Checking for missing  strings in cs (should be cs) compared with default
0 warnForNotLocalisedStrings errors for cs
Checking for missing  strings in de (should be de) compared with default
0 warnForNotLocalisedStrings errors for de
Checking for missing  strings in pl (should be pl) compared with default
0 warnForNotLocalisedStrings errors for pl
Checking for empty items in   (should be default)
0 noEmptyResources errors for default
Checking for empty items in cs  (should be cs)
0 noEmptyResources errors for cs
Checking for empty items in de  (should be de)
0 noEmptyResources errors for de
Checking for empty items in pl  (should be pl)
0 noEmptyResources errors for pl
Skipping same language unknown_so_default_UNKNOWN_SO_DEFAULT x unknown_so_default_UNKNOWN_SO_DEFAULT (should be default x default)
Checking for same items between cs x unknown_so_default_UNKNOWN_SO_DEFAULT (should be cs x default)
Warning! Items equals for: AboutDialogueTabGPLv2 = GPLv2 but are in allowed subset
Warning! Items equals for: COPstdOut = std. out but are in allowed subset
Warning! Items equals for: ButOk = OK but are in allowed subset
Warning! Items equals for: PEViewMenuMnemonic = 73 but are in allowed subset
Warning! Items equals for: PEReflection = Java Reflection but are in allowed subset
Warning! Items equals for: PEOkButtonMnemonic = 65 but are in allowed subset
Warning! Items equals for: PEOpenMenuItemMnemonic = 79 but are in allowed subset
Warning! Items equals for: APPEXTSEChelpHomeDialogue = Dialogue but are in allowed subset
Warning! Items equals for: PEExitMenuItemMnemonic = 88 but are in allowed subset
Warning! Items equals for: PESaveMenuItemMnemonic = 83 but are in allowed subset
Warning! Items equals for: APSLabelFTP = FTP but are in allowed subset
Warning! Items equals for: APPEXTSECguiPanelAppletInfoHederPart1 = {0} {1} but are in allowed subset
Warning! Items equals for: PEAddCodebaseMnemonic = 78 but are in allowed subset
Warning! Items equals for: APSLabelSocks = Socks but are in allowed subset
Warning! Items equals for: SPLASHurlLooks = http://icedtea.classpath.org/wiki/IcedTea-Web but are in allowed subset
Warning! Items equals for: COPjava = java but are in allowed subset
Warning! Items equals for: SPLASHurl = http://icedtea.classpath.org/wiki/IcedTea-Web#Filing_bugs but are in allowed subset
Warning! Items equals for: PETitle = Policy Editor but are in allowed subset
Warning! Items equals for: PEFileMenuMnemonic = 70 but are in allowed subset
Warning! Items equals for: PECustomPermissionsItemMnemonic = 85 but are in allowed subset
Warning! Items equals for: PECancelButtonMnemonic = 67 but are in allowed subset
Warning! Items equals for: COPstdErr = std. err but are in allowed subset
Warning! Items equals for: PESaveAsMenuItemMnemonic = 65 but are in allowed subset
Warning! Items equals for: COPitw = IcedTea-Web but are in allowed subset
Warning! Items equals for: APSLabelHTTP = HTTP but are in allowed subset
Warning! Items equals for: PERemoveCodebaseMnemonic = 82 but are in allowed subset
Warning! Items equals for: NSPort = Port but are in allowed subset
Error! Items equals for: PERenameCodebaseItem = Rename codebase
Error! Items equals for: APPEXTSECguiTableModelTableColumnActionMatchALACA = Library Action
Error! Items equals for: PEAccessThreads = Modify threads
Error! Items equals for: PEPasteCodebaseItem = Paste codebase
Error! Items equals for: PEAccessThreadGroupsDetail = Allow applets to start, stop, and otherwise manage thread groups
Error! Items equals for: PECopyCodebaseItem = Copy codebase
- this is the terribleexrra long help line - Warning! Items equals for: APPEXTSEChelp
Error! Items equals for: PEFileMissing = The policy file was missing from disk. A new file has been saved with the same name.
Error! Items equals for: APPEXTSECguiTableModelTableColumnActionUA = Unsigned applet Action
Error! Items equals for: APPEXTSECunsetAppletAction = This applet has not yet asked for this action
Error! Items equals for: STempNetwork = Allow incoming and outgoing network connections
Error! Items equals for: STempAllMedia = All media (printing, audio, clipboard access)
Error! Items equals for: STempReflectionAndExternal = Java Reflection and external code access
Error! Items equals for: PERenameCodebase = Rename codebase to:
Warning! Items equals for: PEEditMenu = Edit but are in allowed subset
Error! Items equals for: PECopyCodebaseToClipboardItem = Copy codebase URL to clipboard
Error! Items equals for: PEAccessThreadsDetail = Allow applets to start, stop, and otherwise manage threads
Error! Items equals for: PEPasteCodebase = Paste copied codebase as:
Warning! Items equals for: PEEditMenuMnemonic = 69 but are in allowed subset
Error! Items equals for: PEAccessThreadGroups = Modify threadgroups
Error! Items equals for: STempWriteFilesAndProperties = Write-only access to all files and properties
Error! Items equals for: STempReadFilesAndProperties = Read-only access to all files and properties
19 errors allResourcesAreReallyDifferent fo cs x default
Skipping same language cs x cs (should be cs x cs)
Checking for same items between de x unknown_so_default_UNKNOWN_SO_DEFAULT (should be de x default)
Warning! Items equals for: AboutDialogueTabGPLv2 = GPLv2 but are in allowed subset
Warning! Items equals for: ButOk = OK but are in allowed subset
Warning! Items equals for: LSFatal = Fatal but are in allowed subset
Warning! Items equals for: COPcode = Code but are in allowed subset
Warning! Items equals for: CVSystem = System but are in allowed subset
Warning! Items equals for: COPinfo = Info but are in allowed subset
Warning! Items equals for: CVDetails = Details but are in allowed subset
Warning! Items equals for: PEOpenMenuItemMnemonic = 79 but are in allowed subset
Warning! Items equals for: PEExitMenuItemMnemonic = 88 but are in allowed subset
Warning! Items equals for: PESaveMenuItemMnemonic = 83 but are in allowed subset
Warning! Items equals for: APSLabelFTP = FTP but are in allowed subset
Warning! Items equals for: APPEXTSECguiPanelAppletInfoHederPart1 = {0} {1} but are in allowed subset
Warning! Items equals for: PEAddCodebaseMnemonic = 78 but are in allowed subset
Warning! Items equals for: APSLabelSocks = Socks but are in allowed subset
Warning! Items equals for: SPLASHurlLooks = http://icedtea.classpath.org/wiki/IcedTea-Web but are in allowed subset
Warning! Items equals for: COPjava = Java but are in allowed subset
Warning! Items equals for: SPLASHurl = http://icedtea.classpath.org/wiki/IcedTea-Web#Filing_bugs but are in allowed subset
Warning! Items equals for: Version = Version but are in allowed subset
Warning! Items equals for: SPLASHhomepage = Homepage but are in allowed subset
Warning! Items equals for: CVCPColName = Name but are in allowed subset
Warning! Items equals for: COPitw = IcedTea-Web but are in allowed subset
Warning! Items equals for: APSLabelHTTP = HTTP but are in allowed subset
Warning! Items equals for: Name = Name but are in allowed subset
Error! Items equals for: PERenameCodebaseItem = Rename codebase
Error! Items equals for: APPEXTSECguiTableModelTableColumnActionMatchALACA = Library Action
Error! Items equals for: PEAccessThreads = Modify threads
Error! Items equals for: PEPasteCodebaseItem = Paste codebase
Error! Items equals for: PEAccessThreadGroupsDetail = Allow applets to start, stop, and otherwise manage thread groups
Error! Items equals for: PECopyCodebaseItem = Copy codebase
- this is the terribleexrra long help line - Warning! Items equals for: APPEXTSEChelp
Error! Items equals for: PEFileMissing = The policy file was missing from disk. A new file has been saved with the same name.
Error! Items equals for: APPEXTSECguiTableModelTableColumnActionUA = Unsigned applet Action
Error! Items equals for: APPEXTSECunsetAppletAction = This applet has not yet asked for this action
Error! Items equals for: STempNetwork = Allow incoming and outgoing network connections
Error! Items equals for: STempReflectionAndExternal = Java Reflection and external code access
Error! Items equals for: PERenameCodebase = Rename codebase to:
Warning! Items equals for: PEEditMenu = Edit but are in allowed subset
Error! Items equals for: PECopyCodebaseToClipboardItem = Copy codebase URL to clipboard
Error! Items equals for: PEAccessThreadsDetail = Allow applets to start, stop, and otherwise manage threads
Error! Items equals for: PEPasteCodebase = Paste copied codebase as:
Warning! Items equals for: PEEditMenuMnemonic = 69 but are in allowed subset
Error! Items equals for: PEAccessThreadGroups = Modify threadgroups
Error! Items equals for: STempWriteFilesAndProperties = Write-only access to all files and properties
Error! Items equals for: STempReadFilesAndProperties = Read-only access to all files and properties
18 errors allResourcesAreReallyDifferent fo de x default
Checking for same items between de x cs (should be de x cs)
0 errors allResourcesAreReallyDifferent fo de x cs
Skipping same language de x de (should be de x de)
Checking for same items between pl x unknown_so_default_UNKNOWN_SO_DEFAULT (should be pl x default)
Warning! Items equals for: AboutDialogueTabGPLv2 = GPLv2 but are in allowed subset
Warning! Items equals for: ButOk = OK but are in allowed subset
Warning! Items equals for: CVSystem = System but are in allowed subset
Warning! Items equals for: COPinfo = Info but are in allowed subset
Warning! Items equals for: APSLabelFTP = FTP but are in allowed subset
Warning! Items equals for: APPEXTSECguiPanelAppletInfoHederPart1 = {0} {1} but are in allowed subset
Warning! Items equals for: APSLabelSocks = Socks but are in allowed subset
Warning! Items equals for: SPLASHurlLooks = http://icedtea.classpath.org/wiki/IcedTea-Web but are in allowed subset
Warning! Items equals for: COPdebug = Debug but are in allowed subset
Warning! Items equals for: COPjava = Java but are in allowed subset
Warning! Items equals for: SPLASHurl = http://icedtea.classpath.org/wiki/IcedTea-Web#Filing_bugs but are in allowed subset
Error! Items equals for: PECodebaseFlag = Specify (a) codebase URL(s) to add and/or focus in the editor
Warning! Items equals for: COPpostInit = post-init but are in allowed subset
Warning! Items equals for: APSLabelHTTP = HTTP but are in allowed subset
Warning! Items equals for: NSPort = Port but are in allowed subset
Error! Items equals for: APPEXTSECguiTableModelTableColumnActionMatchALACA = Library Action
Error! Items equals for: PEAccessThreads = Modify threads
Warning! Items equals for: PEViewMenuMnemonic = 73 but are in allowed subset
Error! Items equals for: PEAccessThreadGroupsDetail = Allow applets to start, stop, and otherwise manage thread groups
Warning! Items equals for: PEOkButtonMnemonic = 65 but are in allowed subset
Warning! Items equals for: CBCheckUnsignedFail = The application's codebase does NOT match the codebase specified in its manifest, but the application is unsigned. Continuing. See: http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/no_redeploy.html for details. but are in allowed subset
Warning! Items equals for: PEOpenMenuItemMnemonic = 79 but are in allowed subset
Warning! Items equals for: CBCheckOkSignedOk = Codebase matches codebase manifest attribute, and  application is signed. Continuing. See: http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/no_redeploy.html for details. but are in allowed subset
- this is the terribleexrra long help line - Warning! Items equals for: APPEXTSEChelp
Error! Items equals for: PEFileMissing = The policy file was missing from disk. A new file has been saved with the same name.
Error! Items equals for: APPEXTSECguiTableModelTableColumnActionUA = Unsigned applet Action
Warning! Items equals for: CBCheckSignedFail = Application Codebase does NOT match the Codebase specified in the application's manifest, and this application is signed. You are strongly discouraged from running this application. See: http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/no_redeploy.html for details. but are in allowed subset
Error! Items equals for: APPEXTSECunsetAppletAction = This applet has not yet asked for this action
Error! Items equals for: STempNetwork = Allow incoming and outgoing network connections
Warning! Items equals for: PEExitMenuItemMnemonic = 88 but are in allowed subset
Warning! Items equals for: PESaveMenuItemMnemonic = 83 but are in allowed subset
Warning! Items equals for: PEAddCodebaseMnemonic = 78 but are in allowed subset
Warning! Items equals for: CBCheckFile = The application is a local file. Codebase validation is disabled. See: http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/no_redeploy.html for details. but are in allowed subset
Error! Items equals for: STempReflectionAndExternal = Java Reflection and external code access
Error! Items equals for: CVCPCleanCacheTip = Some errors may be caused by old files in your cache. Before submitting the bug, you may clear cache and try to run application again. \
 You can clear cache by javaws -Xclearcache or via itw-settings Cache -> View files -> Purge
Warning! Items equals for: PEFileMenuMnemonic = 70 but are in allowed subset
Warning! Items equals for: COPpreInit = pre-init but are in allowed subset
Warning! Items equals for: CBCheckSignedAppletDontMatchException = Signed applets are not allowed to run when their actual Codebase does not match the Codebase specified in their manifest. Expected: {0}. Actual: {1}. See: http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/no_redeploy.html for details. but are in allowed subset
Error! Items equals for: PEAccessThreadsDetail = Allow applets to start, stop, and otherwise manage threads
Warning! Items equals for: CVCPCleanCache = Purge but are in allowed subset
Warning! Items equals for: PECustomPermissionsItemMnemonic = 85 but are in allowed subset
Error! Items equals for: SPLASHmainL2 = Additional information may be available in the console or logs. Even more information is available if debugging is enabled.
Warning! Items equals for: PECancelButtonMnemonic = 67 but are in allowed subset
Error! Items equals for: APPEXTSecunsignedAppletActionSandbox = This applet was visited and allowed to run with restricted privileges
Warning! Items equals for: PEEditMenuMnemonic = 69 but are in allowed subset
Warning! Items equals for: CBCheckNoEntry = This application does not specify a Codebase in its manifest. Please verify with the applet's vendor. Continuing. See: http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/no_redeploy.html for details. but are in allowed subset
Warning! Items equals for: BAboutITW = The IcedTea-Web project provides a Free Software web browser plugin running applets written in the Java programming language and an implementation of Java Web Start, originally based on the NetX project. Visit the IcedTea-Web homepage: http://icedtea.classpath.org/wiki/IcedTea-Web . Use "man javaws" or "javaws -help" for more information. but are in allowed subset
Warning! Items equals for: PESaveAsMenuItemMnemonic = 65 but are in allowed subset
Warning! Items equals for: CBCheckUnsignedPass = Codebase matches codebase manifest attribute, but application is unsigned. Continuing. See: http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/no_redeploy.html for details. but are in allowed subset
Warning! Items equals for: COPitw = IcedTea-Web but are in allowed subset
Error! Items equals for: PEAccessThreadGroups = Modify threadgroups
Warning! Items equals for: PERemoveCodebaseMnemonic = 82 but are in allowed subset
Error! Items equals for: STempWriteFilesAndProperties = Write-only access to all files and properties
Error! Items equals for: STempReadFilesAndProperties = Read-only access to all files and properties
16 errors allResourcesAreReallyDifferent fo pl x default
Checking for same items between pl x cs (should be pl x cs)
0 errors allResourcesAreReallyDifferent fo pl x cs
Checking for same items between pl x de (should be pl x de)
0 errors allResourcesAreReallyDifferent fo pl x de
Skipping same language pl x pl (should be pl x pl)
Tests run: 4, Failures: 2, Errors: 0, Skipped: 0, Time elapsed: 2.406 sec

From bugzilla-daemon at icedtea.classpath.org  Tue Jun 24 12:56:04 2014
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Tue, 24 Jun 2014 12:56:04 +0000
Subject: [Bug
	1851]=?UTF-8?Q?=20=E2=80=98unhandled=20signal=2011=E2=80=99=20on=20newly=20built=20IcedTeaJVM=20for=20OpenJDK=206=20and=207?=
In-Reply-To: 
References: 
Message-ID: 

http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1851

--- Comment #2 from rpsIcedTeadJVM  ---
Hi, Any help on this issue? I am not able to figure out where the crash is
happening.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 

From aazores at icedtea.classpath.org  Tue Jun 24 13:43:11 2014
From: aazores at icedtea.classpath.org (aazores at icedtea.classpath.org)
Date: Tue, 24 Jun 2014 13:43:11 +0000
Subject: /hg/icedtea-web: Removed old commented code hunk
Message-ID: 

changeset 2446d336d306 in /hg/icedtea-web
details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=2446d336d306
author: Andrew Azores 
date: Tue Jun 24 09:42:50 2014 -0400

	Removed old commented code hunk

	2014-06-24  Andrew Azores  

		* netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: removed hunk of
		old commented out code, updated comment on reason for
		JNLPRuntime.reloadPolicy()


diffstat:

 ChangeLog                                              |   6 ++++++
 netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java |  11 ++++-------
 2 files changed, 10 insertions(+), 7 deletions(-)

diffs (41 lines):

diff -r 2430a5f1d160 -r 2446d336d306 ChangeLog
--- a/ChangeLog	Thu Jun 19 15:09:40 2014 -0400
+++ b/ChangeLog	Tue Jun 24 09:42:50 2014 -0400
@@ -1,3 +1,9 @@
+2014-06-24  Andrew Azores  
+
+	* netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: removed hunk of
+	old commented out code, updated comment on reason for
+	JNLPRuntime.reloadPolicy()
+
 2014-06-19  Jie Kang  
 
 	Refactored Live-Connect (java-js) test cases to fix race condition between
diff -r 2430a5f1d160 -r 2446d336d306 netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java
--- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java	Thu Jun 19 15:09:40 2014 -0400
+++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java	Tue Jun 24 09:42:50 2014 -0400
@@ -594,12 +594,7 @@
 
             return;
         }
-        /*
-        if (jars == null || jars.length == 0) {
-                throw new LaunchException(null, null, R("LSFatal"),
-                                    R("LCInit"), R("LFatalVerification"), "No jars!");
-        }
-        */
+
         List initialJars = new ArrayList();
 
         for (JARDesc jar : jars) {
@@ -2385,7 +2380,9 @@
                 throw new LaunchException(classLoader.file, null, R("LSFatal"), R("LCInit"), R("LRunInSandboxError"), R("LRunInSandboxErrorInfo"));
             }
 
-            JNLPRuntime.reloadPolicy(); // ensure that we have the most up-to-date custom policy loaded
+            JNLPRuntime.reloadPolicy();
+            // ensure that we have the most up-to-date custom policy loaded since the user may have just launched PolicyEditor
+            // to create a custom policy for the applet they are about to run
             this.promptedForSandbox = true;
             this.runInSandbox = true;
         }

From aazores at redhat.com  Tue Jun 24 13:58:51 2014
From: aazores at redhat.com (Andrew Azores)
Date: Tue, 24 Jun 2014 09:58:51 -0400
Subject: [rfc][icedtea-web] Fix support for signed applets with sandbox
	permissions in manifest
In-Reply-To: <53A2FBB6.6020204@redhat.com>
References: <5384BC13.5010708@redhat.com> <53A1B7BE.9020308@redhat.com>
	<53A1D012.7000807@redhat.com> <53A2FBB6.6020204@redhat.com>
Message-ID: <53A9841B.3090705@redhat.com>

On 06/19/2014 11:03 AM, Jiri Vanek wrote:
> On 06/18/2014 07:44 PM, Andrew Azores wrote:
>> On 06/18/2014 12:01 PM, Jiri Vanek wrote:
>>> On 05/27/2014 06:23 PM, Andrew Azores wrote:
>>>> Hi,
>>>>
>>>> This patch allows signed applets with sandbox permissions specified in
>>>> their manifests to actually
>>>
>>>
>>> How it is dealing with mixed (signed + unsigned code) apps?
>>
>> I don't have any examples of mixed signing apps with a Permissions 
>> manifest attribute, but a
>> reproducer could be prepared for this case.
>
> It seems to be under construction...
>>
>>>> be run sandboxed. This is in contrast to the current behaviour where
>>>> such applets will fail to
>>>> launch, and the failure message presented asks the user to try
>>>> launching via the Sandbox button next
>>>> time. This was because the dialog which presented the Sandbox button
>>>> appeared very early in the
>>>> JNLPClassLoader's life cycle - early enough that no security settings
>>>> had yet been set for the
>>>> classloader or any of the applet's JAR locations - whereas the
>>>> manifest checks were done later,
>>>> after these settings would have already been initialized. Fixing the
>>>> issue was not as simple as
>>>> doing the manifest checks before presenting the security dialog
>>>> because the dialog was presented
>>>> part way through the initialization process, where JARs are being
>>>> downloaded and checked for
>>>> signing, so that the appropriate security dialog could be shown to the
>>>> user. Putting the manifest
>>>> checks first would therefore not work properly because the JARs were
>>>> not yet available. This patch
>>>> resolves the issue by moving the manifest checks inside the method
>>>> which initializes the relevant
>>>> security settings, such that the required resources are available, it
>>>> is known what type of applet
>>>> is about to be run, but the security settings for the JAR locations
>>>> have not yet been initialized
>>>> and the applet can thus still be set to run sandboxed safely.
>>>>
>>>> Additionally, the ManifestAttributesChecker check for the Permissions
>>>> attribute is no longer skipped
>>>> when Extended Applet Security is set to the Low level, since this
>>>> allows for signed applets with
>>>> Sandbox permissions specified in their manifests to run with full
>>>> permissions when Low security is set.
>>>>
>>>
>>> Well this concept I do not like.
>>>
>>> Imho the correct approach is to check the attributes, but do not take
>>> any actions (except print warnings eg "normally I would fail because
>>> of..,but low security is on".
>>>
>>> With exception on sandbox attribute - here probably warning (strong 
>>> one)
>>> requesting users attention.
>>>
>>>   What do you think? - Well this dialogue would be good place for 
>>> run in
>>> sandbox button too :)
>>>
>>> Otherwise the only way how to disable manifest check willbe the
>>> deployment property which I added.
>>
>> Sure. I just *really* am not comfortable with leaving it as-is, which 
>> means Low Security allows
>
> I agree.
>> applets to be silently granted elevated permissions. I can imagine 
>> this too easily being abused by a
>> malicious applet developer. I'm fine with adding an extra prompt here 
>> when on Low Security though,
>> warning the user that due to the Low Security the applet may be 
>> granted elevated permissions if it
>> is run.
>
> The dialogue canbe added as separate changeset.
>
> But for current changeset's behavior I would like the low security is 
> not affecting *only* permissions attribute. Other attributes checks 
> will be skipped.
>>
>>>
> ...
>>>> -        setSecurity();
>>>
>>> I'm wondering, setSecurity moved, but setPermissions remained?
>>
>> You mean initializePermissions? Yea, it didn't have to be moved.
>
> Still surprising me.
>
>>
>>>> -
>>>> -        ManifestAttributesChecker mac = new
>>>> ManifestAttributesChecker(security, file, signing, securityDelegate);
>>>> -        mac.checkAll();
>>>> -
>>>>           installShutdownHooks();
>>>>
>>>>
>>>> @@ -592,14 +586,12 @@ public class JNLPClassLoader extends URL
>>>>               //Check if main jar is found within extensions
>>>>               foundMainJar = foundMainJar || hasMainInExtensions();
>>>>
>>>> +            setSecurity();
>>>> +            initializeManifestAttributesChecker();
>>>> +            mac.checkAll();
>>>>               return;
>>>>           }
>>>> -        /*
>>>> -        if (jars == null || jars.length == 0) {
>>>> -                throw new LaunchException(null, null, R("LSFatal"),
>>>> -                                    R("LCInit"),
>>>> R("LFatalVerification"), "No jars!");
>>>> -        }
>>>> -        */
>>>
>>> This should probably cam in as separate changset. Hmm.. When it was
>>> commented Out actually? :)
>>
>
> then please remove as separate changeset.  Together with the hunk a 
> bit lower.
>
>>>>
>>>> - jarLocationSecurityMap.put(jarDesc.getLocation(),
>>>> jarSecurity);
>>>> +            if (containsUnsignedJar && containsSignedJar) {
>>>> +                break;
>>>> +            }
>>>>           }
>>>>
>>>>           if (containsSignedJar && containsUnsignedJar) {
>>>>               checkPartialSigningWithUser();
>>>>           }
>>>>
>>>> +        initializeManifestAttributesChecker();
>>>> +        mac.checkAll();
>>>> +
>>>> +        for (JARDesc jarDesc : validJars) {
>>>
>>> There I'm missing something. Why is this secoond field even needed?
>>> In any case, please mention  it in changelog.
>>
>> Which second field? "mac"?
>
> Oh sorry. no. - The validJars. Can you expalin on them?
>>
>>>> +            final URL codebase = getJnlpFileCodebase();
>>>> +            final SecurityDesc jarSecurity =
>>>> securityDelegate.getCodebaseSecurityDesc(jarDesc, codebase.getHost());
>>>> + jarLocationSecurityMap.put(jarDesc.getLocation(),
>>>> jarSecurity);
>>>> +        }
>>>> +
>>>>           activateJars(initialJars);
>>>>       }
>>>> +
>>>> +    private void initializeManifestAttributesChecker() throws
>>>> LaunchException {
>>>> +        if (mac == null) {
>>>> +            file.getManifestsAttributes().setLoader(this);
>>>> +            mac = new ManifestAttributesChecker(security, file,
>>>> signing, securityDelegate);
>>>> +        }
>>>> +    }
>>>> +
>>>> +    private URL getJnlpFileCodebase() {
>>>> +        final URL codebase;
>>>> +        if (file.getCodeBase() != null) {
>>>> +            codebase = file.getCodeBase();
>>>> +        } else {
>>>> +            // FIXME: codebase should be the codebase of the Main Jar
>>>> not
>>>> +            // the location. Although, it still works in the current
>>>> state.
>>>> +            codebase = 
>>>> file.getResources().getMainJAR().getLocation();
>>>> +        }
>>>> +        return codebase;
>>>> +    }
>>>>
>>>>        /***
>>>>        * Checks for the jar that contains the attribute.
>>>> @@ -762,13 +780,12 @@ public class JNLPClassLoader extends URL
>>>>        * @param  name attribute to be found
>>>>        */
>>>>       public String checkForAttributeInJars(List jars,
>>>> Attributes.Name name) {
>>>> -
>>>>           if (jars.isEmpty()) {
>>>>               return null;
>>>>           }
>>>>
>>>>           String result = null;
>>>> -
>>>> +
>>>>           // Check main jar
>>>>           JARDesc mainJarDesc = ResourcesDesc.getMainJAR(jars);
>>>>           result = getManifestAttribute(mainJarDesc.getLocation(), 
>>>> name);
>>>> @@ -776,7 +793,7 @@ public class JNLPClassLoader extends URL
>>>>           if (result != null) {
>>>>               return result;
>>>>           }
>>>> -
>>>> +
>>>>           // Check first jar
>>>>           JARDesc firstJarDesc = jars.get(0);
>>>>           result = 
>>>> getManifestAttribute(firstJarDesc.getLocation(),name);
>>>> @@ -2380,12 +2397,15 @@ public class JNLPClassLoader extends URL
>>>>           }
>>>>
>>>>           public void setRunInSandbox() throws LaunchException {
>>>> -            if (promptedForSandbox || classLoader.security != null
>>>> -                    || classLoader.jarLocationSecurityMap.size() 
>>>> != 0) {
>>>> +            if (runInSandbox && classLoader.security != null
>>>> +                    && classLoader.jarLocationSecurityMap.size() 
>>>> != 0) {
>>>
>>> Why have this condition changed in thisway? I would expect
>>> promptedForSandbox || runInSandbox || classLoader.security != null  
>>> && ...
>>
>> The ClassLoader can end up attempting to automatically set the applet 
>> to run in sandbox multiple
>> times, so that condition would cause it to fail in this situation. 
>> The condition was very strong
>> before on purpose because it was easily possible for the security 
>> settings to have already been
>> applied before the sandboxing option appeared to the user. Now, the 
>> sandboxing dialog appears well
>> beforehand, and automatic sandboxing also happens early enough, so 
>> this condition has to be slightly
>> weakened so that it does allow the call to be performed multiple 
>> times, but only if the security
>> settings have not yet been applied to the classloader/applet. I 
>> haven't tested this but this
>> condition should also work fine:
>
>
> /me consuimg this and hoping /me understand well
> %-~
>
>>
>> runInSandbox && (classLoader.security != null || 
>> jarLocationSecurityMap.size() != 0)
>>
>> The classLoader.security and jarLocationSecurityMap conditions should 
>> really always be "in sync"
>> with each other in this regard though.
> hmmh.
>
>>
>>>
>>>>                   throw new LaunchException(classLoader.file, null,
>
>>> +Permissions: sandbox
>>>
>>>
>>> Do we  have/need also one with  Permissions: all-permissions ? I recall
>>> there is something...
>>
>> I don't think so, but maybe there is. I couldn't find anything with a 
>> quick grep.
>>
> ...in progress s I guess
>>>
> ..
>>>
>>>
>>> Why do you need custom reproducers? The manifest is handled by engine
>>
>> Ah, I forgot about this. Although a custom reproducer would still be 
>> needed for the mixed signing
>> case, so I can convert this one to mixed and make normal "simple" and 
>> "signed" ones as well I suppose.
>>
>
> good!
> ...snip...
>>> +        assertTrue("Applet should have printed its exit string",
>>> pr.stdout.contains(CLOSE_STRING));
>>> +    }
>>> +}
>>>
>>> As this test is already known to fail, it can go (after manifest is
>>> resolved)  in as independent changeset.
>>>
>>>
>
> Well  except the issue with low security (and few more expalnationa) 
> I'm ashamed to not have muc more comments :(
>
>
> J.
>

Latest version of the patch is attached. initializePermissions was 
renamed, the comment hunks were removed and done in a separate 
changeset, and all manifest checks are skipped when on low security with 
a WARNING_ALL level message logged. Otherwise, no changes from the last 
patch.

New tests are also on the way and with the new tests will come the fixed 
version of the previously sent test, which will make be a signed 
reproducer rather than custom.

Thanks,

-- 
Andrew A

-------------- next part --------------
A non-text attachment was scrubbed...
Name: pr1769-5.patch
Type: text/x-patch
Size: 14154 bytes
Desc: not available
URL: 

From bugzilla-daemon at icedtea.classpath.org  Tue Jun 24 14:37:10 2014
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Tue, 24 Jun 2014 14:37:10 +0000
Subject: [Bug 729] GTKLookAndFeel should be the system look&feel on all
	GNU/Linux desktops
In-Reply-To: 
References: 
Message-ID: 

http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=729

--- Comment #25 from Andrew John Hughes  ---
(In reply to Andrew Haley from comment #19)
> (In reply to Andrew Azores from comment #16)
> > I came across a discussion thread [0] last night that seems pertitent to
> > this bug. It seems that at least some users are experiencing UI breakages
> > due to updating to 7u60 (IcedTea 2.5.0).
> > 
> > [0]
> > http://www.reddit.com/r/archlinux/comments/28d6p9/upgrading_openjdk_removes_text_in_idea/
> 
> It seems to me that this is a decisive argument against doing this.  We
> can't break applications in a minor update.

Except this actually seems to be about:

http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1839

and not the Gtk+ look and feel. The only comment about Gtk+ says:

"i managed to blindly set the theme to GTK+ and changed the default fonts (via
lxappearance). everything works now."

It's a little ambiguous, but I read that as either the default LnF ("theme")
was Metal and changing to Gtk+ fixed it, or they altered the Gtk+ theme which
fixed it. The first would be unrelated to this bug and the second would be a
bug in the existing Gtk+ setup.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 

From jvanek at redhat.com  Tue Jun 24 14:40:14 2014
From: jvanek at redhat.com (Jiri Vanek)
Date: Tue, 24 Jun 2014 16:40:14 +0200
Subject: [rfc][icedtea-web] Fix support for signed applets with sandbox
	permissions in manifest
In-Reply-To: <53A9841B.3090705@redhat.com>
References: <5384BC13.5010708@redhat.com> <53A1B7BE.9020308@redhat.com>
	<53A1D012.7000807@redhat.com> <53A2FBB6.6020204@redhat.com>
	<53A9841B.3090705@redhat.com>
Message-ID: <53A98DCE.1000702@redhat.com>

On 06/24/2014 03:58 PM, Andrew Azores wrote:
> On 06/19/2014 11:03 AM, Jiri Vanek wrote:
>> On 06/18/2014 07:44 PM, Andrew Azores wrote:
>>> On 06/18/2014 12:01 PM, Jiri Vanek wrote:
>>>> On 05/27/2014 06:23 PM, Andrew Azores wrote:
>>>>> Hi,
>>>>>
>>>>> This patch allows signed applets with sandbox permissions specified in
>>>>> their manifests to actually
>>>>
>>>>
>>>> How it is dealing with mixed (signed + unsigned code) apps?
>>>
>>> I don't have any examples of mixed signing apps with a Permissions manifest attribute, but a
>>> reproducer could be prepared for this case.
>>
>> It seems to be under construction...
>>>
>>>>> be run sandboxed. This is in contrast to the current behaviour where
>>>>> such applets will fail to
>>>>> launch, and the failure message presented asks the user to try
>>>>> launching via the Sandbox button next
>>>>> time. This was because the dialog which presented the Sandbox button
>>>>> appeared very early in the
>>>>> JNLPClassLoader's life cycle - early enough that no security settings
>>>>> had yet been set for the
>>>>> classloader or any of the applet's JAR locations - whereas the
>>>>> manifest checks were done later,
>>>>> after these settings would have already been initialized. Fixing the
>>>>> issue was not as simple as
>>>>> doing the manifest checks before presenting the security dialog
>>>>> because the dialog was presented
>>>>> part way through the initialization process, where JARs are being
>>>>> downloaded and checked for
>>>>> signing, so that the appropriate security dialog could be shown to the
>>>>> user. Putting the manifest
>>>>> checks first would therefore not work properly because the JARs were
>>>>> not yet available. This patch
>>>>> resolves the issue by moving the manifest checks inside the method
>>>>> which initializes the relevant
>>>>> security settings, such that the required resources are available, it
>>>>> is known what type of applet
>>>>> is about to be run, but the security settings for the JAR locations
>>>>> have not yet been initialized
>>>>> and the applet can thus still be set to run sandboxed safely.
>>>>>
>>>>> Additionally, the ManifestAttributesChecker check for the Permissions
>>>>> attribute is no longer skipped
>>>>> when Extended Applet Security is set to the Low level, since this
>>>>> allows for signed applets with
>>>>> Sandbox permissions specified in their manifests to run with full
>>>>> permissions when Low security is set.
>>>>>
>>>>
>>>> Well this concept I do not like.
>>>>
>>>> Imho the correct approach is to check the attributes, but do not take
>>>> any actions (except print warnings eg "normally I would fail because
>>>> of..,but low security is on".
>>>>
>>>> With exception on sandbox attribute - here probably warning (strong one)
>>>> requesting users attention.
>>>>
>>>>   What do you think? - Well this dialogue would be good place for run in
>>>> sandbox button too :)
>>>>
>>>> Otherwise the only way how to disable manifest check willbe the
>>>> deployment property which I added.
>>>
>>> Sure. I just *really* am not comfortable with leaving it as-is, which means Low Security allows
>>
>> I agree.
>>> applets to be silently granted elevated permissions. I can imagine this too easily being abused by a
>>> malicious applet developer. I'm fine with adding an extra prompt here when on Low Security though,
>>> warning the user that due to the Low Security the applet may be granted elevated permissions if it
>>> is run.
>>
>> The dialogue canbe added as separate changeset.
>>
>> But for current changeset's behavior I would like the low security is not affecting *only*
>> permissions attribute. Other attributes checks will be skipped.
>>>
>>>>
>> ...
>>>>> -        setSecurity();
>>>>
>>>> I'm wondering, setSecurity moved, but setPermissions remained?
>>>
>>> You mean initializePermissions? Yea, it didn't have to be moved.
>>
>> Still surprising me.
>>
>>>
>>>>> -
>>>>> -        ManifestAttributesChecker mac = new
>>>>> ManifestAttributesChecker(security, file, signing, securityDelegate);
>>>>> -        mac.checkAll();
>>>>> -
>>>>>           installShutdownHooks();
>>>>>
>>>>>
>>>>> @@ -592,14 +586,12 @@ public class JNLPClassLoader extends URL
>>>>>               //Check if main jar is found within extensions
>>>>>               foundMainJar = foundMainJar || hasMainInExtensions();
>>>>>
>>>>> +            setSecurity();
>>>>> +            initializeManifestAttributesChecker();
>>>>> +            mac.checkAll();
>>>>>               return;
>>>>>           }
>>>>> -        /*
>>>>> -        if (jars == null || jars.length == 0) {
>>>>> -                throw new LaunchException(null, null, R("LSFatal"),
>>>>> -                                    R("LCInit"),
>>>>> R("LFatalVerification"), "No jars!");
>>>>> -        }
>>>>> -        */
>>>>
>>>> This should probably cam in as separate changset. Hmm.. When it was
>>>> commented Out actually? :)
>>>
>>
>> then please remove as separate changeset.  Together with the hunk a bit lower.
>>
>>>>>
>>>>> - jarLocationSecurityMap.put(jarDesc.getLocation(),
>>>>> jarSecurity);
>>>>> +            if (containsUnsignedJar && containsSignedJar) {
>>>>> +                break;
>>>>> +            }
>>>>>           }
>>>>>
>>>>>           if (containsSignedJar && containsUnsignedJar) {
>>>>>               checkPartialSigningWithUser();
>>>>>           }
>>>>>
>>>>> +        initializeManifestAttributesChecker();
>>>>> +        mac.checkAll();
>>>>> +
>>>>> +        for (JARDesc jarDesc : validJars) {
>>>>
>>>> There I'm missing something. Why is this secoond field even needed?
>>>> In any case, please mention  it in changelog.
>>>
>>> Which second field? "mac"?
>>
>> Oh sorry. no. - The validJars. Can you expalin on them?
>>>
>>>>> +            final URL codebase = getJnlpFileCodebase();
>>>>> +            final SecurityDesc jarSecurity =
>>>>> securityDelegate.getCodebaseSecurityDesc(jarDesc, codebase.getHost());
>>>>> + jarLocationSecurityMap.put(jarDesc.getLocation(),
>>>>> jarSecurity);
>>>>> +        }
>>>>> +
>>>>>           activateJars(initialJars);
>>>>>       }
>>>>> +
>>>>> +    private void initializeManifestAttributesChecker() throws
>>>>> LaunchException {
>>>>> +        if (mac == null) {
>>>>> +            file.getManifestsAttributes().setLoader(this);
>>>>> +            mac = new ManifestAttributesChecker(security, file,
>>>>> signing, securityDelegate);
>>>>> +        }
>>>>> +    }
>>>>> +
>>>>> +    private URL getJnlpFileCodebase() {
>>>>> +        final URL codebase;
>>>>> +        if (file.getCodeBase() != null) {
>>>>> +            codebase = file.getCodeBase();
>>>>> +        } else {
>>>>> +            // FIXME: codebase should be the codebase of the Main Jar
>>>>> not
>>>>> +            // the location. Although, it still works in the current
>>>>> state.
>>>>> +            codebase = file.getResources().getMainJAR().getLocation();
>>>>> +        }
>>>>> +        return codebase;
>>>>> +    }
>>>>>
>>>>>        /***
>>>>>        * Checks for the jar that contains the attribute.
>>>>> @@ -762,13 +780,12 @@ public class JNLPClassLoader extends URL
>>>>>        * @param  name attribute to be found
>>>>>        */
>>>>>       public String checkForAttributeInJars(List jars,
>>>>> Attributes.Name name) {
>>>>> -
>>>>>           if (jars.isEmpty()) {
>>>>>               return null;
>>>>>           }
>>>>>
>>>>>           String result = null;
>>>>> -
>>>>> +
>>>>>           // Check main jar
>>>>>           JARDesc mainJarDesc = ResourcesDesc.getMainJAR(jars);
>>>>>           result = getManifestAttribute(mainJarDesc.getLocation(), name);
>>>>> @@ -776,7 +793,7 @@ public class JNLPClassLoader extends URL
>>>>>           if (result != null) {
>>>>>               return result;
>>>>>           }
>>>>> -
>>>>> +
>>>>>           // Check first jar
>>>>>           JARDesc firstJarDesc = jars.get(0);
>>>>>           result = getManifestAttribute(firstJarDesc.getLocation(),name);
>>>>> @@ -2380,12 +2397,15 @@ public class JNLPClassLoader extends URL
>>>>>           }
>>>>>
>>>>>           public void setRunInSandbox() throws LaunchException {
>>>>> -            if (promptedForSandbox || classLoader.security != null
>>>>> -                    || classLoader.jarLocationSecurityMap.size() != 0) {
>>>>> +            if (runInSandbox && classLoader.security != null
>>>>> +                    && classLoader.jarLocationSecurityMap.size() != 0) {
>>>>
>>>> Why have this condition changed in thisway? I would expect
>>>> promptedForSandbox || runInSandbox || classLoader.security != null && ...
>>>
>>> The ClassLoader can end up attempting to automatically set the applet to run in sandbox multiple
>>> times, so that condition would cause it to fail in this situation. The condition was very strong
>>> before on purpose because it was easily possible for the security settings to have already been
>>> applied before the sandboxing option appeared to the user. Now, the sandboxing dialog appears well
>>> beforehand, and automatic sandboxing also happens early enough, so this condition has to be slightly
>>> weakened so that it does allow the call to be performed multiple times, but only if the security
>>> settings have not yet been applied to the classloader/applet. I haven't tested this but this
>>> condition should also work fine:
>>
>>
>> /me consuimg this and hoping /me understand well
>> %-~
>>
>>>
>>> runInSandbox && (classLoader.security != null || jarLocationSecurityMap.size() != 0)
>>>
>>> The classLoader.security and jarLocationSecurityMap conditions should really always be "in sync"
>>> with each other in this regard though.
>> hmmh.
>>
>>>
>>>>
>>>>>                   throw new LaunchException(classLoader.file, null,
>>
>>>> +Permissions: sandbox
>>>>
>>>>
>>>> Do we  have/need also one with  Permissions: all-permissions ? I recall
>>>> there is something...
>>>
>>> I don't think so, but maybe there is. I couldn't find anything with a quick grep.
>>>
>> ...in progress s I guess
>>>>
>> ..
>>>>
>>>>
>>>> Why do you need custom reproducers? The manifest is handled by engine
>>>
>>> Ah, I forgot about this. Although a custom reproducer would still be needed for the mixed signing
>>> case, so I can convert this one to mixed and make normal "simple" and "signed" ones as well I
>>> suppose.
>>>
>>
>> good!
>> ...snip...
>>>> +        assertTrue("Applet should have printed its exit string",
>>>> pr.stdout.contains(CLOSE_STRING));
>>>> +    }
>>>> +}
>>>>
>>>> As this test is already known to fail, it can go (after manifest is
>>>> resolved)  in as independent changeset.
>>>>
>>>>
>>
>> Well  except the issue with low security (and few more expalnationa) I'm ashamed to not have muc
>> more comments :(
>>
>>
>> J.
>>
>
> Latest version of the patch is attached. initializePermissions was renamed, the comment hunks were
> removed and done in a separate changeset, and all manifest checks are skipped when on low security
> with a WARNING_ALL level message logged. Otherwise, no changes from the last patch.
>

No no. THis is not what I wonted.

As you mentioned - the signed, but with permissions:sandbox app can not be run with all permissions.
So skip all attrributes, except permissions one

The sandbox one should be checked:
signed: permissions:all-permissions - all permissions
unsigned: permissions:all-permissions - sandbox
unsigned: permissions:sandbox - sandbox
signed: permissions:sandbox - sandbox
signed: permissions missing - all permissions
unsigned: permissions missing - sandbox

On low permissions, no asking.

For other then low permissions user should be asked for each except
signed: permissions:all-permissions
unsigned: permissions:sandbox
cases.

But the dialogue can be done as separate changeset (with custom-permissions button:)



> New tests are also on the way and with the new tests will come the fixed version of the previously
> sent test, which will make be a signed reproducer rather than custom.
>

J.


From bugzilla-daemon at icedtea.classpath.org  Tue Jun 24 15:20:54 2014
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Tue, 24 Jun 2014 15:20:54 +0000
Subject: [Bug 729] GTKLookAndFeel should be the system look&feel on all
	GNU/Linux desktops
In-Reply-To: 
References: 
Message-ID: 

http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=729

--- Comment #26 from Andrew John Hughes  ---
(In reply to Mario Torre from comment #17)
> Hi all, I just want to add my opinion on this thread. While I would like to
> see the Gtk LAF as default on Linux (after all, it doesn't really matter if
> you're running on KDE or Gnome, or whatever, the chances you don't have Gtk
> on your system are really 0),

The code looks for the Gtk+ library and will fall back on Metal if it's not
present.

 we can't do this because we would possibly
> break existing applications running Java on Linux.
> 
> Unfortunately, the LAF is one of the critical areas that could make the same
> application render with bugs, behave incorrectly or crash, especially on
> Swing where people reverted to all sort of tricks and custom components;
> that's why the system defaults never changed in years.
> 
> Of course, is equally easy to force a specific look and feel, on the other
> end, I expect bug reports arriving of the sort "getSystemLookAndFeel() gives
> me unexpected result", fixing those bugs will mean reverting this patch,
> which will mean creating an apocalyptic scenario where part of the world
> expect Metal and part expect Gtk, leading to a Schrodinger look and feel
> implementation that will break-fix anyone else! :)
> 
> Seriously, we *could* possibly have this default in JDK9, where people
> expect a certain level of breakage and are usually forced to test their
> applications from scratch, but JDK7 or JDK8 seems way too dangerous being
> the current releases, we really risk to break some application.

This doesn't make it the default. It simply returns it as the system look and
feel on additional GNU/Linux desktops. Prior to this patch, users on GNOME
would get Gtk+ as the system look and feel, while those using Xfce, KDE, etc.
would get Metal. Now everyone on a local GNU/Linux desktop gets the Gtk+ look
and feel as the *system* look and feel, removing the inconsistency between
those who use GNOME and those who choose another DE.

>From the code, I don't think a specific choice of Metal was made for the other
desktops. Rather, checking for "GNOME" rather than an OS covers both the
Solaris and GNU/Linux desktops Oracle test on in one go.

// May be set on Linux and Solaris boxs.                                       
                                                   return
"com.sun.java.swing.plaf.gtk.GTKLookAndFeel";

and I doubt others were considered.

There are plenty of options for turning it off - I used them when testing this
patch - and it's not the *default*; that's still Metal.

Running:

public class TestLnF
{
  public static void main(String[] args) {
    System.err.println("getSystemLookAndFeel: " +
javax.swing.UIManager.getSystemLookAndFeelClassName());
    System.err.println("getLookAndFeel: " +
javax.swing.UIManager.getLookAndFeel());
  }
}

on an *unpatched* RHEL 6 GNOME desktop gives:

getSystemLookAndFeel: com.sun.java.swing.plaf.gtk.GTKLookAndFeel
getLookAndFeel: [The Java(tm) Look and Feel -
javax.swing.plaf.metal.MetalLookAndFeel]

All the patch does is give the user the same result as above if they are
running Xfce, etc. instead.

We did make some progress in doing this just for Xfce upstream; it didn't
really hit any substantial criticism, but wasn't followed through for some
reason. I was just going to go with that, but there didn't seem to be a good
reason to focus on just one desktop when there are so many and, of the
available look and feels in OpenJDK, Gtk+ really is the best fit as a *system*
one for all desktops (i.e. it looks more at home even on KDE than Metal, as
people are used to running Gtk applications on KDE).

I'm aware that there are performance and theme issues, but these are something
that need to be resolved generally, and will already be hit by GNOME users,
regardless of this change.

> 
> Regarding the Gtk3, I indeed mentored a student last year. The work was not
> 100% finished, but working well enough to be a good starting point. As soon
> as I'll find some time I'll start hacking on that, of course anyone is free
> to jump in!
> 
> Here's the current code:
> 
> http://icedtea.classpath.org/people/elideu/gtk3laf/
> 
> Most of it needs to be rewritten, but as I said is a good starting point.
> 
> I would also love to work on a QT version of it.

I was thinking about integrating this for 2.6.0, so it would be available for
users to manually turn on and play with, if they so wished. Thoughts?

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 

From aazores at redhat.com  Tue Jun 24 15:39:07 2014
From: aazores at redhat.com (Andrew Azores)
Date: Tue, 24 Jun 2014 11:39:07 -0400
Subject: [rfc][icedtea-web] Fix support for signed applets with sandbox
	permissions in manifest
In-Reply-To: <53A98DCE.1000702@redhat.com>
References: <5384BC13.5010708@redhat.com> <53A1B7BE.9020308@redhat.com>
	<53A1D012.7000807@redhat.com> <53A2FBB6.6020204@redhat.com>
	<53A9841B.3090705@redhat.com> <53A98DCE.1000702@redhat.com>
Message-ID: <53A99B9B.4040303@redhat.com>

On 06/24/2014 10:40 AM, Jiri Vanek wrote:
> On 06/24/2014 03:58 PM, Andrew Azores wrote:
>> On 06/19/2014 11:03 AM, Jiri Vanek wrote:
>>> On 06/18/2014 07:44 PM, Andrew Azores wrote:
>>>> On 06/18/2014 12:01 PM, Jiri Vanek wrote:
>>>>> On 05/27/2014 06:23 PM, Andrew Azores wrote:
>>>>>> Hi,
>>>>>>
>>>>>> This patch allows signed applets with sandbox permissions 
>>>>>> specified in
>>>>>> their manifests to actually
>>>>>
>>>>>
>>>>> How it is dealing with mixed (signed + unsigned code) apps?
>>>>
>>>> I don't have any examples of mixed signing apps with a Permissions 
>>>> manifest attribute, but a
>>>> reproducer could be prepared for this case.
>>>
>>> It seems to be under construction...
>>>>
>>>>>> be run sandboxed. This is in contrast to the current behaviour where
>>>>>> such applets will fail to
>>>>>> launch, and the failure message presented asks the user to try
>>>>>> launching via the Sandbox button next
>>>>>> time. This was because the dialog which presented the Sandbox button
>>>>>> appeared very early in the
>>>>>> JNLPClassLoader's life cycle - early enough that no security 
>>>>>> settings
>>>>>> had yet been set for the
>>>>>> classloader or any of the applet's JAR locations - whereas the
>>>>>> manifest checks were done later,
>>>>>> after these settings would have already been initialized. Fixing the
>>>>>> issue was not as simple as
>>>>>> doing the manifest checks before presenting the security dialog
>>>>>> because the dialog was presented
>>>>>> part way through the initialization process, where JARs are being
>>>>>> downloaded and checked for
>>>>>> signing, so that the appropriate security dialog could be shown 
>>>>>> to the
>>>>>> user. Putting the manifest
>>>>>> checks first would therefore not work properly because the JARs were
>>>>>> not yet available. This patch
>>>>>> resolves the issue by moving the manifest checks inside the method
>>>>>> which initializes the relevant
>>>>>> security settings, such that the required resources are 
>>>>>> available, it
>>>>>> is known what type of applet
>>>>>> is about to be run, but the security settings for the JAR locations
>>>>>> have not yet been initialized
>>>>>> and the applet can thus still be set to run sandboxed safely.
>>>>>>
>>>>>> Additionally, the ManifestAttributesChecker check for the 
>>>>>> Permissions
>>>>>> attribute is no longer skipped
>>>>>> when Extended Applet Security is set to the Low level, since this
>>>>>> allows for signed applets with
>>>>>> Sandbox permissions specified in their manifests to run with full
>>>>>> permissions when Low security is set.
>>>>>>
>>>>>
>>>>> Well this concept I do not like.
>>>>>
>>>>> Imho the correct approach is to check the attributes, but do not take
>>>>> any actions (except print warnings eg "normally I would fail because
>>>>> of..,but low security is on".
>>>>>
>>>>> With exception on sandbox attribute - here probably warning 
>>>>> (strong one)
>>>>> requesting users attention.
>>>>>
>>>>>   What do you think? - Well this dialogue would be good place for 
>>>>> run in
>>>>> sandbox button too :)
>>>>>
>>>>> Otherwise the only way how to disable manifest check willbe the
>>>>> deployment property which I added.
>>>>
>>>> Sure. I just *really* am not comfortable with leaving it as-is, 
>>>> which means Low Security allows
>>>
>>> I agree.
>>>> applets to be silently granted elevated permissions. I can imagine 
>>>> this too easily being abused by a
>>>> malicious applet developer. I'm fine with adding an extra prompt 
>>>> here when on Low Security though,
>>>> warning the user that due to the Low Security the applet may be 
>>>> granted elevated permissions if it
>>>> is run.
>>>
>>> The dialogue canbe added as separate changeset.
>>>
>>> But for current changeset's behavior I would like the low security 
>>> is not affecting *only*
>>> permissions attribute. Other attributes checks will be skipped.
>>>>
>>>>>
>>> ...
>>>>>> -        setSecurity();
>>>>>
>>>>> I'm wondering, setSecurity moved, but setPermissions remained?
>>>>
>>>> You mean initializePermissions? Yea, it didn't have to be moved.
>>>
>>> Still surprising me.
>>>
>>>>
>>>>>> -
>>>>>> -        ManifestAttributesChecker mac = new
>>>>>> ManifestAttributesChecker(security, file, signing, 
>>>>>> securityDelegate);
>>>>>> -        mac.checkAll();
>>>>>> -
>>>>>>           installShutdownHooks();
>>>>>>
>>>>>>
>>>>>> @@ -592,14 +586,12 @@ public class JNLPClassLoader extends URL
>>>>>>               //Check if main jar is found within extensions
>>>>>>               foundMainJar = foundMainJar || hasMainInExtensions();
>>>>>>
>>>>>> +            setSecurity();
>>>>>> +            initializeManifestAttributesChecker();
>>>>>> +            mac.checkAll();
>>>>>>               return;
>>>>>>           }
>>>>>> -        /*
>>>>>> -        if (jars == null || jars.length == 0) {
>>>>>> -                throw new LaunchException(null, null, R("LSFatal"),
>>>>>> -                                    R("LCInit"),
>>>>>> R("LFatalVerification"), "No jars!");
>>>>>> -        }
>>>>>> -        */
>>>>>
>>>>> This should probably cam in as separate changset. Hmm.. When it was
>>>>> commented Out actually? :)
>>>>
>>>
>>> then please remove as separate changeset.  Together with the hunk a 
>>> bit lower.
>>>
>>>>>>
>>>>>> - jarLocationSecurityMap.put(jarDesc.getLocation(),
>>>>>> jarSecurity);
>>>>>> +            if (containsUnsignedJar && containsSignedJar) {
>>>>>> +                break;
>>>>>> +            }
>>>>>>           }
>>>>>>
>>>>>>           if (containsSignedJar && containsUnsignedJar) {
>>>>>>               checkPartialSigningWithUser();
>>>>>>           }
>>>>>>
>>>>>> +        initializeManifestAttributesChecker();
>>>>>> +        mac.checkAll();
>>>>>> +
>>>>>> +        for (JARDesc jarDesc : validJars) {
>>>>>
>>>>> There I'm missing something. Why is this secoond field even needed?
>>>>> In any case, please mention  it in changelog.
>>>>
>>>> Which second field? "mac"?
>>>
>>> Oh sorry. no. - The validJars. Can you expalin on them?
>>>>
>>>>>> +            final URL codebase = getJnlpFileCodebase();
>>>>>> +            final SecurityDesc jarSecurity =
>>>>>> securityDelegate.getCodebaseSecurityDesc(jarDesc, 
>>>>>> codebase.getHost());
>>>>>> + jarLocationSecurityMap.put(jarDesc.getLocation(),
>>>>>> jarSecurity);
>>>>>> +        }
>>>>>> +
>>>>>>           activateJars(initialJars);
>>>>>>       }
>>>>>> +
>>>>>> +    private void initializeManifestAttributesChecker() throws
>>>>>> LaunchException {
>>>>>> +        if (mac == null) {
>>>>>> + file.getManifestsAttributes().setLoader(this);
>>>>>> +            mac = new ManifestAttributesChecker(security, file,
>>>>>> signing, securityDelegate);
>>>>>> +        }
>>>>>> +    }
>>>>>> +
>>>>>> +    private URL getJnlpFileCodebase() {
>>>>>> +        final URL codebase;
>>>>>> +        if (file.getCodeBase() != null) {
>>>>>> +            codebase = file.getCodeBase();
>>>>>> +        } else {
>>>>>> +            // FIXME: codebase should be the codebase of the 
>>>>>> Main Jar
>>>>>> not
>>>>>> +            // the location. Although, it still works in the 
>>>>>> current
>>>>>> state.
>>>>>> +            codebase = 
>>>>>> file.getResources().getMainJAR().getLocation();
>>>>>> +        }
>>>>>> +        return codebase;
>>>>>> +    }
>>>>>>
>>>>>>        /***
>>>>>>        * Checks for the jar that contains the attribute.
>>>>>> @@ -762,13 +780,12 @@ public class JNLPClassLoader extends URL
>>>>>>        * @param  name attribute to be found
>>>>>>        */
>>>>>>       public String checkForAttributeInJars(List jars,
>>>>>> Attributes.Name name) {
>>>>>> -
>>>>>>           if (jars.isEmpty()) {
>>>>>>               return null;
>>>>>>           }
>>>>>>
>>>>>>           String result = null;
>>>>>> -
>>>>>> +
>>>>>>           // Check main jar
>>>>>>           JARDesc mainJarDesc = ResourcesDesc.getMainJAR(jars);
>>>>>>           result = 
>>>>>> getManifestAttribute(mainJarDesc.getLocation(), name);
>>>>>> @@ -776,7 +793,7 @@ public class JNLPClassLoader extends URL
>>>>>>           if (result != null) {
>>>>>>               return result;
>>>>>>           }
>>>>>> -
>>>>>> +
>>>>>>           // Check first jar
>>>>>>           JARDesc firstJarDesc = jars.get(0);
>>>>>>           result = 
>>>>>> getManifestAttribute(firstJarDesc.getLocation(),name);
>>>>>> @@ -2380,12 +2397,15 @@ public class JNLPClassLoader extends URL
>>>>>>           }
>>>>>>
>>>>>>           public void setRunInSandbox() throws LaunchException {
>>>>>> -            if (promptedForSandbox || classLoader.security != null
>>>>>> -                    || classLoader.jarLocationSecurityMap.size() 
>>>>>> != 0) {
>>>>>> +            if (runInSandbox && classLoader.security != null
>>>>>> +                    && classLoader.jarLocationSecurityMap.size() 
>>>>>> != 0) {
>>>>>
>>>>> Why have this condition changed in thisway? I would expect
>>>>> promptedForSandbox || runInSandbox || classLoader.security != null 
>>>>> && ...
>>>>
>>>> The ClassLoader can end up attempting to automatically set the 
>>>> applet to run in sandbox multiple
>>>> times, so that condition would cause it to fail in this situation. 
>>>> The condition was very strong
>>>> before on purpose because it was easily possible for the security 
>>>> settings to have already been
>>>> applied before the sandboxing option appeared to the user. Now, the 
>>>> sandboxing dialog appears well
>>>> beforehand, and automatic sandboxing also happens early enough, so 
>>>> this condition has to be slightly
>>>> weakened so that it does allow the call to be performed multiple 
>>>> times, but only if the security
>>>> settings have not yet been applied to the classloader/applet. I 
>>>> haven't tested this but this
>>>> condition should also work fine:
>>>
>>>
>>> /me consuimg this and hoping /me understand well
>>> %-~
>>>
>>>>
>>>> runInSandbox && (classLoader.security != null || 
>>>> jarLocationSecurityMap.size() != 0)
>>>>
>>>> The classLoader.security and jarLocationSecurityMap conditions 
>>>> should really always be "in sync"
>>>> with each other in this regard though.
>>> hmmh.
>>>
>>>>
>>>>>
>>>>>>                   throw new LaunchException(classLoader.file, null,
>>>
>>>>> +Permissions: sandbox
>>>>>
>>>>>
>>>>> Do we  have/need also one with  Permissions: all-permissions ? I 
>>>>> recall
>>>>> there is something...
>>>>
>>>> I don't think so, but maybe there is. I couldn't find anything with 
>>>> a quick grep.
>>>>
>>> ...in progress s I guess
>>>>>
>>> ..
>>>>>
>>>>>
>>>>> Why do you need custom reproducers? The manifest is handled by engine
>>>>
>>>> Ah, I forgot about this. Although a custom reproducer would still 
>>>> be needed for the mixed signing
>>>> case, so I can convert this one to mixed and make normal "simple" 
>>>> and "signed" ones as well I
>>>> suppose.
>>>>
>>>
>>> good!
>>> ...snip...
>>>>> +        assertTrue("Applet should have printed its exit string",
>>>>> pr.stdout.contains(CLOSE_STRING));
>>>>> +    }
>>>>> +}
>>>>>
>>>>> As this test is already known to fail, it can go (after manifest is
>>>>> resolved)  in as independent changeset.
>>>>>
>>>>>
>>>
>>> Well  except the issue with low security (and few more expalnationa) 
>>> I'm ashamed to not have muc
>>> more comments :(
>>>
>>>
>>> J.
>>>
>>
>> Latest version of the patch is attached. initializePermissions was 
>> renamed, the comment hunks were
>> removed and done in a separate changeset, and all manifest checks are 
>> skipped when on low security
>> with a WARNING_ALL level message logged. Otherwise, no changes from 
>> the last patch.
>>
>
> No no. THis is not what I wonted.
>
> As you mentioned - the signed, but with permissions:sandbox app can 
> not be run with all permissions.
> So skip all attrributes, except permissions one
>
> The sandbox one should be checked:
> signed: permissions:all-permissions - all permissions
> unsigned: permissions:all-permissions - sandbox
> unsigned: permissions:sandbox - sandbox
> signed: permissions:sandbox - sandbox
> signed: permissions missing - all permissions
> unsigned: permissions missing - sandbox
>
> On low permissions, no asking.
>
> For other then low permissions user should be asked for each except
> signed: permissions:all-permissions
> unsigned: permissions:sandbox
> cases.
>
> But the dialogue can be done as separate changeset (with 
> custom-permissions button:)
>
>
>
>> New tests are also on the way and with the new tests will come the 
>> fixed version of the previously
>> sent test, which will make be a signed reproducer rather than custom.
>>
>
> J.
>

Okay, I wasn't sure what you had meant. It didn't seem right to skip 
them all but I thought maybe you had something else in mind to implement 
to fix it. So here's another attempt.

Setting deployment.manifest.attributes.check to false causes all checks 
to be skipped, except for the Permissions attribute, which is always 
checked regardless. Using Low Extended Applet Security causes the ALACA 
and Permissions checks to not generate dialogs and assumes that it's OK 
to run the applet(s). In the case of the Permissions attribute, it will 
still auto sandbox if necessary. Is this what you wanted?

Thanks,

-- 
Andrew A

-------------- next part --------------
A non-text attachment was scrubbed...
Name: pr1769-6.patch
Type: text/x-patch
Size: 17339 bytes
Desc: not available
URL: 

From bugzilla-daemon at icedtea.classpath.org  Tue Jun 24 16:11:41 2014
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Tue, 24 Jun 2014 16:11:41 +0000
Subject: [Bug 1791] PPAPI (pepper) version
In-Reply-To: 
References: 
Message-ID: 

http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1791

Javier Domingo Cansino  changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P5                          |P3
           Severity|enhancement                 |major

--- Comment #1 from Javier Domingo Cansino  ---
I have tracked down to this bug, which seems to be the source of java applets
not working on chromium.

Is any update on this bug?

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 

From gitne at gmx.de  Tue Jun 24 16:27:05 2014
From: gitne at gmx.de (Jacob Wisor)
Date: Tue, 24 Jun 2014 18:27:05 +0200
Subject: [rfc][icedtea-web] Add new PL localized messages
In-Reply-To: <53A97145.3070609@redhat.com>
References: <53A421C8.4010302@gmx.de> <53A84C6B.50901@redhat.com>
	<53A97145.3070609@redhat.com>
Message-ID: <53A9A6D9.6040702@gmx.de>

On 06/24/2014 02:38 PM, Jiri Vanek wrote:
> On 06/23/2014 05:48 PM, Jiri Vanek wrote:
>> On 06/20/2014 01:58 PM, Jacob Wisor wrote:
>>> Hello there!
>>>
>>> Sorry for delaying this for so long, but it's finally here.
>>>
>>> As always, the comments in Messages_pl.properties are for your convenience
>>> during review only and
>>> will get removed before push into repo.
>>>
>>> Thank you for reviewing
>>>
>>> Jacob
>>
>>
>> Hi!
>>
>> Attached are results of the testruns.
>>
>>  From quick glance I have no objections against messages as they are.
>>
>> Feel free to fix+push. discus/fix/push, discus/push  ir just push how time
>> permits you.
>>
>> J.
>>
>> //hmmm the files are somehow strange, I hope you will be able to read them :(
>
> Here are fixed and cleaned files.
> The files which are redundant in 1.5 can be skipped (but well can be safely
> deleted)
> Other errors should be fixed for head and 1.5.

Although these test result files are difficult to read, my overall impression is 
that for the most part everything is okay. The errors that are reported for head 
are due to even newer additional messages. My intention so far has been to only 
get localization up to date with 1.5 (as initially requested). So, the proposed 
PL patch seems to be up to the task and does not require any technical fix 
(please feel free to correct me if I am wrong).

As a side note: The overall quality and usefulness of the test could be 
increased by making the results (warnings/errors) more legible (comprehensible) 
and by only doing comparison tests regarding default (EN) vs non-default 
languages. DE vs CS or PL vs DE tests bear little or no useful information at 
all, or are even rather counter productive because the produced results only 
cause confusion.
The test should check mainly only for (1) completeness, that is whether all 
messages in the default language have /existing/ equivalents in every 
non-default language, and for (2) inequality of message values for the same 
message (assuming unequal message values as having been localized). There also 
may be a third test for (3) pruned messages where no messages exist for the 
default language but "orphan" messages exist for the non-default language.

Such simple tests with readable results would greatly ease the task of keeping 
track of new, forgotten, overlooked, or pruned messages.

Jacob

From bugzilla-daemon at icedtea.classpath.org  Tue Jun 24 17:00:20 2014
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Tue, 24 Jun 2014 17:00:20 +0000
Subject: [Bug 1791] PPAPI (pepper) version
In-Reply-To: 
References: 
Message-ID: 

http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1791

Andrew Azores  changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |aazores at redhat.com

--- Comment #2 from Andrew Azores  ---
Yes, this is indeed the cause for Java applets no longer working in
Chrome/Chromium - Google has removed the plugin API which IcedTea-Web uses. We
haven't yet determined if it is even possible to create a port of IcedTea-Web
to PPAPI, due to the sandboxing and other restrictions Google places on
extensions built with Pepper/Native Client.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 

From aazores at redhat.com  Tue Jun 24 18:25:23 2014
From: aazores at redhat.com (Andrew Azores)
Date: Tue, 24 Jun 2014 14:25:23 -0400
Subject: /hg/icedtea-web: PolicyEditor persists empty non-default
	codebas...
In-Reply-To: <53A06167.3060504@redhat.com>
References: 
	<53A06167.3060504@redhat.com>
Message-ID: <53A9C293.5030108@redhat.com>

On 06/17/2014 11:40 AM, Andrew Azores wrote:
> On 06/03/2014 05:03 PM, aazores at icedtea.classpath.org wrote:
>> changeset f02ad0ae6d86 in /hg/icedtea-web
>> details: 
>> http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=f02ad0ae6d86
>> author: Andrew Azores 
>> date: Tue Jun 03 17:02:56 2014 -0400
>>
>>     PolicyEditor persists empty non-default codebase entries
>>
>>     2014-06-03  Andrew Azores  
>>
>>         PolicyEditor persists empty non-default codebase entries
>>         * 
>> netx/net/sourceforge/jnlp/security/policyeditor/PolicyEntry.java
>>         (toString): return empty string only if the codebase both has no
>>         permissions assigned and is also the default "All Applets" 
>> codebase
>>         * 
>> netx/net/sourceforge/jnlp/security/policyeditor/PolicyFileModel.java
>>         (savePolicyFile): release fileLock with try/finally
>>
>>
>> diffstat:
>>
>> ChangeLog |   9 ++
>> netx/net/sourceforge/jnlp/security/policyeditor/PolicyEntry.java |   
>> 4 +-
>> netx/net/sourceforge/jnlp/security/policyeditor/PolicyFileModel.java 
>> |  31 ++++++---
>>   3 files changed, 32 insertions(+), 12 deletions(-)
>>
>> diffs (75 lines):
>>
>> diff -r 8ddd8d86855c -r f02ad0ae6d86 ChangeLog
>> --- a/ChangeLog    Tue Jun 03 14:25:41 2014 -0400
>> +++ b/ChangeLog    Tue Jun 03 17:02:56 2014 -0400
>> @@ -1,3 +1,12 @@
>> +2014-06-03  Andrew Azores  
>> +
>> +    PolicyEditor persists empty non-default codebase entries
>> +    * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEntry.java
>> +    (toString): return empty string only if the codebase both has no
>> +    permissions assigned and is also the default "All Applets" codebase
>> +    * 
>> netx/net/sourceforge/jnlp/security/policyeditor/PolicyFileModel.java
>> +    (savePolicyFile): release fileLock with try/finally
>> +
>>   2014-06-03  Lukasz Dracz  
>>         This test expects a Null pointer exception however does not
>> diff -r 8ddd8d86855c -r f02ad0ae6d86 
>> netx/net/sourceforge/jnlp/security/policyeditor/PolicyEntry.java
>> --- 
>> a/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEntry.java 
>> Tue Jun 03 14:25:41 2014 -0400
>> +++ 
>> b/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEntry.java 
>> Tue Jun 03 17:02:56 2014 -0400
>> @@ -69,7 +69,9 @@
>>         @Override
>>       public String toString() {
>> -        if (permissions.isEmpty() && customPermissions.isEmpty()) {
>> +        // Empty codebase is the default "All Applets" codebase. If 
>> there are no permissions
>> +        // applied to it, then don't bother recording it in the 
>> policy file.
>> +        if (codebase.isEmpty() && permissions.isEmpty() && 
>> customPermissions.isEmpty()) {
>>               return "";
>>           }
>>           final String newline = System.getProperty("line.separator");
>> diff -r 8ddd8d86855c -r f02ad0ae6d86 
>> netx/net/sourceforge/jnlp/security/policyeditor/PolicyFileModel.java
>> --- 
>> a/netx/net/sourceforge/jnlp/security/policyeditor/PolicyFileModel.java Tue 
>> Jun 03 14:25:41 2014 -0400
>> +++ 
>> b/netx/net/sourceforge/jnlp/security/policyeditor/PolicyFileModel.java Tue 
>> Jun 03 17:02:56 2014 -0400
>> @@ -169,21 +169,30 @@
>>           final String currentDate = new SimpleDateFormat("yyyy-MM-dd 
>> HH:mm:ss").format(Calendar.getInstance().getTime());
>>           sb.append("\n/* Generated by PolicyEditor at 
>> ").append(currentDate).append(" */");
>>           sb.append(System.getProperty("line.separator"));
>> -        final Set enabledPermissions = new 
>> HashSet<>();
>> -        FileLock fileLock = 
>> FileUtils.getFileLock(file.getAbsolutePath(), false, true);
>> -        for (final String codebase : codebasePermissionsMap.keySet()) {
>> -            enabledPermissions.clear();
>> -            for (final Map.Entry 
>> entry : codebasePermissionsMap.get(codebase).entrySet()) {
>> -                if (entry.getValue()) {
>> -                    enabledPermissions.add(entry.getKey());
>> +        FileLock fileLock = null;
>> +        try {
>> +            fileLock = FileUtils.getFileLock(file.getAbsolutePath(), 
>> false, true);
>> +            final Set enabledPermissions = 
>> new HashSet<>();
>> +            for (final String codebase : 
>> codebasePermissionsMap.keySet()) {
>> +                enabledPermissions.clear();
>> +                for (final Map.Entry> Boolean> entry : codebasePermissionsMap.get(codebase).entrySet()) {
>> +                    if (entry.getValue()) {
>> +                        enabledPermissions.add(entry.getKey());
>> +                    }
>>                   }
>> +                sb.append(new PolicyEntry(codebase, 
>> enabledPermissions, customPermissionsMap.get(codebase)).toString());
>>               }
>> -            sb.append(new PolicyEntry(codebase, enabledPermissions, 
>> customPermissionsMap.get(codebase)).toString());
>> -        }
>> -        try {
>> -            fileLock.release();
>>           } catch (final IOException e) {
>>               OutputController.getLogger().log(e);
>> +        } finally {
>> +            if (fileLock != null) {
>> +                try {
>> +                    fileLock.release();
>> +                } catch (final IOException e) {
>> +                    OutputController.getLogger().log(e);
>> +                }
>> +
>> +            }
>>           }
>>             FileUtils.saveFile(sb.toString(), file);
>
> Proposing to backport this for 1.5.1.
>
> Thanks,
>

Ping.

Thanks,

-- 
Andrew A


From aazores at redhat.com  Tue Jun 24 19:08:47 2014
From: aazores at redhat.com (Andrew Azores)
Date: Tue, 24 Jun 2014 15:08:47 -0400
Subject: [rfc][icedtea-web][policyeditor] Invoking runnables on EDT
Message-ID: <53A9CCBF.7080800@redhat.com>

Hi,

PolicyEditor has a few odd cases with window resizing and with "changes 
made" being marked as true when the editor is opened without any 
arguments. Both of these cases arise because although the EDT is the 
current thread when these actions are taken, they are (for safety, in 
case they are invoked by a non-EDT thread) wrapped in a 
SwingUtilities.invokeLater call. In the case of "changes made", this 
leads to addNewCodebase("") (adding the default all-applets codebase) 
marking "changes made" as true when the PolicyEditor is instantiated, 
even though the constructor has setChangesMade(false) immediately after 
the addNewCodebase call. This happens because the addNewCodebase() call 
updates the UI and so its main functionality is within an invokeLater - 
including the setChangesMade(true) call. Although a simple fix would be 
to pull the setChangesMade out of the invokeLater block, this would mean 
that the editor could potentially report changes made before the UI 
updates, which I'd like to avoid. Another solution would be to also wrap 
the setChangesMade(false) in the constructor in yet another invokeLater, 
but this is messy, and as this doesn't touch any UI elements it's also 
unnecessary. And another solution, which this patch implements, is to 
use a helper method, here called invokeRunnableOrEnqueueLater, which 
replaces SwingUtilities.invokeLater in the PolicyEditor. If the current 
thread is already the EDT then it calls Runnable#run() directly on its 
sole parameter. If the current thread is not the EDT then the runnable 
argument is passed along to SwingUtilities.invokeLater to be enqueued 
and processed as usual.

A similar technique was used for 
updateCheckboxes/updateCheckboxesInvokeAndWait/updateCheckboxesImpl, 
although in that case it was SwingUtilities.invokeAndWait rather than 
invokeLater. These have been slightly refactored to go along with the 
new method.

Thanks,

-- 
Andrew A

-------------- next part --------------
A non-text attachment was scrubbed...
Name: policyeditor-invoke-runnable-edt.patch
Type: text/x-patch
Size: 6162 bytes
Desc: not available
URL: 

From aazores at redhat.com  Tue Jun 24 19:12:17 2014
From: aazores at redhat.com (Andrew Azores)
Date: Tue, 24 Jun 2014 15:12:17 -0400
Subject: [rfc][icedtea-web][policyeditor] Parent-window searching fix
Message-ID: <53A9CD91.1090509@redhat.com>

Hi,

I came across this hunk while working on another patch and thought it 
deserved a bit of cleanup. Rather than manually searching for the first 
parent component which is a Window by looping and checking the parent's 
type, a SwingUtilities utility method is simply used instead. If the 
Javadoc on this method is to be trusted then the semantics are 
identical, and it seems to work fine anyway.

Thanks,

-- 
Andrew A

-------------- next part --------------
A non-text attachment was scrubbed...
Name: policyeditor-window-ancestor.patch
Type: text/x-patch
Size: 1449 bytes
Desc: not available
URL: 

From omajid at redhat.com  Tue Jun 24 19:20:42 2014
From: omajid at redhat.com (Omair Majid)
Date: Tue, 24 Jun 2014 15:20:42 -0400
Subject: [rfc][icedtea-web][policyeditor] Parent-window searching fix
In-Reply-To: <53A9CD91.1090509@redhat.com>
References: <53A9CD91.1090509@redhat.com>
Message-ID: <20140624192041.GD11390@redhat.com>

* Andrew Azores  [2014-06-24 15:13]:
> If the Javadoc on this method is to be trusted then the semantics are
> identical, and it seems to work fine anyway.

Use the source :)

It looks exactly the same.

> -                            if (c == null) {
> -                                return;
> -                            }

> +                        final Window w = SwingUtilities.getWindowAncestor(PolicyEditor.this);

Just one nit: if the parent is null, the previous code returned without
doing anything. getWindowAncestor can also return null, which we should
handle identically.

Thanks,
Omair

-- 
PGP Key: 66484681 (http://pgp.mit.edu/)
Fingerprint = F072 555B 0A17 3957 4E95  0056 F286 F14F 6648 4681

From bugzilla-daemon at icedtea.classpath.org  Tue Jun 24 21:48:13 2014
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Tue, 24 Jun 2014 21:48:13 +0000
Subject: [Bug 1791] PPAPI (pepper) version
In-Reply-To: 
References: 
Message-ID: 

http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1791

Mattias Eliasson  changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |mattias.eliasson at medsa.se

--- Comment #3 from Mattias Eliasson  ---
There are a relevant discussion about this here:
http://www.firebreath.org/display/documentation/Browser+Plugins+in+a+post-NPAPI+world

The short answer are that there are no sufficient replacement for NPAPI in
Chrome. Chromium are open source so it could potentially be modified.

Currently my brightest idea are to use DLL injection and override the entire
engine component with something similar to Chrome Frame. If we simply run
another browser engine, such as a modified Chromium engine with NPAPI-support,
that might work. Or an engine that do not require any hacking such as Qt WebKit
which supports NPAPI plugins out of the box. 

Another option would be to make a completely Chrome-compatible browser out of
Chromium, which are what the Qt WebEngine are all about. Such a browser could
be entirely FOSS and shipped with Linux distributions. A mayor problem would be
the Flash plugin which may require that Chrome are also installed. As a system
admin I would like to avoid installing Chrome in such a scenario, or at least
hide it well.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 

From mattias.eliasson at medsa.se  Wed Jun 25 01:37:30 2014
From: mattias.eliasson at medsa.se (Mattias Eliasson)
Date: Wed, 25 Jun 2014 03:37:30 +0200
Subject: IcedTea-Web and FireBreath Plugin API
In-Reply-To: <53A30142.7070408@redhat.com>
References: <5398F846.4060104@medsa.se> <5399B712.6070009@redhat.com>
	<53A30007.2070703@medsa.se> <53A30142.7070408@redhat.com>
Message-ID: <53AA27DA.50605@medsa.se>

2014-06-19 17:26, Andrew Azores skrev:
> On 06/19/2014 11:21 AM, Mattias Eliasson wrote:
>> Hi,
>>
>> I also would suggest making a generic java libraries for making Java plugins, for example a JFireBreath API if you chose to use FireBreath as a base. Also it would be useful to design such a library so that plugins can be hosted by Java-based browsers. Javafx WebEngine for example do not support plugins currently, and extending it to support NPAPI would bring to many layers where things can go wrong. Making a clean separation of the NPAPI part of icedtea-web and the Java part would allow for WebEngine and other Java browsers to host Applets without involving a native layer.
>>
>> Generically I can see that IcedTea-web contains a lot of code that would be better of if its made into separate libraries. For example sandboxing are surely interesting in other projects. I found a sandboxing library but it seams to be dead.
>>
>> 2014-06-12 16:20, Andrew Azores skrev:
>>> On 06/11/2014 08:45 PM, Mattias Eliasson wrote:
>>>> Hi,
>>>>
>>>> As IcedTea-web have a architectural simplification task I am curious if you have looked at the FireBreath plugin API? It seams to provide nice high level C++ API for both NPAPI and IE ActiveX. That should help reduce IcedTea-Web code a lot since NPAPI are quite chatty and hopefully make it easier to squash remaining NPAPI-related bugs.
>>>
>>> I haven't looked into this myself before, but it looks interesting. We'll see what others think about the idea and perhaps look into porting over. Thanks for proposing it.
>>>
>>> Thanks,
>>>
>>
>
> (CC'ing the distro-pkg-dev list)
>
> The sandboxing in IcedTea-Web is mostly just a wrapper around the sandboxing provided by the JVM itself. All IcedTea-Web does with it is use this "primitive" to create a sandboxing context for applets in particular. In all honesty, this context really boils down to a Map and a bunch of Java-applet-specific logic on deciding how to populate this map.
>
> As for the FireBreath API stuff... I can't really comment on it. I just don't know enough about browser plugin development in particular. What you're proposing sounds to me like it would be adding extra APIs that IcedTea-Web would expose without a mirror in the proprietary plugin, however, which would severely limit the user base I'd think.
>
> Thanks,
>
I consider the Java sandboxing API to be quite chatty which makes it a candidate for a lib, but that's really a side-issue here.

I have done a lot of research on browser plugin development for a number of reasons. Java plugins (both proprietary and FOSS) are notoriously unstable. The Flash plugin are a bit more stable but they also have a lot more resources allocated to this. The proprietary plugin are as far as I know based on NPAPI and the ActiveX API for IE. Using FireBreath would simply be a replacement of both with something that provides a similar API but both have the advantage of being a multi-API abstraction layer and provide a clean high-level C++ interface. Both NPAPI and ActiveX are quite chatty API:s which are my main point here. Using FireBreath would remove a lot of boilerplate code from IcedTea-Web that are not specific to this plugin, but needed in most plugins.

Another argument are that NPAPI are being phased out. Chrome have dropped it, Firefox are planning to and Flash have dropped it at least for Linux. It's a bit unclear how to migrate 3:d party plugins to a post-NPAPI world, but my point are that such a migration should concern a shared component such as FireBreath and not individual plugins such as IcedTea-Web.

And finally as long as NPAPI are still around there are a lot of problems around it. It's chatty and complex, and if that ain't enough there are a lot of difference between browser implementation. I know that both the proprietary and the open plugin have had their fair share of problems with this. So have have the FireBreath developers. Assuming that a lot of those problems are not specific to Java Applets, it makes sense to share the burden of figuring them out with other projects. This are true for most abstraction layers, but as NPAPI are quite notorious it becomes a more central issue then it otherwise would be.

From jvanek at redhat.com  Wed Jun 25 09:59:04 2014
From: jvanek at redhat.com (Jiri Vanek)
Date: Wed, 25 Jun 2014 11:59:04 +0200
Subject: [rfc][icedtea-web] Add new PL localized messages
In-Reply-To: <53A9A6D9.6040702@gmx.de>
References: <53A421C8.4010302@gmx.de> <53A84C6B.50901@redhat.com>
	<53A97145.3070609@redhat.com> <53A9A6D9.6040702@gmx.de>
Message-ID: <53AA9D68.8000208@redhat.com>

On 06/24/2014 06:27 PM, Jacob Wisor wrote:
> On 06/24/2014 02:38 PM, Jiri Vanek wrote:
>> On 06/23/2014 05:48 PM, Jiri Vanek wrote:
>>> On 06/20/2014 01:58 PM, Jacob Wisor wrote:
>>>> Hello there!
>>>>
>>>> Sorry for delaying this for so long, but it's finally here.
>>>>
>>>> As always, the comments in Messages_pl.properties are for your convenience
>>>> during review only and
>>>> will get removed before push into repo.
>>>>
>>>> Thank you for reviewing
>>>>
>>>> Jacob
>>>
>>>
>>> Hi!
>>>
>>> Attached are results of the testruns.
>>>
>>>  From quick glance I have no objections against messages as they are.
>>>
>>> Feel free to fix+push. discus/fix/push, discus/push  ir just push how time
>>> permits you.
>>>
>>> J.
>>>
>>> //hmmm the files are somehow strange, I hope you will be able to read them :(
>>
>> Here are fixed and cleaned files.
>> The files which are redundant in 1.5 can be skipped (but well can be safely
>> deleted)
>> Other errors should be fixed for head and 1.5.

Hi!

yes, I'm aware of this.  Feel free to keep it up-to-date for 1.5 state.

Well - repeating myself - I'm not forcing (not even "forcing" or whatever)  you to fix any of the 
errors/warnings.  I'm *really* *really* graceful you provided  those translations and they are good 
as they are. Anybody (Me..) can make some cleanup(removal of redundant lines) on my own later, when 
those are pushed.
>
> Although these test result files are difficult to read, my overall impression is that for the most
> part everything is okay. The errors that are reported for head are due to even newer additional
> messages. My intention so far has been to only get localization up to date with 1.5 (as initially
> requested). So, the proposed PL patch seems to be up to the task and does not require any technical
> fix (please feel free to correct me if I am wrong).

Yes, sorry. I would clean them up for you, but I'm little bit overlaoded too this times:(
>
> As a side note: The overall quality and usefulness of the test could be increased by making the
> results (warnings/errors) more legible (comprehensible) and by only doing comparison tests regarding
> default (EN) vs non-default languages. DE vs CS or PL vs DE tests bear little or no useful
> information at all, or are even rather counter productive because the produced results only cause
> confusion.


> The test should check mainly only for (1) completeness, that is whether all messages in the default
> language have /existing/ equivalents in every non-default language, and for (2) inequality of
> message values for the same message (assuming unequal message values as having been localized).
> There also may be a third test for (3) pruned messages where no messages exist for the default
> language but "orphan" messages exist for the non-default language.
>
> Such simple tests with readable results would greatly ease the task of keeping track of new,
> forgotten, overlooked, or pruned messages.

Most of the tests in this group is comparing only against the main.
The one who doeas all x all, was initially for something  a bit different then is now. The attached 
patch is fixing it.

The patch for 1.5 is much more readable. (as do the same except cosmetic changes)


Thank you!


J.



hmm. Looking to the patch just before the send-click. The NB did the refactoring of the loop, so the 
logical change is not visible.

It is:

-        bundles.add(main);
...
- for (int j = 0; j < bundles.size(); j++) {
-                LocalesIdentifier resourceBundle2 = bundles.get(j);
-                if (resourceBundle1.getLanguage().equals(resourceBundle2.getLanguage())) {
-                    //do not compare same language groups
-                    allLog("Skipping same language " + resourceBundle1.getLocale() + " x " + 
resourceBundle2.getLocale() + " (should be " + resourceBundle1.getIdentifier() + " x " + 
resourceBundle2.getIdentifier() + ")");
-                    break;
-                }
+            LocalesIdentifier resourceBundle2 = main;

only. The rest re foeach loops, diamonds and the unlucky reformanting which NB did, but They are 
closed now And I can not do undo :(

One aditional logic change is

+                if (val1.length() > 1000) {
+                    errLog("Skipping chek of: " + key + " too long. (" + val1.length() + ")");
+                    continue;
                  }

This get rid of the 12k long help line (which no one will ever translate :) )

Attached are also results of those two test runs for 1.5 and head.

Again, thank you very very much, feel free to use the results as informative only.


Any changes to pl/de ( as it is now, or possible celaning) is ok to go to head+1.5


-------------- next part --------------
A non-text attachment was scrubbed...
Name: improvedLoalesTest.patch
Type: text/x-patch
Size: 12251 bytes
Desc: not available
URL: 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: improvedLoalesTest-1.5.patch
Type: text/x-patch
Size: 2529 bytes
Desc: not available
URL: 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PL+DE-1.5
Type: application/x-troff-man
Size: 12846 bytes
Desc: not available
URL: 
-------------- next part --------------
Testsuite: net.sourceforge.jnlp.resources.MessagesPropertiesTest
Checking for redundant keys in cs (should be cs) compared with default
Error! There is value for cs, key APPEXTSECguiTableModelTableColumnAction, but for default is missing
1 findKeysWhichAreInLocalisedButNotInDefault errors for cs
Checking for redundant keys in de (should be de) compared with default
Error! There is value for de, key STempPrintOnly, but for default is missing
Error! There is value for de, key STempAllFileAndPropertyAccess, but for default is missing
Error! There is value for de, key STempPermNoFile, but for default is missing
Error! There is value for de, key STempSoundOnly, but for default is missing
Error! There is value for de, key STempReflectionOnly, but for default is missing
Error! There is value for de, key STempNoFileOrExec, but for default is missing
Error! There is value for de, key STempPermNoNetwork, but for default is missing
Error! There is value for de, key STempNoFileOrNetworkOrExec, but for default is missing
Error! There is value for de, key SAppletTitle, but for default is missing
Error! There is value for de, key APPEXTSECguiTableModelTableColumnAction, but for default is missing
Error! There is value for de, key STempReadLocalFilesAndProperties, but for default is missing
Error! There is value for de, key STempNoExecOrNetwork, but for default is missing
Error! There is value for de, key STempPermNoExec, but for default is missing
Error! There is value for de, key STempNoFileOrNetwork, but for default is missing
Error! There is value for de, key STempClipboardOnly, but for default is missing
15 findKeysWhichAreInLocalisedButNotInDefault errors for de
Checking for redundant keys in pl (should be pl) compared with default
Error! There is value for pl, key STempPrintOnly, but for default is missing
Error! There is value for pl, key STempAllFileAndPropertyAccess, but for default is missing
Error! There is value for pl, key STempPermNoFile, but for default is missing
Error! There is value for pl, key STempSoundOnly, but for default is missing
Error! There is value for pl, key STempReflectionOnly, but for default is missing
Error! There is value for pl, key STempNoFileOrExec, but for default is missing
Error! There is value for pl, key STempPermNoNetwork, but for default is missing
Error! There is value for pl, key STempNoFileOrNetworkOrExec, but for default is missing
Error! There is value for pl, key SAppletTitle, but for default is missing
Error! There is value for pl, key APPEXTSECguiTableModelTableColumnAction, but for default is missing
Error! There is value for pl, key STempReadLocalFilesAndProperties, but for default is missing
Error! There is value for pl, key STempNoExecOrNetwork, but for default is missing
Error! There is value for pl, key STempPermNoExec, but for default is missing
Error! There is value for pl, key STempNoFileOrNetwork, but for default is missing
Error! There is value for pl, key STempClipboardOnly, but for default is missing
15 findKeysWhichAreInLocalisedButNotInDefault errors for pl
Checking for missing  strings in cs (should be cs) compared with default
0 warnForNotLocalisedStrings errors for cs
Checking for missing  strings in de (should be de) compared with default
0 warnForNotLocalisedStrings errors for de
Checking for missing  strings in pl (should be pl) compared with default
0 warnForNotLocalisedStrings errors for pl
Checking for empty items in   (should be default)
0 noEmptyResources errors for default
Checking for empty items in cs  (should be cs)
0 noEmptyResources errors for cs
Checking for empty items in de  (should be de)
0 noEmptyResources errors for de
Checking for empty items in pl  (should be pl)
0 noEmptyResources errors for pl
Checking for same items between cs x unknown_so_default_UNKNOWN_SO_DEFAULT (should be cs x default)
Warning! Items equals for: AboutDialogueTabGPLv2 = GPLv2 but are in allowed subset
Warning! Items equals for: COPstdOut = std. out but are in allowed subset
Warning! Items equals for: ButOk = OK but are in allowed subset
Warning! Items equals for: PEViewMenuMnemonic = 73 but are in allowed subset
Warning! Items equals for: PEReflection = Java Reflection but are in allowed subset
Warning! Items equals for: PEOkButtonMnemonic = 65 but are in allowed subset
Warning! Items equals for: PEOpenMenuItemMnemonic = 79 but are in allowed subset
Warning! Items equals for: APPEXTSEChelpHomeDialogue = Dialogue but are in allowed subset
Warning! Items equals for: PEExitMenuItemMnemonic = 88 but are in allowed subset
Warning! Items equals for: PESaveMenuItemMnemonic = 83 but are in allowed subset
Warning! Items equals for: APSLabelFTP = FTP but are in allowed subset
Warning! Items equals for: APPEXTSECguiPanelAppletInfoHederPart1 = {0} {1} but are in allowed subset
Warning! Items equals for: PEAddCodebaseMnemonic = 78 but are in allowed subset
Warning! Items equals for: APSLabelSocks = Socks but are in allowed subset
Warning! Items equals for: SPLASHurlLooks = http://icedtea.classpath.org/wiki/IcedTea-Web but are in allowed subset
Warning! Items equals for: COPjava = java but are in allowed subset
Warning! Items equals for: SPLASHurl = http://icedtea.classpath.org/wiki/IcedTea-Web#Filing_bugs but are in allowed subset
Warning! Items equals for: PETitle = Policy Editor but are in allowed subset
Warning! Items equals for: PEFileMenuMnemonic = 70 but are in allowed subset
Warning! Items equals for: PECustomPermissionsItemMnemonic = 85 but are in allowed subset
Warning! Items equals for: PECancelButtonMnemonic = 67 but are in allowed subset
Warning! Items equals for: COPstdErr = std. err but are in allowed subset
Warning! Items equals for: PESaveAsMenuItemMnemonic = 65 but are in allowed subset
Warning! Items equals for: COPitw = IcedTea-Web but are in allowed subset
Warning! Items equals for: APSLabelHTTP = HTTP but are in allowed subset
Warning! Items equals for: PERemoveCodebaseMnemonic = 82 but are in allowed subset
Warning! Items equals for: NSPort = Port but are in allowed subset
Error! Items equals for: PERenameCodebaseItem = Rename codebase
Error! Items equals for: APPEXTSECguiTableModelTableColumnActionMatchALACA = Library Action
Error! Items equals for: PEAccessThreads = Modify threads
Error! Items equals for: PEPasteCodebaseItem = Paste codebase
Error! Items equals for: PEAccessThreadGroupsDetail = Allow applets to start, stop, and otherwise manage thread groups
Error! Items equals for: PECopyCodebaseItem = Copy codebase
Skipping chek of: APPEXTSEChelp too long. (12470)
Error! Items equals for: PEFileMissing = The policy file was missing from disk. A new file has been saved with the same name.
Error! Items equals for: APPEXTSECguiTableModelTableColumnActionUA = Unsigned applet Action
Error! Items equals for: APPEXTSECunsetAppletAction = This applet has not yet asked for this action
Error! Items equals for: STempNetwork = Allow incoming and outgoing network connections
Error! Items equals for: STempAllMedia = All media (printing, audio, clipboard access)
Error! Items equals for: STempReflectionAndExternal = Java Reflection and external code access
Error! Items equals for: PERenameCodebase = Rename codebase to:
Warning! Items equals for: PEEditMenu = Edit but are in allowed subset
Error! Items equals for: PECopyCodebaseToClipboardItem = Copy codebase URL to clipboard
Error! Items equals for: PEAccessThreadsDetail = Allow applets to start, stop, and otherwise manage threads
Error! Items equals for: PEPasteCodebase = Paste copied codebase as:
Warning! Items equals for: PEEditMenuMnemonic = 69 but are in allowed subset
Error! Items equals for: PEAccessThreadGroups = Modify threadgroups
Error! Items equals for: STempWriteFilesAndProperties = Write-only access to all files and properties
Error! Items equals for: STempReadFilesAndProperties = Read-only access to all files and properties
19 errors allResourcesAreReallyDifferent fo cs x default
Checking for same items between de x unknown_so_default_UNKNOWN_SO_DEFAULT (should be de x default)
Warning! Items equals for: AboutDialogueTabGPLv2 = GPLv2 but are in allowed subset
Warning! Items equals for: ButOk = OK but are in allowed subset
Warning! Items equals for: LSFatal = Fatal but are in allowed subset
Warning! Items equals for: COPcode = Code but are in allowed subset
Warning! Items equals for: CVSystem = System but are in allowed subset
Warning! Items equals for: COPinfo = Info but are in allowed subset
Warning! Items equals for: CVDetails = Details but are in allowed subset
Warning! Items equals for: PEOpenMenuItemMnemonic = 79 but are in allowed subset
Warning! Items equals for: PEExitMenuItemMnemonic = 88 but are in allowed subset
Warning! Items equals for: PESaveMenuItemMnemonic = 83 but are in allowed subset
Warning! Items equals for: APSLabelFTP = FTP but are in allowed subset
Warning! Items equals for: APPEXTSECguiPanelAppletInfoHederPart1 = {0} {1} but are in allowed subset
Warning! Items equals for: PEAddCodebaseMnemonic = 78 but are in allowed subset
Warning! Items equals for: APSLabelSocks = Socks but are in allowed subset
Warning! Items equals for: SPLASHurlLooks = http://icedtea.classpath.org/wiki/IcedTea-Web but are in allowed subset
Warning! Items equals for: COPjava = Java but are in allowed subset
Warning! Items equals for: SPLASHurl = http://icedtea.classpath.org/wiki/IcedTea-Web#Filing_bugs but are in allowed subset
Warning! Items equals for: Version = Version but are in allowed subset
Warning! Items equals for: SPLASHhomepage = Homepage but are in allowed subset
Warning! Items equals for: CVCPColName = Name but are in allowed subset
Warning! Items equals for: COPitw = IcedTea-Web but are in allowed subset
Warning! Items equals for: APSLabelHTTP = HTTP but are in allowed subset
Warning! Items equals for: Name = Name but are in allowed subset
Error! Items equals for: PERenameCodebaseItem = Rename codebase
Error! Items equals for: APPEXTSECguiTableModelTableColumnActionMatchALACA = Library Action
Error! Items equals for: PEAccessThreads = Modify threads
Error! Items equals for: PEPasteCodebaseItem = Paste codebase
Error! Items equals for: PEAccessThreadGroupsDetail = Allow applets to start, stop, and otherwise manage thread groups
Error! Items equals for: PECopyCodebaseItem = Copy codebase
Skipping chek of: APPEXTSEChelp too long. (12470)
Error! Items equals for: PEFileMissing = The policy file was missing from disk. A new file has been saved with the same name.
Error! Items equals for: APPEXTSECguiTableModelTableColumnActionUA = Unsigned applet Action
Error! Items equals for: APPEXTSECunsetAppletAction = This applet has not yet asked for this action
Error! Items equals for: STempNetwork = Allow incoming and outgoing network connections
Error! Items equals for: STempReflectionAndExternal = Java Reflection and external code access
Error! Items equals for: PERenameCodebase = Rename codebase to:
Warning! Items equals for: PEEditMenu = Edit but are in allowed subset
Error! Items equals for: PECopyCodebaseToClipboardItem = Copy codebase URL to clipboard
Error! Items equals for: PEAccessThreadsDetail = Allow applets to start, stop, and otherwise manage threads
Error! Items equals for: PEPasteCodebase = Paste copied codebase as:
Warning! Items equals for: PEEditMenuMnemonic = 69 but are in allowed subset
Error! Items equals for: PEAccessThreadGroups = Modify threadgroups
Error! Items equals for: STempWriteFilesAndProperties = Write-only access to all files and properties
Error! Items equals for: STempReadFilesAndProperties = Read-only access to all files and properties
18 errors allResourcesAreReallyDifferent fo de x default
Checking for same items between pl x unknown_so_default_UNKNOWN_SO_DEFAULT (should be pl x default)
Warning! Items equals for: AboutDialogueTabGPLv2 = GPLv2 but are in allowed subset
Warning! Items equals for: ButOk = OK but are in allowed subset
Warning! Items equals for: CVSystem = System but are in allowed subset
Warning! Items equals for: COPinfo = Info but are in allowed subset
Warning! Items equals for: APSLabelFTP = FTP but are in allowed subset
Warning! Items equals for: APPEXTSECguiPanelAppletInfoHederPart1 = {0} {1} but are in allowed subset
Warning! Items equals for: APSLabelSocks = Socks but are in allowed subset
Warning! Items equals for: SPLASHurlLooks = http://icedtea.classpath.org/wiki/IcedTea-Web but are in allowed subset
Warning! Items equals for: COPdebug = Debug but are in allowed subset
Warning! Items equals for: COPjava = Java but are in allowed subset
Warning! Items equals for: SPLASHurl = http://icedtea.classpath.org/wiki/IcedTea-Web#Filing_bugs but are in allowed subset
Error! Items equals for: PECodebaseFlag = Specify (a) codebase URL(s) to add and/or focus in the editor
Warning! Items equals for: COPpostInit = post-init but are in allowed subset
Warning! Items equals for: APSLabelHTTP = HTTP but are in allowed subset
Warning! Items equals for: NSPort = Port but are in allowed subset
Error! Items equals for: APPEXTSECguiTableModelTableColumnActionMatchALACA = Library Action
Error! Items equals for: PEAccessThreads = Modify threads
Warning! Items equals for: PEViewMenuMnemonic = 73 but are in allowed subset
Error! Items equals for: PEAccessThreadGroupsDetail = Allow applets to start, stop, and otherwise manage thread groups
Warning! Items equals for: PEOkButtonMnemonic = 65 but are in allowed subset
Warning! Items equals for: CBCheckUnsignedFail = The application's codebase does NOT match the codebase specified in its manifest, but the application is unsigned. Continuing. See: http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/no_redeploy.html for details. but are in allowed subset
Warning! Items equals for: PEOpenMenuItemMnemonic = 79 but are in allowed subset
Warning! Items equals for: CBCheckOkSignedOk = Codebase matches codebase manifest attribute, and  application is signed. Continuing. See: http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/no_redeploy.html for details. but are in allowed subset
Skipping chek of: APPEXTSEChelp too long. (12470)
Error! Items equals for: PEFileMissing = The policy file was missing from disk. A new file has been saved with the same name.
Error! Items equals for: APPEXTSECguiTableModelTableColumnActionUA = Unsigned applet Action
Warning! Items equals for: CBCheckSignedFail = Application Codebase does NOT match the Codebase specified in the application's manifest, and this application is signed. You are strongly discouraged from running this application. See: http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/no_redeploy.html for details. but are in allowed subset
Error! Items equals for: APPEXTSECunsetAppletAction = This applet has not yet asked for this action
Error! Items equals for: STempNetwork = Allow incoming and outgoing network connections
Warning! Items equals for: PEExitMenuItemMnemonic = 88 but are in allowed subset
Warning! Items equals for: PESaveMenuItemMnemonic = 83 but are in allowed subset
Warning! Items equals for: PEAddCodebaseMnemonic = 78 but are in allowed subset
Warning! Items equals for: CBCheckFile = The application is a local file. Codebase validation is disabled. See: http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/no_redeploy.html for details. but are in allowed subset
Error! Items equals for: STempReflectionAndExternal = Java Reflection and external code access
Error! Items equals for: CVCPCleanCacheTip = Some errors may be caused by old files in your cache. Before submitting the bug, you may clear cache and try to run application again. \
 You can clear cache by javaws -Xclearcache or via itw-settings Cache -> View files -> Purge
Warning! Items equals for: PEFileMenuMnemonic = 70 but are in allowed subset
Warning! Items equals for: COPpreInit = pre-init but are in allowed subset
Warning! Items equals for: CBCheckSignedAppletDontMatchException = Signed applets are not allowed to run when their actual Codebase does not match the Codebase specified in their manifest. Expected: {0}. Actual: {1}. See: http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/no_redeploy.html for details. but are in allowed subset
Error! Items equals for: PEAccessThreadsDetail = Allow applets to start, stop, and otherwise manage threads
Warning! Items equals for: CVCPCleanCache = Purge but are in allowed subset
Warning! Items equals for: PECustomPermissionsItemMnemonic = 85 but are in allowed subset
Error! Items equals for: SPLASHmainL2 = Additional information may be available in the console or logs. Even more information is available if debugging is enabled.
Warning! Items equals for: PECancelButtonMnemonic = 67 but are in allowed subset
Error! Items equals for: APPEXTSecunsignedAppletActionSandbox = This applet was visited and allowed to run with restricted privileges
Warning! Items equals for: PEEditMenuMnemonic = 69 but are in allowed subset
Warning! Items equals for: CBCheckNoEntry = This application does not specify a Codebase in its manifest. Please verify with the applet's vendor. Continuing. See: http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/no_redeploy.html for details. but are in allowed subset
Warning! Items equals for: BAboutITW = The IcedTea-Web project provides a Free Software web browser plugin running applets written in the Java programming language and an implementation of Java Web Start, originally based on the NetX project. Visit the IcedTea-Web homepage: http://icedtea.classpath.org/wiki/IcedTea-Web . Use "man javaws" or "javaws -help" for more information. but are in allowed subset
Warning! Items equals for: PESaveAsMenuItemMnemonic = 65 but are in allowed subset
Warning! Items equals for: CBCheckUnsignedPass = Codebase matches codebase manifest attribute, but application is unsigned. Continuing. See: http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/no_redeploy.html for details. but are in allowed subset
Warning! Items equals for: COPitw = IcedTea-Web but are in allowed subset
Error! Items equals for: PEAccessThreadGroups = Modify threadgroups
Warning! Items equals for: PERemoveCodebaseMnemonic = 82 but are in allowed subset
Error! Items equals for: STempWriteFilesAndProperties = Write-only access to all files and properties
Error! Items equals for: STempReadFilesAndProperties = Read-only access to all files and properties
16 errors allResourcesAreReallyDifferent fo pl x default
Tests run: 4, Failures: 2, Errors: 0, Skipped: 0, Time elapsed: 1.736 sec

From aazores at redhat.com  Wed Jun 25 13:34:17 2014
From: aazores at redhat.com (Andrew Azores)
Date: Wed, 25 Jun 2014 09:34:17 -0400
Subject: [rfc][icedtea-web][policyeditor] Parent-window searching fix
In-Reply-To: <20140624192041.GD11390@redhat.com>
References: <53A9CD91.1090509@redhat.com> <20140624192041.GD11390@redhat.com>
Message-ID: <53AACFD9.90902@redhat.com>

On 06/24/2014 03:20 PM, Omair Majid wrote:
> * Andrew Azores  [2014-06-24 15:13]:
>> If the Javadoc on this method is to be trusted then the semantics are
>> identical, and it seems to work fine anyway.
> Use the source :)
>
> It looks exactly the same.
>
>> -                            if (c == null) {
>> -                                return;
>> -                            }
>> +                        final Window w = SwingUtilities.getWindowAncestor(PolicyEditor.this);
> Just one nit: if the parent is null, the previous code returned without
> doing anything. getWindowAncestor can also return null, which we should
> handle identically.
>
> Thanks,
> Omair
>

Ah, right. I don't imagine it would return 'null', but better to 
trivially handle it than allow an NPE through :)

Thanks,

-- 
Andrew A

-------------- next part --------------
A non-text attachment was scrubbed...
Name: policyeditor-window-ancestor-2.patch
Type: text/x-patch
Size: 1531 bytes
Desc: not available
URL: 

From aazores at redhat.com  Wed Jun 25 13:55:37 2014
From: aazores at redhat.com (Andrew Azores)
Date: Wed, 25 Jun 2014 09:55:37 -0400
Subject: IcedTea-Web and FireBreath Plugin API
In-Reply-To: <53AA27DA.50605@medsa.se>
References: <5398F846.4060104@medsa.se>
	<5399B712.6070009@redhat.com>	<53A30007.2070703@medsa.se>
	<53A30142.7070408@redhat.com> <53AA27DA.50605@medsa.se>
Message-ID: <53AAD4D9.8030008@redhat.com>

You make a good case for looking into FireBreath, but we'll have to see 
what others think.

On 06/24/2014 09:37 PM, Mattias Eliasson wrote:
>>
> Chrome have dropped it, Firefox are planning to and Flash have dropped 
> it at least for Linux.

I know Chrome/Chromium has already dropped NPAPI support, but I haven't 
seen any actual report that Firefox is planning to drop NPAPI. Do you 
have a source for this? All I can find Mozilla talking about are 
restricting plugins with click-to-play, but nothing about dropping 
NPAPI, and an explicit mention that they are not currently working on or 
even interested in Pepper.

Thanks,

-- 
Andrew A


From dbhole at redhat.com  Wed Jun 25 14:00:34 2014
From: dbhole at redhat.com (Deepak Bhole)
Date: Wed, 25 Jun 2014 10:00:34 -0400
Subject: IcedTea-Web and FireBreath Plugin API
In-Reply-To: <53AA27DA.50605@medsa.se>
References: <5398F846.4060104@medsa.se> <5399B712.6070009@redhat.com>
	<53A30007.2070703@medsa.se> <53A30142.7070408@redhat.com>
	<53AA27DA.50605@medsa.se>
Message-ID: <20140625140033.GA24767@redhat.com>

* Mattias Eliasson  [2014-06-24 21:39]:
> 2014-06-19 17:26, Andrew Azores skrev:
> >On 06/19/2014 11:21 AM, Mattias Eliasson wrote:
> >>Hi,
> >>
> >>I also would suggest making a generic java libraries for making Java plugins, for example a JFireBreath API if you chose to use FireBreath as a base. Also it would be useful to design such a library so that plugins can be hosted by Java-based browsers. Javafx WebEngine for example do not support plugins currently, and extending it to support NPAPI would bring to many layers where things can go wrong. Making a clean separation of the NPAPI part of icedtea-web and the Java part would allow for WebEngine and other Java browsers to host Applets without involving a native layer.
> >>
> >>Generically I can see that IcedTea-web contains a lot of code that would be better of if its made into separate libraries. For example sandboxing are surely interesting in other projects. I found a sandboxing library but it seams to be dead.
> >>
> >>2014-06-12 16:20, Andrew Azores skrev:
> >>>On 06/11/2014 08:45 PM, Mattias Eliasson wrote:
> >>>>Hi,
> >>>>
> >>>>As IcedTea-web have a architectural simplification task I am curious if you have looked at the FireBreath plugin API? It seams to provide nice high level C++ API for both NPAPI and IE ActiveX. That should help reduce IcedTea-Web code a lot since NPAPI are quite chatty and hopefully make it easier to squash remaining NPAPI-related bugs.
> >>>
> >>>I haven't looked into this myself before, but it looks interesting. We'll see what others think about the idea and perhaps look into porting over. Thanks for proposing it.
> >>>
> >>>Thanks,
> >>>
> >>
> >
> >(CC'ing the distro-pkg-dev list)
> >
> >The sandboxing in IcedTea-Web is mostly just a wrapper around the sandboxing provided by the JVM itself. All IcedTea-Web does with it is use this "primitive" to create a sandboxing context for applets in particular. In all honesty, this context really boils down to a Map and a bunch of Java-applet-specific logic on deciding how to populate this map.
> >
> >As for the FireBreath API stuff... I can't really comment on it. I just don't know enough about browser plugin development in particular. What you're proposing sounds to me like it would be adding extra APIs that IcedTea-Web would expose without a mirror in the proprietary plugin, however, which would severely limit the user base I'd think.
> >
> >Thanks,
> >

Hi Mattias,

> I consider the Java sandboxing API to be quite chatty which makes it a candidate for a lib, but that's really a side-issue here.
> 
> I have done a lot of research on browser plugin development for a number of reasons. Java plugins (both proprietary and FOSS) are notoriously unstable. The Flash plugin are a bit more stable but they also have a lot more resources allocated to this. The proprietary plugin are as far as I know based on NPAPI and the ActiveX API for IE. Using FireBreath would simply be a replacement of both with something that provides a similar API but both have the advantage of being a multi-API abstraction layer and provide a clean high-level C++ interface. Both NPAPI and ActiveX are quite chatty API:s which are my main point here. Using FireBreath would remove a lot of boilerplate code from IcedTea-Web that are not specific to this plugin, but needed in most plugins.
> 

What do you mean by chatty? Pretty much every function in the ITW plugin that
interfaces via NPAPI are used for proper functioning -- there are very
few stubs (if any).

> Another argument are that NPAPI are being phased out. Chrome have dropped it, Firefox are planning to and Flash have dropped it at least for Linux. It's a bit unclear how to migrate 3:d party plugins to a post-NPAPI world, but my point are that such a migration should concern a shared component such as FireBreath and not individual plugins such as IcedTea-Web.
> 

Where have you seen that FF plans to drop NPAPI? They have no intention
of adopting PPAPI from what I have seen thus far -- do they have a
replacement API in mind?

Deepak

> And finally as long as NPAPI are still around there are a lot of problems around it. It's chatty and complex, and if that ain't enough there are a lot of difference between browser implementation. I know that both the proprietary and the open plugin have had their fair share of problems with this. So have have the FireBreath developers. Assuming that a lot of those problems are not specific to Java Applets, it makes sense to share the burden of figuring them out with other projects. This are true for most abstraction layers, but as NPAPI are quite notorious it becomes a more central issue then it otherwise would be.

From jvanek at redhat.com  Wed Jun 25 14:18:07 2014
From: jvanek at redhat.com (Jiri Vanek)
Date: Wed, 25 Jun 2014 16:18:07 +0200
Subject: /hg/icedtea-web: PolicyEditor persists empty non-default
	codebas...
In-Reply-To: <53A9C293.5030108@redhat.com>
References: 	<53A06167.3060504@redhat.com>
	<53A9C293.5030108@redhat.com>
Message-ID: <53AADA1F.3010204@redhat.com>

On 06/24/2014 08:25 PM, Andrew Azores wrote:
> On 06/17/2014 11:40 AM, Andrew Azores wrote:
>> On 06/03/2014 05:03 PM, aazores at icedtea.classpath.org wrote:
>>> changeset f02ad0ae6d86 in /hg/icedtea-web
>>> details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=f02ad0ae6d86
>>> author: Andrew Azores 
>>> date: Tue Jun 03 17:02:56 2014 -0400
>>>
>>>     PolicyEditor persists empty non-default codebase entries
>>>
>>>     2014-06-03  Andrew Azores  
>>>
>>>         PolicyEditor persists empty non-default codebase entries
>>>         * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEntry.java
>>>         (toString): return empty string only if the codebase both has no
>>>         permissions assigned and is also the default "All Applets" codebase
>>>         * netx/net/sourceforge/jnlp/security/policyeditor/PolicyFileModel.java
>>>         (savePolicyFile): release fileLock with try/finally
>>>
>>>
>>> diffstat:
>>>
>>> ChangeLog |   9 ++
>>> netx/net/sourceforge/jnlp/security/policyeditor/PolicyEntry.java | 4 +-
>>> netx/net/sourceforge/jnlp/security/policyeditor/PolicyFileModel.java |  31 ++++++---
>>>   3 files changed, 32 insertions(+), 12 deletions(-)
>>>
>>> diffs (75 lines):
>>>
>>> diff -r 8ddd8d86855c -r f02ad0ae6d86 ChangeLog
>>> --- a/ChangeLog    Tue Jun 03 14:25:41 2014 -0400
>>> +++ b/ChangeLog    Tue Jun 03 17:02:56 2014 -0400
>>> @@ -1,3 +1,12 @@
>>> +2014-06-03  Andrew Azores  
>>> +
>>> +    PolicyEditor persists empty non-default codebase entries
>>> +    * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEntry.java
>>> +    (toString): return empty string only if the codebase both has no
>>> +    permissions assigned and is also the default "All Applets" codebase
>>> +    * netx/net/sourceforge/jnlp/security/policyeditor/PolicyFileModel.java
>>> +    (savePolicyFile): release fileLock with try/finally
>>> +
>>>   2014-06-03  Lukasz Dracz  
>>>         This test expects a Null pointer exception however does not
>>> diff -r 8ddd8d86855c -r f02ad0ae6d86
>>> netx/net/sourceforge/jnlp/security/policyeditor/PolicyEntry.java
>>> --- a/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEntry.java Tue Jun 03 14:25:41 2014
>>> -0400
>>> +++ b/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEntry.java Tue Jun 03 17:02:56 2014
>>> -0400
>>> @@ -69,7 +69,9 @@
>>>         @Override
>>>       public String toString() {
>>> -        if (permissions.isEmpty() && customPermissions.isEmpty()) {
>>> +        // Empty codebase is the default "All Applets" codebase. If there are no permissions
>>> +        // applied to it, then don't bother recording it in the policy file.
>>> +        if (codebase.isEmpty() && permissions.isEmpty() && customPermissions.isEmpty()) {
>>>               return "";
>>>           }
>>>           final String newline = System.getProperty("line.separator");
>>> diff -r 8ddd8d86855c -r f02ad0ae6d86
>>> netx/net/sourceforge/jnlp/security/policyeditor/PolicyFileModel.java
>>> --- a/netx/net/sourceforge/jnlp/security/policyeditor/PolicyFileModel.java Tue Jun 03 14:25:41
>>> 2014 -0400
>>> +++ b/netx/net/sourceforge/jnlp/security/policyeditor/PolicyFileModel.java Tue Jun 03 17:02:56
>>> 2014 -0400
>>> @@ -169,21 +169,30 @@
>>>           final String currentDate = new SimpleDateFormat("yyyy-MM-dd
>>> HH:mm:ss").format(Calendar.getInstance().getTime());
>>>           sb.append("\n/* Generated by PolicyEditor at ").append(currentDate).append(" */");
>>>           sb.append(System.getProperty("line.separator"));
>>> -        final Set enabledPermissions = new HashSet<>();
>>> -        FileLock fileLock = FileUtils.getFileLock(file.getAbsolutePath(), false, true);
>>> -        for (final String codebase : codebasePermissionsMap.keySet()) {
>>> -            enabledPermissions.clear();
>>> -            for (final Map.Entry entry :
>>> codebasePermissionsMap.get(codebase).entrySet()) {
>>> -                if (entry.getValue()) {
>>> -                    enabledPermissions.add(entry.getKey());
>>> +        FileLock fileLock = null;
>>> +        try {
>>> +            fileLock = FileUtils.getFileLock(file.getAbsolutePath(), false, true);
>>> +            final Set enabledPermissions = new HashSet<>();
>>> +            for (final String codebase : codebasePermissionsMap.keySet()) {
>>> +                enabledPermissions.clear();
>>> +                for (final Map.Entry entry :
>>> codebasePermissionsMap.get(codebase).entrySet()) {
>>> +                    if (entry.getValue()) {
>>> +                        enabledPermissions.add(entry.getKey());
>>> +                    }
>>>                   }
>>> +                sb.append(new PolicyEntry(codebase, enabledPermissions,
>>> customPermissionsMap.get(codebase)).toString());
>>>               }
>>> -            sb.append(new PolicyEntry(codebase, enabledPermissions,
>>> customPermissionsMap.get(codebase)).toString());
>>> -        }
>>> -        try {
>>> -            fileLock.release();
>>>           } catch (final IOException e) {
>>>               OutputController.getLogger().log(e);
>>> +        } finally {
>>> +            if (fileLock != null) {
>>> +                try {
>>> +                    fileLock.release();
>>> +                } catch (final IOException e) {
>>> +                    OutputController.getLogger().log(e);
>>> +                }
>>> +
>>> +            }
>>>           }
>>>             FileUtils.saveFile(sb.toString(), file);
>>
>> Proposing to backport this for 1.5.1.
>>

Overlooked. Sure.
Go on. Please dont forget NEWS :) (were added later to head)


From omajid at redhat.com  Wed Jun 25 14:38:06 2014
From: omajid at redhat.com (Omair Majid)
Date: Wed, 25 Jun 2014 10:38:06 -0400
Subject: [rfc][icedtea-web][policyeditor] Parent-window searching fix
In-Reply-To: <53AACFD9.90902@redhat.com>
References: <53A9CD91.1090509@redhat.com> <20140624192041.GD11390@redhat.com>
	<53AACFD9.90902@redhat.com>
Message-ID: <20140625143805.GA3326@redhat.com>

* Andrew Azores  [2014-06-25 09:34]:
> Ah, right. I don't imagine it would return 'null', but better to trivially
> handle it than allow an NPE through :)

Looks good to me.

Cheers,
Omair

-- 
PGP Key: 66484681 (http://pgp.mit.edu/)
Fingerprint = F072 555B 0A17 3957 4E95  0056 F286 F14F 6648 4681

From aazores at icedtea.classpath.org  Wed Jun 25 15:27:53 2014
From: aazores at icedtea.classpath.org (aazores at icedtea.classpath.org)
Date: Wed, 25 Jun 2014 15:27:53 +0000
Subject: /hg/icedtea-web: Use SwingUtilities.getWindowAncestor() rather t...
Message-ID: 

changeset 41f11931f7d7 in /hg/icedtea-web
details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=41f11931f7d7
author: Andrew Azores 
date: Wed Jun 25 11:27:34 2014 -0400

	Use SwingUtilities.getWindowAncestor() rather than manual search

	2014-06-25  Andrew Azores  

	    * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java
	    (setupLayout) use SwingUtilities.getWindowAncestor() rather than manually
	    searching


diffstat:

 ChangeLog                                                         |   6 ++++
 netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java |  14 ++-------
 2 files changed, 9 insertions(+), 11 deletions(-)

diffs (45 lines):

diff -r 2446d336d306 -r 41f11931f7d7 ChangeLog
--- a/ChangeLog	Tue Jun 24 09:42:50 2014 -0400
+++ b/ChangeLog	Wed Jun 25 11:27:34 2014 -0400
@@ -1,3 +1,9 @@
+2014-06-25  Andrew Azores  
+
+	* netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java
+	(setupLayout) use SwingUtilities.getWindowAncestor() rather than manually
+	searching
+
 2014-06-24  Andrew Azores  
 
 	* netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: removed hunk of
diff -r 2446d336d306 -r 41f11931f7d7 netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java
--- a/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java	Tue Jun 24 09:42:50 2014 -0400
+++ b/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java	Wed Jun 25 11:27:34 2014 -0400
@@ -39,7 +39,6 @@
 import static net.sourceforge.jnlp.runtime.Translator.R;
 
 import java.awt.Color;
-import java.awt.Container;
 import java.awt.Dialog.ModalityType;
 import java.awt.GridBagConstraints;
 import java.awt.GridBagLayout;
@@ -1068,17 +1067,10 @@
                     if (e.getButton() == MouseEvent.BUTTON3) {
                         groupPanel.setVisible(!groupPanel.isVisible());
                         PolicyEditor.this.validate();
-                        Container c = PolicyEditor.this.getParent();
-                        // find the window and repack it
-                        while (!(c instanceof Window)) {
-                            if (c == null) {
-                                return;
-                            }
-                            c = c.getParent();
+                        final Window w = SwingUtilities.getWindowAncestor(PolicyEditor.this);
+                        if (w != null) {
+                            w.pack();
                         }
-                        final Window w = (Window) c;
-                        w.pack();
-
                     }
                 }
             });

From aazores at icedtea.classpath.org  Wed Jun 25 15:33:17 2014
From: aazores at icedtea.classpath.org (aazores at icedtea.classpath.org)
Date: Wed, 25 Jun 2014 15:33:17 +0000
Subject: /hg/release/icedtea-web-1.5: PolicyEditor persists empty non-def...
Message-ID: 

changeset f6301031c729 in /hg/release/icedtea-web-1.5
details: http://icedtea.classpath.org/hg/release/icedtea-web-1.5?cmd=changeset;node=f6301031c729
author: Andrew Azores 
date: Wed Jun 25 11:33:07 2014 -0400

	PolicyEditor persists empty non-default codebase entries

	2014-06-25  Andrew Azores  

		PolicyEditor persists empty non-default codebase entries
		* netx/net/sourceforge/jnlp/security/policyeditor/PolicyEntry.java
		(toString): return empty string only if the codebase both has no
		permissions assigned and is also the default "All Applets" codebase
		* netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java
		(savePolicyFile): release fileLock with try/finally
	    * NEWS: updated with this and other PolicyEditor backports


diffstat:

 ChangeLog                                                         |   9 ++
 NEWS                                                              |   4 +
 netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java |  34 +++++----
 netx/net/sourceforge/jnlp/security/policyeditor/PolicyEntry.java  |   4 +-
 4 files changed, 34 insertions(+), 17 deletions(-)

diffs (93 lines):

diff -r fddbf6a65964 -r f6301031c729 ChangeLog
--- a/ChangeLog	Thu Jun 19 16:33:19 2014 +0200
+++ b/ChangeLog	Wed Jun 25 11:33:07 2014 -0400
@@ -1,3 +1,12 @@
+2014-06-25  Andrew Azores  
+
+	PolicyEditor persists empty non-default codebase entries
+	* netx/net/sourceforge/jnlp/security/policyeditor/PolicyEntry.java
+	(toString): return empty string only if the codebase both has no
+	permissions assigned and is also the default "All Applets" codebase
+	* netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java
+	(savePolicyFile): release fileLock with try/finally
+
 2014-06-19  Jiri Vanek  
 
 	* NEWS: mentioned All JDKs ability, DE localization and KEY_ENABLE_MANIFEST_ATTRIBUTES_CHECK
diff -r fddbf6a65964 -r f6301031c729 NEWS
--- a/NEWS	Thu Jun 19 16:33:19 2014 +0200
+++ b/NEWS	Wed Jun 25 11:33:07 2014 -0400
@@ -14,6 +14,10 @@
 * Added KEY_ENABLE_MANIFEST_ATTRIBUTES_CHECK deployment property to control scan of Manifest file 
 * Plugin
   - PR1743 - Intermittant deadlock in PluginRequestProcessor
+* PolicyEditor
+  - codebases without permissions assigned save to file anyway (and re-appear on next open)
+  - PR1776: NullPointer on save-and-exit
+  - Custom permissions are properly formatted
 
 New in release 1.5 (2014-04-02):
 * IcedTea-Web now using tagsoup as default (tagsoup dependence) sanitizer for input
diff -r fddbf6a65964 -r f6301031c729 netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java
--- a/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java	Thu Jun 19 16:33:19 2014 +0200
+++ b/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java	Wed Jun 25 11:33:07 2014 -0400
@@ -1326,27 +1326,29 @@
                 sb.append("\n/* Generated by PolicyEditor at ").append(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
                               .format(Calendar.getInstance().getTime())).append(" */").append(System.getProperty("line.separator"));
                 final Set enabledPermissions = new HashSet();
-                FileLock fileLock;
+                FileLock fileLock = null;
                 try {
                     fileLock = FileUtils.getFileLock(file.getAbsolutePath(), false, true);
-                } catch (final FileNotFoundException e) {
+                    for (final String codebase : codebasePermissionsMap.keySet()) {
+                        enabledPermissions.clear();
+                        for (final Map.Entry entry : codebasePermissionsMap.get(codebase).entrySet()) {
+                            if (entry.getValue()) {
+                                enabledPermissions.add(entry.getKey());
+                            }
+                        }
+                        sb.append(new PolicyEntry(codebase, enabledPermissions, customPermissionsMap.get(codebase)).toString());
+                    }
+
+                } catch (final IOException e) {
                     OutputController.getLogger().log(e);
-                    showCouldNotSaveDialog();
-                    return;
-                }
-                for (final String codebase : codebasePermissionsMap.keySet()) {
-                    enabledPermissions.clear();
-                    for (final Map.Entry entry : codebasePermissionsMap.get(codebase).entrySet()) {
-                        if (entry.getValue()) {
-                            enabledPermissions.add(entry.getKey());
+                } finally {
+                    if (fileLock != null) {
+                        try {
+                            fileLock.release();
+                        } catch (final IOException e) {
+                            OutputController.getLogger().log(e);
                         }
                     }
-                    sb.append(new PolicyEntry(codebase, enabledPermissions, customPermissionsMap.get(codebase)).toString());
-                }
-                try {
-                    fileLock.release();
-                } catch (final IOException e) {
-                    OutputController.getLogger().log(e);
                 }
 
                 try {
diff -r fddbf6a65964 -r f6301031c729 netx/net/sourceforge/jnlp/security/policyeditor/PolicyEntry.java
--- a/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEntry.java	Thu Jun 19 16:33:19 2014 +0200
+++ b/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEntry.java	Wed Jun 25 11:33:07 2014 -0400
@@ -69,7 +69,9 @@
 
     @Override
     public String toString() {
-        if (permissions.isEmpty() && customPermissions.isEmpty()) {
+        // Empty codebase is the default "All Applets" codebase. If there are no permissions
+        // applied to it, then don't bother recording it in the policy file.
+        if (codebase.isEmpty() && permissions.isEmpty() && customPermissions.isEmpty()) {
             return "";
         }
         final String newline = System.getProperty("line.separator");

From bugzilla-daemon at icedtea.classpath.org  Wed Jun 25 16:03:01 2014
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Wed, 25 Jun 2014 16:03:01 +0000
Subject: [Bug 1853] New: [IcedTea7] Revert PR729 from minor release
Message-ID: 

http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1853

            Bug ID: 1853
           Summary: [IcedTea7] Revert PR729 from minor release
           Product: IcedTea
           Version: 2.5.0
          Hardware: all
                OS: All
            Status: NEW
          Severity: normal
          Priority: P5
         Component: IcedTea
          Assignee: gnu.andrew at redhat.com
          Reporter: gnu.andrew at redhat.com
                CC: unassigned at icedtea.classpath.org

Move the system look and feel update to the next major release (3.0.0) instead
and upstream for OpenJDK 9.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 

From bugzilla-daemon at icedtea.classpath.org  Wed Jun 25 16:03:27 2014
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Wed, 25 Jun 2014 16:03:27 +0000
Subject: [Bug 1853] [IcedTea7] Revert PR729 from minor release
In-Reply-To: 
References: 
Message-ID: 

http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1853

Andrew John Hughes  changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
   Target Milestone|---                         |2.5.1

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 

From bugzilla-daemon at icedtea.classpath.org  Wed Jun 25 16:04:27 2014
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Wed, 25 Jun 2014 16:04:27 +0000
Subject: [Bug 1853] [IcedTea7] Revert PR729 from minor release
In-Reply-To: 
References: 
Message-ID: 

http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1853

Andrew John Hughes  changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Depends on|                            |729

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 

From bugzilla-daemon at icedtea.classpath.org  Wed Jun 25 16:04:27 2014
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Wed, 25 Jun 2014 16:04:27 +0000
Subject: [Bug 729] GTKLookAndFeel should be the system look&feel on all
	GNU/Linux desktops
In-Reply-To: 
References: 
Message-ID: 

http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=729

Andrew John Hughes  changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Blocks|                            |1853

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 

From bugzilla-daemon at icedtea.classpath.org  Wed Jun 25 16:05:14 2014
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Wed, 25 Jun 2014 16:05:14 +0000
Subject: [Bug 729] [IcedTea8] GTKLookAndFeel should be the system look&feel
	on all GNU/Linux desktops
In-Reply-To: 
References: 
Message-ID: 

http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=729

Andrew John Hughes  changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|GTKLookAndFeel should be    |[IcedTea8] GTKLookAndFeel
                   |the system look&feel on all |should be the system
                   |GNU/Linux desktops          |look&feel on all GNU/Linux
                   |                            |desktops

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 

From bugzilla-daemon at icedtea.classpath.org  Wed Jun 25 16:06:17 2014
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Wed, 25 Jun 2014 16:06:17 +0000
Subject: [Bug 729] [IcedTea8] GTKLookAndFeel should be the system look&feel
	on all GNU/Linux desktops
In-Reply-To: 
References: 
Message-ID: 

http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=729

Andrew John Hughes  changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Blocks|1853                        |1282
         Depends on|                            |1853
   Target Milestone|2.5.0                       |3.0.0

--- Comment #27 from Andrew John Hughes  ---
Re-target to next major release, 3.0.0.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 

From bugzilla-daemon at icedtea.classpath.org  Wed Jun 25 16:06:17 2014
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Wed, 25 Jun 2014 16:06:17 +0000
Subject: [Bug 1282] [TRACKER] IcedTea 3.0.0 Release
In-Reply-To: 
References: 
Message-ID: 

http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1282

Andrew John Hughes  changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Depends on|                            |729

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 

From bugzilla-daemon at icedtea.classpath.org  Wed Jun 25 16:06:17 2014
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Wed, 25 Jun 2014 16:06:17 +0000
Subject: [Bug 1853] [IcedTea7] Revert PR729 from minor release
In-Reply-To: 
References: 
Message-ID: 

http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1853

Andrew John Hughes  changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Blocks|                            |729
         Depends on|729                         |

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 

From andrew at icedtea.classpath.org  Wed Jun 25 16:44:50 2014
From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org)
Date: Wed, 25 Jun 2014 16:44:50 +0000
Subject: /hg/release/icedtea7-2.5: Start 2.5.1 release cycle.
Message-ID: 

changeset d6f5bb3ba579 in /hg/release/icedtea7-2.5
details: http://icedtea.classpath.org/hg/release/icedtea7-2.5?cmd=changeset;node=d6f5bb3ba579
author: andrew
date: Wed Jun 25 12:44:45 2014 -0400

	Start 2.5.1 release cycle.

	2014-06-25  Andrew John Hughes  

		* configure.ac: Set to 2.5.1pre.
		* NEWS: Add release section for 2.5.1.


diffstat:

 ChangeLog    |  5 +++++
 NEWS         |  2 ++
 configure.ac |  2 +-
 3 files changed, 8 insertions(+), 1 deletions(-)

diffs (33 lines):

diff -r 76ee7340a65f -r d6f5bb3ba579 ChangeLog
--- a/ChangeLog	Sat Jun 14 07:29:33 2014 +0100
+++ b/ChangeLog	Wed Jun 25 12:44:45 2014 -0400
@@ -1,3 +1,8 @@
+2014-06-25  Andrew John Hughes  
+
+	* configure.ac: Set to 2.5.1pre.
+	* NEWS: Add release section for 2.5.1.
+
 2014-03-28  Andrew John Hughes  
 
 	* Makefile.am:
diff -r 76ee7340a65f -r d6f5bb3ba579 NEWS
--- a/NEWS	Sat Jun 14 07:29:33 2014 +0100
+++ b/NEWS	Wed Jun 25 12:44:45 2014 -0400
@@ -12,6 +12,8 @@
 
 CVE-XXXX-YYYY: http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY
 
+New in release 2.5.1 (2014-07-XX):
+
 New in release 2.5.0 (2014-06-13):
 
 * OpenJDK
diff -r 76ee7340a65f -r d6f5bb3ba579 configure.ac
--- a/configure.ac	Sat Jun 14 07:29:33 2014 +0100
+++ b/configure.ac	Wed Jun 25 12:44:45 2014 -0400
@@ -1,4 +1,4 @@
-AC_INIT([icedtea], [2.5.0], [distro-pkg-dev at openjdk.java.net])
+AC_INIT([icedtea], [2.5.1pre], [distro-pkg-dev at openjdk.java.net])
 AM_INIT_AUTOMAKE([1.9 tar-pax foreign])
 AM_MAINTAINER_MODE([enable])
 AC_CONFIG_FILES([Makefile])

From gitne at gmx.de  Wed Jun 25 17:00:09 2014
From: gitne at gmx.de (Jacob Wisor)
Date: Wed, 25 Jun 2014 19:00:09 +0200
Subject: [rfc][icedtea-web] ConsoleOutputPane formatting fix & cleanup
In-Reply-To: <1431880110.17597567.1403536026812.JavaMail.zimbra@redhat.com>
References: <53A44551.3040001@gmx.de> <53A83C53.7040601@redhat.com>
	<1431880110.17597567.1403536026812.JavaMail.zimbra@redhat.com>
Message-ID: <53AB0019.9020102@gmx.de>

On 06/23/2014 05:07 PM, Jie Kang wrote:
> ----- Original Message -----
>> On 06/20/2014 04:29 PM, Jacob Wisor wrote:
>>> Hello!
>>>
>>> While localizing I needed to look up some code in order to understand the
>>> semantics of some
>>> messages. This cought my attention on ConsoleOutputPane. So, I provide some
>>> some formatting and typo
>>> fixes for ConsoleOutputPane.
>>>
>>> Thank you for reviewing!
>>>
>>> Jacob
>>>
>>> p.s.: There are still some easy to fix UI inconsistencies. ;-)
>> hi!
>>
>> Thanx for reformating.
>>
>>
>> Most of the fixes looks ok.
>>
>> I have found no logic change, I hope i have not missed some.
>>
>
> I read/tested the patch as well and I see no glaring logic change either, though I can't rule out missing some edge case.

Yep, no logic change intended. ;-)

>> Well Although instanceof is null-proof, I like to have it more visible by
>> explicit != null. But this
>> nvm.
>>
>>
>> The only change against which I have - just personal  - objections is the
>> move of initComponents'
>> declarations to constructor. I can see that you did it to allow variables to
>> become final. But is it
>> really worthy?
>>
>>
>> Except that, and except I overlooked some change in logic, ok to for head.
>>
>> For the final+constructor and non-final/separate method  I would like to hear
>> third party voice. Or
>> yours :)
>
>
> I think non-final/separate is okay for future code-reuse, but in this case, I prefer 'final' since these components are definitely final components. It is more 60% prefer, not really 90% or 100% prefer though since the change is so slight.

I do not really like this style either but it owes to the Java Language 
Specification that final fields are always finally assigned outside of the 
constructor. This is a little bit awkward of Java because this is not required 
by the JVM Specification. Nevertheless, these fields never get changed during 
ConsoleOutputPane's lifetime, so for the purpose of proper run time behavior 
these fields should be final, even when the resulting source code does not serve 
everyone's aesthetic feelings. ;-)
And, although I do favor design over run time, this is not a design decision but 
a mere shortcoming of the Java programming language. So, that's the way it is in 
Java.

Thank you for reviewing.

Jacob

From andrew at icedtea.classpath.org  Wed Jun 25 17:31:51 2014
From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org)
Date: Wed, 25 Jun 2014 17:31:51 +0000
Subject: /hg/icedtea7: Add 2.5.0 release notes.
Message-ID: 

changeset 3e8a142adaf7 in /hg/icedtea7
details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=3e8a142adaf7
author: Andrew John Hughes 
date: Wed Jun 25 13:28:41 2014 -0400

	Add 2.5.0 release notes.

	2014-06-13  Andrew John Hughes  

		* NEWS:
		Add release notes for 2.5.0 and remove
		duplicates.


diffstat:

 ChangeLog |    6 +
 NEWS      |  203 +++++++++++++++++++++++++------------------------------------
 2 files changed, 90 insertions(+), 119 deletions(-)

diffs (427 lines):

diff -r 87847ca9d356 -r 3e8a142adaf7 ChangeLog
--- a/ChangeLog	Fri Jun 13 02:02:33 2014 +0100
+++ b/ChangeLog	Wed Jun 25 13:28:41 2014 -0400
@@ -1,3 +1,9 @@
+2014-06-13  Andrew John Hughes  
+
+	* NEWS:
+	Add release notes for 2.5.0 and remove
+	duplicates.
+
 2014-06-12  Andrew John Hughes  
 
 	PR1843: Fail early if there is no native HotSpot JIT
diff -r 87847ca9d356 -r 3e8a142adaf7 NEWS
--- a/NEWS	Fri Jun 13 02:02:33 2014 +0100
+++ b/NEWS	Wed Jun 25 13:28:41 2014 -0400
@@ -16,52 +16,21 @@
 
 * OpenJDK
   - S5036554: unmarshal error on CORBA alias type in CORBA any
-  - S6412968: CMS: Long initial mark pauses
   - S6653795: C2 intrinsic for Unsafe.getAddress performs pointer sign extension on 32-bit systems
   - S7052170: javadoc -charset option generates wrong meta tag
   - S7076487: (sctp) SCTP API classes does not exist in JDK for Mac
   - S7084032: test/java/net/Inet6Address/B6558853.java fails on Windows XP/2003 if IPv6
   - S7122142: (ann) Race condition between isAnnotationPresent and getAnnotations
-  - S7131153: GetDC called way too many times - causes bad performance.
   - S7142035: assert in j.l.instrument agents during shutdown when daemon thread is running
   - S7152892: some jtreg tests fail with permission denied
   - S7161320: TEST_BUG: java/awt/event/KeyEvent/SwallowKeyEvents/SwallowKeyEvents.java fails (Invalid key code)
   - S7169142: CookieHandler does not work with localhost
-  - S7176574: sun/security/krb5/auto/TcpTimeout.java failed with solaris-i586
-  - S7186887: Test T6567415.java can fail on a slow machine
-  - S7187554: JSR 292: JVMTI PopFrame needs to handle appendix arguments
-  - S7190349: [macosx] Text (Label) is incorrectly drawn with a rotated g2d
   - S7199674: (props) user.home property does not return an accessible location in sandboxed environment [macosx]
   - S8002148: [TEST_BUG] The four lines printed are not the bold typeface.
-  - S8003253: TEST_BUG: java/nio/channels/AsynchronousChannelGroup/Unbounded.java hang intermittently [win]
-  - S8003285: TEST_BUG: java/nio/channels/AsynchronousChannelGroup/Unbounded.java fails again [macosx]
-  - S8003895: java/nio/channels/AsynchronousChannelGroup/Unbounded.java failing again [win64]
-  - S8004145: New improved hgforest.sh, ctrl-c now properly terminates mercurial processes.
   - S8006023: Embedded Builds fail management test because of requirement for UsePerfData being enabled.
-  - S8006628: NEED_TEST for JDK-8002870
-  - S8007037: JSR 292: the VM_RedefineClasses::append_entry() should do cross-checks with indy operands
-  - S8007625: race with nested repos in /common/bin/hgforest.sh
-  - S8008511: JSR 292: MemberName vmtarget refs to methods must be updated at class redefinition
-  - S8011178: improve common/bin/hgforest.sh python detection (MacOS)
-  - S8011194: Apps launched via double-clicked .jars have file.encoding value of US-ASCII on Mac OS X
-  - S8011342: hgforest.sh : 'python --version' not supported on older python
-  - S8011350: hgforest.sh uses non-POSIX sh features that may fail with some shells
-  - S8011944: Sort fails with ArrayIndexOutOfBoundsException
   - S8012026: [macosx] Component.getMousePosition() does not work in an applet on MacOS
-  - S8012244: java/net/Socket/asyncClose/Race.java fails intermittently on Windows
   - S8013611: Modal dialog fails to obtain keyboard focus
-  - S8013945: CMS fatal error: must own lock MemberNameTable_lock
-  - S8014052: JSR292: assert(end_offset == next_offset) failed: matched ending
-  - S8014288: perf regression in nashorn JDK-8008448.js test after 8008511 changes
-  - S8014555: G1: Memory ordering problem with Conc refinement and card marking
-  - S8014460: Need to check for non-empty EXT_LIBS_PATH before using it
   - S8015421: NegativeArraySizeException occurs in ChunkedOutputStream() with Integer.MAX_VALUE
-  - S8016110: Japanese char (MS932) 0x5C cannot be used as an argument when quoted
-  - S8016328: Regression : Javadoc i18n regression caused by fix for 8012375
-  - S8017456: [TEST_BUG] java/awt/DataFlavor/MissedHtmlAndRtfBug/MissedHtmlAndRtfBug.html: test frames remain after test execution
-  - S8017779: java/net/Authenticator/B4769350.java fails
-  - S8019184: MethodHandles.catchException() fails when methods have 8 args + varargs
-  - S8019389: SA-JDI JSR292: sun.jvm.hotspot.jdi.StackFrame.thisObject() throws sun.jvm.hotspot.utilities.AssertionFailure: sanity check
   - S8019623: Lack of synchronization in AppContext.getAppContext()
   - S8019800: Test sun/tools/jcmd/jcmd-f.sh failing after JDK-8017011
   - S8019990: IM candidate window appears on the South-East corner of the display.
@@ -69,132 +38,48 @@
   - S8021372: NetworkInterface.getNetworkInterfaces() returns duplicate hardware address
   - S8022531: [TEST_BUG] After double-click on the folder names , there is no 'OK' button in the dialog.
   - S8022836: JVM crashes in JVMTIENVBASE::GET_CURRENT_CONTENDED_MONITOR and GET_OWNED_MONITOR
-  - S8023004: JSR 292: java.lang.RuntimeException: Original target method was called.
-  - S8023881: IDN.USE_STD3_ASCII_RULES option is too strict to use Unicode in IDN.toASCII
-  - S8023956: Provide a work-around to broken Linux 32 bit "Exec Shield" using CS for NX emulation (crashing with SI_KERNEL)
   - S8023990: Regression: postscript size increase from 6u18
-  - S8024200: handle hg wrapper with space after #!
-  - S8024648: 7141246 & 8016131 break Zero port
   - S8024675: java/net/NetworkInterface/UniqueMacAddressesTest.java fails on Windows
-  - S8025305: Cleanup CardTableModRefBS usage in G1
-  - S8025588: [macosx] Frozen AppKit thread in 7u40
-  - S8025796: hgforest.sh could trigger unbuffered output from hg without complicated machinations
-  - S8026705: [TEST_BUG] java/beans/Introspector/TestTypeResolver.java failed
   - S8027026: Change keytool -genkeypair to use -keyalg RSA
-  - S8027196: Increment minor version of HSx for 7u55 and initialize the build number
   - S8027212: java/nio/channels/Selector/SelectAfterRead.java fails intermittently
   - S8027348: (process) Enhancement of handling async close of ProcessInputStream
   - S8027359: XML parser returns incorrect parsing results
-  - S8027973: javax/xml/jaxp/transform/jdk8004476/XSLTExFuncTest.java hangs (win)
   - S8028073: race condition in ObjectMonitor implementation causing deadlocks
-  - S8028391: Make the Min/MaxHeapFreeRatio flags manageable
   - S8028616: Htmleditorkit parser doesn't handle leading slash (/)
   - S8028623: SA: hash codes in SymbolTable mismatching java_lang_String::hash_code for extended characters.
   - S8029073: (corba) New connection reclaimed when number of connection is greater than highwatermark
-  - S8029281: Synchronization issues in Logger and LogManager
   - S8030655: Regression: 14_01 Security fix 8024306 causes test failures
   - S8030698: Several GUI labels in jconsole need correction
   - S8030712: TEST_BUG : java/lang/ProcessBuilder/BasicLauncher.java fails if java output contains VM warning
   - S8030813: Signed applet fails to load when CRLs are stored in an LDAP directory
-  - S8030822: (tz) Support tzdata2013i
   - S8030878: JConsole issues meaningless message if SSL connection fails
-  - S8031050: (thread) Change Thread initialization so that thread name is set before invoking SecurityManager
   - S8031061: new hotspot build - hs24.60-b07
-  - S8031462: Fonts with morx tables are broken with latest ICU fixes
-  - S8031477: [macosx] Loading AWT native library fails
   - S8031572: jarsigner -verify exits with 0 when a jar file is not properly signed
   - S8031743: C2: loadI2L_immI broken for negative memory values
   - S8031764: tmtools/jmap/heap_config tests fail on Linux-ia32 because it Cant attach to the core file
-  - S8031980: Add new j.u.l deadlock test for JDK-8027670 and JDK-8029281
   - S8032078: [macosx] CPlatformWindow.setWindowState throws RuntimeException, if windowState=ICONIFIED|MAXIMIZED_BOTH
-  - S8032207: C2: assert(VerifyOops || MachNode::size(ra_) <= (3+1)*4) failed: bad fixed size
   - S8032466: serviceability/sa/jmap-hashcode/Test8028623.java fails with compilation errors
   - S8032669: Mouse release not being delivered to Swing component in 7u45
-  - S8032740: Need to create SE Embedded Source Bundles in 7 Release
   - S8032832: Applet/browser deadlocks, when IIS integrated authentication is used
   - S8032872: [macosx] Cannot select from JComboBox in a JWindow
   - S8032878: Editable combos in table do not behave as expected
   - S8032909: XSLT string-length returns incorrect length when string includes complementary chars
-  - S8032960: Running forms URL throws NullPointerException in Javaconsole.
-  - S8032986: new hotspot build - hs24.60-b09
-  - S8033294: javac, spurious warning for instanceof operator
-  - S8033443: Test8000311 fails after latest changes to parallelize string and symbol table unlink
-  - S8033487: Improve GC option handling
   - S8033524: Set minor version for hotspot in 7u80 to 80 and build number to b01
   - S8033970: new hotspot build - hs24.80-b02
-  - S8034181: SIGBUS in SctpChannelImpl receive
   - S8034262: Test java/lang/ProcessBuilder/CloseRace.java fails
-  - S8034772: JDK-8028795 brought a specification change to 7u55 release and caused JCK7 signature test failure
   - S8034920: new hotspot build - hs24.80-b03
-  - S8035283: Second phase of branch shortening doesn't account for loop alignment
   - S8035435: new hotspot build - hs24.80-b04
-  - S8035618: Four api/org_omg/CORBA TCK tests fail under plugin only
-  - S8035897: Better memory allocation for file descriptors greater than 1024 on macosx
-  - S8035963: The failed Kerberos tests due to timeouts
   - S8035973: NPE in ForwardBuilder
   - S8035988: 7u60 l10n resource file translation update 1
   - S8036022: D3D: rendering with XOR composite causes InternalError.
-  - S8036027: Increment hsx 24.51 build to b04 for 7u51-b34
-  - S8036147: Increment hsx 24.55 build to b02 for 7u55-b11
-  - S8036584: Review comments from 8035897
   - S8036778: new hotspot build - hs24.80-b05
   - S8036786: Update jdk7 testlibrary to match jdk8
-  - S8036837: Increment hsx 24.55 build to b03 for 7u55-b12
   - S8036863: Update jdk7 testlibrary to match jdk8 in hotspot
-  - S8037012: (tz) Support tzdata2014a
-  - S8037340: Linux semaphores to use CLOCK_REALTIME
-  - S8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
   - S8038481: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
   - S8038640: new hotspot build - hs24.80-b06
   - S8038785: hot workaround fix for a crash in C2 compiler at Node::rematerialize
-  - S8039097: Some tests fail with NPE since 7u60 b12
-* PPC & AIX port
-  - Fix handling of scalar replaced objects.
-  - New files for template interpreter
-  - PPC64: Support for ABI_ELFv2.
-  - S016696: PPC64 (part 4): add relocation for trampoline stubs
-  - S8016491: PPC64 (part 2): Clean up PPC defines.
-  - S8016586: PPC64 (part 3): basic changes for PPC64
-  - S8017313: PPC64 (part 6): stack handling improvements
-  - S8017317: PPC64 (part 7): cppInterpreter: implement support for biased locking
-  - S8019517: PPC64 (part 102): cppInterpreter: implement G1 support
-  - S8019929: PPC64 (part 107): Extend ELF-decoder to support PPC64 function descriptor tables
-  - S8019973: PPC64 (part 11): Fix IA64 preprocessor conditionals on AIX.
-  - S8024344: PPC64 (part 112): C argument in register AND stack slot.
-  - S8024468: PPC64 (part 201): cppInterpreter: implement bytecode profiling
-  - S8033168: PPC64: gcc 4.8 warning in output_c.cpp
-  - S8035396: Introduce accessor for tmp_oop in frame.
-  - S8036767: PPC64: Support for little endian execution model
-  - S8036976: PPC64: implement the template interpreter
-  - S8037915: PPC64/AIX: Several smaller fixes
-* Bug fixes
-  - PR1737: Support prefixed variants of GNU tools used on *BSD systems
-  - Fix accidental reversion of PR1188 for armel
-  - PR1393: JPEG support in build is broken on non-system-libjpeg builds
-  - PR1742: Allow SunEC provider to be built with changes in NSS >= 3.16.1
-  - Remove unused hgforest script
-  - Red Hat local: Fix for repo with path statting with / .
-  - S8041658: Use of -fdevirtualize on macroAssembler_x86.o (via -O2) with gcc 4.9.0 creates broken VM
-  - Extend S8041658 to all files in the HotSpot build.
-  - PR1753: Ant does not respect JAVA_HOME/jdk.home setting
-  - PR1756: Bootstrap with IcedTea broken
-  - PR1758: Support PPC64 JIT on ppc64le
-  - PR1757: register_method usage in sharkCompiler.cpp needs to be adjusted following S7196199
-  - Correct placement of S8041658 fix
-  - PR1762: Undefined references when building with NSS 3.16.1
-  - PR1763: ppc64 JIT doesn't support class data sharing
-  - PR1765: Boot JDK on ppc64le uses differently named arch directory to final build
-  - PR1807: Support Debian/Ubuntu 7 OpenJDK Install as Boot JDK
-  - PR1365: Replace hgforest support
-  - PR1814: HotSpot URL should be used with --enable-hg
-  - PR1371: Provide option to build without debugging
-  - PR1827: Support AM_MAINTAINER_MODE
-  - PR1830: Drop version requirement for LCMS 2
-  - PR1833, RH1022017: Report elliptic curves supported by NSS, not the SunEC library
-  - PR1741: Break PulseAudio provider out into IcedTea-Sound
-  - PR1843: Fail early if there is no native HotSpot JIT & all other options are disabled
 
-New in release 2.5.0 (2014-XX-XX):
+New in release 2.5.0 (2014-06-13):
 
 * OpenJDK
   - S5049299: (process) Use posix_spawn, not fork, on S10 to avoid swap exhaustion
@@ -210,6 +95,7 @@
   - S7124320: [TEST_BUG] [macosx] JComboBox doesn't change selection on mouse over
   - S7124338: [macosx] Selection lost if a selected item removed from a java.awt.List
   - S7129133: [macosx] Accelerators are displayed as Meta instead of the Command symbol
+  - S7131153: GetDC called way too many times - causes bad performance.
   - S7133122: SA throws sun.jvm.hotspot.debugger.UnmappedAddressException when it should not
   - S7133146: [macosx] closed/javax/swing/JInternalFrame/4193219/IconCoord fails on MacOS
   - S7133154: [TEST_BUG] [macosx] closed/javax/swing/JInternalFrame/4251301/bug4251301.java fails on MacOS
@@ -217,12 +103,13 @@
   - S7147084: (process) appA hangs when read output stream of appB which starts appC that runs forever
   - S7171591: getDefaultScopeID() in src/solaris/native/java/net/net_util_md.c should return a value
   - S7173464: Clipboard.getAvailableDataFlavors: Comparison method violates contract
+  - S7176574: sun/security/krb5/auto/TcpTimeout.java failed with solaris-i586
   - S7186887: Test T6567415.java can fail on a slow machine
   - S7187554: JSR 292: JVMTI PopFrame needs to handle appendix arguments
+  - S7190349: [macosx] Text (Label) is incorrectly drawn with a rotated g2d
   - S7191817: -XX:+UseSerialGC -XX:+UseLargePages crashes with SIGFPE on MacOS X
   - S7194607: VerifyLocalVariableTableOnRetransformTest.sh fails after JSR-292 merge
   - S7197210: java/lang/invoke/CallSiteTest.java failing on armsflt.
-  - S7199674: (props) user.home property does not return an accessible location in sandboxed environment [macosx]
   - S8003253: TEST_BUG: java/nio/channels/AsynchronousChannelGroup/Unbounded.java hang intermittently [win]
   - S8003262: reverse translation required changes in xalan resource bundles
   - S8003285: TEST_BUG: java/nio/channels/AsynchronousChannelGroup/Unbounded.java fails again [macosx]
@@ -260,6 +147,7 @@
   - S8014240: G1: Add remembered set size information to output of G1PrintRegionLivenessInfo
   - S8014288: perf regression in nashorn JDK-8008448.js test after 8008511 changes
   - S8014394: (fs) WatchService failing when watching \\server\$d
+  - S8014460: Need to check for non-empty EXT_LIBS_PATH before using it
   - S8014555: G1: Memory ordering problem with Conc refinement and card marking
   - S8015092: SchemaFactory cannot parse schema if whitespace added within patterns in Selector XPath expression
   - S8015243: SchemaFactory does not catch enum. value that is not in the value space of the base type, anyURI
@@ -267,6 +155,7 @@
   - S8015599: [TEST_BUG] [macosx] Test closed/javax/swing/Popup/TaskbarPositionTest.java fails since JDK 8 b75 on MacOSX
   - S8015600: [TEST_BUG] [macosx] Test closed/javax/swing/plaf/basic/BasicMenuUI/4983388/bug4983388.java fails since JDK 8 b75 on MacOSX
   - S8016018: Typo in AbstractStringBuilder#indexOf and #lastIndexOf descriptions
+  - S8016110: Japanese char (MS932) 0x5C cannot be used as an argument when quoted
   - S8016271: wsimport -clientjar does not create portable jars on Windows due to hardcoded backslash
   - S8016328: Regression : Javadoc i18n regression caused by fix for 8012375
   - S8016500: Unlocalized warnings.
@@ -283,7 +172,6 @@
   - S8020191: System.getProperty("os.name") returns "Windows NT (unknown)" on Windows 8.1
   - S8020530: Non heap memory size calculated incorrectly
   - S8020791: [TESTBUG] runtime/jsig/Test8017498.sh failed to compile native code
-  - S8021257: com.sun.corba.se.** should be on restricted package list
   - S8021296: [TESTBUG] Test8017498.sh fails to find "gcc" and fails to compile on some Linux releases
   - S8021368: Launch of Java Web Start app fails with ClassCircularityError exception in 7u25
   - S8021898: Broken JIT compiler optimization for loop unswitching
@@ -293,7 +181,6 @@
   - S8022507: SIGSEGV at ParMarkBitMap::verify_clear()
   - S8022584: Memory leak in some NetworkInterface methods
   - S8022585: VM crashes when ran with -XX:+PrintInlining
-  - S8022698: javax/script/GetInterfaceTest.java fails since 7u45 b04 with -agentvm option
   - S8022993: Convert MAX_UNROLL constant to LoopMaxUnroll C2 flag
   - S8023004: JSR 292: java.lang.RuntimeException: Original target method was called.
   - S8023130: (process) ProcessBuilder#inheritIO does not work on Windows
@@ -322,6 +209,7 @@
   - S8025305: Cleanup CardTableModRefBS usage in G1
   - S8025512: NPE with logging while launching webstart on jre7u40 if logging is disabled
   - S8025541: G1: assert "assert(thread < _num_vtimes) failed: just checking" fails when G1ConcRefinementThreads > ParallelGCThreads
+  - S8025588: [macosx] Frozen AppKit thread in 7u40
   - S8025713: Syncing indendation/comment/copyright year differences with upstream projects
   - S8025775: JNI warnings in TryXShmAttach
   - S8025860: new hotspot build - hs24.60-b02
@@ -332,10 +220,12 @@
   - S8026405: javax/xml/ws/clientjar/TestWsImport.java failing on JDK 8 nightly aurora test runs
   - S8026486: Significant slowdown due to transparent huge pages
   - S8026502: java/lang/invoke/MethodHandleConstants.java fails on all platforms
+  - S8026705: [TEST_BUG] java/beans/Introspector/TestTypeResolver.java failed
   - S8026794: Test tools/pack200/TimeStamp.java fails while opening golden.jar.native.IST on linux-ppc(v2)
   - S8026848: -XX:+G1SummarizeRSetStats can result in wrong exit code and crash
   - S8027066: XMLDecoder in java 7 cannot properly deserialize object arrays
   - S8027172: new hotspot build - hs24.60-b03
+  - S8027196: Increment minor version of HSx for 7u55 and initialize the build number
   - S8027351: (ref) Private finalize method invoked in preference to protected superclass method
   - S8027426: String.toLowerCase incorrectly increases length, if string contains \u0130 char
   - S8027454: Do not traverse string table during G1 remark when treating them as strong roots during initial mark
@@ -363,21 +253,42 @@
   - S8029903: Add a type safe alternative for working with counter based data
   - S8030061: new hotspot build - hs24.60-b05
   - S8030070: Test java/io/File/CheckPermission.java fails due to unfinished recursion (java.lang.StackOverflowError) when JIT'ed code (-client,-server) is running
+  - S8030655: Regression: 14_01 Security fix 8024306 causes test failures
   - S8030698: Several GUI labels in jconsole need correction
+  - S8030813: Signed applet fails to load when CRLs are stored in an LDAP directory
+  - S8030822: (tz) Support tzdata2013i
+  - S8031050: (thread) Change Thread initialization so that thread name is set before invoking SecurityManager
+  - S8031394: (sl) Fix exception handling in ServiceLoader
+  - S8031462: Fonts with morx tables are broken with latest ICU fixes
   - S8031787: Remove fix JDK-8026887 from 7u60
   - S8031980: Add new j.u.l deadlock test for JDK-8027670 and JDK-8029281
   - S8032013: new hotspot build - hs24.60-b08
   - S8032207: C2: assert(VerifyOops || MachNode::size(ra_) <= (3+1)*4) failed: bad fixed size
+  - S8032740: Need to create SE Embedded Source Bundles in 7 Release
   - S8032771: The flag VerifySilently misses a test case
   - S8032960: Running forms URL throws NullPointerException in Javaconsole.
   - S8032986: new hotspot build - hs24.60-b09
   - S8033294: javac, spurious warning for instanceof operator
   - S8033443: Test8000311 fails after latest changes to parallelize string and symbol table unlink
   - S8033487: Improve GC option handling
+  - S8034181: SIGBUS in SctpChannelImpl receive
+  - S8034772: JDK-8028795 brought a specification change to 7u55 release and caused JCK7 signature test failure
+  - S8035283: Second phase of branch shortening doesn't account for loop alignment
+  - S8035618: Four api/org_omg/CORBA TCK tests fail under plugin only
   - S8035893: JVM_GetVersionInfo fails to zero structure
   - S8035897: Better memory allocation for file descriptors greater than 1024 on macosx
+  - S8035963: The failed Kerberos tests due to timeouts
   - S8035988: 7u60 l10n resource file translation update 1
+  - S8036027: Increment hsx 24.51 build to b04 for 7u51-b34
+  - S8036147: Increment hsx 24.55 build to b02 for 7u55-b11
   - S8036584: Review comments from 8035897
+  - S8036837: Increment hsx 24.55 build to b03 for 7u55-b12
+  - S8036861: Application can't be loaded fine,the save dialog can't show up.
+  - S8037012: (tz) Support tzdata2014a
+  - S8037340: Linux semaphores to use CLOCK_REALTIME
+  - S8037510: CMM Testing: Min/MaxHeapFreeRatio flags should be manageable through the API
+  - S8038306: (tz) Support tzdata2014b
+  - S8039097: Some tests fail with NPE since 7u60 b12
 * Backports
   - S7103549: Remove dependencies on libjava and libjvm from security libraries
   - S8000204: Memory leak in com/sun/security/auth/module/Unix.c
@@ -385,7 +296,9 @@
   - S8001579: Cleanup warnings in security native code
   - S8007607: security native code doesn't always use malloc, realloc, and calloc correctly
   - S8008509: 6588413 changed JNIEXPORT visibility for GCC on HSX, jdk's jni_md.h needs similar change
+  - S8012224: AWT_TopLevels/TopLevelEvents/Automated/WindowIconifyDeiconifyEventsTest02 fails on Ubuntu 12.04 Unity shell
   - S8014307: Memory leak ... security/jgss/wrapper/GSSLibStub.c
+  - S8038392, RH1064383: Generating prelink cache breaks JAVA 'jinfo' utility normal behavior
 * Bug fixes
   - Fix implicit function declarations in j2secmod_md.c introduced by 7103549.
   - PR1617: Include defs.make in vm.make so zeroshark.make is included
@@ -412,6 +325,38 @@
   - Remove duplicate ElfFuncDescTable code in elfSymbolTable.cpp
   - Remove duplicate ElfFuncDescTable code in elfSymbolTable.hpp
   - PR1699: Support building the SunEC provider with system NSS
+  - PR1393: JPEG support in build is broken on non-system-libjpeg builds
+  - Fix merge duplication in com.sun.script.javascript.RhinoTopLevel
+  - S8041658: Use of -fdevirtualize on macroAssembler_x86.o (via -O2) with gcc 4.9.0 creates broken VM
+  - Extend 8041658 to all files in the HotSpot build.
+  - Correct placement of S8041658 fix
+  - PR1753: Ant does not respect JAVA_HOME/jdk.home setting
+  - PR1757: register_method usage in sharkCompiler.cpp needs to be adjusted following S7196199
+  - PR1781: NSS PKCS11 provider fails to handle multipart AES encryption
+  - RH1059925: RFE: Version Java libraries to allow using multiple Java versions with Linux capabilities enabled
+  - RH905128: [CRASH] OpenJDK-1.7.0 while using NSS security provider and kerberos
+  - PR1742: Allow SunEC provider to be built with changes in NSS >= 3.16.1
+  - PR1762: Undefined references when building with NSS 3.16.1
+  - PR1737: Support prefixed variants of GNU tools used on *BSD systems
+  - PR1756: Bootstrap with IcedTea broken
+  - PR1758: Support PPC64 JIT on ppc64le
+  - PR1763: ppc64 JIT doesn't support class data sharing
+  - PR1765: Boot JDK on ppc64le uses differently named arch directory to final build
+  - PR1807: Support Debian/Ubuntu 7 OpenJDK Install as Boot JDK
+  - PR1365: Replace hgforest support
+  - PR1814: HotSpot URL should be used with --enable-hg
+  - PR1371: Provide option to build without debugging
+  - PR1827: Support AM_MAINTAINER_MODE
+  - PR1830: Drop version requirement for LCMS 2
+  - PR1833, RH1022017: Report elliptic curves supported by NSS, not the SunEC library
+  - PR1741: Break PulseAudio provider out into IcedTea-Sound
+  - PR1736: AWT loads gtk3 in all the look and feel configurations
+  - PR1808: Type-punning Warnings in Demos on PPC
+  - PR1835: Missing file in backport of ppc64le JIT support
+  - PR1839, G478960: Provide Infinality Support via fontconfig
+  - PR729: GTKLookAndFeel should be the system look&feel on all GNU/Linux desktops
+  - PR1843: Fail early if there is no native HotSpot JIT & all other options are disabled
+  - PR1848: Removal of project support leaves trailing '-' in version
 * PPC & AIX port
   - Add AIX-specific build instructions to README-ppc.html
   - Added AIX as testing platform for more jtreg tests written in shell-script
@@ -488,6 +433,7 @@
   - Fixed JTreg failure from java/util/ResourceBundle/Control/ExpirationTest.sh
   - Fixed memory handling/bookkeeping of mmaped memory on AIX
   - Fixed sun/nio/ch implementation on AIX
+  - Fix handling of scalar replaced objects.
   - Fix IA64 preprocessor conditionals on AIX!!!
   - Fix iconv encoding problem on AIX < 7.1 in SplashConvertStringAlloc
   - Fix JTreg failure from java/nio/charset/Charset/NIOCharsetAvailabilityTest.java
@@ -528,6 +474,7 @@
   - Memory ordering as required for platforms with weak memory ordering (PPC)
   - Memory ordering: introduce functions to specify platform properties.
   - method handles: some smaller fixes and extensions for ppc
+  - New files for template interpreter
   - New HS24 JSR292 implementation for PPC64
   - opto: adapt assertion in postaloc.cpp for ppc.
   - opto: Basic fixes for the ppc C2 port
@@ -578,6 +525,7 @@
   - PPC specific C2 flags: add macro PD_C2_FLAGS to global flag definitions.
   - PPC specific flags: add macro PD_FLAGS to global flag definitions.
   - ppc: support for g1, cOops
+  - PPC64: Support for ABI_ELFv2.
   - Propagate HOTSPOT_BUILD_JOBS and PARALLEL_COMPILE_JOBS from the top-level make to the corresponding sub-makes.
   - Recent changes to ppc files, especially to ppc.ad file.
   - Recent improvements by SAP.
@@ -594,7 +542,22 @@
   - S8003853 opto: specify offset of IC load in java_to_interp stub.
   - S8005055: pass outputStream to more opto debug routines
   - S8006971 rt: Improve handling of memory ordering in taskqueue.hpp.
+  - S8016491: PPC64 (part 2): Clean up PPC defines.
+  - S8016586: PPC64 (part 3): basic changes for PPC64
+  - S8016696: PPC64 (part 4): add relocation for trampoline stubs
+  - S8017313: PPC64 (part 6): stack handling improvements
+  - S8017317: PPC64 (part 7): cppInterpreter: implement support for biased locking
+  - S8019517: PPC64 (part 102): cppInterpreter: implement G1 support
   - S8019929: PPC64 (part 107): Extend ELF-decoder to support PPC64 function descriptor tables
+  - S8019973: PPC64 (part 11): Fix IA64 preprocessor conditionals on AIX.
+  - S8024344: PPC64 (part 112): C argument in register AND stack slot.
+  - S8024468: PPC64 (part 201): cppInterpreter: implement bytecode profiling
+  - S8033168: PPC64: gcc 4.8 warning in output_c.cpp
+  - S8035396: Introduce accessor for tmp_oop in frame.
+  - S8036767: PPC64: Support for little endian execution model
+  - S8036976: PPC64: implement the template interpreter
+  - S8037915: PPC64/AIX: Several smaller fixes
+  - S8042309: Some bugfixes for the ppc64 port
   - Several NIO fixes for AIX to pass JCK tests
   - shared assembler: fix DelayedConstant.
   - shared: Basic non-functional fixes needed for the ppc port.
@@ -630,6 +593,8 @@
   - Use macosx's BsdVirtualMachine implementation to provide tools/attach on AIX platform.
   - Use stubs to implement safefetch.
   - Use the solaris' approach of doing IsXRenderAvailable check for AIX
+* ARM port
+  - Fix accidental reversion of PR1188 for armel
 * JamVM
   - JVM_NewMultiArray: element class may be an array
   - jtreg test java/lang/reflect/Array/ExceedMaxDim

From bugzilla-daemon at icedtea.classpath.org  Wed Jun 25 17:39:40 2014
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Wed, 25 Jun 2014 17:39:40 +0000
Subject: [Bug 1655] [IcedTea7] Don't add IcedTea-Web jars to bootclasspath
In-Reply-To: 
References: 
Message-ID: 

http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1655

Andrew John Hughes  changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
             Blocks|                            |1284
         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: 

From bugzilla-daemon at icedtea.classpath.org  Wed Jun 25 17:39:44 2014
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Wed, 25 Jun 2014 17:39:44 +0000
Subject: [Bug 1284] [TRACKER] IcedTea 2.5.0 Release
In-Reply-To: 
References: 
Message-ID: 

http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1284
Bug 1284 depends on bug 1655, which changed state.

Bug 1655 Summary: [IcedTea7] Don't add IcedTea-Web jars to bootclasspath
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1655

           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: 

From bugzilla-daemon at icedtea.classpath.org  Wed Jun 25 17:39:40 2014
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Wed, 25 Jun 2014 17:39:40 +0000
Subject: [Bug 1284] [TRACKER] IcedTea 2.5.0 Release
In-Reply-To: 
References: 
Message-ID: 

http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1284

Andrew John Hughes  changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Depends on|                            |1655

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 

From bugzilla-daemon at icedtea.classpath.org  Wed Jun 25 17:40:21 2014
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Wed, 25 Jun 2014 17:40:21 +0000
Subject: [Bug 1656] PulseAudioSourceDataLine.stop() hangs intermittently due
	to synchronization problem
In-Reply-To: 
References: 
Message-ID: 

http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1656

Andrew John Hughes  changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |gnu.andrew at redhat.com
          Component|PulseAudio                  |PulseAudio
            Version|2.4.4                       |hg
            Product|IcedTea                     |IcedTea-Sound

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 

From bugzilla-daemon at icedtea.classpath.org  Wed Jun 25 18:03:13 2014
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Wed, 25 Jun 2014 18:03:13 +0000
Subject: [Bug 1781] [IcedTea7] NSS PKCS11 provider fails to handle multipart
	AES encryption
In-Reply-To: 
References: 
Message-ID: 

http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1781

Andrew John Hughes  changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
             Blocks|                            |1284
         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: 

From bugzilla-daemon at icedtea.classpath.org  Wed Jun 25 18:03:14 2014
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Wed, 25 Jun 2014 18:03:14 +0000
Subject: [Bug 1284] [TRACKER] IcedTea 2.5.0 Release
In-Reply-To: 
References: 
Message-ID: 

http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1284
Bug 1284 depends on bug 1781, which changed state.

Bug 1781 Summary: [IcedTea7] NSS PKCS11 provider fails to handle multipart AES encryption
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1781

           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: 

From bugzilla-daemon at icedtea.classpath.org  Wed Jun 25 18:03:13 2014
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Wed, 25 Jun 2014 18:03:13 +0000
Subject: [Bug 1284] [TRACKER] IcedTea 2.5.0 Release
In-Reply-To: 
References: 
Message-ID: 

http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1284

Andrew John Hughes  changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Depends on|                            |1781

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 

From bugzilla-daemon at icedtea.classpath.org  Wed Jun 25 19:10:34 2014
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Wed, 25 Jun 2014 19:10:34 +0000
Subject: [Bug 1835] [IcedTea7] Missing file in backport of ppc64le JIT support
In-Reply-To: 
References: 
Message-ID: 

http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1835

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: 

From bugzilla-daemon at icedtea.classpath.org  Wed Jun 25 19:10:35 2014
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Wed, 25 Jun 2014 19:10:35 +0000
Subject: [Bug 1284] [TRACKER] IcedTea 2.5.0 Release
In-Reply-To: 
References: 
Message-ID: 

http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1284
Bug 1284 depends on bug 1835, which changed state.

Bug 1835 Summary: [IcedTea7] Missing file in backport of ppc64le JIT support
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1835

           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: 

From bugzilla-daemon at icedtea.classpath.org  Wed Jun 25 19:12:27 2014
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Wed, 25 Jun 2014 19:12:27 +0000
Subject: [Bug 1843] [IcedTea7] Fail early if there is no native HotSpot JIT &
	all other options are disabled
In-Reply-To: 
References: 
Message-ID: 

http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1843

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: 

From bugzilla-daemon at icedtea.classpath.org  Wed Jun 25 19:12:27 2014
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Wed, 25 Jun 2014 19:12:27 +0000
Subject: [Bug 1284] [TRACKER] IcedTea 2.5.0 Release
In-Reply-To: 
References: 
Message-ID: 

http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1284
Bug 1284 depends on bug 1843, which changed state.

Bug 1843 Summary: [IcedTea7] Fail early if there is no native HotSpot JIT & all other options are disabled
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1843

           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: 

From bugzilla-daemon at icedtea.classpath.org  Thu Jun 26 00:45:41 2014
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Thu, 26 Jun 2014 00:45:41 +0000
Subject: [Bug 1854] New: eclipse keeps cashing
Message-ID: 

http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1854

            Bug ID: 1854
           Summary: eclipse keeps cashing
           Product: IcedTea
           Version: 6-hg
          Hardware: x86_64
                OS: Linux
            Status: NEW
          Severity: enhancement
          Priority: P5
         Component: IcedTea
          Assignee: gnu.andrew at redhat.com
          Reporter: theskafis at gmail.com
                CC: unassigned at icedtea.classpath.org

Created attachment 1106
  --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=1106&action=edit
this is the log file

when running eclipse it just crashes the log says dump core not enable and  i
have enabled it.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 

From bugzilla-daemon at icedtea.classpath.org  Thu Jun 26 07:54:33 2014
From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org)
Date: Thu, 26 Jun 2014 07:54:33 +0000
Subject: [Bug 1791] PPAPI (pepper) version
In-Reply-To: 
References: 
Message-ID: 

http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1791

helpcrypto at gmail.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |helpcrypto at gmail.com

--- Comment #4 from helpcrypto at gmail.com ---
Altough a bug report is not the best place to chat, I'll give you my 2 cents:

 - Assume you arent going to use Chrome for a while. Firefox, Safari and IE
will work.
 - If possible, use JNLP. AFAIK it will continue working.
 - If you, like me, are using applets for electronic signature, probably the
best option is to keep praying for Webcrypto+FIDO

Regards.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 

From gitne at icedtea.classpath.org  Thu Jun 26 14:01:29 2014
From: gitne at icedtea.classpath.org (gitne at icedtea.classpath.org)
Date: Thu, 26 Jun 2014 14:01:29 +0000
Subject: /hg/icedtea-web: Add new PL localized messages
Message-ID: 

changeset c807bb1f0df7 in /hg/icedtea-web
details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=c807bb1f0df7
author: Jacob Wisor 
date: Thu Jun 26 15:59:18 2014 +0200

	Add new PL localized messages


diffstat:

 ChangeLog                                                  |   13 +-
 netx/net/sourceforge/jnlp/resources/Messages_pl.properties |  292 ++++++++++++-
 2 files changed, 284 insertions(+), 21 deletions(-)

diffs (475 lines):

diff -r 41f11931f7d7 -r c807bb1f0df7 ChangeLog
--- a/ChangeLog	Wed Jun 25 11:27:34 2014 -0400
+++ b/ChangeLog	Thu Jun 26 15:59:18 2014 +0200
@@ -1,3 +1,8 @@
+2014-06-26  Jacob Wisor  
+
+	* netx/net/sourceforge/jnlp/resources/Messages_pl.properties: Add new PL
+	localized messages
+
 2014-06-25  Andrew Azores  
 
 	* netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java
@@ -8,7 +13,7 @@
 
 	* netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: removed hunk of
 	old commented out code, updated comment on reason for
-	JNLPRuntime.reloadPolicy()
+	JNLPRuntime.reloadPolicy() 
 
 2014-06-19  Jie Kang  
 
@@ -110,10 +115,8 @@
 
 	* netx/net/sourceforge/jnlp/resources/Messages.properties (BOredirect)
 	(CCannotClearCache, CFakedCache, CONSOLEClean, CVCPCleanCache)
-	(CVCPCleanCacheTip): Fixed language in
-	some messages
-	(COPcode): removed
-	* netx/net/sourceforge/jnlp/resources/Messages_de.properties: Added new DE
+	(CVCPCleanCacheTip): Fixed language in some messages
+	* netx/net/sourceforge/jnlp/resources/Messages_de.properties: Add new DE
 	localized messages
 
 2014-06-17  Andrew Azores  
diff -r 41f11931f7d7 -r c807bb1f0df7 netx/net/sourceforge/jnlp/resources/Messages_pl.properties
--- a/netx/net/sourceforge/jnlp/resources/Messages_pl.properties	Wed Jun 25 11:27:34 2014 -0400
+++ b/netx/net/sourceforge/jnlp/resources/Messages_pl.properties	Thu Jun 26 15:59:18 2014 +0200
@@ -5,22 +5,32 @@
 NullParameter=Parametr zerowy
 ButAllow=Pozw\u00f3l
 ButBrowse=Przegl\u0105daj...
-ButCancel=\ Anuluj 
+ButCancel=\u00a0Anuluj\u00a0
 ButClose=Zamknij
 ButCopy=Kopiuj do schowka
 ButMoreInformation=Wi\u0119cej\u00a0informacji...
 ButOk=OK
 ButProceed=Kontynuuj
 ButRun=Uruchom
+ButSandbox=Do piaskownicy
 ButApply=Zastosuj
 ButDone=Gotowe
 ButShowDetails=Poka\u017c szczeg\u00f3\u0142y
 ButHideDetails=Chowaj szczeg\u00f3\u0142y
+ButYes=Tak
+ButNo=Nie
+
+CertWarnRunTip=Ufaj temu applet-owi i uruchom 
+CertWarnSandboxTip=Nie ufaj temu applet-owi i uruchom go z ograniczonymi uprawnieniami
+CertWarnCancelTip=Nie uruchamiaj tego applet-u.
+CertWarnPolicyTip=Zaawansowane ustawienia piaskownicy
+CertWarnPolicyEditorItem=Startuj edytor wytycznej
 
 AFileOnTheMachine=plik na komputerze
 AlwaysAllowAction=Zawsze zezwalaj na t\u0105 akcj\u0119
 Usage=Stosowanie:
 Error=B\u0142\u0105d
+Warning=Ostrze\u017cenie
 
 Continue=Czy chcesz kontynuowa\u0107?
 Field=Pole
@@ -40,6 +50,41 @@
 AboutDialogueTabNews=Nowo\u015bci
 AboutDialogueTabGPLv2=GPLv2
 
+# missing permissions dialogue
+MissingPermissionsMainTitle=Aplikacji \u201e{0}\u201d \
+z \u201e{1}\u201d brakuje atrybut \u201epermissions\u201d. Aplikacjom bez tego atrybutu nie powinno si\u0119 ufa\u0107.
\ +Czy chcesz zezwoli\u0107 na uruchomienie tej aplikacji? +MissingPermissionsInfo=Wi\u0119cej informacji uzyskasz na:
\ +\ +JAR File Manifest Attributes
\ +i
\ +\ +Preventing the repurposing of Applications + +# missing Application-Library-Allowable-Codebase dialogue +ALACAMissingMainTitle=Aplikacja \u201e{0}\u201d \ +z \u201e{1}\u201d pobiera zasoby z nast\u0119puj\u0105cych obcych lokalizacji:
\ +{2}
\ +Czy na pewno chcesz uruchomi\u0107 t\u0105 aplikacj\u0119? +ALACAMissingInfo=Wi\u0119cej informacji uzyskasz na:
\ +\ +JAR File Manifest Attributes
\ +i
\ +\ +Preventing the Repurposing of an Application + +# matching Application-Library-Allowable-Codebase dialogue +ALACAMatchingMainTitle=Aplikacja \u201e{0}\u201d \ +z \u201e{1}\u201d pobiera zasoby z nast\u0119puj\u0105cych obcych lokalizacji:
\ +{2}
\ +Czy na pewno chcesz uruchomi\u0107 t\u0105 aplikacj\u0119? +ALACAMatchingInfo=Wi\u0119cej informacji uzyskasz na:
\ +\ +JAR File Manifest Attributes
\ +i
\ +\ +Preventing the Repurposing of an Application + # LS - Severity LSMinor=Mniejszy LSFatal=Fatalny @@ -88,10 +133,14 @@ LUnsignedApplet=Applet by\u0142 niepodpisany. LUnsignedAppletPolicyDenied=Applet by\u0142 niepodpisany, a wytyczna bezpiecze\u0144stwa wstrzyma\u0142a jego uruchomienie. LUnsignedAppletUserDenied=Applet by\u0142 niepodpisany i nie zaufano mu. +LPartiallySignedApplet=Applet by\u0142 cz\u0119\u015bciowo podpisany. +LPartiallySignedAppletUserDenied=Applet by\u0142 cz\u0119\u015bciowo podpisany, a u\u017cytkownik mu nie zaufa\u0142. LSignedJNLPAppDifferentCerts=Aplikacja JNLP nie jest w pe\u0142ni podpisana jednym certyfikatem. LSignedJNLPAppDifferentCertsInfo=Komponenty tej aplikacji JNLP podpisano indywidualnie, jednak musi by\u0107 wsp\u00f3lny podpisuj\u0105cy dla wszystkich wpis\u00f3w. LSignedAppJarUsingUnsignedJar=Podpisana aplikacja u\u017cywa niepodpisane pliki jar. LSignedAppJarUsingUnsignedJarInfo=G\u0142\u00f3wny jar aplikacji jest podpisany, lecz niekt\u00f3re pliki jar kt\u00f3re u\u017cywa nie s\u0105. +LRunInSandboxError=Wywo\u0142anie do uruchomienia w piaskownicy wykonano za p\u00f3\u017ano. +LRunInSandboxErrorInfo=Polecono \u0142adowarce klas uruchomi\u0107 applet w piaskownicy, lecz ustawienia bezpiecze\u0144stwa zosta\u0142y ju\u017c zainicjalizowane. LSignedJNLPFileDidNotMatch=Podpisany plik JNLP nie pasuje do starowanego pliku JNLP. LNoSecInstance=B\u0142\u0105d: Brak instancji bezpiecze\u0144stwa dla {0}. Aplikacja mo\u017ce dozna\u0107 problem\u00f3w w kontynuowaniu LCertFoundIn=Znalezino {0} w cacerts ({1}) @@ -145,6 +194,7 @@ # Runtime BLaunchAbout=Startowanie okna O... +BLaunchAboutFailure=Nie mo\u017cna otworzy\u0107 okna O... BNeedsFile=Potrzebny plik .jnlp RNoAboutJnlp=Nie znaleziono pliku about.jnlp BFileLoc=Lokalizacja pliku JNLP @@ -175,14 +225,18 @@ RNoLockDir=Nie mo\u017cna utworzy\u0107 katalogu blokuj\u0105cego ({0}) RNestedJarExtration=Nie mo\u017cna wyodr\u0119bni\u0107 zagnie\u017cd\u017conego jar-a. RUnexpected=Nie oczekiwano {0} w {1} -RConfigurationError=B\u0142\u0105d fatalny podczas czytania konfiguracji +RConfigurationError=B\u0142\u0105d fatalny podczas wczytywania konfiguracji, kontynuacja z pust\u0105. Prosz\u0119 naprawi\u0107 RConfigurationFatal=B\u0141\u0104D: Wyst\u0105pi\u0142 b\u0142\u0105d fatalny podczas \u0142adowania konfiguracji. By\u0107 mo\u017ce wymagano konfiguracj\u0119 globaln\u0105, ale nie znaleziono jej. +RFailingToDefault=Zawodzenie na konfiguracj\u0119 domy\u015bln\u0105 RPRoxyPacNotSupported=U\u017cycie plik\u00f3w automatycznej konfiguracji proxy (PAC) nie jest obs\u0142ugiwane. RProxyFirefoxNotFound=Nie mo\u017cna u\u017cy\u0107 ustawie\u0144 proxy Firefox-a. Zastosowano \u201eDIRECT\u201d jako typ proxy. RProxyFirefoxOptionNotImplemented=Opcja proxy \u201e{0}\u201d ({1}) przegl\u0105darki jeszcze nie jest obs\u0142ugiwana. RBrowserLocationPromptTitle=Lokalizacja przegl\u0105darki RBrowserLocationPromptMessage=Podaj lokalizacj\u0119 przegl\u0105darki RBrowserLocationPromptMessageWithReason=Podaj lokalizacj\u0119 przegl\u0105darki (polecenie \u201e{0}\u201d jest nieprawid\u0142owe). +BFileInfoAuthors=Nazwiska i adresy poczty elektronicznej zas\u0142u\u017conych dla tego projektu umieszczono w pliku AUTHORS, znajduj\u0105cym si\u0119 w katalogu g\u0142\u00f3wnym IcedTea-Web. +BFileInfoCopying=Kompletny egzemplarz licencji GPLv2 tego projektu umieszczono w pliku COPYING, znajduj\u0105cym si\u0119 w katalogu g\u0142\u00f3wnym IcedTea-Web. +BFileInfoNews=Nowo\u015bci o wydaniach tego projektu umieszczono w pliku NEWS, znajduj\u0105cym si\u0119 w katalogu g\u0142\u00f3wnym IcedTea-Web. # Boot options, message should be shorter than this ----------------> BOUsage=javaws [-opcje-uruchomienia] @@ -195,12 +249,14 @@ BOLicense=Wy\u015bwietl licencj\u0119 GPL i zako\u0144cz BOVerbose=W\u0142\u0105cz rozmowne komunikaty BOAbout=Pokazuje aplikacj\u0119 przyk\u0142adow\u0105 +BOVersion=Wy\u015bwietl wersj\u0119 IcedTea-Web i zako\u0144cz BONosecurity=Wy\u0142\u0105cza bezpieczne \u015brodowisko uruchomieniowe BONoupdate=Wy\u0142\u0105cza sprawdzanie dost\u0119pno\u015bci aktualizacji BOHeadless=Wy\u0142\u0105cza okno pobierania i inne interfejsy graficzne BOStrict=W\u0142\u0105cza \u015bcis\u0142e sprawdzanie format pliku JNLP BOViewer=Pokazuje podgl\u0105d zaufanych certyfikat\u00f3w BOXml=Stosuje \u015bcis\u0142y analizator sk\u0142adniowy XML do analizy pliku JNLP +BOredirect=Idzie za przekierowaniami HTTP BXnofork=Nie tw\u00f3rz nast\u0119pnej JVM BXclearcache=Wyczy\u015b\u0107 pami\u0119\u0107 podr\u0119czn\u0105 aplikacji JNLP BXignoreheaders=Pomijaj weryfikacj\u0119 nag\u0142\u00f3wk\u00f3w plik\u00f3w jar @@ -214,17 +270,17 @@ CChooseCache=Wybierz katalog pami\u0119ci podr\u0119cznej... CChooseCacheInfo=NetX wymaga lokalizacj\u0119 do sk\u0142adowania plik\u00f3w pami\u0119ci podr\u0119cznej. CChooseCacheDir=Katalog pami\u0119ci podr\u0119cznej -CCannotClearCache=Nie mo\u017cna wyczy\u015bci\u0107 pami\u0119ci podr\u0119cznej w tej chwili. +CCannotClearCache=Obecnie, nie mo\u017cna wyczy\u015bci\u0107 pami\u0119ci podr\u0119cznej. Spr\u00f3buj p\u00f3\u017aniej. Je\u015bli problem nadal istnieje, zamknij przegl\u0105dark\u0119/i i aplikacje JNLP. Ostatecznie, spr\u00f3buj unicestwi\u0107 wszystkie aplikacje Java. \\\n Pami\u0119\u0107 podr\u0119czn\u0105 mo\u017cesz wyczy\u015bci\u0107 za pomoc\u0105 polecenia \u201ejavaws -Xclearcache\u201d lub Pami\u0119\u0107\u00a0podr\u0119czna/Przegl\u0105daj\u00a0pliki/Wyczy\u015b\u0107 w panelu IcedTea-Web. CFakeCache=Pami\u0119\u0107 podr\u0119czna jest uszkodzona. Naprawianie. -CFakedCache=Naprawiono uszkodzon\u0105 pami\u0119\u0107 podr\u0119czn\u0105. Stanowczo si\u0119 zaleca uruchomi\u0107 polecenie \u201ejavaws -Xclearcache\u201d wraz z nast\u0119puj\u0105cym ponownym uruchomieniem aplikacji. +CFakedCache=Naprawiono uszkodzon\u0105 pami\u0119\u0107 podr\u0119czn\u0105. Stanowczo si\u0119 zaleca uruchomi\u0107 polecenie \u201ejavaws -Xclearcache\u201d wraz z nast\u0119puj\u0105cym ponownym uruchomieniem aplikacji.\nPami\u0119\u0107 podr\u0119czn\u0105 mo\u017cesz zar\u00f3wno wyczy\u015bci\u0107 w panelu IcedTea-Web poprzez Pami\u0119\u0107\u00a0podr\u0119czna/Przegl\u0105daj\u00a0pliki/Wyczy\u015b\u0107. # Security SFileReadAccess=Aplikacja za\u017c\u0105da\u0142a uprawnienie do odczytu \u201e{0}\u201d. Czy chcesz zezwoli\u0107 na t\u0105 akcj\u0119? SFileWriteAccess=Aplikacja za\u017c\u0105da\u0142a uprawnienie do zapisu \u201e{0}\u201d. Czy chcesz zezwoli\u0107 na t\u0105 akcj\u0119? SDesktopShortcut=Aplikacja za\u017c\u0105da\u0142a uprawnienie do utworzenia aktywatora na pulpicie. Czy chcesz zezwoli\u0107 na t\u0105 akcj\u0119? -SSigUnverified=Nie mo\u017cna zweryfikowa\u0107 podpisu cyfrowego aplikacji. Czy chcesz uruchomi\u0107 aplikacj\u0119? -SSigVerified=Zweryfikowano podpis cyfrowy aplikacji. Czy chcesz uruchomi\u0107 aplikacj\u0119? -SSignatureError=Podpis cyfrowy aplikacji zawiera b\u0142\u0105d. Czy chcesz uruchomi\u0107 aplikacj\u0119? +SSigUnverified=Nie mo\u017cna zweryfikowa\u0107 podpisu cyfrowego aplikacji. Aplikacja otrzyma nieograniczony dost\u0119p do komputera.\nCzy chcesz uruchomi\u0107 aplikacj\u0119? +SSigVerified=Zweryfikowano podpis cyfrowy aplikacji. Aplikacja otrzyma nieograniczony dost\u0119p do komputera.\nCzy chcesz uruchomi\u0107 aplikacj\u0119? +SSignatureError=Podpis cyfrowy aplikacji zawiera b\u0142\u0105d. Aplikacja otrzyma nieograniczony dost\u0119p do komputera.\nCzy chcesz uruchomi\u0107 aplikacj\u0119? SUntrustedSource=Nie zweryfikowano podpisu cyfrowego przez zaufanego wydawc\u0119. Uruchamiaj wy\u0142\u0105cznie je\u015bli ufasz pochodzeniu aplikacji. SWarnFullPermissionsIgnorePolicy=Kodowi wykonywalnemu zostan\u0105 wydane pe\u0142ne uprawnienia, ignoruj\u0105c wszelkie wytyczne Java. STrustedSource=Potwierdzono podpis cyfrowy przez zaufanego wydawc\u0119. @@ -249,6 +305,25 @@ SPartiallySignedQuestion=Czy chcesz kontynuowa\u0107 i mimo to uruchomi\u0107 t\u0105 aplikacj\u0119? SAuthenticationPrompt=Serwer {0} w \u201e{1}\u201d \u017c\u0105da uwierzytelnienia. Podaje komunikat: \u201e{2}\u201d SJNLPFileIsNotSigned=Ta aplikacja zawiera podpis cyfrowy, jednak startowany plik JNLP jest bez podpisu. +SAppletTitle=Tytu\u0142 applet-u: {0} +STrustedOnlyAttributeFailure=Aplikacja podaje \u201etrue\u201d dla Trusted-only w swoim manife\u015bcie. {0} i \u017c\u0105da poziom uprawnienia: {1}. To jest niedozwolone. +STOAsignedMsgFully=Aplet zosta\u0142 podpisany ca\u0142kowicie +STOAsignedMsgAndSandbox=Aplet zosta\u0142 podpisany ca\u0142kowicie i umieszczony w piaskownicy +STOAsignedMsgPartiall=Aplet zosta\u0142 podpisany cz\u0119\u015bciowo +STempPermNoFile=Zakaz dost\u0119pu do plik\u00f3w +STempPermNoNetwork=Zakaz dost\u0119pu do sieci +STempPermNoExec=Zakaz uruchamiania polece\u0144 +STempNoFileOrNetwork=Zakaz dost\u0119pu do plik\u00f3w lub sieci +STempNoExecOrNetwork=Zakaz uruchamiania polece\u0144 lub dost\u0119pu do sieci +STempNoFileOrExec=Zakaz dost\u0119pu do plik\u00f3w lub uruchamiania polece\u0144 +STempNoFileOrNetworkOrExec=Zakaz dost\u0119pu do plik\u00f3w, sieci lub uruchamiania polece\u0144 +STempAllMedia=Wszystkie media +STempSoundOnly=Odtwarzanie d\u017awi\u0119ku +STempClipboardOnly=Dost\u0119p do schowka +STempPrintOnly=Druk dokument\u00f3w +STempAllFileAndPropertyAccess=Dost\u0119p do wszystkich plik\u00f3w i w\u0142a\u015bciwo\u015bci +STempReadLocalFilesAndProperties=Wy\u0142\u0105cznie odczyt lokalnych plik\u00f3w i w\u0142a\u015bciwo\u015bci +STempReflectionOnly=Wy\u0142\u0105cznie introspekcja Java # Security - used for the More Information dialog SBadKeyUsage=Zasoby zawieraj\u0105 wpisy dla kt\u00f3rych rozszerzenie KeyUsage certyfikatu podpisuj\u0105cego nie zezwala na podpisywanie kodu. @@ -259,8 +334,8 @@ SNotYetValidCert=Zasoby zawieraj\u0105 wpisy kt\u00f3rych certyfikat podpisuj\u0105cego nie jest jeszcze wa\u017cny. SUntrustedCertificate=Ten podpis cyfrowy wygenerowano za pomoc\u0105 niezaufanego certyfikatu. STrustedCertificate=Ten podpis cyfrowy wygenerowano za pomoc\u0105 zaufanego certyfikatu. -SCNMisMatch=Oczekiwana nazwa komputera dla tego certyfikatu to: \u201e{0}\u201d
Adres pod kt\u00f3rym nawi\u0105zywane jesz po\u0142\u0105czenie: \u201e{1}\u201d -SRunWithoutRestrictions=Aplikacja zostanie uruchomiona bez restrykcji bezpieczeniowych zwykle oferowanych przez Java. +SCNMisMatch=Oczekiwana nazwa komputera w tym certyfikacie to: \u201e{0}\u201d
Adres pod kt\u00f3rym nawi\u0105zywane jesz po\u0142\u0105czenie: \u201e{1}\u201d +SRunWithoutRestrictions=Aplikacja zostanie uruchomiona bez restrykcji bezpiecze\u0144stwa zwykle oferowanych przez Java. SCertificateDetails=Szczeg\u00f3\u0142y certyfikatu # Security - certificate information @@ -301,8 +376,11 @@ # Deployment Configuration messages DCIncorrectValue=W\u0142a\u015bciwo\u015b\u0107 \u201e{0}\u201d zawiera b\u0142\u0119dn\u0105 warto\u015b\u0107 \u201e{1}\u201d. Mo\u017cliwe warto\u015bci s\u0105 {2}. DCInternal=B\u0142\u0105d wewn\u0119trzny: {0} -DCSourceInternal= +DCSourceInternal= DCUnknownSettingWithName=W\u0142a\u015bciwo\u015b\u0107 \u201e{0}\u201d jest nieznana. +DCmaindircheckNotexists=Po wszystkich pr\u00f3bach, Tw\u00f3j katalog konfiguracyjny \u201e{0}\u201d nie istnieje. +DCmaindircheckNotdir=Tw\u00f3j katalog konfiguracyjny \u201e{0}\u201d nie jest katalogiem. +DCmaindircheckRwproblem=Nie mo\u017cna odpowiednio odczyta\u0107/zapisa\u0107 Tw\u00f3j katalog konfiguracyjny \u201e{0}\u201d. # Value Validator messages. Messages should follow "Possible values ..." VVPossibleValues=Mo\u017cliwe warto\u015bci {0} @@ -359,7 +437,8 @@ CPButSettings=Ustawienia... CPButView=Przegl\u0105daj... CPButCertificates=Certyfikaty... -CPButPolicy=Podgl\u0105d/Edytuj w edytorze wytycznej... +CPButSimpleEditor=Edytor uproszczony... +CPButAdvancedEditor=Edytor zaawansowany... # Control Panel - Headers CPHead=Panel sterowania IcedTea-Web @@ -388,7 +467,7 @@ CPTabPolicy=Ustawienia wytycznej # Control Panel - AboutPanel -CPAboutInfo=Ten panel sterowania s\u0142u\u017cy do ustawiania pliku deployments.properties.
Nie wszystkie opcje maj\u0105 efekt, dop\u00f3ki nie zostan\u0105 obj\u0119te implementacj\u0105.
Stosowanie wielu \u015brodowisk uruchomieniowych Java (JRE) jest obecnie nieobs\u0142ugiwane.
+CPAboutInfo=Ten panel sterowania s\u0142u\u017cy do ustawiania pliku deployments.properties.
Nie wszystkie opcje maj\u0105 efekt, dop\u00f3ki nie zostan\u0105 obj\u0119te implementacj\u0105.
Stosowanie wielu \u015brodowisk uruchomieniowych Java (JRE) jest obecnie ograniczone do OpenJDK.
# Control Panel - AdvancedProxySettings APSDialogTitle=Ustawienia sieciowe @@ -406,11 +485,190 @@ APSExceptionInstruction=Odgradzaj ka\u017cd\u0105 pozycj\u0119 \u015brednikiem (;). # Control Panel - DebugginPanel -DPEnableLogging=W\u0142\u0105cz protoko\u0142owanie +CPDebuggingPossibilites=Zapis dziennika +DPEnableLogging=W\u0142\u0105cz usuwanie b\u0142\u0119d\u00f3w +DPEnableLoggingHint=Powoduje zapis wydarze\u0144 usuwania b\u0142\u0119d\u00f3w. R\u00f3wnoznaczne z prze\u0142\u0105cznikami \u201e-verbose\u201d lub \u201eICEDTEAPLUGIN_DEBUG=true\u201d. +DPEnableHeaders=W\u0142\u0105cz nag\u0142\u00f3wki +DPEnableHeadersHint=Wypisuje nag\u0142\u00f3wki, takie jak u\u017cytkownik, pozycja w kodzie i czas, z ka\u017cdym wydarzeniem. +DPEnableFile=Zapisuj dziennik w plik +CPFilesLogsDestDir=Katalog dziennik\u00f3w +CPFilesLogsDestDirResert=Domy\u015blny +DPEnableFileHint=Dziennik b\u0119dzie zapisany w katalogu \u201e{0}\u201d. +DPEnableStds=Zapisuj dziennik w standardowy strumie\u0144 wyj\u015bcia +DPEnableStdsHint=Wydarzenia b\u0119d\u0105 wy\u015bwietlane na wyj\u015bciu standardowym. +DPEnableSyslog=Zapisuj do dziennika systemowego +DPEnableSyslogHint=Wydarzenia b\u0119d\u0105 zapisywane w dzienniku systemowym. DPDisable=Wy\u0142\u0105cz -DPHide=Ukrywaj na starcie -DPShow=Pokazuj na starcie +DPHide=Ukrywaj podczas startu +DPShow=Pokazuj podczas startu +DPShowPluginOnly=Pokazuj podczas startu wtyczki +DPShowJavawsOnly=Pokazuj podczas startu javaws DPJavaConsole=Konsola Java +DPJavaConsoleDisabledHint=Konsola Java jest wy\u0142\u0105czona. U\u017cyj itweb-settings do skonfigurowania widoczno\u015bci konsoli Java. + +# PolicyEditor +PEUsage=policyeditor [-file plik_wytycznej] +PEHelpFlag=Wy\u015bwietl ten komunikat i zako\u0144cz +PEFileFlag=Okre\u015bla \u015bcie\u017ck\u0119 plika wytycznej do otwarcia +PECodebaseFlag=Specify (a) codebase URL(s) to add and/or focus in the editor +PETitle=Edytor wytycznej +PEReadProps=Odczyt w\u0142a\u015bciwo\u015bci systemowych +PEReadPropsDetail=Zezwala aplet-om na odczyt w\u0142a\u015bciwo\u015bci systemowych, np. Twoj\u0105 nazw\u0119 u\u017cytkownika lub lokalizacja Twojego katalogu domowego +PEWriteProps=Zapis w\u0142a\u015bciwo\u015bci systemowych +PEWritePropsDetail=Zezwala aplet-om na zapis w\u0142a\u015bciwo\u015bci systemowych +PEReadFiles=Odczyt z plik\u00f3w lokalnych +PEReadFilesDetail=Zezwala aplet-om na odczyt plik\u00f3w w Twoim katalogu domowym +PEWriteFiles=Zapis w pliki lokalne +PEWriteFilesDetail=Zezwala aplet-om na zapis plik\u00f3w w Twoim katalogu domowym +PEDeleteFiles=Usuni\u0119cie plik\u00f3w lokalnych +PEDeleteFilesDetail=Zezwala aplet-om na usuwanie plik\u00f3w w Twoim katalogu domowym +PEReadSystemFiles=Odczyt wszystkich plik\u00f3w systemu +PEReadSystemFilesDetail=Zezwala aplet-om na odczyt z wszystkich lokalizacji na komputerze +PEWriteSystemFiles=Zapis wszystkich plik\u00f3w systemu +PEWriteSystemFilesDetail=Zezwala aplet-om na zapis do wszystkich lokalizacji na komputerze +PEReadTempFiles=Odczyt z plik\u00f3w tymczasowych +PEReadTempFilesDetail=Zezwala aplet-om na odczyt z Twojego katalogu plik\u00f3w tymczasowych +PEWriteTempFiles=Zapis w pliki tymczasowe +PEWriteTempFilesDetail=Zezwala aplet-om na zapis do Twojego katalogu plik\u00f3w tymczasowych +PEDeleteTempFiles=Usuni\u0119cie plik\u00f3w tymczasowych +PEDeleteTempFilesDetail=Zezwala aplet-om na usuwanie plik\u00f3w z Twojego katalogu plik\u00f3w tymczasowych +PEAWTPermission=Dost\u0119p do systemu okien +PEAWTPermissionDetail=Zezwala aplet-om na ca\u0142kowity dost\u0119p do systemu okien AWT +PEClipboard=Dost\u0119p do schowka +PEClipboardDetail=Zezwala aplet-om na odczyt z i zapis do schowka +PENetwork=Dost\u0119p do sieci +PENetworkDetail=Zezwala aplet-om na tworzenie po\u0142\u0105cze\u0144 sieciowych +PEPrint=Druk dokument\u00f3w +PEPrintDetail=Zezwala aplet-om na wstawianie zada\u0144 drukowania do kolejki +PEPlayAudio=Odtworzenie d\u017awi\u0119k\u00f3w +PEPlayAudioDetail=Zezwala aplet-om na odtwarzanie d\u017awi\u0119k\u00f3w, lecz nie na nagrywanie +PERecordAudio=Nagrywanie d\u017awi\u0119ku +PERecordAudioDetail=Zezwala aplet-om na nagrywanie d\u017awi\u0119ku, lecz nie na odtwarzanie +PEReflection=Introspekcja Java +PEReflectionDetail=Zezwala aplet-om na dost\u0119p do Java Reflection API +PEClassLoader=Pozyskanie \u0142adowarki klas +PEClassLoaderDetail=Zezwala aplet-om na dost\u0119p do systemowej \u0142adowarki klas (cz\u0119sto u\u017cywane z introspekcj\u0105) +PEClassInPackage=Dost\u0119p do innych pakiet\u00f3w +PEClassInPackageDetail=Zezwala aplet-om na dost\u0119p do klas z obcych pakiet\u00f3w (cz\u0119sto u\u017cywane z introspekcj\u0105) +PEDeclaredMembers=Dost\u0119p do prywatnych danych klasy +PEDeclaredMembersDetail=Zezwala na dost\u0119p do danych zwyczajnie ukrytych przed obcymi klasami Java (cz\u0119sto u\u017cywane z introspekcj\u0105) +PEExec=Wykonanie polece\u0144 +PEExecDetail=Zezwala aplet-om na wykonanie polece\u0144 systemowych +PEGetEnv=Pozyskanie zmiennych \u015brodowiskowych +PEGetEnvDetail=Zezwala aplet-om na odczyt zmiennych \u015brodowiskowych +PECouldNotOpen=Nie mo\u017cna otworzy\u0107 pliku wytycznej +PECouldNotSave=Nie mo\u017cna zapisa\u0107 pliku wytycznej +PEAddCodebase=Dodaj baz\u0119 kodu +PERemoveCodebase=Usu\u0144 +PECodebasePrompt=Podaj now\u0105 baz\u0119 kodu +PEGlobalSettings=Wszystkie Applet-y +PESaveChanges=Zapisa\u0107 zmiany przed zako\u0144czeniem? +PEChangesSaved=Zapisano zmiany +PECheckboxLabel=Uprawniena +PECodebaseLabel=Bazy kodu +PEFileMenu=Plik +PEOpenMenuItem=Otw\u00f3rz... +PESaveMenuItem=Zapisz +PESaveAsMenuItem=Zapisz\u00a0jako... +PEExitMenuItem=Zako\u0144cz +PEEditMenu=Edycja +PERenameCodebaseItem=Przemianuj baz\u0119 kodu +PECopyCodebaseItem=Kopiuj baz\u0119 kodu +PEPasteCodebaseItem=Wklej baz\u0119 kodu +PECopyCodebaseToClipboardItem=Kopiuj URL bazy kodu do schowka +PERenameCodebase=Przemianowana baza kodu: +PEPasteCodebase=Skopiowana baza kodu: +PEViewMenu=Widok +PECustomPermissionsItem=Uprawnienia\u00a0dostosowane... +PEFileModified=Ostrze\u017cenie o modyfikacji pliku +PEFileModifiedDetail=Plik wytycznej \u201e{0}\u201d zosta\u0142 zmodyfikowany od jego otwarcia. Czy chcesz go za\u0142adowa\u0107 ponownie? +PEGAccesUnowenedCode=Wykonanie obcego kodu +PEGMediaAccess=Dost\u0119p do medi\u00f3w +PEGrightClick=Kliknij prawym klawiszem myszy, aby ro/zwin\u0105\u0107 +PEGReadFileSystem=Odczyt w system +PEGWriteFileSystem=Zapis w system + +# Policy Editor CustomPolicyViewer +PECPTitle=Podgl\u0105d dostosowanych wytycznych +PECPListLabel=Dalsze wytyczne dla \u201e{0}\u201d +PECPAddButton=Dodaj +PECPRemoveButton=Usu\u0144 +PECPCloseButton=Zamknij +PECPType=typ +PECPTarget=cel +PECPActions=akcja +PECPPrompt=Podaj dostosowane uprawnienie. Pomi\u0144 \u201epermission\u201d lub znaki interpunkcji. + +# PolicyEditor key mnemonics. See KeyEvent.VK_* +# N +# R +# A +# C +# F +# I +# O +# S +# A +# X +# U + +# conole itself labels +CONSOLErungc=Uruchom od\u015bmiecanie +CONSOLErunFinalizers=Uruchom finalizatory +CONSOLErunningFinalizers=Wykonywanie finalizator\u00f3w.... +CONSOLEmemoryInfo=Informacja o pami\u0119ci +CONSOLEsystemProperties=W\u0142a\u015bciwo\u015bci systemowe +CONSOLEclassLoaders=Dost\u0119pne \u0142adowarki klas +CONSOLEthreadList=Lista w\u0105tk\u00f3w +CONSOLEthread=W\u0105tek +CONSOLEnoClassLoaders=Brak informacji o \u0142adowarkach klas +CONSOLEmemoryMax=Pami\u0119\u0107 maksymalnie +CONSOLEmemoryTotal=Pami\u0119\u0107 ca\u0142kowicie +CONSOLEmemoryFree=Pami\u0119\u0107 dost\u0119pna +CONSOLEClean=Wyczy\u015b\u0107 + +# console output pane labels +COPsortCopyAllDate=Sortuj \u201eSkopiuj wszytko\u201d wed\u0142ug daty +COPshowHeaders=Pokazuj nag\u0142\u00f3wki: +COPuser=U\u017cytkownik +COPorigin=Pochodzenie +COPlevel=Poziom +COPdate=Data +COPthread1=W\u0105tek 1 +COPthread2=W\u0105tek 2 +COPShowMessages=Pokazuj komunikaty: +COPstdOut=Standardowy strumie\u0144 wyj\u015bcia +COPstdErr=Standardowy strumie\u0144 b\u0142\u0119d\u00f3w +COPjava=Java +COPplugin=Wtyczka +COPpreInit=Przed\u00a0inicjalizacj\u0105 +COPpluginOnly=Wy\u0142\u0105cznie wtyczka +COPSortBy=Sortuj wed\u0142ug +COPregex=Filtr wyra\u017cenia regularnego +COPAsArrived=Wed\u0142ug pojawienia (bez sortowania) +COPcode=Kod +COPmessage=Komunikat +COPSearch=Szukaj +COPautoRefresh=Auto-od\u015bwie\u017canie +COPrefresh=Od\u015bwie\u017c +COPApply=Zastosuj +COPmark=Zaznacz +COPCopyAllPlain=Skopiuj wszystko (nago) +COPCopyAllRich=Skopiuj wszystko (wzbogacono) +COPnext=Dalej\u00a0>>> +COPprevious=<<<\u00a0Wr\u00f3\u0107 +COPcaseSensitive=Rozr\u00f3\u017cniaj\u00a0wielko\u015b\u0107\u00a0liter +COPincomplete=Niezupe\u0142ne +COPhighlight=Wyr\u00f3\u017cniaj +COPwordWrap=Dziel\u00a0s\u0142owa +COPdebug=Debug +COPinfo=Info +COPpostInit=Po\u00a0inicjalizacji +COPcomplete=Zupe\u0142ne +COPmatch=R\u00f3wne +COPnot=Nie +COPrevert=Odwrotnie +COPclientApp=Aplikacja # Control Panel - DesktopShortcutPanel DSPNeverCreate=Nigdy nie tw\u00f3rz @@ -471,6 +729,8 @@ CVCPDialogTitle=Podgl\u0105d pami\u0119ci podr\u0119cznej CVCPButRefresh=Od\u015bwie\u017c CVCPButDelete=Usu\u0144 +CVCPCleanCache=Wyczy\u015b\u0107 +CVCPCleanCacheTip=Niekt\u00f3re b\u0142\u0119dy mog\u0105 wyst\u0119powa\u0107 z powodu przestarza\u0142ych plik\u00f3w w pami\u0119ci podr\u0119cznej. Przed zg\u0142oszeniem b\u0142\u0119du, prosz\u0119 wyczy\u015bci\u0107 pami\u0119\u0107 podr\u0119czn\u0105 i spr\u00f3bowa\u0107 ponownie uruchomi\u0107 aplikacj\u0119.\\nPami\u0119\u0107 podr\u0119czn\u0105 mo\u017cna wyczy\u015bci\u0107 za pomoc\u0105 polecenia \u201ejavaws -Xclearcache\u201d lub w panelu IcedTea-Web poprzez \u201ePami\u0119\u0107 podr\u0119czna\u201d -> \u201ePrzegl\u0105daj pliki...\u201d -> \u201eWyczy\u015b\u0107\u201d CVCPColLastModified=Data modyfikacji CVCPColSize=Wielko\u015b\u0107 (w bajtach) CVCPColDomain=Domena @@ -580,7 +840,7 @@ APPEXTSECguiPanelCanNotValidate=Nie mo\u017cna potwierdzi\u0107, poniewa\u017c nie mo\u017cna utworzy\u0107 pliku tymczasowego \u201e{0}\u201d. APPEXTSECguiPanelEmptyDoc=Wszystkie bazy dokumentowe musz\u0105 by\u0107 wype\u0142nione APPEXTSECguiPanelEmptyCode=Wszystkie bazy kodu musz\u0105 by\u0107 wype\u0142nione -APPEXTSECguiPanelTableValid=Tabla wygl\u0105da w porz\u0105dku +APPEXTSECguiPanelTableValid=Tabela wygl\u0105da w porz\u0105dku APPEXTSECguiPanelTableInvalid=Tabela niepoprawna z powodu nast\u0119puj\u0105cego b\u0142\u0119du: {0} APPEXTSECguiPanelShowOnlyPermanent=Pokazuj wy\u0142\u0105cznie wpisy sta\u0142e APPEXTSECguiPanelShowOnlyTemporal=Pokazuj wy\u0142\u0105cznie wpisy tymczasowo zadecydowane From gitne at gmx.de Thu Jun 26 14:12:47 2014 From: gitne at gmx.de (Jacob Wisor) Date: Thu, 26 Jun 2014 16:12:47 +0200 Subject: /hg/icedtea-web: Add new PL localized messages In-Reply-To: References: Message-ID: <53AC2A5F.8000308@gmx.de> On 06/26/2014 04:01 PM, gitne at icedtea.classpath.org wrote: > changeset c807bb1f0df7 in /hg/icedtea-web > details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=c807bb1f0df7 > author: Jacob Wisor > date: Thu Jun 26 15:59:18 2014 +0200 > > Add new PL localized messages > > > [...] > +CVCPCleanCache=Wyczy\u015b\u0107 > +CVCPCleanCacheTip=Niekt\u00f3re b\u0142\u0119dy mog\u0105 wyst\u0119powa\u0107 z powodu przestarza\u0142ych plik\u00f3w w pami\u0119ci podr\u0119cznej. Przed zg\u0142oszeniem b\u0142\u0119du, prosz\u0119 wyczy\u015bci\u0107 pami\u0119\u0107 podr\u0119czn\u0105 i spr\u00f3bowa\u0107 ponownie uruchomi\u0107 aplikacj\u0119.\\nPami\u0119\u0107 podr\u0119czn\u0105 mo\u017cna wyczy\u015bci\u0107 za pomoc\u0105 polecenia \u201ejavaws -Xclearcache\u201d lub w panelu IcedTea-Web poprzez \u201ePami\u0119\u0107 podr\u0119czna\u201d -> \u201ePrzegl\u0105daj pliki...\u201d -> \u201eWyczy\u015b\u0107\u201d Thank you Jiri for point out these missing messages with your tests. I have supplemented them with the appropriate translations. :-) Jacob From bugzilla-daemon at icedtea.classpath.org Thu Jun 26 14:33:12 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 26 Jun 2014 14:33:12 +0000 Subject: [Bug 1854] eclipse keeps cashing In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1854 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Version|6-hg |7-hg Severity|enhancement |normal -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From gitne at icedtea.classpath.org Thu Jun 26 14:33:32 2014 From: gitne at icedtea.classpath.org (gitne at icedtea.classpath.org) Date: Thu, 26 Jun 2014 14:33:32 +0000 Subject: /hg/release/icedtea-web-1.5: Add new PL localized messages Message-ID: changeset 1dd36639ec69 in /hg/release/icedtea-web-1.5 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.5?cmd=changeset;node=1dd36639ec69 author: Jacob Wisor date: Thu Jun 26 16:32:48 2014 +0200 Add new PL localized messages 2014-06-26 Jacob Wisor * netx/net/sourceforge/jnlp/resources/Messages_pl.properties: Add new PL localized messages diffstat: ChangeLog | 6 +- netx/net/sourceforge/jnlp/resources/Messages_pl.properties | 285 ++++++++++++- 2 files changed, 274 insertions(+), 17 deletions(-) diffs (454 lines): diff -r f6301031c729 -r 1dd36639ec69 ChangeLog --- a/ChangeLog Wed Jun 25 11:33:07 2014 -0400 +++ b/ChangeLog Thu Jun 26 16:32:48 2014 +0200 @@ -1,3 +1,8 @@ +2014-06-26 Jacob Wisor + + * netx/net/sourceforge/jnlp/resources/Messages_pl.properties: Add new PL + localized messages + 2014-06-25 Andrew Azores PolicyEditor persists empty non-default codebase entries @@ -81,7 +86,6 @@ * netx/net/sourceforge/jnlp/resources/Messages.properties (BOredirect) (CCannotClearCache, CFakedCache, CONSOLEClean, CVCPCleanCache) (CVCPCleanCacheTip): Fixed language in some messages - (COPcode): removed * netx/net/sourceforge/jnlp/resources/Messages_de.properties: Added new DE localized messages diff -r f6301031c729 -r 1dd36639ec69 netx/net/sourceforge/jnlp/resources/Messages_pl.properties --- a/netx/net/sourceforge/jnlp/resources/Messages_pl.properties Wed Jun 25 11:33:07 2014 -0400 +++ b/netx/net/sourceforge/jnlp/resources/Messages_pl.properties Thu Jun 26 16:32:48 2014 +0200 @@ -5,22 +5,32 @@ NullParameter=Parametr zerowy ButAllow=Pozw\u00f3l ButBrowse=Przegl\u0105daj... -ButCancel=\ Anuluj +ButCancel=\u00a0Anuluj\u00a0 ButClose=Zamknij ButCopy=Kopiuj do schowka ButMoreInformation=Wi\u0119cej\u00a0informacji... ButOk=OK ButProceed=Kontynuuj ButRun=Uruchom +ButSandbox=Do piaskownicy ButApply=Zastosuj ButDone=Gotowe ButShowDetails=Poka\u017c szczeg\u00f3\u0142y ButHideDetails=Chowaj szczeg\u00f3\u0142y +ButYes=Tak +ButNo=Nie + +CertWarnRunTip=Ufaj temu applet-owi i uruchom +CertWarnSandboxTip=Nie ufaj temu applet-owi i uruchom go z ograniczonymi uprawnieniami +CertWarnCancelTip=Nie uruchamiaj tego applet-u. +CertWarnPolicyTip=Zaawansowane ustawienia piaskownicy +CertWarnPolicyEditorItem=Startuj edytor wytycznej AFileOnTheMachine=plik na komputerze AlwaysAllowAction=Zawsze zezwalaj na t\u0105 akcj\u0119 Usage=Stosowanie: Error=B\u0142\u0105d +Warning=Ostrze\u017cenie Continue=Czy chcesz kontynuowa\u0107? Field=Pole @@ -40,6 +50,41 @@ AboutDialogueTabNews=Nowo\u015bci AboutDialogueTabGPLv2=GPLv2 +# missing permissions dialogue +MissingPermissionsMainTitle=Aplikacji \u201e{0}\u201d \ +z \u201e{1}\u201d brakuje atrybut \u201epermissions\u201d. Aplikacjom bez tego atrybutu nie powinno si\u0119 ufa\u0107.
\ +Czy chcesz zezwoli\u0107 na uruchomienie tej aplikacji? +MissingPermissionsInfo=Wi\u0119cej informacji uzyskasz na:
\ +\ +JAR File Manifest Attributes
\ +i
\ +\ +Preventing the repurposing of Applications + +# missing Application-Library-Allowable-Codebase dialogue +ALACAMissingMainTitle=Aplikacja \u201e{0}\u201d \ +z \u201e{1}\u201d pobiera zasoby z nast\u0119puj\u0105cych obcych lokalizacji:
\ +{2}
\ +Czy na pewno chcesz uruchomi\u0107 t\u0105 aplikacj\u0119? +ALACAMissingInfo=Wi\u0119cej informacji uzyskasz na:
\ +\ +JAR File Manifest Attributes
\ +i
\ +\ +Preventing the Repurposing of an Application + +# matching Application-Library-Allowable-Codebase dialogue +ALACAMatchingMainTitle=Aplikacja \u201e{0}\u201d \ +z \u201e{1}\u201d pobiera zasoby z nast\u0119puj\u0105cych obcych lokalizacji:
\ +{2}
\ +Czy na pewno chcesz uruchomi\u0107 t\u0105 aplikacj\u0119? +ALACAMatchingInfo=Wi\u0119cej informacji uzyskasz na:
\ +\ +JAR File Manifest Attributes
\ +i
\ +\ +Preventing the Repurposing of an Application + # LS - Severity LSMinor=Mniejszy LSFatal=Fatalny @@ -88,10 +133,14 @@ LUnsignedApplet=Applet by\u0142 niepodpisany. LUnsignedAppletPolicyDenied=Applet by\u0142 niepodpisany, a wytyczna bezpiecze\u0144stwa wstrzyma\u0142a jego uruchomienie. LUnsignedAppletUserDenied=Applet by\u0142 niepodpisany i nie zaufano mu. +LPartiallySignedApplet=Applet by\u0142 cz\u0119\u015bciowo podpisany. +LPartiallySignedAppletUserDenied=Applet by\u0142 cz\u0119\u015bciowo podpisany, a u\u017cytkownik mu nie zaufa\u0142. LSignedJNLPAppDifferentCerts=Aplikacja JNLP nie jest w pe\u0142ni podpisana jednym certyfikatem. LSignedJNLPAppDifferentCertsInfo=Komponenty tej aplikacji JNLP podpisano indywidualnie, jednak musi by\u0107 wsp\u00f3lny podpisuj\u0105cy dla wszystkich wpis\u00f3w. LSignedAppJarUsingUnsignedJar=Podpisana aplikacja u\u017cywa niepodpisane pliki jar. LSignedAppJarUsingUnsignedJarInfo=G\u0142\u00f3wny jar aplikacji jest podpisany, lecz niekt\u00f3re pliki jar kt\u00f3re u\u017cywa nie s\u0105. +LRunInSandboxError=Wywo\u0142anie do uruchomienia w piaskownicy wykonano za p\u00f3\u017ano. +LRunInSandboxErrorInfo=Polecono \u0142adowarce klas uruchomi\u0107 applet w piaskownicy, lecz ustawienia bezpiecze\u0144stwa zosta\u0142y ju\u017c zainicjalizowane. LSignedJNLPFileDidNotMatch=Podpisany plik JNLP nie pasuje do starowanego pliku JNLP. LNoSecInstance=B\u0142\u0105d: Brak instancji bezpiecze\u0144stwa dla {0}. Aplikacja mo\u017ce dozna\u0107 problem\u00f3w w kontynuowaniu LCertFoundIn=Znalezino {0} w cacerts ({1}) @@ -145,6 +194,7 @@ # Runtime BLaunchAbout=Startowanie okna O... +BLaunchAboutFailure=Nie mo\u017cna otworzy\u0107 okna O... BNeedsFile=Potrzebny plik .jnlp RNoAboutJnlp=Nie znaleziono pliku about.jnlp BFileLoc=Lokalizacja pliku JNLP @@ -175,14 +225,18 @@ RNoLockDir=Nie mo\u017cna utworzy\u0107 katalogu blokuj\u0105cego ({0}) RNestedJarExtration=Nie mo\u017cna wyodr\u0119bni\u0107 zagnie\u017cd\u017conego jar-a. RUnexpected=Nie oczekiwano {0} w {1} -RConfigurationError=B\u0142\u0105d fatalny podczas czytania konfiguracji +RConfigurationError=B\u0142\u0105d fatalny podczas wczytywania konfiguracji, kontynuacja z pust\u0105. Prosz\u0119 naprawi\u0107 RConfigurationFatal=B\u0141\u0104D: Wyst\u0105pi\u0142 b\u0142\u0105d fatalny podczas \u0142adowania konfiguracji. By\u0107 mo\u017ce wymagano konfiguracj\u0119 globaln\u0105, ale nie znaleziono jej. +RFailingToDefault=Zawodzenie na konfiguracj\u0119 domy\u015bln\u0105 RPRoxyPacNotSupported=U\u017cycie plik\u00f3w automatycznej konfiguracji proxy (PAC) nie jest obs\u0142ugiwane. RProxyFirefoxNotFound=Nie mo\u017cna u\u017cy\u0107 ustawie\u0144 proxy Firefox-a. Zastosowano \u201eDIRECT\u201d jako typ proxy. RProxyFirefoxOptionNotImplemented=Opcja proxy \u201e{0}\u201d ({1}) przegl\u0105darki jeszcze nie jest obs\u0142ugiwana. RBrowserLocationPromptTitle=Lokalizacja przegl\u0105darki RBrowserLocationPromptMessage=Podaj lokalizacj\u0119 przegl\u0105darki RBrowserLocationPromptMessageWithReason=Podaj lokalizacj\u0119 przegl\u0105darki (polecenie \u201e{0}\u201d jest nieprawid\u0142owe). +BFileInfoAuthors=Nazwiska i adresy poczty elektronicznej zas\u0142u\u017conych dla tego projektu umieszczono w pliku AUTHORS, znajduj\u0105cym si\u0119 w katalogu g\u0142\u00f3wnym IcedTea-Web. +BFileInfoCopying=Kompletny egzemplarz licencji GPLv2 tego projektu umieszczono w pliku COPYING, znajduj\u0105cym si\u0119 w katalogu g\u0142\u00f3wnym IcedTea-Web. +BFileInfoNews=Nowo\u015bci o wydaniach tego projektu umieszczono w pliku NEWS, znajduj\u0105cym si\u0119 w katalogu g\u0142\u00f3wnym IcedTea-Web. # Boot options, message should be shorter than this ----------------> BOUsage=javaws [-opcje-uruchomienia] @@ -195,12 +249,14 @@ BOLicense=Wy\u015bwietl licencj\u0119 GPL i zako\u0144cz BOVerbose=W\u0142\u0105cz rozmowne komunikaty BOAbout=Pokazuje aplikacj\u0119 przyk\u0142adow\u0105 +BOVersion=Wy\u015bwietl wersj\u0119 IcedTea-Web i zako\u0144cz BONosecurity=Wy\u0142\u0105cza bezpieczne \u015brodowisko uruchomieniowe BONoupdate=Wy\u0142\u0105cza sprawdzanie dost\u0119pno\u015bci aktualizacji BOHeadless=Wy\u0142\u0105cza okno pobierania i inne interfejsy graficzne BOStrict=W\u0142\u0105cza \u015bcis\u0142e sprawdzanie format pliku JNLP BOViewer=Pokazuje podgl\u0105d zaufanych certyfikat\u00f3w BOXml=Stosuje \u015bcis\u0142y analizator sk\u0142adniowy XML do analizy pliku JNLP +BOredirect=Idzie za przekierowaniami HTTP BXnofork=Nie tw\u00f3rz nast\u0119pnej JVM BXclearcache=Wyczy\u015b\u0107 pami\u0119\u0107 podr\u0119czn\u0105 aplikacji JNLP BXignoreheaders=Pomijaj weryfikacj\u0119 nag\u0142\u00f3wk\u00f3w plik\u00f3w jar @@ -214,17 +270,17 @@ CChooseCache=Wybierz katalog pami\u0119ci podr\u0119cznej... CChooseCacheInfo=NetX wymaga lokalizacj\u0119 do sk\u0142adowania plik\u00f3w pami\u0119ci podr\u0119cznej. CChooseCacheDir=Katalog pami\u0119ci podr\u0119cznej -CCannotClearCache=Nie mo\u017cna wyczy\u015bci\u0107 pami\u0119ci podr\u0119cznej w tej chwili. +CCannotClearCache=Obecnie, nie mo\u017cna wyczy\u015bci\u0107 pami\u0119ci podr\u0119cznej. Spr\u00f3buj p\u00f3\u017aniej. Je\u015bli problem nadal istnieje, zamknij przegl\u0105dark\u0119/i i aplikacje JNLP. Ostatecznie, spr\u00f3buj unicestwi\u0107 wszystkie aplikacje Java. \\\n Pami\u0119\u0107 podr\u0119czn\u0105 mo\u017cesz wyczy\u015bci\u0107 za pomoc\u0105 polecenia \u201ejavaws -Xclearcache\u201d lub Pami\u0119\u0107\u00a0podr\u0119czna/Przegl\u0105daj\u00a0pliki/Wyczy\u015b\u0107 w panelu IcedTea-Web. CFakeCache=Pami\u0119\u0107 podr\u0119czna jest uszkodzona. Naprawianie. -CFakedCache=Naprawiono uszkodzon\u0105 pami\u0119\u0107 podr\u0119czn\u0105. Stanowczo si\u0119 zaleca uruchomi\u0107 polecenie \u201ejavaws -Xclearcache\u201d wraz z nast\u0119puj\u0105cym ponownym uruchomieniem aplikacji. +CFakedCache=Naprawiono uszkodzon\u0105 pami\u0119\u0107 podr\u0119czn\u0105. Stanowczo si\u0119 zaleca uruchomi\u0107 polecenie \u201ejavaws -Xclearcache\u201d wraz z nast\u0119puj\u0105cym ponownym uruchomieniem aplikacji.\nPami\u0119\u0107 podr\u0119czn\u0105 mo\u017cesz zar\u00f3wno wyczy\u015bci\u0107 w panelu IcedTea-Web poprzez Pami\u0119\u0107\u00a0podr\u0119czna/Przegl\u0105daj\u00a0pliki/Wyczy\u015b\u0107. # Security SFileReadAccess=Aplikacja za\u017c\u0105da\u0142a uprawnienie do odczytu \u201e{0}\u201d. Czy chcesz zezwoli\u0107 na t\u0105 akcj\u0119? SFileWriteAccess=Aplikacja za\u017c\u0105da\u0142a uprawnienie do zapisu \u201e{0}\u201d. Czy chcesz zezwoli\u0107 na t\u0105 akcj\u0119? SDesktopShortcut=Aplikacja za\u017c\u0105da\u0142a uprawnienie do utworzenia aktywatora na pulpicie. Czy chcesz zezwoli\u0107 na t\u0105 akcj\u0119? -SSigUnverified=Nie mo\u017cna zweryfikowa\u0107 podpisu cyfrowego aplikacji. Czy chcesz uruchomi\u0107 aplikacj\u0119? -SSigVerified=Zweryfikowano podpis cyfrowy aplikacji. Czy chcesz uruchomi\u0107 aplikacj\u0119? -SSignatureError=Podpis cyfrowy aplikacji zawiera b\u0142\u0105d. Czy chcesz uruchomi\u0107 aplikacj\u0119? +SSigUnverified=Nie mo\u017cna zweryfikowa\u0107 podpisu cyfrowego aplikacji. Aplikacja otrzyma nieograniczony dost\u0119p do komputera.\nCzy chcesz uruchomi\u0107 aplikacj\u0119? +SSigVerified=Zweryfikowano podpis cyfrowy aplikacji. Aplikacja otrzyma nieograniczony dost\u0119p do komputera.\nCzy chcesz uruchomi\u0107 aplikacj\u0119? +SSignatureError=Podpis cyfrowy aplikacji zawiera b\u0142\u0105d. Aplikacja otrzyma nieograniczony dost\u0119p do komputera.\nCzy chcesz uruchomi\u0107 aplikacj\u0119? SUntrustedSource=Nie zweryfikowano podpisu cyfrowego przez zaufanego wydawc\u0119. Uruchamiaj wy\u0142\u0105cznie je\u015bli ufasz pochodzeniu aplikacji. SWarnFullPermissionsIgnorePolicy=Kodowi wykonywalnemu zostan\u0105 wydane pe\u0142ne uprawnienia, ignoruj\u0105c wszelkie wytyczne Java. STrustedSource=Potwierdzono podpis cyfrowy przez zaufanego wydawc\u0119. @@ -249,6 +305,25 @@ SPartiallySignedQuestion=Czy chcesz kontynuowa\u0107 i mimo to uruchomi\u0107 t\u0105 aplikacj\u0119? SAuthenticationPrompt=Serwer {0} w \u201e{1}\u201d \u017c\u0105da uwierzytelnienia. Podaje komunikat: \u201e{2}\u201d SJNLPFileIsNotSigned=Ta aplikacja zawiera podpis cyfrowy, jednak startowany plik JNLP jest bez podpisu. +SAppletTitle=Tytu\u0142 applet-u: {0} +STrustedOnlyAttributeFailure=Aplikacja podaje \u201etrue\u201d dla Trusted-only w swoim manife\u015bcie. {0} i \u017c\u0105da poziom uprawnienia: {1}. To jest niedozwolone. +STOAsignedMsgFully=Aplet zosta\u0142 podpisany ca\u0142kowicie +STOAsignedMsgAndSandbox=Aplet zosta\u0142 podpisany ca\u0142kowicie i umieszczony w piaskownicy +STOAsignedMsgPartiall=Aplet zosta\u0142 podpisany cz\u0119\u015bciowo +STempPermNoFile=Zakaz dost\u0119pu do plik\u00f3w +STempPermNoNetwork=Zakaz dost\u0119pu do sieci +STempPermNoExec=Zakaz uruchamiania polece\u0144 +STempNoFileOrNetwork=Zakaz dost\u0119pu do plik\u00f3w lub sieci +STempNoExecOrNetwork=Zakaz uruchamiania polece\u0144 lub dost\u0119pu do sieci +STempNoFileOrExec=Zakaz dost\u0119pu do plik\u00f3w lub uruchamiania polece\u0144 +STempNoFileOrNetworkOrExec=Zakaz dost\u0119pu do plik\u00f3w, sieci lub uruchamiania polece\u0144 +STempAllMedia=Wszystkie media +STempSoundOnly=Odtwarzanie d\u017awi\u0119ku +STempClipboardOnly=Dost\u0119p do schowka +STempPrintOnly=Druk dokument\u00f3w +STempAllFileAndPropertyAccess=Dost\u0119p do wszystkich plik\u00f3w i w\u0142a\u015bciwo\u015bci +STempReadLocalFilesAndProperties=Wy\u0142\u0105cznie odczyt lokalnych plik\u00f3w i w\u0142a\u015bciwo\u015bci +STempReflectionOnly=Wy\u0142\u0105cznie introspekcja Java # Security - used for the More Information dialog SBadKeyUsage=Zasoby zawieraj\u0105 wpisy dla kt\u00f3rych rozszerzenie KeyUsage certyfikatu podpisuj\u0105cego nie zezwala na podpisywanie kodu. @@ -259,8 +334,8 @@ SNotYetValidCert=Zasoby zawieraj\u0105 wpisy kt\u00f3rych certyfikat podpisuj\u0105cego nie jest jeszcze wa\u017cny. SUntrustedCertificate=Ten podpis cyfrowy wygenerowano za pomoc\u0105 niezaufanego certyfikatu. STrustedCertificate=Ten podpis cyfrowy wygenerowano za pomoc\u0105 zaufanego certyfikatu. -SCNMisMatch=Oczekiwana nazwa komputera dla tego certyfikatu to: \u201e{0}\u201d
Adres pod kt\u00f3rym nawi\u0105zywane jesz po\u0142\u0105czenie: \u201e{1}\u201d -SRunWithoutRestrictions=Aplikacja zostanie uruchomiona bez restrykcji bezpieczeniowych zwykle oferowanych przez Java. +SCNMisMatch=Oczekiwana nazwa komputera w tym certyfikacie to: \u201e{0}\u201d
Adres pod kt\u00f3rym nawi\u0105zywane jesz po\u0142\u0105czenie: \u201e{1}\u201d +SRunWithoutRestrictions=Aplikacja zostanie uruchomiona bez restrykcji bezpiecze\u0144stwa zwykle oferowanych przez Java. SCertificateDetails=Szczeg\u00f3\u0142y certyfikatu # Security - certificate information @@ -301,8 +376,11 @@ # Deployment Configuration messages DCIncorrectValue=W\u0142a\u015bciwo\u015b\u0107 \u201e{0}\u201d zawiera b\u0142\u0119dn\u0105 warto\u015b\u0107 \u201e{1}\u201d. Mo\u017cliwe warto\u015bci s\u0105 {2}. DCInternal=B\u0142\u0105d wewn\u0119trzny: {0} -DCSourceInternal= +DCSourceInternal= DCUnknownSettingWithName=W\u0142a\u015bciwo\u015b\u0107 \u201e{0}\u201d jest nieznana. +DCmaindircheckNotexists=Po wszystkich pr\u00f3bach, Tw\u00f3j katalog konfiguracyjny \u201e{0}\u201d nie istnieje. +DCmaindircheckNotdir=Tw\u00f3j katalog konfiguracyjny \u201e{0}\u201d nie jest katalogiem. +DCmaindircheckRwproblem=Nie mo\u017cna odpowiednio odczyta\u0107/zapisa\u0107 Tw\u00f3j katalog konfiguracyjny \u201e{0}\u201d. # Value Validator messages. Messages should follow "Possible values ..." VVPossibleValues=Mo\u017cliwe warto\u015bci {0} @@ -359,7 +437,8 @@ CPButSettings=Ustawienia... CPButView=Przegl\u0105daj... CPButCertificates=Certyfikaty... -CPButPolicy=Podgl\u0105d/Edytuj w edytorze wytycznej... +CPButSimpleEditor=Edytor uproszczony... +CPButAdvancedEditor=Edytor zaawansowany... # Control Panel - Headers CPHead=Panel sterowania IcedTea-Web @@ -388,7 +467,7 @@ CPTabPolicy=Ustawienia wytycznej # Control Panel - AboutPanel -CPAboutInfo=Ten panel sterowania s\u0142u\u017cy do ustawiania pliku deployments.properties.
Nie wszystkie opcje maj\u0105 efekt, dop\u00f3ki nie zostan\u0105 obj\u0119te implementacj\u0105.
Stosowanie wielu \u015brodowisk uruchomieniowych Java (JRE) jest obecnie nieobs\u0142ugiwane.
+CPAboutInfo=Ten panel sterowania s\u0142u\u017cy do ustawiania pliku deployments.properties.
Nie wszystkie opcje maj\u0105 efekt, dop\u00f3ki nie zostan\u0105 obj\u0119te implementacj\u0105.
Stosowanie wielu \u015brodowisk uruchomieniowych Java (JRE) jest obecnie ograniczone do OpenJDK.
# Control Panel - AdvancedProxySettings APSDialogTitle=Ustawienia sieciowe @@ -406,11 +485,183 @@ APSExceptionInstruction=Odgradzaj ka\u017cd\u0105 pozycj\u0119 \u015brednikiem (;). # Control Panel - DebugginPanel -DPEnableLogging=W\u0142\u0105cz protoko\u0142owanie +CPDebuggingPossibilites=Zapis dziennika +DPEnableLogging=W\u0142\u0105cz usuwanie b\u0142\u0119d\u00f3w +DPEnableLoggingHint=Powoduje zapis wydarze\u0144 usuwania b\u0142\u0119d\u00f3w. R\u00f3wnoznaczne z prze\u0142\u0105cznikami \u201e-verbose\u201d lub \u201eICEDTEAPLUGIN_DEBUG=true\u201d. +DPEnableHeaders=W\u0142\u0105cz nag\u0142\u00f3wki +DPEnableHeadersHint=Wypisuje nag\u0142\u00f3wki, takie jak u\u017cytkownik, pozycja w kodzie i czas, z ka\u017cdym wydarzeniem. +DPEnableFile=Zapisuj dziennik w plik +CPFilesLogsDestDir=Katalog dziennik\u00f3w +CPFilesLogsDestDirResert=Domy\u015blny +DPEnableFileHint=Dziennik b\u0119dzie zapisany w katalogu \u201e{0}\u201d. +DPEnableStds=Zapisuj dziennik w standardowy strumie\u0144 wyj\u015bcia +DPEnableStdsHint=Wydarzenia b\u0119d\u0105 wy\u015bwietlane na wyj\u015bciu standardowym. +DPEnableSyslog=Zapisuj do dziennika systemowego +DPEnableSyslogHint=Wydarzenia b\u0119d\u0105 zapisywane w dzienniku systemowym. DPDisable=Wy\u0142\u0105cz -DPHide=Ukrywaj na starcie -DPShow=Pokazuj na starcie +DPHide=Ukrywaj podczas startu +DPShow=Pokazuj podczas startu +DPShowPluginOnly=Pokazuj podczas startu wtyczki +DPShowJavawsOnly=Pokazuj podczas startu javaws DPJavaConsole=Konsola Java +DPJavaConsoleDisabledHint=Konsola Java jest wy\u0142\u0105czona. U\u017cyj itweb-settings do skonfigurowania widoczno\u015bci konsoli Java. + +# PolicyEditor +PEUsage=policyeditor [-file plik_wytycznej] +PEHelpFlag=Wy\u015bwietl ten komunikat i zako\u0144cz +PEFileFlag=Okre\u015bla \u015bcie\u017ck\u0119 plika wytycznej do otwarcia +PECodebaseFlag=Specify (a) codebase URL(s) to add and/or focus in the editor +PETitle=Edytor wytycznej +PEReadProps=Odczyt w\u0142a\u015bciwo\u015bci systemowych +PEReadPropsDetail=Zezwala aplet-om na odczyt w\u0142a\u015bciwo\u015bci systemowych, np. Twoj\u0105 nazw\u0119 u\u017cytkownika lub lokalizacja Twojego katalogu domowego +PEWriteProps=Zapis w\u0142a\u015bciwo\u015bci systemowych +PEWritePropsDetail=Zezwala aplet-om na zapis w\u0142a\u015bciwo\u015bci systemowych +PEReadFiles=Odczyt z plik\u00f3w lokalnych +PEReadFilesDetail=Zezwala aplet-om na odczyt plik\u00f3w w Twoim katalogu domowym +PEWriteFiles=Zapis w pliki lokalne +PEWriteFilesDetail=Zezwala aplet-om na zapis plik\u00f3w w Twoim katalogu domowym +PEDeleteFiles=Usuni\u0119cie plik\u00f3w lokalnych +PEDeleteFilesDetail=Zezwala aplet-om na usuwanie plik\u00f3w w Twoim katalogu domowym +PEReadSystemFiles=Odczyt wszystkich plik\u00f3w systemu +PEReadSystemFilesDetail=Zezwala aplet-om na odczyt z wszystkich lokalizacji na komputerze +PEWriteSystemFiles=Zapis wszystkich plik\u00f3w systemu +PEWriteSystemFilesDetail=Zezwala aplet-om na zapis do wszystkich lokalizacji na komputerze +PEReadTempFiles=Odczyt z plik\u00f3w tymczasowych +PEReadTempFilesDetail=Zezwala aplet-om na odczyt z Twojego katalogu plik\u00f3w tymczasowych +PEWriteTempFiles=Zapis w pliki tymczasowe +PEWriteTempFilesDetail=Zezwala aplet-om na zapis do Twojego katalogu plik\u00f3w tymczasowych +PEDeleteTempFiles=Usuni\u0119cie plik\u00f3w tymczasowych +PEDeleteTempFilesDetail=Zezwala aplet-om na usuwanie plik\u00f3w z Twojego katalogu plik\u00f3w tymczasowych +PEAWTPermission=Dost\u0119p do systemu okien +PEAWTPermissionDetail=Zezwala aplet-om na ca\u0142kowity dost\u0119p do systemu okien AWT +PEClipboard=Dost\u0119p do schowka +PEClipboardDetail=Zezwala aplet-om na odczyt z i zapis do schowka +PENetwork=Dost\u0119p do sieci +PENetworkDetail=Zezwala aplet-om na tworzenie po\u0142\u0105cze\u0144 sieciowych +PEPrint=Druk dokument\u00f3w +PEPrintDetail=Zezwala aplet-om na wstawianie zada\u0144 drukowania do kolejki +PEPlayAudio=Odtworzenie d\u017awi\u0119k\u00f3w +PEPlayAudioDetail=Zezwala aplet-om na odtwarzanie d\u017awi\u0119k\u00f3w, lecz nie na nagrywanie +PERecordAudio=Nagrywanie d\u017awi\u0119ku +PERecordAudioDetail=Zezwala aplet-om na nagrywanie d\u017awi\u0119ku, lecz nie na odtwarzanie +PEReflection=Introspekcja Java +PEReflectionDetail=Zezwala aplet-om na dost\u0119p do Java Reflection API +PEClassLoader=Pozyskanie \u0142adowarki klas +PEClassLoaderDetail=Zezwala aplet-om na dost\u0119p do systemowej \u0142adowarki klas (cz\u0119sto u\u017cywane z introspekcj\u0105) +PEClassInPackage=Dost\u0119p do innych pakiet\u00f3w +PEClassInPackageDetail=Zezwala aplet-om na dost\u0119p do klas z obcych pakiet\u00f3w (cz\u0119sto u\u017cywane z introspekcj\u0105) +PEDeclaredMembers=Dost\u0119p do prywatnych danych klasy +PEDeclaredMembersDetail=Zezwala na dost\u0119p do danych zwyczajnie ukrytych przed obcymi klasami Java (cz\u0119sto u\u017cywane z introspekcj\u0105) +PEExec=Wykonanie polece\u0144 +PEExecDetail=Zezwala aplet-om na wykonanie polece\u0144 systemowych +PEGetEnv=Pozyskanie zmiennych \u015brodowiskowych +PEGetEnvDetail=Zezwala aplet-om na odczyt zmiennych \u015brodowiskowych +PECouldNotOpen=Nie mo\u017cna otworzy\u0107 pliku wytycznej +PECouldNotSave=Nie mo\u017cna zapisa\u0107 pliku wytycznej +PEAddCodebase=Dodaj baz\u0119 kodu +PERemoveCodebase=Usu\u0144 +PECodebasePrompt=Podaj now\u0105 baz\u0119 kodu +PEGlobalSettings=Wszystkie Applet-y +PESaveChanges=Zapisa\u0107 zmiany przed zako\u0144czeniem? +PEChangesSaved=Zapisano zmiany +PECheckboxLabel=Uprawniena +PECodebaseLabel=Bazy kodu +PEFileMenu=Plik +PEOpenMenuItem=Otw\u00f3rz... +PESaveMenuItem=Zapisz +PESaveAsMenuItem=Zapisz\u00a0jako... +PEExitMenuItem=Zako\u0144cz +PEViewMenu=Widok +PECustomPermissionsItem=Uprawnienia\u00a0dostosowane... +PEFileModified=Ostrze\u017cenie o modyfikacji pliku +PEFileModifiedDetail=Plik wytycznej \u201e{0}\u201d zosta\u0142 zmodyfikowany od jego otwarcia. Czy chcesz go za\u0142adowa\u0107 ponownie? +PEGAccesUnowenedCode=Wykonanie obcego kodu +PEGMediaAccess=Dost\u0119p do medi\u00f3w +PEGrightClick=Kliknij prawym klawiszem myszy, aby ro/zwin\u0105\u0107 +PEGReadFileSystem=Odczyt w system +PEGWriteFileSystem=Zapis w system + +# Policy Editor CustomPolicyViewer +PECPTitle=Podgl\u0105d dostosowanych wytycznych +PECPListLabel=Dalsze wytyczne dla \u201e{0}\u201d +PECPAddButton=Dodaj +PECPRemoveButton=Usu\u0144 +PECPCloseButton=Zamknij +PECPType=typ +PECPTarget=cel +PECPActions=akcja +PECPPrompt=Podaj dostosowane uprawnienie. Pomi\u0144 \u201epermission\u201d lub znaki interpunkcji. + +# PolicyEditor key mnemonics. See KeyEvent.VK_* +# N +# R +# A +# C +# F +# I +# O +# S +# A +# X +# U + +# conole itself labels +CONSOLErungc=Uruchom od\u015bmiecanie +CONSOLErunFinalizers=Uruchom finalizatory +CONSOLErunningFinalizers=Wykonywanie finalizator\u00f3w.... +CONSOLEmemoryInfo=Informacja o pami\u0119ci +CONSOLEsystemProperties=W\u0142a\u015bciwo\u015bci systemowe +CONSOLEclassLoaders=Dost\u0119pne \u0142adowarki klas +CONSOLEthreadList=Lista w\u0105tk\u00f3w +CONSOLEthread=W\u0105tek +CONSOLEnoClassLoaders=Brak informacji o \u0142adowarkach klas +CONSOLEmemoryMax=Pami\u0119\u0107 maksymalnie +CONSOLEmemoryTotal=Pami\u0119\u0107 ca\u0142kowicie +CONSOLEmemoryFree=Pami\u0119\u0107 dost\u0119pna +CONSOLEClean=Wyczy\u015b\u0107 + +# console output pane labels +COPsortCopyAllDate=Sortuj \u201eSkopiuj wszytko\u201d wed\u0142ug daty +COPshowHeaders=Pokazuj nag\u0142\u00f3wki: +COPuser=U\u017cytkownik +COPorigin=Pochodzenie +COPlevel=Poziom +COPdate=Data +COPthread1=W\u0105tek 1 +COPthread2=W\u0105tek 2 +COPShowMessages=Pokazuj komunikaty: +COPstdOut=Standardowy strumie\u0144 wyj\u015bcia +COPstdErr=Standardowy strumie\u0144 b\u0142\u0119d\u00f3w +COPjava=Java +COPplugin=Wtyczka +COPpreInit=Przed\u00a0inicjalizacj\u0105 +COPpluginOnly=Wy\u0142\u0105cznie wtyczka +COPSortBy=Sortuj wed\u0142ug +COPregex=Filtr wyra\u017cenia regularnego +COPAsArrived=Wed\u0142ug pojawienia (bez sortowania) +COPcode=Kod +COPmessage=Komunikat +COPSearch=Szukaj +COPautoRefresh=Auto-od\u015bwie\u017canie +COPrefresh=Od\u015bwie\u017c +COPApply=Zastosuj +COPmark=Zaznacz +COPCopyAllPlain=Skopiuj wszystko (nago) +COPCopyAllRich=Skopiuj wszystko (wzbogacono) +COPnext=Dalej\u00a0>>> +COPprevious=<<<\u00a0Wr\u00f3\u0107 +COPcaseSensitive=Rozr\u00f3\u017cniaj\u00a0wielko\u015b\u0107\u00a0liter +COPincomplete=Niezupe\u0142ne +COPhighlight=Wyr\u00f3\u017cniaj +COPwordWrap=Dziel\u00a0s\u0142owa +COPdebug=Debug +COPinfo=Info +COPpostInit=Po\u00a0inicjalizacji +COPcomplete=Zupe\u0142ne +COPmatch=R\u00f3wne +COPnot=Nie +COPrevert=Odwrotnie +COPclientApp=Aplikacja # Control Panel - DesktopShortcutPanel DSPNeverCreate=Nigdy nie tw\u00f3rz @@ -471,6 +722,8 @@ CVCPDialogTitle=Podgl\u0105d pami\u0119ci podr\u0119cznej CVCPButRefresh=Od\u015bwie\u017c CVCPButDelete=Usu\u0144 +CVCPCleanCache=Wyczy\u015b\u0107 +CVCPCleanCacheTip=Niekt\u00f3re b\u0142\u0119dy mog\u0105 wyst\u0119powa\u0107 z powodu przestarza\u0142ych plik\u00f3w w pami\u0119ci podr\u0119cznej. Przed zg\u0142oszeniem b\u0142\u0119du, prosz\u0119 wyczy\u015bci\u0107 pami\u0119\u0107 podr\u0119czn\u0105 i spr\u00f3bowa\u0107 ponownie uruchomi\u0107 aplikacj\u0119.\\nPami\u0119\u0107 podr\u0119czn\u0105 mo\u017cna wyczy\u015bci\u0107 za pomoc\u0105 polecenia \u201ejavaws -Xclearcache\u201d lub w panelu IcedTea-Web poprzez \u201ePami\u0119\u0107 podr\u0119czna\u201d -> \u201ePrzegl\u0105daj pliki...\u201d -> \u201eWyczy\u015b\u0107\u201d CVCPColLastModified=Data modyfikacji CVCPColSize=Wielko\u015b\u0107 (w bajtach) CVCPColDomain=Domena @@ -580,7 +833,7 @@ APPEXTSECguiPanelCanNotValidate=Nie mo\u017cna potwierdzi\u0107, poniewa\u017c nie mo\u017cna utworzy\u0107 pliku tymczasowego \u201e{0}\u201d. APPEXTSECguiPanelEmptyDoc=Wszystkie bazy dokumentowe musz\u0105 by\u0107 wype\u0142nione APPEXTSECguiPanelEmptyCode=Wszystkie bazy kodu musz\u0105 by\u0107 wype\u0142nione -APPEXTSECguiPanelTableValid=Tabla wygl\u0105da w porz\u0105dku +APPEXTSECguiPanelTableValid=Tabela wygl\u0105da w porz\u0105dku APPEXTSECguiPanelTableInvalid=Tabela niepoprawna z powodu nast\u0119puj\u0105cego b\u0142\u0119du: {0} APPEXTSECguiPanelShowOnlyPermanent=Pokazuj wy\u0142\u0105cznie wpisy sta\u0142e APPEXTSECguiPanelShowOnlyTemporal=Pokazuj wy\u0142\u0105cznie wpisy tymczasowo zadecydowane From omajid at redhat.com Thu Jun 26 14:56:57 2014 From: omajid at redhat.com (Omair Majid) Date: Thu, 26 Jun 2014 10:56:57 -0400 Subject: A pkg-config file for OpenJDK Message-ID: <20140626145657.GA2761@redhat.com> Hi, Over in Fedora, we have received requests from developers asking that compiling JNI programs and liking against the JVM be made easier [0] [1]. Some of the current difficulties include that the VM type (server, client) is not known by other programs and so they have to fall back to guessing where the libjvm.so that they should link against is. One standard approach on Linux for making linking against programs easier is to use pkg-config [1] files. A pkg-config file essentially describes the CFLAGS and LDFLAGS that need to be passed to the compiler and the linker to compile and link a program successfully, without knowing anything other than the name of the program or library to compile/link against. On Fedora/x86_64, such a file might look like (for OpenJDK 8): > jdk=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.5.x86_64 > jre=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.5.x86_64/jre > lib_arch=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.5.x86_64/jre/lib/amd64 > Name: java-1.8.0-openjdk > Description: OpenJDK 8 > Version: 1.8.0.5 > Cflags: -I${jdk}/include -I${jdk}/include/linux > Libs: -L${lib_arch} -L${lib_arch}/server -ljvm -ljava Rather than doing something Fedora-specific, I would like to propose carrying a template of this file upstream as part of the OpenJDK project. Then, each distribution could modify it and change only the bits that are specific to that distribution, and clients can rely on having common or well-known names for everything else. One nice-to-have feature would be keep this file somewhat generic, so other JPackage-style non-OpenJDK JDKs could adapt it too. That's why I have used `java-1.8.0-openjdk` as the name above, but I am open to changing it to whatever the consensus is. Does anyone else have any thoughts or comments about this? Thanks, Omair [0] https://bugzilla.redhat.com/show_bug.cgi?id=449456 [1] https://bugzilla.redhat.com/show_bug.cgi?id=740762 [2] http://people.freedesktop.org/~dbn/pkg-config-guide.html -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From aazores at redhat.com Thu Jun 26 15:04:01 2014 From: aazores at redhat.com (Andrew Azores) Date: Thu, 26 Jun 2014 11:04:01 -0400 Subject: [rfc][icedtea-web] Fix support for signed applets with sandbox permissions in manifest In-Reply-To: <53A99B9B.4040303@redhat.com> References: <5384BC13.5010708@redhat.com> <53A1B7BE.9020308@redhat.com> <53A1D012.7000807@redhat.com> <53A2FBB6.6020204@redhat.com> <53A9841B.3090705@redhat.com> <53A98DCE.1000702@redhat.com> <53A99B9B.4040303@redhat.com> Message-ID: <53AC3661.4080107@redhat.com> On 06/24/2014 11:39 AM, Andrew Azores wrote: > On 06/24/2014 10:40 AM, Jiri Vanek wrote: >> On 06/24/2014 03:58 PM, Andrew Azores wrote: >>> On 06/19/2014 11:03 AM, Jiri Vanek wrote: >>>> On 06/18/2014 07:44 PM, Andrew Azores wrote: >>>>> On 06/18/2014 12:01 PM, Jiri Vanek wrote: >>>>>> On 05/27/2014 06:23 PM, Andrew Azores wrote: >>>>>>> Hi, >>>>>>> >>>>>>> This patch allows signed applets with sandbox permissions >>>>>>> specified in >>>>>>> their manifests to actually >>>>>> >>>>>> >>>>>> How it is dealing with mixed (signed + unsigned code) apps? >>>>> >>>>> I don't have any examples of mixed signing apps with a Permissions >>>>> manifest attribute, but a >>>>> reproducer could be prepared for this case. >>>> >>>> It seems to be under construction... >>>>> >>>>>>> be run sandboxed. This is in contrast to the current behaviour >>>>>>> where >>>>>>> such applets will fail to >>>>>>> launch, and the failure message presented asks the user to try >>>>>>> launching via the Sandbox button next >>>>>>> time. This was because the dialog which presented the Sandbox >>>>>>> button >>>>>>> appeared very early in the >>>>>>> JNLPClassLoader's life cycle - early enough that no security >>>>>>> settings >>>>>>> had yet been set for the >>>>>>> classloader or any of the applet's JAR locations - whereas the >>>>>>> manifest checks were done later, >>>>>>> after these settings would have already been initialized. Fixing >>>>>>> the >>>>>>> issue was not as simple as >>>>>>> doing the manifest checks before presenting the security dialog >>>>>>> because the dialog was presented >>>>>>> part way through the initialization process, where JARs are being >>>>>>> downloaded and checked for >>>>>>> signing, so that the appropriate security dialog could be shown >>>>>>> to the >>>>>>> user. Putting the manifest >>>>>>> checks first would therefore not work properly because the JARs >>>>>>> were >>>>>>> not yet available. This patch >>>>>>> resolves the issue by moving the manifest checks inside the method >>>>>>> which initializes the relevant >>>>>>> security settings, such that the required resources are >>>>>>> available, it >>>>>>> is known what type of applet >>>>>>> is about to be run, but the security settings for the JAR locations >>>>>>> have not yet been initialized >>>>>>> and the applet can thus still be set to run sandboxed safely. >>>>>>> >>>>>>> Additionally, the ManifestAttributesChecker check for the >>>>>>> Permissions >>>>>>> attribute is no longer skipped >>>>>>> when Extended Applet Security is set to the Low level, since this >>>>>>> allows for signed applets with >>>>>>> Sandbox permissions specified in their manifests to run with full >>>>>>> permissions when Low security is set. >>>>>>> >>>>>> >>>>>> Well this concept I do not like. >>>>>> >>>>>> Imho the correct approach is to check the attributes, but do not >>>>>> take >>>>>> any actions (except print warnings eg "normally I would fail because >>>>>> of..,but low security is on". >>>>>> >>>>>> With exception on sandbox attribute - here probably warning >>>>>> (strong one) >>>>>> requesting users attention. >>>>>> >>>>>> What do you think? - Well this dialogue would be good place for >>>>>> run in >>>>>> sandbox button too :) >>>>>> >>>>>> Otherwise the only way how to disable manifest check willbe the >>>>>> deployment property which I added. >>>>> >>>>> Sure. I just *really* am not comfortable with leaving it as-is, >>>>> which means Low Security allows >>>> >>>> I agree. >>>>> applets to be silently granted elevated permissions. I can imagine >>>>> this too easily being abused by a >>>>> malicious applet developer. I'm fine with adding an extra prompt >>>>> here when on Low Security though, >>>>> warning the user that due to the Low Security the applet may be >>>>> granted elevated permissions if it >>>>> is run. >>>> >>>> The dialogue canbe added as separate changeset. >>>> >>>> But for current changeset's behavior I would like the low security >>>> is not affecting *only* >>>> permissions attribute. Other attributes checks will be skipped. >>>>> >>>>>> >>>> ... >>>>>>> - setSecurity(); >>>>>> >>>>>> I'm wondering, setSecurity moved, but setPermissions remained? >>>>> >>>>> You mean initializePermissions? Yea, it didn't have to be moved. >>>> >>>> Still surprising me. >>>> >>>>> >>>>>>> - >>>>>>> - ManifestAttributesChecker mac = new >>>>>>> ManifestAttributesChecker(security, file, signing, >>>>>>> securityDelegate); >>>>>>> - mac.checkAll(); >>>>>>> - >>>>>>> installShutdownHooks(); >>>>>>> >>>>>>> >>>>>>> @@ -592,14 +586,12 @@ public class JNLPClassLoader extends URL >>>>>>> //Check if main jar is found within extensions >>>>>>> foundMainJar = foundMainJar || hasMainInExtensions(); >>>>>>> >>>>>>> + setSecurity(); >>>>>>> + initializeManifestAttributesChecker(); >>>>>>> + mac.checkAll(); >>>>>>> return; >>>>>>> } >>>>>>> - /* >>>>>>> - if (jars == null || jars.length == 0) { >>>>>>> - throw new LaunchException(null, null, >>>>>>> R("LSFatal"), >>>>>>> - R("LCInit"), >>>>>>> R("LFatalVerification"), "No jars!"); >>>>>>> - } >>>>>>> - */ >>>>>> >>>>>> This should probably cam in as separate changset. Hmm.. When it was >>>>>> commented Out actually? :) >>>>> >>>> >>>> then please remove as separate changeset. Together with the hunk a >>>> bit lower. >>>> >>>>>>> >>>>>>> - jarLocationSecurityMap.put(jarDesc.getLocation(), >>>>>>> jarSecurity); >>>>>>> + if (containsUnsignedJar && containsSignedJar) { >>>>>>> + break; >>>>>>> + } >>>>>>> } >>>>>>> >>>>>>> if (containsSignedJar && containsUnsignedJar) { >>>>>>> checkPartialSigningWithUser(); >>>>>>> } >>>>>>> >>>>>>> + initializeManifestAttributesChecker(); >>>>>>> + mac.checkAll(); >>>>>>> + >>>>>>> + for (JARDesc jarDesc : validJars) { >>>>>> >>>>>> There I'm missing something. Why is this secoond field even needed? >>>>>> In any case, please mention it in changelog. >>>>> >>>>> Which second field? "mac"? >>>> >>>> Oh sorry. no. - The validJars. Can you expalin on them? >>>>> >>>>>>> + final URL codebase = getJnlpFileCodebase(); >>>>>>> + final SecurityDesc jarSecurity = >>>>>>> securityDelegate.getCodebaseSecurityDesc(jarDesc, >>>>>>> codebase.getHost()); >>>>>>> + jarLocationSecurityMap.put(jarDesc.getLocation(), >>>>>>> jarSecurity); >>>>>>> + } >>>>>>> + >>>>>>> activateJars(initialJars); >>>>>>> } >>>>>>> + >>>>>>> + private void initializeManifestAttributesChecker() throws >>>>>>> LaunchException { >>>>>>> + if (mac == null) { >>>>>>> + file.getManifestsAttributes().setLoader(this); >>>>>>> + mac = new ManifestAttributesChecker(security, file, >>>>>>> signing, securityDelegate); >>>>>>> + } >>>>>>> + } >>>>>>> + >>>>>>> + private URL getJnlpFileCodebase() { >>>>>>> + final URL codebase; >>>>>>> + if (file.getCodeBase() != null) { >>>>>>> + codebase = file.getCodeBase(); >>>>>>> + } else { >>>>>>> + // FIXME: codebase should be the codebase of the >>>>>>> Main Jar >>>>>>> not >>>>>>> + // the location. Although, it still works in the >>>>>>> current >>>>>>> state. >>>>>>> + codebase = >>>>>>> file.getResources().getMainJAR().getLocation(); >>>>>>> + } >>>>>>> + return codebase; >>>>>>> + } >>>>>>> >>>>>>> /*** >>>>>>> * Checks for the jar that contains the attribute. >>>>>>> @@ -762,13 +780,12 @@ public class JNLPClassLoader extends URL >>>>>>> * @param name attribute to be found >>>>>>> */ >>>>>>> public String checkForAttributeInJars(List jars, >>>>>>> Attributes.Name name) { >>>>>>> - >>>>>>> if (jars.isEmpty()) { >>>>>>> return null; >>>>>>> } >>>>>>> >>>>>>> String result = null; >>>>>>> - >>>>>>> + >>>>>>> // Check main jar >>>>>>> JARDesc mainJarDesc = ResourcesDesc.getMainJAR(jars); >>>>>>> result = >>>>>>> getManifestAttribute(mainJarDesc.getLocation(), name); >>>>>>> @@ -776,7 +793,7 @@ public class JNLPClassLoader extends URL >>>>>>> if (result != null) { >>>>>>> return result; >>>>>>> } >>>>>>> - >>>>>>> + >>>>>>> // Check first jar >>>>>>> JARDesc firstJarDesc = jars.get(0); >>>>>>> result = >>>>>>> getManifestAttribute(firstJarDesc.getLocation(),name); >>>>>>> @@ -2380,12 +2397,15 @@ public class JNLPClassLoader extends URL >>>>>>> } >>>>>>> >>>>>>> public void setRunInSandbox() throws LaunchException { >>>>>>> - if (promptedForSandbox || classLoader.security != null >>>>>>> - || >>>>>>> classLoader.jarLocationSecurityMap.size() != 0) { >>>>>>> + if (runInSandbox && classLoader.security != null >>>>>>> + && >>>>>>> classLoader.jarLocationSecurityMap.size() != 0) { >>>>>> >>>>>> Why have this condition changed in thisway? I would expect >>>>>> promptedForSandbox || runInSandbox || classLoader.security != >>>>>> null && ... >>>>> >>>>> The ClassLoader can end up attempting to automatically set the >>>>> applet to run in sandbox multiple >>>>> times, so that condition would cause it to fail in this situation. >>>>> The condition was very strong >>>>> before on purpose because it was easily possible for the security >>>>> settings to have already been >>>>> applied before the sandboxing option appeared to the user. Now, >>>>> the sandboxing dialog appears well >>>>> beforehand, and automatic sandboxing also happens early enough, so >>>>> this condition has to be slightly >>>>> weakened so that it does allow the call to be performed multiple >>>>> times, but only if the security >>>>> settings have not yet been applied to the classloader/applet. I >>>>> haven't tested this but this >>>>> condition should also work fine: >>>> >>>> >>>> /me consuimg this and hoping /me understand well >>>> %-~ >>>> >>>>> >>>>> runInSandbox && (classLoader.security != null || >>>>> jarLocationSecurityMap.size() != 0) >>>>> >>>>> The classLoader.security and jarLocationSecurityMap conditions >>>>> should really always be "in sync" >>>>> with each other in this regard though. >>>> hmmh. >>>> >>>>> >>>>>> >>>>>>> throw new LaunchException(classLoader.file, null, >>>> >>>>>> +Permissions: sandbox >>>>>> >>>>>> >>>>>> Do we have/need also one with Permissions: all-permissions ? I >>>>>> recall >>>>>> there is something... >>>>> >>>>> I don't think so, but maybe there is. I couldn't find anything >>>>> with a quick grep. >>>>> >>>> ...in progress s I guess >>>>>> >>>> .. >>>>>> >>>>>> >>>>>> Why do you need custom reproducers? The manifest is handled by >>>>>> engine >>>>> >>>>> Ah, I forgot about this. Although a custom reproducer would still >>>>> be needed for the mixed signing >>>>> case, so I can convert this one to mixed and make normal "simple" >>>>> and "signed" ones as well I >>>>> suppose. >>>>> >>>> >>>> good! >>>> ...snip... >>>>>> + assertTrue("Applet should have printed its exit string", >>>>>> pr.stdout.contains(CLOSE_STRING)); >>>>>> + } >>>>>> +} >>>>>> >>>>>> As this test is already known to fail, it can go (after manifest is >>>>>> resolved) in as independent changeset. >>>>>> >>>>>> >>>> >>>> Well except the issue with low security (and few more >>>> expalnationa) I'm ashamed to not have muc >>>> more comments :( >>>> >>>> >>>> J. >>>> >>> >>> Latest version of the patch is attached. initializePermissions was >>> renamed, the comment hunks were >>> removed and done in a separate changeset, and all manifest checks >>> are skipped when on low security >>> with a WARNING_ALL level message logged. Otherwise, no changes from >>> the last patch. >>> >> >> No no. THis is not what I wonted. >> >> As you mentioned - the signed, but with permissions:sandbox app can >> not be run with all permissions. >> So skip all attrributes, except permissions one >> >> The sandbox one should be checked: >> signed: permissions:all-permissions - all permissions >> unsigned: permissions:all-permissions - sandbox >> unsigned: permissions:sandbox - sandbox >> signed: permissions:sandbox - sandbox >> signed: permissions missing - all permissions >> unsigned: permissions missing - sandbox >> >> On low permissions, no asking. >> >> For other then low permissions user should be asked for each except >> signed: permissions:all-permissions >> unsigned: permissions:sandbox >> cases. >> >> But the dialogue can be done as separate changeset (with >> custom-permissions button:) >> >> >> >>> New tests are also on the way and with the new tests will come the >>> fixed version of the previously >>> sent test, which will make be a signed reproducer rather than custom. >>> >> >> J. >> > > Okay, I wasn't sure what you had meant. It didn't seem right to skip > them all but I thought maybe you had something else in mind to > implement to fix it. So here's another attempt. > > Setting deployment.manifest.attributes.check to false causes all > checks to be skipped, except for the Permissions attribute, which is > always checked regardless. Using Low Extended Applet Security causes > the ALACA and Permissions checks to not generate dialogs and assumes > that it's OK to run the applet(s). In the case of the Permissions > attribute, it will still auto sandbox if necessary. Is this what you > wanted? > > Thanks, > And attached is the promised update to the Signed reproducer. Lukasz, if you could please also send the Partial Signing test that we put together. Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: pr1769-reproducer-2.patch Type: text/x-patch Size: 20557 bytes Desc: not available URL: From martijnverburg at gmail.com Thu Jun 26 15:16:38 2014 From: martijnverburg at gmail.com (Martijn Verburg) Date: Thu, 26 Jun 2014 16:16:38 +0100 Subject: A pkg-config file for OpenJDK In-Reply-To: <20140626145657.GA2761@redhat.com> References: <20140626145657.GA2761@redhat.com> Message-ID: Hi Omair, Looks like a good idea to me, we've had a number of issues with this in practice (we have a desktop tool on Linux) - could probably be backported to 7u as well...? Cheers, Martijn On 26 June 2014 15:56, Omair Majid wrote: > Hi, > > Over in Fedora, we have received requests from developers asking that > compiling JNI programs and liking against the JVM be made easier [0] > [1]. Some of the current difficulties include that the VM type (server, > client) is not known by other programs and so they have to fall back to > guessing where the libjvm.so that they should link against is. > > One standard approach on Linux for making linking against programs > easier is to use pkg-config [1] files. > > A pkg-config file essentially describes the CFLAGS and LDFLAGS that need > to be passed to the compiler and the linker to compile and link a > program successfully, without knowing anything other than the name of > the program or library to compile/link against. > > On Fedora/x86_64, such a file might look like (for OpenJDK 8): > > > jdk=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.5.x86_64 > > jre=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.5.x86_64/jre > > lib_arch=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.5.x86_64/jre/lib/amd64 > > > Name: java-1.8.0-openjdk > > Description: OpenJDK 8 > > Version: 1.8.0.5 > > Cflags: -I${jdk}/include -I${jdk}/include/linux > > Libs: -L${lib_arch} -L${lib_arch}/server -ljvm -ljava > > Rather than doing something Fedora-specific, I would like to propose > carrying a template of this file upstream as part of the OpenJDK > project. Then, each distribution could modify it and change only the > bits that are specific to that distribution, and clients can rely on > having common or well-known names for everything else. > > One nice-to-have feature would be keep this file somewhat generic, so > other JPackage-style non-OpenJDK JDKs could adapt it too. That's why I > have used `java-1.8.0-openjdk` as the name above, but I am open to > changing it to whatever the consensus is. > > Does anyone else have any thoughts or comments about this? > > Thanks, > Omair > > [0] https://bugzilla.redhat.com/show_bug.cgi?id=449456 > [1] https://bugzilla.redhat.com/show_bug.cgi?id=740762 > [2] http://people.freedesktop.org/~dbn/pkg-config-guide.html > > -- > PGP Key: 66484681 (http://pgp.mit.edu/) > Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 > -------------- next part -------------- An HTML attachment was scrubbed... URL: From gitne at icedtea.classpath.org Thu Jun 26 15:24:11 2014 From: gitne at icedtea.classpath.org (gitne at icedtea.classpath.org) Date: Thu, 26 Jun 2014 15:24:11 +0000 Subject: /hg/icedtea-web: ConsoleOutputPane formatting fixes & cleanup Message-ID: changeset 1c5922c7b7b0 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=1c5922c7b7b0 author: Jacob Wisor date: Thu Jun 26 17:22:11 2014 +0200 ConsoleOutputPane formatting fixes & cleanup 2014-06-26 Jacob Wisor * netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPane.java: Formatting fixes & cleanup Made final classes, members, and variables final diffstat: ChangeLog | 8 +- netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPane.java | 596 +++++---- 2 files changed, 312 insertions(+), 292 deletions(-) diffs (truncated from 1033 to 500 lines): diff -r c807bb1f0df7 -r 1c5922c7b7b0 ChangeLog --- a/ChangeLog Thu Jun 26 15:59:18 2014 +0200 +++ b/ChangeLog Thu Jun 26 17:22:11 2014 +0200 @@ -1,3 +1,9 @@ +2014-06-26 Jacob Wisor + + * netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPane.java: Formatting + fixes & cleanup + Made final classes, members, and variables final + 2014-06-26 Jacob Wisor * netx/net/sourceforge/jnlp/resources/Messages_pl.properties: Add new PL @@ -5,7 +11,7 @@ 2014-06-25 Andrew Azores - * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java + * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java: (setupLayout) use SwingUtilities.getWindowAncestor() rather than manually searching diff -r c807bb1f0df7 -r 1c5922c7b7b0 netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPane.java --- a/netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPane.java Thu Jun 26 15:59:18 2014 +0200 +++ b/netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPane.java Thu Jun 26 17:22:11 2014 +0200 @@ -1,6 +1,8 @@ package net.sourceforge.jnlp.util.logging; import java.awt.Color; +import java.awt.BorderLayout; +import java.awt.EventQueue; import java.awt.Toolkit; import java.awt.datatransfer.Clipboard; import java.awt.datatransfer.StringSelection; @@ -17,9 +19,22 @@ import java.util.regex.Pattern; import javax.swing.ButtonGroup; +import javax.swing.DefaultComboBoxModel; +import javax.swing.GroupLayout; +import javax.swing.JButton; +import javax.swing.JCheckBox; +import javax.swing.JComboBox; +import javax.swing.JEditorPane; import javax.swing.JFrame; +import javax.swing.JLabel; import javax.swing.JMenuItem; +import javax.swing.JPanel; import javax.swing.JPopupMenu; +import javax.swing.JRadioButton; +import javax.swing.JScrollPane; +import javax.swing.JTextField; +import javax.swing.JTextPane; +import javax.swing.LayoutStyle; import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentListener; import javax.swing.text.BadLocationException; @@ -32,17 +47,17 @@ import net.sourceforge.jnlp.runtime.Translator; import net.sourceforge.jnlp.util.logging.headers.ObservableMessagesProvider; -public class ConsoleOutputPane extends javax.swing.JPanel implements Observer { +public class ConsoleOutputPane extends JPanel implements Observer { private boolean canChange = true; @Override - public synchronized void update(Observable o, Object arg) { + public synchronized void update(final Observable o, final Object arg) { boolean force = false; - if ( arg!= null && arg instanceof Boolean && ((Boolean)arg).booleanValue()) { + if (arg instanceof Boolean && ((Boolean)arg).booleanValue()) { force = true; } - if (force){ + if (force) { refreshPane(); return; } @@ -50,7 +65,7 @@ statistics.setText(model.createStatisticHint()); return; } - boolean passed = model.shouldUpdate(); + final boolean passed = model.shouldUpdate(); if (!passed) { statistics.setText(model.createStatisticHint()); @@ -62,15 +77,64 @@ } else { refreshPane(); } + } - } - private ConsoleOutputPaneModel model; + private final ConsoleOutputPaneModel model; private int lastPostion; //index of search - private DefaultHighlighter.DefaultHighlightPainter searchHighligh = new DefaultHighlighter.DefaultHighlightPainter(Color.blue); + private final DefaultHighlighter.DefaultHighlightPainter searchHighligh = new DefaultHighlighter.DefaultHighlightPainter(Color.blue); private Object lastSearchTag; - public ConsoleOutputPane(ObservableMessagesProvider dataProvider) { + public ConsoleOutputPane(final ObservableMessagesProvider dataProvider) { model = new ConsoleOutputPaneModel(dataProvider); + // Create final JComponents members + jPanel2 = new JPanel(); + showHeaders = new JCheckBox(); + showUser = new JCheckBox(); + sortCopyAll = new JCheckBox(); + showOrigin = new JCheckBox(); + showLevel = new JCheckBox(); + showDate = new JCheckBox(); + showThread1 = new JCheckBox(); + showThread2 = new JCheckBox(); + showMessage = new JCheckBox(); + showOut = new JCheckBox(); + showErr = new JCheckBox(); + showJava = new JCheckBox(); + showPlugin = new JCheckBox(); + showPreInit = new JCheckBox(); + sortByLabel = new JLabel(); + regExLabel = new JCheckBox(); + sortBy = new JComboBox<>(); + searchLabel = new JLabel(); + autorefresh = new JCheckBox(); + refresh = new JButton(); + apply = new JButton(); + regExFilter = new JTextField(); + copyPlain = new JButton(); + copyRich = new JButton(); + next = new JButton(); + previous = new JButton(); + search = new JTextField(); + caseSensitive = new JCheckBox(); + showIncomplete = new JCheckBox(); + highLight = new JCheckBox(); + wordWrap = new JCheckBox(); + showDebug = new JCheckBox(); + showInfo = new JCheckBox(); + showItw = new JCheckBox(); + showApp = new JCheckBox(); + showCode = new JCheckBox(); + statistics = new JLabel(); + showPostInit = new JCheckBox(); + showComplete = new JCheckBox(); + match = new JRadioButton(); + notMatch = new JRadioButton(); + revertSort = new JCheckBox(); + mark = new JCheckBox(); + jScrollPane1 = new JScrollPane(); + jEditorPane1 = new JTextPane(); + showHide = new JButton(); + insertChars = new JPopupMenu(); initComponents(); regExFilter.setText(ConsoleOutputPaneModel.defaultPattern.pattern()); if (!LogConfig.getLogConfig().isEnableHeaders()) { @@ -92,24 +156,24 @@ regExFilter.getDocument().addDocumentListener(new DocumentListener() { @Override - public void insertUpdate(DocumentEvent e) { + public final void insertUpdate(final DocumentEvent e) { colorize(); } @Override - public void removeUpdate(DocumentEvent e) { + public final void removeUpdate(final DocumentEvent e) { colorize(); } @Override - public void changedUpdate(DocumentEvent e) { + public final void changedUpdate(final DocumentEvent e) { colorize(); } - private void colorize() { + private final void colorize() { try { - String s = regExFilter.getText(); - Pattern p = Pattern.compile(s); + final String s = regExFilter.getText(); + final Pattern p = Pattern.compile(s); model.lastValidPattern = p; regExLabel.setForeground(Color.green); } catch (Exception ex) { @@ -120,11 +184,11 @@ regExFilter.addMouseListener(new MouseAdapter() { @Override - public void mouseClicked(final MouseEvent e) { - java.awt.EventQueue.invokeLater(new Runnable() { + public final void mouseClicked(final MouseEvent e) { + EventQueue.invokeLater(new Runnable() { @Override - public void run() { + public final void run() { try { if (e.getButton() != MouseEvent.BUTTON3) { insertChars.setVisible(false); @@ -142,14 +206,14 @@ regExFilter.addKeyListener(new KeyAdapter() { @Override - public void keyPressed(final KeyEvent e) { + public final void keyPressed(final KeyEvent e) { if (e.getKeyCode() != KeyEvent.VK_CONTEXT_MENU) { return; } - java.awt.EventQueue.invokeLater(new Runnable() { + EventQueue.invokeLater(new Runnable() { @Override - public void run() { + public final void run() { try{ insertChars.setLocation(regExFilter.getLocationOnScreen()); insertChars.setVisible(!insertChars.isVisible()); @@ -161,31 +225,31 @@ } }); - ButtonGroup matches = new ButtonGroup(); + final ButtonGroup matches = new ButtonGroup(); matches.add(match); matches.add(notMatch); showHideActionPerformed(null); updateModel(); refreshPane(); - } - private ActionListener createDefaultAction() { + private final ActionListener createDefaultAction() { return new ActionListener() { @Override - public void actionPerformed(java.awt.event.ActionEvent evt) { + public final void actionPerformed(final ActionEvent evt) { refreshAction(); } }; } - ActionListener defaultActionSingleton = createDefaultAction(); - private ActionListener getDefaultActionSingleton() { + final ActionListener defaultActionSingleton = createDefaultAction(); + + private final ActionListener getDefaultActionSingleton() { return defaultActionSingleton; } - private synchronized void refreshPane() { + private synchronized final void refreshPane() { if (highLight.isSelected()) { jEditorPane1.setContentType("text/html"); } else { @@ -196,20 +260,20 @@ } /** * when various threads update (and it can be)underlying jeditorpane - * simultanouskly, then it can lead to unpredictible issues synchroisation - * is doen in invoe later + * simultaneously, then it can lead to unpredictable issues synchronization + * is done in invoke later */ - private AtomicBoolean done = new AtomicBoolean(true); + private final AtomicBoolean done = new AtomicBoolean(true); - private synchronized void updatePane(final boolean reset) { + private synchronized final void updatePane(final boolean reset) { if (!done.get()) { return; } done.set(false); - java.awt.EventQueue.invokeLater(new Runnable() { + EventQueue.invokeLater(new Runnable() { @Override - public void run() { + public final void run() { try { refreshPaneBody(reset); } catch (Exception ex) { @@ -221,11 +285,11 @@ }); } - private void refreshPaneBody(final boolean reset) throws BadLocationException, IOException { + private final void refreshPaneBody(final boolean reset) throws BadLocationException, IOException { if (reset) { jEditorPane1.setText(model.importList(0)); } else { - String s = model.importList(); + final String s = model.importList(); if (highLight.isSelected()) { HTMLDocument orig = (HTMLDocument) jEditorPane1.getDocument(); if (revertSort.isSelected()) { @@ -249,57 +313,9 @@ statistics.setText(model.createStatisticHint()); } - private void initComponents() { - - jPanel2 = new javax.swing.JPanel(); - showHeaders = new javax.swing.JCheckBox(); - showUser = new javax.swing.JCheckBox(); - sortCopyAll = new javax.swing.JCheckBox(); - showOrigin = new javax.swing.JCheckBox(); - showLevel = new javax.swing.JCheckBox(); - showDate = new javax.swing.JCheckBox(); - showThread1 = new javax.swing.JCheckBox(); - showThread2 = new javax.swing.JCheckBox(); - showMessage = new javax.swing.JCheckBox(); - showOut = new javax.swing.JCheckBox(); - showErr = new javax.swing.JCheckBox(); - showJava = new javax.swing.JCheckBox(); - showPlugin = new javax.swing.JCheckBox(); - showPreInit = new javax.swing.JCheckBox(); - sortByLabel = new javax.swing.JLabel(); - regExLabel = new javax.swing.JCheckBox(); - sortBy = new javax.swing.JComboBox<>(); - searchLabel = new javax.swing.JLabel(); - autorefresh = new javax.swing.JCheckBox(); - refresh = new javax.swing.JButton(); - apply = new javax.swing.JButton(); - regExFilter = new javax.swing.JTextField(); - //this is crucial, otherwie PalinDocument implementatin is repalcing all \n by space - ((PlainDocument) regExFilter.getDocument()).getDocumentProperties().remove("filterNewlines"); - copyPlain = new javax.swing.JButton(); - copyRich = new javax.swing.JButton(); - next = new javax.swing.JButton(); - previous = new javax.swing.JButton(); - search = new javax.swing.JTextField(); - caseSensitive = new javax.swing.JCheckBox(); - showIncomplete = new javax.swing.JCheckBox(); - highLight = new javax.swing.JCheckBox(); - wordWrap = new javax.swing.JCheckBox(); - showDebug = new javax.swing.JCheckBox(); - showInfo = new javax.swing.JCheckBox(); - showItw = new javax.swing.JCheckBox(); - showApp = new javax.swing.JCheckBox(); - showCode = new javax.swing.JCheckBox(); - statistics = new javax.swing.JLabel(); - showPostInit = new javax.swing.JCheckBox(); - showComplete = new javax.swing.JCheckBox(); - match = new javax.swing.JRadioButton(); - notMatch = new javax.swing.JRadioButton(); - revertSort = new javax.swing.JCheckBox(); - mark = new javax.swing.JCheckBox(); - jScrollPane1 = new javax.swing.JScrollPane(); - jEditorPane1 = new javax.swing.JTextPane(); - showHide = new javax.swing.JButton(); + private final void initComponents() { + //this is crucial, otherwie PlainDocument implementatin is repalcing all \n by space + ((PlainDocument)regExFilter.getDocument()).getDocumentProperties().remove("filterNewlines"); sortCopyAll.setSelected(true); sortCopyAll.setText(Translator.R("COPsortCopyAllDate")); @@ -363,7 +379,7 @@ regExLabel.setText(Translator.R("COPregex") + ":"); regExLabel.addActionListener(getDefaultActionSingleton()); - sortBy.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { + sortBy.setModel(new DefaultComboBoxModel<>(new String[] { Translator.R("COPAsArrived"), Translator.R("COPuser"), Translator.R("COPorigin"), @@ -384,10 +400,10 @@ refresh.addActionListener(getDefaultActionSingleton()); apply.setText(Translator.R("COPApply")); - apply.addActionListener(new java.awt.event.ActionListener() { + apply.addActionListener(new ActionListener() { @Override - public void actionPerformed(java.awt.event.ActionEvent evt) { + public final void actionPerformed(final ActionEvent evt) { model.usedPattern = model.lastValidPattern; refreshAction(); } @@ -396,37 +412,37 @@ regExFilter.setText(".*"); copyPlain.setText(Translator.R("COPCopyAllPlain")); - copyPlain.addActionListener(new java.awt.event.ActionListener() { + copyPlain.addActionListener(new ActionListener() { @Override - public void actionPerformed(java.awt.event.ActionEvent evt) { + public final void actionPerformed(final ActionEvent evt) { copyPlainActionPerformed(evt); } }); copyRich.setText(Translator.R("COPCopyAllRich")); - copyRich.addActionListener(new java.awt.event.ActionListener() { + copyRich.addActionListener(new ActionListener() { @Override - public void actionPerformed(java.awt.event.ActionEvent evt) { + public final void actionPerformed(final ActionEvent evt) { copyRichActionPerformed(evt); } }); next.setText(Translator.R("COPnext")); - next.addActionListener(new java.awt.event.ActionListener() { + next.addActionListener(new ActionListener() { @Override - public void actionPerformed(java.awt.event.ActionEvent evt) { + public final void actionPerformed(final ActionEvent evt) { nextActionPerformed(evt); } }); previous.setText(Translator.R("COPprevious")); - previous.addActionListener(new java.awt.event.ActionListener() { + previous.addActionListener(new ActionListener() { @Override - public void actionPerformed(java.awt.event.ActionEvent evt) { + public final void actionPerformed(final ActionEvent evt) { previousActionPerformed(evt); } }); @@ -489,81 +505,81 @@ revertSort.addActionListener(getDefaultActionSingleton()); mark.setText(Translator.R("COPmark")); - mark.addActionListener(new java.awt.event.ActionListener() { + mark.addActionListener(new ActionListener() { @Override - public void actionPerformed(java.awt.event.ActionEvent evt) { + public final void actionPerformed(final ActionEvent evt) { markActionPerformed(evt); } }); - javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2); + final GroupLayout jPanel2Layout = new GroupLayout(jPanel2); jPanel2.setLayout(jPanel2Layout); jPanel2Layout.setHorizontalGroup( jPanel2Layout.createParallelGroup( - javax.swing.GroupLayout.Alignment.LEADING). + GroupLayout.Alignment.LEADING). addGroup( jPanel2Layout.createSequentialGroup().addContainerGap().addGroup( - jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING). + jPanel2Layout.createParallelGroup(GroupLayout.Alignment.LEADING). addGroup( jPanel2Layout.createSequentialGroup(). - addComponent(showHeaders).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED). - addComponent(showUser).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED). - addComponent(showOrigin).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED). - addComponent(showLevel).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED). - addComponent(showDate).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED). - addComponent(showCode).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED). - addComponent(showThread1).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + addComponent(showHeaders).addPreferredGap(LayoutStyle.ComponentPlacement.RELATED). + addComponent(showUser).addPreferredGap(LayoutStyle.ComponentPlacement.UNRELATED). + addComponent(showOrigin).addPreferredGap(LayoutStyle.ComponentPlacement.RELATED). + addComponent(showLevel).addPreferredGap(LayoutStyle.ComponentPlacement.UNRELATED). + addComponent(showDate).addPreferredGap(LayoutStyle.ComponentPlacement.RELATED). + addComponent(showCode).addPreferredGap(LayoutStyle.ComponentPlacement.RELATED). + addComponent(showThread1).addPreferredGap(LayoutStyle.ComponentPlacement.RELATED) .addComponent(showThread2)). addGroup(jPanel2Layout.createSequentialGroup().addGroup( - jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING).addGroup( - javax.swing.GroupLayout.Alignment.LEADING, jPanel2Layout.createSequentialGroup() - .addComponent(previous).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED). - addComponent(mark).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED). - addComponent(next).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 15, Short.MAX_VALUE). - addComponent(wordWrap).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED). - addComponent(highLight).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED). - addComponent(sortCopyAll).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED). - addComponent(copyRich).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED). - addComponent(copyPlain)).addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel2Layout.createSequentialGroup(). - addComponent(searchLabel).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED). - addComponent(search, javax.swing.GroupLayout.DEFAULT_SIZE, 438, Short.MAX_VALUE).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED). + jPanel2Layout.createParallelGroup(GroupLayout.Alignment.TRAILING).addGroup( + GroupLayout.Alignment.LEADING, jPanel2Layout.createSequentialGroup() + .addComponent(previous).addPreferredGap(LayoutStyle.ComponentPlacement.RELATED). + addComponent(mark).addPreferredGap(LayoutStyle.ComponentPlacement.RELATED). + addComponent(next).addPreferredGap(LayoutStyle.ComponentPlacement.RELATED, 15, Short.MAX_VALUE). + addComponent(wordWrap).addPreferredGap(LayoutStyle.ComponentPlacement.RELATED). + addComponent(highLight).addPreferredGap(LayoutStyle.ComponentPlacement.RELATED). + addComponent(sortCopyAll).addPreferredGap(LayoutStyle.ComponentPlacement.RELATED). + addComponent(copyRich).addPreferredGap(LayoutStyle.ComponentPlacement.RELATED). + addComponent(copyPlain)).addGroup(GroupLayout.Alignment.LEADING, jPanel2Layout.createSequentialGroup(). + addComponent(searchLabel).addPreferredGap(LayoutStyle.ComponentPlacement.RELATED). + addComponent(search, GroupLayout.DEFAULT_SIZE, 438, Short.MAX_VALUE).addPreferredGap(LayoutStyle.ComponentPlacement.RELATED). addComponent(caseSensitive)).addGroup( - javax.swing.GroupLayout.Alignment.LEADING, jPanel2Layout.createSequentialGroup(). - addComponent(showMessage).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED). From gitne at icedtea.classpath.org Thu Jun 26 15:53:14 2014 From: gitne at icedtea.classpath.org (gitne at icedtea.classpath.org) Date: Thu, 26 Jun 2014 15:53:14 +0000 Subject: /hg/release/icedtea-web-1.5: ConsoleOutputPane formatting fixes ... Message-ID: changeset 93a3b303c280 in /hg/release/icedtea-web-1.5 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.5?cmd=changeset;node=93a3b303c280 author: Jacob Wisor date: Thu Jun 26 17:52:52 2014 +0200 ConsoleOutputPane formatting fixes & cleanup 2014-06-26 Jacob Wisor * netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPane.java: Formatting fixes & cleanup Made final classes, members, and variables final diffstat: ChangeLog | 6 + netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPane.java | 597 +++++---- 2 files changed, 312 insertions(+), 291 deletions(-) diffs (truncated from 1032 to 500 lines): diff -r 1dd36639ec69 -r 93a3b303c280 ChangeLog --- a/ChangeLog Thu Jun 26 16:32:48 2014 +0200 +++ b/ChangeLog Thu Jun 26 17:52:52 2014 +0200 @@ -1,3 +1,9 @@ +2014-06-26 Jacob Wisor + + * netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPane.java: Formatting + fixes & cleanup + Made final classes, members, and variables final + 2014-06-26 Jacob Wisor * netx/net/sourceforge/jnlp/resources/Messages_pl.properties: Add new PL diff -r 1dd36639ec69 -r 93a3b303c280 netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPane.java --- a/netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPane.java Thu Jun 26 16:32:48 2014 +0200 +++ b/netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPane.java Thu Jun 26 17:52:52 2014 +0200 @@ -1,6 +1,8 @@ package net.sourceforge.jnlp.util.logging; import java.awt.Color; +import java.awt.BorderLayout; +import java.awt.EventQueue; import java.awt.Toolkit; import java.awt.datatransfer.Clipboard; import java.awt.datatransfer.StringSelection; @@ -16,9 +18,22 @@ import java.util.concurrent.atomic.AtomicBoolean; import java.util.regex.Pattern; import javax.swing.ButtonGroup; +import javax.swing.DefaultComboBoxModel; +import javax.swing.GroupLayout; +import javax.swing.JButton; +import javax.swing.JCheckBox; +import javax.swing.JComboBox; +import javax.swing.JEditorPane; import javax.swing.JFrame; +import javax.swing.JLabel; import javax.swing.JMenuItem; +import javax.swing.JPanel; import javax.swing.JPopupMenu; +import javax.swing.JRadioButton; +import javax.swing.JScrollPane; +import javax.swing.JTextField; +import javax.swing.JTextPane; +import javax.swing.LayoutStyle; import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentListener; import javax.swing.text.BadLocationException; @@ -30,17 +45,17 @@ import net.sourceforge.jnlp.runtime.Translator; import net.sourceforge.jnlp.util.logging.headers.ObservableMessagesProvider; -public class ConsoleOutputPane extends javax.swing.JPanel implements Observer { +public class ConsoleOutputPane extends JPanel implements Observer { private boolean canChange = true; @Override - public synchronized void update(Observable o, Object arg) { + public synchronized void update(final Observable o, final Object arg) { boolean force = false; - if ( arg!= null && arg instanceof Boolean && ((Boolean)arg).booleanValue()) { + if (arg instanceof Boolean && ((Boolean)arg).booleanValue()) { force = true; } - if (force){ + if (force) { refreshPane(); return; } @@ -48,7 +63,7 @@ statistics.setText(model.createStatisticHint()); return; } - boolean passed = model.shouldUpdate(); + final boolean passed = model.shouldUpdate(); if (!passed) { statistics.setText(model.createStatisticHint()); @@ -60,15 +75,64 @@ } else { refreshPane(); } + } - } - private ConsoleOutputPaneModel model; + private final ConsoleOutputPaneModel model; private int lastPostion; //index of search - private DefaultHighlighter.DefaultHighlightPainter searchHighligh = new DefaultHighlighter.DefaultHighlightPainter(Color.blue); + private final DefaultHighlighter.DefaultHighlightPainter searchHighligh = new DefaultHighlighter.DefaultHighlightPainter(Color.blue); private Object lastSearchTag; - public ConsoleOutputPane(ObservableMessagesProvider dataProvider) { + public ConsoleOutputPane(final ObservableMessagesProvider dataProvider) { model = new ConsoleOutputPaneModel(dataProvider); + // Create final JComponents members + jPanel2 = new JPanel(); + showHeaders = new JCheckBox(); + showUser = new JCheckBox(); + sortCopyAll = new JCheckBox(); + showOrigin = new JCheckBox(); + showLevel = new JCheckBox(); + showDate = new JCheckBox(); + showThread1 = new JCheckBox(); + showThread2 = new JCheckBox(); + showMessage = new JCheckBox(); + showOut = new JCheckBox(); + showErr = new JCheckBox(); + showJava = new JCheckBox(); + showPlugin = new JCheckBox(); + showPreInit = new JCheckBox(); + sortByLabel = new JLabel(); + regExLabel = new JCheckBox(); + sortBy = new JComboBox<>(); + searchLabel = new JLabel(); + autorefresh = new JCheckBox(); + refresh = new JButton(); + apply = new JButton(); + regExFilter = new JTextField(); + copyPlain = new JButton(); + copyRich = new JButton(); + next = new JButton(); + previous = new JButton(); + search = new JTextField(); + caseSensitive = new JCheckBox(); + showIncomplete = new JCheckBox(); + highLight = new JCheckBox(); + wordWrap = new JCheckBox(); + showDebug = new JCheckBox(); + showInfo = new JCheckBox(); + showItw = new JCheckBox(); + showApp = new JCheckBox(); + showCode = new JCheckBox(); + statistics = new JLabel(); + showPostInit = new JCheckBox(); + showComplete = new JCheckBox(); + match = new JRadioButton(); + notMatch = new JRadioButton(); + revertSort = new JCheckBox(); + mark = new JCheckBox(); + jScrollPane1 = new JScrollPane(); + jEditorPane1 = new JTextPane(); + showHide = new JButton(); + insertChars = new JPopupMenu(); initComponents(); regExFilter.setText(ConsoleOutputPaneModel.defaultPattern.pattern()); if (!LogConfig.getLogConfig().isEnableHeaders()) { @@ -90,24 +154,24 @@ regExFilter.getDocument().addDocumentListener(new DocumentListener() { @Override - public void insertUpdate(DocumentEvent e) { + public final void insertUpdate(final DocumentEvent e) { colorize(); } @Override - public void removeUpdate(DocumentEvent e) { + public final void removeUpdate(final DocumentEvent e) { colorize(); } @Override - public void changedUpdate(DocumentEvent e) { + public final void changedUpdate(final DocumentEvent e) { colorize(); } - private void colorize() { + private final void colorize() { try { - String s = regExFilter.getText(); - Pattern p = Pattern.compile(s); + final String s = regExFilter.getText(); + final Pattern p = Pattern.compile(s); model.lastValidPattern = p; regExLabel.setForeground(Color.green); } catch (Exception ex) { @@ -118,11 +182,11 @@ regExFilter.addMouseListener(new MouseAdapter() { @Override - public void mouseClicked(final MouseEvent e) { - java.awt.EventQueue.invokeLater(new Runnable() { + public final void mouseClicked(final MouseEvent e) { + EventQueue.invokeLater(new Runnable() { @Override - public void run() { + public final void run() { try { if (e.getButton() != MouseEvent.BUTTON3) { insertChars.setVisible(false); @@ -140,14 +204,14 @@ regExFilter.addKeyListener(new KeyAdapter() { @Override - public void keyPressed(final KeyEvent e) { + public final void keyPressed(final KeyEvent e) { if (e.getKeyCode() != KeyEvent.VK_CONTEXT_MENU) { return; } - java.awt.EventQueue.invokeLater(new Runnable() { + EventQueue.invokeLater(new Runnable() { @Override - public void run() { + public final void run() { try{ insertChars.setLocation(regExFilter.getLocationOnScreen()); insertChars.setVisible(!insertChars.isVisible()); @@ -159,31 +223,31 @@ } }); - ButtonGroup matches = new ButtonGroup(); + final ButtonGroup matches = new ButtonGroup(); matches.add(match); matches.add(notMatch); showHideActionPerformed(null); updateModel(); refreshPane(); - } - private ActionListener createDefaultAction() { + private final ActionListener createDefaultAction() { return new ActionListener() { @Override - public void actionPerformed(java.awt.event.ActionEvent evt) { + public final void actionPerformed(final ActionEvent evt) { refreshAction(); } }; } - ActionListener defaultActionSingleton = createDefaultAction(); - private ActionListener getDefaultActionSingleton() { + final ActionListener defaultActionSingleton = createDefaultAction(); + + private final ActionListener getDefaultActionSingleton() { return defaultActionSingleton; } - private synchronized void refreshPane() { + private synchronized final void refreshPane() { if (highLight.isSelected()) { jEditorPane1.setContentType("text/html"); } else { @@ -194,20 +258,20 @@ } /** * when various threads update (and it can be)underlying jeditorpane - * simultanouskly, then it can lead to unpredictible issues synchroisation - * is doen in invoe later + * simultaneously, then it can lead to unpredictable issues synchronization + * is done in invoke later */ - private AtomicBoolean done = new AtomicBoolean(true); + private final AtomicBoolean done = new AtomicBoolean(true); - private synchronized void updatePane(final boolean reset) { + private synchronized final void updatePane(final boolean reset) { if (!done.get()) { return; } done.set(false); - java.awt.EventQueue.invokeLater(new Runnable() { + EventQueue.invokeLater(new Runnable() { @Override - public void run() { + public final void run() { try { refreshPaneBody(reset); } catch (Exception ex) { @@ -219,11 +283,11 @@ }); } - private void refreshPaneBody(final boolean reset) throws BadLocationException, IOException { + private final void refreshPaneBody(final boolean reset) throws BadLocationException, IOException { if (reset) { jEditorPane1.setText(model.importList(0)); } else { - String s = model.importList(); + final String s = model.importList(); if (highLight.isSelected()) { HTMLDocument orig = (HTMLDocument) jEditorPane1.getDocument(); if (revertSort.isSelected()) { @@ -249,56 +313,8 @@ @SuppressWarnings("unchecked") private void initComponents() { - - jPanel2 = new javax.swing.JPanel(); - showHeaders = new javax.swing.JCheckBox(); - showUser = new javax.swing.JCheckBox(); - sortCopyAll = new javax.swing.JCheckBox(); - showOrigin = new javax.swing.JCheckBox(); - showLevel = new javax.swing.JCheckBox(); - showDate = new javax.swing.JCheckBox(); - showThread1 = new javax.swing.JCheckBox(); - showThread2 = new javax.swing.JCheckBox(); - showMessage = new javax.swing.JCheckBox(); - showOut = new javax.swing.JCheckBox(); - showErr = new javax.swing.JCheckBox(); - showJava = new javax.swing.JCheckBox(); - showPlugin = new javax.swing.JCheckBox(); - showPreInit = new javax.swing.JCheckBox(); - sortByLabel = new javax.swing.JLabel(); - regExLabel = new javax.swing.JCheckBox(); - sortBy = new javax.swing.JComboBox(); - searchLabel = new javax.swing.JLabel(); - autorefresh = new javax.swing.JCheckBox(); - refresh = new javax.swing.JButton(); - apply = new javax.swing.JButton(); - regExFilter = new javax.swing.JTextField(); - //this is crucial, otherwie PalinDocument implementatin is repalcing all \n by space - ((PlainDocument) regExFilter.getDocument()).getDocumentProperties().remove("filterNewlines"); - copyPlain = new javax.swing.JButton(); - copyRich = new javax.swing.JButton(); - next = new javax.swing.JButton(); - previous = new javax.swing.JButton(); - search = new javax.swing.JTextField(); - caseSensitive = new javax.swing.JCheckBox(); - showIncomplete = new javax.swing.JCheckBox(); - highLight = new javax.swing.JCheckBox(); - wordWrap = new javax.swing.JCheckBox(); - showDebug = new javax.swing.JCheckBox(); - showInfo = new javax.swing.JCheckBox(); - showItw = new javax.swing.JCheckBox(); - showApp = new javax.swing.JCheckBox(); - showCode = new javax.swing.JCheckBox(); - statistics = new javax.swing.JLabel(); - showPostInit = new javax.swing.JCheckBox(); - showComplete = new javax.swing.JCheckBox(); - match = new javax.swing.JRadioButton(); - notMatch = new javax.swing.JRadioButton(); - revertSort = new javax.swing.JCheckBox(); - mark = new javax.swing.JCheckBox(); - jScrollPane1 = new javax.swing.JScrollPane(); - jEditorPane1 = new javax.swing.JTextPane(); - showHide = new javax.swing.JButton(); + //this is crucial, otherwie PlainDocument implementatin is repalcing all \n by space + ((PlainDocument)regExFilter.getDocument()).getDocumentProperties().remove("filterNewlines"); sortCopyAll.setSelected(true); sortCopyAll.setText(Translator.R("COPsortCopyAllDate")); @@ -362,7 +378,7 @@ regExLabel.setText(Translator.R("COPregex") + ":"); regExLabel.addActionListener(getDefaultActionSingleton()); - sortBy.setModel(new javax.swing.DefaultComboBoxModel(new String[]{ + sortBy.setModel(new DefaultComboBoxModel(new String[] { Translator.R("COPAsArrived"), Translator.R("COPuser"), Translator.R("COPorigin"), @@ -371,7 +387,8 @@ Translator.R("COPcode"), Translator.R("COPthread1"), Translator.R("COPthread2"), - Translator.R("COPmessage")})); + Translator.R("COPmessage") + })); sortBy.addActionListener(getDefaultActionSingleton()); searchLabel.setText(Translator.R("COPSearch") + ":"); @@ -383,10 +400,10 @@ refresh.addActionListener(getDefaultActionSingleton()); apply.setText(Translator.R("COPApply")); - apply.addActionListener(new java.awt.event.ActionListener() { + apply.addActionListener(new ActionListener() { @Override - public void actionPerformed(java.awt.event.ActionEvent evt) { + public final void actionPerformed(final ActionEvent evt) { model.usedPattern = model.lastValidPattern; refreshAction(); } @@ -395,37 +412,37 @@ regExFilter.setText(".*"); copyPlain.setText(Translator.R("COPCopyAllPlain")); - copyPlain.addActionListener(new java.awt.event.ActionListener() { + copyPlain.addActionListener(new ActionListener() { @Override - public void actionPerformed(java.awt.event.ActionEvent evt) { + public final void actionPerformed(final ActionEvent evt) { copyPlainActionPerformed(evt); } }); copyRich.setText(Translator.R("COPCopyAllRich")); - copyRich.addActionListener(new java.awt.event.ActionListener() { + copyRich.addActionListener(new ActionListener() { @Override - public void actionPerformed(java.awt.event.ActionEvent evt) { + public final void actionPerformed(final ActionEvent evt) { copyRichActionPerformed(evt); } }); next.setText(Translator.R("COPnext")); - next.addActionListener(new java.awt.event.ActionListener() { + next.addActionListener(new ActionListener() { @Override - public void actionPerformed(java.awt.event.ActionEvent evt) { + public final void actionPerformed(final ActionEvent evt) { nextActionPerformed(evt); } }); previous.setText(Translator.R("COPprevious")); - previous.addActionListener(new java.awt.event.ActionListener() { + previous.addActionListener(new ActionListener() { @Override - public void actionPerformed(java.awt.event.ActionEvent evt) { + public final void actionPerformed(final ActionEvent evt) { previousActionPerformed(evt); } }); @@ -488,81 +505,81 @@ revertSort.addActionListener(getDefaultActionSingleton()); mark.setText(Translator.R("COPmark")); - mark.addActionListener(new java.awt.event.ActionListener() { + mark.addActionListener(new ActionListener() { @Override - public void actionPerformed(java.awt.event.ActionEvent evt) { + public final void actionPerformed(final ActionEvent evt) { markActionPerformed(evt); } }); - javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2); + final GroupLayout jPanel2Layout = new GroupLayout(jPanel2); jPanel2.setLayout(jPanel2Layout); jPanel2Layout.setHorizontalGroup( jPanel2Layout.createParallelGroup( - javax.swing.GroupLayout.Alignment.LEADING). + GroupLayout.Alignment.LEADING). addGroup( jPanel2Layout.createSequentialGroup().addContainerGap().addGroup( - jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING). + jPanel2Layout.createParallelGroup(GroupLayout.Alignment.LEADING). addGroup( jPanel2Layout.createSequentialGroup(). - addComponent(showHeaders).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED). - addComponent(showUser).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED). - addComponent(showOrigin).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED). - addComponent(showLevel).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED). - addComponent(showDate).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED). - addComponent(showCode).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED). - addComponent(showThread1).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) + addComponent(showHeaders).addPreferredGap(LayoutStyle.ComponentPlacement.RELATED). + addComponent(showUser).addPreferredGap(LayoutStyle.ComponentPlacement.UNRELATED). + addComponent(showOrigin).addPreferredGap(LayoutStyle.ComponentPlacement.RELATED). + addComponent(showLevel).addPreferredGap(LayoutStyle.ComponentPlacement.UNRELATED). + addComponent(showDate).addPreferredGap(LayoutStyle.ComponentPlacement.RELATED). + addComponent(showCode).addPreferredGap(LayoutStyle.ComponentPlacement.RELATED). + addComponent(showThread1).addPreferredGap(LayoutStyle.ComponentPlacement.RELATED) .addComponent(showThread2)). addGroup(jPanel2Layout.createSequentialGroup().addGroup( - jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING).addGroup( - javax.swing.GroupLayout.Alignment.LEADING, jPanel2Layout.createSequentialGroup() - .addComponent(previous).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED). - addComponent(mark).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED). - addComponent(next).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 15, Short.MAX_VALUE). - addComponent(wordWrap).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED). - addComponent(highLight).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED). - addComponent(sortCopyAll).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED). - addComponent(copyRich).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED). - addComponent(copyPlain)).addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel2Layout.createSequentialGroup(). - addComponent(searchLabel).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED). - addComponent(search, javax.swing.GroupLayout.DEFAULT_SIZE, 438, Short.MAX_VALUE).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED). + jPanel2Layout.createParallelGroup(GroupLayout.Alignment.TRAILING).addGroup( + GroupLayout.Alignment.LEADING, jPanel2Layout.createSequentialGroup() + .addComponent(previous).addPreferredGap(LayoutStyle.ComponentPlacement.RELATED). + addComponent(mark).addPreferredGap(LayoutStyle.ComponentPlacement.RELATED). + addComponent(next).addPreferredGap(LayoutStyle.ComponentPlacement.RELATED, 15, Short.MAX_VALUE). + addComponent(wordWrap).addPreferredGap(LayoutStyle.ComponentPlacement.RELATED). + addComponent(highLight).addPreferredGap(LayoutStyle.ComponentPlacement.RELATED). + addComponent(sortCopyAll).addPreferredGap(LayoutStyle.ComponentPlacement.RELATED). + addComponent(copyRich).addPreferredGap(LayoutStyle.ComponentPlacement.RELATED). + addComponent(copyPlain)).addGroup(GroupLayout.Alignment.LEADING, jPanel2Layout.createSequentialGroup(). + addComponent(searchLabel).addPreferredGap(LayoutStyle.ComponentPlacement.RELATED). + addComponent(search, GroupLayout.DEFAULT_SIZE, 438, Short.MAX_VALUE).addPreferredGap(LayoutStyle.ComponentPlacement.RELATED). addComponent(caseSensitive)).addGroup( - javax.swing.GroupLayout.Alignment.LEADING, jPanel2Layout.createSequentialGroup(). - addComponent(showMessage).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED). - addComponent(showOut).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) From jvanek at redhat.com Thu Jun 26 16:00:23 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 26 Jun 2014 18:00:23 +0200 Subject: /hg/release/icedtea-web-1.5: ConsoleOutputPane formatting fixes ... In-Reply-To: References: Message-ID: <53AC4397.3020102@redhat.com> On 06/26/2014 05:53 PM, gitne at icedtea.classpath.org wrote: > changeset 93a3b303c280 in /hg/release/icedtea-web-1.5 > details: http://icedtea.classpath.org/hg/release/icedtea-web-1.5?cmd=changeset;node=93a3b303c280 > author: Jacob Wisor > date: Thu Jun 26 17:52:52 2014 +0200 > > ConsoleOutputPane formatting fixes & cleanup Well this was not approved to 1.5 but should be probably ok.... J. From neugens at redhat.com Thu Jun 26 16:04:20 2014 From: neugens at redhat.com (Mario Torre) Date: Thu, 26 Jun 2014 18:04:20 +0200 Subject: A pkg-config file for OpenJDK In-Reply-To: References: <20140626145657.GA2761@redhat.com> Message-ID: <1403798660.24742.0.camel@nirvana.localdomain> On Thu, 2014-06-26 at 16:16 +0100, Martijn Verburg wrote: > Hi Omair, > > Looks like a good idea to me, we've had a number of issues with this in > practice (we have a desktop tool on Linux) - could probably be backported > to 7u as well...? > > Cheers, > Martijn I support this too, this is a much needed and welcomed enhancement. Cheers, Mario From gitne at icedtea.classpath.org Thu Jun 26 16:13:55 2014 From: gitne at icedtea.classpath.org (gitne at icedtea.classpath.org) Date: Thu, 26 Jun 2014 16:13:55 +0000 Subject: /hg/release/icedtea-web-1.5: Remove slipped in Java 7 language c... Message-ID: changeset af2c7b195ed8 in /hg/release/icedtea-web-1.5 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.5?cmd=changeset;node=af2c7b195ed8 author: Jacob Wisor date: Thu Jun 26 18:13:30 2014 +0200 Remove slipped in Java 7 language construct and API call 2014-06-26 Jacob Wisor * netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPane.java: (sortBy) Remove slipped in Java 7 language construct diffstat: ChangeLog | 5 +++++ netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPane.java | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diffs (33 lines): diff -r 93a3b303c280 -r af2c7b195ed8 ChangeLog --- a/ChangeLog Thu Jun 26 17:52:52 2014 +0200 +++ b/ChangeLog Thu Jun 26 18:13:30 2014 +0200 @@ -1,3 +1,8 @@ +2014-06-26 Jacob Wisor + + * netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPane.java: + (sortBy) Remove slipped in Java 7 language construct and API call + 2014-06-26 Jacob Wisor * netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPane.java: Formatting diff -r 93a3b303c280 -r af2c7b195ed8 netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPane.java --- a/netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPane.java Thu Jun 26 17:52:52 2014 +0200 +++ b/netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPane.java Thu Jun 26 18:13:30 2014 +0200 @@ -102,7 +102,7 @@ showPreInit = new JCheckBox(); sortByLabel = new JLabel(); regExLabel = new JCheckBox(); - sortBy = new JComboBox<>(); + sortBy = new JComboBox(); searchLabel = new JLabel(); autorefresh = new JCheckBox(); refresh = new JButton(); @@ -958,7 +958,7 @@ private final JCheckBox showThread2; private final JCheckBox showUser; private final JCheckBox sortCopyAll; - private final JComboBox sortBy; + private final JComboBox sortBy; private final JLabel sortByLabel; private final JLabel statistics; private final JCheckBox wordWrap; From jkang at redhat.com Thu Jun 26 17:39:36 2014 From: jkang at redhat.com (Jie Kang) Date: Thu, 26 Jun 2014 13:39:36 -0400 (EDT) Subject: [rfc][icedtea-web]Localized Man Page Script In-Reply-To: <537C5C1F.5080407@redhat.com> References: <489988795.5413717.1400610539851.JavaMail.zimbra@redhat.com> <1530337932.5418716.1400611261222.JavaMail.zimbra@redhat.com> <537BA568.6090607@redhat.com> <887325711.5450945.1400615544040.JavaMail.zimbra@redhat.com> <537BB2D0.9090007@redhat.com> <537C5C1F.5080407@redhat.com> Message-ID: <670733420.19187220.1403804376212.JavaMail.zimbra@redhat.com> Hello, I've started working on a tiny bit of the implementation for the Java-based Local Man Page Generator. At the moment it lets you create man pages through main() by specifying locale and name of man page. This is for during build process. It is attached. Jiri, could you look over it? I am still unsure if this is the direction you want to go in. ----- Original Message ----- > On 05/20/2014 09:53 PM, Andrew Azores wrote: > > On 05/20/2014 03:52 PM, Jie Kang wrote: > >> Hello, > >> > >> I've made all the suggested fixes and am working on the makefile at the > >> moment. > >> > >> Thanks, > >> > >> > > > > Looks good to me. Please post the new patch when you have your script > > integrated and tested working > > in the Makefile. > > > > Thanks, > > > > > hi! > > The creepy voice from behind the sea have nasty words to say :( > > I'm afraid we ca not use this approach. And as it is it must not be pushed. > > The original idea of this feature was to *reuse* already existing, localized > properties files. > Also it was intended to share output between manpages *and* applications > (javaws, policieditor, > itw-settngs) --help option. Also maybe add icedtea-web manpage, and > (probably) also have an > possibility to generate more then man pages - eg html "man pages" or > whatever. > > You can see that -help swihhc already provides eg full list of programs > switches, or some about > sntences.... > > Well your approach do not implement any of this. Well, as opposite it file > new file to localize > and even more fiels to maintain. > > My original idea on this to have java based generator, included in netx > itself. > Its "main" class will be able to : > - be called during the build (just put $CLASSES to CLASSPATH and invoke > main) > - generate man pages in reqested language > - genreate html man pages (well I think there is some man2html, so maybe > this is waste of > everything) > - the html files may save as base for help in gui modes > - be called from javaws/itwsettings/policieditor and so > - generate -help output > - implementation detail - do not add "language swithc" generate files baed > of currently set LOCALE > - much more :) > > As benefit you will get > - all the messages will come form properties > - only properties to maintain! > - parsing of properties in free - unicode support, and insertion of > parametres from JDK itself > - improved -help output (from man pages) > - improved manpages form -help outputs > - list of all switches > - all default file locations! > - get rid of about/help code from main classes of itw > - much more;) > > If some messages are in man pages, but not in properties, you can add them > into proeprties, but > please verify that there is no similar in properties. And of course vice > versa. > > Well most of http://icedtea.classpath.org/wiki/IcedTea-Web#Release_Plans > since 1.3 are mostly > somehow inserted by me. Sometime from need, sometimes from wish (feel free to > add yours, or suggest > modifications!) But pelase, always consult a bit before first patch. Mostly > IRCis enough :) > > Sorry for this email:( But this is really stop show for this approach). > > Please try to post the patch ins small hunks, but it can be harder then > write patch itself, andnot > always possible, or meaningful. > I hope I havenot forget something :( But we can tune it during the process. > But I'm afraid nowyou > are dammed to wait with final push on this topic to me returned from PTO :o) > > All the best! > J > > > Few notes to code itself just "education purposes": > - changelog - the first line of changes should be caption. Eg "Added > generator of man pages" for > this particualr setthsi > > date-name-email > [emtyline] > [tab]caption > [tab]* file:changes > > > In changelog - always clearly say that it is new file. like > [tab[ * file: new file, its purpose > > > I'm not sure how good templates for man pages will be suitable in java based > solution.. Well then > may be. We will see. I hoped to have some class like "Content provider" which > will use some class > "markup" and together they will provide > - context of desired verbosity > - marked in markup you wont > > You can think about it as execise from some "system architecture" because it > is isolated system in > netx :) (whch you are designing from ground) > > In case of template - I would suggest %{key} rather then simple @KEY > (although for your sh based > solution @KEY is most correct) > > Otherwise splendid work on code, and sorry for wasting it:( > > -- Jie Kang -------------- next part -------------- A non-text attachment was scrubbed... Name: ManPageProvider.java Type: text/x-java Size: 3160 bytes Desc: not available URL: From aazores at redhat.com Thu Jun 26 19:16:19 2014 From: aazores at redhat.com (Andrew Azores) Date: Thu, 26 Jun 2014 15:16:19 -0400 Subject: [rfc][icedtea-web][policyeditor] Keyboard shortcuts and mnemonics touchup Message-ID: <53AC7183.3030107@redhat.com> Hi, This patch enhances PolicyEditor's accessibility quite a lot. Changes include: 1) Pressing "Enter" while a Group Checkbox has focus will expand the group (pressing space still selects the entire group at once) 2) Every menu item now has an accelerator shortcut and they all actually work properly 3) Accelerator shortcuts are more sane/intuitive 4) Defining shortcut keys in Messages.properties is simpler (! This one requires help from translators to fix the key bindings. It's also not entirely ideal because the modifier masks are not configurable via Messages.properties right now either - anyone have ideas on how to do that more neatly than having the Messages actually specify eg "C-S" or "C-S-S" for Ctrl-S/Ctrl-Shift-S per shortcut, for example? This wouldn't really be so bad though, I guess, especially since these strings would be defined solely by the person writing the translations, and never input by users) Coming up later will be accelerators/mnemonics for CustomPolicyViewer. Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: policyeditor-keybindings.patch Type: text/x-patch Size: 17674 bytes Desc: not available URL: From jkang at redhat.com Thu Jun 26 20:09:46 2014 From: jkang at redhat.com (Jie Kang) Date: Thu, 26 Jun 2014 16:09:46 -0400 (EDT) Subject: [rfc][icedtea-web][policyeditor] Keyboard shortcuts and mnemonics touchup In-Reply-To: <53AC7183.3030107@redhat.com> References: <53AC7183.3030107@redhat.com> Message-ID: <477430539.19290350.1403813386806.JavaMail.zimbra@redhat.com> Hello, > Hi, > > This patch enhances PolicyEditor's accessibility quite a lot. Changes > include: > > 1) Pressing "Enter" while a Group Checkbox has focus will expand the > group (pressing space still selects the entire group at once) > 2) Every menu item now has an accelerator shortcut and they all actually > work properly > 3) Accelerator shortcuts are more sane/intuitive Basic user testing and it all looks good. + 0.5 > 4) Defining shortcut keys in Messages.properties is simpler (! This one > requires help from translators to fix the key bindings. It's also not > entirely ideal because the modifier masks are not configurable via > Messages.properties right now either - anyone have ideas on how to do > that more neatly than having the Messages actually specify eg "C-S" or > "C-S-S" for Ctrl-S/Ctrl-Shift-S per shortcut, for example? This wouldn't > really be so bad though, I guess, especially since these strings would > be defined solely by the person writing the translations, and never > input by users) I think having complete specs such as C-S-S is an acceptable solution. Given that the options need to be entirely customizable there's not much else you can do. > > Coming up later will be accelerators/mnemonics for CustomPolicyViewer. > > Thanks, > > -- > Andrew A > > -- Jie Kang From ldracz at redhat.com Thu Jun 26 20:43:48 2014 From: ldracz at redhat.com (Lukasz Dracz) Date: Thu, 26 Jun 2014 16:43:48 -0400 (EDT) Subject: [rfc][icedtea-web] Fix support for signed applets with sandbox permissions in manifest In-Reply-To: <53AC3661.4080107@redhat.com> References: <5384BC13.5010708@redhat.com> <53A1B7BE.9020308@redhat.com> <53A1D012.7000807@redhat.com> <53A2FBB6.6020204@redhat.com> <53A9841B.3090705@redhat.com> <53A98DCE.1000702@redhat.com> <53A99B9B.4040303@redhat.com> <53AC3661.4080107@redhat.com> Message-ID: <1845325703.19322140.1403815428183.JavaMail.zimbra@redhat.com> > > And attached is the promised update to the Signed reproducer. > > Lukasz, if you could please also send the Partial Signing test that we > put together. > > Thanks, > > -- > Andrew A > > Hello, I have attached the Partial Signing Reproducer Tests we worked on. Running the tests on your latest patch two of the tests were failing 'testPartiallySignedAppletWithSandboxPermissionsInManifestLaunchWithSignedHTMLApp' and 'testPartiallySignedJNLPAppletWithSandboxPermissionsInManifestLaunchWithSignedApp', what seemed to fix it was getting rid of 'signing != SigningState.NONE' in checkPermissionsAttribute(). For some reason the signing variable is not correctly identifying as Partially Signed. Thank you, Lukasz Dracz -------------- next part -------------- A non-text attachment was scrubbed... Name: PartiallySignedSpecifiesManifestReproducers.patch Type: text/x-patch Size: 75056 bytes Desc: not available URL: From omajid at redhat.com Thu Jun 26 21:03:11 2014 From: omajid at redhat.com (Omair Majid) Date: Thu, 26 Jun 2014 17:03:11 -0400 Subject: [rfc][icedtea-web][policyeditor] Keyboard shortcuts and mnemonics touchup In-Reply-To: <53AC7183.3030107@redhat.com> References: <53AC7183.3030107@redhat.com> Message-ID: <20140626210310.GD2761@redhat.com> Hi, * Andrew Azores [2014-06-26 15:17]: > 1) Pressing "Enter" while a Group Checkbox has focus will expand the group > (pressing space still selects the entire group at once) This change seems fine to me, but I am not sure how discoverable it is. Maybe a little expand/contract widget that looks like a '+' to expand/collapse might be simpler? > 2) Every menu item now has an accelerator shortcut and they all actually > work properly They look good. > 3) Accelerator shortcuts are more sane/intuitive :) > 4) Defining shortcut keys in Messages.properties is simpler (! This one > requires help from translators to fix the key bindings. It's also not > entirely ideal because the modifier masks are not configurable via > Messages.properties right now either - anyone have ideas on how to do that > more neatly than having the Messages actually specify eg "C-S" or "C-S-S" > for Ctrl-S/Ctrl-Shift-S per shortcut, for example? This wouldn't really be > so bad though, I guess, especially since these strings would be defined > solely by the person writing the translations, and never input by users) If you really want the shortcuts to be customizable for different localizations, I am not sure there's another way. A simple descriptor like 'C-' and 'S-' is probably the closest you can get. Emacs does something like this, where users define keybindings using strings exactly like this. One unrelated nit: In the "Edit" menu, all items except one mention the word codebase. The item that doesn't mention codebase still works with codebases. Have you thought about renaming the "Edit" menu to "Codebase" and changing the multi-word drescriptions (like "Copy Codebase") to one-word descriptions (like "Copy")? Thanks, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From david.holmes at oracle.com Fri Jun 27 07:10:01 2014 From: david.holmes at oracle.com (David Holmes) Date: Fri, 27 Jun 2014 17:10:01 +1000 Subject: A pkg-config file for OpenJDK In-Reply-To: <20140626145657.GA2761@redhat.com> References: <20140626145657.GA2761@redhat.com> Message-ID: <53AD18C9.7070405@oracle.com> On 27/06/2014 12:56 AM, Omair Majid wrote: > Hi, > > Over in Fedora, we have received requests from developers asking that > compiling JNI programs and liking against the JVM be made easier [0] > [1]. Some of the current difficulties include that the VM type (server, > client) is not known by other programs and so they have to fall back to > guessing where the libjvm.so that they should link against is. > > One standard approach on Linux for making linking against programs > easier is to use pkg-config [1] files. > > A pkg-config file essentially describes the CFLAGS and LDFLAGS that need > to be passed to the compiler and the linker to compile and link a > program successfully, without knowing anything other than the name of > the program or library to compile/link against. > > On Fedora/x86_64, such a file might look like (for OpenJDK 8): > >> jdk=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.5.x86_64 >> jre=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.5.x86_64/jre >> lib_arch=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.5.x86_64/jre/lib/amd64 > >> Name: java-1.8.0-openjdk >> Description: OpenJDK 8 >> Version: 1.8.0.5 >> Cflags: -I${jdk}/include -I${jdk}/include/linux >> Libs: -L${lib_arch} -L${lib_arch}/server -ljvm -ljava So you need one pkg-config file per VM type? David > Rather than doing something Fedora-specific, I would like to propose > carrying a template of this file upstream as part of the OpenJDK > project. Then, each distribution could modify it and change only the > bits that are specific to that distribution, and clients can rely on > having common or well-known names for everything else. > > One nice-to-have feature would be keep this file somewhat generic, so > other JPackage-style non-OpenJDK JDKs could adapt it too. That's why I > have used `java-1.8.0-openjdk` as the name above, but I am open to > changing it to whatever the consensus is. > > Does anyone else have any thoughts or comments about this? > > Thanks, > Omair > > [0] https://bugzilla.redhat.com/show_bug.cgi?id=449456 > [1] https://bugzilla.redhat.com/show_bug.cgi?id=740762 > [2] http://people.freedesktop.org/~dbn/pkg-config-guide.html > From aph at redhat.com Fri Jun 27 07:55:29 2014 From: aph at redhat.com (Andrew Haley) Date: Fri, 27 Jun 2014 08:55:29 +0100 Subject: A pkg-config file for OpenJDK In-Reply-To: <53AD18C9.7070405@oracle.com> References: <20140626145657.GA2761@redhat.com> <53AD18C9.7070405@oracle.com> Message-ID: <53AD2371.10702@redhat.com> On 27/06/14 08:10, David Holmes wrote: > On 27/06/2014 12:56 AM, Omair Majid wrote: >> Hi, >> >> Over in Fedora, we have received requests from developers asking that >> compiling JNI programs and liking against the JVM be made easier [0] >> [1]. Some of the current difficulties include that the VM type (server, >> client) is not known by other programs and so they have to fall back to >> guessing where the libjvm.so that they should link against is. >> >> One standard approach on Linux for making linking against programs >> easier is to use pkg-config [1] files. >> >> A pkg-config file essentially describes the CFLAGS and LDFLAGS that need >> to be passed to the compiler and the linker to compile and link a >> program successfully, without knowing anything other than the name of >> the program or library to compile/link against. >> >> On Fedora/x86_64, such a file might look like (for OpenJDK 8): >> >>> jdk=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.5.x86_64 >>> jre=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.5.x86_64/jre >>> lib_arch=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.5.x86_64/jre/lib/amd64 >> >>> Name: java-1.8.0-openjdk >>> Description: OpenJDK 8 >>> Version: 1.8.0.5 >>> Cflags: -I${jdk}/include -I${jdk}/include/linux >>> Libs: -L${lib_arch} -L${lib_arch}/server -ljvm -ljava > > So you need one pkg-config file per VM type? Per VM, certainly. I'm not sure there's any real need to be able, for example, to link against the x86 client VM. I suppose it would be nice if such a thing could be accommodated, but hardly necessary. Andrew. From gitne at gmx.de Fri Jun 27 11:30:53 2014 From: gitne at gmx.de (Jacob Wisor) Date: Fri, 27 Jun 2014 13:30:53 +0200 Subject: [rfc][icedtea-web][policyeditor] Keyboard shortcuts and mnemonics touchup In-Reply-To: <53AC7183.3030107@redhat.com> References: <53AC7183.3030107@redhat.com> Message-ID: <53AD55ED.1050300@gmx.de> On 06/26/2014 09:16 PM, Andrew Azores wrote: > Hi, > > This patch enhances PolicyEditor's accessibility quite a lot. Changes include: > > 1) Pressing "Enter" while a Group Checkbox has focus will expand the group > (pressing space still selects the entire group at once) > 2) Every menu item now has an accelerator shortcut and they all actually work > properly > 3) Accelerator shortcuts are more sane/intuitive Thank you for addressing this on your own. Accelerators and mnemonics have been lumped together since IcedTea-Web 1.5 in the policy editor. > 4) Defining shortcut keys in Messages.properties is simpler (! This one requires > help from translators to fix the key bindings. It's also not entirely ideal > because the modifier masks are not configurable via Messages.properties right > now either - anyone have ideas on how to do that more neatly than having the > Messages actually specify eg "C-S" or "C-S-S" for Ctrl-S/Ctrl-Shift-S per > shortcut, for example? This wouldn't really be so bad though, I guess, > especially since these strings would be defined solely by the person writing the > translations, and never input by users) Have a look at javax.swing.KeyStroke.getKeyStroke(java.lang.String). The Strings that this method takes could easily be stored in a properties file, the format is relatively well defined, and it should also work for non-English alphabets. It is actually the exact same String that KeyStroke.toString() produces on a KeyStroke instance. > Coming up later will be accelerators/mnemonics for CustomPolicyViewer. Yeah, please do not confuse accelerators and mnemonics. Also, please keep the terminology apart. > +# Menu navigation (Alt-mask) This should rather say "mnemonics" than "Alt-mask" > +PEFileMenuMnemonic=F > +PEEditMenuMnemonic=E > +PEViewMenuMnemonic=V > + > +# Key shortcuts (Ctrl-mask) This should say "accelerators" than "Ctrl-mask". > +PEAddCodebaseMnemonic=N > +PERemoveCodebaseMnemonic=R > +PEOpenMenuItemMnemonic=O > +PESaveMenuItemMnemonic=S > +PEExitMenuItemMnemonic=Q > +PECustomPermissionsItemMnemonic=U > +PECopyCodebaseItemMnemonic=C > +PEPasteCodebaseItemMnemonic=V > +PECopyCodebaseToClipboardItemMnemonic=B > + > +# Key shortcuts (Ctrl-Shift-mask) These are accelerators too. > +PESaveAsMenuItemMnemonic=S > +PERenameCodebaseItemMnemonic=R > [?] > @@ -363,7 +365,7 @@ public class PolicyEditor extends JPanel > > copyCodebaseToClipboardButtonAction = new ActionListener() { > @Override > - public void actionPerformed(ActionEvent e) { > + public void actionPerformed(final ActionEvent e) { The method can be final too. ;-) > final String selectedCodebase = getSelectedCodebase(); > if (selectedCodebase.isEmpty()) { > return; > @@ -396,7 +398,17 @@ public class PolicyEditor extends JPanel > } > }; > > - setAccelerators(); > + closeButtonAction = new ActionListener() { > + @Override > + public void actionPerformed(final ActionEvent event) { The method can be final too. ;-) > + final Window parentWindow = > SwingUtilities.getWindowAncestor(PolicyEditor.this); > + if (parentWindow instanceof PolicyEditorWindow) { > + ((PolicyEditorWindow) parentWindow).quit(); > + } > + } > + }; > + closeButton.setText(R("ButClose")); > + closeButton.addActionListener(closeButtonAction); If this button is supposed to close the parent window and PolicyEditor is a reusable JPanel Component then the close button should not be part of this JPanel. Instead, buttons handling the lifetime and/or visibility of a window should be direct children of the window they are handling. Unless, you have a "bar" of buttons like "OK", "Cancel", and "Apply" that you can group together in a JPanel for reuse. Besides, although this can be found in numerous examples in Java books, simply closing or quitting a Window isn't actually enough. The associated listeners can still receive events after the window has been closed. Usually, this is not a problem because mostly there is no way for the user to put focus on them or their children, or for the components to acquire focus. But, this is technically not correct since the listeners live on as long as they have not been garbage collected. So, they can still receive events programmatically. I do not insist, but for the sake of completeness you could remove all the listeners after quitting the parent window. > [?] > @@ -935,14 +847,11 @@ public class PolicyEditor extends JPanel > * @param mnemonic the mnemonic to set > */ > private static void setComponentMnemonic(final AbstractButton component, > final String mnemonic) { > - final int trig; > - try { > - trig = Integer.parseInt(mnemonic); > - } catch (final NumberFormatException nfe) { > - OutputController.getLogger().log(nfe); > + if (mnemonic.length() != 1 || !mnemonic.matches("[a-zA-Z]")) { It is probably not a good idea to work with regular expressions here. For one, this expression does not cover alphabets besides English. For two, if you really want to use a regular expression in this case it should be a final static compiled pattern instead of a String. > return; > } > - component.setMnemonic(trig); > + final char ch = (char) mnemonic.getBytes()[0]; > + component.setMnemonic((int) ch); > } > > private static JMenuBar createMenuBar(final Window window, final > PolicyEditor editor) { > @@ -965,7 +874,7 @@ public class PolicyEditor extends JPanel > > final JMenuItem saveAsItem = new JMenuItem(R("PESaveAsMenuItem")); > setComponentMnemonic(saveAsItem, R("PESaveAsMenuItemMnemonic")); > - saveAsItem.setAccelerator(KeyStroke.getKeyStroke(saveAsItem.getMnemonic(), > ActionEvent.CTRL_MASK)); > + saveAsItem.setAccelerator(KeyStroke.getKeyStroke(saveAsItem.getMnemonic(), > ActionEvent.CTRL_MASK | ActionEvent.SHIFT_MASK)); This is NOT correct! Do not do this. Accelerators != mnemonics. Although accelerators' keys and mnemonics seem be equal in most cases in English, this is definitely not the case for many other languages, and in few cases not even in English. So, do not do this. Accelerators and mnemonics are two distinct concepts, so please do not mix them. > saveAsItem.addActionListener(editor.saveAsButtonAction); > fileMenu.add(saveAsItem); > @@ -973,31 +882,47 @@ public class PolicyEditor extends JPanel > setComponentMnemonic(exitItem, R("PEExitMenuItemMnemonic")); > exitItem.setAccelerator(KeyStroke.getKeyStroke(exitItem.getMnemonic(), > ActionEvent.CTRL_MASK)); > exitItem.addActionListener(editor.closeButtonAction); > - exitItem.addActionListener(new ActionListener() { > - @Override > - public void actionPerformed(final ActionEvent e) { > - window.dispose(); > - } > - }); > fileMenu.add(exitItem); > menuBar.add(fileMenu); > > final JMenu editMenu = new JMenu(R("PEEditMenu")); > setComponentMnemonic(editMenu, R("PEEditMenuMnemonic")); > > + final JMenuItem addNewCodebaseItem = new > JMenuItem(R("PEAddCodebase")); > + setComponentMnemonic(addNewCodebaseItem, R("PEAddCodebaseMnemonic")); > + > addNewCodebaseItem.setAccelerator(KeyStroke.getKeyStroke(addNewCodebaseItem > .getMnemonic(), ActionEvent.CTRL_MASK)); Again, do not do this! Accelerator != mnemonic. > + addNewCodebaseItem.addActionListener(editor.addCodebaseButtonAction); > + editMenu.add(addNewCodebaseItem); > + > + final JMenuItem removeCodebaseItem = new > JMenuItem(R("PERemoveCodebase")); > + setComponentMnemonic(removeCodebaseItem, > R("PERemoveCodebaseMnemonic")); > + > removeCodebaseItem.setAccelerator(KeyStroke.getKeyStroke(removeCodebaseItem > .getMnemonic(), ActionEvent.CTRL_MASK)); Again, do not do this! Accelerator != mnemonic. > + > removeCodebaseItem.addActionListener(editor.removeCodebaseButtonAction); > + editMenu.add(removeCodebaseItem); > + > + editMenu.addSeparator(); > + > final JMenuItem renameCodebaseItem = new > JMenuItem(R("PERenameCodebaseItem")); > + setComponentMnemonic(renameCodebaseItem, > R("PERenameCodebaseItemMnemonic")); > + > renameCodebaseItem.setAccelerator(KeyStroke.getKeyStroke(renameCodebaseItem > .getMnemonic(), ActionEvent.CTRL_MASK | ActionEvent.SHIFT_MASK)); Again, do not do this! Accelerator != mnemonic. > renameCodebaseItem.addActionListener(editor.renameCodebaseButtonAction); > editMenu.add(renameCodebaseItem); > > final JMenuItem copyCodebaseItem = new > JMenuItem(R("PECopyCodebaseItem")); > + setComponentMnemonic(copyCodebaseItem, > R("PECopyCodebaseItemMnemonic")); > + > copyCodebaseItem.setAccelerator(KeyStroke.getKeyStroke(copyCodebaseItem > .getMnemonic(), ActionEvent.CTRL_MASK)); Again, do not do this! Accelerator != mnemonic. > copyCodebaseItem.addActionListener(editor.copyCodebaseButtonAction); > editMenu.add(copyCodebaseItem); > > final JMenuItem pasteCodebaseItem = new > JMenuItem(R("PEPasteCodebaseItem")); > + setComponentMnemonic(pasteCodebaseItem, > R("PEPasteCodebaseItemMnemonic")); > + > pasteCodebaseItem.setAccelerator(KeyStroke.getKeyStroke(pasteCodebaseItem > .getMnemonic(), ActionEvent.CTRL_MASK)); Again, do not do this! Accelerator != mnemonic. > pasteCodebaseItem.addActionListener(editor.pasteCodebaseButtonAction); > editMenu.add(pasteCodebaseItem); > > final JMenuItem copyCodebaseToClipboardItem = new > JMenuItem(R("PECopyCodebaseToClipboardItem")); > + setComponentMnemonic(copyCodebaseToClipboardItem, > R("PECopyCodebaseToClipboardItemMnemonic")); > + > copyCodebaseToClipboardItem.setAccelerator(KeyStroke > .getKeyStroke(copyCodebaseToClipboardItem.getMnemonic(), > ActionEvent.CTRL_MASK)); Again, do not do this! Accelerator != mnemonic. > > copyCodebaseToClipboardItem.addActionListener(editor > .copyCodebaseToClipboardButtonAction); > editMenu.add(copyCodebaseToClipboardItem); > menuBar.add(editMenu); Apart from the occasional methods in anonymous classes that could be made final too, the rest seems to be okay. Jacob From aazores at redhat.com Fri Jun 27 13:43:08 2014 From: aazores at redhat.com (Andrew Azores) Date: Fri, 27 Jun 2014 09:43:08 -0400 Subject: [rfc][icedtea-web][policyeditor] Keyboard shortcuts and mnemonics touchup In-Reply-To: <53AD55ED.1050300@gmx.de> References: <53AC7183.3030107@redhat.com> <53AD55ED.1050300@gmx.de> Message-ID: <53AD74EC.8010905@redhat.com> On 06/27/2014 07:30 AM, Jacob Wisor wrote: > On 06/26/2014 09:16 PM, Andrew Azores wrote: >> Hi, >> >> This patch enhances PolicyEditor's accessibility quite a lot. Changes >> include: >> >> 1) Pressing "Enter" while a Group Checkbox has focus will expand the >> group >> (pressing space still selects the entire group at once) >> 2) Every menu item now has an accelerator shortcut and they all >> actually work >> properly >> 3) Accelerator shortcuts are more sane/intuitive > > Thank you for addressing this on your own. Accelerators and mnemonics > have been lumped together since IcedTea-Web 1.5 in the policy editor. PolicyEditor has only existed since very shortly before the 1.5 release. > >> 4) Defining shortcut keys in Messages.properties is simpler (! This >> one requires >> help from translators to fix the key bindings. It's also not entirely >> ideal >> because the modifier masks are not configurable via >> Messages.properties right >> now either - anyone have ideas on how to do that more neatly than >> having the >> Messages actually specify eg "C-S" or "C-S-S" for Ctrl-S/Ctrl-Shift-S >> per >> shortcut, for example? This wouldn't really be so bad though, I guess, >> especially since these strings would be defined solely by the person >> writing the >> translations, and never input by users) > > Have a look at javax.swing.KeyStroke.getKeyStroke(java.lang.String). > The Strings that this method takes could easily be stored in a > properties file, the format is relatively well defined, and it should > also work for non-English alphabets. It is actually the exact same > String that KeyStroke.toString() produces on a KeyStroke instance. Ah wow, I hadn't actually paid attention to that particular method. That's pretty much exactly what I was hoping to find. > >> Coming up later will be accelerators/mnemonics for CustomPolicyViewer. > > Yeah, please do not confuse accelerators and mnemonics. Also, please > keep the terminology apart. How do you figure I've confused them here? > > > +# Menu navigation (Alt-mask) > > This should rather say "mnemonics" than "Alt-mask" > > > +PEFileMenuMnemonic=F > > +PEEditMenuMnemonic=E > > +PEViewMenuMnemonic=V > > + > > +# Key shortcuts (Ctrl-mask) > > This should say "accelerators" than "Ctrl-mask". > > > +PEAddCodebaseMnemonic=N > > +PERemoveCodebaseMnemonic=R > > +PEOpenMenuItemMnemonic=O > > +PESaveMenuItemMnemonic=S > > +PEExitMenuItemMnemonic=Q > > +PECustomPermissionsItemMnemonic=U > > +PECopyCodebaseItemMnemonic=C > > +PEPasteCodebaseItemMnemonic=V > > +PECopyCodebaseToClipboardItemMnemonic=B > > + > > +# Key shortcuts (Ctrl-Shift-mask) > > These are accelerators too. The reason I've distinguished between Alt, Ctrl, and Ctrl-Shift here is so that multiple keys mapping to the same value here are not mistaken for actually being the same key binding. Although using getKeyStroke as above will make that quite obvious anyway, so then those comments can certainly be removed. > > > +PESaveAsMenuItemMnemonic=S > > +PERenameCodebaseItemMnemonic=R > > [?] > > @@ -363,7 +365,7 @@ public class PolicyEditor extends JPanel > > > > copyCodebaseToClipboardButtonAction = new ActionListener() { > > @Override > > - public void actionPerformed(ActionEvent e) { > > + public void actionPerformed(final ActionEvent e) { > > The method can be final too. ;-) > > > final String selectedCodebase = getSelectedCodebase(); > > if (selectedCodebase.isEmpty()) { > > return; > > @@ -396,7 +398,17 @@ public class PolicyEditor extends JPanel > > } > > }; > > > > - setAccelerators(); > > + closeButtonAction = new ActionListener() { > > + @Override > > + public void actionPerformed(final ActionEvent event) { > > The method can be final too. ;-) > > > + final Window parentWindow = > > SwingUtilities.getWindowAncestor(PolicyEditor.this); > > + if (parentWindow instanceof PolicyEditorWindow) { > > + ((PolicyEditorWindow) parentWindow).quit(); > > + } > > + } > > + }; > > + closeButton.setText(R("ButClose")); > > + closeButton.addActionListener(closeButtonAction); I'm not going to make the methods final. > > If this button is supposed to close the parent window and PolicyEditor > is a reusable JPanel Component then the close button should not be > part of this JPanel. Instead, buttons handling the lifetime and/or > visibility of a window should be direct children of the window they > are handling. > Unless, you have a "bar" of buttons like "OK", "Cancel", and "Apply" > that you can group together in a JPanel for reuse. There actually are "Apply" and "Cancel" buttons both side by side in the panel. They could be moved into the parent Window, but then they'd need to be there in both the Frame and Dialog that are offered. The Panel is also never reused and installed into anything other than the parent Window it's put in initially. > > Besides, although this can be found in numerous examples in Java > books, simply closing or quitting a Window isn't actually enough. The > associated listeners can still receive events after the window has > been closed. Usually, this is not a problem because mostly there is no > way for the user to put focus on them or their children, or for the > components to acquire focus. But, this is technically not correct > since the listeners live on as long as they have not been garbage > collected. So, they can still receive events programmatically. > I do not insist, but for the sake of completeness you could remove all > the listeners after quitting the parent window. If you can produce some sample code which demonstrates this as an actual issue then I'll be happy to consider removing all the listeners from every component before disposing. Right now this sounds very paranoid to me. > > > [?] > > @@ -935,14 +847,11 @@ public class PolicyEditor extends JPanel > > * @param mnemonic the mnemonic to set > > */ > > private static void setComponentMnemonic(final AbstractButton > component, > final String mnemonic) { > > - final int trig; > > - try { > > - trig = Integer.parseInt(mnemonic); > > - } catch (final NumberFormatException nfe) { > > - OutputController.getLogger().log(nfe); > > + if (mnemonic.length() != 1 || !mnemonic.matches("[a-zA-Z]")) { > > It is probably not a good idea to work with regular expressions here. > For one, this expression does not cover alphabets besides English. For > two, if you really want to use a regular expression in this case it > should be a final static compiled pattern instead of a String. Hmm... fair enough. > > > return; > > } > > - component.setMnemonic(trig); > > + final char ch = (char) mnemonic.getBytes()[0]; > > + component.setMnemonic((int) ch); > > } > > > > private static JMenuBar createMenuBar(final Window window, final > > PolicyEditor editor) { > > @@ -965,7 +874,7 @@ public class PolicyEditor extends JPanel > > > > final JMenuItem saveAsItem = new > JMenuItem(R("PESaveAsMenuItem")); > > setComponentMnemonic(saveAsItem, > R("PESaveAsMenuItemMnemonic")); > > - > saveAsItem.setAccelerator(KeyStroke.getKeyStroke(saveAsItem.getMnemonic(), > > ActionEvent.CTRL_MASK)); > > + > saveAsItem.setAccelerator(KeyStroke.getKeyStroke(saveAsItem.getMnemonic(), > > ActionEvent.CTRL_MASK | ActionEvent.SHIFT_MASK)); > > This is NOT correct! Do not do this. Accelerators != mnemonics. > Although accelerators' keys and mnemonics seem be equal in most cases > in English, this is definitely not the case for many other languages, > and in few cases not even in English. So, do not do this. Accelerators > and mnemonics are two distinct concepts, so please do not mix them. I know they are two distinct things. What do you have in particular against setting the same character as the mnemonic and accelerator for an action? What do you propose as an alternative - would you prefer to have separate keys for each in Messages.properties? > > > saveAsItem.addActionListener(editor.saveAsButtonAction); > > fileMenu.add(saveAsItem); > > @@ -973,31 +882,47 @@ public class PolicyEditor extends JPanel > > setComponentMnemonic(exitItem, R("PEExitMenuItemMnemonic")); > > exitItem.setAccelerator(KeyStroke.getKeyStroke(exitItem.getMnemonic(), > > ActionEvent.CTRL_MASK)); > > exitItem.addActionListener(editor.closeButtonAction); > > - exitItem.addActionListener(new ActionListener() { > > - @Override > > - public void actionPerformed(final ActionEvent e) { > > - window.dispose(); > > - } > > - }); > > fileMenu.add(exitItem); > > menuBar.add(fileMenu); > > > > final JMenu editMenu = new JMenu(R("PEEditMenu")); > > setComponentMnemonic(editMenu, R("PEEditMenuMnemonic")); > > > > + final JMenuItem addNewCodebaseItem = new > > JMenuItem(R("PEAddCodebase")); > > + setComponentMnemonic(addNewCodebaseItem, > R("PEAddCodebaseMnemonic")); > > + > > > addNewCodebaseItem.setAccelerator(KeyStroke.getKeyStroke(addNewCodebaseItem > > .getMnemonic(), ActionEvent.CTRL_MASK)); > > Again, do not do this! Accelerator != mnemonic. > > > + addNewCodebaseItem.addActionListener(editor.addCodebaseButtonAction); > > + editMenu.add(addNewCodebaseItem); > > + > > + final JMenuItem removeCodebaseItem = new > > JMenuItem(R("PERemoveCodebase")); > > + setComponentMnemonic(removeCodebaseItem, > > R("PERemoveCodebaseMnemonic")); > > + > > > removeCodebaseItem.setAccelerator(KeyStroke.getKeyStroke(removeCodebaseItem > > .getMnemonic(), ActionEvent.CTRL_MASK)); > > Again, do not do this! Accelerator != mnemonic. > > > + > > > removeCodebaseItem.addActionListener(editor.removeCodebaseButtonAction); > > + editMenu.add(removeCodebaseItem); > > + > > + editMenu.addSeparator(); > > + > > final JMenuItem renameCodebaseItem = new > > JMenuItem(R("PERenameCodebaseItem")); > > + setComponentMnemonic(renameCodebaseItem, > > R("PERenameCodebaseItemMnemonic")); > > + > > > renameCodebaseItem.setAccelerator(KeyStroke.getKeyStroke(renameCodebaseItem > > .getMnemonic(), ActionEvent.CTRL_MASK | ActionEvent.SHIFT_MASK)); > > Again, do not do this! Accelerator != mnemonic. > > > > > renameCodebaseItem.addActionListener(editor.renameCodebaseButtonAction); > > editMenu.add(renameCodebaseItem); > > > > final JMenuItem copyCodebaseItem = new > > JMenuItem(R("PECopyCodebaseItem")); > > + setComponentMnemonic(copyCodebaseItem, > > R("PECopyCodebaseItemMnemonic")); > > + > > copyCodebaseItem.setAccelerator(KeyStroke.getKeyStroke(copyCodebaseItem > > .getMnemonic(), ActionEvent.CTRL_MASK)); > > Again, do not do this! Accelerator != mnemonic. > > > copyCodebaseItem.addActionListener(editor.copyCodebaseButtonAction); > > editMenu.add(copyCodebaseItem); > > > > final JMenuItem pasteCodebaseItem = new > > JMenuItem(R("PEPasteCodebaseItem")); > > + setComponentMnemonic(pasteCodebaseItem, > > R("PEPasteCodebaseItemMnemonic")); > > + > > > pasteCodebaseItem.setAccelerator(KeyStroke.getKeyStroke(pasteCodebaseItem > > .getMnemonic(), ActionEvent.CTRL_MASK)); > > Again, do not do this! Accelerator != mnemonic. > > > pasteCodebaseItem.addActionListener(editor.pasteCodebaseButtonAction); > > editMenu.add(pasteCodebaseItem); > > > > final JMenuItem copyCodebaseToClipboardItem = new > > JMenuItem(R("PECopyCodebaseToClipboardItem")); > > + setComponentMnemonic(copyCodebaseToClipboardItem, > > R("PECopyCodebaseToClipboardItemMnemonic")); > > + > > copyCodebaseToClipboardItem.setAccelerator(KeyStroke > > .getKeyStroke(copyCodebaseToClipboardItem.getMnemonic(), > > ActionEvent.CTRL_MASK)); > > Again, do not do this! Accelerator != mnemonic. Please do not do this non-helpful comment repetition. If you are so averse to it then please provide an actual alternative suggestion rather than just saying "No, this sucks, never do it ever" for half the length of your mail. > > > > > copyCodebaseToClipboardItem.addActionListener(editor > > .copyCodebaseToClipboardButtonAction); > > editMenu.add(copyCodebaseToClipboardItem); > > menuBar.add(editMenu); > > Apart from the occasional methods in anonymous classes that could be > made final too, the rest seems to be okay. > > Jacob -- Andrew A From aazores at redhat.com Fri Jun 27 15:14:40 2014 From: aazores at redhat.com (Andrew Azores) Date: Fri, 27 Jun 2014 11:14:40 -0400 Subject: [rfc][icedtea-web][policyeditor] Keyboard shortcuts and mnemonics touchup In-Reply-To: <53AC7183.3030107@redhat.com> References: <53AC7183.3030107@redhat.com> Message-ID: <53AD8A60.3050306@redhat.com> On 06/26/2014 03:16 PM, Andrew Azores wrote: > Hi, > > This patch enhances PolicyEditor's accessibility quite a lot. Changes > include: > > 1) Pressing "Enter" while a Group Checkbox has focus will expand the > group (pressing space still selects the entire group at once) > 2) Every menu item now has an accelerator shortcut and they all > actually work properly > 3) Accelerator shortcuts are more sane/intuitive > 4) Defining shortcut keys in Messages.properties is simpler (! This > one requires help from translators to fix the key bindings. It's also > not entirely ideal because the modifier masks are not configurable via > Messages.properties right now either - anyone have ideas on how to do > that more neatly than having the Messages actually specify eg "C-S" or > "C-S-S" for Ctrl-S/Ctrl-Shift-S per shortcut, for example? This > wouldn't really be so bad though, I guess, especially since these > strings would be defined solely by the person writing the > translations, and never input by users) > > Coming up later will be accelerators/mnemonics for CustomPolicyViewer. > > Thanks, > Here's round two of the patch, taking into account the helpful input from Omair and Jacob. Difference from last patch: 1) Mnemonics and accelerators are separated in Messages.properties 2) KeyStroke.getKeyStroke is used, so accelerators are fully defined in Messages.properties, including modifier keys 3) The Edit menu has been renamed Codebase, and menu items have have "codebase" removed from their labels 4) Some mnemonics tweaked to be a little more convenient 5) "Copy URL to codebase" is control shift c rather than control b Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: policyeditor-keybindings-2.patch Type: text/x-patch Size: 21893 bytes Desc: not available URL: From aazores at redhat.com Fri Jun 27 15:27:27 2014 From: aazores at redhat.com (Andrew Azores) Date: Fri, 27 Jun 2014 11:27:27 -0400 Subject: [rfc][icedtea-web][policyeditor] Disable "paste" until "copy" is performed Message-ID: <53AD8D5F.5080908@redhat.com> Hi, This patch adds a check in the "paste" button action so that the dialog prompting the user for the new URL to paste with does not appear if a codebase has not been previously copied. This would also guard against the dialog appearing when a keyboard shortcut is used to paste. Additionally, the "paste" button in the Edit menu is now disabled until "copy" has been pressed for the first time. Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: policyeditor-disable-paste.patch Type: text/x-patch Size: 1695 bytes Desc: not available URL: From joakim.tjernlund at transmode.se Wed Jun 11 14:23:54 2014 From: joakim.tjernlund at transmode.se (Joakim Tjernlund) Date: Wed, 11 Jun 2014 14:23:54 -0000 Subject: icedtea7 ppc32 build error Message-ID: Building latetest icedtea7(http://icedtea.classpath.org/hg/icedtea7/) on ppc32 fails with: INFO: ZIP_DEBUGINFO_FILES=1 INFO: ENABLE_FULL_DEBUG_SYMBOLS=1 INFO: /usr/bin/objcopy cmd found so will create .debuginfo files. INFO: STRIP_POLICY=no_strip INFO: ZIP_DEBUGINFO_FILES=1 gmake[7]: *** No rule to make target `/root/icedtea7/openjdk-boot/hotspot/src/cpu/ppc/vm/ppc_32.ad', needed by `../generated/adfiles/linux_ppc_32.ad'. gmake[7]: *** No rule to make target `/root/icedtea7/openjdk-boot/hotspot/src/os_cpu/linux_ppc/vm/linux_ppc_32.ad', needed by `../generated/adfiles/linux_ppc_32.ad'. gmake[7]: Target `all' not remade because of errors. gmake[6]: *** [ad_stuff] Error 2 Here is my configre cmd: ./configure --disable-jar-compression --without-rhino --disable-system-kerberos --with-jdk-home=/usr/lib/icedtea7 --disable-zero --disable-cacao --disable-arm32-jit --disable-docs --disable-tests From joakim.tjernlund at transmode.se Wed Jun 11 15:54:37 2014 From: joakim.tjernlund at transmode.se (Joakim Tjernlund) Date: Wed, 11 Jun 2014 15:54:37 -0000 Subject: icedtea7 ppc32 build error In-Reply-To: <1905471942.23008770.1402501509680.JavaMail.zimbra@redhat.com> References: <1905471942.23008770.1402501509680.JavaMail.zimbra@redhat.com> Message-ID: Andrew Hughes wrote on 2014/06/11 17:45:09: > > ----- Original Message ----- > > Andrew, I just tried to post the include mail to the list but it got > > stuck. > > You seem to care about ppc32 s? I sent a copy to you too. > > Any ideas? > > > > Joakim Tjernlund/Transmode wrote on 2014/06/11 16:23:51: > > > > > From: Joakim Tjernlund/Transmode > > > To: distro-pkg-dev at openjdk.java.net, > > > Date: 2014/06/11 16:23 > > > Subject: icedtea7 ppc32 build error > > > > > > Building latetest icedtea7(http://icedtea.classpath.org/hg/icedtea7/ ) on > > ppc32 fails with: > > > INFO: ZIP_DEBUGINFO_FILES=1 > > > INFO: ENABLE_FULL_DEBUG_SYMBOLS=1 > > > INFO: /usr/bin/objcopy cmd found so will create .debuginfo files. > > > INFO: STRIP_POLICY=no_strip > > > INFO: ZIP_DEBUGINFO_FILES=1 > > > gmake[7]: *** No rule to make target > > `/root/icedtea7/openjdk-boot/hotspot/src/cpu/ppc/vm/ppc_32.ad', needed by > > `../generated/adfiles/linux_ppc_32.ad'. > > > gmake[7]: *** No rule to make target > > `/root/icedtea7/openjdk-boot/hotspot/src/os_cpu/linux_ppc/vm/linux_ppc_32.ad', > > needed by `../generated/adfiles/linux_ppc_32.ad'. > > > gmake[7]: Target `all' not remade because of errors. > > > gmake[6]: *** [ad_stuff] Error 2 > > > > > > Here is my configre cmd: > > > ./configure --disable-jar-compression --without-rhino > > --disable-system-kerberos --with-jdk-home=/usr/lib/icedtea7 --disable-zero > > --disable-cacao --disable-arm32-jit --disable-docs --disable-tests > > > > It's looking for a native PPC32 port because you disabled Zero. There is > no such thing :) But there is, see http://blog.fuseyism.com/index.php/2014/01/23/ppc-port-available-in-icedtea-2-x-head/ Also, build accept ppc and fails far into the build. > > Remove --disable-zero and it should build fine. IcedTea generally does the > right thing for each architecture, with the exception of enabling CACAO or > JamVM by default. These are likely to provide better performance than Zero, > but have not been known to pass the TCK. Depending on your needs, you may > find CACAO the best fit for PPC32. Got a ppc CACAO but I want some better performance :) > -- > 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 joakim.tjernlund at transmode.se Wed Jun 11 16:24:40 2014 From: joakim.tjernlund at transmode.se (Joakim Tjernlund) Date: Wed, 11 Jun 2014 16:24:40 -0000 Subject: icedtea7 ppc32 build error In-Reply-To: <1853882108.23023309.1402503189777.JavaMail.zimbra@redhat.com> References: <1905471942.23008770.1402501509680.JavaMail.zimbra@redhat.com> <1853882108.23023309.1402503189777.JavaMail.zimbra@redhat.com> Message-ID: Andrew Hughes wrote on 2014/06/11 18:13:09: > > > > ----- Original Message ----- > > Andrew Hughes wrote on 2014/06/11 17:45:09: > > > > > > ----- Original Message ----- > > > > Andrew, I just tried to post the include mail to the list but it got > > > > stuck. > > > > You seem to care about ppc32 s? I sent a copy to you too. > > > > Any ideas? > > > > > > > > Joakim Tjernlund/Transmode wrote on 2014/06/11 16:23:51: > > > > > > > > > From: Joakim Tjernlund/Transmode > > > > > To: distro-pkg-dev at openjdk.java.net, > > > > > Date: 2014/06/11 16:23 > > > > > Subject: icedtea7 ppc32 build error > > > > > > > > > > Building latetest icedtea7( http://icedtea.classpath.org/hg/icedtea7/ > > ) on > > > > ppc32 fails with: > > > > > INFO: ZIP_DEBUGINFO_FILES=1 > > > > > INFO: ENABLE_FULL_DEBUG_SYMBOLS=1 > > > > > INFO: /usr/bin/objcopy cmd found so will create .debuginfo files. > > > > > INFO: STRIP_POLICY=no_strip > > > > > INFO: ZIP_DEBUGINFO_FILES=1 > > > > > gmake[7]: *** No rule to make target > > > > `/root/icedtea7/openjdk-boot/hotspot/src/cpu/ppc/vm/ppc_32.ad', needed > > by > > > > `../generated/adfiles/linux_ppc_32.ad'. > > > > > gmake[7]: *** No rule to make target > > > > > > `/root/icedtea7/openjdk-boot/hotspot/src/os_cpu/linux_ppc/vm/linux_ppc_32.ad', > > > > needed by `../generated/adfiles/linux_ppc_32.ad'. > > > > > gmake[7]: Target `all' not remade because of errors. > > > > > gmake[6]: *** [ad_stuff] Error 2 > > > > > > > > > > Here is my configre cmd: > > > > > ./configure --disable-jar-compression --without-rhino > > > > --disable-system-kerberos --with-jdk-home=/usr/lib/icedtea7 > > --disable-zero > > > > --disable-cacao --disable-arm32-jit --disable-docs --disable-tests > > > > > > > > > > It's looking for a native PPC32 port because you disabled Zero. There is > > > no such thing :) > > > > But there is, see > > http://blog.fuseyism.com/index.php/2014/01/23/ppc-port-available-in-icedtea-2-x-head/ > > > > Yes, I wrote that... It's POWER5+ PPC64 only, I'm afraid. ehh, why use the term ppc on a ppc64 system? ppc is the established term for ppc32 so this is very confusing. Is there any effort to support ppc32 too? I guessing it cannot be too much work to do that as ppc64 is already working? Any idea if one can cross-compile icedtea from ppc32/amd64 to ppc64? > > > Also, build accept ppc and fails far into the build. > > Because you explicitly disabled Zero. It's doing exactly what you told it to do. hmm, yes but configure should bail/error out much earlier when you ask it build something it cannot. Now one gets the impression that there is just a build failure that needs to be fixed. > > > > > > > > > Remove --disable-zero and it should build fine. IcedTea generally does > > the > > > right thing for each architecture, with the exception of enabling CACAO > > or > > > JamVM by default. These are likely to provide better performance than > > Zero, > > > but have not been known to pass the TCK. Depending on your needs, you > > may > > > find CACAO the best fit for PPC32. > > > > Got a ppc CACAO but I want some better performance :) > > > > > -- > > > 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 > > > > > > > > > -- > 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 aazores at redhat.com Fri Jun 27 17:15:33 2014 From: aazores at redhat.com (Andrew Azores) Date: Fri, 27 Jun 2014 13:15:33 -0400 Subject: [rfc][icedtea-web][policyeditor] Keyboard shortcuts and mnemonics touchup In-Reply-To: <53AD98A0.3050308@gmx.de> References: <53AC7183.3030107@redhat.com> <53AD55ED.1050300@gmx.de> <53AD74EC.8010905@redhat.com> <53AD98A0.3050308@gmx.de> Message-ID: <53ADA6B5.9060104@redhat.com> On 06/27/2014 12:15 PM, Jacob Wisor wrote: > On 06/27/2014 03:43 PM, Andrew Azores wrote: >> On 06/27/2014 07:30 AM, Jacob Wisor wrote: >>> On 06/26/2014 09:16 PM, Andrew Azores wrote: >> [?] >>>> 4) Defining shortcut keys in Messages.properties is simpler (! This >>>> one requires >>>> help from translators to fix the key bindings. It's also not >>>> entirely ideal >>>> because the modifier masks are not configurable via >>>> Messages.properties right >>>> now either - anyone have ideas on how to do that more neatly than >>>> having the >>>> Messages actually specify eg "C-S" or "C-S-S" for >>>> Ctrl-S/Ctrl-Shift-S per >>>> shortcut, for example? This wouldn't really be so bad though, I guess, >>>> especially since these strings would be defined solely by the >>>> person writing the >>>> translations, and never input by users) >>> >>> Have a look at javax.swing.KeyStroke.getKeyStroke(java.lang.String). >>> The >>> Strings that this method takes could easily be stored in a >>> properties file, >>> the format is relatively well defined, and it should also work for >>> non-English >>> alphabets. It is actually the exact same String that >>> KeyStroke.toString() >>> produces on a KeyStroke instance. >> >> Ah wow, I hadn't actually paid attention to that particular method. > > Because you're hasting instead of programming. What you do could be > considered by many people ? yes, including me ? as dirty hacking > instead of coding. Gee, thanks for being a constructive member of this community. > >> That's pretty much exactly what I was hoping to find. > > Yes, it is particularly useful for accelerators, and not for mnemonics. > >>>> Coming up later will be accelerators/mnemonics for CustomPolicyViewer. >>> >>> Yeah, please do not confuse accelerators and mnemonics. Also, please >>> keep the >>> terminology apart. >> >> How do you figure I've confused them here? > > Because you seem to have no idea what the particular purpose of > accelerators and mnemonics is. I was trying to explain it further > down, but obviously I have failed. You are wrong. I do know. You're just being extremely picky about it. I have freely admitted many times on this mailing list that I have hardly done any GUI work at all before, and I never pretended like these patches were flawless. They are what I can put forth with the knowledge I have at the time. I am always willing and eager to learn more, but I do not like to learn from people when their comments are terse, harsh, and low on suggestions on how to actual do things better. > >>> > +# Menu navigation (Alt-mask) >>> >>> This should rather say "mnemonics" than "Alt-mask" >>> >>> > +PEFileMenuMnemonic=F >>> > +PEEditMenuMnemonic=E >>> > +PEViewMenuMnemonic=V >>> > + >>> > +# Key shortcuts (Ctrl-mask) >>> >>> This should say "accelerators" than "Ctrl-mask". >>> >>> > +PEAddCodebaseMnemonic=N >>> > +PERemoveCodebaseMnemonic=R >>> > +PEOpenMenuItemMnemonic=O >>> > +PESaveMenuItemMnemonic=S >>> > +PEExitMenuItemMnemonic=Q >>> > +PECustomPermissionsItemMnemonic=U >>> > +PECopyCodebaseItemMnemonic=C >>> > +PEPasteCodebaseItemMnemonic=V >>> > +PECopyCodebaseToClipboardItemMnemonic=B >>> > + >>> > +# Key shortcuts (Ctrl-Shift-mask) >>> >>> These are accelerators too. >> >> The reason I've distinguished between Alt, Ctrl, and Ctrl-Shift here >> is so that >> multiple keys mapping to the same value here are not mistaken for >> actually being >> the same key binding. Although using getKeyStroke as above will make >> that quite >> obvious anyway, so then those comments can certainly be removed. > > If you understood the distinct concepts between accelerators and > mnemonics my previous comment would have been clear. I never said your comment wasn't clear. > >> [?] >>> > [?] >>> > @@ -935,14 +847,11 @@ public class PolicyEditor extends JPanel >>> > * @param mnemonic the mnemonic to set >>> > */ >>> > private static void setComponentMnemonic(final AbstractButton >>> component, > final String mnemonic) { >>> > - final int trig; >>> > - try { >>> > - trig = Integer.parseInt(mnemonic); >>> > - } catch (final NumberFormatException nfe) { >>> > - OutputController.getLogger().log(nfe); >>> > + if (mnemonic.length() != 1 || >>> !mnemonic.matches("[a-zA-Z]")) { >>> >>> It is probably not a good idea to work with regular expressions >>> here. For one, >>> this expression does not cover alphabets besides English. For two, >>> if you >>> really want to use a regular expression in this case it should be a >>> final >>> static compiled pattern instead of a String. >> >> Hmm... fair enough. >> >>> >>> > return; >>> > } >>> > - component.setMnemonic(trig); >>> > + final char ch = (char) mnemonic.getBytes()[0]; >>> > + component.setMnemonic((int) ch); >>> > } >>> > >>> > private static JMenuBar createMenuBar(final Window window, final >>> > PolicyEditor editor) { >>> > @@ -965,7 +874,7 @@ public class PolicyEditor extends JPanel >>> > >>> > final JMenuItem saveAsItem = new >>> JMenuItem(R("PESaveAsMenuItem")); >>> > setComponentMnemonic(saveAsItem, >>> R("PESaveAsMenuItemMnemonic")); >>> > - >>> saveAsItem.setAccelerator(KeyStroke.getKeyStroke(saveAsItem.getMnemonic(), >>> > ActionEvent.CTRL_MASK)); >>> > + >>> saveAsItem.setAccelerator(KeyStroke.getKeyStroke(saveAsItem.getMnemonic(), >>> > ActionEvent.CTRL_MASK | ActionEvent.SHIFT_MASK)); >>> >>> This is NOT correct! Do not do this. Accelerators != mnemonics. >>> Although >>> accelerators' keys and mnemonics seem be equal in most cases in >>> English, this >>> is definitely not the case for many other languages, and in few >>> cases not even >>> in English. So, do not do this. Accelerators and mnemonics are two >>> distinct >>> concepts, so please do not mix them. >> >> I know they are two distinct things. What do you have in particular >> against >> setting the same character as the mnemonic and accelerator for an >> action? What >> do you propose as an alternative - would you prefer to have separate >> keys for >> each in Messages.properties? > > Again, if you weren't just hasting and have read my comment carefully > you would perhaps understand that you cannot lump these concepts > together. So, obviously I have to spell it out for you or spoon feed > it to you. > > Accelerators are an extension or evolution of function keys > (F1..F12...). They are supposed to directly invoke a specific > *function* by pressing a combination of keys. Furthermore, they are > global in scope, except for dialogs. > > Mnemonics are for *navigating* UI elements where usually keyboard > navigation is the only input device or for people who cannot use a > pointing device. Although the UI can be built to be fully tab key > navigable, mnemonics have an advantage over tab keys which offers > immediate navigation to a specific UI element. Lastly, mnemonics are > _not_ supposed to invoke program functions directly, as opposed to > accelerators, because they are local in scope. > > Furthermore, accelerators should be language agnostic where as > mnemonics should not. Example: ALT+F4 is a standard accelerator on > Windows for closing the current window or application. This > accelerator is labeled as "Close" in English with a "C" mnemonic but > is labeled "Schlie?en" in German with a "S" mnemonic. This approach > also allows to use the same accelerators with different languages; > which is what users want when roaming between different languages but > using the same application. > > Another example are languages which use ideographic script systems. > Just think about it, there is no key combination for Ctrl+?! > > This is basic UI design and building knowledge that should be taught > during the first semester in college. Well, actually in any major > programming language course. What do you learn at school??? Glad to see you're being mature here and not resorting to ad hominem. > >>> > saveAsItem.addActionListener(editor.saveAsButtonAction); >>> > fileMenu.add(saveAsItem); >>> > @@ -973,31 +882,47 @@ public class PolicyEditor extends JPanel >>> > setComponentMnemonic(exitItem, R("PEExitMenuItemMnemonic")); >>> > >>> exitItem.setAccelerator(KeyStroke.getKeyStroke(exitItem.getMnemonic(), >>> > ActionEvent.CTRL_MASK)); >>> > exitItem.addActionListener(editor.closeButtonAction); >>> > - exitItem.addActionListener(new ActionListener() { >>> > - @Override >>> > - public void actionPerformed(final ActionEvent e) { >>> > - window.dispose(); >>> > - } >>> > - }); >>> > fileMenu.add(exitItem); >>> > menuBar.add(fileMenu); >>> > >>> > final JMenu editMenu = new JMenu(R("PEEditMenu")); >>> > setComponentMnemonic(editMenu, R("PEEditMenuMnemonic")); >>> > >>> > + final JMenuItem addNewCodebaseItem = new >>> > JMenuItem(R("PEAddCodebase")); >>> > + setComponentMnemonic(addNewCodebaseItem, >>> R("PEAddCodebaseMnemonic")); >>> > + >>> > >>> addNewCodebaseItem.setAccelerator(KeyStroke.getKeyStroke(addNewCodebaseItem >>> > .getMnemonic(), ActionEvent.CTRL_MASK)); >>> >>> Again, do not do this! Accelerator != mnemonic. >>> >>> > + >>> addNewCodebaseItem.addActionListener(editor.addCodebaseButtonAction); >>> > + editMenu.add(addNewCodebaseItem); >>> > + >>> > + final JMenuItem removeCodebaseItem = new >>> > JMenuItem(R("PERemoveCodebase")); >>> > + setComponentMnemonic(removeCodebaseItem, >>> > R("PERemoveCodebaseMnemonic")); >>> > + >>> > >>> removeCodebaseItem.setAccelerator(KeyStroke.getKeyStroke(removeCodebaseItem >>> > .getMnemonic(), ActionEvent.CTRL_MASK)); >>> >>> Again, do not do this! Accelerator != mnemonic. >>> >>> > + >>> > >>> removeCodebaseItem.addActionListener(editor.removeCodebaseButtonAction); >>> >>> > + editMenu.add(removeCodebaseItem); >>> > + >>> > + editMenu.addSeparator(); >>> > + >>> > final JMenuItem renameCodebaseItem = new >>> > JMenuItem(R("PERenameCodebaseItem")); >>> > + setComponentMnemonic(renameCodebaseItem, >>> > R("PERenameCodebaseItemMnemonic")); >>> > + >>> > >>> renameCodebaseItem.setAccelerator(KeyStroke.getKeyStroke(renameCodebaseItem >>> > .getMnemonic(), ActionEvent.CTRL_MASK | ActionEvent.SHIFT_MASK)); >>> >>> Again, do not do this! Accelerator != mnemonic. >>> >>> >>> > >>> renameCodebaseItem.addActionListener(editor.renameCodebaseButtonAction); >>> >>> > editMenu.add(renameCodebaseItem); >>> > >>> > final JMenuItem copyCodebaseItem = new >>> > JMenuItem(R("PECopyCodebaseItem")); >>> > + setComponentMnemonic(copyCodebaseItem, >>> > R("PECopyCodebaseItemMnemonic")); >>> > + >>> > >>> copyCodebaseItem.setAccelerator(KeyStroke.getKeyStroke(copyCodebaseItem >>> > .getMnemonic(), ActionEvent.CTRL_MASK)); >>> >>> Again, do not do this! Accelerator != mnemonic. >>> >>> > copyCodebaseItem.addActionListener(editor.copyCodebaseButtonAction); >>> > editMenu.add(copyCodebaseItem); >>> > >>> > final JMenuItem pasteCodebaseItem = new >>> > JMenuItem(R("PEPasteCodebaseItem")); >>> > + setComponentMnemonic(pasteCodebaseItem, >>> > R("PEPasteCodebaseItemMnemonic")); >>> > + >>> > >>> pasteCodebaseItem.setAccelerator(KeyStroke.getKeyStroke(pasteCodebaseItem >>> > .getMnemonic(), ActionEvent.CTRL_MASK)); >>> >>> Again, do not do this! Accelerator != mnemonic. >>> >>> > >>> pasteCodebaseItem.addActionListener(editor.pasteCodebaseButtonAction); >>> > editMenu.add(pasteCodebaseItem); >>> > >>> > final JMenuItem copyCodebaseToClipboardItem = new >>> > JMenuItem(R("PECopyCodebaseToClipboardItem")); >>> > + setComponentMnemonic(copyCodebaseToClipboardItem, >>> > R("PECopyCodebaseToClipboardItemMnemonic")); >>> > + >>> > copyCodebaseToClipboardItem.setAccelerator(KeyStroke >>> > .getKeyStroke(copyCodebaseToClipboardItem.getMnemonic(), >>> > ActionEvent.CTRL_MASK)); >>> >>> Again, do not do this! Accelerator != mnemonic. >> >> Please do not do this non-helpful comment repetition. If you are so >> averse to it >> then please provide an actual alternative suggestion rather than just >> saying >> "No, this sucks, never do it ever" for half the length of your mail. > > It does suck when people do not think... :-/ > > Jacob > Please stop reviewing my patches if you aren't going to be useful or at least not derogatory. -- Andrew A From gnu.andrew at redhat.com Fri Jun 27 22:32:35 2014 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Fri, 27 Jun 2014 18:32:35 -0400 (EDT) Subject: icedtea7 ppc32 build error In-Reply-To: References: Message-ID: <1099648040.31972915.1403908355854.JavaMail.zimbra@redhat.com> ----- Original Message ----- > Building latetest icedtea7(http://icedtea.classpath.org/hg/icedtea7/) on > ppc32 fails with: > INFO: ZIP_DEBUGINFO_FILES=1 > INFO: ENABLE_FULL_DEBUG_SYMBOLS=1 > INFO: /usr/bin/objcopy cmd found so will create .debuginfo files. > INFO: STRIP_POLICY=no_strip > INFO: ZIP_DEBUGINFO_FILES=1 > gmake[7]: *** No rule to make target > `/root/icedtea7/openjdk-boot/hotspot/src/cpu/ppc/vm/ppc_32.ad', needed by > `../generated/adfiles/linux_ppc_32.ad'. > gmake[7]: *** No rule to make target > `/root/icedtea7/openjdk-boot/hotspot/src/os_cpu/linux_ppc/vm/linux_ppc_32.ad', > needed by `../generated/adfiles/linux_ppc_32.ad'. > gmake[7]: Target `all' not remade because of errors. > gmake[6]: *** [ad_stuff] Error 2 > > Here is my configre cmd: > ./configure --disable-jar-compression --without-rhino > --disable-system-kerberos --with-jdk-home=/usr/lib/icedtea7 --disable-zero > --disable-cacao --disable-arm32-jit --disable-docs --disable-tests > Remove the --disable-zero. I've actually added a check to catch this at configure time: changeset: 2728:87847ca9d356 user: Andrew John Hughes date: Fri Jun 13 02:02:33 2014 +0100 summary: PR1843: Fail early if there is no native HotSpot JIT & all other options are disabled so you haven't picked up this latest change. With the same configure options, I get: checking if a native HotSpot port is available for this architecture... no ... configure: error: No native HotSpot port available for powerpc and all alternatives disabled. But either way, you need to drop that option. Generally, we take time to pick good defaults for the various options, so, unless you have a good reason and know what you're doing, don't disable them. Thanks, -- 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 gitne at gmx.de Fri Jun 27 22:40:05 2014 From: gitne at gmx.de (Jacob Wisor) Date: Sat, 28 Jun 2014 00:40:05 +0200 Subject: [rfc][icedtea-web][policyeditor] Keyboard shortcuts and mnemonics touchup In-Reply-To: <53AD8A60.3050306@redhat.com> References: <53AC7183.3030107@redhat.com> <53AD8A60.3050306@redhat.com> Message-ID: <53ADF2C5.9060405@gmx.de> On 06/27/2014 05:14 PM, Andrew Azores wrote: > On 06/26/2014 03:16 PM, Andrew Azores wrote: >> Hi, >> >> This patch enhances PolicyEditor's accessibility quite a lot. Changes include: >> >> 1) Pressing "Enter" while a Group Checkbox has focus will expand the group >> (pressing space still selects the entire group at once) Oh, now I understand what you are intending to do... So you want to kind of simulate a right-click on the keyboard. Then the key should probably be KeyEvent.VK_CONTEXT_MENU instead of KeyEvent.VK_ENTER. On Windows KeyEvent.VK_CONTEXT_MENU maps to SHIFT+F10 (right-click). On other window managers KeyEvent.VK_CONTEXT_MENU should also map to right-click or some other key combination in place of a right-click, or maybe just the menu key. Try it with your window manager. This one is tricky. >> 2) Every menu item now has an accelerator shortcut and they all actually work >> properly >> 3) Accelerator shortcuts are more sane/intuitive >> 4) Defining shortcut keys in Messages.properties is simpler (! This one >> requires help from translators to fix the key bindings. It's also not entirely >> ideal because the modifier masks are not configurable via Messages.properties >> right now either - anyone have ideas on how to do that more neatly than having >> the Messages actually specify eg "C-S" or "C-S-S" for Ctrl-S/Ctrl-Shift-S per >> shortcut, for example? This wouldn't really be so bad though, I guess, >> especially since these strings would be defined solely by the person writing >> the translations, and never input by users) >> >> Coming up later will be accelerators/mnemonics for CustomPolicyViewer. >> >> Thanks, >> > > Here's round two of the patch, taking into account the helpful input from Omair > and Jacob. Difference from last patch: > > 1) Mnemonics and accelerators are separated in Messages.properties Good. > 2) KeyStroke.getKeyStroke is used, so accelerators are fully defined in > Messages.properties, including modifier keys Good. > 3) The Edit menu has been renamed Codebase, and menu items have have "codebase" > removed from their labels Even better! The more compact the better. Please do not confuse with "the shorter the better". ;-) Yeah, writing well understandable texts is difficult but it pays off. > 4) Some mnemonics tweaked to be a little more convenient > 5) "Copy URL to codebase" is control shift c rather than control b "Copy URL to codebase" is also too long. See below for details. > @@ -562,11 +562,13 @@ PEOpenMenuItem=Open... > PESaveMenuItem=Save > PESaveAsMenuItem=Save As... > PEExitMenuItem=Exit > -PEEditMenu=Edit > -PERenameCodebaseItem=Rename codebase > -PECopyCodebaseItem=Copy codebase > -PEPasteCodebaseItem=Paste codebase > -PECopyCodebaseToClipboardItem=Copy codebase URL to clipboard > +PECodebaseMenu=Codebase > +PEAddCodebaseItem=Add new > +PERemoveCodebaseItem=Remove > +PERenameCodebaseItem=Rename > +PECopyCodebaseItem=Copy > +PEPasteCodebaseItem=Paste > +PECopyCodebaseToClipboardItem=Copy URL to clipboard I would prefer to shorten PECopyCodebaseToClipboardItem to simply "Copy URL". It should be obvious that this data goes to clipboard, so no need for mentioning it explicitly. Because, if "Copy" does copy too, where does it copy to if "Copy URL to clipboard" copies to clipboard? So if you set PECopyCodebaseToClipboardItem to just "Copy URL" then you could set PECopyCodebaseItem to perhaps "Copy codebase". Although this may seem redundant now, I think it is far less confusing than to have only one JMenuItem labeled as copying to clipboard. Well, you'll figure. In any case, please put copyCodebaseItem and copyCodebaseToClipboardItem in proximity to each other in the JMenu, e.g. like Libr?Office does with "Paste" and "Paste special...". This should be implication enough that they both operate on the clipboard but on different data. > PERenameCodebase=Rename codebase to: > PEPasteCodebase=Paste copied codebase as: > PEViewMenu=View > [?] > +PERenameCodebaseItemMnemonic=E > + > +# See javax.swing.KeyStroke.getKeyStroke(String) > +PEAddCodebaseItemAccelerator=control N > +PERemoveCodebaseItemAccelerator=control shift R > +PEOpenMenuItemAccelerator=control O > +PESaveMenuItemAccelerator=control S > +PESaveAsMenuItemAccelerator=control shift S > +PEExitMenuItemAccelerator=control Q > +PECustomPermissionsItemAccelerator=control U > +PECopyCodebaseItemAccelerator=control C > +PEPasteCodebaseItemAccelerator=control V > +PERenameCodebaseItemAccelerator=control R Alternatively, I would suggest F2 here because it is a common accelerator on many desktop managers for renaming. > +PECopyCodebaseToClipboardItemAccelerator=control shift C > [?] > @@ -934,85 +846,130 @@ public class PolicyEditor extends JPanel > * @param component the component for which to set a mnemonic > * @param mnemonic the mnemonic to set > */ > - private static void setComponentMnemonic(final AbstractButton component, > final String mnemonic) { > - final int trig; > - try { > - trig = Integer.parseInt(mnemonic); > - } catch (final NumberFormatException nfe) { > - OutputController.getLogger().log(nfe); > + private static void setButtonMnemonic(final AbstractButton button, final > String mnemonic) { > + if (mnemonic.length() != 1) { Yeah, checking the mnemonic's length should be enough. I think it should also be a good idea to log a warning or debug level message here, just in case the mnemonic is empty or longer than 1. This would greatly help to catch any errors while localizing (and Jiri should put an additional test for accelerators and mnemonics to work too ;-) ) > return; > } > - component.setMnemonic(trig); > + final char ch = mnemonic.charAt(0); > + button.setMnemonic(ch); > + } > + > + private static void setMenuItemAccelerator(final JMenuItem menuItem, > final String accelerator) { > + final KeyStroke ks = KeyStroke.getKeyStroke(accelerator); > + if (ks != null) { > + menuItem.setAccelerator(ks); Although I am pretty sure setAccelerator() also accepts null ? in case one would like to remove an accelerator ? checking ks for null is okay here. It would be a good idea to have a debug or warning message logged here too, just in case the KeyStroke turns out to be null. > + } > [?] > + /* > + * JList has default Ctrl-C and Ctrl-V bindings, which we want to > override with custom actions > + */ > + final InputMap listInputMap = editor.list.getInputMap(); > + final ActionMap listActionMap = editor.list.getActionMap(); > + > + final Action listCopyOverrideAction = new AbstractAction() { > + @Override > + public void actionPerformed(final ActionEvent e) { > + editor.copyCodebaseButtonAction.actionPerformed(e); > + } > + }; > + > + final Action listPasteOverrideAction = new AbstractAction() { > + @Override > + public void actionPerformed(final ActionEvent e) { > + editor.pasteCodebaseButtonAction.actionPerformed(e); > + } > + }; > + > + listInputMap.put(copyCodebaseItem.getAccelerator(), > "CopyCodebaseOverride"); > + listActionMap.put("CopyCodebaseOverride", listCopyOverrideAction); > + listInputMap.put(pasteCodebaseItem.getAccelerator(), > "PasteCodebaseOverride"); > + listActionMap.put("PasteCodebaseOverride", listPasteOverrideAction); > + Yep, looks good. > [?] > @@ -1063,20 +1020,31 @@ public class PolicyEditor extends JPanel > groupCh.setToolTipText(R("PEGrightClick")); > groupCh.addMouseListener(new MouseAdapter() { > @Override > - public void mouseClicked(MouseEvent e) { > + public void mouseClicked(final MouseEvent e) { > if (e.getButton() == MouseEvent.BUTTON3) { > - groupPanel.setVisible(!groupPanel.isVisible()); > - PolicyEditor.this.validate(); > - final Window w = > SwingUtilities.getWindowAncestor(PolicyEditor.this); > - if (w != null) { > - w.pack(); > - } > + toggleExpandedCheckboxGroupPanel(groupPanel); > + } > + } > + }); > + groupCh.addKeyListener(new KeyListener() { > + @Override > + public void keyTyped(final KeyEvent e) { > + } > + > + @Override > + public void keyReleased(final KeyEvent e) { > + } > + > + @Override > + public void keyPressed(final KeyEvent e) { > + if (e.getKeyCode() == KeyEvent.VK_ENTER) { In any case, you could add KeyEvent.VK_CONTEXT_MENU here because it is roughly an equivalent to a right-click. > + toggleExpandedCheckboxGroupPanel(groupPanel); > } > } > }); > groupCh.addActionListener(new ActionListener() { > @Override > - public void actionPerformed(ActionEvent e) { > + public void actionPerformed(final ActionEvent e) { > final String codebase = getSelectedCodebase(); > if (codebase == null) { > return; This stuff may seem like details or nit picking but this is actually part of what makes good software. Going into details, tuning, making it easier and easier, making look and feel consistent with the rest of the system, etc. is what makes software such a pleasure to use. Most users do not perceive this actively but all major software packages that are heavy on UI are only so accessible and relatively easy to use because their developers spend a considerable amount of time on perfecting the UI experience. So keep on perfecting! ;-) Jacob From gitne at gmx.de Sat Jun 28 21:56:11 2014 From: gitne at gmx.de (Jacob Wisor) Date: Sat, 28 Jun 2014 23:56:11 +0200 Subject: [rfc][icedtea-web] Fix handling of UI controls in Java console Message-ID: <53AF39FB.8060808@gmx.de> Hello there! The subject says it all. ;-) Jacob -------------- next part -------------- A non-text attachment was scrubbed... Name: Fix handling of UI controls in Java console.patch Type: text/x-patch Size: 5116 bytes Desc: not available URL: From joakim.nordstrom at gmail.com Mon Jun 30 08:19:34 2014 From: joakim.nordstrom at gmail.com (=?UTF-8?Q?Joakim_Nordstr=C3=B6m?=) Date: Mon, 30 Jun 2014 10:19:34 +0200 Subject: AmigaOS-PowerPC port Message-ID: Hi, I'm porting OpenJDK 9 to AmigaOS 4/PowerPC, or at least trying to. I'd like to get some advice; specifically on whether to use IcedTea or not, and if I need a HotSpot implementation. General advice is ofcourse also welcome. Some background: I currently have GNU Classpath running using JamVM on AmigaOS. I've now also compiled the OpenJDK version of JamVM for Amiga. As an initial test, I used linux-x86 Java classes (built from the OpenJDK 9 repository on my Ubuntu machine). And this works, although it of course fails since I have no native libraries. But its a start. I'm now trying to cross-compile OpenJDK and add support for the Amiga specific things. It looks as if building OpenJDK requires the HotSpot VM, which of course doesn't have an Amiga implementation (not even a Zero one). Given that I have JamVM, I don't want to spend time implementing HotSpot support (atleast not for the moment). When reading docs and googlig for info, the general approach to cross-compiling OpenJDK and using JamVM is to use IcedTea. Will IcedTea remove the need for HotSpot? Because, one reason I _don't_ want to use IcedTea is that it doesn't seem to support OpenJDK 9. I know OpenJDK 9 isn't released yet, but I, again, don't want to spend time adapting stuff for v 7 or 8, when I know that I won't have anything releasable until they're out of date. So I thought I'd just go for the latest version. (Now, if the general opinion is that going for version 9 will be harder than 7 or 8, I'm not to argue.) Sorry for the long rant... but, if you for any reason want more of my porting-effort-rants, do visit my blog: http://jamiga.org Best regards, Joakim Nordstr?m -------------- next part -------------- An HTML attachment was scrubbed... URL: From jvanek at redhat.com Mon Jun 30 10:22:08 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 30 Jun 2014 12:22:08 +0200 Subject: [rfc][icedtea-web][policyeditor] Disable "paste" until "copy" is performed In-Reply-To: <53AD8D5F.5080908@redhat.com> References: <53AD8D5F.5080908@redhat.com> Message-ID: <53B13A50.8040303@redhat.com> On 06/27/2014 05:27 PM, Andrew Azores wrote: > Hi, > > This patch adds a check in the "paste" button action so that the dialog prompting the user for the new URL to paste with does not appear if a codebase has not been previously copied. This would also guard against the dialog appearing when a keyboard shortcut is used to paste. Additionally, the "paste" button in the Edit menu is now disabled until "copy" has been pressed for the first time. > > Thanks, > This seems a bit wrong to me. What if user copied it from somewhere else? I was not checking the original "add copy and paste" functinality but. What is codebase? If it is plain string, then you definitely should not do this. - Just check if something is in clipboard, and if it is string, enable paste. If it si not string, have it its own flavour, or syntax which cna be recognized? - If so, and it was recognized as codebase, please, enable paste it. Otherwise disable paste, and if ctrl+v is forced,, then show error. What do you think? J. From chris.lee at cern.ch Mon Jun 30 13:09:23 2014 From: chris.lee at cern.ch (Chris Lee) Date: Mon, 30 Jun 2014 15:09:23 +0200 Subject: javaws CLI with Icedtea-web Message-ID: <23C2F298-0602-457E-BA71-362A10334854@cern.ch> Hi all, Firstly the usual.. hope this is the right place to ask. If not, I would appreciate it if somebody can point me in the right direction. I am currently using Icedtea-web version 1.4.1 and I am trying to get use the javaws cli to launch an application with a specific set of deployment properties. If I put these into the ~/.icedtea/deployment.properties file, everything works as expected. However trying something as follows, keeps on failing and I am to 100% certain I am getting the syntax correct? javaws -verbose -property deployment.proxy.type=1 -property deployment.proxy.http.host=myproxy.com -property deployment.proxy.http.port=3128 http://mywebsite/launch.jnlp Thanks in Advance Chris Lee -------------- next part -------------- An HTML attachment was scrubbed... URL: From jvanek at redhat.com Mon Jun 30 14:02:29 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 30 Jun 2014 16:02:29 +0200 Subject: javaws CLI with Icedtea-web In-Reply-To: <23C2F298-0602-457E-BA71-362A10334854@cern.ch> References: <23C2F298-0602-457E-BA71-362A10334854@cern.ch> Message-ID: <53B16DF5.7000206@redhat.com> On 06/30/2014 03:09 PM, Chris Lee wrote: > Hi all, > > Firstly the usual.. hope this is the right place to ask. If not, I would appreciate it if somebody can point me in the right direction. Yes. This is correct list. > > I am currently using Icedtea-web version 1.4.1 and I am trying to get use the javaws cli to launch an application with a specific set of deployment properties. 1.4.1 is outdated. If you need for some reason to stay with 1.4, please update to 1.4.2, however - please swap to 1.5. It was released few month ago, is stable, and a a lot of fixes was fixed here. > If I put these into the ~/.icedtea/deployment.properties file, everything works as expected. However trying something as follows, keeps on failing and I am to 100% certain I am getting the syntax correct? It is long time since somebody was playing with -property switch, TBH it was forgotten to be tested, but it should be supported. In meantime (before I look into it more deeply) maybe you can elaborate with -DpropertyName=value instead of -property propertyName=value and/or -Xnofork - each of those 4 (3new) combinations may lead to different results. > > /javaws -verbose -property deployment.proxy.type=1 -property deployment.proxy.http.host=myproxy.com -property deployment.proxy.http.port=3128 http://mywebsite/launch.jnlp/ > / > / In verbose mode, the arguments should be reprinted. May you post the logs? In 1.5 you have developer console. It is providing better logs then 1.4 stdouts/errs. J. From doko at ubuntu.com Mon Jun 30 14:03:56 2014 From: doko at ubuntu.com (Matthias Klose) Date: Mon, 30 Jun 2014 16:03:56 +0200 Subject: A pkg-config file for OpenJDK In-Reply-To: <20140626145657.GA2761@redhat.com> References: <20140626145657.GA2761@redhat.com> Message-ID: <53B16E4C.5000701@ubuntu.com> Am 26.06.2014 16:56, schrieb Omair Majid: > Does anyone else have any thoughts or comments about this? this helps people to build bindings, but does it help people running them? At least Debian and Ubuntu don't ship a libjvm.so and libjava.so in a location which is looked up by the dynamic loader. But having the pkgconfig file doesn't hurt. Matthias From aazores at redhat.com Mon Jun 30 14:07:45 2014 From: aazores at redhat.com (Andrew Azores) Date: Mon, 30 Jun 2014 10:07:45 -0400 (EDT) Subject: [rfc][icedtea-web][policyeditor] Disable "paste" until "copy" is performed In-Reply-To: <53B13A50.8040303@redhat.com> References: <53AD8D5F.5080908@redhat.com> <53B13A50.8040303@redhat.com> Message-ID: <700942279.790346.1404137265357.JavaMail.zimbra@redhat.com> Hi, The "Copy" in question copies the permissions for a codebase in the PolicyEditor. Then when you go to "Paste", it asks you for a new codebase URL, and creates a new entry in the editor with that URL but all of the permissions duplicated from the codebase that you copied. So there isn't really any way to "copy it from somewhere else" as it doesn't actually use the system clipboard, just a "clipboard" within PolicyEditor. Thanks, Andrew A ----- Original Message ----- > On 06/27/2014 05:27 PM, Andrew Azores wrote: > > Hi, > > > > This patch adds a check in the "paste" button action so that the dialog > > prompting the user for the new URL to paste with does not appear if a > > codebase has not been previously copied. This would also guard against the > > dialog appearing when a keyboard shortcut is used to paste. Additionally, > > the "paste" button in the Edit menu is now disabled until "copy" has been > > pressed for the first time. > > > > Thanks, > > > This seems a bit wrong to me. > > What if user copied it from somewhere else? > > I was not checking the original "add copy and paste" functinality but. > > What is codebase? > > If it is plain string, then you definitely should not do this. > - Just check if something is in clipboard, and if it is string, enable > paste. > > If it si not string, have it its own flavour, or syntax which cna be > recognized? > - If so, and it was recognized as codebase, please, enable paste it. > > Otherwise disable paste, and if ctrl+v is forced,, then show error. > > > What do you think? > > J. > From jvanek at redhat.com Mon Jun 30 14:10:19 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 30 Jun 2014 16:10:19 +0200 Subject: [rfc][icedtea-web][policyeditor] Disable "paste" until "copy" is performed In-Reply-To: <700942279.790346.1404137265357.JavaMail.zimbra@redhat.com> References: <53AD8D5F.5080908@redhat.com> <53B13A50.8040303@redhat.com> <700942279.790346.1404137265357.JavaMail.zimbra@redhat.com> Message-ID: <53B16FCB.8030608@redhat.com> On 06/30/2014 04:07 PM, Andrew Azores wrote: > Hi, > > The "Copy" in question copies the permissions for a codebase in the PolicyEditor. Then when you go to "Paste", it asks you for a new codebase URL, and creates a new entry in the editor with that URL but all of the permissions duplicated from the codebase that you copied. So there isn't really any way to "copy it from somewhere else" as it doesn't actually use the system clipboard, just a "clipboard" within PolicyEditor. > Oh thats misleading. Wouldn't be better to have proper clipboard function? > > Andrew A > > ----- Original Message ----- >> On 06/27/2014 05:27 PM, Andrew Azores wrote: >>> Hi, >>> >>> This patch adds a check in the "paste" button action so that the dialog >>> prompting the user for the new URL to paste with does not appear if a >>> codebase has not been previously copied. This would also guard against the >>> dialog appearing when a keyboard shortcut is used to paste. Additionally, >>> the "paste" button in the Edit menu is now disabled until "copy" has been >>> pressed for the first time. >>> >>> Thanks, >>> >> This seems a bit wrong to me. >> >> What if user copied it from somewhere else? >> >> I was not checking the original "add copy and paste" functinality but. >> >> What is codebase? >> >> If it is plain string, then you definitely should not do this. >> - Just check if something is in clipboard, and if it is string, enable >> paste. >> >> If it si not string, have it its own flavour, or syntax which cna be >> recognized? >> - If so, and it was recognized as codebase, please, enable paste it. >> >> Otherwise disable paste, and if ctrl+v is forced,, then show error. >> >> >> What do you think? >> >> J. >> From aazores at redhat.com Mon Jun 30 14:19:16 2014 From: aazores at redhat.com (Andrew Azores) Date: Mon, 30 Jun 2014 10:19:16 -0400 (EDT) Subject: [rfc][icedtea-web][policyeditor] Disable "paste" until "copy" is performed In-Reply-To: <53B16FCB.8030608@redhat.com> References: <53AD8D5F.5080908@redhat.com> <53B13A50.8040303@redhat.com> <700942279.790346.1404137265357.JavaMail.zimbra@redhat.com> <53B16FCB.8030608@redhat.com> Message-ID: <1291404810.796849.1404137956493.JavaMail.zimbra@redhat.com> I didn't think it really made sense to be able to copy/paste actual policy file codebase entry contents, particularly since PolicyEditor doesn't actually have full support right now for everything that can go into a policy file eg certain structures of comments or the "principal" attribute or however you call it. You can copy the selected codebase URL to the system clipboard though, and you can paste your system clipboard contents into the "New Codebase" dialog which prompts for a codebase URL. Thanks, Andrew A ----- Original Message ----- > On 06/30/2014 04:07 PM, Andrew Azores wrote: > > Hi, > > > > The "Copy" in question copies the permissions for a codebase in the > > PolicyEditor. Then when you go to "Paste", it asks you for a new codebase > > URL, and creates a new entry in the editor with that URL but all of the > > permissions duplicated from the codebase that you copied. So there isn't > > really any way to "copy it from somewhere else" as it doesn't actually use > > the system clipboard, just a "clipboard" within PolicyEditor. > > > Oh thats misleading. > > Wouldn't be better to have proper clipboard function? > > > > > > Andrew A > > > > ----- Original Message ----- > >> On 06/27/2014 05:27 PM, Andrew Azores wrote: > >>> Hi, > >>> > >>> This patch adds a check in the "paste" button action so that the dialog > >>> prompting the user for the new URL to paste with does not appear if a > >>> codebase has not been previously copied. This would also guard against > >>> the > >>> dialog appearing when a keyboard shortcut is used to paste. Additionally, > >>> the "paste" button in the Edit menu is now disabled until "copy" has been > >>> pressed for the first time. > >>> > >>> Thanks, > >>> > >> This seems a bit wrong to me. > >> > >> What if user copied it from somewhere else? > >> > >> I was not checking the original "add copy and paste" functinality but. > >> > >> What is codebase? > >> > >> If it is plain string, then you definitely should not do this. > >> - Just check if something is in clipboard, and if it is string, enable > >> paste. > >> > >> If it si not string, have it its own flavour, or syntax which cna be > >> recognized? > >> - If so, and it was recognized as codebase, please, enable paste it. > >> > >> Otherwise disable paste, and if ctrl+v is forced,, then show error. > >> > >> > >> What do you think? > >> > >> J. > >> > > From jvanek at redhat.com Mon Jun 30 14:22:47 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 30 Jun 2014 16:22:47 +0200 Subject: [rfc][icedtea-web][policyeditor] Disable "paste" until "copy" is performed In-Reply-To: <1291404810.796849.1404137956493.JavaMail.zimbra@redhat.com> References: <53AD8D5F.5080908@redhat.com> <53B13A50.8040303@redhat.com> <700942279.790346.1404137265357.JavaMail.zimbra@redhat.com> <53B16FCB.8030608@redhat.com> <1291404810.796849.1404137956493.JavaMail.zimbra@redhat.com> Message-ID: <53B172B7.9080603@redhat.com> On 06/30/2014 04:19 PM, Andrew Azores wrote: > I didn't think it really made sense to be able to copy/paste actual policy file codebase entry contents, particularly since PolicyEditor doesn't actually have full support right now for everything that can go into a policy file eg certain structures of comments or the "principal" attribute or however you call it. You can copy the selected codebase URL to the system clipboard though, and you can paste your system clipboard contents into the "New Codebase" dialog which prompts for a codebase URL. > Yes. I'm (now a bit more:) aware of this. What about the case when one have more PoliciEditors running? He would be expecting th transfer things via copy/paste actions. And the buttons are suggesting, he can. The patch itself is good for simple case how it is done now. But it does not mean it is the best way how it is handled. > > Andrew A > > ----- Original Message ----- >> On 06/30/2014 04:07 PM, Andrew Azores wrote: >>> Hi, >>> >>> The "Copy" in question copies the permissions for a codebase in the >>> PolicyEditor. Then when you go to "Paste", it asks you for a new codebase >>> URL, and creates a new entry in the editor with that URL but all of the >>> permissions duplicated from the codebase that you copied. So there isn't >>> really any way to "copy it from somewhere else" as it doesn't actually use >>> the system clipboard, just a "clipboard" within PolicyEditor. >>> >> Oh thats misleading. >> >> Wouldn't be better to have proper clipboard function? >> >> >>> >>> Andrew A >>> >>> ----- Original Message ----- >>>> On 06/27/2014 05:27 PM, Andrew Azores wrote: >>>>> Hi, >>>>> >>>>> This patch adds a check in the "paste" button action so that the dialog >>>>> prompting the user for the new URL to paste with does not appear if a >>>>> codebase has not been previously copied. This would also guard against >>>>> the >>>>> dialog appearing when a keyboard shortcut is used to paste. Additionally, >>>>> the "paste" button in the Edit menu is now disabled until "copy" has been >>>>> pressed for the first time. >>>>> >>>>> Thanks, >>>>> >>>> This seems a bit wrong to me. >>>> >>>> What if user copied it from somewhere else? >>>> >>>> I was not checking the original "add copy and paste" functinality but. >>>> >>>> What is codebase? >>>> >>>> If it is plain string, then you definitely should not do this. >>>> - Just check if something is in clipboard, and if it is string, enable >>>> paste. >>>> >>>> If it si not string, have it its own flavour, or syntax which cna be >>>> recognized? >>>> - If so, and it was recognized as codebase, please, enable paste it. >>>> >>>> Otherwise disable paste, and if ctrl+v is forced,, then show error. >>>> >>>> >>>> What do you think? >>>> >>>> J. >>>> >> >> From aazores at redhat.com Mon Jun 30 14:33:07 2014 From: aazores at redhat.com (Andrew Azores) Date: Mon, 30 Jun 2014 10:33:07 -0400 (EDT) Subject: [rfc][icedtea-web][policyeditor] Disable "paste" until "copy" is performed In-Reply-To: <53B172B7.9080603@redhat.com> References: <53AD8D5F.5080908@redhat.com> <53B13A50.8040303@redhat.com> <700942279.790346.1404137265357.JavaMail.zimbra@redhat.com> <53B16FCB.8030608@redhat.com> <1291404810.796849.1404137956493.JavaMail.zimbra@redhat.com> <53B172B7.9080603@redhat.com> Message-ID: <1474092143.808274.1404138787777.JavaMail.zimbra@redhat.com> Yes, that would be very nice if that work flow could be supported. I'll have Lukasz and/or Jie work with me on this so there's an excuse to make them learn this part of the ITW/PE codebase too ;) Thanks, Andrew A ----- Original Message ----- > On 06/30/2014 04:19 PM, Andrew Azores wrote: > > I didn't think it really made sense to be able to copy/paste actual policy > > file codebase entry contents, particularly since PolicyEditor doesn't > > actually have full support right now for everything that can go into a > > policy file eg certain structures of comments or the "principal" attribute > > or however you call it. You can copy the selected codebase URL to the > > system clipboard though, and you can paste your system clipboard contents > > into the "New Codebase" dialog which prompts for a codebase URL. > > > > Yes. I'm (now a bit more:) aware of this. > > What about the case when one have more PoliciEditors running? He would be > expecting th transfer things via copy/paste actions. And the buttons are > suggesting, he can. > > The patch itself is good for simple case how it is done now. But it does not > mean it is the best way how it is handled. > > > > Andrew A > > > > ----- Original Message ----- > >> On 06/30/2014 04:07 PM, Andrew Azores wrote: > >>> Hi, > >>> > >>> The "Copy" in question copies the permissions for a codebase in the > >>> PolicyEditor. Then when you go to "Paste", it asks you for a new codebase > >>> URL, and creates a new entry in the editor with that URL but all of the > >>> permissions duplicated from the codebase that you copied. So there isn't > >>> really any way to "copy it from somewhere else" as it doesn't actually > >>> use > >>> the system clipboard, just a "clipboard" within PolicyEditor. > >>> > >> Oh thats misleading. > >> > >> Wouldn't be better to have proper clipboard function? > >> > >> > >>> > >>> Andrew A > >>> > >>> ----- Original Message ----- > >>>> On 06/27/2014 05:27 PM, Andrew Azores wrote: > >>>>> Hi, > >>>>> > >>>>> This patch adds a check in the "paste" button action so that the dialog > >>>>> prompting the user for the new URL to paste with does not appear if a > >>>>> codebase has not been previously copied. This would also guard against > >>>>> the > >>>>> dialog appearing when a keyboard shortcut is used to paste. > >>>>> Additionally, > >>>>> the "paste" button in the Edit menu is now disabled until "copy" has > >>>>> been > >>>>> pressed for the first time. > >>>>> > >>>>> Thanks, > >>>>> > >>>> This seems a bit wrong to me. > >>>> > >>>> What if user copied it from somewhere else? > >>>> > >>>> I was not checking the original "add copy and paste" functinality but. > >>>> > >>>> What is codebase? > >>>> > >>>> If it is plain string, then you definitely should not do this. > >>>> - Just check if something is in clipboard, and if it is string, > >>>> enable > >>>> paste. > >>>> > >>>> If it si not string, have it its own flavour, or syntax which cna be > >>>> recognized? > >>>> - If so, and it was recognized as codebase, please, enable paste it. > >>>> > >>>> Otherwise disable paste, and if ctrl+v is forced,, then show error. > >>>> > >>>> > >>>> What do you think? > >>>> > >>>> J. > >>>> > >> > >> > > From gitne at gmx.de Mon Jun 30 14:35:27 2014 From: gitne at gmx.de (Jacob Wisor) Date: Mon, 30 Jun 2014 16:35:27 +0200 Subject: [rfc][icedtea-web][policyeditor] Disable "paste" until "copy" is performed In-Reply-To: <53B172B7.9080603@redhat.com> References: <53AD8D5F.5080908@redhat.com> <53B13A50.8040303@redhat.com> <700942279.790346.1404137265357.JavaMail.zimbra@redhat.com> <53B16FCB.8030608@redhat.com> <1291404810.796849.1404137956493.JavaMail.zimbra@redhat.com> <53B172B7.9080603@redhat.com> Message-ID: <53B175AF.3030007@gmx.de> On 06/30/2014 04:22 PM, Jiri Vanek wrote: > On 06/30/2014 04:19 PM, Andrew Azores wrote: >> I didn't think it really made sense to be able to copy/paste actual policy >> file codebase entry contents, particularly since PolicyEditor doesn't actually >> have full support right now for everything that can go into a policy file eg >> certain structures of comments or the "principal" attribute or however you >> call it. You can copy the selected codebase URL to the system clipboard >> though, and you can paste your system clipboard contents into the "New >> Codebase" dialog which prompts for a codebase URL. >> > > Yes. I'm (now a bit more:) aware of this. > > What about the case when one have more PoliciEditors running? He would be > expecting th transfer things via copy/paste actions. And the buttons are > suggesting, he can. > > The patch itself is good for simple case how it is done now. But it does not > mean it is the best way how it is handled. I agree with Jiri. Copying and pasting data even in one application only should be moved via the clipboard with proper DataFlavours (except for pure Strings). And, the enabled state of the respective MenuItems should be based on the content of the clipboard. >> Andrew A >> >> ----- Original Message ----- >>> On 06/30/2014 04:07 PM, Andrew Azores wrote: >>>> Hi, >>>> >>>> The "Copy" in question copies the permissions for a codebase in the >>>> PolicyEditor. Then when you go to "Paste", it asks you for a new codebase >>>> URL, and creates a new entry in the editor with that URL but all of the >>>> permissions duplicated from the codebase that you copied. So there isn't >>>> really any way to "copy it from somewhere else" as it doesn't actually use >>>> the system clipboard, just a "clipboard" within PolicyEditor. >>>> >>> Oh thats misleading. >>> >>> Wouldn't be better to have proper clipboard function? >>> >>> >>>> >>>> Andrew A >>>> >>>> ----- Original Message ----- >>>>> On 06/27/2014 05:27 PM, Andrew Azores wrote: >>>>>> Hi, >>>>>> >>>>>> This patch adds a check in the "paste" button action so that the dialog >>>>>> prompting the user for the new URL to paste with does not appear if a >>>>>> codebase has not been previously copied. This would also guard against >>>>>> the >>>>>> dialog appearing when a keyboard shortcut is used to paste. Additionally, >>>>>> the "paste" button in the Edit menu is now disabled until "copy" has been >>>>>> pressed for the first time. >>>>>> >>>>>> Thanks, >>>>>> >>>>> This seems a bit wrong to me. >>>>> >>>>> What if user copied it from somewhere else? >>>>> >>>>> I was not checking the original "add copy and paste" functinality but. >>>>> >>>>> What is codebase? >>>>> >>>>> If it is plain string, then you definitely should not do this. >>>>> - Just check if something is in clipboard, and if it is string, enable >>>>> paste. >>>>> >>>>> If it si not string, have it its own flavour, or syntax which cna be >>>>> recognized? >>>>> - If so, and it was recognized as codebase, please, enable paste it. >>>>> >>>>> Otherwise disable paste, and if ctrl+v is forced,, then show error. >>>>> >>>>> >>>>> What do you think? >>>>> >>>>> J. From chris.lee at cern.ch Mon Jun 30 14:39:09 2014 From: chris.lee at cern.ch (Chris Lee) Date: Mon, 30 Jun 2014 16:39:09 +0200 Subject: javaws CLI with Icedtea-web In-Reply-To: <53B16DF5.7000206@redhat.com> References: <23C2F298-0602-457E-BA71-362A10334854@cern.ch> <53B16DF5.7000206@redhat.com> Message-ID: <972ECB76-39B1-4604-856D-6D19F2315007@cern.ch> Hi Jiri Thanks so much To explain as well, what I am trying to do is use a specific proxy server and port for a specific website. I had thought that a link to the CLI might be the quickest if I can get it working, If there is an easier way to configure, then I am open to suggestions. > 1.4.1 is outdated. If you need for some reason to stay with 1.4, please update to 1.4.2, however - please swap to 1.5. It was released few month ago, is stable, and a a lot of fixes was fixed here. This installation is for the ATLAS experiment at CERN. For security reason, we are usually compelled to use what is available in the SLC repos, which unfortunately for me right now is 1.4.1 Below are the details: [chlee at pc-atlas-cr-35 ~]$ rpm -qi icedtea-webName : icedtea-web Relocations: (not relocatable) Version : 1.4.1 Vendor: Scientific Linux CERN, http://cern.ch/linux Release : 0.el6 Build Date: Fri 22 Nov 2013 02:38:34 PM CET Install Date: Tue 08 Apr 2014 03:35:08 PM CEST Build Host: lxdist02 Group : Applications/Internet Source RPM: icedtea-web-1.4.1-0.el6.src.rpm Size : 1146953 License: LGPLv2+ and GPLv2 with exceptions Signature : DSA/SHA1, Fri 22 Nov 2013 02:50:08 PM CET, Key ID 5e03fde51d1e034b Packager : CERN Linux Support URL : http://icedtea.classpath.org/wiki/IcedTea-Web Summary : Additional Java components for OpenJDK - Java browser plug-in and Web Start implementation Description : The IcedTea-Web project provides a Java web browser plugin, an implementation of Java Web Start (originally based on the Netx project) and a settings tool to manage deployment settings for the aforementioned plugin and Web Start implementations. > It is long time since somebody was playing with -property switch, TBH it was forgotten to be tested, but it should be supported. > > In meantime (before I look into it more deeply) maybe you can elaborate with -DpropertyName=value instead of -property propertyName=value and/or -Xnofork - each of those 4 (3new) combinations may lead to different results. Essentially like this then? javaws -verbose -Ddeployment.proxy.type=1 -Ddeployment.proxy.http.host=atlasgw-exp.cern.ch -Dproxy.http.port=3128 http://dipbrowser.web.cern.ch/dipbrowser/launch.jnlp I seem to get the same output as with -property as can be seen below, which lead me to believe i might be using the wrong syntax or.. > In verbose mode, the arguments should be reprinted. May you post the logs? > > In 1.5 you have developer console. It is providing better logs then 1.4 stdouts/errs. > ^C[chlee at pc-atlas-cr-35 .icedtea]$ javaws -verbose -Dproxy.http.port=3128 http://dipbrowser.web.cern.ch/dipbrowser/launch.jnlp java.io.FileNotFoundException: /atlas-home/1/chlee/.icedtea/deployment.properties (No such file or directory) at java.io.FileInputStream.open(Native Method) at java.io.FileInputStream.(FileInputStream.java:146) at java.io.FileReader.(FileReader.java:72) at net.sourceforge.jnlp.config.DeploymentConfiguration.parsePropertiesFile(DeploymentConfiguration.java:609) at net.sourceforge.jnlp.config.DeploymentConfiguration.findSystemConfigFile(DeploymentConfiguration.java:424) at net.sourceforge.jnlp.config.DeploymentConfiguration.load(DeploymentConfiguration.java:236) at net.sourceforge.jnlp.config.DeploymentConfiguration.load(DeploymentConfiguration.java:205) at net.sourceforge.jnlp.runtime.JNLPRuntime.initialize(JNLPRuntime.java:194) at net.sourceforge.jnlp.runtime.Boot.run(Boot.java:186) at net.sourceforge.jnlp.runtime.Boot.run(Boot.java:53) at java.security.AccessController.doPrivileged(Native Method) at net.sourceforge.jnlp.runtime.Boot.main(Boot.java:177) No User level deployment.properties found. Starting security dialog thread Using firefox's profiles file: /atlas-home/1/chlee/.mozilla/firefox/profiles.ini Found preferences file: /atlas-home/1/chlee/.mozilla/firefox/4mi0hwbe.default/prefs.js Read 77 entries from Firefox's preferences JNLP file location: http://dipbrowser.web.cern.ch/dipbrowser/launch.jnlp call privileged method: getCodeBase result: null Status: CONNECT STARTED +(CONNECT STARTED) @ /dipbrowser/launch.jnlp Status: CONNECT DOWNLOAD STARTED +(DOWNLOAD) @ /dipbrowser/launch.jnlp Status: CONNECTING DOWNLOAD STARTED +(CONNECTING) -(CONNECT) @ /dipbrowser/launch.jnlp All possible urls for location=http://dipbrowser.web.cern.ch/dipbrowser/launch.jnlp state=CONNECTING DOWNLOAD STARTED : [http://dipbrowser.web.cern.ch/dipbrowser/launch.jnlp, http://dipbrowser.web.cern.ch/dipbrowser/launch.jnlp] Selecting proxy for: http://dipbrowser.web.cern.ch/dipbrowser/launch.jnlp Browser proxy option "4" (Automatic) not supported yet. Browser selected proxies: [DIRECT] Selected proxies: [DIRECT] Selecting proxy for: socket://dipbrowser.web.cern.ch:80 Browser proxy option "4" (Automatic) not supported yet. Browser selected proxies: [DIRECT] Selected proxies: [DIRECT] [chlee at pc-atlas-cr-35 ~]javaws -verbose -property deployment.proxy.type=1 -property deployment.proxy.http.host=atlasgw-exp.cern.ch -property deployment.proxy.http.port=3128 http://dipbrowser.web.cern.ch/dipbrowser/launch.jnlp java.io.FileNotFoundException: /atlas-home/1/chlee/.icedtea/deployment.properties (No such file or directory) at java.io.FileInputStream.open(Native Method) at java.io.FileInputStream.(FileInputStream.java:146) at java.io.FileReader.(FileReader.java:72) at net.sourceforge.jnlp.config.DeploymentConfiguration.parsePropertiesFile(DeploymentConfiguration.java:609) at net.sourceforge.jnlp.config.DeploymentConfiguration.findSystemConfigFile(DeploymentConfiguration.java:424) at net.sourceforge.jnlp.config.DeploymentConfiguration.load(DeploymentConfiguration.java:236) at net.sourceforge.jnlp.config.DeploymentConfiguration.load(DeploymentConfiguration.java:205) at net.sourceforge.jnlp.runtime.JNLPRuntime.initialize(JNLPRuntime.java:194) at net.sourceforge.jnlp.runtime.Boot.run(Boot.java:186) at net.sourceforge.jnlp.runtime.Boot.run(Boot.java:53) at java.security.AccessController.doPrivileged(Native Method) at net.sourceforge.jnlp.runtime.Boot.main(Boot.java:177) No User level deployment.properties found. Starting security dialog thread Using firefox's profiles file: /atlas-home/1/chlee/.mozilla/firefox/profiles.ini Found preferences file: /atlas-home/1/chlee/.mozilla/firefox/4mi0hwbe.default/prefs.js Read 77 entries from Firefox's preferences JNLP file location: http://dipbrowser.web.cern.ch/dipbrowser/launch.jnlp call privileged method: getCodeBase result: null Status: CONNECT STARTED +(CONNECT STARTED) @ /dipbrowser/launch.jnlp Status: CONNECT DOWNLOAD STARTED +(DOWNLOAD) @ /dipbrowser/launch.jnlp Status: CONNECTING DOWNLOAD STARTED +(CONNECTING) -(CONNECT) @ /dipbrowser/launch.jnlp All possible urls for location=http://dipbrowser.web.cern.ch/dipbrowser/launch.jnlp state=CONNECTING DOWNLOAD STARTED : [http://dipbrowser.web.cern.ch/dipbrowser/launch.jnlp, http://dipbrowser.web.cern.ch/dipbrowser/launch.jnlp] Selecting proxy for: http://dipbrowser.web.cern.ch/dipbrowser/launch.jnlp Browser proxy option "4" (Automatic) not supported yet. Browser selected proxies: [DIRECT] Selected proxies: [DIRECT] Selecting proxy for: socket://dipbrowser.web.cern.ch:80 Browser proxy option "4" (Automatic) not supported yet. Browser selected proxies: [DIRECT] Selected proxies: [DIRECT] > cat .icedtea/deployment.properties deployment.proxy.type=1 deployment.proxy.http.host=atlasgw-exp.cern.ch deployment.proxy.http.port=3128[chlee at pc-atlas-cr-35 ~]$ [chlee at pc-atlas-cr-35 ~]$ javaws -verbose http://dipbrowser.web.cern.ch/dipbrowser/launch.jnlp Loading User level properties from: /atlas-home/1/chlee/.icedtea/deployment.properties Starting security dialog thread Using firefox's profiles file: /atlas-home/1/chlee/.mozilla/firefox/profiles.ini Found preferences file: /atlas-home/1/chlee/.mozilla/firefox/4mi0hwbe.default/prefs.js Read 77 entries from Firefox's preferences JNLP file location: http://dipbrowser.web.cern.ch/dipbrowser/launch.jnlp call privileged method: getCodeBase result: null Status: CONNECT STARTED +(CONNECT STARTED) @ /dipbrowser/launch.jnlp Status: CONNECT DOWNLOAD STARTED +(DOWNLOAD) @ /dipbrowser/launch.jnlp Status: CONNECTING DOWNLOAD STARTED +(CONNECTING) -(CONNECT) @ /dipbrowser/launch.jnlp All possible urls for location=http://dipbrowser.web.cern.ch/dipbrowser/launch.jnlp state=CONNECTING DOWNLOAD STARTED : [http://dipbrowser.web.cern.ch/dipbrowser/launch.jnlp, http://dipbrowser.web.cern.ch/dipbrowser/launch.jnlp] Selecting proxy for: http://dipbrowser.web.cern.ch/dipbrowser/launch.jnlp Selected proxies: [HTTP @ atlasgw-exp.cern.ch/10.156.32.31:3128] best url for location=http://dipbrowser.web.cern.ch/dipbrowser/launch.jnlp state=CONNECTING DOWNLOAD STARTED is http://dipbrowser.web.cern.ch/dipbrowser/launch.jnlp by HEAD Selecting proxy for: http://dipbrowser.web.cern.ch/dipbrowser/launch.jnlp Selected proxies: [HTTP @ atlasgw-exp.cern.ch/10.156.32.31:3128] isCurrent: http://dipbrowser.web.cern.ch/dipbrowser/launch.jnlp = true Status: CONNECTED DOWNLOAD STARTED +(CONNECTED) -(CONNECTING) @ /dipbrowser/launch.jnlp Status: CONNECTED DOWNLOADED STARTED +(DOWNLOADED) -(DOWNLOAD) @ /dipbrowser/launch.jnlp Thanks in Advance Chris From jvanek at redhat.com Mon Jun 30 14:45:57 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 30 Jun 2014 16:45:57 +0200 Subject: javaws CLI with Icedtea-web In-Reply-To: <53B16DF5.7000206@redhat.com> References: <23C2F298-0602-457E-BA71-362A10334854@cern.ch> <53B16DF5.7000206@redhat.com> Message-ID: <53B17825.4070704@redhat.com> On 06/30/2014 04:02 PM, Jiri Vanek wrote: > On 06/30/2014 03:09 PM, Chris Lee wrote: >> Hi all, >> >> Firstly the usual.. hope this is the right place to ask. If not, I would appreciate it if somebody can point me in the right direction. > > Yes. This is correct list. >> >> I am currently using Icedtea-web version 1.4.1 and I am trying to get use the javaws cli to launch an application with a specific set of deployment properties. > > 1.4.1 is outdated. If you need for some reason to stay with 1.4, please update to 1.4.2, however - please swap to 1.5. It was released few month ago, is stable, and a a lot of fixes was fixed here. > >> If I put these into the ~/.icedtea/deployment.properties file, everything works as expected. However trying something as follows, keeps on failing and I am to 100% certain I am getting the syntax correct? > > It is long time since somebody was playing with -property switch, TBH it was forgotten to be tested, but it should be supported. > > In meantime (before I look into it more deeply) maybe you can elaborate with -DpropertyName=value instead of -property propertyName=value and/or -Xnofork - each of those 4 (3new) combinations may lead to different results. I meant ith -J-DpropertyName=value not just -D //reading your new email now > > >> >> /javaws -verbose -property deployment.proxy.type=1 -property deployment.proxy.http.host=myproxy.com -property deployment.proxy.http.port=3128 http://mywebsite/launch.jnlp/ >> / >> / > > In verbose mode, the arguments should be reprinted. May you post the logs? > > In 1.5 you have developer console. It is providing better logs then 1.4 stdouts/errs. > > > J. > From jvanek at redhat.com Mon Jun 30 14:51:05 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 30 Jun 2014 16:51:05 +0200 Subject: javaws CLI with Icedtea-web In-Reply-To: <972ECB76-39B1-4604-856D-6D19F2315007@cern.ch> References: <23C2F298-0602-457E-BA71-362A10334854@cern.ch> <53B16DF5.7000206@redhat.com> <972ECB76-39B1-4604-856D-6D19F2315007@cern.ch> Message-ID: <53B17959.4000409@redhat.com> On 06/30/2014 04:39 PM, Chris Lee wrote: > Hi Jiri > > Thanks so much > > To explain as well, what I am trying to do is use a specific proxy server and port for a specific website. > I had thought that a link to the CLI might be the quickest if I can get it working, If there is an easier way to configure, then I am open to suggestions. > >> 1.4.1 is outdated. If you need for some reason to stay with 1.4, please update to 1.4.2, however - please swap to 1.5. It was released few month ago, is stable, and a a lot of fixes was fixed here. > > This installation is for the ATLAS experiment at CERN. For security reason, we are usually compelled to use what is available in the SLC repos, which unfortunately for me right now is 1.4.1 > Below are the details: > > [chlee at pc-atlas-cr-35 ~]$ rpm -qi icedtea-webName : icedtea-web Relocations: (not relocatable) > Version : 1.4.1 Vendor: Scientific Linux CERN, http://cern.ch/linux > Release : 0.el6 Build Date: Fri 22 Nov 2013 02:38:34 PM CET > Install Date: Tue 08 Apr 2014 03:35:08 PM CEST Build Host: lxdist02 > Group : Applications/Internet Source RPM: icedtea-web-1.4.1-0.el6.src.rpm > Size : 1146953 License: LGPLv2+ and GPLv2 with exceptions > Signature : DSA/SHA1, Fri 22 Nov 2013 02:50:08 PM CET, Key ID 5e03fde51d1e034b > Packager : CERN Linux Support > URL : http://icedtea.classpath.org/wiki/IcedTea-Web > Summary : Additional Java components for OpenJDK - Java browser plug-in and Web Start implementation > Description : > The IcedTea-Web project provides a Java web browser plugin, an implementation > of Java Web Start (originally based on the Netx project) and a settings tool to > manage deployment settings for the aforementioned plugin and Web Start > implementations. Ouch that sad. Well 1.5 should be *more* secure then 1.4 :) But *should* is the word here. > >> It is long time since somebody was playing with -property switch, TBH it was forgotten to be tested, but it should be supported. >> >> In meantime (before I look into it more deeply) maybe you can elaborate with -DpropertyName=value instead of -property propertyName=value and/or -Xnofork - each of those 4 (3new) combinations may lead to different results. > > Essentially like this then? javaws -verbose -Ddeployment.proxy.type=1 -Ddeployment.proxy.http.host=atlasgw-exp.cern.ch -Dproxy.http.port=3128 http://dipbrowser.web.cern.ch/dipbrowser/launch.jnlp > I seem to get the same output as with -property as can be seen below, which lead me to believe i might be using the wrong syntax or.. > >> In verbose mode, the arguments should be reprinted. May you post the logs? >> >> In 1.5 you have developer console. It is providing better logs then 1.4 stdouts/errs. Well thats obvious that your property is not used when used form COmmandline, I'm quite sure that -J-Dproperty=value will work for you, but it still mean that -proeprty is not propagated in time or not used at all. And well it loosk liek -Xnofork will not help you. May you also try to create empty /atlas-home/1/chlee/.icedtea/deployment.properties and then try to use various properties style declarations? >> > > ^C[chlee at pc-atlas-cr-35 .icedtea]$ javaws -verbose -Dproxy.http.port=3128 http://dipbrowser.web.cern.ch/dipbrowser/launch.jnlp > java.io.FileNotFoundException: /atlas-home/1/chlee/.icedtea/deployment.properties (No such file or directory) > at java.io.FileInputStream.open(Native Method) > at java.io.FileInputStream.(FileInputStream.java:146) > at java.io.FileReader.(FileReader.java:72) > at net.sourceforge.jnlp.config.DeploymentConfiguration.parsePropertiesFile(DeploymentConfiguration.java:609) > at net.sourceforge.jnlp.config.DeploymentConfiguration.findSystemConfigFile(DeploymentConfiguration.java:424) > at net.sourceforge.jnlp.config.DeploymentConfiguration.load(DeploymentConfiguration.java:236) > at net.sourceforge.jnlp.config.DeploymentConfiguration.load(DeploymentConfiguration.java:205) > at net.sourceforge.jnlp.runtime.JNLPRuntime.initialize(JNLPRuntime.java:194) > at net.sourceforge.jnlp.runtime.Boot.run(Boot.java:186) > at net.sourceforge.jnlp.runtime.Boot.run(Boot.java:53) > at java.security.AccessController.doPrivileged(Native Method) > at net.sourceforge.jnlp.runtime.Boot.main(Boot.java:177) > No User level deployment.properties found. > Starting security dialog thread > Using firefox's profiles file: /atlas-home/1/chlee/.mozilla/firefox/profiles.ini > Found preferences file: /atlas-home/1/chlee/.mozilla/firefox/4mi0hwbe.default/prefs.js > Read 77 entries from Firefox's preferences > JNLP file location: http://dipbrowser.web.cern.ch/dipbrowser/launch.jnlp > call privileged method: getCodeBase > result: null > Status: CONNECT STARTED +(CONNECT STARTED) @ /dipbrowser/launch.jnlp > Status: CONNECT DOWNLOAD STARTED +(DOWNLOAD) @ /dipbrowser/launch.jnlp > Status: CONNECTING DOWNLOAD STARTED +(CONNECTING) -(CONNECT) @ /dipbrowser/launch.jnlp > All possible urls for location=http://dipbrowser.web.cern.ch/dipbrowser/launch.jnlp state=CONNECTING DOWNLOAD STARTED : [http://dipbrowser.web.cern.ch/dipbrowser/launch.jnlp, http://dipbrowser.web.cern.ch/dipbrowser/launch.jnlp] > Selecting proxy for: http://dipbrowser.web.cern.ch/dipbrowser/launch.jnlp > Browser proxy option "4" (Automatic) not supported yet. > Browser selected proxies: [DIRECT] > Selected proxies: [DIRECT] > Selecting proxy for: socket://dipbrowser.web.cern.ch:80 > Browser proxy option "4" (Automatic) not supported yet. > Browser selected proxies: [DIRECT] > Selected proxies: [DIRECT] > > > [chlee at pc-atlas-cr-35 ~]javaws -verbose -property deployment.proxy.type=1 -property deployment.proxy.http.host=atlasgw-exp.cern.ch -property deployment.proxy.http.port=3128 http://dipbrowser.web.cern.ch/dipbrowser/launch.jnlp > java.io.FileNotFoundException: /atlas-home/1/chlee/.icedtea/deployment.properties (No such file or directory) > at java.io.FileInputStream.open(Native Method) > at java.io.FileInputStream.(FileInputStream.java:146) > at java.io.FileReader.(FileReader.java:72) > at net.sourceforge.jnlp.config.DeploymentConfiguration.parsePropertiesFile(DeploymentConfiguration.java:609) > at net.sourceforge.jnlp.config.DeploymentConfiguration.findSystemConfigFile(DeploymentConfiguration.java:424) > at net.sourceforge.jnlp.config.DeploymentConfiguration.load(DeploymentConfiguration.java:236) > at net.sourceforge.jnlp.config.DeploymentConfiguration.load(DeploymentConfiguration.java:205) > at net.sourceforge.jnlp.runtime.JNLPRuntime.initialize(JNLPRuntime.java:194) > at net.sourceforge.jnlp.runtime.Boot.run(Boot.java:186) > at net.sourceforge.jnlp.runtime.Boot.run(Boot.java:53) > at java.security.AccessController.doPrivileged(Native Method) > at net.sourceforge.jnlp.runtime.Boot.main(Boot.java:177) > No User level deployment.properties found. > Starting security dialog thread > Using firefox's profiles file: /atlas-home/1/chlee/.mozilla/firefox/profiles.ini > Found preferences file: /atlas-home/1/chlee/.mozilla/firefox/4mi0hwbe.default/prefs.js > Read 77 entries from Firefox's preferences > JNLP file location: http://dipbrowser.web.cern.ch/dipbrowser/launch.jnlp > call privileged method: getCodeBase > result: null > Status: CONNECT STARTED +(CONNECT STARTED) @ /dipbrowser/launch.jnlp > Status: CONNECT DOWNLOAD STARTED +(DOWNLOAD) @ /dipbrowser/launch.jnlp > Status: CONNECTING DOWNLOAD STARTED +(CONNECTING) -(CONNECT) @ /dipbrowser/launch.jnlp > All possible urls for location=http://dipbrowser.web.cern.ch/dipbrowser/launch.jnlp state=CONNECTING DOWNLOAD STARTED : [http://dipbrowser.web.cern.ch/dipbrowser/launch.jnlp, http://dipbrowser.web.cern.ch/dipbrowser/launch.jnlp] > Selecting proxy for: http://dipbrowser.web.cern.ch/dipbrowser/launch.jnlp > Browser proxy option "4" (Automatic) not supported yet. > Browser selected proxies: [DIRECT] > Selected proxies: [DIRECT] > Selecting proxy for: socket://dipbrowser.web.cern.ch:80 > Browser proxy option "4" (Automatic) not supported yet. > Browser selected proxies: [DIRECT] > Selected proxies: [DIRECT] > >> > cat .icedtea/deployment.properties > deployment.proxy.type=1 > deployment.proxy.http.host=atlasgw-exp.cern.ch > deployment.proxy.http.port=3128[chlee at pc-atlas-cr-35 ~]$ > [chlee at pc-atlas-cr-35 ~]$ javaws -verbose http://dipbrowser.web.cern.ch/dipbrowser/launch.jnlp > Loading User level properties from: /atlas-home/1/chlee/.icedtea/deployment.properties > Starting security dialog thread > Using firefox's profiles file: /atlas-home/1/chlee/.mozilla/firefox/profiles.ini > Found preferences file: /atlas-home/1/chlee/.mozilla/firefox/4mi0hwbe.default/prefs.js > Read 77 entries from Firefox's preferences > JNLP file location: http://dipbrowser.web.cern.ch/dipbrowser/launch.jnlp > call privileged method: getCodeBase > result: null > Status: CONNECT STARTED +(CONNECT STARTED) @ /dipbrowser/launch.jnlp > Status: CONNECT DOWNLOAD STARTED +(DOWNLOAD) @ /dipbrowser/launch.jnlp > Status: CONNECTING DOWNLOAD STARTED +(CONNECTING) -(CONNECT) @ /dipbrowser/launch.jnlp > All possible urls for location=http://dipbrowser.web.cern.ch/dipbrowser/launch.jnlp state=CONNECTING DOWNLOAD STARTED : [http://dipbrowser.web.cern.ch/dipbrowser/launch.jnlp, http://dipbrowser.web.cern.ch/dipbrowser/launch.jnlp] > Selecting proxy for: http://dipbrowser.web.cern.ch/dipbrowser/launch.jnlp > Selected proxies: [HTTP @ atlasgw-exp.cern.ch/10.156.32.31:3128] > best url for location=http://dipbrowser.web.cern.ch/dipbrowser/launch.jnlp state=CONNECTING DOWNLOAD STARTED is http://dipbrowser.web.cern.ch/dipbrowser/launch.jnlp by HEAD > Selecting proxy for: http://dipbrowser.web.cern.ch/dipbrowser/launch.jnlp > Selected proxies: [HTTP @ atlasgw-exp.cern.ch/10.156.32.31:3128] > isCurrent: http://dipbrowser.web.cern.ch/dipbrowser/launch.jnlp = true > Status: CONNECTED DOWNLOAD STARTED +(CONNECTED) -(CONNECTING) @ /dipbrowser/launch.jnlp > Status: CONNECTED DOWNLOADED STARTED +(DOWNLOADED) -(DOWNLOAD) @ /dipbrowser/launch.jnlp > > Thanks in Advance > Chris > From jvanek at redhat.com Mon Jun 30 14:51:57 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 30 Jun 2014 16:51:57 +0200 Subject: [rfc][icedtea-web][policyeditor] Invoking runnables on EDT In-Reply-To: <53A9CCBF.7080800@redhat.com> References: <53A9CCBF.7080800@redhat.com> Message-ID: <53B1798D.7010309@redhat.com> On 06/24/2014 09:08 PM, Andrew Azores wrote: > Hi, > > PolicyEditor has a few odd cases with window resizing and with "changes made" being marked as true when the editor is opened without any arguments. Both of these cases arise because although the EDT is the current thread when these actions are taken, they are (for safety, in case they are invoked by a non-EDT thread) wrapped in a SwingUtilities.invokeLater call. In the case of "changes made", this leads to addNewCodebase("") (adding the default all-applets codebase) marking "changes made" as true when the PolicyEditor is instantiated, even though the constructor has setChangesMade(false) immediately after the addNewCodebase call. This happens because the addNewCodebase() call updates the UI and so its main > functionality is within an invokeLater - including the setChangesMade(true) call. Although a simple fix would be to pull the setChangesMade out of the invokeLater block, this would mean that the editor could potentially report changes made before the UI updates, which I'd like to avoid. Another solution would be to also wrap the setChangesMade(false) in the constructor in yet another invokeLater, but this is messy, and as this doesn't touch any UI elements it's also unnecessary. And another solution, which this patch implements, is to use a helper method, here called invokeRunnableOrEnqueueLater, which replaces SwingUtilities.invokeLater in the PolicyEditor. If the current thread is already the EDT then it > calls Runnable#run() directly on its sole parameter. If the current thread is not the EDT then the runnable argument is passed along to SwingUtilities.invokeLater to be enqueued and processed as usual. > > A similar technique was used for updateCheckboxes/updateCheckboxesInvokeAndWait/updateCheckboxesImpl, although in that case it was SwingUtilities.invokeAndWait rather than invokeLater. These have been slightly refactored to go along with the new method. > > Thanks, > This looks ok to me. J. From jvanek at redhat.com Mon Jun 30 14:53:19 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 30 Jun 2014 16:53:19 +0200 Subject: [rfc][icedtea-web][policyeditor] Disable "paste" until "copy" is performed In-Reply-To: <1474092143.808274.1404138787777.JavaMail.zimbra@redhat.com> References: <53AD8D5F.5080908@redhat.com> <53B13A50.8040303@redhat.com> <700942279.790346.1404137265357.JavaMail.zimbra@redhat.com> <53B16FCB.8030608@redhat.com> <1291404810.796849.1404137956493.JavaMail.zimbra@redhat.com> <53B172B7.9080603@redhat.com> <1474092143.808274.1404138787777.JavaMail.zimbra@redhat.com> Message-ID: <53B179DF.5090604@redhat.com> On 06/30/2014 04:33 PM, Andrew Azores wrote: > Yes, that would be very nice if that work flow could be supported. I'll have Lukasz and/or Jie work with me on this so there's an excuse to make them learn this part of the ITW/PE codebase too ;) > If copypaste is in 1.5, then I'm ok with this to 1.5 But for Head I'm strongly for rework the clipboard handling in PE. And so it means that this patch is not necessary. J. > > Andrew A > > ----- Original Message ----- >> On 06/30/2014 04:19 PM, Andrew Azores wrote: >>> I didn't think it really made sense to be able to copy/paste actual policy >>> file codebase entry contents, particularly since PolicyEditor doesn't >>> actually have full support right now for everything that can go into a >>> policy file eg certain structures of comments or the "principal" attribute >>> or however you call it. You can copy the selected codebase URL to the >>> system clipboard though, and you can paste your system clipboard contents >>> into the "New Codebase" dialog which prompts for a codebase URL. >>> >> >> Yes. I'm (now a bit more:) aware of this. >> >> What about the case when one have more PoliciEditors running? He would be >> expecting th transfer things via copy/paste actions. And the buttons are >> suggesting, he can. >> >> The patch itself is good for simple case how it is done now. But it does not >> mean it is the best way how it is handled. >>> >>> Andrew A >>> >>> ----- Original Message ----- >>>> On 06/30/2014 04:07 PM, Andrew Azores wrote: >>>>> Hi, >>>>> >>>>> The "Copy" in question copies the permissions for a codebase in the >>>>> PolicyEditor. Then when you go to "Paste", it asks you for a new codebase >>>>> URL, and creates a new entry in the editor with that URL but all of the >>>>> permissions duplicated from the codebase that you copied. So there isn't >>>>> really any way to "copy it from somewhere else" as it doesn't actually >>>>> use >>>>> the system clipboard, just a "clipboard" within PolicyEditor. >>>>> >>>> Oh thats misleading. >>>> >>>> Wouldn't be better to have proper clipboard function? >>>> >>>> >>>>> >>>>> Andrew A >>>>> >>>>> ----- Original Message ----- >>>>>> On 06/27/2014 05:27 PM, Andrew Azores wrote: >>>>>>> Hi, >>>>>>> >>>>>>> This patch adds a check in the "paste" button action so that the dialog >>>>>>> prompting the user for the new URL to paste with does not appear if a >>>>>>> codebase has not been previously copied. This would also guard against >>>>>>> the >>>>>>> dialog appearing when a keyboard shortcut is used to paste. >>>>>>> Additionally, >>>>>>> the "paste" button in the Edit menu is now disabled until "copy" has >>>>>>> been >>>>>>> pressed for the first time. >>>>>>> >>>>>>> Thanks, >>>>>>> >>>>>> This seems a bit wrong to me. >>>>>> >>>>>> What if user copied it from somewhere else? >>>>>> >>>>>> I was not checking the original "add copy and paste" functinality but. >>>>>> >>>>>> What is codebase? >>>>>> >>>>>> If it is plain string, then you definitely should not do this. >>>>>> - Just check if something is in clipboard, and if it is string, >>>>>> enable >>>>>> paste. >>>>>> >>>>>> If it si not string, have it its own flavour, or syntax which cna be >>>>>> recognized? >>>>>> - If so, and it was recognized as codebase, please, enable paste it. >>>>>> >>>>>> Otherwise disable paste, and if ctrl+v is forced,, then show error. >>>>>> >>>>>> >>>>>> What do you think? >>>>>> >>>>>> J. >>>>>> >>>> >>>> >> >> From aazores at redhat.com Mon Jun 30 14:58:39 2014 From: aazores at redhat.com (Andrew Azores) Date: Mon, 30 Jun 2014 10:58:39 -0400 (EDT) Subject: [rfc][icedtea-web][policyeditor] Disable "paste" until "copy" is performed In-Reply-To: <53B179DF.5090604@redhat.com> References: <53AD8D5F.5080908@redhat.com> <53B13A50.8040303@redhat.com> <700942279.790346.1404137265357.JavaMail.zimbra@redhat.com> <53B16FCB.8030608@redhat.com> <1291404810.796849.1404137956493.JavaMail.zimbra@redhat.com> <53B172B7.9080603@redhat.com> <1474092143.808274.1404138787777.JavaMail.zimbra@redhat.com> <53B179DF.5090604@redhat.com> Message-ID: <1364493656.840615.1404140319781.JavaMail.zimbra@redhat.com> Fair enough. Copy/paste is only in HEAD. Thanks, Andrew A ----- Original Message ----- > On 06/30/2014 04:33 PM, Andrew Azores wrote: > > Yes, that would be very nice if that work flow could be supported. I'll > > have Lukasz and/or Jie work with me on this so there's an excuse to make > > them learn this part of the ITW/PE codebase too ;) > > > > If copypaste is in 1.5, then I'm ok with this to 1.5 But for Head I'm > strongly for rework the clipboard handling in PE. And so it means that this > patch is not necessary. > > J. > > > > > Andrew A > > > > ----- Original Message ----- > >> On 06/30/2014 04:19 PM, Andrew Azores wrote: > >>> I didn't think it really made sense to be able to copy/paste actual > >>> policy > >>> file codebase entry contents, particularly since PolicyEditor doesn't > >>> actually have full support right now for everything that can go into a > >>> policy file eg certain structures of comments or the "principal" > >>> attribute > >>> or however you call it. You can copy the selected codebase URL to the > >>> system clipboard though, and you can paste your system clipboard contents > >>> into the "New Codebase" dialog which prompts for a codebase URL. > >>> > >> > >> Yes. I'm (now a bit more:) aware of this. > >> > >> What about the case when one have more PoliciEditors running? He would be > >> expecting th transfer things via copy/paste actions. And the buttons are > >> suggesting, he can. > >> > >> The patch itself is good for simple case how it is done now. But it does > >> not > >> mean it is the best way how it is handled. > >>> > >>> Andrew A > >>> > >>> ----- Original Message ----- > >>>> On 06/30/2014 04:07 PM, Andrew Azores wrote: > >>>>> Hi, > >>>>> > >>>>> The "Copy" in question copies the permissions for a codebase in the > >>>>> PolicyEditor. Then when you go to "Paste", it asks you for a new > >>>>> codebase > >>>>> URL, and creates a new entry in the editor with that URL but all of the > >>>>> permissions duplicated from the codebase that you copied. So there > >>>>> isn't > >>>>> really any way to "copy it from somewhere else" as it doesn't actually > >>>>> use > >>>>> the system clipboard, just a "clipboard" within PolicyEditor. > >>>>> > >>>> Oh thats misleading. > >>>> > >>>> Wouldn't be better to have proper clipboard function? > >>>> > >>>> > >>>>> > >>>>> Andrew A > >>>>> > >>>>> ----- Original Message ----- > >>>>>> On 06/27/2014 05:27 PM, Andrew Azores wrote: > >>>>>>> Hi, > >>>>>>> > >>>>>>> This patch adds a check in the "paste" button action so that the > >>>>>>> dialog > >>>>>>> prompting the user for the new URL to paste with does not appear if a > >>>>>>> codebase has not been previously copied. This would also guard > >>>>>>> against > >>>>>>> the > >>>>>>> dialog appearing when a keyboard shortcut is used to paste. > >>>>>>> Additionally, > >>>>>>> the "paste" button in the Edit menu is now disabled until "copy" has > >>>>>>> been > >>>>>>> pressed for the first time. > >>>>>>> > >>>>>>> Thanks, > >>>>>>> > >>>>>> This seems a bit wrong to me. > >>>>>> > >>>>>> What if user copied it from somewhere else? > >>>>>> > >>>>>> I was not checking the original "add copy and paste" functinality but. > >>>>>> > >>>>>> What is codebase? > >>>>>> > >>>>>> If it is plain string, then you definitely should not do this. > >>>>>> - Just check if something is in clipboard, and if it is string, > >>>>>> enable > >>>>>> paste. > >>>>>> > >>>>>> If it si not string, have it its own flavour, or syntax which cna be > >>>>>> recognized? > >>>>>> - If so, and it was recognized as codebase, please, enable paste > >>>>>> it. > >>>>>> > >>>>>> Otherwise disable paste, and if ctrl+v is forced,, then show error. > >>>>>> > >>>>>> > >>>>>> What do you think? > >>>>>> > >>>>>> J. > >>>>>> > >>>> > >>>> > >> > >> > > From gitne at gmx.de Mon Jun 30 15:23:13 2014 From: gitne at gmx.de (Jacob Wisor) Date: Mon, 30 Jun 2014 17:23:13 +0200 Subject: javaws CLI with Icedtea-web In-Reply-To: <972ECB76-39B1-4604-856D-6D19F2315007@cern.ch> References: <23C2F298-0602-457E-BA71-362A10334854@cern.ch> <53B16DF5.7000206@redhat.com> <972ECB76-39B1-4604-856D-6D19F2315007@cern.ch> Message-ID: <53B180E1.1070106@gmx.de> On 06/30/2014 04:39 PM, Chris Lee wrote: > Hi Jiri > > Thanks so much > > To explain as well, what I am trying to do is use a specific proxy server and port for a specific website. > I had thought that a link to the CLI might be the quickest if I can get it working, If there is an easier way to configure, then I am open to suggestions. Try using Java's network configuration properties like http.proxyHost, http.proxyPort, https.proxyHost, https.proxyPort, ftp.proxyHost, ftp.proxyPort, gopher.proxyHost, gopher.proxyPort, socksProxyHost, socksProxyPort with the -J-D switch. For more information have a look into /lib/net.properties. >> 1.4.1 is outdated. If you need for some reason to stay with 1.4, please update to 1.4.2, however - please swap to 1.5. It was released few month ago, is stable, and a a lot of fixes was fixed here. > > This installation is for the ATLAS experiment at CERN. For security reason, we are usually compelled to use what is available in the SLC repos, which unfortunately for me right now is 1.4.1 If security is key to you, you shouldn't probably be using IcedTea-Web yet. Instead, resort to Oracle's Java Web Start implementation. This product is feature and specification complete, in contrast to IcedTea-Web. Java Web Start has most probably received far more security fixes and screening than IcedTea-Web. Personally, at the current stage of IcedTea-Web I would advise any enterprise or security aware user not to use IcedTea-Web. Regards Jacob From aazores at icedtea.classpath.org Mon Jun 30 15:34:23 2014 From: aazores at icedtea.classpath.org (aazores at icedtea.classpath.org) Date: Mon, 30 Jun 2014 15:34:23 +0000 Subject: /hg/icedtea-web: PolicyEditor EDT Runnables invoked immediately ... Message-ID: changeset b18d50d9e32e in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=b18d50d9e32e author: Andrew Azores date: Mon Jun 30 11:34:15 2014 -0400 PolicyEditor EDT Runnables invoked immediately if the current thread is EDT 2014-06-30 Andrew Azores Runnables to be invoked on the EDT are invoked immediately if the current thread is already the EDT, rather than being queued for invocation later. invokeRunnableOrEnqueueLater replaces SwingUtilities.invokeLater to achieve this. * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java (updateCheckboxes): uses invokeRunnableOrEnqueueAndWait (updateCheckboxesInvokeAndWait): removed (invokeRunnableOrEnqueueAndWait, invokeRunnableOrEnqueueLater): new methods diffstat: ChangeLog | 12 ++ netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java | 53 +++++---- 2 files changed, 42 insertions(+), 23 deletions(-) diffs (151 lines): diff -r 1c5922c7b7b0 -r b18d50d9e32e ChangeLog --- a/ChangeLog Thu Jun 26 17:22:11 2014 +0200 +++ b/ChangeLog Mon Jun 30 11:34:15 2014 -0400 @@ -1,3 +1,15 @@ +2014-06-30 Andrew Azores + + Runnables to be invoked on the EDT are invoked immediately if the current + thread is already the EDT, rather than being queued for invocation later. + invokeRunnableOrEnqueueLater replaces SwingUtilities.invokeLater to + achieve this. + * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java + (updateCheckboxes): uses invokeRunnableOrEnqueueAndWait + (updateCheckboxesInvokeAndWait): removed + (invokeRunnableOrEnqueueAndWait, invokeRunnableOrEnqueueLater): new + methods + 2014-06-26 Jacob Wisor * netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPane.java: Formatting diff -r 1c5922c7b7b0 -r b18d50d9e32e netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java --- a/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java Thu Jun 26 17:22:11 2014 +0200 +++ b/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java Mon Jun 30 11:34:15 2014 -0400 @@ -377,7 +377,7 @@ viewCustomButtonAction = new ActionListener() { @Override public void actionPerformed(final ActionEvent e) { - SwingUtilities.invokeLater(new Runnable() { + invokeRunnableOrEnqueueLater(new Runnable() { @Override public void run() { String codebase = getSelectedCodebase(); @@ -732,7 +732,7 @@ model = codebase; } policyEditorController.addCodebase(codebase); - SwingUtilities.invokeLater(new Runnable() { + invokeRunnableOrEnqueueLater(new Runnable() { @Override public void run() { if (!listModel.contains(model)) { @@ -761,7 +761,7 @@ * policy file model. */ public void addNewCodebaseInteractive() { - SwingUtilities.invokeLater(new Runnable() { + invokeRunnableOrEnqueueLater(new Runnable() { @Override public void run() { String codebase = ""; @@ -790,7 +790,7 @@ } policyEditorController.removeCodebase(codebase); final int fIndex = previousIndex; - SwingUtilities.invokeLater(new Runnable() { + invokeRunnableOrEnqueueLater(new Runnable() { @Override public void run() { listModel.removeElement(codebase); @@ -876,17 +876,34 @@ policyEditorController.clearCustomCodebase(codebase); } + private void invokeRunnableOrEnqueueLater(final Runnable runnable) { + if (SwingUtilities.isEventDispatchThread()) { + runnable.run(); + } else { + SwingUtilities.invokeLater(runnable); + } + } + + private void invokeRunnableOrEnqueueAndWait(final Runnable runnable) throws InvocationTargetException, InterruptedException { + if (SwingUtilities.isEventDispatchThread()) { + runnable.run(); + } else { + SwingUtilities.invokeAndWait(runnable); + } + } + /** * Update the checkboxes to show the permissions granted to the specified codebase * @param codebase whose permissions to display */ private void updateCheckboxes(final String codebase) { try { - if (SwingUtilities.isEventDispatchThread()) { - updateCheckboxesImpl(codebase); - } else { - updateCheckboxesInvokeAndWait(codebase); - } + invokeRunnableOrEnqueueAndWait(new Runnable() { + @Override + public void run() { + updateCheckboxesImpl(codebase); + } + }); } catch (InterruptedException ex) { OutputController.getLogger().log(ex); } catch (InvocationTargetException ex) { @@ -894,16 +911,6 @@ } } - private void updateCheckboxesInvokeAndWait(final String codebase) throws InterruptedException, InvocationTargetException { - SwingUtilities.invokeAndWait(new Runnable() { - @Override - public void run() { - updateCheckboxesImpl(codebase); - } - }); - - } - private void updateCheckboxesImpl(final String codebase) { for (final PolicyEditorPermissions perm : PolicyEditorPermissions.values()) { final JCheckBox box = checkboxMap.get(perm); @@ -1233,7 +1240,7 @@ protected Void doInBackground() throws Exception { try { if (parentWindow != null) { - SwingUtilities.invokeLater(new Runnable() { + invokeRunnableOrEnqueueLater(new Runnable() { @Override public void run() { progressIndicator.setLocationRelativeTo(parentWindow); @@ -1298,7 +1305,7 @@ public Void doInBackground() throws Exception { try { if (parentWindow != null) { - SwingUtilities.invokeLater(new Runnable() { + invokeRunnableOrEnqueueLater(new Runnable() { @Override public void run() { progressIndicator.setLocationRelativeTo(parentWindow); @@ -1331,7 +1338,7 @@ // This dialog is often displayed when closing the editor, and so PolicyEditor // may already be disposed when this dialog appears. Give a weak reference so // that this dialog doesn't prevent the JVM from exiting - SwingUtilities.invokeLater(new Runnable() { + invokeRunnableOrEnqueueLater(new Runnable() { @Override public void run() { JOptionPane.showMessageDialog(parentPolicyEditor.get(), R("PEChangesSaved")); @@ -1346,7 +1353,7 @@ // This dialog is often displayed when closing the editor, and so PolicyEditor // may already be disposed when this dialog appears. Give a weak reference so // that this dialog doesn't prevent the JVM from exiting - SwingUtilities.invokeLater(new Runnable() { + invokeRunnableOrEnqueueLater(new Runnable() { @Override public void run() { JOptionPane.showMessageDialog(parentPolicyEditor.get(), R("PECouldNotSave"), R("Error"), JOptionPane.ERROR_MESSAGE); From chris.lee at cern.ch Mon Jun 30 15:33:43 2014 From: chris.lee at cern.ch (Chris Lee) Date: Mon, 30 Jun 2014 17:33:43 +0200 Subject: javaws CLI with Icedtea-web In-Reply-To: <53B17959.4000409@redhat.com> References: <23C2F298-0602-457E-BA71-362A10334854@cern.ch> <53B16DF5.7000206@redhat.com> <972ECB76-39B1-4604-856D-6D19F2315007@cern.ch> <53B17959.4000409@redhat.com> Message-ID: On Jun 30, 2014, at 4:51 PM, Jiri Vanek wrote: > Ouch that sad. Well 1.5 should be *more* secure then 1.4 :) But *should* is the word here. Sad it is, though what I am stuck with at the moment, unless I can find a compelling argument to have it updated. > > Well thats obvious that your property is not used when used form COmmandline, > > I'm quite sure that -J-Dproperty=value will work for you, but it still mean that -proeprty is not propagated in time or not used at all. And well it loosk liek -Xnofork will not help you. > > May you also try to create empty /atlas-home/1/chlee/.icedtea/deployment.properties and then try to use various properties style declarations? The empty file at least makes things easier to read, but it still seems to be ignoring the CLI options, I"ll keep on trying with others [chlee at pc-atlas-cr-35 .icedtea]$ javaws -verbose -J-Dproxy.http.host=atlasgw-exp.cern.ch -J-Dproxy.http.port=3128 http://dipbrowser.web.cern.ch/dipbrowser/launch.jnlp Loading User level properties from: /atlas-home/1/chlee/.icedtea/deployment.properties Starting security dialog thread Using firefox's profiles file: /atlas-home/1/chlee/.mozilla/firefox/profiles.ini Found preferences file: /atlas-home/1/chlee/.mozilla/firefox/4mi0hwbe.default/prefs.js Read 77 entries from Firefox's preferences JNLP file location: http://dipbrowser.web.cern.ch/dipbrowser/launch.jnlp call privileged method: getCodeBase result: null Status: CONNECT STARTED +(CONNECT STARTED) @ /dipbrowser/launch.jnlp Status: CONNECT DOWNLOAD STARTED +(DOWNLOAD) @ /dipbrowser/launch.jnlp Status: CONNECTING DOWNLOAD STARTED +(CONNECTING) -(CONNECT) @ /dipbrowser/launch.jnlp All possible urls for location=http://dipbrowser.web.cern.ch/dipbrowser/launch.jnlp state=CONNECTING DOWNLOAD STARTED : [http://dipbrowser.web.cern.ch/dipbrowser/launch.jnlp, http://dipbrowser.web.cern.ch/dipbrowser/launch.jnlp] Selecting proxy for: http://dipbrowser.web.cern.ch/dipbrowser/launch.jnlp Browser proxy option "4" (Automatic) not supported yet. Browser selected proxies: [DIRECT] Selected proxies: [DIRECT] Selecting proxy for: socket://dipbrowser.web.cern.ch:80 Browser proxy option "4" (Automatic) not supported yet. Browser selected proxies: [DIRECT] Selected proxies: [DIRECT] From chris.lee at cern.ch Mon Jun 30 15:41:37 2014 From: chris.lee at cern.ch (Chris Lee) Date: Mon, 30 Jun 2014 17:41:37 +0200 Subject: javaws CLI with Icedtea-web In-Reply-To: <53B180E1.1070106@gmx.de> References: <23C2F298-0602-457E-BA71-362A10334854@cern.ch> <53B16DF5.7000206@redhat.com> <972ECB76-39B1-4604-856D-6D19F2315007@cern.ch> <53B180E1.1070106@gmx.de> Message-ID: <5225D11B-6CB0-4AB0-ACA2-7E9032A8EF6B@cern.ch> Hi Jacob, On Jun 30, 2014, at 5:23 PM, Jacob Wisor wrote: > On 06/30/2014 04:39 PM, Chris Lee wrote: >> Hi Jiri >> >> Thanks so much >> >> To explain as well, what I am trying to do is use a specific proxy server and port for a specific website. >> I had thought that a link to the CLI might be the quickest if I can get it working, If there is an easier way to configure, then I am open to suggestions. > > Try using Java's network configuration properties like http.proxyHost, http.proxyPort, https.proxyHost, https.proxyPort, ftp.proxyHost, ftp.proxyPort, gopher.proxyHost, gopher.proxyPort, socksProxyHost, socksProxyPort with the -J-D switch. For more information have a look into > /lib/net.properties. Assuming that they can/should be applied in the same manner as the properties from before, but I appear to be having the same issue where it is not being applied. ie: [chlee at pc-atlas-cr-35 .icedtea]$ javaws -verbose -J-Dhttp.proxy.Host=atlasgw-exp.cern.ch -J-Dhttp.proxyPort=3128 http://dipbrowser.web.cern.ch/dipbrowser/launch.jnlp Loading User level properties from: /atlas-home/1/chlee/.icedtea/deployment.properties Starting security dialog thread Using firefox's profiles file: /atlas-home/1/chlee/.mozilla/firefox/profiles.ini Found preferences file: /atlas-home/1/chlee/.mozilla/firefox/4mi0hwbe.default/prefs.js Read 77 entries from Firefox's preferences JNLP file location: http://dipbrowser.web.cern.ch/dipbrowser/launch.jnlp call privileged method: getCodeBase result: null Status: CONNECT STARTED +(CONNECT STARTED) @ /dipbrowser/launch.jnlp Status: CONNECT DOWNLOAD STARTED +(DOWNLOAD) @ /dipbrowser/launch.jnlp Status: CONNECTING DOWNLOAD STARTED +(CONNECTING) -(CONNECT) @ /dipbrowser/launch.jnlp All possible urls for location=http://dipbrowser.web.cern.ch/dipbrowser/launch.jnlp state=CONNECTING DOWNLOAD STARTED : [http://dipbrowser.web.cern.ch/dipbrowser/launch.jnlp, http://dipbrowser.web.cern.ch/dipbrowser/launch.jnlp] Selecting proxy for: http://dipbrowser.web.cern.ch/dipbrowser/launch.jnlp Browser proxy option "4" (Automatic) not supported yet. Browser selected proxies: [DIRECT] Selected proxies: [DIRECT] Selecting proxy for: socket://dipbrowser.web.cern.ch:80 Browser proxy option "4" (Automatic) not supported yet. Browser selected proxies: [DIRECT] Selected proxies: [DIRECT] > >>> 1.4.1 is outdated. If you need for some reason to stay with 1.4, please update to 1.4.2, however - please swap to 1.5. It was released few month ago, is stable, and a a lot of fixes was fixed here. >> >> This installation is for the ATLAS experiment at CERN. For security reason, we are usually compelled to use what is available in the SLC repos, which unfortunately for me right now is 1.4.1 > > If security is key to you, you shouldn't probably be using IcedTea-Web yet. Instead, resort to Oracle's Java Web Start implementation. This product is feature and specification complete, in contrast to IcedTea-Web. Java Web Start has most probably received far more security fixes and screening than IcedTea-Web. Personally, at the current stage of IcedTea-Web I would advise any enterprise or security aware user not to use IcedTea-Web. I believe we had a number of issues with the Oracles Javaws. somethings like the latest updates forced us to keep things current all the time, and while we are in production runs, things can be locked down for months at a time or we could lose data taking at our experiment. Right now this is me testing to see if I can get this to work > > Regards > > Jacob From jvanek at redhat.com Mon Jun 30 16:07:36 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 30 Jun 2014 18:07:36 +0200 Subject: javaws CLI with Icedtea-web In-Reply-To: <53B180E1.1070106@gmx.de> References: <23C2F298-0602-457E-BA71-362A10334854@cern.ch> <53B16DF5.7000206@redhat.com> <972ECB76-39B1-4604-856D-6D19F2315007@cern.ch> <53B180E1.1070106@gmx.de> Message-ID: <53B18B48.5040104@redhat.com> On 06/30/2014 05:23 PM, Jacob Wisor wrote: > On 06/30/2014 04:39 PM, Chris Lee wrote: >> Hi Jiri >> >> Thanks so much >> >> To explain as well, what I am trying to do is use a specific proxy server and port for a specific website. >> I had thought that a link to the CLI might be the quickest if I can get it working, If there is an easier way to configure, then I am open to suggestions. > > Try using Java's network configuration properties like http.proxyHost, http.proxyPort, https.proxyHost, https.proxyPort, ftp.proxyHost, ftp.proxyPort, gopher.proxyHost, gopher.proxyPort, socksProxyHost, socksProxyPort with the -J-D switch. For more information have a look into > /lib/net.properties. > >>> 1.4.1 is outdated. If you need for some reason to stay with 1.4, please update to 1.4.2, however - please swap to 1.5. It was released few month ago, is stable, and a a lot of fixes was fixed here. >> >> This installation is for the ATLAS experiment at CERN. For security reason, we are usually compelled to use what is available in the SLC repos, which unfortunately for me right now is 1.4.1 > > If security is key to you, you shouldn't probably be using IcedTea-Web yet. Instead, resort to Oracle's Java Web Start implementation. This product is feature and specification complete, in contrast to IcedTea-Web. Java Web Start has most probably received far more security fixes and screening than IcedTea-Web. Personally, at the current stage of IcedTea-Web I would advise any enterprise or security aware user not to use IcedTea-Web. I would not say this. AFAIK(IMHO :) The ITW is more secure. The closed source Oracle javaws have unknown bugs lurking in hidden codebase. The only known about it is, that it have huge (really huge. Maybe whole sun.com packages or similar) % of copypasted code from JRE inside. Well that measn duplicated code, that means incompatible and unfixable code. All known security fxes for Oracle javaws and plugin are to JRE itself. So icedtea web have them all (as it is using JRE without copypasted code). As oposite, copypasted parts of closed plugin may not fit. I would not even use "specification complete" - They have implemented the specification on their own, and are not able to discus any misleading hunks of it. Even more. They are making some thngs which are not in specification, or are making them differently. Wee then need to ask ourselves - do we need to do it as Oracle javaws, or should we follow specification? From that point of view itw may looks like specification incomplete, or more lenient, but we have actually no choice. What are trying (oporite to oracle) is to keep old appelts and javaws aps running. Not stop tyhem by really suspicious implementation of even more suspicious ( I would tell make in rush) specification. No flame here, but I really must protest against ITW being insecure. If you wont to point to this, please provide hack(proof) first. J. From bugzilla-daemon at icedtea.classpath.org Mon Jun 30 16:23:33 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 30 Jun 2014 16:23:33 +0000 Subject: [Bug 1584] Commvault console fails to start due to error in JNLP file In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1584 Robert LeBlanc changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #4 from Robert LeBlanc --- This works in 1.5. Thanks. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: From gitne at gmx.de Mon Jun 30 16:43:12 2014 From: gitne at gmx.de (Jacob Wisor) Date: Mon, 30 Jun 2014 18:43:12 +0200 Subject: javaws CLI with Icedtea-web In-Reply-To: <53B18B48.5040104@redhat.com> References: <23C2F298-0602-457E-BA71-362A10334854@cern.ch> <53B16DF5.7000206@redhat.com> <972ECB76-39B1-4604-856D-6D19F2315007@cern.ch> <53B180E1.1070106@gmx.de> <53B18B48.5040104@redhat.com> Message-ID: <53B193A0.6010604@gmx.de> On 06/30/2014 06:07 PM, Jiri Vanek wrote: > On 06/30/2014 05:23 PM, Jacob Wisor wrote: >> On 06/30/2014 04:39 PM, Chris Lee wrote: >>> Hi Jiri >>> >>> Thanks so much >>> >>> To explain as well, what I am trying to do is use a specific proxy server and >>> port for a specific website. >>> I had thought that a link to the CLI might be the quickest if I can get it >>> working, If there is an easier way to configure, then I am open to suggestions. >> >> Try using Java's network configuration properties like http.proxyHost, >> http.proxyPort, https.proxyHost, https.proxyPort, ftp.proxyHost, >> ftp.proxyPort, gopher.proxyHost, gopher.proxyPort, socksProxyHost, >> socksProxyPort with the -J-D switch. For more information have a look into >> /lib/net.properties. >> >>>> 1.4.1 is outdated. If you need for some reason to stay with 1.4, please >>>> update to 1.4.2, however - please swap to 1.5. It was released few month >>>> ago, is stable, and a a lot of fixes was fixed here. >>> >>> This installation is for the ATLAS experiment at CERN. For security reason, >>> we are usually compelled to use what is available in the SLC repos, which >>> unfortunately for me right now is 1.4.1 >> >> If security is key to you, you shouldn't probably be using IcedTea-Web yet. >> Instead, resort to Oracle's Java Web Start implementation. This product is >> feature and specification complete, in contrast to IcedTea-Web. Java Web Start >> has most probably received far more security fixes and screening than >> IcedTea-Web. Personally, at the current stage of IcedTea-Web I would advise >> any enterprise or security aware user not to use IcedTea-Web. > > I would not say this. > > AFAIK(IMHO :) The ITW is more secure. The closed source Oracle javaws have > unknown bugs lurking in hidden codebase. The only known about it is, that it > have huge (really huge. Maybe whole sun.com packages or similar) % of copypasted > code from JRE inside. Well that measn duplicated code, that means incompatible > and unfixable code. > All known security fxes for Oracle javaws and plugin are to JRE itself. So > icedtea web have them all (as it is using JRE without copypasted code). As > oposite, copypasted parts of closed plugin may not fit. > > I would not even use "specification complete" - They have implemented the > specification on their own, and are not able to discus any misleading hunks of > it. Even more. They are making some thngs which are not in specification, or > are making them differently. Wee then need to ask ourselves - do we need to do > it as Oracle javaws, or should we follow specification? > > From that point of view itw may looks like specification incomplete, or more > lenient, but we have actually no choice. What are trying (oporite to oracle) is > to keep old appelts and javaws aps running. Not stop tyhem by really suspicious > implementation of even more suspicious ( I would tell make in rush) specification. > > > No flame here, but I really must protest against ITW being insecure. If you wont > to point to this, please provide hack(proof) first. I did not say nor meant IcedTea-Web was insecure. ;-) All I meant was that given its current overall code quality, its existing gaps to the specification, and its relatively small user and install base compared to Oracle's Java Web Start it has still some way to go to meet enterprise security and quality standards. Just because its executable and is more strict on checking the JNLP protocol here and there does not mean it is more secure or meats all security standards. Of course, no one of us can make any statements about the code quality of Oracle's Java Web Start but given its longer availability, feature completeness, broader adoption, and larger user and install base, it is fair to assume its overall quality, especially in key code paths, has passed more development cycles than IcedTea-Web. IcedTea-Web has had too many authors by now and no top audit or review has been completed so far, which I believe it has very necessary to meet enterprise and security standards. AFAIK Java Web Start had only one or two authors, so we can assume its code to be more consistent from a general perspective. This does not mean that IcedTea-Web will never reach enterprise level quality. It just means that at the current pace of development it will still take some considerable amount of time and review work to reach that level. Jacob From aazores at redhat.com Mon Jun 30 19:15:00 2014 From: aazores at redhat.com (Andrew Azores) Date: Mon, 30 Jun 2014 15:15:00 -0400 (EDT) Subject: [rfc][icedtea-web][policyeditor] Keyboard shortcuts and mnemonics touchup In-Reply-To: <53ADF2C5.9060405@gmx.de> References: <53AC7183.3030107@redhat.com> <53AD8A60.3050306@redhat.com> <53ADF2C5.9060405@gmx.de> Message-ID: <1545699919.939092.1404155700457.JavaMail.zimbra@redhat.com> (Sorry for the maybe not-so-good email formatting here - replying from a web interface today unfortunately) ----- Original Message ----- > On 06/27/2014 05:14 PM, Andrew Azores wrote: > > On 06/26/2014 03:16 PM, Andrew Azores wrote: > >> Hi, > >> > >> This patch enhances PolicyEditor's accessibility quite a lot. Changes > >> include: > >> > >> 1) Pressing "Enter" while a Group Checkbox has focus will expand the group > >> (pressing space still selects the entire group at once) > > Oh, now I understand what you are intending to do... So you want to kind of > simulate a right-click on the keyboard. Then the key should probably be > KeyEvent.VK_CONTEXT_MENU instead of KeyEvent.VK_ENTER. On Windows > KeyEvent.VK_CONTEXT_MENU maps to SHIFT+F10 (right-click). On other window > managers KeyEvent.VK_CONTEXT_MENU should also map to right-click or some > other > key combination in place of a right-click, or maybe just the menu key. Try it > with your window manager. This one is tricky. Thanks for the tip! VK_CONTEXT_MENU is a nice enhancement. I only have i3 installed so I haven't tested with any other window managers (anyone else reading this, please give it a shot too) but it works fine here with the actual menu key. I also took your advice of changing the Rename accelerator to F2 - sounds reasonable to me, and I wasn't aware that there was actually a "standard" for that. Taking a look at my file manager though (Thunar) I do see that same accelerator listed. > > >> 2) Every menu item now has an accelerator shortcut and they all actually > >> work > >> properly > >> 3) Accelerator shortcuts are more sane/intuitive > >> 4) Defining shortcut keys in Messages.properties is simpler (! This one > >> requires help from translators to fix the key bindings. It's also not > >> entirely > >> ideal because the modifier masks are not configurable via > >> Messages.properties > >> right now either - anyone have ideas on how to do that more neatly than > >> having > >> the Messages actually specify eg "C-S" or "C-S-S" for Ctrl-S/Ctrl-Shift-S > >> per > >> shortcut, for example? This wouldn't really be so bad though, I guess, > >> especially since these strings would be defined solely by the person > >> writing > >> the translations, and never input by users) > >> > >> Coming up later will be accelerators/mnemonics for CustomPolicyViewer. > >> > >> Thanks, > >> > > > > Here's round two of the patch, taking into account the helpful input from > > Omair > > and Jacob. Difference from last patch: > > > > 1) Mnemonics and accelerators are separated in Messages.properties > > Good. > > > 2) KeyStroke.getKeyStroke is used, so accelerators are fully defined in > > Messages.properties, including modifier keys > > Good. > > > 3) The Edit menu has been renamed Codebase, and menu items have have > > "codebase" > > removed from their labels > > Even better! The more compact the better. Please do not confuse with "the > shorter the better". ;-) Yeah, writing well understandable texts is difficult > but it pays off. > > > 4) Some mnemonics tweaked to be a little more convenient > > 5) "Copy URL to codebase" is control shift c rather than control b > > "Copy URL to codebase" is also too long. See below for details. > > > @@ -562,11 +562,13 @@ PEOpenMenuItem=Open... > > PESaveMenuItem=Save > > PESaveAsMenuItem=Save As... > > PEExitMenuItem=Exit > > -PEEditMenu=Edit > > -PERenameCodebaseItem=Rename codebase > > -PECopyCodebaseItem=Copy codebase > > -PEPasteCodebaseItem=Paste codebase > > -PECopyCodebaseToClipboardItem=Copy codebase URL to clipboard > > +PECodebaseMenu=Codebase > > +PEAddCodebaseItem=Add new > > +PERemoveCodebaseItem=Remove > > +PERenameCodebaseItem=Rename > > +PECopyCodebaseItem=Copy > > +PEPasteCodebaseItem=Paste > > +PECopyCodebaseToClipboardItem=Copy URL to clipboard > > I would prefer to shorten PECopyCodebaseToClipboardItem to simply "Copy URL". > It > should be obvious that this data goes to clipboard, so no need for mentioning > it > explicitly. Because, if "Copy" does copy too, where does it copy to if "Copy > URL > to clipboard" copies to clipboard? So if you set > PECopyCodebaseToClipboardItem > to just "Copy URL" then you could set PECopyCodebaseItem to perhaps "Copy > codebase". Although this may seem redundant now, I think it is far less > confusing than to have only one JMenuItem labeled as copying to clipboard. > Well, > you'll figure. In any case, please put copyCodebaseItem and > copyCodebaseToClipboardItem in proximity to each other in the JMenu, e.g. > like > Libr?Office does with "Paste" and "Paste special...". This should be > implication > enough that they both operate on the clipboard but on different data. I moved the "Copy URL to clipboard" item up one so it's adjacent to the other "Copy" item. However, I did not rename the "Copy URL to clipboard" item. Not yet, at least. This is because the other Copy and the Paste actions actually do not currently use the system clipboard, but that's another task that will be started on soon. Once Copy and Paste actually use the clipboard then I'll go ahead and rename the "Copy URL". There's another email thread about Copy/Paste where Jiri and I were just discussing this earlier today. > > > PERenameCodebase=Rename codebase to: > > PEPasteCodebase=Paste copied codebase as: > > PEViewMenu=View > > [?] > > +PERenameCodebaseItemMnemonic=E > > + > > +# See javax.swing.KeyStroke.getKeyStroke(String) > > +PEAddCodebaseItemAccelerator=control N > > +PERemoveCodebaseItemAccelerator=control shift R > > +PEOpenMenuItemAccelerator=control O > > +PESaveMenuItemAccelerator=control S > > +PESaveAsMenuItemAccelerator=control shift S > > +PEExitMenuItemAccelerator=control Q > > +PECustomPermissionsItemAccelerator=control U > > +PECopyCodebaseItemAccelerator=control C > > +PEPasteCodebaseItemAccelerator=control V > > +PERenameCodebaseItemAccelerator=control R > > Alternatively, I would suggest F2 here because it is a common accelerator on > many desktop managers for renaming. > > > +PECopyCodebaseToClipboardItemAccelerator=control shift C > > [?] > > @@ -934,85 +846,130 @@ public class PolicyEditor extends JPanel > > * @param component the component for which to set a mnemonic > > * @param mnemonic the mnemonic to set > > */ > > - private static void setComponentMnemonic(final AbstractButton > > component, > > final String mnemonic) { > > - final int trig; > > - try { > > - trig = Integer.parseInt(mnemonic); > > - } catch (final NumberFormatException nfe) { > > - OutputController.getLogger().log(nfe); > > + private static void setButtonMnemonic(final AbstractButton button, > > final > > String mnemonic) { > > + if (mnemonic.length() != 1) { > > Yeah, checking the mnemonic's length should be enough. > > I think it should also be a good idea to log a warning or debug level message > here, just in case the mnemonic is empty or longer than 1. This would greatly > help to catch any errors while localizing (and Jiri should put an additional > test for accelerators and mnemonics to work too ;-) ) Also done, good idea. > > > return; > > } > > - component.setMnemonic(trig); > > + final char ch = mnemonic.charAt(0); > > + button.setMnemonic(ch); > > + } > > + > > + private static void setMenuItemAccelerator(final JMenuItem menuItem, > > final String accelerator) { > > + final KeyStroke ks = KeyStroke.getKeyStroke(accelerator); > > + if (ks != null) { > > + menuItem.setAccelerator(ks); > > Although I am pretty sure setAccelerator() also accepts null ? in case one > would > like to remove an accelerator ? checking ks for null is okay here. Well, it seems null checks are actually just not required with those two methods, so I guess it's fine to omit. Maybe it will be useful to somebody in the future somehow for removing an accelerator. > > It would be a good idea to have a debug or warning message logged here too, > just > in case the KeyStroke turns out to be null. > > > + } > > [?] > > + /* > > + * JList has default Ctrl-C and Ctrl-V bindings, which we want to > > override with custom actions > > + */ > > + final InputMap listInputMap = editor.list.getInputMap(); > > + final ActionMap listActionMap = editor.list.getActionMap(); > > + > > + final Action listCopyOverrideAction = new AbstractAction() { > > + @Override > > + public void actionPerformed(final ActionEvent e) { > > + editor.copyCodebaseButtonAction.actionPerformed(e); > > + } > > + }; > > + > > + final Action listPasteOverrideAction = new AbstractAction() { > > + @Override > > + public void actionPerformed(final ActionEvent e) { > > + editor.pasteCodebaseButtonAction.actionPerformed(e); > > + } > > + }; > > + > > + listInputMap.put(copyCodebaseItem.getAccelerator(), > > "CopyCodebaseOverride"); > > + listActionMap.put("CopyCodebaseOverride", > > listCopyOverrideAction); > > + listInputMap.put(pasteCodebaseItem.getAccelerator(), > > "PasteCodebaseOverride"); > > + listActionMap.put("PasteCodebaseOverride", > > listPasteOverrideAction); > > + > > Yep, looks good. > > > [?] > > @@ -1063,20 +1020,31 @@ public class PolicyEditor extends JPanel > > groupCh.setToolTipText(R("PEGrightClick")); > > groupCh.addMouseListener(new MouseAdapter() { > > @Override > > - public void mouseClicked(MouseEvent e) { > > + public void mouseClicked(final MouseEvent e) { > > if (e.getButton() == MouseEvent.BUTTON3) { > > - groupPanel.setVisible(!groupPanel.isVisible()); > > - PolicyEditor.this.validate(); > > - final Window w = > > SwingUtilities.getWindowAncestor(PolicyEditor.this); > > - if (w != null) { > > - w.pack(); > > - } > > + toggleExpandedCheckboxGroupPanel(groupPanel); > > + } > > + } > > + }); > > + groupCh.addKeyListener(new KeyListener() { > > + @Override > > + public void keyTyped(final KeyEvent e) { > > + } > > + > > + @Override > > + public void keyReleased(final KeyEvent e) { > > + } > > + > > + @Override > > + public void keyPressed(final KeyEvent e) { > > + if (e.getKeyCode() == KeyEvent.VK_ENTER) { > > In any case, you could add KeyEvent.VK_CONTEXT_MENU here because it is > roughly > an equivalent to a right-click. > > > + toggleExpandedCheckboxGroupPanel(groupPanel); > > } > > } > > }); > > groupCh.addActionListener(new ActionListener() { > > @Override > > - public void actionPerformed(ActionEvent e) { > > + public void actionPerformed(final ActionEvent e) { > > final String codebase = getSelectedCodebase(); > > if (codebase == null) { > > return; > > This stuff may seem like details or nit picking but this is actually part of > what makes good software. Going into details, tuning, making it easier and > easier, making look and feel consistent with the rest of the system, etc. is > what makes software such a pleasure to use. Most users do not perceive this > actively but all major software packages that are heavy on UI are only so > accessible and relatively easy to use because their developers spend a > considerable amount of time on perfecting the UI experience. So keep on > perfecting! ;-) > > Jacob > I know :) that's why I keep coming back to improve PolicyEditor this way. Nobody's really asked me to do these particular things, I just want to make the Editor accessible and easy to use now that I've got it (mostly) providing the actual functionality that it was supposed to provide. Maybe I'm not getting every detail right on the first attempt, but, well, everything needs to be learned for the first time before it can be done right ;) Thanks, Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: policyeditor-keybindings-3.patch Type: text/x-patch Size: 21799 bytes Desc: not available URL: From aazores at redhat.com Mon Jun 30 19:38:17 2014 From: aazores at redhat.com (Andrew Azores) Date: Mon, 30 Jun 2014 15:38:17 -0400 (EDT) Subject: [rfc][icedtea-web][policyeditor] Dispose on close fix In-Reply-To: <1630730472.943178.1404156905674.JavaMail.zimbra@redhat.com> Message-ID: <630784896.944129.1404157097815.JavaMail.zimbra@redhat.com> Hi, I noticed today that closing PolicyEditor via the window manager (in my case, alt-shift-q) does not properly respect the "Cancel" option on the confirmation dialog which appears if you are exiting without first saving changes. Using File>Exit or the Close button however does respect the Cancel option. The problem is that the window is being disposed due to the window manager close event, rather than letting the editor decide on its own when to dispose itself. Fixing this is as simple as removing one extra dispose() and changing the default close operation from DISPOSE_ON_CLOSE to DO_NOTHING_ON_CLOSE. Thanks, Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: policyeditor-dispose-on-close.patch Type: text/x-patch Size: 971 bytes Desc: not available URL: From aph at redhat.com Mon Jun 30 07:54:02 2014 From: aph at redhat.com (Andrew Haley) Date: Mon, 30 Jun 2014 08:54:02 +0100 Subject: AmigaOS-PowerPC port In-Reply-To: References: Message-ID: <53B1179A.2010107@redhat.com> It would be a really good idea to send this to distro-pkg-dev Andrew.